Need help with updating to Bevy 0.14

I've begun a fork where I'm trying to update Belly to Bevy 0.14.
https://github.com/davi4046/belly
If the person who did the macro impl_properties! would be so kind and have a look here: crates\belly_core\src\relations\props\impls.rs
Also, I'm unsure if I've updated fn extract_stylebox in crates\bevy_stylebox\src\lib.rs correctly.

I am also interested in updating Belly to Bevy 0.14.
Regarding the error in crates\belly_core\src\relations\props\impls.rs, it seems to be related to the following link: https://bevyengine.org/learn/migration-guides/0-13-to-0-14/#color-methods

I inserted the link incorrectly.Here is the correct link.

I made an update to 0.14 if you want to work from my fork to expand beyond just a direct port. such as adding borders and rounded corners to ess.

I'm sorry I've not been responding but I'm currently busy with other stuff and will personally not be able to help with the update anytime soon.

I came across Polako, the successor to Belly, while working on the update for Bevy 0.14. I’ve decided to focus on updating Polako to Bevy 0.14.


Mobile: Initial launch page shows a cropped TrashMob.eco logo

Can you provide a screenshot and details of what environment and screensize you see this in? I don't see the same issue in ios


Compiler Build issue

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Install '...' version '...'
Run '...' with data '...'
See error on logfile '...'

Expected behavior
A clear and concise description of what you expected to happen.
Log-files
Add full logfiles to help explain your problem.
Environment
Make sure that ROCm is correctly installed and run the following command:
printf '=== environment\n' > environment.txt &&
printf '\n\n=== date\n' >> environment.txt && date >> environment.txt &&
printf '\n\n=== Linux Kernel\n' >> environment.txt && uname -a  >> environment.txt &&
printf '\n\n=== rocm-smi' >> environment.txt && rocm-smi  >> environment.txt &&
printf '\n\n' >> environment.txt && hipconfig  >> environment.txt &&
printf '\n\n=== rocminfo\n' >> environment.txt && rocminfo  >> environment.txt &&
printf '\n\n=== lspci VGA\n' >> environment.txt && lspci | grep -i vga >> environment.txt

Attach environment.txt
Additional context
Add any other context about the problem here.


Create descriptor from xpub

If possible, it would be ideal if createDescriptors() could take an xpub as an input instead of just xpriv.
The goal is to then create a watch-only wallet or air-gapped wallet using a given xpub.

I believe this feature is added by release of bdk-flutter 0.2.0 @BitcoinZavior ?

This is not answering your question directly but I can provide a bit of context into what is coming down in the next release of bdk-ffi (which I think might be reflected in bdk-flutter 0.3.0), because it's likely to change the API a little bit (for the better!).
With bitcoindevkit/bdk-ffi#260 we're bringing in BDK's descriptor templates (one of the most requested things we've had over the past few months), and a Descriptor type, which you'll be able to create using either any of the standard templates (Bip44, Bip49, Bip84, as well as their public versions Bip44Public, Bip49Public, and Bip84Public), or simply by providing a string. This Descriptor type is what you'll then use to build the Wallet object (instead of just a string). Here is a preview of what it would look like at the call-site in Kotlin (Dart would probably be fairly similar I think):
// example 1: create private descriptor from template
val mnemonic: Mnemonic = Mnemonic(WordCount.WORDS12)
val rootSecretKey: DescriptorSecretKey = DescriptorSecretKey(
    network = Network.TESTNET,
    mnemonic = mnemonic,
    password = null
)
val descriptor = Descriptor.newBip84(rootSecretKey, KeychainKind.EXTERNAL, Network.TESTNET)
println("Xprv: ${descriptor.asStringPrivate()}")
// Xprv: wpkh(tprv8ZgxMBicQKsPdNEsNU8zL8sStkjL5rgXxcTHKDcuCJY4VD4hjRroDnx86Ty6R1FeLG4RYW4hUbjHtcASqpVYJExvi86TPvxzYdwgx3PE3ZG/84'/0'/0'/0/*)#a47490pe
println("Xpub: ${descriptor.asString()}")
// Xpub: wpkh([dc9e85c5/84'/0'/0']tpubDCj2SEEQpVo4RSD4X2vujJqaYiLge26xsg6DcR7wWBycc6LAVodhbEj9UncxnLLbc1EdehfUA3FUfZpnspQ7S8g24CpHr1D5TnRGZVAE4F2/0/*)#82trdexc

// example 2: create public descriptor from template
val xpub = "tpubDCj2SEEQpVo4RSD4X2vujJqaYiLge26xsg6DcR7wWBycc6LAVodhbEj9UncxnLLbc1EdehfUA3FUfZpnspQ7S8g24CpHr1D5TnRGZVAE4F2"
val fingerprint = "dc9e85c5"
val extendedPublicKey: DescriptorPublicKey = DescriptorPublicKey.fromString(xpub)
val descriptor = Descriptor.newBip84Public(extendedPublicKey, fingerprint, KeychainKind.EXTERNAL, Network.BITCOIN)
println("Xpub: ${descriptor.asString()}")
// Xpub: wpkh([dc9e85c5/84'/0'/0']tpubDCj2SEEQpVo4RSD4X2vujJqaYiLge26xsg6DcR7wWBycc6LAVodhbEj9UncxnLLbc1EdehfUA3FUfZpnspQ7S8g24CpHr1D5TnRGZVAE4F2/0/*)#82trdexc

This means we'll be able to create all types of descriptors just like we used to using plain strings, but also prevent footguns by providing standard descriptor structures for the most common ones.

Hi!
Can you please clarify - if I have xpub and need to create descriptor I can use example 2.
But what is val fingerprint = "dc9e85c5"? How I should get it?


ISPN-13458 query and config doc updates

https://issues.redhat.com/browse/ISPN-13458
Needs backport to 13.0.x

Merged, thanks @oraNod !


Apply support

Server side?
FEATURE STATE: Kubernetes v1.14 alpha

Server Side Apply allows clients other than kubectl to perform the Apply operation, and will eventually fully replace the complicated Client Side Apply logic that only exists in kubectl. If the Server Side Apply feature is enabled, the PATCH endpoint accepts the additional application/apply-patch+yaml content type. Users of Server Side Apply can send partially specified objects to this endpoint. An applied config should always include every field that the applier has an opinion about.

Looks useful. Clearly related to #24 with an extra application/apply-patch+yaml content-type.
Perhaps an Api::apply(name: &str, data: Vec<u8>) would be a better alias for a patch with this.
Check what client-go does.
However the field management notes is a scary read.
Client side?
We could also do the client-side approach which the ruby client did. See Building and Maintaining a Client Library - Stories From the Trenches - Jussi Nummelin, Kontena Inc.
Sounds even worse. I'd rather just wait with this support for now until I get to test server side.

Actually, the client-side apply is at least well documented: https://kubernetes.io/docs/tasks/manage-kubernetes-objects/declarative-config/#how-apply-calculates-differences-and-merges-changes

Probably waiting for this. It's a heavy feature. Leaving it open for now though.

Not sure why we actually have this open. Sure, we won't do client-side, but server-side is implemented via the patch method using the PatchStrategy::Apply => "application/apply-patch+yaml" for quite some time.
Maybe we should do a shortcut for apply? But opening a separate issue for that.


⚠ ClamAV has degraded performance

In 7a7cb37, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 192 ms

Resolved: ClamAV performance has improved in fa7d0cd.


Extend the time for the play button

Problem
The play button should last longer than 20 seconds or whatever its on now, there should be a constant refresh if you choose it.
Discord Feedback: https://discord.com/channels/373889138199494658/1068722201320231062/1230576877165609092
Solution
See above
Alternatives
No response

Extend to 2 minutes


$redirectTo with param

I want to set my redirect after logging in and logging out to route with dynamic param. Something like
public $redirectTo = '/cms-name/en/home';
This one above works fine but I need that "en" to be dynamic. How can I achieve that?
Thanks a lot!

Just add a method with logic, where you can set another $redirectTo. Then run the method in constructor.

Yea, but the problem is how to pass it to that constructor with login post()?


NullPointerException in PhotoView attacher with version 1.2.7

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean uk.co.senab.photoview.PhotoViewAttacher.setDisplayMatrix(android.graphics.Matrix)' on a null object reference
       at uk.co.senab.photoview.PhotoView.setDisplayMatrix(PhotoView.java:98)

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void uk.co.senab.photoview.PhotoViewAttacher.setScaleLevels(float, float, float)' on a null object reference
       at uk.co.senab.photoview.PhotoView.setScaleLevels(PhotoView.java:148)

Sounds like your attacher has been set to null and that you are still using a view that has been removed from the window. Can you recreate this with the sample app?

@Jawnnypoo mAttacher in PhotoView is set to null in onDetachedFromWindow with v1.2.7 and v1.3.0, but it is not set to null with v1.2.6.
This np crash did not occurs with v1.2.6

I understand this, and it was done to prevent memory leaks with the attacher holding a reference to the imageview and causing entire activities to leak. I am wondering how you are recreating this issue, since when onDetachFromWindow is called, the view should be getting destroyed anyhow and the attacher should not be relevant or referenced anymore. Is there a code snippet you can paste to show behavior?

I use PhotoView with ViewPager. When PhotoView detach from window I need to adjust its' image size. Can this be helpful? Maybe I need to refactor my code to fix this problem. Thank you.

Yeah, this is a sign that the code you are using is leaking memory if the attacher is being used after the view is detached, so it is not an issue for this library.


openai.error.ServiceUnavailableError: The server is overloaded or not ready yet.

