Nginx gzip filter compatibility issue

Thank you very much for making this project.  I am definitely going to use it for my C++ project to integrate it with Nginx since I found it to be an excellent solution compared to all other things I considered.  I found your API functions and documentation excellent and everything worked very quickly and easily.
I did however find a bug in the current version of Nginx 1.21 and this project's master branch which you may want to review.
Basically gzip doesn't work for the urls using this module and I isolated how to fix this.
In ngx_link_func_module.c, there are these 2 lines.
r->headers_out.content_type.len = resp_content_type->len;
r->headers_out.content_type.data = resp_content_type->data;
For whatever reason, ngx_http_code_module.c is checking an addition length variable, which also exists in the nginx documentation, so there is some kind of reason they have this length variable needing to be set twice.  This causes this logic to evaluate as true in the gzip module which disables it: ngx_http_test_content_type(r, &conf->types) == NULL
When I add this line next to those, gzip is able to work!
r->headers_out.content_type_len = resp_content_type->len;

You can see this variable is documented here and they say it usually needs to be the same as content_type.len:
https://www.nginx.com/resources/wiki/extending/api/http/
In the process of debugging this, I learned a little bit more about how Nginx works and am less scared to try to work on it now especially since i was able to output debug messages and isolate things reasonably easy, though it did take some hunting to understand this one.  It feels more like a bug in nginx to have 2 similar variable names.
Thanks again for creating a simple project that allowed me to dive into Nginx source and be productive on the first day.

I want to post this to be helpful to anyone finding this thread in case they attempt to test with an text/html content type with UTF-8 charset, because there is a second problem with Nginx's API.  If you don't specify the content type length as 9 below, gzip will still fail, because internally nginx is making a hash and then there is no matching hash for this even though text/html works.
The nginx gzip_types directive also does not allow fixing this as far as I can determine.  They must have some other code fixing this in other modules since I don't have this problem on my live sites.  New modules must have to handle it themselves.
ngx_link_func_write_resp_l(
    ctx,
    200,
    "200 OK",
    strlen("200 OK"),
    "text/html; charset=utf-8",
    9, // we force 9 because nginx doesn't understand how to ignore this part: ; charset=utf-8
    buffer,
    strlen(buffer)
);

I provided pull request: https://github.com/Taymindis/nginx-link-function/pull/19

hi @brucekirkpatrick
Thanks for your finding, but I am not so sure yet whether is a typo bug from NGINX? As I couldn't find any documentation that this headers_out.content_type_len been classified as one of the headers_out family. Maybe I was wrong, as Nginx been developed/researched by various product.

ngx_link_func_write_resp_l(
    ctx,
    200,
    "200 OK",
    strlen("200 OK"),
    "text/html; charset=utf-8",
    sizeof("text/html") - 1, // I will suggested you to use this kind of method to count the len for "Hardcoded string" as this is strongly adivised by open source community
    buffer,
    strlen(buffer)
);

Small note advise, This nginx-link-function is design only for light operation as NGINX is Multi-process single thread IO. And we should not have any heavy process like
"Connection on Connection Model"

Unless you choose for multithread nginx plugin
"Heavy encrypt and decrypt logic"
Unless you choose for multithread nginx plugin

Yes, I initially had a problem with performance and errors, but then I made use of aio threads, and made sure my ngx_link_func_call was not able to run more then 1 concurrent request per thread.  I used the thread id modulus the max threads to lock on a element in an array of mutex to achieve this. After this, I had 60 times better performance without errors, about half the speed of the fastest nginx will run on that machine.    It seems like your project is still the best way.


[Feature Addition]: User-driven interface for an existing ML model

Pull Request for ML-Crate 💡
Issue Title: Creating a User driven Web App for Body Fat Prediction (issue: #645 )

Info about the related issue (Aim of the project) : To Build a Web app for the existing model - Body Fat Prediction
Name: K S Prateek
Email ID for further communication<EMAIL_ADDRESS>GitHub ID: https://github.com/imksprateek
Idenitfy yourself: Web Developer

Closes: #645
Describe the add-ons or changes you've made 📃

Used Pickle to dump the model
Built a Flask based Web App for Body Fat Prediction model
Added requirements.txt file for installation of dependencies
Tested the app thoroughly
Updated the Documentation for the entire project with clear instructions, also considering the contributions of previous contributors

Type of change ☑
What sort of change have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[x ] New feature (non-breaking change which adds functionality)
[ x] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested? ⚙
I have created a detailed Documentation for the entire project along with changes I've made in README.md of project's root directory and I have personally tested it by running all the commands specified in the file. The images of Web App's working along with instructions are included in the project's documentation
Checklist: ☑

[x ] My code follows the guidelines of this project.
[ x] I have performed a self-review of my own code.
[ x] I have commented my code, particularly wherever it was hard to understand.
[ x] I have made corresponding changes to the documentation.
[ x] My changes generate no new warnings.
[ x] I have added things that prove my fix is effective or that my feature works.
[ ] Any dependent changes have been merged and published in downstream modules.

@abhisheks008  I have made the requested changes with a few UI enhancements


Cosmos DB state store docs need update with steps for creating stored procedures manually

What content needs to be created or modified?

https://github.com/dapr/components-contrib/pull/1613 requires content updates to the page https://docs.dapr.io/reference/components-reference/supported-state-stores/setup-azure-cosmosdb/ to include the manual steps for creating the stored procedures in the database, when using Azure AD to authenticate
Describe the solution you'd like
I need to write docs for creating the stored procedures manually
Where should the new material be placed?
https://docs.dapr.io/reference/components-reference/supported-state-stores/setup-azure-cosmosdb/
The associated pull request from dapr/dapr, dapr/components-contrib, or other Dapr code repos
https://github.com/dapr/components-contrib/pull/1613

/assign

resolved


[Selector] nothing done if same tlbx switched

Following a comment by @fcollot in https://github.com/medInria/medInria-public/pull/967
Simplify code.
:m:

This isn't quite what I was saying. I was suggesting a way to avoid having to store the identifier (which is still done here).

@fcollot i used the suggestion you gave, and there are a lot of ways to do the same thing here... This solution is easy to understand and read, so it could be kept i think.
Perhaps you could do your own PR if you want to enhance these kind of code?

The main idea of my suggested code (which isn't the same as here) was to not store the identifier because there is no need to do so. It wasn't about being more readable, it was to avoid having the selector toolbox store the identifier of a toolbox when it already has a pointer to that toolbox to retrieve the identifier.


Yomichan forvo server error

Everytime i use yomichan with yomichan forvo server i keep get warning like that from anki even though yomichan can play audio from forvo, i always get that warning without stop.
    An error occurred. Please start Anki while holding down the shift key, which will temporarily disable the add-ons you have installed.
If the issue only occurs when add-ons are enabled, please use the Tools > Add-ons menu item to disable some add-ons and restart Anki, repeating until you discover the add-on that is causing the problem.
When you've discovered the add-on that is causing the problem, please report the issue on the add-on support site.
Debug info:
Anki 2.1.35 (84dcaa86) Python 3.8.0 Qt 5.14.2 PyQt 5.14.2
Platform: Windows 10
Flags: frz=True ao=True sv=1
Add-ons, last update check: 2021-08-12 13:53:17

WARNING:urllib3.connectionpool:Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='forvo.com', port=443): Read timed out. (read timeout=1)")': /search/%E3%81%82%E3%82%84/ja/

I get a similar exception. Here's the full stack trace from the Anki dialog:
Exception happened during processing of request from ('<IP_ADDRESS>', 39250)
Traceback (most recent call last):
  File "urllib3/connectionpool.py", line 421, in _make_request
  File "<string>", line 3, in raise_from
  File "urllib3/connectionpool.py", line 416, in _make_request
  File "http/client.py", line 1322, in getresponse
  File "http/client.py", line 303, in begin
  File "http/client.py", line 264, in _read_status
  File "socket.py", line 669, in readinto
  File "ssl.py", line 1241, in recv_into
  File "ssl.py", line 1099, in read
socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "urllib3/connectionpool.py", line 665, in urlopen
  File "urllib3/connectionpool.py", line 423, in _make_request
  File "urllib3/connectionpool.py", line 330, in _raise_timeout
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='forvo.com', port=443): Read timed out. (read timeout=1)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "requests/adapters.py", line 439, in send
  File "urllib3/connectionpool.py", line 747, in urlopen
  File "urllib3/connectionpool.py", line 747, in urlopen
  File "urllib3/connectionpool.py", line 747, in urlopen
  File "urllib3/connectionpool.py", line 719, in urlopen
  File "urllib3/util/retry.py", line 436, in increment
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='forvo.com', port=443): Max retries exceeded with url: /word/%E6%9D%90/ (Caused by ReadTimeoutError("HTTPSConnectionPool(host='forvo.com', port=443): Read timed out. (read timeout=1)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "socketserver.py", line 650, in process_request_thread
  File "socketserver.py", line 360, in finish_request
  File "http/server.py", line 646, in __init__
  File "socketserver.py", line 720, in __init__
  File "http/server.py", line 426, in handle
  File "http/server.py", line 414, in handle_one_request
  File "/home/brian/.local/share/Anki2/addons21/580654285/__init__.py", line 178, in do_GET
    audio_sources = self.forvo.word(expression)
  File "/home/brian/.local/share/Anki2/addons21/580654285/__init__.py", line 71, in word
    html = self._get(path)
  File "/home/brian/.local/share/Anki2/addons21/580654285/__init__.py", line 61, in _get
    return self.session.get(url, timeout=1).text
  File "requests/sessions.py", line 546, in get
  File "requests/sessions.py", line 533, in request
  File "requests/sessions.py", line 646, in send
  File "requests/adapters.py", line 516, in send
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='forvo.com', port=443): Max retries exceeded with url: /word/%E6%9D%90/ (Caused by ReadTimeoutError("HTTPSConnectionPool(host='forvo.com', port=443): Read timed out. (read timeout=1)"))
----------------------------------------

Hi, the issue here seems to be that the timeout was set to 1 second and if forvo didn't respond within 1 second at all, then it retried till it failed. I've created a pull request to fix these changes, otherwise you can simply use the version in my fork.
#4

I just deployed the merge from #4, do you still have timeout issues?

Going to close this since it's really old and I haven't heard of any more timeout issues


Modify cirq.PauliInteractionGate's repr  to output valid python

Fixes #967

Automerge: started

Automerge done.


Enable Samsung backend for ndk 25 build

There are still some errors:
From App Build / build-android-apk:
Validate checksum of Samsung lib files
flutter/tool/validate-checksum.sh \
	-d mobile_back_samsung/samsung/lib \
FAIL: internal/libc++_shared.so (File not found)
	-f mobile_back_samsung/samsung/lib/checksums.txt
make: *** [flutter/android/android.mk:[31](https://github.com/mlcommons/mobile_app_open/actions/runs/6784137159/job/18440174294?pr=812#step:11:32): flutter/android/libs/checksum] Error 1

From Code Analysis / SonarScanner:
ERROR: /image-workdir/project/mobile_back_pixel/cpp/backend_tflite/BUILD:86:18: Linking mobile_back_pixel/cpp/backend_tflite/libtflitepixelbackend.so failed: (Exit 1): clang failed: error executing command (from target //mobile_back_pixel/cpp/backend_tflite:libtflitepixelbackend.so)
  (cd /image-workdir/.cache/bazel/_bazel_root/f96fd4f8f5bca05be4940a7079fbe1d9/execroot/mlperf_app && \
  exec env - \
    PATH=/image-workdir/.cache/bazelisk/downloads/bazelbuild/bazel-6.3.2-linux-x86_64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/android/cmdline-tools/tools/bin:/image-workdir/flutter/bin:/image-workdir/flutter/bin/cache/dart-sdk/bin:/image-workdir/.cache/.pub-cache/bin:/image-workdir/.sonar/sonar-scanner-<IP_ADDRESS>06-linux/bin:/image-workdir/.sonar/build-wrapper-linux-x86 \
    *** \
  external/androidndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang @bazel-out/arm64-v8a-opt/bin/mobile_back_pixel/cpp/backend_tflite/libtflitepixelbackend.so-2.params)
# Configuration: f70a72596caa7291b35dc91e1273c7f9c14dcfa7dd8606bbd44471844ef2ad94
# Execution platform: @local_execution_config_platform//:platform
ld.lld: error: unknown -z value: separate-code
ld.lld: error: cannot open crtbegin_so.o: No such file or directory
ld.lld: error: unable to find library -lEGL
ld.lld: error: unable to find library -lGLESv2
ld.lld: error: unable to find library -lnativewindow
ld.lld: error: unable to find library -llog
ld.lld: error: cannot open crtend_so.o: No such file or directory
clang: error: linker command failed with exit code 1 (use -v to see invocation)
INFO: Elapsed time: 701.875s, Critical Path: 30.74s
INFO: 2096 processes: 281 internal, 1815 local.
FAILED: Build did NOT complete successfully
make[1]: *** [flutter/android/android.mk:40: flutter/android/libs/build] Error 1

@AhmedTElthakeb The master branch was merged into ndk_25_quick_hack, and now there is a conflicting file: mobile_back_samsung/samsung/lib/checksums.txt Please resolve the conflict. If you have updated *.so files, please also provide a link to them.

I updated the checksum, should be okay to merge with Master now.

@AhmedTElthakeb It looks like you didn't pull the latest ndk_25_quick_hack. The file checksums.txt is still in conflict.

@AhmedTElthakeb The master branch was merged into ndk_25_quick_hack, and now there is a conflicting file: mobile_back_samsung/samsung/lib/checksums.txt Please resolve the conflict. If you have updated *.so files, please also provide a link to them.

Actually some .so libs got updated, so I updated the README.md with a pointer to the new libs.


Options for customers uploading scripts and SSL certificates.

This is tied to #2 and capabilities there. I would like to have an option for customers to upload both deploy scripts for their image build and any required SSL certificates to store in Key Vault. Not sure if we can accomplish this (I think we can), but it's something to investigate.

Closing this as it is possible using this form: https://docs.microsoft.com/en-us/azure/azure-resource-manager/managed-applications/microsoft-keyvault-keyvaultcertificateselector?WT.mc_id=Portal-Microsoft_Azure_CreateUIDef


Fix unit tests

We need working unit tests, and a .travis.yml script. Currently they are broken. In addition to this we could create a docker formationtravis script for running unit tests and basic e2e tests. That's a stretch goal for now though, but we do need a automated way to validate that nothing is broken before being published/merged to master.

Pull Requests:

https://github.com/Senzing/sdk-components-ng/pull/50


Output Env Variable is not Marked as Secret

When running this action, both the output variable and env variable is not marked as a secret value. The has the side effect where the raw value of the secret is visible in every step after the action.
As an example, here's the output of a workflow that I have to dleete quickly:

Is there a way to mark these as secret? If not, I propose an input switch that lets you toggle the output as secrets.
Note: I am an author of several GitHub Actions myself (e.g., https://github.com/LanceMcCarthy/Action-AzureBlobUpload). I can't recall if you can mark a job output as secret, but I do know you can set the env var as secret.

Here are the resources I use when writing custom actions:

https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter
https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-environment-variable
https://docs.github.com/en/actions/learn-github-actions/environment-variables

I do not see a way to tell GitHub or the runner to treat the value as a secret.

Yeah, apparently I just forgot that detail while working on the secret export.  For the AWS login process, I used setSecret, but for the more generic secret export, I used setOutput.  I've updated all of them to use setSecret.
There's room for weirdness if you output a secret but only have it set to an environment variable, and not as an output, since it is the setSecret that applies the masking (I think), but that seems like a pretty minor edge case that isn't immediately on my list of concerns.

Thanks for the fast turnaround!

Spoke too soon, I think we might need ot re-open this. I just re-ran the job with both export options set to true.
The name of the variable is a secret, but not the value 😮

I found an older Action that masks the outputs, you can copy what they did https://github.com/Azure/get-keyvault-secrets

Phew, okay, I finally got it working as intended and opened a pull request for you => https://github.com/cmancone/akeyless-action/pull/5


add option to download gt table as svg/html/png

I'll add html, png, and pdf as svg is not supported. I leave here allowed extensions by gt if any other can be useful:


Should we allow even more operations on strings?

This follows on #1297. It is also connected to p4lang/p4c#4837. Currently strings can only be literals and the string type can only be used to declare extern arguments. With #1297, the concatenation of strings will be allowed. I wonder if we should allow even more operations, turning strings into more "standard" types, although existing still only at compile time (like int!).
Some things that could be allowed:

String constant declaration (not variables, just constants const string foo = "bar"). Essentially this just gives P4 life to something that can be now done using preprocessor.
Comparison for equality and inequality (==, !=).
Lexicographical ordering (<, <=, >=, >) -- here I am not sure if there is a good use case for this and it comes with its own caveats (e.g. the byte-wise lexicographic ordering is different from e.g. UTF-8 lexicographic ordering which depends on local). So we might defer this to later.
String slices (string[start:end]) -- again, the use case is not clear to me and it might be wise to wait for it.

The first two seem very safe to me.

I would generally like the first one.
If we have a real use case for 2 or 3, I suppose I could be convinced, but I suspect enums are better for anything that 2 might be used for and I have trouble imagining where I'd care to use 3.


Add seo headers

Add seo headers like titles, description, opengraph image

React Helmet SEO headers have been implemented here, but there's two issues:

gatsby renders the meta tags too low in the head, causing them to become unreadable for search engine crawlers: https://github.com/gatsbyjs/gatsby/issues/22206
the product pages don't have their own text yet


[FIX] #157 Implemented 'Buy Now' & 'Add to Cart' Buttons

Description

Implemented 'Buy Now' & 'Add to Cart' Button for every product card.
Motivation and Context

Without 'Buy Now' & 'Add to Cart' Buttons an E-commerce Site is incomplete.
How Has This Been Tested?

You can see this on the Home Page in the 'Products' Sections
Demo:
https://github.com/MAVRICK-1/e-commerce_website/assets/132436131/d749d81e-86bf-401e-84d0-01d1c51acb9e
Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

@yashmandi   CSS classes should be in hierarchical structure

Updated the class hierarchical structure in buttons.css in commit - 01ada11

@yashmandi css class must be hierarchical

any update @yashmandi? also conflicts need to be resolved


Controls are not visible when user try to perform uninstall action on the selected item from the installed extension list.

VSCode Version: <IP_ADDRESS>-alpha
OS Version: Windows10

Steps to Reproduce:

Launch app and press F1 to launch command palette.
Enter extension keyword and select installed extension option.
It will display the list of the installed extensions .
Select any item from the extension list and verify controls for "Readme", "License" or "Uninstall extension".

Actual: Controls are not visible.

Expected: Controls should be visible for user to perform action on the selected item.

I cannot reproduce. Any more details...?

You can easily find the difference between kimbie Dark and light(Visual studio) theme when you launch the installed extension window from command palette and select any item from the list.
Find the below gif screenshot to get exact repro steps.

Got it! Thanks!


Input type=range not recognized as configField in admin UI

Describe the bug
Opencast Workflows can contain configuration panels. Fields marked as configField (although documentation for that is missing altogether) should be evaluated and used for setting workflow variables. However, not all input types are are considered equally, for instance, the input[type=range] is not.
To Reproduce
Steps to reproduce the behavior:

Create a workflow with config field
Add an <input id="audioVolume" name="audioVolume" type="range" min="0" max="100" step="1" class="configField" value="100"> to the config field
Go to the Admin UI and start a new WF
Slide the audioVolume volume slider to any position
No workflow variable audioVolume is set

Environment Information

OS: does not depend on OS
Browser does not depend on Browser but Firefox 23+ can render an input[type=range] properly
Opencast version with minor release 9.4 (9.x branch)

Additional information

https://github.com/opencast/opencast/blob/729fecb21a932466e7ed70af1c6de68b8bd9cde9/modules/admin-ui-frontend/app/scripts/shared/services/wizards/new-event/processing.js#L161 checks if an input/element is ether "textual" or a boolean type. There is no code path to cover other elements/inputs. They are skipped.
https://github.com/opencast/opencast/blob/729fecb21a932466e7ed70af1c6de68b8bd9cde9/modules/admin-ui-frontend/app/scripts/shared/services/wizards/new-event/processing.js#L151 defines what a textual input is: input[type=range] does not belong to it.

Note to myself:

PR should have unit test: https://github.com/opencast/opencast/blob/729fecb21a932466e7ed70af1c6de68b8bd9cde9/modules/admin-ui-frontend/test/test/unit/shared/services/wizards/new-event/proccessingSpec.js#L86
PR should target 9.x
redmine 7374

The whole handling of inputs is extremely limited in the current admin interface. Much more was possible in the original interface. But since the next iteration of the admin interface is being worked on, it makes me wonder if we want to redo how the configuration works there. It would also be a good opportunity to leave the horrible HTML + JS snippets behind.

It would also be a good opportunity to leave the horrible HTML + JS snippets behind.

WF config is neglected by some plugins anyway.

Much more was possible in the original interface.

I never had to work with the original interface, I think. You are referring to Version 1's interface?

I never had to work with the original interface, I think. You are referring to Version 1's interface?

Yes, I do


Discussion: support STRING_ARRAY and BYTES_ARRAY schema types in Store

Should we add support for STRING_ARRAY and BYTES_ARRAY schema types to Store? They would add a lot of complexity (because they are nested dynamic types - each element of the dynamic array has a dynamic length too), but might be useful in some situations. Workarounds include using BYTES32_ARRAY for short strings, or using BYTES and abi.encode, and then manually decode on the client or consuming contracts.

I'd be fine deferring this until we find a strong use case. I don't think this needs to block MUD v2 stable release.

Agree, closing this as out of scope for now.


Enable IPv6 for l3_interfaces

Enhancement summary
I would like to be able to add IPv6 Addresses to Interfaces.
Which component of AVD is impacted
eos_designs
Use case example
I need to be able to set an IPv6 Address on an uplink interface for BGP connectivity.
Describe the solution you would like
Addition of ipv6_addresses to l3_interfaces.
Describe alternatives you have considered
Currently, setting the IPv6 via custom structured configs or raw_eos_cli is the only alternative.
Additional context
No response
Contributing Guide

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

I would also love to have this feature. We can't use l3_interfaces because of it.

Not sure why they have not responded but was able to do a work around:
# - interfaces: [ Ethernet1/1 ]           #   nodes: [ borderA ]           #   description: L3PEER-I           #   mtu: 9174           #   enabled: false           #   ip_addresses: [ <IP_ADDRESS>/30 ]           #   # ospf:           #   #   enabled: true           #   #   point_to_point: True           #   structured_config:           #     ipv6_address: 2001::1/64           #     speed: forced 40gfull           #     access_group_in: SANITY-IN
The structured config here is very handy for any 'ethernet' eos cli

Not sure why they have not responded but was able to do a work around:
 - interfaces: [ Ethernet1/1 ]
             nodes: [ borderA ]
             description: L3PEER-I
             mtu: 9174
             enabled: false
             ip_addresses: [ <IP_ADDRESS>/30 ]
             # ospf:
             #   enabled: true
             #   point_to_point: True
             structured_config:
               ipv6_address: 2001::1/64
               speed: forced 40gfull
               access_group_in: SANITY-IN

The structured config here is very handy for any 'ethernet' eos cli

can the structured config be done if there are multiple devices in 'nodes'?

Seems like an oversight of the l3_interfaces. I'd love to see this implemented too

I added it as raw_eos_cli
        l3_interfaces:
          - interfaces:               [ Ethernet1.3080,           Ethernet4.3080           ]
            nodes:                    [ be01, be02 ]
            encapsulation_dot1q_vlan: [ 3080,                     3080                     ]
            ip_addresses:             [ 185.x.x.1/31,         185.x.x.3/31            ]
            # ipv6_addresses:           [ 2a02:xxxxxx:1/64,   2a02:xxxxxx:3/64 ]  ## waiting for https://github.com/aristanetworks/avd/issues/3331
            enabled: true
            mtu: 9214
        raw_eos_cli: |
          system control-plane
             ip access-group SEC-COPP_STRICT-V4-IN vrf transit in
          interface Ethernet1.3080
             ipv6 address 2a02:xxxxxx:1/64,
          interface Ethernet4.3080
             ipv6 address 2a02:xxxxxx:3/64,

but I'd prefer to have it proper implemented

now that did not work with raw_eos_cli :-D
it applied the same config to all nodes... I followed the suggestion of theo.
split my ports in one port per entry (in stead of all in one array) and used structured_config to add the ipv6 address.
Still feels this should be native possible !


FtpCommandCollector does not work correctly with windows-1251 encoding

It appears when filenames contain cyrillic characters. Unit-test for explain:
// Copyright, etc...

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Xunit;

namespace FubarDev.FtpServer.Tests
{
    public class FtpCommandCollectorTests
    {
        [Fact]
        public void TestWithWindows1251Encoding()
        {
            var encoding = Encoding.GetEncoding(1251) // Encoding.Default;
            var collector = new FtpCommandCollector(() => encoding);

            const String cyrillicSymbols = "абвгдеёжзийклмнопрстуфхцчшщыъьэюя";

            var expectedCommands = new[] {new FtpCommand("TEST", cyrillicSymbols)};

            var stringToTest = String.Format("TEST {0}\r\n", cyrillicSymbols);
            var actualCommands = Collect(collector, stringToTest).ToArray();

            // Test failed
            // TELNET: Unknown command received - skipping 0xFF
            // 0xFF == 'я' (maybe?)
            Assert.Equal(expectedCommands, actualCommands, new FtpCommandComparer());
            Assert.True(collector.IsEmpty);
        }

        // Collect, FtpCommandComparer, etc...
    }
}

FTP uses "Telnet strings" which means, that the \u00FF character has a special meaning (Telnet Protocol Specification, RFC 854) and has to be escaped (i.e. sent twice).
I updated the code and will release the 2.1 version soon. If your client doesn't send the 0xFF character twice, then I'd suggest using a different client or creating a workaround in the FTP server.


Components does not initially render, unless you resize the browser or leave and come back to the page

Description

Steps to Reproduce

Install version 3.30.0 or greater
Render a component on two different pages (page 1 and page 2)
Start at page 1
Go to page 2 (component on page 2 should render, it doesn't)
Go back to page 1 (or resize browser window)
The component now renders

Expected Behavior
The component should render initially
Actual Behavior
Component only renders after leaving page or resizing of browser
Screenshots
First page visit:

Visit page 2: No chart visible

Back to page 1:

Back to page 2: Chart now appears

The red circle is a just a simple svg component to show that this only happens with apexcharts.
I'm using react-apexcharts but this issue shows it also happens with vue
https://github.com/apexcharts/vue-apexcharts/issues/185
This does not happen with version 3.29.0.
I am using ionic tabs with my project but as the issue above shows, this is also occuring in plain js with no frameworks.

Reproduction Link

Please reopen. Codepen link provider here:
https://codesandbox.io/s/github/rodpatulski/apexcharts_bug

Since you are using a custom component, try loading the chart when the tab changes.
const Tab2: React.FC = () => {

  const [ initialData, setInitialData] = useState({
    options: {},
    series: []
  })

  useIonViewDidEnter(() => {
    setInitialData({
      options: {
        chart: {
          id: "basic-bar2",
        },
        xaxis: {
          categories: [1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999]
        }
      },
      series: [
        {
          name: "series-1",
          data: [130, 40, 45, 50, 49, 60, 70, 91]
        }
      ]
    })
  });

  return (
    <IonPage>
      <IonHeader>
        <IonToolbar>
          <IonTitle>Tab 2</IonTitle>
        </IonToolbar>
      </IonHeader>
      <IonContent fullscreen >
        <IonHeader collapse="condense">
          <IonToolbar>
            <IonTitle size="large">Tab 2</IonTitle>
          </IonToolbar>
        </IonHeader>
        <Chart options={initialData.options} series={initialData.series} type="bar" />
      </IonContent>
    </IonPage>
  );
};


Respect the feature gate when exposing SEV device

What this PR does / why we need it:
Having /dev/sev in the list of permanently available devices may impose
a security risk as it can be requested and accessed by an arbitrary pod.
Stop advertizing the device when the corresponding feature gate is
disabled.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/cc @rmohr

Looks great. Would you mind adding a small e2e test which ensures that the device is not there if disabled?
Typically such a test would just do
tests.DisableFeatureGate(virtconfig.SEVGate)
Eventually(mynode).ShouldNot(Have())|

The cleanup should re-enable the feature gate.

I was just in doubt about the test since there are no SEV-capable nodes with /dev/sev in CI and therefore the number of available devices will be always zero. But I think I can use a hack with running mknod /dev/sev/ c <maj> <min> on the node (with some arbitrary major/minor). That will create a fake device node which will be picked by the device manager. I will experiment a bit with that and see if that works for e2e test.

{ Failure tests/launchsecurity/sev.go:72
Tests which alter the global kubevirt configuration must not be executed in parallel
tests/testsuite/kubevirtresource.go:175}

Labeled the test as [Serial].

/lgtm
/approve
Great!

/retest-required

/retest-required


Incompatible encode/decode for negative values in int32, int64 with protobufjs

In official documentation (https://developers.google.com/protocol-buffers/docs/proto#scalar) types int32 and int64 has possibility to have negative numbers.
But your encoding/decoding is not compatible with this types for protobufjs library.
You can check it in types.spec.ts:
int32: -16868,
int64: -2343919238923492000,

will produce an error:
-   "int32": -16868,
-   "int64": -2343919238923492000,
+   "int32":<PHONE_NUMBER>3709535000,
+   "int64":<PHONE_NUMBER>4786060000,

@veksa Thank you so much. The bug has been fixed.


Support for guestures with hand back facing camera

I read the hand model is using a palm detector to speed up detection. That explains why it is bad at detecting the hand when the back is facing the camera.
However ..
Use case - Swedish Sign Language (SSL)
In Swedish sign language many letters in the alphabet have the back of the hand facing the camera (or at least what English language call the back of the hand). For example our W is the same as W in ASL but the hand reversed 180 degrees. When doing this gesture it is clear that the model perform much better on ASL W with the front facing camera than with SSL W. In ASL W I can move the hand back and forth and the tracking is very accurate, but with SSL W there are spots where it tracks the hand but many spots where it doesn't.
Another letter of trouble is R which in SSL is the same hand shape as an offensive sign but we usually sign it upside down as shown in the link)
A full list of alphabet signs in Swedish sign language can be found at lexicon.
Problem
It is not that the tracking of the back completely malfunctions - it work to some extent, but one have to have annotation visible on webcam window and carefully position your hand to get it to register your hand correctly. Compared to when you show the front of the hand with a W for example and can move the hand around at the tracking solidly follows your hand.
Suggestion
It would be useful if MediaPipe also supported tracking what in English is called the back of the hand which in some cultures/languages is regarded as the front.

Hi @Leffe108, Could you please respond if you still see the same observation,  even with the latest release. Thanks!

In the release notes there is no improvements of the hand model mentioned from 0.8.2 to current 0.8.7. Especially no specific mention of improvement to back of hand detection in either hand or holistic model.
In version 0.8.4 there is however a mention that the holistic model has a new configuration model_complexity to make it more accurate (by loosing latency) which I haven't tried yet if that improve accuracy for back of hand facing camera. I'll report back when I have checked it out.

Wow, sorry if I was skeptical, but it has indeed improved a lot from 0.8.2 to 0.8.7. Thank you. :-)
There are now mostly three letters of problem: P, Q and X. But letters like R, V and W that was a problem before has improved a lot.


How to hide check boxes for all files in single mode

Even in single mode, check boxes are visible for all files. It gives a feel of being in multi-mode. Is there any way to hide check boxes and let user select the file only on clicking it for (single mode).

Not possible yet.

That's also something I'm looking for. Would be great if there were a mode that allows you to tap on a filename to select it and close the dialog directly.

#29


Unable to generate merge script for tables with no primary key

I have dictionary tables that hold translated strings, ie. ComponentLoc with the following columns
ComponentId - foreign key to Components.Id
Name - holds translated name
Locale - foreign key to Locales.Id
When running SP
EXEC dbo.sp_generate_merge @schema = 'dbo', @table_name ='ComponentLoc'
I'm getting the following error:

Msg 50000, Level 16, State 1, Procedure sp_generate_merge, Line 452 [Batch Start Line 1]
Table has no primary keys. There should at least be one column in order to have a valid join.

The thing is that I can't add primary key to column Name; adding extra column just for the primary key doesn't make sense to me.

The tool currently needs the PK columns in order to uniquely match the rows of the static data (VALUES clause) to the destination table. For tables that don't have a PK, a parameter could potentially added to the tool so that it doesn't need to be physically added to the table itself.
However may I ask how your queries join onto or lookup data from ComponentLoc, for example, do they both use ComponentId and Locale to retrieve the Name?

The temporary workaround here is to use composite key (WidgetId, Locale).
Here is the sample query:
SELECT 	c.Id, 	c.[Name], 	c.[Type], 	c.[SubType], 	cl.[Locale], 	cl.[Title], 	c.[DateCreated], 	c.[DateUpdated] FROM dbo.Components c 	INNER JOIN dbo.ComponentLoc cl ON cl.ComponentId = c.Id WHERE 	c.Id = @Id AND cl.Locale = @Locale

Thanks for providing those query details. Out of curiosity, is there any particular reason for not having the composite PK on the table permanently?

You can now generate a MERGE statement for a table that lacks a primary key using the newly-added @cols_to_join_on parameter (comma-separated, single-quote qualified string):
EXEC sp_generate_merge 'StateProvince', @schema = 'Person', @cols_to_join_on = "'StateProvinceCode'"


[ERROR} htpc.helpers	ERROR	Failed to open image

When using QNAP HTPC Manager package, receiving the following errors related to missing clipart:
2015-12-16 21:40:20	htpc.helpers	ERROR	Failed to open image /share/CACHEDEV1_DATA/.qpkg/HTPCManager/HTPC-Manager-master/userdata/images/4cac51d3f523e666cd7e43f5be29e4af dest /share/CACHEDEV1_DATA/.qpkg/HTPCManager/HTPC-Manager-master/userdata/images/4cac51d3f523e666cd7e43f5be29e4af_w430_h240_o_100.0_None

QNAP install package can be found here:
http://forum.qnap.com/viewtopic.php?f=320&t=117760&p=522481&hilit=htpc#p522244

Hmm, the log does give any details. If you manually try to open this image does that work?

Yes.. if I open the file through QNAP's file browser, it displays the image just fine.

Yeah, it tries to figure out what images type it is then tries to open the file. Ill add some more logging so we can get some more info

Can you update htpc-manager, active debug logging, delete cache folder and the log and restart the app. Go to the dashboard then the logpage, press download log and paste that to a gist?

Here you go:
https://gist.github.com/MwC-Trexx/e824d787a3a8b2d5f01e

Does the images work in styxit version? The pip list that what displayed in the qnap thread listed that both pil and pillow was installed. Is that the case? http://pillow.readthedocs.org/en/3.0.x/installation.html Any change you can try to uninstalling one of them?

In checking with the person making the package, both pil and pillow are there.
PIL (1.1.7)
Pillow (3.0.0)
I asked the packager if he could remove PIL.

Closing this as it was reported in the forum thread that removing pil fixed the issue.


How to align with CLIP image feature with rendered feature

Since the dimension of CLIP image feature is (14,14,128)，and dimension of rendered image feature is (900, 1600, 128), how do u align with those two features, just interpolate the CLIP imgae feature to (900, 1600) ?

Generally yes, but there are some minor differences in the specifics.
As detailed in Sec. 4.2, the input is resized to 432 × 768, following common practices. We then obtain 16x downsampled features using FeatUp (either FeatUp with MaskCLIP or just MaskCLIP in the ablation). These features are then interpolated back to the input shape via interpolation, as implemented in https://github.com/hustvl/GaussTR/blob/e9c60be382d0cf38ed62c3d75ff654b8e60c8e6a/gausstr/models/gausstr_head.py#L225


Replace tabs with spaces when showing query text in UI

@electrum I want to take this task, but can you elaborate a little bit more about the issue? When I browse UI I see query not formatted at all is summary section (query printed as a single line) so there is no tabs at all?

This tasks is for the query detail page when the original query has tabs in it.

I think that to solve this issue I need to use parser to format the query, because I cannot just replace all the tabs to spaces as tabs could take part in query, like:
select * from t wher v = '\t'


super('__construct') wierd behavior

I get the following output when running the code below:
A test
Error: Method "setText" does not exist in the parent class. (called using 'super()')

var A = Class({
    'public string text': 'nothing',
    __construct: function() {
        this.setText('test');
    },
});

var B = Class({extends: A}, {
    __construct: function() {
        this.super('__construct');
    }
});

var a = new A();
console.log('A', a.getText());

var b = new B();
console.log('B', b.getText());

Am I doing something wrong here or is it a bug in JOII?

This might also be related:
var A = Class({
    'public string text': 'Hello!',
    'public function printText': function() {
        console.log(this.getText())
    }
});

var B = Class({extends: A});

var a = new A();
var b = new B();

console.log('A');
a.printText();
console.log('B');
b.printText();

A
Hello!
B

b.printText();
  ^
TypeError: Object #<Object> has no method 'printText'

Hi Simon,
Thanks for the report. The first one is definitely a bug. I've personally came across this a couple of times in some of my personal projects, but never found a way to crush this once and for all without breaking other functionality.
The problem occurs because of the way class definitions are linked together in the inheritance chain. Instead of simply copy-pasting functions, each function will have a generated function for itself that invokes its parent using the super-function, as seen here: https://github.com/haroldiedema/joii/blob/master/src/PrototypeBuilder.js#L265
Now, in your example, you're calling super yourself which then calls the parent constructor, which then calls the method that throws the error. It's extremely hard to keep track of which scope a method is called in, especially when using parent/child relationships due to the non-dereferencing nature of Object-types in JavaScript.
If you can find a way to solve this without breaking other functionality, please send me a pull request. I would greatly appreciate it!
As for your second example; that does sound really strange. That should work just fine. I'll look into that.

Hi again Harold!
I've started to look into it a little bit and found that this also currently does not work:
var A = Class({
    'public string text': 'Hello!',
    'public function printText': function() {
        console.log(this.text)
    }
});

var B = Class({extends: A});

var a = new A();
var b = new B();

console.log('A');
a.printText();
b.setText('Hello world!');
console.log('A2');
a.printText();

Output:
A
Hello!
A2
Hello!

This might perhaps give you some clues. Either way I'll continue to work on it. I found it quite interesting. :)
The second issue occurred because of the B class was missing a body and the parser expects a single object to be the body rather than parameters. I hotfixed it for myself inside the parser and it should be fairly easy to create a real solution for it as well.
On the other hand there isn't really any reason to extend a class without having anything more on top of it, so this might not even be something you want implemented. If so, perhaps there should be some exception for this scenario so that others doesn't run into the same trap. Let me know what do you think!

Hi again Harold!
I've started to look into it a little bit and I found the problem quite interesting!
The second issue occurred because of the B class was missing a body and the parser expects a single object to be the body rather than parameters. I hotfixed it for myself inside the parser and it should be fairly easy to create a real solution for it as well.
On the other hand there isn't really any reason to extend a class without having anything more on top of it, so this might not even be something you want implemented. If so, perhaps there should be some exception for this scenario so that others doesn't run into the same trap. Let me know what do you think!

Aahh, how silly that I didn't see this before...
var B = Class({extends: A});

Feel free to send a pull request for this little bugger :)
I'm quite curious how you'd go about detecting a parameter-body or a class-body :smile:
Thanks for your findings!!

Fixed in 3.0.7.


Add abstraction layer for analysis result processing and writing

Fixes #509

@sunandabalu I've merged in the validation layer checks. Can you remove the <NoWarn>$(NoWarn);DV... line in the packages step that disabled validation for that package?


Add a option to hide peoples international username

FFZ just recently added the option to hide peoples international usernames or hide usernames so only one of them will show instead of having the username in brackets. I think this would be a good feature for most people, as I found out some people I talk to find it very annoying,

This functionality already exists in Chatterino's code.


TraceAlyzer on pico running FreeRTOS

Hello!
I am trying to integrate TraceAlyzer for my pico where I am running FreeRTOS. However, following the instructions from percepio (getting started with freeRTOS) I end up with some compilation errors which seems to be related to the #define __force_inline in platform.h.
The most important configuration for tracealyzer is done in the trcHeader.c from their TraceRecorder Repo, where they need the CMSIS headers
I have tried using RP2040.h or core_cm0plus.h but I see the same errors with both. (some more errors when using core_cm0plus.h).
I have also tried a third option where I dont provide any CMSIS headers and set the following:
#define TRC_CFG_HARDWARE_PORT TRC_HARDWARE_PORT_HWIndependent

src/rp2_common/pico_platform/include/pico/platform.h:#ifndef __always_inline
src/rp2_common/pico_platform/include/pico/platform.h:#define __always_inline __attribute__((__always_inline__))
src/rp2_common/pico_platform/include/pico/platform.h:#define __force_inline inline __always_inline
src/rp2_common/pico_platform/include/pico/platform.h:#define __force_inline  __always_inline

errors:
/tmp/pico-sdk/src/rp2_common/hardware_base/include/hardware/address_mapped.h:93:15: error: expected ';' before 'static'
   93 | __force_inline static uint32_t xip_alias_check_addr(const void *addr) {
      |               ^~~~~~~
      |               ;
/tmp/pico-sdk/src/rp2_common/hardware_base/include/hardware/address_mapped.h:121:15: error: expected ';' before 'static'
  121 | __force_inline static void hw_set_bits(io_rw_32 *addr, uint32_t mask) {
      |               ^~~~~~~
      |               ;
/tmp/pico-sdk/src/rp2_common/hardware_base/include/hardware/address_mapped.h:131:15: error: expected ';' before 'static'
  131 | __force_inline static void hw_clear_bits(io_rw_32 *addr, uint32_t mask) {
      |               ^~~~~~~
      |               ;
/tmp/pico-sdk/src/rp2_common/hardware_base/include/hardware/address_mapped.h:141:15: error: expected ';' before 'static'
  141 | __force_inline static void hw_xor_bits(io_rw_32 *addr, uint32_t mask) {
      |               ^~~~~~~
      |               ;
/tmp/pico-sdk/src/rp2_common/hardware_base/include/hardware/address_mapped.h:157:15: error: expected ';' before 'static'
  157 | __force_inline static void hw_write_masked(io_rw_32 *addr, uint32_t values, uint32_t write_mask) {
      |               ^~~~~~~
      |               ;
/tmp/pico-sdk/src/rp2_common/hardware_sync/include/hardware/sync.h:118:15: error: expected ';' before 'static'
  118 | __force_inline static void __sev(void) {
      |               ^~~~~~~
      |               ;
/tmp/pico-sdk/src/rp2_common/hardware_sync/include/hardware/sync.h: In function '__sev':
/tmp/pico-sdk/src/rp2_common/hardware_sync/include/hardware/sync.h:119:5: warning: implicit declaration of function 'pico_default_asm_volatile' [-Wimplicit-function-declaration]
  119 |     pico_default_asm_volatile ("sev");
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/pico-sdk/src/rp2_common/hardware_sync/include/hardware/sync.h: At top level:
/tmp/pico-sdk/src/rp2_common/hardware_sync/include/hardware/sync.h:130:15: error: expected ';' before 'static'
  130 | __force_inline static void __wfe(void) {
      |               ^~~~~~~
      |               ;

I am using a docker container for compilation with gcc version: gcc (Debian 12.2.0-14) 12.2.0 which I believe should support attribute((always_inline)).
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential cmake gcc-arm-none-eabi libnewlib-arm-none-eabi \
    libstdc++-arm-none-eabi-newlib git ca-certificates make python3 \
    libusb-1.0-0-dev pkg-config clangd clang-format picocom libncurses5-dev \
    libncursesw5-dev wget tar libncurses5

CMake structure is one main file in repo root:
cmake_minimum_required(VERSION 3.13)

include(${CMAKE_CURRENT_SOURCE_DIR}/pico_sdk_import.cmake)
include(${CMAKE_CURRENT_SOURCE_DIR}/FreeRTOS_Kernel_import.cmake)

project(turn-indicator C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

include_directories(
        ${CMAKE_CURRENT_SOURCE_DIR}/inc
        ${CMAKE_CURRENT_SOURCE_DIR}/TraceRecorder/config
        ${CMAKE_CURRENT_SOURCE_DIR}/TraceRecorder/include
)

add_subdirectory(reference)

followed by a subdirectory CMakeList.txt
roject(reference C CXX ASM)

pico_sdk_init()

add_executable(${PROJECT_NAME}
        main.c
)

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra ")

target_link_libraries(${PROJECT_NAME}
        pico_stdlib
        pico_stdio_usb
        hardware_pwm
        hardware_clocks
        FreeRTOS-Kernel-Heap4
        cmsis_core)

pico_add_extra_outputs(${PROJECT_NAME})

If I copy the platform.h file into my project and directly use __attribute__((__always_inline__)) instead of __force_inline then I don't see those errors
am I missing something or what could cause this?
Have you been able to setup tracealyzer on a pico running freeRTOS?
Much appreciation for the help!

I see someone has answered this question on the forum. Does that info resolve the problem? https://forums.raspberrypi.com/viewtopic.php?t=358714

Hello! Yes it resolved this issue but created some arm-none-eabi ld problems instead. Currently trying to figure out why that happend.

It is working now. Solution can be found here: https://forums.raspberrypi.com/viewtopic.php?t=358714


Add MTRA info to enroll-a-device.md

Closes https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/9796

@altsou
PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

@altsou
PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

@altsou
PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


M21C updates

Zero-diff relative to GCM. Potentially non-zero-diff for DAS.

Looks good for land

Actually, we probably need to update HISTAENS.rc.tmpl with what's in https://github.com/GEOS-ESM/GEOSgcm_App/pull/630


Only use external APIs of QuerySets

This rewrites QuerySetSequence to only use external APIs of QuerySet and to stop using internal/private methods.
This also fixes a few minor inconsistencies, in particular the number of queries executed for each method is more consistent and the QuerySetSequence acts more like a QuerySet in terms of caching results between iterations.
I believe this will fix #37 and fix #34.

In case this helps: I have the QuerySetSequence' object has no attribute '_cloning' error when using QuerySetSequence with django-cacheops. This PR helped me locally and made the code working again.
Thanks a lot, @clokep !

@jensneuhaus Awesome! Thank you for testing. 👍 Will definitely motivate me to finish this up.
This still needs some production testing for both accuracy and performance.

I did some (pretty lame) performance testing and saw a ~12% performance increase while using this branch.


Notify syscall 180709

Send Notifications by arbitrary program via python systemcall
The [isso] repository was forked by github user craigphicks. A branch notify-syscall-180709 was created.  The branch is described herein.
The main uncertainly I have as author is the use of subprocess.run  which appeared in Python3.5.  Which versions of Python must be supported?  Must Python 2 be supported?  (See Limitations at the end of this document).
This comment is copied from the file ./README-notify-syscall-180709 in hte main directory.
Motivation
Security
When isso uses the SMTP notification backend, it also sends the username and password.  The are various perspectives from which this could be problematic.

Password in clear:  In the worst case TLS (Transport Layer Security) is not established before passing the password and so the password is transmitted in the clear.

Key better than password:  Even with TLS, the password is still in the clear at either end.  While this is usually OK, security can be improved by using a key which can be periodically refreshed.  The point of the key is that is that it is only authorizes a narrow range of actions. Especially, it does not allow logging in as mail account owner, which could be very damaging.

Dependence on Python SMTP implementation
Isso is tied to the Python SMTP implementation.  Even if SMTP is the desired protocol, the may be other software besides the Python SMTP implementation which gives a better result, e.g. in terms of enabling TLS or working with tokens.
Some examples of alternate software are the multitude of generic sendmail programs, e.g. sendmail, postfix, exim, nullmailer, all of which all share the linux sendmail application interface as a standard.
Also there utilities such as curl and swaks which are very flexible with many options. In case something is not working it is almost always possible to work through it with these programs (or change to another program).  Although they are not designed for production use, they are sufficient on the usage scale expected by a typical isso installation.
Solution
Outline
The isso administrator specifies the program and it's arguments in the isso configuration file.  When a comment notification event occurs the specified program and arguments are executed via a system call.  The message is passed to the standard input of that program.
Administrator interface
Add syscall to the list of notify backends:
[general]
...
notify = stdout, syscall
...

Create a section [syscall] and therein specify the program and its arguments.  The following example shows curl being used to transmit an email request through a (free) Mailgun account:
[syscall]
call = /usr/bin/curl
 --trace-ascii
 /tmp/mg1.log
 --user
 api:key-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 https://api.mailgun.net/v3/example.com/messages
 -F
<EMAIL_ADDRESS> -F
<EMAIL_ADDRESS> -F
 subject=isso {{SUBJECT}}
 -F
 text=<-

The key call appears on the first line followed by equal.  The value is split between lines with exactly one argument per line.  Each successive value line must have an empty space at the beginning.
Often in a shell command line quotation mark must be used to prevent a parser from interpreting spaces as being argument delimiters.  E.g., for the subject
 subject=isso {{SUBJECT}}

a bash script would require quotes placed like "subject=isso {{SUBJECT}}" or  subject="isso {{SUBJECT}}" to keep the argument together.  The shell would interpret the quotes for their syntactic meaning, and then remove them before passing each argument phrase to the program as, e.g. argv[11] or equivalent.
However, for the isso configuration call value above, quotes are not required because the grouping is done by lines.  In fact quotes for the purpose of syntactic grouping must NOT be used.   The quotes will not be removed before passing to the program, and the input will likely be invalid. Quotes can still be used as part of the content of any argument, as required.
Some (but not all) scenarios require the mail subject to be specified as part of the arguments, and not in the standard input data.  The above curl example shows such a case.  In order to enable variable subject line content a template parameter %SUBJECT% is provided.  The isso software will render this template %SUBJECT% as the fixed formula:

...<last 15 characters of blog uri> ::: <first 15 characters of comment>...

The last part of the last curl argument:  `<-' , is a curl specific instruction to accept data from standard input.  Because the message body is variable it must be transmitted via standard input to the process.  So any program used must be configured (or already be hard coded) to accept standard input.
Be aware that protocol issues depend on the called program and the site receiving the data. It is not handled by the isso code.  For example, although the above example appears to transact via HTTPS, there is some possibility it might downgrading to HTTP after authentication for the message transaction part.  (The log file is still under interpretation.)
Read the current limitations section at the end of this document.
Implementation
The notify-syscall-180708 branch adds a new module Syscall in the isso/ext/notifications.py file.
It formats the mail message body in the same way as the existing SMTP module, but without the SMTP header and quopri / base64 encoding.
The command and arguments as specified in the configuration are supplied as a list which is the first parameter of subprocess.run.
The message body is encoded to binary and passed as standard input to the invoked process.
When complete, subprocess.run returns an object with members returncode, stdout, and 'stderr'.  All are logged via the global logger (usually to /var/log/isso.log).
Isso expects that success is indicated by a returncode value of zero, and anything else is error.  However, an error does not result in an isso program error.  The only difference in isso program behavior is that for a non-zero result isso will log via
logger.error(....)

and for a zero result via
logger.info(....)

Other changes
The notification backend Stdout module was rewritten to fix a bug caused by trying to log a bloom filter as text.  Also, the relation between function names, log content, and events was cleaned up.
IMPORTANT: Current Limitations
Implementation

subprocess.run is not available before Python 3.5.  Certainly not in Python2. In environments where the code will not run it should not be enabled in the configuration file, (if it even compiles).

Ok for now I checked the code and it seems ok. Some minor changes (even though there's a few).
Please rebase too.
Important stuff to check:

You read general → host try to see if public-endpoint introduced recently could fit in (needs to rebase first)
Add the README in the docs folders with some link to it (check https://posativ.org/isso/docs/ to see the best place to put it)

I still need to test the PR too :)
Concerning the suported pytnon versions I think it's fair enough to enable you feature in python3.5+ only. But it should not crash if used with older version.

I should have closed this pull long ago - apologies.  There really isn't any great need for the suggested feature - what exists is perfectly satisfactory.


Remove extra variable

Currently, in BlockSearch RPC method we use pageResults to store the paginated block heights. This is not needed.

Is there a reason go.sum and go.mod were modified?

There is no reason, and it should be reverted. Let's update deps in separate PR.

Is there a reason go.sum and go.mod were modified?

Yep, this wasn't intentional. I've reverted the changes.

Codecov Report

Merging #280 (7926042) into main (566d728) will decrease coverage by 0.06%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #280      +/-   ##
==========================================
- Coverage   58.35%   58.28%   -0.07%
==========================================
  Files          44       44
  Lines        6783     6780       -3
==========================================
- Hits         3958     3952       -6
- Misses       2283     2285       +2
- Partials      542      543       +1

Impacted Files
Coverage Δ

rpc/client/client.go
41.90% <100.00%> (-0.32%)
:arrow_down:

rpc/json/service.go
63.80% <0.00%> (-1.85%)
:arrow_down:

Continue to review full report at Codecov.

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


Tries to send again after a 553

Expected behavior
Should not try to send a mail again, after a 553 error. Well... At least not over 50 times.
Actual behavior
Tries to send it again. And again... And again... And again... And again... And again... And again... And again... And again... And again... And again... And again... And again... And again...
Could do this forever
Steps to reproduce

Get a 553 response
Wait

Environment
K-9 Mail version: 5.010
Android version: 6.0.1
Account type (IMAP, POP3, WebDAV/Exchange): IMAP

This is already fixed in the current alpha version. The next stable version 5.200 will also contain the fix.


CMake config definition of empty values should be "" not True

The current implementation (turning #define YOTTA_CFG_SOMETHING into set(YOTTA_CFG_SOMETHING TRUE) has the side-effect of setting json null values to TRUE in CMake, which is definitely not desirable.

http://jira-dev0.cambridge.arm.com/browse/IOTSFW-900


rollDoneCallback called on render of dice

I've noticed that the rollDoneCallback is called on render of the dice at the default state (6).
With the example in the readme
  rollDoneCallback(num) {
    console.log(`You rolled a ${num}`)
  }

Upon refreshing, I noticed that I received a 'You rolled a 12'
Is this behaviour expected?

I'm getting the same issue, I am building a snakes and ladders type game and have one die rendering to a component that pops up on the players turn. The callback sets in motion the process of updating the player's position on the back end and, eventually, switching the turn to the next player. This means on every turn, the (default) value of 6 is passed to the callback before I even get to click the button that is supposed to roll the dice. The player is then moved and the turn alternates, triggering the same process over and over again, basically playing the game for me.
If there's any way to make the callback wait until I say so please enlighten me.

I encountered the same issue. I got around it by setting the state to {loaded: false}, and then when it runs the first time, it sets it as loaded instead of running the rest of the rollDone function. Like so:
class Dice extends React.Component {
  state = {
    loaded: false
  }

  rollDone = result => {
    if (!this.state.loaded){
      this.setState({loaded: true})
    } else {
      console.log(result)
    }
  }
...
}


Arlec Smart Fan

I have seen that Arlec Grid-Connect have finally released their smart fans. I was wondering if support for this could be added? Thanks :)

Here is a link to a pull request that contains the code that is required for the fans to work. I have tested the code so I don’t know whether it works but you could always provide feedback if it is or isn’t working. Fan Accessory Code Pull Request
Sent with GitHawk

I haven’t bought the fan yet, but wanted to see if it was working for anyone first before I did spend the money haha


[DO NOT MERGE BEFORE RELEASE] chore: update post_upgrade to work with new release

In #306 the pre_upgrade was updated to use less heap memory. This commit updates the post_upgrade to work with the latest version of the pre_upgrade.
This commit had to be merged separately, as it can only be merged once the canister is released.

We don't this PR anymore


Collapse panel doesn't work without the bootstrap collapse JS plugin

Without including collapse.js (provided by bootstrap) the collapseable panels won't work.
In the install we got told not to include any BS JS files...

yeh


Custom End Biomes Do Not Appear

I was testing out new biome colors for Nullscape biomes, but when uploading Nullscape to the site, no Nullscape biomes were to be found. I messed with the y-level slider a bit, but to no regard. I went in game with the exact same datapack copy, and biomes indeed generated, especially at the y-level I took the below screenshot it. Nullscape biomes have been set to appear as shades of purple.
Linked is the exact copy of Nullscape 1.19.3 I used. I should also note - the Nullscape biomes do appear in the "Search Biome" dropdown list.

Since I'm not deploying to the website using a development version of deepslate with that fix in it, I'm closing this issue now.


refactor(MergeMapTo): clarify 'any' types in MergeMapToSubscriber

This just intends to clarify & make strictly types.

@saneyuki there's a linting error: https://travis-ci.org/ReactiveX/rxjs/builds/136332318#L445

fixed the linting error.

Coverage remained the same at 96.347% when pulling 0936dc65375c7b966ceb271c6607e4e26b0cf969 on saneyuki:clarify-mergeMapTo into 0a6c4e80ecf918431a1bc02e3d3333cb1e78d9bf on ReactiveX:master.

Change looks good to me. I'll check in this around tomorrow if there's other suggestions around.


How to handle below scenario in solr or elasticsearch

I am doing daily batch update (around 100K Doc's) in MongoDB and the update process takes about 10 min to complete and if the connector is running during that time.. it is taking too much time to update in Solr or Elasticsearch.. i tried using auto-commit-interval to 1min but it din't help. How does this --auto-commit-interval work ? is it based on document insertion time in MongoDB, Suppose if i am doing bulkInsert in MongoDB, how does the connector handles with --auto-commit-interval=0 option. will it send a request for every doc of bulkInsert ?

The behavior of --auto-commit-interval is described in the wiki

for Elasticsearch: https://github.com/10gen-labs/mongo-connector/wiki/Usage-with-ElasticSearch#managing-refresh-behavior
for Solr: https://github.com/10gen-labs/mongo-connector/wiki/Usage-with-Solr#managing-commit-behavior.

To summarize: this option has nothing to do with insertion time in MongoDB; it manages how often a "commit" is requested on the remote end.
There's also an entry in the FAQ that gives a few recommendations on how to speed up the connector: https://github.com/10gen-labs/mongo-connector/wiki/FAQ#how-do-i-increase-the-speed-of-mongo-connector

@llvtt Thank you very much, it will be helpful if you can share some details about how commits will happen from "remote end" (solr or es) , is it like a request for every "id" or some kind of bulk requests ? and by any chance is that related to "bulkSize" in configuration option ?

Regarding my previous question, which one (solr or es)  will be faster in replicating the updates(not inserts) from mongoDB using same configuration options ?

Thanks

The goal of the "commit" operation makes available any outstanding changes for reading on the remote system. How this happens completely depends on what remote system you're using; I recommend reading the relevant documentation on Solr and Elastic for an explanation of how this works, since these kinds of implementation details are beyond my personal knowledge. Likewise, exactly how fast Solr will be versus Elastic or vice-versa will be very application-dependent. The most useful assessment of this will have to come from your own measurement.

Are there any methods for increasing performance for bulk operations specifically? This is definitely the sort of thing that should go through the _bulk API (for elasticsearch) but it looks like the oplog sees the bulk operation as individual transactions. Even with --auto-commit-interval=None the performance hit is severe.

Hi @trstephen there are no other ways as far as I know. If you would like to make a feature request please open a new ticket.


build: switch back to docker for golang:1.20

This commit switches back to docker for
base image golang:1.20 since github actions
does not seem to be able to pull from quay
intermittently.
The actions seem to be failing from around the same time this change was introduced.
https://github.com/csi-addons/kubernetes-csi-addons/pull/383/files
https://github.com/csi-addons/kubernetes-csi-addons/actions/workflows/build-push.yaml
We can further investigate and revert this after the release.

@Rakshith-R please open a tracker for the problem


Support non-admin credentials for ACR

This needs further investigation, but ACR does a token-based auth that appears to be an AAD login. The docker credential provider, as well as the az acr login command, both do this dance and give users a nice docker login-esque experience.
Currently we do not detect and do this dance - we will likely need to build an ACR-specific delegating handler in the style of the one that was made for AWS ECR and handle any ACR quirks in it.

Closing this as we support this per Antonio's testing.

Closing this as we support this per Antonio's testing.

does it work only in the current main branch or already in v0.3.2 that was released?

That should be available in the 0.4.0 release, out currently.


Sites packages rules

Currently the sites packages examples seem to map into folders, but don't specify the exact JS file to use:
site({
  "jquery":  "https://cdn.example.com/jquery/v/2.1.1"
});

Does this mean that import $ from 'jquery' would this result in a request to:

https://cdn.example.com/jquery/v/2.1.1
https://cdn.example.com/jquery/v/2.1.1.js
https://cdn.example.com/jquery/v/2.1.1/index.js

If the latter, are we enforcing a main style?
Further, can we import subpaths within the package like import sizzle from 'jquery/sizzle.js' or import sizzle from 'jquery/sizzle'?

we have discussed this in the past, and we all agreed that we can't support the same level of ambiguity that node/io.js supports today. in other words, this is in user land, and they can do whatever they want.
site definition as configuration is preferred
If they want to do import $ from 'jquery', then will have to do this:
site({
  "jquery":  "https://cdn.example.com/jquery/v/2.1.1/jquery.js"
});

Otherwise how can you control what distribution do you want to load? Maybe you want the raw version in development, and the minified version in prod, and that should not required changes in your modules. Essentially using something like import $ from "jquery/index.min.js" should be considered a bad practice.
site definition for subpath
I will argue against any composition of the path. Even if we add support for rules, e.g.:
site({
  "jquery":  "https://cdn.example.com/jquery/v/2.1.1/index.js",
  "jquery/*":  "https://cdn.example.com/jquery/v/2.1.1/"
});

which can allow things like:
import $ from 'jquery';
import slideshow from "jquery/plugins/slideshow.js";

I will consider this a footgun, because they will have to explicit call out the extension of the subpath. An alternative solution will be something that I think @guybedford already implemented in SystemJS:
site({
  "jquery":  "https://cdn.example.com/jquery/v/2.1.1/index.js",
  "jquery/*":  "https://cdn.example.com/jquery/v/2.1.1/plugins/*.min.js"
});

which can allow to do:
import $ from 'jquery';
import slideshow from "jquery/slideshow";

@caridy  I'm confused by your description. Is my re-write correct?
site definition as configuration is preferred
To import $ from 'jquery', first establish your selected 'jquery' distribution as a site key:
site({
  "jquery":  "https://cdn.example.com/jquery/v/2.1.1/jquery.js"
});

Then import $ using the key:
import $ from 'jquery';

In this way you control what distribution to load.  You may want the raw version in development and the minified version in production. That change should not require changes in your modules. Using something like
import $ from "jquery/index.min.js"

unnecessarily locks your module to a particular distribution format.

sorry @johnjbarton, I'm rushing today jejeje.
your interpretation is correct. the deal is that the site configuration is an imperative call, that means users have the flexibility to compose the configuration depending on the runtime, while modules are portable piece of code that should not worry about the runtime configuration where they run.

@caridy that makes sense and I see your points. Would it still be possible to define jquery/sizzle as a subpath in the sites table?

@guybedford yes. e.g.:
site({
  "jquery":  "https://cdn.example.com/jquery/v/2.1.1/index.js",
  "jquery/sizzle":  "https://cdn.example.com/sizzle/v/1.2/sizzle.js",
  "jquery/*":  "https://cdn.example.com/jquery/v/2.1.1/plugins/*.min.js",
});

it should take precedence since it has an exact match, but that's an open question. we can formalize the order and precedence if we agree to this approach.

Here's another question - can the sites table itself map to non-normalized URLs?
site({
  "jquery": "lib/jquery.js"
});

Where the assumption is that the target is just normalized as a URL within the current page path. The implementation I have currently effectively does this (https://github.com/ModuleLoader/es6-module-loader/blob/1.0/src/system.js#L124) so it would be good to check if the behaviour is correct.

Where the assumption is that the target is just normalized as a URL within the current page path.

(Below I use "specifier" to mean the string developers type to indicate a file).
We currently treat module specifiers differently than filename specifiers: relative module specifiers must be explicitly relative. Filename specifiers are ambiguous (or perhaps contextual): foo/bar.js means the same as ./foo/bar.js.  Module specifiers assign a different meaning to specifiers beginning with ./, they are relative to the current module path.
If we stick with this difference -- and I think it works well -- then we should be consistent to avoid making the distinction context dependent and thus harder for developers to guess.
So I think the target in the sites table should be analyzed consistently with module specifiers. Thus lib/jquery.js would mean the jquery.js file in the lib package while ./lib/jquery.js would mean the file resolved relative to the URL containing the table.

Note that with the new spec changes, we treat module specifiers identically to URLs - that is that ./lib/jquery.js normalizes the same as lib/jquery.js the only difference with loading jquery becomes that it can be entry in the sites table to begin with.

So how do I distinguish loading bar.js from the package foo vs the subdirectory foo?

The sites table acts as a first pass match, falling back to standard URL normalization. So if it matches the sites table is the answer (that is for an entry like foo/*). But ./foo would not be in the sites table so still allows a way to reference the subdirectory.

@guybedford if the normalized url is still relative after the first pass on the sites table, it should be processed as if you were doing <script src="lib/foo.js" type="module"></script>, they should be reflective. In fact, I foresee people doing:
site({
  "lib/*": "/static/lib/*.js"
});

Thanks @caridy that sounds great. To clarify the edge case - say there was a mapping:
System.site({
  "lib/*": "./static/lib/*.js"
});

Would I be right in thinking that would be taken to mean the same as static/lib/*.js as relative to the current document.baseURI?

correct

Can someone explain how site packages differ from the old paths? It sounds almost identical but I might be missing something.

@matthewp it's the same thing under a different name.

So it's exactly the same, no difference other than name?

The implementation of sites is near identical to what was implemented for paths in the previous polyfill work.

@matthewp, renamed, plus some formalization explained in this issue as part of the clean up, that's all.

What is the status on wildcards being supported in the sites table? I have an implementation, but don't want to be setting the wrong expectations for users either.

@caridy @dherman I'd still be very interested to hear about the status of wildcards in the sites table. It is one of the blocking issues we have at https://github.com/ModuleLoader/es6-module-loader/issues/381 in order to move to the new spec work.
I've been thinking about it, and do actually have a simpler proposal than wildcards which may be suitable. Let me know where might be best to share / discuss this, or if it makes sense to continue to discuss in this thread.

@guybedford I want to hear it, let's chat.

Why not do it here where others can participate?

Ok, here's the argument (a) against wildcards in sites, and (b) asking what might replace it.
(a) Why wildcards should not be in sites
The wildcard proposal would be something like:
loader.sites({
  'bootstrap/*': '/path/to/bootstrap/*'
});

This is useful because it allows mapping all subpaths - import 'bootstrap/x' and import 'bootstrap/y' both go to the right thing, which otherwise would have needed to be two separate sites rules.
But paths also allow the ability to add other substitutions as well:
loader.sites({
  'bootstrap/*': '/path/to/bootstrap/*.js'
});

This may seem useful, because it can allow us to write import 'bootstrap/x' and have this automatically add the JS extension for us, but it doesn't quite work out actually.
There are now two issues:

We can't import any other file extension from within bootstrap
Relative loads within bootstrap don't get js extensions added

(2) is because of the normalization pipeline. Imagine within bootstrap/x.js we had a dependency on ./y:
The normalization then works as:
bootstrap/x -> sites -> /path/to/bootstrap/x.js -> URL normalize -> http://site.com/path/to/bootstrap/x.js.
Now we load ./y relative to http://site.com/path/to/bootstrap/x.js. This uses standard URL normalization giving us http://site.com/path/to/bootstrap/y.
So because of these two issues (both of which may cause issues for users), I think wildcards may be worth leaving out.
(b) A possible replacement for wildcards
Wildcards were useful though because they saved having to map each and every subpath individually.
Would it make sense to allow a trailing / to indicate a "subpaths" sites mapping over just a single path?
Something like:
loader.sites({
  'bootstrap/': '/path/to/bootstrap/'
});

being a folder-style mapping.
Feedback welcome.

The other alternative is always to just accept these behaviors of wildcard paths and implement anyway as well.

In https://github.com/whatwg/loader/pull/65 we have deferred the SitePackage implementation, we plan to come back to it as part of Stage 3: https://github.com/whatwg/loader/blob/master/roadmap.md#stage-3-conveniences
Let's keep this issue around in the meantime.


Ensure we have at least one username associated with each slim/subset

We want to be able to automatically inform people of changes in the ontology that affects their slim
We could have one of two mechanisms:

people register for ownership of a slim in users.yaml
we have something in the slim headers that points to an unambiguous ID in users.yaml

Could we also possibly track the creation and last update dates, perhaps in the header as well?
I like the idea of having metadata in the slim header, pointing to users.ml rather than vice-versa; just seems like a more natural way to look up the information (use case "who should I contact if I have questions about the slim?", not sure there is a use case for "how many slim did user X contribute to?")

Same as #14276


Move StripeSM methods to StripeSM.cc

This also updates import lists.

The AuTest slice_prefetch failed. The wait time for the log to be written may need to be increased.

[approve ci autest]


Throw an error when submitting an Order with no workflow_ref

https://projects.engineering.redhat.com/browse/SSP-250
Currently there is no logic when an Order has no workflows assigned to the portfolio items or portfolios, when an order like this is submitted it gets marked as "Approval Pending" forever and just sits in limbo. This PR adds logic to error out before any of that happens - throwing a 422 on submit.

@miq-bot add_reviewer syncrou
@miq-bot add_reviewer mkanoor
@miq-bot add_reviewer gmcculloug

@lindgrenj6 @gmcculloug I'm thinking we should close this for now.  Take care of https://projects.engineering.redhat.com/browse/SSP-273 which will handle a good deal of the questions we have with this implementation.  If an approval workflow is validated first then we can take control over if an order can be submitted.

@syncrou @gmcculloug yeah I'd be ok with that - that bug ticket would take care of a good portion of the cases here, the only one it doesn't cover is when an approval workflow would get deleted before the order gets submitted. We can discuss how to handle that later.


fix(sdk): pnpm installation

Fixes https://github.com/prisma/prisma/issues/7934
Fixes https://github.com/prisma/prisma/issues/7484
Additionally, I added the necessary tests to E2E.
E2E https://github.com/prisma/e2e-tests/actions/runs/984959475

This might be able to close this issue: https://github.com/prisma/prisma/issues/5340

We are just getting things ready in E2E then we are good to go.

@millsp I think we should merge this now, could you fix the conflict?

Seems still conflicting 🤔


i have an error but i don't understand why i have him

my error are: Exception in thread Thread-1: Traceback (most recent call last):   File "C:\Users\rosel\AppData\Local\Programs\Python\Python38\lib\threading.py", line 932, in _bootstrap_inner     self.run()   File "C:\Users\rosel\AppData\Local\Programs\Python\Python38\lib\threading.py", line 870, in run     self._target(*self._args, **self._kwargs)   File "C:\Users\rosel\AppData\Local\Programs\Python\Python38\lib\site-packages\tkvideo\tkvideo.py", line 51, in load     label.config(image=frame_image)   File "C:\Users\rosel\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 1637, in configure     return self._configure('configure', cnf, kw)   File "C:\Users\rosel\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 1627, in _configure     self.tk.call(_flatten((self._w, cmd)) + self._options(cnf)) _tkinter.TclError: invalid command name ".!toplevel.!label"
someone can help me?

Maybe this can help you:
https://www.programmersought.com/article/49772927518/

Maybe this can help you:
https://www.programmersought.com/article/49772927518/

Maybe this will help:
https://www.programmersought.com/article/49772927518/

Maybe this will help:
https://www.programmersought.com/article/49772927518/


fix(@schematics/angular): add baseUrl in root tsconfig when migrating

Closes: #11258
The problem is that in Angular CLI 1.X.X the root tsconfig didn't have baseUrl, and when upgrading to v6 the baseUrl option is not added. baseUrl is  now mandatory especially when creating a library.
//cc @StephenFluin

@clydin PR updated

With AppVeyor, I am getting this error quite a lot even in my other PRs
Error: ENOTEMPTY: directory not empty, rmdir
'C:\projects\angular-cli\tests@angular_devkit\build_angular\test-project-host-hello-world-app-ao7kthpblkg\src'
177
https://ci.appveyor.com/project/AngularCLI/angular-cli/build/1.0.11959#L177
at Object.fs.rmdirSync (fs.js:821:3)
On Sun, 17 Jun 2018 at 17:08, clydin<EMAIL_ADDRESS>wrote:

@clydin commented on this pull request.
In packages/schematics/angular/migrations/update-6/index.ts
https://github.com/angular/angular-cli/pull/11261#discussion_r195932511:

@@ -724,6 +724,43 @@ function updateTsLintConfig(): Rule {
};
}

+function updateRootTsConfig(): Rule {

return (host: Tree, context: SchematicContext) => {
const tsConfigPath = '/tsconfig.json';
const buffer = host.read(tsConfigPath);
if (!buffer) {

 return;

}

const tsCfgAst = parseJsonAst(buffer.toString(), JsonParseMode.Loose);
if (tsCfgAst.kind != 'object') {

 throw new SchematicsException('Invalid tsconfig. Was expecting an object');

True. Just the verbiage adjustment then.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/angular/angular-cli/pull/11261#discussion_r195932511,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQv-WrfziN4KKaoEModlzAaE2jYgBMSEks5t9nEHgaJpZM4UpguH
.


Build error for vanilla chromium os r88

Issue
I'm trying to build vanilla chromium release 88. Everything I've done according to the documentation except use the official google repo. And I am pretty confident I haven't messed up any step up until the building process. But at the very last [main] step..
Running ./build_packages --board=rpi4 --nowithautotest  command gives me error saying
emerge: there are no ebuilds to satisfy "~chromeos-base/chrome-icu-89.0.4389.16_rc" for /build/rpi4/. then stop.
The fact that chrome-icu-89.0.4389.16_rc is not supposed to be there for a r88 build. If i'm not wrong this comes from cloning this repo specially since it's updated to work with r89. Note: I've a ebuild file name chrome-icu-88.0.4324.216_rc-r1.ebuild
Is there a file i need to modify to make it work or I should give up.
Setup

Raspberry Pi 3B+ 1GB RAM
Ubuntu 18.04 LTS

I'm opting to build vanilla chrome os 86 in hope of better support.


⚠ PrivateHD has degraded performance

In 14858b3, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 4164 ms

Resolved: PrivateHD performance has improved in 092cf5b.


Documentation update to explain FusedSDPA support for Llava fp8 inference

What does this PR do?
Updated readme to explain how to use FusedSDPA with fp8 inference for Llava models with 1.17

Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

Closing as it was integrated into #1163.


Allow mocking and subclassing of PHPProphet

Having the final declaration on the PHPProphet class means you cannot mock it in tests or extend the functionality. I suggest removing the final declaration and making the $prophet property protected.
Pull Request #2

The hole point of declaring the class final and setting the property private is, I didn't design the class for extension. Your use case is very unique, as normal clients would not have to mock that class. Couldn't you design your test to use the actual implementation?

I wasn't planning on subclassing PHPProphet, but needing to mock PHPProphet as a dependency in another library hardly seems like a unique use case. In my opinion, the only classes that could be final are those that have no dependencies or side effects of their own and do not need to be mocked, like domain entities or value objects, for example.

needing to mock PHPProphet as a dependency in another library hardly seems like a unique use case

Mocking a mocking library is a unique use case.

In my opinion, the only classes that could be final are those that have no dependencies or side effects of their own

Thank you for sharing your opinion on the final construct. I follow Josh Bloch's approach and protect the clients to mess around with sub classing.
But I see, you don't want to mess around, you just need a mock. As you pointed already out your familiarity with domain driven design, then I suggest using an anti corruption layer which you can mock:
interface MockablePHPProphet {
    public function prophesize($namespace);
}

class PHPProphetProxy implements MockablePHPProphet {
    private $phpProphet;
    public function prophesize($namespace) {
        return $this->phpProphet->prophesize($namespace);
    }
}

I was actually considering doing something similar to what you suggest. However, I think I'm satisfied for now about the test coverage of my classes, given the early stage of the project. If things grow in complexity, I'll probably need a mockable interface for both PHPProphet and the special collaborator class for phpspec, since that has been difficult to mock as well (a collaborator of a collaborator!). Thanks.


feat(error): add checks for event error type

Current dependencies on/for this PR:

main

PR #81   👈

PR #82

PR #83

PR #84

This comment was auto-generated by Graphite.

Graphite Merge Job
Current status: 🔄 Waiting for checks to pass
This pull request is currently waiting for CI and mergeability checks to pass before being merged.
This comment was auto-generated by Graphite.

Job Reference: xMjZfTlJWRc5EP30Nxyu


Global concurrency limitation to Hawkular sink

This PR is based on the PR #1118
Updates the Hawkular-Metrics Golang client to version 0.6.0, which provides a global concurrency restriction to all the commands sent to the Hawkular-Metrics server.
Removes the sink's concurrency handling and uses the client's one. This causes the metric registration part to be concurrency limited also (preventing flooding of the server if Hawkular is deployed to existing installation).
Only commit e0e7883 is relevant (rest I guess disappear if #1118 is merged)

Merged #1118 - can you rebase please so we can see changes only from this PR?

Done

ok to test

LGTM - waiting for green

Merging - thanks @burmanm!


macOS Non-Latin IME input issue

Issue Summary
When you tries to input non-latin glyphs(e.g., Chinese characters) into the editor, either plain text or with addon like Markdown block or HTML block, it always breaks.
Not only cannot type properly, but typing with IME also breaks the entire blog post...
It is very frustrating to "undo" and "redo" all the typings and things...
Security concerns
I am aware that Ghost probably using mobiledoc for a while? I am not yet having the time to trace down the rabbit hole, but I do see there are CVE for that specific library, and I am really concerned if I should continue the use of Ghost...?
To Reproduce

Create a new post
Start typing some non-latin characters

Screencast
https://user-images.githubusercontent.com/1886237/133989711-0fdc2be7-f593-44ee-8ba0-7ce00ab80335.mp4
Technical details:

Ghost Version: 4.14.0

Docker tag: ghost:alpine(ghost@sha256:7f22aaffb1e46803280101e22f54c19d958405d25faf0bc0035ef63ce08b21f7)

Node Version: 14.17.6
Browser/OS:

Client side: macOS 11.6 on Firefox 92.0
Server side: Arch Linux on Linux kernel 5.13.13

Database: Probably SQLite...?

Possible related issue (and probably not getting fixed on the root cause?)

codemirror/CodeMirror#4096
#12820
#12268
#11460
#9801
#9289
#9012
#8319

The problem of typing CJK texts with initials seems to have been solved in the current version. Do you mean such an issue?

Hi there 👋
I suspect this is an upstream issue in mobiledoc-kit. So that we can be sure would you be able to test out the same key strokes in the mobiledoc kit demo here:
https://bustle.github.io/mobiledoc-kit/demo/
Please let us know if you can see the same issue when typing there or not.
Also, in terms of us being able to reproduce the issue, it would be very handy if you could provide the exact reproduction steps, including exactly which keys are being pressed and their order, plus which main keyboard language you are using.
If you're able to, screencasts with the keyboard viewer present on mac, or that otherwise show the exact keys pressed would be very helpful.


Help with getting started

Hi,
I would like a very basic app that sits on my watch and triggers vibration and a notification on my watch when the watch gets disconnected from my phone.  This will be useful in case I leave my phone behind somewhere and walk away, or the phone gets lost or stolen.  At least I will know about the fact that it is no longer next to me when the phone is still within a couple of hundred feet of me.

Questions:
Is it possible to build such an app?
I am an experienced C and Matlab programmer, but don't have any experience with javascript and json.  Can you give me some starter code for this app?
How would I take this code and put it on my watch to run as an app?  Any help with this would be appreciated too.
Thank you very much.

You can install the program into the watch via Zepp's development tools Zepp CLI, provided you have NodeJS installed first.
Also, the ability to run in the background is not yet available due to the system's operating mechanism. The functionality you envision may not be perfectly implemented, but you don't have to worry, this part of the capability is already in the planning process and I believe it will be improved in the future.

OK, this program needs to run as a persistent process, and if that capability is not available right now, I guess I have to wait until it is available in the future.  Thank you.


Update to latest upstream. fixes WP_HOME in .environment

Closes #46

Latest push addresses issue #75 from wordpress-bedrock.

@gilzow https://pr-47-i3bib2i-rggkfglt3j3yo.eu-3.platformsh.site/
Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /app/web/wp/wp-includes/Requests/Cookie/Jar.php on line 63

Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /app/web/wp/wp-includes/Requests/Cookie/Jar.php on line 73

Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /app/web/wp/wp-includes/Requests/Cookie/Jar.php on line 89

Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /app/web/wp/wp-includes/Requests/Cookie/Jar.php on line 102

Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /app/web/wp/wp-includes/Requests/Cookie/Jar.php on line 111

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /app/web/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /app/web/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /app/web/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /app/web/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /app/web/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91

see : Deprecated errors on PHP 8.1
Marking as draft until we can investigate.

Closing as no longer relevant


Not working on Safari (multi-OS)

Pagefind on my site (https://www.brycewray.com/search) isn’t working on Safari on the latest versions — released a few days ago — of macOS, iOS, and iPadOS. It just hangs on the “Searching...” line. Moreover, using the Inspector shows none of the usual JS and “fragment” files loading, and I see no errors in the Console.
There are no such issues with Chrome, Microsoft Edge, or Firefox on macOS or Windows (the latter tested with Parallels Desktop on macOS); Pagefind still works normally there. Of course, all browsers on iOS and iPadOS are essentially Safari, so the no-load behavior is the same on any browser on those OSs.
Have also reproduced in local dev-server testing as well on actual site in both Hugo and Eleventy repos. This apparently precludes the possibility that it’s either host-related or GitHub-Actions-related.

This is apparently host-related. Sorry to trouble you!

Oh no, I've jumped the gun on a negative lookbehind 😭 I'll change that regex and release a new version, thanks for the find!

@bglw Can conform Pagefind 0.10.6 has fixed this issue. Thanks as always!