My code:
import os
from keys import *
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY
from embedchain import App
naval_chat_bot = App()
naval_chat_bot.add("web_page", "https://psymplicity.com/")
print(naval_chat_bot.query("what is the three-step approach to private mental health care"))
The Error:
Unable to connect optimized C data functions [No module named '_testbuffer'], falling back to pure Python
All data from https://psymplicity.com/ already exists in the database.
Traceback (most recent call last):
File "c:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\code\flask_app_2\embedchain_test.py", line 21, in
print(naval_chat_bot.query("what is the three-step approach to private mental health care"))
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\embedchain\embedchain.py", line 225, in query
answer = self.get_answer_from_llm(prompt)
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\embedchain\embedchain.py", line 211, in get_answer_from_llm
answer = self.get_openai_answer(prompt)
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\embedchain\embedchain.py", line 162, in get_openai_answer
response = openai.ChatCompletion.create(
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\openai\api_resources\chat_completion.py", line 25, in create
return super().create(*args, **kwargs)
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\openai\api_resources\abstract\engine_api_resource.py", line 153, in create
response, _, api_key = requestor.request(
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\openai\api_requestor.py", line 298, in request
resp, got_stream = self._interpret_response(result, stream)
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\openai\api_requestor.py", line 700, in _interpret_response
self._interpret_response_line(
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\openai\api_requestor.py", line 743, in _interpret_response_line
raise error.ServiceUnavailableError(
openai.error.ServiceUnavailableError: The server is overloaded or not ready yet.

Wait for some time and try again. make sure, billing is configured with your OPENAI account.

Tried again this morning and got this error:
Unable to connect optimized C data functions [No module named '_testbuffer'], falling back to pure Python
All data from https://psymplicity.com/ already exists in the database.
Traceback (most recent call last):
File "c:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\code\flask_app_2\embedchain_test.py", line 13, in
print(naval_chat_bot.query("what is the three-step approach to private mental health care"))
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\embedchain\embedchain.py", line 223, in query
context = self.retrieve_from_database(input_query)
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\embedchain\embedchain.py", line 179, in retrieve_from_database
result = self.collection.query(
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\chromadb\api\models\Collection.py", line 213, in query
query_embeddings = self._embedding_function(
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\chromadb\utils\embedding_functions.py", line 111, in call
embeddings = self._client.create(input=texts, engine=self._model_name)["data"]
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\openai\api_resources\embedding.py", line 33, in create
response = super().create(args, **kwargs)
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\openai\api_resources\abstract\engine_api_resource.py", line 153, in create
response, _, api_key = requestor.request(
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\openai\api_requestor.py", line 298, in request
resp, got_stream = self._interpret_response(result, stream)
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\openai\api_requestor.py", line 700, in _interpret_response
self._interpret_response_line(
File "C:\Users\moshe\OneDrive - University College London\Code\gpt-autopilot\venv\lib\site-packages\openai\api_requestor.py", line 763, in _interpret_response_line
raise self.handle_error_response(
openai.error.APIError: The server had an error while processing your request. Sorry about that! You can retry your request, or contact us through our help center at help.openai.com if the error persists. (Please include the request ID 7ebe84b484ff53ee3a73a11946b4d6f7 in your message.) {
"error": {
"message": "The server had an error while processing your request. Sorry about that! You can retry your request, or contact us through our help center at help.openai.com if the error persists. (Please include the request ID 7ebe84b484ff53ee3a73a11946b4d6f7 in your message.)",
"type": "server_error",
"param": null,
"code": null
}
}
500 {'error': {'message': 'The server had an error while processing your request. Sorry about that! You can retry your request, or contact us through our help center at help.openai.com if the error persists. (Please include the request ID 7ebe84b484ff53ee3a73a11946b4d6f7 in your message.)', 'type': 'server_error', 'param': None, 'code': None}} {'Date': 'Tue, 27 Jun 2023 08:45:22 GMT', 'Content-Type': 'application/json', 'Content-Length': '366', 'Connection': 'keep-alive', 'access-control-allow-origin': '', 'openai-organization': 'ucl-4', 'openai-processing-ms': '30208', 'openai-version': '2020-10-01', 'strict-transport-security': 'max-age=15724800; includeSubDomains', 'x-ratelimit-limit-requests': '3000', 'x-ratelimit-limit-tokens': '1000000', 'x-ratelimit-remaining-requests': '2999', 'x-ratelimit-remaining-tokens': '999985', 'x-ratelimit-reset-requests': '20ms', 'x-ratelimit-reset-tokens': '0s', 'x-request-id': '7ebe84b484ff53ee3a73a11946b4d6f7', 'CF-Cache-Status': 'DYNAMIC', 'Server': 'cloudflare', 'CF-RAY': '7ddc6917bf7071c8-LHR', 'alt-svc': 'h3=":443"; ma=86400'}
nothing wrong with my billing because iv been using the same API key for other stuff and its been working fine

I'm facing the same issue as well.


Remove references to removed isort[pyproject] extra in README

Codecov Report

Merging #1250 into develop will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           develop     #1250   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           34        34
  Lines         2129      2129
=========================================
  Hits          2129      2129

Thank you!


Enhancement: Abstraction for injecting template globals

Summary
It would be nice to have a nice abstraction for injecting globals into templates so that we don't have to do such a dance around this current process (see #basic-examples)
Basic Example
Some examples of what is currently required I think:
@Alc-Alc's
"""Template config."""
from __future__ import annotations

import os
from typing import Any

from jinja2 import Environment
from litestar import Litestar
from litestar.contrib.jinja import JinjaTemplateEngine
from litestar.template.config import TemplateConfig

def create_environment() -> Environment:
    env = Environment()
    env.globals['BASE_PATH'] = "/prod-path" if os.getenv("ENVIRONMENT", "dev") == "prod" else "/"
    return env

config = TemplateConfig(
    directory="/path/to/templates",
    engine=JinjaTemplateEngine.from_environment(create_environment()),
)

app = Litestar(template_config=config)

or mine
"""Template config."""
from __future__ import annotations

import os
from typing import Any

from jinja2 import Environment
from litestar import Litestar
from litestar.contrib.jinja import JinjaTemplateEngine
from litestar.template.config import TemplateConfig

def set_base_path(engine_instance: Any) -> None:
    """Set the base path for the template engine."""
    env = os.getenv("ENVIRONMENT", "dev")

    if hasattr(engine_instance, "engine") and isinstance(engine_instance.engine, Environment):
        engine_instance.engine.globals["BASE_PATH"] = "/prod-path" if env == "prod" else "/"

config = TemplateConfig(
    directory="/path/to/templates",
    engine=JinjaTemplateEngine,
    engine_callback=set_base_path,
)

app = Litestar(
    template_config=config,
)

...and then:
some link

Drawbacks and Impact

maintenance burden

Unresolved questions
No response

[!NOTE]
While we are open for sponsoring on GitHub Sponsors and
OpenCollective, we also utilize Polar.sh to engage in pledge-based sponsorship.
Check out all issues funded or available for funding on our Polar.sh dashboard

If you would like to see an issue prioritized, make a pledge towards it!
We receive the pledge once the issue is completed & verified
This, along with engagement in the community, helps us know which features are a priority to our users.

Is the idea here to be able to pass in a dictionary of globals to TemplateConfig which will then be injected into the global context of the different template engines? Like the following:
config = TemplateConfig(
    directory="/path/to/templates",
    engine=JinjaTemplateEngine,
    globals={"BASE_PATH": get_base_path()}
)


Repeat t/T with f/F?

t/T are more clunky to reach than f/F so it would be nice to be able to repeat t/T with f/F.
This could be an option, but why not just make it the default? If you are using t<char> followed by f<char> you are doing something wrong, so making f/F a special key after t/T should be safe.

I didn't implement this directly (I believe it's an edge case), but I did refactor the repeat keymappings to public variables to make it easier for anyone to change the keymappings. Update evil-snipe and add this to your config:
(define-key evil-snipe-mode-t-map "f" 'evil-snipe-repeat)
(define-key evil-snipe-mode-t-map "F" 'evil-snipe-repeat-reverse)

Thanks, you are probably right that it is an edge case.


Starting scylla with --kernel-page-cache is not supported by older scylla versions

PR #317 caused a regression in rolling_upgrade_test.
https://jenkins.scylladb.com/view/master/job/scylla-master/job/dtest-release/780/artifact/logs-all.release.2/1617166227559_rolling_upgrade_test.RollingUpgradeTest.test_rolling_upgrade/node1.log:
Scylla version 4.3.0-0.20210110.000585522 with build-id 7fab6c35a5d403f3416292b37c9a9aa94fe4db1f starting ...
command used: "/jenkins/workspace/scylla-master/dtest-release/scylla/.dtest/dtest-5ns8k1n5/test/node1/bin/scylla --options-file /jenkins/workspace/scylla-master/dtest-release/scylla/.dtest/dtest-5ns8k1n5/test/node1/conf/scylla.yaml --log-to-stdout 1 --api-address <IP_ADDRESS> --collectd-hostname d8061d688155.node1 --smp 2 --memory 1024M --abort-on-seastar-bad-alloc --abort-on-lsa-bad-alloc 1 --abort-on-internal-error 1 --developer-mode true --default-log-level info --collectd 0 --overprovisioned --prometheus-address <IP_ADDRESS> --unsafe-bypass-fsync 1 --kernel-page-cache 1"
parsed command line options: [options-file: /jenkins/workspace/scylla-master/dtest-release/scylla/.dtest/dtest-5ns8k1n5/test/node1/conf/scylla.yaml, log-to-stdout: 1, api-address: <IP_ADDRESS>, collectd-hostname: d8061d688155.node1, smp: 2, memory: 1024M, abort-on-seastar-bad-alloc, abort-on-lsa-bad-alloc: 1, abort-on-internal-error: 1, developer-mode: true, default-log-level: info, collectd: 0, overprovisioned, prometheus-address: <IP_ADDRESS>, unsafe-bypass-fsync: 1, kernel-page-cache, (positional) 1]
error: unrecognised option '--kernel-page-cache'

The option was recently introduced in scylladb/scylla@8785dd62cb740522d80eb12f8272081f85be9b7e
and is not available in any release up to and including 4.4.0.

Hit the same issue also in:
https://jenkins.scylladb.com/view/master/job/scylla-master/job/dtest-release/780/artifact/logs-all.release.2/1617166248627_upgrade_test.UpgradeTestFrom40ToLast.test_cluster_upgrade/node1.log
https://jenkins.scylladb.com/view/master/job/scylla-master/job/dtest-release/780/artifact/logs-all.release.2/1617166267412_upgrade_test.UpgradeTestFrom40ToLast.test_one_node_upgrade/node1.log

Ah. I suppose we have to check if the option is available (with scylla --help) before using it.
I wanted to do this, but it was too difficult for my understanding of ccm.


Partitions should be supported

At present, hwameistor is disk-oriented, but in some cases, this does not apply.
For example: I got a k8s cluster running on a laptop, while the laptops usually own only one disk. And I can't use disk partitions, even though partitions have a lot of capacity.
Maybe we should come up with a solution for covering this case.

work-around docs: https://hwameistor.io/docs/faqs#q6-how-to-expand-the-storage-pool-manually


Change constants to enums

According to https://www.python.org/dev/peps/pep-0008/#constants

Constants are usually defined on a module level and written in all capital letters with underscores separating words. Examples include MAX_OVERFLOW and TOTAL.

There are no constants defined in G2Command.py.
Please clarify the request.

Is this referring to the style of Senzing imports?  If so the issue is https://github.com/Senzing/g2command/issues/32

Moved to https://github.com/Senzing/g2-sdk-python/issues/93


reinstating uri-bytestring

I got a request on uri-bytestring to get it back into stackage nightlies. As far as I can tell, it was already building with GHC-8 and the issue is that in test dependencies, it depended on lens-simple which couldn't build on 8. I had to pin the following dependencies:
extra-deps:
- lens-simple-<IP_ADDRESS>
- lens-family-1.2.1
- lens-family-core-1.2.1

but now have a passing build including tests. So what should next steps be? Could we try the nightly with these latest versions? Or should we reinstate just uri-bytestring with tests disabled?

I'm confused. Do the latest versions of those libraries build on ghc8? If so, we can just add them back to stackage. If not, then we can disable your test suite until they do.

They do. The test suite is using this stack.yaml which is using nightly-2016-06-21, which is on GHC 8. In general, what is the process for keeping packages up-to-date on nightly?

The nightly builds use the latest versions of everything by default. Old versions are only used if we manually add constraints. Go ahead and open the pr to re-enable uri-bytestring and it should do the right thing.

Done


v0.5.0 Development

Codecov Report

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

@@          Coverage Diff           @@
##             main     #55   +/-   ##
======================================
  Coverage        ?   0.00%
======================================
  Files           ?       7
  Lines           ?     550
  Branches        ?       0
======================================
  Hits            ?       0
  Misses          ?     550
  Partials        ?       0

Continue to review full report at Codecov.

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


base_models & comparison visualizer

Add a base_model class, for heavy refactor of duplicate code.
Also creates a visualizer for comparing two model generations + their ratings

@prazek


Export cross stack links in external_links

In format of environment/service.name:linkName

Unrelated TF happening in standalone lb case, filed a ticket to keep track of it:
https://github.com/rancher/rancher/issues/1637


[question] browser agent appears not to collect when safari17/firefox and when running iframe

Description
We are facing an issue on a on an application. That involves two components.

A web sdk (https://www.npmjs.com/package/@paydock/client-sdk)
A widgets application

The typical flow is:

Customer Alice installs @paydock/client-sdk on their project/website
Customer Alice invokes @paydock/client-sdk routines which create iframe elements within Alice's Page.
When the Alice's customer visits her page. The rendered iframes run arbitrary code a remote web-application running on paydock domain.

The @paydock/client-sdk itself is not instrumented and does not have anything integrated with newrelic.
The remote-application currently has a 1.248.0 umd javascript code snippet installed.
The remote-application successfully reports events (e.g.: AjaxRequests) to newrelic on the following browsers:

Chrome (any version we tested so far)
Safari (16.4)

The remote-application does not report events at all in the versions of Safari 17 or Firefox we tested (latest).
Initially, I though that this could be due to the newest default Firefox and Safari behaviours of blocking third party cookies and the fact that this umd script that was installed on remote-app used { cookies_enabled: true }. On that note I noticed that traceHarvestStarted was set to false on these broken browsers, whereas they were set to true on Chrome.

My first step was to disable all Safari and Firefox protections regarding 3rd party cookies, fingerprintings and other security settings. However, even after cleaning the browser storage and hard-refreshing, we still were not getting events other than Chrome.

So I though, our web-app (mentioned in another ticket) is working with all browsers regardless of version, uses the exact same framework with exact same versions. Let's just copy/paste code. Removed unnecessary parts (e.g., no cookie consent requirements, everything in the remote-app will be { enabled: true, autoStart: true } except for SessionReplay feature which will be disabled. Furthermore, on this change, we set cookies_enabled: false, we also installed 1.252.0 which we know is working with this setup. However, the results are the same. Get events from Chrome and old Safari, but not from new Safari/Firefox even when security features are disabled. Console logs spread on the code (bad practise), show that the options are going all the way to the newrelic classes, as desired.

I can open a different ticket regarding this topic, if you have absolutly no idea why this could be happening.
Steps to Reproduce
Unfortunatly, the SDK in question that would allow you to integrate with the widgets requires an account with a pubkey and the widgets are not initialized if such key is incorrect, meaning the remote-app with the client SDK would never be reached.
Expected Behavior

Safari 17 and Firefox also succesfully send events to newrelic even when running within Iframes as long as security features are disabled. Preferebly always since { cookies_enabled } is set to false

Screenshots broken Application using UMD script with version 1.248 (where we found the bug)
All these screenshots were taken after disabling browser security and before trying the to use @newrelic/browser-agent SDK, in other words, while still using the minified JavaScript UMD snippet set to version v1.248.0 which was output when creating the data source on the newrelic website. I am including the screenshots because even after using the actual browser SDK the results are the same in terms of outcome (only works in Chrome).
We can see that <iframe /> contains a newrelic reference

We can see that Firefox security settings are disabled and not blocking newrelic

Firefox Local Storage shows tracing not started

Chrome Local Storage shows tracing started

Chrome Collects Events (Firefox and Safari are not)

Some other application that uses the same version of the SDK and analogous implementation collects info on Firefox and Safari

(Cities vary depending on wether or not I'm connected to the company VPN)
Your Environment

Safari Version 17.3.1 (196<IP_ADDRESS>.12)
macOS Sonoma 14.3.1 (23D60)
Newrelic Version: v1.248.0 (using copy/pasted UMD minified script)
Newrelic Version: v1.252.0 (using instance of BrowserAgent of @newrelic/browser-agent SDK)

I see them in chrome, but not the other browsers. I will open a support ticket. :) Thanks again! 🚀


Space "start" time not updating correctly during large archive import

Repro is on Brim 3334ea0 talking to zqd commit 47bb7c92 and testing with the "wrccdc year1" data set of Zeek logs.
Here I've imported the "wrccdc year1" Zeek logs into a Dev environment with the one change relative to Brim commmit 3334ea0 being to ensure that Archive Spaces are created when I import logs. The diff:
$ git diff
diff --git a/ppl/zqd/zqd.ts b/ppl/zqd/zqd.ts
index 769cfaa5..ec6cd078 100644
--- a/ppl/zqd/zqd.ts
+++ b/ppl/zqd/zqd.ts
@@ -158,6 +158,7 @@ export class ZQD {
       this.root,
       "-config",
       confFile,
+      "-filestorereadonly",
       "-suricatarunner",
       suricataRunnerCommand(this.suricataRunner),
       "-suricataupdater",

After I start the import and "lean back" and touch nothing, here's the end state after import completes:

However, if I select "Whole Space" from the time picker, the start time changes and a whole lot more events enter the picture, the histogram looks completely different, etc.

Here's how things look at the zqd layer:
$ zapi info zeek-logs
zeek-logs
  id:           sp_1oRfrvzqalwEqzflWVbD8kmXVEQ
  parent_id:
  name:         zeek-logs
  data_path:    file:///Users/phil/work/brim/run/data/spaces/sp_1oRfrvzqalwEqzflWVbD8kmXVEQ
  storage_kind: archivestore
  span:         2017-03-24T17:14:32Z+30h50m57.340196001s
  size:         4.81GB
  pcap_support: false
  pcap_size:    0B
  pcap_path:

Meanwhile, if I use an out-of-the-box nightly build based on the same Brim/zq commits (so, "Filestore" Spaces are made), I don't see the same symptom. Doing the same import and "lean back", the time span and histogram all look correct without having had to do any selection of "Whole Space".

The zapi info also looks exactly the same, with the only difference being the storage_kind.
$ zapi info zeek-logs
zeek-logs
  id:           sp_1oRiKAV2YsS0A9UHLMtxtfRNZMz
  parent_id:
  name:         zeek-logs
  data_path:    file:///Users/phil/Library/Application%20Support/Brim/data/spaces/sp_1oRiKAV2YsS0A9UHLMtxtfRNZMz
  storage_kind: filestore
  span:         2017-03-24T17:14:32Z+30h50m57.340196001s
  size:         4.81GB
  pcap_support: false
  pcap_size:    0B
  pcap_path:

While the symptom manifests in the app, I'm assuming the root cause of the problem is probably related to the incremental updates zqd sends back to the app about how the time span changes as the Space gets larger during import, hence opening this up on the zq side.

I had reason to check in on this one and I can see the primary issue seems to have gone away but another problem has taken its place. What I've observed is that starting with Brim commit 58f232c (associated with brimdata/brim#1473) the originally-cited problem appeared to be fully fixed, with the histogram correctly rendered at the end of a "lean back" full import of the "year1" data set. Then once things advanced to the combination of Brim commit 89ecd27 pointing at Zed commit b8b93d7 (associated with #2548), the histogram is rendered correctly, but there's an "Empty log" pop-up that appears early during the import process that lingers until the user clicks Dismiss. A screenshot of this end state:

I know we have further plans to change this area of frontend/backend communication as we complete the transition to Zed Lakes/Pools, and this area seems sensitive to breakage during changes, so I'll hold this one open and revisit it after the changes have settled down.

I've verified that with the full move to using Zed Lakes the symptom originally described now appears to be gone.  At the end, the histogram appeared to be drawn correctly, much as I was accustomed to seeing it in the days of Spaces based on File Stores. There were no excess error messages popped up either.


Time is faster for unfocused windows

Bevy version
0.13.2
[Optional] Relevant system information
AdapterInfo { name: "NVIDIA GeForce RTX 2060", vendor: 4318, device: 7944, device_type: DiscreteGpu, driver: "NVIDIA", driver_info: "551.86", backend: Vulkan }

What you did

Run an example with an inspector plugin.
Click on the window.
Note Time<Virtual>'s elapsed and delta.
Click out of the window.
elapsed accumulates faster and delta is erratic.

What went wrong
I expected the virtual timer to tick at the same speed regardless of window focus state.
Additional information

I tried to replicate this locally, here's my findings!
@cuppachino , where is the LogicStep type from?
And I'm curious, is your bug report that the timer in the LogicStep type advanced more quickly than you intended, or that when a window is unfocused the update rate has different characteristics?
Experiment Setup
The example program I used
[package]
name = "time_test"
version = "0.1.0"
edition = "2021"

[dependencies]
bevy="*"
bevy-inspector-egui = "*"

[profile.dev]
opt-level = 1

[profile.dev.package."*"]
opt-level = 3

use bevy::{input::common_conditions::input_toggle_active, prelude::*};

fn main() {
    App::new()
        .add_plugins(DefaultPlugins.set(WindowPlugin {
            primary_window: Some(Window {
                //present_mode: bevy::window::PresentMode::Immediate,
                ..default()
            }),
            ..default()
        }))
        .add_plugins(
            bevy_inspector_egui::quick::WorldInspectorPlugin::default()
                .run_if(input_toggle_active(true, KeyCode::Escape)),
        )
        .run();
}

My findings
Virtual Time (TLDR: Appears WAI)
I did find Virtual and Real time elapsed at slightly different rates, but it was minimally different, less than a second over a hundred seconds.
Virtual time seems consistent based on the elapsed time of the previous update tick, and adapted based on the update loop time. For me it seems it advances roughly close to real time, besides jump discontinuities when I drag the window where real time advances, but virtual time is paused during the drag.
Fixed time (TLDR: Appears WAI)
I adjusted my Fixed timestep to step to 0.5 seconds, and it advanced at a consistent rate (although jumping every 0.5 seconds) focused or unfocused, relative to Virtual time. It appears at least on my machine to be fairly consistent.
LogicStep time (The problem banana)
I do not see this type in Bevy's libraries, but this appears to be the type that is having the rate issue.
Was this a name of a previously removed type?

@Earthmark LogicStep is essentially a duplicate of Fixed. My mistake was running


Improve translation on verifying-or-approving-a-domain-for-your-organization.md

Why:
Closes #11344
What's being changed:
Improve translation on verifying-or-approving-a-domain-for-your-organization.md
Check off the following:

[ ] I have reviewed my changes in staging (look for the latest deployment event in your pull request's timeline, then click View deployment).
[ ] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

@charoleizer Thanks for opening this pull request! Unfortunately, we are not able to accept pull requests for translated content. Our translation process involves an integration with an external service at crowdin.com, where all translation activity happens. We hope to eventually open up the translation process to the open-source community, but we're not there yet.
See https://github.com/github/docs/blob/main/CONTRIBUTING.md#earth_asia-translations for more details.


Use libraries without npm

Hi guys,
Might be a stupid question as I'm not super experienced with JavaScript, but is it possible to use this and the gmusic-ui libraries without installing via npm, i.e. just downloading the JS files or possibly inserting them as scripts in my HTML? I notice the gmusic-ui README has this option but the link it mentions is broken so that doesn't really work. I'd appreciate any help I can get!
Thanks a lot,
Aazim.

As of V6 we only support installation through NPM, if you want the script file you can clone and build from source 👍

Fair enough - realized that was for Node, I can use the Websockets to call the methods so I'm good :) thank you!
On another note, the 'getVolume' function seems to return 'undefined' instead of the current volume - is this a known issue? My call is:
var command = {"namespace":"volume", "method":"getVolume"};
var curvol = ws.send(JSON.stringify(command));

Never mind, just seen you need to pass requestID - ignore me. Thanks for all the awesome work!

Okay no, still doesn't work. Here's my code:
var command = {"namespace":"volume", "method":"getVolume", "requestID":56};
var curvol = ws.send(JSON.stringify(command));
alert(curvol);

Still returns 'undefined'. Let me know if you have any tips on this.


Add bioformats2raw usage for HPC

https://github.com/glencoesoftware/bioformats2raw can convert various formats to zarr outputs.
Usage (including HPC set up) should be added to docs. This can be added to : docs/source/hpc.rst

This is a Java based package, with a dependency a system libblosc library for compression. There are two primary ways bioformats2raw can be installed:

Directly from the package in the GitHub releases: https://github.com/glencoesoftware/bioformats2raw/releases This will require a system java and libblosc. The Python package "blosc"  can also provide this library if "LD_LIBRARY_PATH" is configured to the location of the library in the python packages.
The full stack can be installed via Conda. This has the dependencies for java and libblosc. A Conda environment can be created without python, which may help keep stacks separate.

The management of the HPC setup outside of my area. Please let me know if you need more information about how to choose how the environment should be build in the HPC.


Fix for PHP7

Fixed indirect variable access for php7 compatibility

I changed the mock of stream_socket_client becausecalling with func_get_args doesn't pass the parameters by reference.

Thank you! :)


Document onChange

I see a prop was added for a callback when the media query match state changes (#92) but it's not documented.

@contra That seems like a long next week 😆

@FredyC I work on this project for free out of kindness for the community, contributions are welcome.

I am not complaining, I just found it funny. Nevermind. I do contribute to a bunch of other projects so I know that very well.


Non-updatable Attribute

Can you please add a Non-updatable attribute?
I have this in my code:-
[Column("created_at")] public DateTime CreatedAt { get; set; }
In Supabase database, its set as timestamp and set to now().
While doing an insert from c#, if I do not set CreatedAt or set its value to default, its set as the epoch value in database.
I have to set  CreatedAt value to DateTime.Now from user device (which I do not want). I want it to have server's now() time to be set automatically, which is not working if I use attribute Column.
If the attribute is set to PrimaryKey (because PrimaryKey has public bool ShouldInsert { get; }, its working but further updates are not happening.
Can make an Attribute which is not primarykey, but system(server) updated?

Could you try doing:
[Column("created_at")] public DateTime CreatedAt { internal get; set; }

The postgrest-csharp attributes themselves are just boxing the JSON.NET attributes... if that doesn't work I'll see about adding an additional attribute. Maybe [RemoteOnly] or [ReadOnly]?

Could you try doing:
[Column("created_at")] public DateTime CreatedAt { internal get; set; }

The postgrest-csharp attributes themselves are just boxing the JSON.NET attributes... if that doesn't work I'll see about adding an additional attribute. Maybe [RemoteOnly] or [ReadOnly]?

Its working, thanks


Report reminders not working with the standard reporter

Link to the repo to reproduce the issue
Consider the following setup:
scala: 3.4.0
scalatest: 3.2.18
final class Test extends AnyWordSpec with Matchers {

  "successful test 1" in {
    1 shouldBe 1
  }

  "successful test 2" in {
    1 shouldBe 1
  }

  "failing test 1" in {
    throw new RuntimeException("Failing test 1 is failing")
  }

  "failing test 2" in {
    throw new RuntimeException("Failing test 2 is failing ")
  }

  "successful test 3" in {
    1 shouldBe 1
  }
}

If the tests are run as the following:
testOnly  -- -oI

I expect it to print all the failing tests with the stack traces after all the tests are finished
But I see this instead:
[info] Run completed in 465 milliseconds.
[info] Total number of tests run: 5
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 3, failed 2, canceled 0, ignored 0, pending 0
[info] *** 2 TESTS FAILED ***
[error] Failed tests:
[error]         com.meineliebe.Test
[error] (Test / testOnly) sbt.TestsFailedException: Tests unsuccessful
[error] Total time: 1 s, completed 31 Oct 2024, 11:02:23

It just prints the class where the red tests are located which is not really convenient for debugging
As a workaround I've found It works with the error reporter:
testOnly  -- -eI

Run completed in 478 milliseconds.
Total number of tests run: 5
Suites: completed 1, aborted 0
Tests: succeeded 3, failed 2, canceled 0, ignored 0, pending 0
*** 2 TESTS FAILED ***
Test:

- failing test 1 *** FAILED ***
  java.lang.RuntimeException: Failing test 1 is failing
  at com.meineliebe.Test.f$proxy3$1(Test.scala:17)
  at com.meineliebe.Test.$init$$$anonfun$3(Test.scala:16)
  at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
  at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
  at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:31)
  at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
  at org.scalatest.Transformer.apply(Transformer.scala:22)
  at org.scalatest.Transformer.apply(Transformer.scala:21)
  at org.scalatest.wordspec.AnyWordSpecLike$$anon$3.apply(AnyWordSpecLike.scala:1118)
  at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
  ...
Test:

- failing test 2 *** FAILED ***
  java.lang.RuntimeException: Failing test 2 is failing
  at com.meineliebe.Test.f$proxy4$1(Test.scala:21)
  at com.meineliebe.Test.$init$$$anonfun$4(Test.scala:20)
  at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
  at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
  at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:31)
  at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
  at org.scalatest.Transformer.apply(Transformer.scala:22)
  at org.scalatest.Transformer.apply(Transformer.scala:21)
  at org.scalatest.wordspec.AnyWordSpecLike$$anon$3.apply(AnyWordSpecLike.scala:1118)
  at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
  ...
[info] Run completed in 478 milliseconds.
[info] Total number of tests run: 5
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 3, failed 2, canceled 0, ignored 0, pending 0
[info] *** 2 TESTS FAILED ***
[error] Failed tests:
[error]         com.meineliebe.Test
[error] (Test / testOnly) sbt.TestsFailedException: Tests unsuccessful
[error] Total time: 1 s, completed 31 Oct 2024, 11:04:59

Though, some information is duplicated but I can see failing test name and the stack trace so I don't have to scroll up for this
I bet it's a bug, the doc clearly states the modifiers: I T G can be used with the standard output -o
P.S. It looks like the I param is not working as intended even with the -e, the doc states it should cut the stack traces off, but it seems it shortens them

@Ivan091 Hmm, weird, I cloned your example repo to try reproduce the problem, but when I ran it using the way you described I got:
(base) cheeseng@cheeseng-RAVEN:~/git/artima/scalatest-reporter-reminder$ sbt
[info] welcome to sbt 1.9.9 (Oracle Corporation Java 23.0.1)
[info] loading settings for project scalatest-reporter-reminder-build from plugins.sbt ...
[info] loading project definition from /home/cheeseng/git/artima/scalatest-reporter-reminder/project
[info] loading settings for project scalatest-reporter-reminder from build.sbt ...
[info] set current project to scala-with-cats (in build file:/home/cheeseng/git/artima/scalatest-reporter-reminder/)
[info] sbt server started at local:///home/cheeseng/.sbt/1.0/server/c48ba5cee5eb1ee437ce/sock
[info] started sbt server
sbt:scala-with-cats> testOnly  -- -oI
>
>
[info] compiling 1 Scala source to /home/cheeseng/git/artima/scalatest-reporter-reminder/target/scala-3.4.0/test-classes ...
[info] Test:
[info] - successful test 1
[info] - successful test 2
[info] - failing test 1 *** FAILED ***
[info]   java.lang.RuntimeException: Failing test 1 is failing
[info]   at com.meineliebe.Test.f$proxy3$1(Test.scala:17)
[info]   at com.meineliebe.Test.$init$$$anonfun$3(Test.scala:16)
[info]   at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
[info]   at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
[info]   at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:31)
[info]   at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
[info]   at org.scalatest.Transformer.apply(Transformer.scala:22)
[info]   at org.scalatest.Transformer.apply(Transformer.scala:21)
[info]   at org.scalatest.wordspec.AnyWordSpecLike$$anon$3.apply(AnyWordSpecLike.scala:1118)
[info]   at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
[info]   ...
[info] - failing test 2 *** FAILED ***
[info]   java.lang.RuntimeException: Failing test 2 is failing
[info]   at com.meineliebe.Test.f$proxy4$1(Test.scala:21)
[info]   at com.meineliebe.Test.$init$$$anonfun$4(Test.scala:20)
[info]   at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
[info]   at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
[info]   at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:31)
[info]   at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
[info]   at org.scalatest.Transformer.apply(Transformer.scala:22)
[info]   at org.scalatest.Transformer.apply(Transformer.scala:21)
[info]   at org.scalatest.wordspec.AnyWordSpecLike$$anon$3.apply(AnyWordSpecLike.scala:1118)
[info]   at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
[info]   ...
[info] - successful test 3
[info] Run completed in 800 milliseconds.
[info] Total number of tests run: 5
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 3, failed 2, canceled 0, ignored 0, pending 0
[info] *** 2 TESTS FAILED ***
[error] Failed tests:
[error] 	com.meineliebe.Test
[error] (Test / testOnly) sbt.TestsFailedException: Tests unsuccessful
[error] Total time: 6 s, completed Nov 1, 2024, 9:48:04 PM

I am not sure what else is different that can cause the problem.

@cheeseng I've managed to reproduce it :)
You see the failed tests with stack traces among other successful tests
When you run it with testOnly  -- -fI (in the issue I mentioned the error reporter -e but with file reporter -f it works as well) you should get:
Run starting. Expected test count is: 0
Test:
- successful test 1
- successful test 2
- failing test 1 *** FAILED ***
  java.lang.RuntimeException: Failing test 1 is failing
  at com.meineliebe.Test.f$proxy3$1(Test.scala:17)
  at com.meineliebe.Test.$init$$$anonfun$3(Test.scala:16)
  at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
  at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
  at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:31)
  at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
  at org.scalatest.Transformer.apply(Transformer.scala:22)
  at org.scalatest.Transformer.apply(Transformer.scala:21)
  at org.scalatest.wordspec.AnyWordSpecLike$$anon$3.apply(AnyWordSpecLike.scala:1118)
  at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
  ...
- failing test 2 *** FAILED ***
  java.lang.RuntimeException: Failing test 2 is failing
  at com.meineliebe.Test.f$proxy4$1(Test.scala:21)
  at com.meineliebe.Test.$init$$$anonfun$4(Test.scala:20)
  at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
  at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
  at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:31)
  at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
  at org.scalatest.Transformer.apply(Transformer.scala:22)
  at org.scalatest.Transformer.apply(Transformer.scala:21)
  at org.scalatest.wordspec.AnyWordSpecLike$$anon$3.apply(AnyWordSpecLike.scala:1118)
  at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
  ...
- successful test 3
Run completed in 520 milliseconds.
Total number of tests run: 5
Suites: completed 1, aborted 0
Tests: succeeded 3, failed 2, canceled 0, ignored 0, pending 0
*** 2 TESTS FAILED ***
Test:

- failing test 1 *** FAILED ***
  java.lang.RuntimeException: Failing test 1 is failing
  at com.meineliebe.Test.f$proxy3$1(Test.scala:17)
  at com.meineliebe.Test.$init$$$anonfun$3(Test.scala:16)
  at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
  at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
  at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:31)
  at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
  at org.scalatest.Transformer.apply(Transformer.scala:22)
  at org.scalatest.Transformer.apply(Transformer.scala:21)
  at org.scalatest.wordspec.AnyWordSpecLike$$anon$3.apply(AnyWordSpecLike.scala:1118)
  at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
  ...
Test:

- failing test 2 *** FAILED ***
  java.lang.RuntimeException: Failing test 2 is failing
  at com.meineliebe.Test.f$proxy4$1(Test.scala:21)
  at com.meineliebe.Test.$init$$$anonfun$4(Test.scala:20)
  at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
  at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
  at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:31)
  at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
  at org.scalatest.Transformer.apply(Transformer.scala:22)
  at org.scalatest.Transformer.apply(Transformer.scala:21)
  at org.scalatest.wordspec.AnyWordSpecLike$$anon$3.apply(AnyWordSpecLike.scala:1118)
  at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
  ...

At the bottom, you can find the summary of all failed tests (after *** 2 TESTS FAILED ***)


The 'Quick Access' node is selected after renaming one attachment or QA item

Storage Explorer Version: 1.27.0-dev
Build Number: 20221114.4
Branch: main
Platform/OS: Windows 10/Linux Ubuntu 22.04/MacOS Ventura 13.0 (Apple M1 Pro)
Architecture: ia32/x64
How Found: Ad-hoc testing
Regression From: Not a regression
Steps to Reproduce

Right click one storage account -> Pin it to the 'Quick Access' node.
Right click the QA storage account -> Click 'Rename...'.
Type a valid name into the Display name field -> Click 'Rename'.
Check whether the renamed QA item is selected.

Expected Experience
The renamed QA item is selected.
Actual Experience
The 'Quick Access' node is selected.
Additional Context

This issue also reproduces when renaming one attachment.
This issue also reproduces for the four services & resource groups.

This is expected behavior. The tree has to recreate nodes; we do not modify an existing node.
@MRayermannMSFT Is it possible to preserve the selection between tree refreshes? With the resource UID, I'd think in theory it could be done.


Add $url parameter to Inertia render method.

Hey @cherifGsoul!
Thank you for this library!!
I jumped into a situation in which I need to change the url we are returning to inertia.js, because I was patching with an API URL that is different from the view url.
I added a test in order to check that this is working.
Hope you can consider this useful.
Thanks!

Thank you for the PR @aiglesiasn , I'll publish a release ASAP.

Thank you!!

@aiglesiasn it has been published.


Generation of Swift UI code

Summary
This would allow the Lona Compiler to convert a .component file into Swift UI code.
An outline of what is involved to accomplish this would be great to help identify areas where the community can contribute.

Thanks for getting this issue started @jasonzurita.
I'll be using the steps involved in converting .component to JavaScript as a reference. Here are the different pieces I see:

The compiler needs to support building a Swift AST. We don't need to support every AST type -- we just need the parts that we'll actually write. So far for JS I've needed about 20 types out of I think 50 or so.
https://github.com/airbnb/Lona/blob/064758890277580c324ac7807e2383cc922fae68/compiler/core/src/ast.re#L11-L29
Unless there's a canonical set of names in the apple/swift repo, we can potentially use an existing parser to figure out good names for the types: https://github.com/yanagiba/swift-ast/tree/master/Sources/AST
Note: We don't need to be able to parse Swift, we just need to be able to write it.
We need to generate a code file from the AST. So we need to be able to convert each AST type to a string. https://github.com/airbnb/Lona/blob/master/compiler/core/src/render.re
We need to convert the workspace colors.json and textStyles.json to Swift. This will be a good test of our Swift AST writer. I think we can do something really simple here to start. (Down the road it could make sense to look at https://github.com/dylanslewis/stylesync to better support more advanced use cases like updating/deprecating styles)
We need to convert the Lona .component into a Swift AST. This can be broken down further into:
4.1. Generate the UIView hierarchy from the rootLayer. @lauraskelton created a performant version of this that we're using internally (we're converting the .component at runtime, but generating code should probably build the same view hierarchy).
4.2. Convert the Lona logic AST to Swift https://github.com/airbnb/Lona/blob/master/compiler/core/src/logic.re#L87

I think 1 through 3 would be pretty straightforward for somebody else to pick up. Anybody could take 4.1, but we'd need to discuss the implementation beforehand, since we already have a pretty good approach outlined. I'll probably need to do 4.2, since there isn't any documentation for logic yet.
The compiler is written using Reason, a dialect of OCaml with friendlier syntax. There are tools for compiling Reason code to JS and/or native machine code.
(I originally wrote the compiler in JavaScript, in order to get off the ground quickly. The code was confusing and quickly got out of hand, so I'll be using the new Reason compiler going forward.)


[DO NOT MERGE] - issue w/ head.load

Description
the following gif shows that when replacing head.load w/ l it is possible to wait until the asset has been loaded before firing a callback function; this PR includes also the 2 html files used in order to record the video.
the first part shows the behavior w/ head.load simulating a Regular 2G network w/ Chrome dev tool; the second part shows the behavior w/ l simulating the same network speed.

the source code of the l library
Changes

add the l library (and update .eslintignore)

update build.js so that it is including l inside oc-client.min.js when grunt build

use l instead of head.load inside karma-common (grunt karma:local still works)

Caveat
the original l library exports a global ljs object; in the proposed PR this global object is called head instead so that oc-client.js is not affected as it does expect a global head object

this PR tries to fix #281
// cc @matteofigus

C'est formidable!
I think that this library does the job well, and despite not being super active, it makes all the tests pass, so I would say let's go for it.
I see that you did a good job on setting up a manual test too. The only think we may want to test (which I think is not covered by the karma tests) is css loading with oc.require. This library should support it according to the docs, but I just to ensure that we can keep all retro-compatible ;)

@matteofigus I updated this PR that now uses a global ljs name instead of head; I've also fixed the tests and tried to load a .css file (and re-recorded a short video w/ that). the only caveat w/ css is that the callback is raised synchronously before the load completion. But this happens for both head.load and ljs. It is how CSS loading works (I guess). If you are happy I can get rid of the examples and the head.load lib from this PR so that you can merge and build; unless you want me to include the build here.

Sounds good. Let's remember to update this file too https://github.com/opentable/oc/blob/master/src/components/oc-client/LICENSES

all 💚  over to you @matteofigus

Fantastic. I decided to go live with a new minor (0.38.0) because despite this should be a non breaking change, there was a non explicit contract on exposing head so it is better to toggle a minor for clarity. For most of the user, this should be an easy upgrade.

I wanted to wait a couple of weeks (just to make sure that there was no production issue) but now I'd like to take some time and thank @malko for his l.js library that helped us smoothly to transition from head.js. Very good job and thanks again; OSS rulez 😎
// cc @matteofigus @nickbalestra

@mattiaerre thank for your mention and use of ljs. Glad it can help you. As said earlier in the comment the repository is not really active but i want to assure you that this is not a dead project, I still accept PR and take a look to it on a regular basis. I just don't have more need for it at this time but as said PR are welcome as long as it don't forget the purpose of ljs, stay a micro library.
Hope you'll be happy with it.


How to generate dataset for a new environment

We are constantly trying to use our environment in Habitat simulators, but it is not easy.
However, I'm working on the same process after reading your newly published paper
(paper: Habitat Synthetic Scenes Dataset (HSSD-200)).
In other words, we also produced 2D drawings in 3D space using Floorplanner and extracted them as PNG files.
However, the problem now is that the data types extracted from Floorplanner are all PNG or JPG, and I wonder how you guys recreated the 3D space (.glb, .obj, etc). (When I asked the Floorplanner company, we received a reply that we could not extract the 3D data format (.glb, .obj, etc). )
Therefore, I wonder how you recreated the PNG file into a 3D space (.glb or .obj) and also how you did segmentation work for each object.
In other words, I wonder if your program is newly recreated or if it is a function provided by the Floorplanner program.

Our scenes were originally authored as 3d scenes using the floorplanner tools, we didn't go from 2d to 3d images. Unfortunately we can't help you with this.

Now, we're making our environment as simple as you.
However, the HSSD dataset paper does not explain exactly how the scene data was created.
How do we work on and extract 3D scenes(.glb) from floorplanner tools.
I wonder if you extract it as a .glb file.
Probably, the questioner above also seems to be wondering how to extract 3D scenes(.glb) from the floor planner tool, rather than asking for conversion from 2D to 3D images. (If we don't pay, Floorplanner tool can only extract 2D png or jpg file format.)
Can I extract 3D scenes with .glb format data if I pay to buy an account?


New Field: Floor Plan

For Wüest Dimensions, we miss a field in "Property Objects":
field name: floorPlan
description: The efficiency of the floor plan
not required
string
enum: [efficient, average, inefficient]

Yes part of WP. Aren't 99% "average"?


[TextParagraph/Button] Add support for line spacing.

Fixes https://github.com/godotengine/godot-proposals/discussions/10476
Related proposal https://github.com/godotengine/godot-proposals/issues/9778 (adds support to TextParagraph but not to all controls using it).

What's the unit of line spacing? Also, I think we should make it clear in the documentation whether "line spacing" here means:

The distance between adjacent baselines, or
The distance between the bottom of one line and the top of the next.

What's the unit of line spacing?

Pixel.

The distance between adjacent baselines, or
The distance between the bottom of one line and the top of the next.

It's additional spacing, not a total spacing, so in does not matter from what point it's measured.
It's used in the same way existing line_spacing in Label/Label3D/TextMesh and line_separation in RichTextLabel work, spacing is added to the line descent:
    pos.y += line_ascent;
    draw_line(pod, ...); // draw use baseline
    pos.y += line_descent + line_spacing;

Thanks!


List View has incorrect height

Hey, I'm using the markdown text view inside a tableview cell.
The list view and list view item views don't have any sort of constraints or pinning, so in a cell are squashed to the nib height rather then having an intrinsic size.
Let me know if you need any further information.

I’m not sure if this is an issue related to MarkyMark, is the same set-up with a multi line UILabel working correctly?
Regards,
Jim


Unknown database type enum requested

I get this error when trying to do a migrate refresh --seed. I have seen that the problem occurred when trying to rename an enum field but this is not my case.
I am using Laravel 5.2

source: https://laravel.com/docs/5.2/migrations#modifying-columns

It seems doctrine has tagged this issue WONTFIX. Perhaps we should consider replacing the part that is dependent on doctrine altogether? I would be willing to help contribute a pull request if pointed in the right direction.


Clang: C++ requires a type specifier for all declarations

On line 155 of entt.hpp, clang throws the error: C++ requires a type specifier for all declarations. This is to do with the template defined as:
template<class... Func>
overloaded(Func...) -> overloaded<Func...>;
I'm using clangd which is the clang lsp server that comes with llvm.

It's a delegation guide. This is perfectly C++17 code. Are you compiling with the right flags?

I have -std=c++17 set up, is there anything else I need to check for clang?

Actually no, this is enough. You can take a look at the testsuite. It runs on CI with clang too, that is why I'm pretty sure it runs smoothly.
What version of clang are you using?

It was my fault. My build scripts for clang had a typo where -std=c+17 (I think you can see the issue). Thank you!


Make 'dead' portals shatter on entry

Currently if a portal exists in a location that has no corresponding Nectere location, then it will simply fail to teleport anything that enters it. This could be rather confusing for people who don't understand how portal connectivity works who might just think that portals are flaky sometimes.
If a portal in a location with no Nectere counterpart location shatters when a player tries to enter it, it would at least indicate that something is wrong with the portal instead of just seeming like a bug.

On second thought, because Heart of the Machine's biomes are not yet finalized, it is possible that a portal that is made invalid in one update could be made valid again in another update. It might be best not to destroy portals that currently cannot be created in survival if there is a chance they could become valid again.
Instead it might be best to play a sound or something to let the player know that the portal is invalid but not to destroy it.


Gocd/fix affinity

What this PR does / why we need it:
Ability to set affinity on deployments for greater flexibility in selecting nodes to run on.
Special notes for your reviewer:
Also fixes invalid reference to already existing nodeSelector.
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

@arvindsv @ganeshspatil @varshavaradarajan

Thanks for this PR @balboah. This change also fixes an issue with the gocd-agent-deployment.yaml.
I tested this by adding the following affinity selectors to the agent section of values.yaml:
`
podAffinity:
  requiredDuringSchedulingIgnoredDuringExecution:
    - labelSelector:
      matchExpressions:
      - key: app
        operator: In
        values:
        - gocd
      topologyKey: kubernetes.io/hostname

`
The chart install works. I see this error while creating pods "Cannot schedule pods: PodAffinityRulesNotMatch.", but this is because I don't have the right labelSelector. I think this PR is ready for mere.
cc: @arvindsv can you take a look and merge please?

I agree. @balboah - can you please fix the conflict in the CHANGELOG.md? I'll approve it for merge once that is done. Thank you!

@arvindsv sorry forgot that you were not supposed to ammend commits while in review. But now the conflict is fixed!

@balboah Newest commit is not signed-off.

/lgtm

/ok-to-test

@balboah Thank you for making all those changes. :) And, thank you for the contribution.


Add auto-generated roadmap using GitHub milestones/issues/etc...

Created a GitHub Project and started assigning issues to the project and categorizing the Issues.


Engine release

When the V8Node uses the close method to release and shut down the engine, it takes effect on the timer, but it cannot take effect for while loops, and it will continue to execute and cannot forcibly kill the engine.

The JS app is supposed to clear all timers. If you don't clear timers, you'll hang Node.js too. It's not a Javet feature.

When the V8Node uses the close method to release and shut down the engine, it takes effect on the timer, but it cannot take effect for while loops, and it will continue to execute and cannot forcibly kill the engine.

@AsyncProxy  你要的是v8Runtime.terminateExecution();么？ 这个我看可以中断while循环啊

When the V8Node uses the close method to release and shut down the engine, it takes effect on the timer, but it cannot take effect for while loops, and it will continue to execute and cannot forcibly kill the engine.

@AsyncProxy 你要的是v8Runtime.terminateExecution();么？ 这个我看可以中断while循环啊

This can be stopped, thank you, but I need an API that can force stop the engine directly, and it seems that after I started the http service, it didn't work.

You may notify that http server to exit by sending an event from another thread. Modern http servers should have such API to exit elegantly. Please do your research.

You may notify that http server to exit by sending an event from another thread. Modern http servers should have such API to exit elegantly. Please do your research.

I've tried sending signals, but the script code is uncontrollable, I've tried using Process.kill and Android methods before to force the kill, but in doing so, the android accessibility service will also be killed in the same process as this script binding, I can't think of any other way

I plan to add a new API to send a signal to the Node.js event loop to break that endless wait. Please be patient.

I plan to add a new API to send a signal to the Node.js event loop to break that endless wait. Please be patient.

Okay, I'm looking forward to it!

Please show me the code.

Please show me the code.

public static NodeRuntime V8Node;
public static JavetProxyConverter javetProxyConverter;

V8Node = V8Host.getNodeInstance().createV8Runtime();
javetProxyConverter = new JavetProxyConverter();
javetProxyConverter.getConfig().setReflectionObjectFactory(new IJavetReflectionObjectFactory() {
        @Override
         public Object toObject(Class<?> type, V8Value v8Value) {
               return null;
        }
 });

 V8Node.setConverter(javetProxyConverter);
 JavetJVMInterceptor javetJVMInterceptor = new JavetJVMInterceptor(V8Node);
 javetJVMInterceptor.register(V8Node.getGlobalObject());
 V8Node.allowEval(true);

V8ValuePromise promise = V8Node.getExecutor(data).setResourceName(com.editor.async.files.file.getName(file)).setModule(true).execute();

 V8Node.await();

  javetJVMInterceptor.unregister(V8Node.getGlobalObject());

  System.gc();
  System.runFinalization();

  V8Node.lowMemoryNotification();

In 3.1.1 it still works

请给我看代码。

Now since Node.js can't force it to be terminated, I have to separate the AccessibilityService and Activity from the process, otherwise once they are bound together, Process.killProcess will all be killed, but it will be difficult to communicate separately.

没有 JS 代码，很难分辨。

let hello = 'hello world'

JS code has only one sentence at its most basic


Post to feed GUI

Add a GUI for posting to feed. This will need so way to specify the fellowship or circle to post to and perhaps be initialised by based on current user navigation or filters.

Posting to Fellowship works. GUI for selecting a Circle still needs to be done.

Also need the button to show on larger web pages where it is currently hidden.


Hashing speed issue.

Describe the bug
It takes quite a while to hash a video.
To Reproduce
from videohash import VideoHash
import time

start = time.time()

url = 'https://user-images.githubusercontent.com/47534140/185008752-da1f09c7-a177-4a46-9c64-230744e998c1.mp4'
v1 = VideoHash(url=url, frame_interval=12)

print(f"Finished in {time.time() - start} secs")

Expected behavior
It should realistically be doable in under a second
Please complete the following information:

Operating system: Windows 10
Python Version: 3.10.2
VideoHash version: 2.1.9

Additional context
Currently takes about 3/4 seconds

any updates on this? it's still so slow it's not even funny.
and i don't think that the problem is "unoptimized" code, but i think it's the logic behind it, on how it was conceived in first place...
i mean look at the definition of how it calculates the hashes:
"Every one second, a frame from the input video is extracted, the frames are shrunk to a 144x144 pixel square, a collage is constructed that contains all of the resized frames(square-shaped), the collage's wavelet hash's bit-list is the first bit-list that we use. The frames extracted are now stitched horizontally to each other, and finally divided into 64 equal sized images, the domiant color of these 64 images are detected and compared with a pre-defined pattern of dominant colors, if they match the bit is set else unset. So now we have two bitlist, finally we bitwise XOR these two bitlists. The XOR'ed output is used to generate the final 64 bit hash-value for the video. The bits are joined to form the 64 bit hash-value of the input value."
This process is bound to take a long time, and if this is the way that it calculates hashes then i don;t think there's too much we can do to speed it up....
but maybe someone that's smarter than me can answer this better?

I played around with logging when the function calls happen, and the vast majority of the time is taken up in detecting the cropping/black bars.

Edit: I was able to speed it up ~10x for short videos by passing the output for video_duration() to framesextractor() and stopping it from looking for cropping in timestamps past the end of the video.

I think you could do PR for it.. even if the author will never merge it.

I think you could do PR for it.. even if the author will never merge it.

Please do, if only to let other people do the same. I think the author does update it but only infrequently.

Edit: I was able to speed it up ~10x for short videos by passing the output for video_duration() to framesextractor() and stopping it from looking for cropping in timestamps past the end of the video.

I implemented this in my fork and it was about twice as fast on average, counting both long and short videos:
https://github.com/Demmenie/videohash2
https://pypi.org/project/videohash2/

@Demmenie  Wow, very good job!

Thank you, I'm currently working on some other features and hopefully I can find some other ways of speeding it up more


add Induction module

added Induction
also had to fix dodgy characters that were failing the build -- this bug is documented by decap see discussion

@SallyMcGrath , I am getting following error when updating the blocks to Induction:

Failed to persist entry: API_ERROR: Update is not a fast forward


mkpr

Applied mkpr on package.json
sed s/service": "^8.*"/service": "^8.5.11"/

Codecov Report

Merging #1335 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1335   +/-   ##
=======================================
  Coverage   78.94%   78.94%
=======================================
  Files           1        1
  Lines          38       38
  Branches        1        1
=======================================
  Hits           30       30
  Misses          8        8

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 1ff0be0...9c6e990. Read the comment docs.


Add missing run_export

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

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

@conda-forge-admin, please rerender

Issue was discovered in https://github.com/RoboStack/ros-noetic/issues/117 and will be fixed by this PR.

This looks fine.  I don't count myself as a conda expert.  However, on the issue of the dependency requirement for downstream packages, yes, obviously they will inherit the dependency on geographiclib.

Thanks for checking @cffk!
@wolfv @traversaro: could you please also have a look and approve/merge the PR?
Thanks, Tobi

Pinning looks fine (https://abi-laboratory.pro/index.php?view=timeline&l=geographiclib).
This is ready to go in my opinion


Need another constructor that gets io.reader or []byte instead of filenames (template)

Generator struct needs to be changed. Remove TemplateFilename field. Add Template as []byte. Also every docx.Open() call need to be replaced by docx.OpenBytes()


never registers instances with Tailscale

I set up a reusable, pre-approved Tailscale key, and dropped the relevant variables into the config. The instance spins up on AWS, but I never see the TS key used, and no machine is ever registered with Tailscale.

Using it on a daily basis and never faced this issue.


Removing react-navigation-types-only

@bySabi, is there any way we can remove react-navigation-types-only, and use something more permanent instead?
Ideally we would be using @types/react-navigation or something similar, but I understand that can be tricky because we really just want the types in core.
cc @horacioh, can you provide some guidance on cleaning this up?

@ericvicenti like I say here https://github.com/react-navigation/react-navigation-core/issues/2.
I'm working a TS rewrite of the core. When finish I will update react-navigation-hooks.
react-navigation-types-only is the a fork of this PR: https://github.com/react-navigation/react-navigation/pull/5276 and have the latest definitions. @types/react-navigation is a little outdate right now.

hey @bySabi!
I see that you are doing things here
maybe we can talk about your strategy and we can start working together on this?
thanks!

@horacioh there is nothing there, all the work is done locally.
I glad you want collaborate on this.
What I had been done is read each file line by line and adding typedefs, helped by ts compiler and linter of Visual Studio Code.
I have not created types from scratch but try to reuse existing from flow types and @types/react-navigation. Is being very hard pair this types with existing function signatures. In the process some js code has changed, some files are added and others moved.
With this scenario it is difficult to share task with a remote developer. That's  why I've been doing it alone.
My plan is create a very opinionated PR to react-navigation core and make the changes that maintainers request. At this point I will need your help for review the commits and contribute on all if left behind and the huge effort of migrate the others react-navigation projects.
Keep in touch.

perfect @bySabi !
let's keep in touch!

sure @slorber

types are now in react-navigation (even if core is not yet typed, afaik), so this PR will remove the react-navigation-types-only + align the TS setup with other react-navigation projects

I didn't find any react-navigation-types-only on NPM.

in 1.0.2-alpha.0 the types are retrieved directly from react-navigation. For now they are mostly hand written (afaik) but sooner or later react-navigation core will be in typescript


Apply hotfix 29.7.1

Motivation
Remove obsolete dependencies - each integrations references only the latest version of APIs
Issue: https://github.com/orgs/Kentico/projects/14?pane=issue&itemId=86198608
Checklist

[ ] Code follows coding conventions held in this repo
[ ] Automated tests have been added
[ ] Tests are passing
[ ] Docs have been updated (if applicable)
[ ] Temporary settings (e.g. variables used during development and testing) have been reverted to defaults

How to test
If manual testing is required, what are the steps?

Changes approved.


Add mv network, close #2

Putting this in as a PR in case I should add anything else on this MVP before merging. Thoughts welcome @dabreegster and @Sparrow0hawk and apologies for excessive comms and PRs for small changes on not important repos like this, erring on the side of overcommunication here!


Doc updates to various introductory sections

UG:
add a TOC to user-guide -> introduction
update each ug->intro chapter
re-order ug->intro chapters (put 'Terms' first)
move 'pod disruption budget' section from ug->intro->arch into the life-cycle doc area
Newbie FAQ:
link from newbie FAQ to ug->intro->get-help.md
Home:
link from Home to ug->intro->get-help.md
ug->life-cycle->startup.md:
add a TOC to the top
this is the new home for the 'pod disruption budget' section moved from the introduction
ug->domain->choosing-a-model:
update to add definitions for each model type

@rosemarymarano, this PR is pointed at your branch. Do you want me to merge it? Feel free to also do it yourself at your convenience.

@rjeberhard I can do this one. Thanks.


Android - Room - Unexpected quantity of letters when inputting room name in capital letters

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open Android app and login
Create a room
Got to room setting to change it's name
Select "Capital letter only" mode and input a new name

Expected Result:
Name should be correctly input
Actual Result:
Unexpected quantity of letters when inputting room name in capital letters
Workaround:
Unknown
Platform:

Where is this issue occurring?

Android

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/206597527-3f4a03fb-c5ef-4840-ae7c-eff64e45693b.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

The issue is on RN.
https://github.com/facebook/react-native/issues/27449
There is a posted workaround and a possible PR that may fix it but it's still a draft.
Given that room feature is still in beta, perhaps we should do nothing for now.

I think s77rt might be right, also this is an old bug on RN (2019), not sure why they have not tried to fix it yet

I wonder if someone with an android test what happens in Android Whatsapp?

Asked @Julesssss for some help to test here, and in Whatsapp this does not happen, therefor I think we should keep this open, and try to see if there is a fix for it.

Proposal
As it is known bug in React Native for android and there is no actual fix for it at the moment. We can use a workaround  to fix the problem by keyboardType={"visible-password"}  and by turning autoCorrect={none} in index.android.js.
           <TextInput
            ref={this.props.forwardedRef}
            disabled={this.props.disabled}
            label={this.props.translate('newRoomPage.roomName')}
            prefixCharacter={CONST.POLICY.ROOM_PREFIX}
            placeholder={this.props.translate('newRoomPage.social')}
            onChange={this.setModifiedRoomName}
            value={this.props.value.substring(1)} // Since the room name always starts with a prefix, we omit the first character to avoid displaying it twice.
            errorText={this.props.errorText}
            autoCapitalize="none"
            maxLength={CONST.REPORT.MAX_ROOM_NAME_LENGTH}
            autoCorrect={none}
            keyboardType={"visible-password"}
        />

After Fix
https://user-images.githubusercontent.com/81307212/207496591-319cda56-8b53-4e54-ae3e-04aa2d1bb265.mp4
@sketchydroide Is there any reason we are restricting user from using capital letters in Room Name ? As on WhatsApp for instance for Group Name they don't restrict user from entering capital letters that's why this doesn't happen there we are forcing room name to be lowercase.
Whatsapp for reference :-
https://user-images.githubusercontent.com/81307212/207497924-12105c71-13a1-43a1-a53e-68744dde601e.mp4

I think the idea was to do something like slack does, and to not allow capital letter in the room/channel name.

I think I understand the underlying issue here, because there is a feedback loop using the onChange to reset the text as lowercase. I think this creates an issue where it's trying to set the new text on top of the old one and creates copies.
No idea if we can fix this localy like it was mentioned here before.
But I think we should at least remove the autoCapitalize="none", as it's not doing anything we are doing the calitalization with code anyway.

@sketchydroide What about the use of style textTransform: 'uppercase'? Won't this also recreate the bug? (not tested)
I think we should find out why using keyboardType="visible-password" works

@sketchydroide I'm aware of that and I appreciate your concern

keyboardType="visible-password" seems to work for this case, so building a PR for this, I'm also removing autoCapitalize="none" as I feel it's confusing, as it does nothing, the onChange does.

G has been Merged, we can start the payment for the C+ @johncschuster 🙇🏼

no update, waiting on payment still I think

This fix is now in prod, the only thing missing is payments.
@johncschuster not sure if you are arounf to help with that :)

bump @johncschuster seems OOO will probably wait for next week

John still OOO today, maybe tomorrow

@johncschuster bump

change the title since it's awayting payment

@sketchydroide thanks for the bumps! I'm finally getting caught up from being OOO. I'll get the payment issued in just a moment.

@thesahindia can you apply for the Upwork job when you get the chance?
https://www.upwork.com/jobs/~012a221d0f9589cf03

Added the reviewing label so that this issue isn't our WAQ-focused list.

@thesahindia, I've accepted your proposal in Upwork. Can you accept the offer? Once you've done that, I'll get the payment issued.

@johncschuster accepted, thanks!

Paid! 🎉


Typings/declaration files for use with TypeScript

Asking the same question here...
Or is there any similar like redux-api-middleware for typescript?

I am also looking for one of these.
At the moment i created a trivial starting point for what I need to get going, and just have it called redux-api-middleware.d.ts in a typings folder i my project.
declare module 'redux-api-middleware' {
  const __temp: {
    CALL_API: any;
    apiMiddleware: any;
  };

  export = __temp;
  // export default _temp; // for other module type
}

My primary issue at moment is around trying to extend the definition of Dispatch to directly support actions created for redux-api-middleware as they don't contain a field 'type'.
I have looked at how redux-thunk does it.  https://github.com/gaearon/redux-thunk/blob/master/index.d.ts, but havnt figure that bit out yet. so casting my  action creators to any at moment.

I've created a set of definitions for one of my projects at https://github.com/mosen/commandment/blob/master/ui/src/typings/redux-api-middleware.d.ts
if you want to use this as a starting point. I created it for v1 so apologies if it's not fully updated.

@keksike can do. Would also be good to get the .d.ts upstream into the npm package :)

@mosen Did you just remove your redux-api-middleware typing declaration? :(

No don't think so. Oh haha I moved it to a different user. I'll post the link or better yet submit to definitelytyped

It will be great if you submit for version 2.0, please see my issue maybe you can help me with that @mosen
thank you very much!

@mosen I don't find redux-api-middleware on https://microsoft.github.io/TypeSearch/. Could you post the link please?

Sorry did not post it yet. I’ll have to see if the middleware changed

Well, while mosen is sorting out his stuff, I'll add my quick-and-dirty types so others don't have to create them from scratch: https://gist.github.com/kellenlask/a09c898fa835b3d49f0d99c78a53dfc5
I didn't type options, and it's possible these types aren't entirely correct -- my project is just starting, so I haven't testing any of this in depth.

Started a fork of DefinitelyTyped https://github.com/mosen/DefinitelyTyped/commit/eb26f9fa17e058ec6fcf051ca4e3cecb3b7325de

Does this def file work?

I'm still using it although I'm having a tough time with the RSAA action being a symbol because Redux upstream defines it as a string only. But yeah, "works for me". I didn't see any major changes for v3

https://github.com/DefinitelyTyped/DefinitelyTyped/pull/36666

@nason I think this can be closed.
https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/redux-api-middleware


Use of test APIs

While reviewing changes to vcpkg ports, I noticed that @talregev showed a dependency of msh3 on msquic_platform:
https://github.com/microsoft/vcpkg/issues/41200
https://github.com/microsoft/vcpkg/pull/42547#discussion_r1880067111
I would assume that this is unexpected, with CMake target msquic carrying the complete public interface of msquic, and with msquic_platform being a private implementation detail.
Following the symols:
msh3.cpp.obj : error LNK2001: unresolved external symbol CxPlatGetSelfSignedCert
msh3.cpp.obj : error LNK2001: unresolved external symbol CxPlatFreeSelfSignedCert

I find that

the call to CxPlatGetSelfSignedCert is behind a runtime condition on MSH3_CREDENTIAL_TYPE_SELF_SIGNED_CERTIFICATE:
https://github.com/nibanks/msh3/blob/ecdacc9929abe6f9b91c31d409a9dcb1a0fe56e1/lib/msh3.cpp#L401-L402
MSH3_CREDENTIAL_TYPE_SELF_SIGNED_CERTIFICATE is behind a build-time condition on MSH3_TEST_MODE:
https://github.com/nibanks/msh3/blob/ecdacc9929abe6f9b91c31d409a9dcb1a0fe56e1/msh3.h#L85-L87
the declaration of CxPlatGetSelfSignedCert is behind a build-time condition on QUIC_TEST_APIS:
https://github.com/microsoft/msquic/blob/21e5b41e4e9f88d809de4c78e461b57641bfca8e/src/inc/quic_platform.h#L560-L604

Are the build-time test API macros meant to be defined at all for production builds (read: for the vcpkg ports?)
If no, I would assume that msh3's calls to those functions must be moved behind build-time guards.
And then, msh3 would no longer need to explicitly link to msquic_platform.

To get this functionality, it must depend on msquic_platform.

With updated vcpkg ports for msquic and msh3, my test port build now arrives at:
/usr/bin/ld: /vcpkg/installed/x64-linux/debug/lib/libmsh3.so: undefined reference to `CxPlatLogAssert'
/usr/bin/ld: /vcpkg/installed/x64-linux/debug/lib/libmsh3.so: undefined reference to `CxPlatFreeSelfSignedCert'
/usr/bin/ld: /vcpkg/installed/x64-linux/debug/lib/libmsh3.so: undefined reference to `quic_bugcheck'
/usr/bin/ld: /vcpkg/installed/x64-linux/debug/lib/libmsh3.so: undefined reference to `CxPlatGetSelfSignedCert'

despite libmsh3.so pulling in /vcpkg/installed/x64-linux/lib/libmsquic.so.2.
I would prefer to not have msquic_platform.a as another transitive usage requirement of msh3

msquic_platform only exists as a static lib. AFAIU with a shared build of msquic, msh3 starts to depend on two libraries containing msquic_platform code: the msquic shared lib and the msquic_platform static lib. This simply seems wrong to me.

msquic_platform only exists as a static lib. AFAIU with a shared build of msquic, msh3 starts to depend on two libraries containing msquic_platform code: the msquic shared lib and the msquic_platform static lib. This simply seems wrong to me.

I rename the platform target to msquic_platform
Also I exported the msquic_platform for missing symbols for msh3.
As I see you deal differently in vcpkg with missing symbols of msh3.
Maybe we can revert my change in msquic and do it differently to support msh3?

The issue I see is at the binary level (similar to C++ ODR), not at the CMake level.

I rename the platform target to msquic_platform

CMake. This is unrelated to the problem.

Also I exported the msquic_platform for missing symbols for msh3.

CMake. This is unrelated to the problem.
BTW the msquic_ prefix is inferior to proper msquic:: namespacing.

BTW the msquic_ prefix is inferior to proper msquic:: namespacing.
I add msquic_ prefix because when I export the platform, it also create a lib and I didn't want to create a lib with generic name like platform.

I think we can rename it back to platform when the target msquic_platform / platform will be private again.

As I see you deal differently in vcpkg with missing symbols of msh3.

FTR this is that patch. Not adding source code, just pulling symbols into the msquic lib.
https://github.com/microsoft/vcpkg/blob/4b3b6201414638abfcd8ef4629dfbd958985667e/ports/msquic/exports-for-msh3.diff

As I see you deal differently in vcpkg with missing symbols of msh3.

FTR this is that patch. Not adding source code, just pulling symbols into the msquic lib. https://github.com/microsoft/vcpkg/blob/4b3b6201414638abfcd8ef4629dfbd958985667e/ports/msquic/exports-for-msh3.diff

I tried to apply it on upstream, but it create other problems that I couldn't solve 🙏🏻

The issue I see is at the binary level (similar to C++ ODR), not at the CMake level.

I hope @nibanks can help us with this problem.

I think we can rename it back to platform when the target msquic_platform / platform will be private again.

This code churn affects other people's PRs and undermines trust in the project's maturity.

I hope @nibanks can help us with this problem.

That's the point of this issue.

The CMake part of the story is this:
For using the exported/imported CMake target representing the msquic_platform static lib, CMake must forward the target's link libraries including private link targets of INTERFACE type (wrapped in $<LINK_ONLY:...>. That's the reason why msquic's CMake build must export more than just msquic and msquic_platform. For msh3, it enough to explicitly link just those two libs, but CMake still has to implicitly pull in everything else (inc, warnings, main_binary_link_args plus transitive link targets).

msquic_platform only exists as a static lib. AFAIU with a shared build of msquic, msh3 starts to depend on two libraries containing msquic_platform code: the msquic shared lib and the msquic_platform static lib. This simply seems wrong to me.

This is by design. The platform abstraction layer is never meant to be a shared library. It's generally meant to be a lot of mostly inline helpers. Eventually the platform layer will be moved completely to https://github.com/microsoft/cxplat, which will always be a static lib. But that's a longer term effort.


Error in BackOffice API YAML

Description:
Error in BackOffice API YAML[1].

[1] https://github.com/wso2/apk/blob/main/backoffice/backoffice-domain-service/ballerina/modules/backoffice/resources/backoffice-api.yaml

This issues was fixed in https://github.com/wso2/apk/pull/819


Line numbers being included with code listings starting with Sphinx 4.0.0

Problem
Starting with Sphinx 4.0.0 copying a block of code with :linenos: includes the line numbers along with the code when copied.
To Reproduce
Use Sphinx 4.0.0 or later. Create an RST that references an external file, something like:
.. literalinclude:: array_backed_grid.py
    :caption: array_backed_grid.py
    :linenos:

Expected behavior
The ability to copy code without line numbers. This worked fine with Sphinx 3.5.7 and before.Example:

Starting with 4.0.0 we get:

Sphinx copy button extension includes line numbers as well.
According to @mgeier the theme might need to be updated to support the new Sphinx 4.0.0 setup? See comments here:
https://github.com/sphinx-doc/sphinx/issues/9363
Environment info

OS: Windows 10
Python version: 3.9.5
Sphinx version: 4.0.0 to 4.0.2

This will be fixed by https://github.com/readthedocs/sphinx_rtd_theme/pull/1123

Fixed by 380647d1596cec8bda15dc374aba270f884e6de8


Refactor the bundle generation

This PR finalized the bundle generation for operatorhub submission.
Since knative operator is not created based on the operator-sdk framework, the manifests have to be tailored based on knative operator's need, in order to make it compliant with the OLM's requirements.

/test integration-tests_operator_main


Enable h3_postgis extension

did that as part of https://github.com/neondatabase/neon/commit/1f08ba5790dc19293434d1aca779125002ebe8bc


infinite scrolling

Any plans or thoughts on infinite scrolling? Our tables are too large to render the whole thing into the dom: the browser becomes sluggish due to all the dom elements.

There's no thoughts for this problem, maybe it's hard to implement and react-bootstrap-table  support the pagination, so I discard this problem at first. Anyway, I recommend you use the pagination and I'll spend some times to think the 'dynamic loading with the scrolling'.

@AllenFang do you have any updates on this?
We are encountering same issue.
@acthp how do you solve your dom problem?

@markortiz, sorry for there's no any idea for this issue, currently, I'm focus on development of v3.0.0

Any thoughts on adding virtual rendering for infinite scrolling now?

Any updates?

This react-bootstrap-table will not be delevoped actively anymore but instead @AllenFang will focus on developing the second version of this component with a complete rewrite. see React-Bootstrap-Table2 for more information


move all npm-related stuff to build scripts

With this change running build.cmd/./build.sh will do npm i and npm run compile before dotnet is invoked which means the project files could be simplified.
This also means the dev instructions can be simplified to just "Run the build script" (pending).
PR marked as draft while I run some internal builds to make sure everything still works, including the SkipTests=true flag.
N.b., The Linux portion of this PR was done entirely in a Codspaces VM and because of this some devcontainer stuff was updated to make the experience easier.

This mostly works.  For reasons unknown to me, setting SkipTests=true in the build still causes the NPM tests to run.  I have no idea why and I'm willing to explain my bafflement to anybody that wants to be sad.  The .NET tests, on the other hand, can be skipped appropriately.
At @colombod's request I also added a build-js.cmd script that will only build the NPM packages.

Got it all working as expected.