Stacked cards

Hi there!
I respectively copied your code into my .css and .html files but...the code doesn't show your results.
My results:

What's wrong?

Let's see the code

I checked the related snippet and I found that it missed the fact that the 'stacked-cards' class needs a specific width and height like 100px, and each card will have a different rotation style, then you can see a result as the related illustration shows, you can inspect that illustration as it is an HTML Element so you can check more details.


AMP Templates Download Tool

This is a draft to attempt running the AMP GH Download Script automatically. I fully understand this might be closed. :)

In my eye's this should be a part of AMP

This will be part of AMP. Err at least the functionality, not my shoddy script. Lop this is just am interim tool until the feature gets implemented. I was told it's coming soon(tm).


As a Test Engineer I want gherkin-pdf to suport html format in the Scenario Description

Not implemented: issue #42


Unable to link with cc

Hello,
I am trying to use YARA-X in my Rust project. I have added the crate with cargo add yara-x, and copied a code example into my code. However, when attempting to compile my program, it gives a cc linking error caused by yara-x.
error: linking with `cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH=[MY PATH ENV VAR WAS HERE] VSLANG="1033" "cc" "-m64" "/tmp/rustctauhe7/symbols.o" [OTHER PATHS WERE HERE] "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
  = note: rust-lld: error: undefined symbol: __start_linkm2_WASM_EXPORTS
          >>> referenced by yara_x.28641364a141fd87-cgu.05
          >>>               yara_x-fa0950d605590a65.yara_x.28641364a141fd87-cgu.05.rcgu.o:(yara_x::wasm::WASM_EXPORTS::h122f6b9c4641bcf2) in archive [PROJECT PATH]/target/debug/deps/libyara_x-fa0950d605590a65.rlib
          >>> did you mean: __start_linkme_WASM_EXPORTS
          >>> defined in: <internal>
          >>> the encapsulation symbol needs to be retained under --gc-sections properly; consider -z nostart-stop-gc (see https://lld.llvm.org/ELF/start-stop-gc)

          rust-lld: error: undefined symbol: __stop_linkm2_WASM_EXPORTS
          >>> referenced by yara_x.28641364a141fd87-cgu.05
          >>>               yara_x-fa0950d605590a65.yara_x.28641364a141fd87-cgu.05.rcgu.o:(yara_x::wasm::WASM_EXPORTS::h122f6b9c4641bcf2) in archive [PROJECT PATH]/target/debug/deps/libyara_x-fa0950d605590a65.rlib
          >>> did you mean: __stop_linkme_WASM_EXPORTS
          >>> defined in: <internal>
          collect2: error: ld returned 1 exit status

warning: `project` (bin "project") generated 1 warning
error: could not compile `project` (bin "project") due to 1 previous error; 1 warning emitted

[package]
name = "project"
version = "0.1.0"
edition = "2021"

[dependencies]
clap = { version = "4.5.13", features = ["derive"] }
yara-x = "0.6.0"

For privacy reasons I have removed project name, and paths from the above logs. I am running Debian 12 Bookworm, with rustc and cargo 1.81.0-nightly

Silly me, sorry for any inconvenience. It worked again after switching to the stable toolchain.


Unify Go struct field names with YAML/JSON field names

Changes

The GitSource type is renamed to Source and moved to source.go
The StrategyRef type is renamed to Strategy
The StrategyRef field is renamed to Strategy
The BuilderImage field is renamed to Builder
The ImageURL field is renamed to Image
SecretRef fields in various places are renamed to Credentials
Some small godoc comment improvements

This is not intended to be a breaking API change for YAML/JSON users (incl objects stored in etcd). This will require updates to clients using generated Go clients to interact with the API, but these changes should be minimal
#516
/kind cleanup
Submitter Checklist

[n/a] Includes tests if functionality changed/was added
[n/a] Includes docs if changes are user-facing
[y] Set a kind label on this PR
[y] Release notes block has been filled in, or marked NONE

See the contributor guide
for details on coding conventions, github and prow interactions, and the code review process.
Release Notes
Update Go type and field names; no user-visible changes expected.

Existing code to interact with the API is expected to work. When updating to new versions of the generated Go client, code will need to change to reference new field names.

@ImJasonH can we enhance the Release Notes to include something like:

Update Go type and field names; no user-visible changes expected. This is a breaking change that require updates to clients using generated Go clients to interact with the API

I think this will affect some internal tooling we have, build-load and shipwright cli, therefore the ask.

Updated the release notes to reflect that code will need to be updated, but existing client versions should still work in the meantime.

/approve


Changed log packet to use hclog, fixed type errors in tests, made tes…

…ts execute at least.
Fixed logging error so the thing compiles now.
Reduced log package size and functions to bare minimum for compilation and tests.
Needed to change some logger creation spots in the core sources.
To make the tests run some type and format fixes were needed.
Does build now.
Tests can be run.

Hope it helps.
Looks a little hackish, but w/o compile it's hard to make other changes.

Yeah, thanks a lot, I prefer to accept and move forward.. looking at it I think I will not close the nuke log package issue so we have it in mind the refactor to use hclog directly.

Cool, thanks.
I'll stay subscribed to this ticket.


CICD: use Composer v2 and drop hirak/prestissimo plugin

pls not merge until Travis CI is green

~10 PRs. Travis is green, finally!


ERROR: Extension not initialized yet, couldn't access compileSdkVersion.

I am getting this error.
I also added
ext {
minSdkVersion = 19
compileSdkVersion = 29
targetSdkVersion = 29
buildToolsVersion = "29.0.2"
}
in the top-level gradle fle.
and in the module leve
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
    minSdkVersion rootProject.ext.minSdkVersion
    targetSdkVersion rootProject.ext.targetSdkVersion
    versionCode 1
    versionName "1.0"
}

I am also getting the same issue, any help would be much appreciated.

@waqarv712 and @akshaymahajan28
You guys got any solutions for this problem ?

anyone??

Well, I just reverted back to the older gradle version and it solved the issue.

thanks @anonrootkit


fix(install): pin 'transformers'

For installs using 'requirements*.txt':
Either Huggingface's 'transformers' lib introduced a regression in v4.22, or we changed how we're using 'transformers' in such a way that we break when using v4.22.
Pin 'transformers==4.21.*'
Signed-off-by: Ben Alkov<EMAIL_ADDRESS>

Tested locally with current 'development' HEAD e2bd492


fix server Dockerfile to point to the correct MapService branch

This pull request fixes a build error caused by an update of MapService (https://github.com/CMU-cabot/MapService/pull/2)

If this change passes build test, it can be immediately merged to main.


Imagick reference is broken

Hey @pkieltyka, it looks like, with your latest commit, the github.com/gographics/imagick was updated to a reference that does not exist:
git diff a983e5c52dd277be3e78a150828fd4cf2805c6dd abd012e0f4c546fc0394e3ba1d1ccb24e32021d4
And now the make deps script fails:
# cd /home/vagrant/go/src/github.com/gographics/imagick; git checkout 5f86f7c1a891
error: pathspec '5f86f7c1a891' did not match any file(s) known to git.

Probably glock failed to sync dependencies for some reason?

Hmm.. yes, if you run update-deps.. make sure you dont update the gographic/imagick in Glockfile or vendor/  .. because I'm using a fork of the imagick package for now until a PR I am waiting for gets merged.


usePrepareSendTransaction is no longer returning gas price

Is there an existing issue for this?

[X] I have searched the existing issues

Package Version
1.0.2
Current Behavior
I have my wallet connected and the wagmi provider set up. I'm calling this code in a React component:
const { data, config, error } = usePrepareSendTransaction({
    to: wallet,
    value: 100n,
});

console.log({ data, config, error });

I'm getting this log

Expected Behavior
My expectation is, that gas is filled with the current gas price for the transaction. (Similar to gasLimit in the old wagmi version)
Steps To Reproduce

Setup Wagmi from one of the examples
Use the code above

Link to Minimal Reproducible Example (StackBlitz, CodeSandbox, GitHub repo etc.)
No response
Anything else?
No response

This is expected. wagmi no longer populates the gas (fka gasLimit) as this estimation is performed on the wallet anyway; performing it in wagmi as well will be a redundant (& costly) step.
That said, you can still pass in your own defined gas limit via the gas attribute on usePrepareSendTransaction.

Thanks @jxom
Ok, but how am I expected to display the estimated network fee in my UI? Some of my users use magic.link (whitelabel custodial wallet), where there's no additional UX step (like in Metamask).
So I would like to display the estimated network fee before users submit. Is there any other way of getting gas aka gasLimit for a transaction?

Also, this piece of documentation seems outdated then:
Eagerly fetches the parameters required for sending a contract write transaction, such as the gas estimate.

https://wagmi.sh/core/actions/prepareWriteContract

+1
I used to increase estimated gas to make sure some transactions success as casual people do not really know how to increase gas themselves.
A way to force higher gas would be great, multiplier parameter as discussed here would be great
https://github.com/wagmi-dev/wagmi/discussions/2196

Hmm yeah fair points. Could be nice to have the Prepare Hook estimate gas for some cases.  Will look at adding it back in tomorrow.

Awesome, great news! Thanks @jxom

Added in 1.0.4.

Awesome, thanks, @jxom. Also, the same would apply to usePrepareContractWrite. I'm also not getting a gas estimation from the hook

Think we might add a useEstimateContractGas for that one. We already have an eth_call in the Prepare Hook for usePrepareContractWrite which does the same validation minus the gas estimation (but contract write result instead), so I don’t want to overload the hook for with a mostly redundant call.
If you want to do this now, you can use the Wallet Client (via useWalletClient) with estimateContractGas.

Could also have a useEstimateGas Hook for parity with send txn too.

Ahh, thanks, now I know how to create the workaround!
As an idea, maybe adding a opt-in flag in usePrepareContractWrite like.
usePrepareContractWrite({
    ...
    estimateGas: true
})

It's still a bit weird to me that this hook returns all these values that are always undefined.

I use lots of Boilerplate Code to generate the fees to display for the user. It would be great to show this. Also, I noticed I need to populate the gasEstimate and gasPrice values when using Arbitrum and a Magic.link wallet for alle of my contract actions. It would be great to add options for them to be prepopulated.

An optional parameter to the prepare hook would massively simplify this 🙏

current documentation must mislead.
Eagerly fetches the parameters required for sending a contract write transaction such as the gas estimate.

Added in 1.0.4.

Hi!
Trying to understand where the code is at, at this current moment.
-> The documentation for the prepare hook still mentions the estimation of gas.
-> You mentioned "adding it back" a little bit above.
-> But I only see undefined values in the config returned by the prepare hook in my app.
I am asking because the Time To Open the Wallet on my app is so long that it is becoming a huge UX issue, which I am trying to solve.
I thought the problem was maybe the gas estimation but now I am not sure if the prepare hook is doing it or not.
Would appreciate any input :) Thank you!

Just realized the convo here was about usePrepareSendTransaction. I was looking for answers for the usePrepareContractWrite.
I see @jxom, you are mentioning not implementing the gas estimation on this one. FYI, the docs mentions: "Eagerly fetches the parameters required for sending a contract write transaction such as the gas estimate."
Will implement the estimateContractGas from viem. Hopefully this solve my very slow TTOW on mobile.
Would love to have the option to get the gas estimate directly from the prep hook though.


AzureKeyVaultSettingsSource ignoring SettingsSource Priority

I am trying to use the AzureKeyVaultSettingSource in my BaseSettings class configuration as specified in the docs.
I am running into an issue were, if I have an environment variable referenced in the class whose key is defined with an underscore FOO_BAR, a SettingsError as thrown by AzureKeyVaultSetttingSource rather than the key value being initialized by the env_settings which is configured to have a higher priority.
I know azure keyvault does not support underscores in secret names so this is most likely the source of the error, but I figured that source priority would initialize the environment variables first so the azure source would not try and grab that value.
Example:
python==3.10
pydantic-settings==2.5.2
pydantic==2.9.2
azure-identity==1.17.1
from pydantic_settings import (
    AzureKeyVaultSettingsSource,
    BaseSettings,
    PydanticBaseSettingsSource
)
from pydantic import Field, computed_field
from azure.identity import DefaultAzureCredential
from typing import Tuple, Type
import os

class Settings(BaseSettings):
    FOO: str # azure key vault value
    FOO_BAR: str # environment variable

    @classmethod
    def settings_customise_sources(
        cls,
        settings_cls: Type[BaseSettings],
        init_settings: PydanticBaseSettingsSource,
        env_settings: PydanticBaseSettingsSource,
        dotenv_settings: PydanticBaseSettingsSource,
        file_secret_settings: PydanticBaseSettingsSource,
    ) -> Tuple[PydanticBaseSettingsSource, ...]:
        az_key_vault_settings = AzureKeyVaultSettingsSource(
            settings_cls,
            os.environ.get("AZURE_KEY_VAULT_URL"),
            DefaultAzureCredential(),
        )
        return (
            init_settings,
            env_settings,
            dotenv_settings,
            file_secret_settings,
            az_key_vault_settings,
        )

settings = Settings()

print(setting.FOO, setting.FOO_BAR)

Error
Settings Error: pydantic_settings.sources.SettingsError: error getting value for field "FOO_BAR" from source "AzureKeyVaultSettingsSource"

Have I misconfigured/misunderstood something?
Does each setting iterate through each key independantly regardless of priority?
Thanks in advance! 😊

Thanks @DavidRR-F for reporting this issue.

Does each setting iterate through each key independantly regardless of priority?

Yes, this is the way pydantic-settings works.
I think the source of the problem is https://github.com/pydantic/pydantic-settings/blob/7e7ccdbc7b27d3f3d292d35a3b5033ef740fd6f7/pydantic_settings/sources.py#L2035-L2038
I created https://github.com/pydantic/pydantic-settings/pull/415 to fix the problem. Can you confirm the fix?

Great! I have tested, yes this resolves the issue

Thank you for your quick feedback! I merged the PR and it will be released in the next release.


Updating C++ wrapper for 0.8 - Happy to make a PR

Hi there,
I wanted to try out the Chordal decomposition added in 0.8 using the C++ wrapper. Turned out I needed to do a few modifications to the wrapper due to the API additions. At the same time I noticed that a few tests were missing, so I added them. The changes can be seen on my fork
If you want I can make a PR. That being said, I am not very experienced in C++ and Rust, so my code is probably substandard.
Cheers,
Mikkel

I upgraded the wrappers already in the develop branch, and I don't now remember why I didn't merge it.   I will take a look.

I do not know why I did not think of checking other branches. Well, I can migrate the missing tests to the develop branch.

I have merged an update to v0.8.1 to main in #39.   I haven't tagged it as v0.8.1 here yet.    Tests are good, so happy to have include more tests if you have them.

Thanks for the update. I will make a PR adding the tests.

Thanks.   I have merged both the develop branch and your tests from #40, which I think resolves this issue.


Regression: plugin defined protocols not working in 0.8.1

ca8308fde4 broke the ability to load a protocol in a plugin. Below is the resulting error:
agent_1  | 2023-05-04 20:57:40,368 aries_cloudagent.transport.pack_format DEBUG Expanded message: {'@type': 'https://didcomm.org/data-transfer/0.1/provide-data', '@id': 'a4ce6262-233d-43bb-9c60-ae6b98986218', 'goal_code': 'test_goal', 'data~attach': [{'description': 'test data attachment', 'data': {'json': {'test': 'data'}}}]}
agent_1  | 2023-05-04 20:57:40,368 aiohttp.access INFO <IP_ADDRESS> [04/May/2023:20:57:40 +0000] "POST / HTTP/1.1" 200 149 "-" "Python/3.7 aiohttp/3.8.1"
agent_1  | 2023-05-04 20:57:40,372 aries_cloudagent.core.conductor ERROR Exception in message handler:
agent_1  | Traceback (most recent call last):
agent_1  |   File "/usr/local/lib/python3.9/asyncio/tasks.py", line 256, in __step
agent_1  |     result = coro.send(None)
agent_1  |   File "/usr/src/app/.venv/lib/python3.9/site-packages/aries_cloudagent/core/dispatcher.py", line 155, in handle_message
agent_1  |     (message, warning) = await self.make_message(
agent_1  |   File "/usr/src/app/.venv/lib/python3.9/site-packages/aries_cloudagent/core/dispatcher.py", line 318, in make_message
agent_1  |     _, warning = await validate_get_response_version(
agent_1  |   File "/usr/src/app/.venv/lib/python3.9/site-packages/aries_cloudagent/core/util.py", line 49, in validate_get_response_version
agent_1  |     version_definition = await get_version_def_from_msg_class(
agent_1  |   File "/usr/src/app/.venv/lib/python3.9/site-packages/aries_cloudagent/core/util.py", line 151, in get_version_def_from_msg_class
agent_1  |     definition_path = _get_path_from_msg_class(msg_class)
agent_1  |   File "/usr/src/app/.venv/lib/python3.9/site-packages/aries_cloudagent/core/util.py", line 117, in _get_path_from_msg_class
agent_1  |     path = split_str + path.rsplit(split_str, 1)[1]
agent_1  | IndexError: list index out of range

The lines added in aries_cloudagent.core.util make it impossible to load a protocol because the path to the protocol is not guaranteed to include aries_cloudagent as part of it, resulting in the IndexError seen above.
This is quite unfortunate and effectively renders several plugins in the wild incompatible with 0.8.1.
A somewhat minimal reproducible example can be found here: https://github.com/Indicio-tech/aries-acapy-plugin-data-transfer/pull/5
Failing integration test here: https://github.com/Indicio-tech/aries-acapy-plugin-data-transfer/actions/runs/4887340386/jobs/8723798002?pr=5 (see "Print logs on failure" step in job to see logs pasted above)
cc @shaangill025 @swcurran

Heads up, @anwalker293 @mepeltier @reflectivedevelopment , impacts several of our plugins.

Arrggh….
What is the right answer here?
Do we need an 0.8.2 that addresses this issue to continue to work with existing plugins, or is it appropriate/better than we have this as a breaking change that needs to be addressed?
Sorry this was not caught as a breaking change.

Every release, I think to myself that we should really have an automated system for running our plugins against the release candidates but just haven't gotten around to it yet :sweat_smile: We did do some testing during the rc phase but I made an absent-minded mistake and tests that I thought were running against 0.8.1-rcX actually were still running against 0.7.X.
If we didn't do a patch release, what would publishing the change look like? A 0.8.2 release is what my mind naturally goes to but I'm not sure what the alternatives would look like

Happy to do a 0.8.2.  We just need to know what the change needs to be. What is the right thing to do for ACA-Py and ACA-Py users?

FYI — we’re looking at adding redis into AATH, which might help us with some ongoing plugin testing...

Added a comment and "fix" to the example PR that worked for me (running the example docker compose locally).
Bigger issue, and been mentioned previously is how to load plugins. That will definitely affect the search path that ACA-Py is using to locate the plugin code.
In the provided example (and thanks for having something easy for me to replicate), ACA-Py is loaded as a Python library, and the plugin code is the "root", so "acapy" doesn't know where the plugin code is... in this case we set ACAPY_HOME environment variable.
Other plugins will build their images differently, and how/where their plugin code relates to where the ACA-Py code is... the recent mediator service + redis plugin is done a different way than this, and differently than traction...
Do we want to close this (if the example PR builds and tests and merges), or leave this open and investigate some more? I know that Traction has not bumped up to 0.8.1 and they could have issues.

Heads up @frostyfrog

@usingtechnology re: the fix by adding ACAPY_HOME env var: wouldn't this cause builtin protocols to then fail in a similar way to how plugged in protocols were failing? The plugin package root like acapy_plugin_data_transfer wouldn't be present in the path of builtin in protocols the same way aries_cloudagent wasn't present in the path of the path of plugged in protocols.

I honestly do not know. One problem is that there is no "standard" on bundling plugins with ACA-Py; I can point at 3 different ways it is happening. In this case, the plugin is the "parent" project, ACA-Py is  one of its requirements. Is that the same for all plugin developers and consumers? For another project, where redis queue plugin is used with the mediator, the plugin is installed to the aries-cloudagent-python:py3.9-0.8.1 and that works without setting ACAPY_HOME (although that also uses a weird path in the --plugin. So many ways to skin a cat. This "fix" only works for this and similarly built images.
This discussion and your issue would leave me to believe that we need to set a standard ASAP - or at least known methods that will work and are supported.  And how to publish/bundle plugins for use by 3rd parties

How does the work here, https://github.com/hyperledger/aries-cloudagent-python/pull/2138, play into this?

I think that’s what we need to carry on with, take @ianco work and start hardening it and putting it into practice.
@dbluhm how are you putting images together for PROD? Are you installing them on top of ACA-Py, so they are found in the package path? Or like you are doing here?
Maybe for allowing devs to test their plugin, we should have an explicit search path like EXT_PLUGIN_HOME. But production images plugins are libs installed on approved images?

Apologies for taking until today to get this committed and pushed up. I was working on a potential solution yesterday (which can be seen in the commit that got added to the thread) and as far as I can tell, falling back to the module name when the file path doesn't work seems to resolve the issue that @dbluhm was describing. However, I'm not entirely convinced if it's the right fix or just a workaround. At this point in time, I have only tested it with the mentioned data-transfer plugin and the integration tests are working now.

This seems to be an urgent issue to resolve — correct?  @usingtechnology — this might adjust your priorities (although it fits with the “dev experience and docs” item, I guess).  @dbluhm — I think Jason (@usingtechnology ) and the Indicio team have the most experience with plugins, have read @ianco’s work on this, and should drive the direction.
Perhaps a meeting early next week to (try to) make decisions?  And of course, we’d love @ianco to weigh in, if he is interested.  He’s already provided a lot of ideas on this.

Yes, I don’t think we can put this off. I agree that we should meet early next week. Let’s do something more robust and less hacky. Definitely a few different angles to consider, but I think we can come up with something. At quick thought  is: we build out plug-in config to specify the path to the plug-in. Nice to have simple defaults but obviously cannot cover all cases. So it’s either get more restrictive on a standard or allow independence.

To load a plugin, we provide the python module path to the --plugin argument. To load the plugin, the plugin must be available on the python path, which can be pretty easily modified. I think this system is already pretty robust when it comes to managing where your plugins are located on your system/image. The problem is that the utility method _get_path_from_msg_class is working from a message class within the plugin and trying to work backwards from there so the caller can ultimately locate the definition.py for the protocol.
I think our problem isn't necessarily in locating and loading of plugins but rather more in how we're attempting to handle multiple versions of protocols by working backwards from that message class. I do agree that we need to further refine the plugin interface and maybe this would help with this problem but I think we can address the problem well in advance of refactoring the plugin system.

Sorry, sitting at a ferry terminal so not at my machine to review code. Is this method new? Like the plug-in is loaded ok, but there is a new runtime resolution method? Are message classes always in the same place relative to the plug-in root, or is that up to the developer?

Yes, the method is relatively new, having been included in a tag for the first time in 0.8.0-rc0. Relevant commit is https://github.com/hyperledger/aries-cloudagent-python/commit/ca8308fde42964ec379af1bbecfde9220d82ebe8, which was added as part of this pr: https://github.com/hyperledger/aries-cloudagent-python/pull/1940.
Yep, the plugin loads fine but on handling a message in the plugged in protocol, the code added in #1940 triggers the errors in the original description.
As of right now, the message classes are not guaranteed to be in the same place relative to the plugin root. Neither is it required for the plugin to even have a definitiion.py, depending on how it's loaded. This would be helped by Ian's recommendations for refining the plugin system.

If we can do a quick fix for that for now, that would be great. If it is that recent, I assume we can come up with something better and get a 0.8.2 out ASAP.

@dbluhm - see PR #2255. This will help with your setup but is still not going to solve it for everyone (Traction). I would like to know your process for testing this out with your plugin. I must be missing something simple because I could not figure out an easy way to get a local version of ACA-Py code into your image for your plugin. I did it, but not ideal...
Didn't have to change anything in your code, didn't have to add ACAPY_HOME, just use ACA-Py as fixed in #2255 and your test passed.

@usingtechnology what we typically do to test unreleased versions of ACA-Py: https://github.com/Indicio-tech/aries-acapy-plugin-data-transfer/pull/5/commits/7c869efe1d5c281acb65d5bcee2d773132ad711e
The dockerfile used in the integration tests installs its dependencies from the poetry.lock.

thanks for that. was definitely doing something more difficult.


Push release tags to github

Hi,
It would be awesome to see the releases along with the changelog in the github release section :)
thanks a lot and for all the work,
Muki

I thought about starting pushing tags when out of beta.


cmd/objdump: amd64 popcnt disassembled as rep popcnt

	return uint(bits.OnesCount16(val))
  0x4286bda		0fb635f27c3800		MOVZX 0x387cf2(IP), SI
  0x4286be1		4084f6			TESTL SI, SI
  0x4286be4		0f84f8000000		JE 0x4286ce2
  0x4286bea		0fb7f1			MOVZX CX, SI
  0x4286bed		f30fb8f6		REP POPCNT SI, SI

I think this is intentional. Those opcodes really are encoded with a REP prefix.
A lot of the SSE instructions are in the same boat (e.g. SQRTSS).
We even have tests that make sure the "REP" is there.
@rsc, any reason why we do this?

If the REP is implied by the opcode, then it shouldn't be printed. Tests requiring it are likely just buggy tests.

Dup of #17410.  It's been fixed in the x repo, it just needs to be pulled into master.  I'm going to leave this issue open until that happens.


README Contribution link is Deprecated

The README link for the contribution guide links to the deprecated Exercism README.
https://github.com/exercism/DEPRECATED.x-api/blob/master/CONTRIBUTING.md#the-exercise-data
Ideally there should be a contribution guide/FAQ for PHP giving new contributors an idea of the requirements for working on the PHP track.

Updated with official docs link


Cannot access nginx on machine

I have made a custom Intel based ubuntu 22.04 machine on my Mac M1.
when i install nginx, php and MYSql everything works from my browser http://localhost but after a restart of the machine, i cannot access http://localhost
ORBStack Version 0.11.3 (1648)
MacOS Apple M1 - Ventura 13.1

Duplicate of #326. Already fixed for the next version.
Workaround: orb shutdown && orb


launch.json generation

[x] any os @egamma

Complexity: 2
We have changed the way how we get the content for the initial 'launch.json'. More details #9061.
Have a workspace with no 'launch.json' file and verify:

A proper 'launch.json' gets generated for the following debug types: node, extension host, go...
For node debugging the content of the 'package.json' is read and the generated 'program' attribute in 'launch.json' points to the one referenced there (example: use vscode-smoketest-express workspace)

Related #8937

this is not working for me..please help


Typo: EFFICIENY -> EFFICIENCY

https://github.com/spencers145/SharkGame/blob/6640e994076b5f2a507ef2f4e552f59be37e782b/js/tabs/recycler.js#L350
Should be
"%
EFFICIENCY

EQUIVALENT TO:
" +

Ah, good catch. The change will take effect next commit.

Ah, good catch. The change will take effect next commit.


skill calculator: per-action bonus applicability

Replaces SkillBonus#isIgnoreBonus with SkillBonus#isBonusApplicable(SkillBonus) in order to support bonuses that affect certain skill actions and not others.
At the moment this only applies to PrayerAction, and I included the Arceuus offering spells as well as the Sacred Bone Burner from #15232.
Closes #15231
Closes #15232

I haven't yet reviewed this, but I wanted to mention that another feature I'd want to eventually see added is the ability to toggle multiple skill bonuses in a sort of checkbox + radio button style UI. (For instance, you can use both zealot robes and chaos altar, with the effects stacking. As of now, prayer is the only skill where this would apply.) I'll likely review this PR with that in mind--that we'll want to be able to apply multiple bonuses in the long term.

That should be reasonably compatible with this PR by keeping a set of active bonuses instead of only a current bonus, then combining the applicable factors per-action.

LGTM, pending RC core fix

Done


When converting bits its to the power of 1000 not 1024

Changelog
Fixed

closes #69

@alexjustesen You should probably change 1024 to 1000 in the formatBytes section as well, as it's another than is supposed to be decimal definition.

formatBytes function isn't used anymore so it'll get trimmed at some point.

Ah got it, understood!


operator: fix concurrent access of variable in cnp garbage collection that could lead to panic in cilium-operator

As the cnp variable will be used in a different go routine we need to
deepcopy it.
Fixes: 0cd1be0e64dc ("operator: GC nodes from existing CNPs")
Signed-off-by: André Martins<EMAIL_ADDRESS>fixes https://github.com/cilium/cilium/issues/7974

This change is

test-me-please

Coverage increased (+0.09%) to 41.735% when pulling 8b4981ded238614127cd47733f7e1c7378db6c7b on pr/fix-operator-panic into e0baae7a8458c2d06261211f1d88702ae26d1120 on master.


Motorized slider?

Hi, This is an awesome project! Recently I finished the hardware (pcb+casing) of a motorized slider. Is there any wish for Deej to also support motorized sliders instead of only manual ones? This could allow a slider to preview the volume of an app if it's changed from another source than the slider itself.
Here is a video: https://www.reddit.com/r/MechanicalKeyboards/comments/kz9j17/i_have_been_working_on_a_new_product_for_a_while/

Hi there @Pawnerd, thanks for writing.
Please check out my response to #14 - I still have no current plans to support motorization in deej's main fork, because it's a relatively niche use-case and I prefer to keep things simple at this time.

Hi there @Pawnerd, thanks for writing.
Please check out my response to #14 - I still have no current plans to support motorization in deej's main fork, because it's a relatively niche use-case and I prefer to keep things simple at this time.


Farthest point sampling torch implementation

Farthest point sampling torch implementation
``        @mahaotian-io Hi, they are the same, but the self-defined function defined farthest_point_sample is in python and .furthest_point_sample is in cuda. We use the cuda version for fast training and inference.
Originally posted by @ma-xu in https://github.com/ma-xu/pointMLP-pytorch/issues/47#issuecomment-1186800256
Hi, I just checked the function farthest_point_sample and I think it works a little bit different than one might expect. I wonder if farthest_point_sample works as intended. The difference in my quick numpy implementation of fps (furthest_point_sampling) is that I keep track of which points have already been sampled when calculating distances.
I just tested the code of this repo with the below lines and the sampled points of this repo seem to cover the point set not that good.
import torch
xyz = torch.randint(0, 30000, (10, 1000, 3)).contiguous()

num_samples = 50

fps = farthest_point_sample(xyz, num_samples)
fps = index_points(xyz, fps).numpy()

red, green, blue = [1., 0., 0.], [0., 1., 0.], [0., 0., 1.]

# only plot first sample of batch
plt.scatter(xyz[0, :, 0], xyz[0, :, 1], c=blue)
plt.scatter(fps[0, :, 0], fps[0, :, 1], c=red, label='fps, pointMLP')

nfps = furthest_point_sampling(xyz[0, :, :2].numpy(), num_samples)
plt.scatter(nfps[:, 0], nfps[:, 1], c=green, label='fps')
plt.legend()

I will add a plot later, github seems to have trouble accepting my file upload currently.

@plpplp Hi, thanks for the detailed  information.
The python function farthest_point_sample is from https://github.com/yanx27/Pointnet_Pointnet2_pytorch/blob/eb64fe0b4c24055559cea26299cb485dcb43d8dd/models/pointnet2_utils.py#L63
The cuda function furthest_point_sample is from https://github.com/erikwijmans/Pointnet2_PyTorch
We use the cuda function furthest_point_sample  for our implementation (the python function farthest_point_sample is used for debug and development in local Mac).
Feel free to add a plot later (you can copy a link to the figure and codes) and that would be much helpful to check if any issues.

Hey, thankts for the quick response. Here is the code for my version of fps:

and this is the figure.

In red below are the sampled points using the implementation of this repository. In green the quick implementation from above of fps that covers the randomly generated point set somewhat better. It probably is fine though if the function is meant for debugging purposes only. I thought I could use it for a rather small dataset so that I do not have to compile those kernels for my initial tests.

Algo seems to work fine, my bad, I made the mistake to calculate the 3d distance of the points and projected them onto the 2d plane in my plot to compare the two implementations. Thanks :).

Thanks, very interesting and also very helpful to see the selected points.


Whitespace after opening brace in composable breaks function-literal rule

Expected Behavior
Whitespace should be removed
Observed Behavior
Ran:
./gradlew spotlessApply --log-level=debug
Output:
Pinging Gradle Cache
Error pinging gradle cache: Connect timed out
Remote Gradle Cache Enabled: false

> Configure project :app
WARNING:The option setting 'android.enableBuildConfigAsBytecode=true' is experimental.
The current default is 'false'.
WARNING:The option setting 'android.jetifier.ignorelist=android-base-common,common' is experimental.
WARNING:BuildType(codeCoverage): buildConfigField 'AUTOMATION_BUILD' value is being replaced.
WARNING:BuildType(automation): buildConfigField 'AUTOMATION_BUILD' value is being replaced.
WARNING:Using flatDir should be avoided because it doesn't support any meta-data formats.
WARNING:Ambiguous default build type: 'codeCoverage', 'debug'.
Please only set `isDefault = true` for one build type.

0 problems were found storing the configuration cache.

See the complete report at file:///Users/kyletaylor/AndroidStudioProjects/android-fetch-rewards/build/reports/configuration-cache/7jh36ryjnsmmp6jwlwr2nnmt6/20eh7k18qvleugjdbe7n8463m/configuration-cache-report.html

FAILURE: Build failed with an exception.

* What went wrong:
Problem configuring task :spotlessApply from command line.
> Unknown command-line option '--log-level'.

* Try:
> Run gradlew help --task :spotlessApply to get task usage details.
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.6.2/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 3s
5 actionable tasks: 5 up-to-date
Configuration cache entry stored.

Steps to Reproduce
`package com.fetchrewards.fetchrewards
import androidx.compose.material.Button
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
@Composable
fun ShouldNotBreak() {
Button(onClick = {}) {
Text(text = "The space in front of the brace is causing a ktlint rule to throw an exception")
}
}`
Your Environment

Version of ktlint used: 1.0.1, also experienced in 1.1.1
Relevant parts of the .editorconfig settings
Name and version (or code for custom task) of integration used (Gradle plugin, Maven plugin, command line, custom Gradle task): plugin: 'com.diffplug.spotless' version 6.23.3
Version of Gradle used (if applicable): 7.2.2
Operating System and version: macOS Sonoma Version 14.2.1

I can not reproduce this problem with Ktlint CLI version. The problem might be caused by Spotless, or by any configuration that you have not mentioned above. Please add stacktrace of exception, and your .editorconfig settings. Please also fix the indentation of your code sample if that is relevant for reproducing the problem.

@ktaylor-fetch Can you provide me with a reproducer?

Closed as no reproducer has been added. Issue will be reopened once reproducer has been added.


Release notes for 1.15

All feedback has been addressed. Merging as-is. If there's anything else, I'll included as a follow up in the versioned docs PR and oficial release tomorrow


Define a set of activities for players

Discuss and agree an initial set of activities for players to achieve, representing one of the four categories of resources that are impacted when running computational jobs:

materials
people
energy
water

Use Cartography of generative AI as intellectual inspiration.


warning: the option Z is is unstable and should only be used on the nightly compiler

Rust stable 1.8.0 shows the following warning:
Running "cargo rustc -- -Zno-trans":
   Compiling maps_test v0.1.0 (file:///D:/github/maps_test)
warning: the option `Z` is is unstable and should only be used on the nightly compiler, but it is currently accepted for backwards compatibility; this will soon change, see issue #31847 for more details

I can confirm that it happens for me too in 1.8.0 (not sure about older versions). Can we disable this specific warning without resorting to the nightly compiler?

+1

now it's becoming an error in rust-1.14.0

Same thing here, switched to checkWith=build. Hope it fixed.


High score feature not working in [50] - Guess the number game

What happened?
Description
The Highscore feature of the game guess the number is not working. the highscore remains 0, even on getting score more than 0 several times.
https://github.com/swapnilsparsh/30DaysOfJavaScript/assets/141745373/bd1948cc-d08c-42c4-a6cb-ec9214758090
How can we reproduce this bug?
Tried playing the game several times, but my highscore didn't update and stayed 0.
I would like to work on this issue. please assign it to me under GSSOC'24.
Desktop Information (Optional)
No response
Urgency (Optional)
High priority

Please assign the issue to me

@Dhruv-Gaba All the best 👍🏻

@swapnilsparsh Please assign the issue to me, so that i can start working on the issue.

Hello ! @swapnilsparsh  , I would like to work on this issue , kindly assign this issue


latex output fails with superscripts

According to the subscript/superscript conventions, latex("a__p1_p2(1)") should produce a^{p1}_{p2,t+1} but it fails with
ERROR: BoundsError: attempt to access 0-element UnitRange{Int64} at index [0]
 in throw_boundserror(::UnitRange{Int64}, ::Int64) at ./abstractarray.jl:363
 in getindex at ./range.jl:478 [inlined]
 in _latex!(::Base.AbstractIOBuffer{Array{UInt8,1}}, ::Symbol, ::Void) at /home/pablo/.julia/v0.5/Dolang/src/printing.jl:61
 in _latex!(::Base.AbstractIOBuffer{Array{UInt8,1}}, ::Symbol) at /home/pablo/.julia/v0.5/Dolang/src/printing.jl:17
 in _latex!(::Base.AbstractIOBuffer{Array{UInt8,1}}, ::Expr) at /home/pablo/.julia/v0.5/Dolang/src/printing.jl:145
 in latex(::Expr) at /home/pablo/.julia/v0.5/Dolang/src/printing.jl:173
 in latex(::String) at /home/pablo/.julia/v0.5/Dolang/src/printing.jl:177

the printing.jl code does reference subscript/superscript suggests this was taken into account. @sglyon , any idea ?

Hmm strange. No ideas off the top of my head. I'll take a quick look

So I think the problem is that the latex printer assumes that superscripts come before subscripts.
Notice
julia> Dolang.latex("a__p1_p2(1)")
ERROR: BoundsError: attempt to access 0-element UnitRange{Int64} at index [0]
 in throw_boundserror(::UnitRange{Int64}, ::Int64) at ./abstractarray.jl:355
 in getindex at ./range.jl:468 [inlined]
 in _latex!(::Base.AbstractIOBuffer{Array{UInt8,1}}, ::Symbol, ::Int64) at /Users/sglyon/.julia/v0.5/Dolang/src/printing.jl:61
 in _latex!(::Base.AbstractIOBuffer{Array{UInt8,1}}, ::Expr) at /Users/sglyon/.julia/v0.5/Dolang/src/printing.jl:102
 in latex(::Expr) at /Users/sglyon/.julia/v0.5/Dolang/src/printing.jl:173
 in latex(::String) at /Users/sglyon/.julia/v0.5/Dolang/src/printing.jl:177

julia> Dolang.latex("a_p2__p1(1)")
"a_{p2,t+1}^{p1}"

Should we accept both orderings instead of just the one that is currently implemented?

Yes. In this case I think it also fails for smthg like 'Delta__p'
On Wed, 10 May 2017, 19:41 Spencer Lyon<EMAIL_ADDRESS>wrote:

So I think the problem is that the latex printer assumes that superscripts
come before subscripts.
Notice
julia> Dolang.latex("a__p1_p2(1)")
ERROR: BoundsError: attempt to access 0-element UnitRange{Int64} at index [0]
in throw_boundserror(::UnitRange{Int64}, ::Int64) at ./abstractarray.jl:355
in getindex at ./range.jl:468 [inlined]
in _latex!(::Base.AbstractIOBuffer{Array{UInt8,1}}, ::Symbol, ::Int64) at /Users/sglyon/.julia/v0.5/Dolang/src/printing.jl:61
in _latex!(::Base.AbstractIOBuffer{Array{UInt8,1}}, ::Expr) at /Users/sglyon/.julia/v0.5/Dolang/src/printing.jl:102
in latex(::Expr) at /Users/sglyon/.julia/v0.5/Dolang/src/printing.jl:173
in latex(::String) at /Users/sglyon/.julia/v0.5/Dolang/src/printing.jl:177
julia> Dolang.latex("a_p2__p1(1)")
"a_{p2,t+1}^{p1}"
Should we accept both orderings instead of just the one that is currently
implemented?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/EconForge/Dolang/issues/26#issuecomment-300576070,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAQ5KekWMf50ugaGOLUYPXqYi2t_a1kRks5r4gTxgaJpZM4NW36K
.


More logo fixes

Fix OME Nav logo and add logos for other source institutions

Looks good, merging...


Improve paths handling

First of all, great Action!
I noticed that when setting an absolute path to the compilation database I receive wrong paths.
    - name: Run clang-tidy and clang-format
      uses: cpp-linter/cpp-linter-action@v2
      id: linter
      env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
          style: file
          database: ${{github.workspace}}/out/build/${{matrix.arch}}-${{env.BUILD_TYPE}}
          thread-comments: true
          step-summary: true

Produces "D:\a\figures-counter\figures-counter\afigures-counterfigures-counter\out\build\x64-debug" instead of the correct path "D:\a\figures-counter\figures-counter\out\build\x64-debug"
The workaround is to omit the prefix and use relative path
database: out/build/${{matrix.arch}}-${{env.BUILD_TYPE}}

I think what's happening here might be related to using a Windows runner. The var github.workspace lost all it path delimiters: afigures-counterfigures-counter. This makes me wonder what stripped them. Typically python strings with \ have to be doubled (\\) to escape the misinterpreted reg-exp token. Otherwise you'd get strings with tokens like \a that mean "literal a".
What perplexes me more is that drive letter D: was stripped as well. I think I have the details to reproduce, and hopefully I can find a fix for this.

Paths on windows will be passed to cpp-linter's python package using powershell in the next release. I still have to do a little more testing to make sure clang-tidy can actually find the database on Windows runners where the database option is given an absolute path.


[ListView] renders all rows?

There're 8 visible rows in screen after refreshing, but there're 15 rows found in chrome react tab.
Will you implement ListView with UITableView in future version?
Thank you.

I wonder if this is related to the default value of scrollRenderAheadDistance:
http://facebook.github.io/react-native/docs/listview.html#scrollrenderaheaddistance
It defaults to 2000 pixels unless you override it and with 15 rows it might not go above that and so will render everything when you scroll? This is just a guess but it might be worth tweaking the props for this component to see if you can affect this behaviour.

React Native is using a different optimization strategy than iOS. Here's a summary
Load balancing
In UITableView, when an element comes on screen, you have to synchronously render it. This means that you've got less than 16ms to do it. If you don't, then you drop one or multiple frames. If you are rendering complex elements like newsfeed stories, it's basically impossible to meet this schedule so you're doomed to drop frames.
With ListView, when you reach the end of the current screen, you can prepare in advance more rows to be rendered. Those rows will be rendered in a different thread so won't freeze the UI thread while processing. The reason why it is working is that the load is not evenly spread. You don't need to render a new story on every single frame, most frames are just scrolling and don't need new stories to appear.
ListView will also render one element at a time, so if you are interacting with some element while rendering more rows, it won't block until all the rows have been pre-rendered, it will only block for one row.
Memory management
UITableView is very conservative memory-wise, it aggressively reuses cells. This decision was made back in the iPhone 1 where memory was extremely scarce. The problem with this is that reusing cell is extremely error prone for the developer.  In our iOS app, this caused SOOO many bugs.
The problem of reusing cell is that some cells have internal state (video player running, text input, horizontal scroll position...) When you reuse them, you need to be able to serialize that state and put it back. This is not always possible nor easy, so you usually either loose this state or it propagates on the new row and causes bugs.
What we found out on React Native is that it is fast enough on iphone 4s to create new cells for every single row. So, we don't need to impose this very hard constraint on ourself. In your screenshot, you noticed that we don't remove rows after you scrolled for a while. That's not entirely correct, we don't remove the virtual dom representation on the React side (what you see in the chrome dev tools), but we do remove those elements from the "dom" and keep their reference.
When they are visible again, we put them back on the dom. In case we have low memory or the list is too big, we may destroy those and recreate them from scratch (loosing the state as mentioned above) in the future. We haven't done this performance optimization yet, but the user code wouldn't be impacted.
We tried to delete the iOS views aggressively but we found out that doing so was actually very expensive. It was better to leave them hanging than to remove them.
Change Detection
In ListView, we have a DataSource object that favors immutability. If you have a list of 1000 elements to render, you want to make those 1000 elements immutable, meaning that you can check the previous one === the next one and instantly know if something changed. This way, when anything change, the only thing you've got to do is to traverse those two lists and do those very fast equality checks and know what rows changed. And then update only those.
Layout
In UITableView, you've got to specify the layout of every single row even when they are not being displayed on screen. So, in cases where it's not a fixed size, you've got to basically render the element to know its size, and pay that high cost up front. It's also very annoying to do so manually.
In ListView, since React Native owns the layout system, you don't need to do all that painstaking manual computation yourself. When a row is rendered, it'll update the size. The only downside is that the scrollbar is a little funky, but I'm sure we'll be able to come up with heuristics to smooth it out in the future.

@vjeux thx, it's really clear and useful.

Something doesn't seem to be working as intended just yet. After scrolling a very long list view with images, and 4 rows visible in vertical ipad air 2, everything seems to be working as @vjeux describes, except the memory just keeps climbing and climbing. And the most alarming thing is that scrolling (after scrolling to the bottom), can cause main thread to easily eat over 100-130% of cpu, while the JSCore thread stays quiet. This is very different to the 1-3% taken by just JSCore when scrolling from the top after the initial render. It is very apparent that the app is unstable while the listview's rows all remain in memory, and the main thread is blocked for about a second give or take while a listview in this state is unmounted, and can even result in a crash. Just a reminder, this is all on an iPad Air 2.
I also tried the "experimental feature" of removeClippedSubviews for ListView. This initially did seem to help with memory, but it was causing a crash. I assumed this was the "experimental" part, and haven't dug in there just yet ;)
What I'm wondering is if I am just missing something? Do I have the capability to remove images myself using onChangeVisibleRows, should I consider this? Would it be worth more getting removeClippedSubviews stable, or should I start contemplating a new version of list view with recycling?

Does Instruments provide any insight into what's leaking? (specifically wondering if the problem is in JS or Obj-C)

@ide I'm a noob at instruments profiler... So here's brief summary from me taking look at it.
cpu profile looks like like most of the time is spent here, in RCTView.m :
- (void)react_updateClippedSubviewsWithClipRect:(CGRect)clipRect relativeToView:(UIView *)clipView

In memory profile major causes of persisted memory (645 MB total) are:

VM: CG Graphics Data (410 MB)
VM: CoreAnimation (141 MB)
VM: JS Garbage Collector (61 MB)
...

Unmount the ListView component, and total persisted memory drops to 74 MB total:

VM: JS Garbage Collector 58 MB
VM: CoreUI image data
...

I have to think I'm doing something wrong, or maybe the ListView just isn't prepared for what I'm throwing at it.

Those profile were from attaching to iPad Air simulator.

cc @bryceredd who's been investigating React Native performance

Closing this since it's not very actionable.

@vjeux What would make this actionable? I asked a few questions in this thread that was answered by closing the issue? I've also still been digging through the innards of the ListView implementation, as well as the crash caused by removeClippedSubviews: true. The title "ListView renders all rows?" seems appropriate based on memory consumption no?

Sorry, trying to clean up the hundred plus issues we had, I was a bit too quick on this one.

@vjeux No worries, and thanks ;)
What I've found so far regarding the removeClippedSubviews: true crash
I'm seeing it happen on line 217 of RCTScrollView:
  UIView *nextHeader = nextDockedIndex >= 0 ? contentView.subviews[nextDockedIndex] : nil;

When I change the data source to contain only one section (same amount of rows), this crash no occurs, and I can see that the views are being clipped.
In this case, the memory is lowered to about 1/2-2/3 what is was before, but still very high, and cpu is not spiking as it did on minimal scroll, also about 1/2-2/3 of what is was before.

It's totally insane: my iPhone 5c crashes after 700 list items. If I'm going to write a chat - it's blocking for me.

removeClippedSubviews is our current stopgap that makes the groups app work - can you guys try scrolling in that app and see what you think of the perf/stability?
We definitely need to fix crashes when you have removeClippedSubviews - I don't think we tested thoroughly with sticky headers (they aren't used in groups), so that might be the issue.
Note on OP - the react tab just shows the react elements in JS. Just because they show up there doesn't mean they are in the actual UIView hierarchy (and you should find they are not all in the UIView hierarchy if you enable removeClippedSubviews).

my
50 rows/pages of
3rd Load append (total 150)
Received memory warning
Received memory warning
Received memory warning
Crash Physical iPhone 6 Plus
Also I got a lot of "Cannot find single active touch" time to time

:+1:

Hi all
i create the PR https://github.com/facebook/react-native/pull/1406
It's solve for me the issue if you have a better idea to solve it feel free
Thanks

Thank you for reporting this issue and appreciate your patience. We've  notified the core team for an update on this issue. We're looking for a response within the next 30 days or the issue may be closed.

I took a stab this.
In my perf testing I was seeing constant memory allocations using ListView as the user scrolls down long lists. This is obviously problematic for reasons that don't need to be explained.
In response, I created an NPM package react-native-sglistview: https://github.com/sghiassy/react-native-sglistview.
The package isn't where I want it yet - but its showing some process

@sghiassy This looks interesting, will def check it out.

Can't find a way to make the ListView component work well pulling data from Firebase javascript client.
Here's what I'm trying to create:

Add data when the scroll reaches the bottom (infinite scroll functionality should be pretty easy to do)

Here's how I'm doing it:

On componentDidMount call function that fetches the data. (./app/components/tabviews/home/homefeed.js)
I use blackbird to return a promise with data returned from Firebase.
When data gets returned setState for dataSource using cloneWithRows(data).

So far I was able to display some of the rows, in the first call the promise returns 50 items but only 8 rows are displayed. I can't reach the bottom! If someone wants to help me it would be great because I've pulling my hair out to make this work. Thank you!
https://vid.me/SEYQ
Here's my code:
https://github.com/skyhitz/skyhitz-react-native-ios

I can vouch that @sghiassy's https://github.com/sghiassy/react-native-sglistview is a great solution at the moment. I've been using pretty much the same logic but never found time to pull it out into a separate library. Great work by Shaheen.
It completely destroys the views when they are out of screen and hence removed from memory. removeClippedSubviews will only help scrolling smoothness (GPU optimisation) - it is not a memory optimisation. Objects/views/images are still in memory and hence the memory will still climb.

@alejomendoza Your code looks fine. Please debug data, that it is an array and that it has 50 valid objects in it as you expect. Also you may add a console.log in renderRow to debug that it is indeed being called 50 times. The third parameter to renderRow is the rowID, which you expect to climb to 50.

thanks @paramaggarwal ! I debugged it and I get all the items but only 9 are rendered, saw this through adding console.log in renderRow, when I scroll to the bottom it renders the 50 items but it would let me scroll further down. Here is the video: https://vid.me/tJum https://github.com/skyhitz/skyhitz-react-native-ios

@alejomendoza I have seen your issue before it has to do with the container views holding your views not having flex: 1 I'm not home right now but later I can provide you with an example so you see what I mean. In the mean time try adding flex: 1 to all views wrapping your listview

thanks @josebalius ! I tried doing that but still doesn't work, I see that the list view has a height of 2525 If I inspect the element which shouldn't be happening.

Here's a version that unmounts rows when they are out of the screen and more context from @sahrens

This type of "buffered" pattern can only mean very good things for the community!  Absolutely awesome job, @sahrens!!

Thank you so much @vjeux. That's a really nice diff and great comments from @sahrens.
While reading I realised, that we as a community think about a solution by building something on top of ListView itself. I never considered modifying the ListView implementation itself like you do above. Nice!
@sahrens The removeClippedSubviews implementation you talk about is different from the one in the OSS RN repo right? The one in the OSS repo simply removes from view hierarchy and still will continue to eat up memory. The optimisation by @nicklockwood is where it goes further and removed images and text from the memory too, right [#332](ref: https://github.com/facebook/react-native/issues/332#issuecomment-130249782)? Looking forward to it in the OSS repo. Will be of much needed help.
Thanks you guys!

@paramaggarwal the removeClippedSubviews feature is the same internally and in OSS, but the  implementations are different. @a2 recently added the feature of unloading offscreen images and rendered text to OSS, which should hopefully help with memory.

:+1: Would be nice to see those changes in OSS RN :)

@michaelcontento they are included in v0.10

@nicklockwood Will check it out. Thank you so much you guys! :heart:
I guess that should resolve this particular issue.

Our app has two tabs of quite long list view, switching between tabs is getting much slower compared to previous versions. We haven't enable the "removeClippedSubviews+overflow:hidden" optimizations yet though.

Having problems with an iTouch 5th gen and ListView gradually filling up with memory. Over 1000 rows, followed this thread but nothing is making a huge difference at the moment. Tried working with a native table view implementation and the app took ages to load the data.

On an iPhone 4S a long list view still easily exhausts memory if you continuously scroll through it. Might just be the image cache not dumping images on a memory warning though?

How would android-platform like?

Hi @paramaggarwal  @sahrens   ,
As mentioned in above comments , I have implemented Listview , My application is kind of Offline Dictionary which has .sqllite DB with lage number of words.
I render 50 words each time with the offset on every scroll ends , even after setting up  removeClippedSubviews to true , my RN application is eating up so much memory.
The below shows that it has not more than ~500 records in listview it is eating up huge memory.

I also tried @sghiassy  but it seems doesn't solve my problem.
Could you please provide some some help ?

tried all tricks mentioned  800 rows crashes every time.

Does each of your rows have overflow: "hidden" which is needed to work along with removeClippedSubviews.

@paramaggarwal thanks and yes. It's added to each row. shouldComponentUpdate implemented. Using rowHasChanged as the doc suggested. Infinite scroll implemented.
Memory usage boost up to 500MB and crashes at about 800 rows.
PS. Each row contains a feed item with some text and images, similar to the fb groups app.

So removeClippedSubviews will help only if your rows contain images and text. If there is any other kind of view, it will not be removed from memory.

@paramaggarwal thank you. My row item contains only text and images. As you mentioned before,  'removeClippedSubviews will only help scrolling smoothness (GPU optimisation) - it is not a memory optimisation', I assume that the ListView will eventually crashes the APP as number of grows, with or without removeClippedSubviews. Is that right?

Since RN 0.10, removeClippedSubviews will help with memory also as images and text are actually remove from memory when they are taken out of the view hierarchy - which is what it does. Hence this particular memory issue for large number of rows is actually fixed since then for the majority of use cases.

@paramaggarwal thank you. I will do some more tests to see what's wrong with my code. Good day.

Hi @paramaggarwal , I am coming back with some test results with RN 0.14.2 :)
On my iPhone 6, the app will crash after the memory usage is over 500mb. The following code will crash the app if the number of rows grows to 1800 with removeClippedSubviews off, and 5200 with removeClippedSubviews on.
In another test with some images in the row, it crashes at 300 rows with removeClippedSubviews of, and 600 rows with removeClippedSubviews on.
Can I assume that this is the best ListView can do at this moment?
let React = require("react-native")

let {
    View,
    Text,
    ListView
    } = React

let itemsPerPage = 20

let ListViewTester = React.createClass({

    getInitialState: function () {
        this.data = []
        return {
            dataSource: new ListView.DataSource({
                rowHasChanged: (row1, row2) => row1 !== row2
            })
        };
    },

    componentDidMount: function () {
        for (let i = 0; i < itemsPerPage; i++) {
            this.data.push({
                index: this.data.length
            })
        }
        this.setState({
            dataSource: this.state.dataSource.cloneWithRows(this.data)
        })
    },

    _onEndReached: function () {
        for (let i = 0; i < itemsPerPage; i++) {
            this.data.push({
                index: this.data.length
            })
        }
        this.setState({
            dataSource: this.state.dataSource.cloneWithRows(this.data)
        })
    },
    _renderRow: function (row) {
        return (
            <View style={{height:44,overflow:'hidden'}}><Text>
                Item {row.index}
            </Text></View>
        )
    },

    render: function () {
        return (
            <View style={{flex:1}}>
                <ListView
                    removeClippedSubviews={true}
                    dataSource={this.state.dataSource}
                    onEndReachedThreshold={0}
                    onEndReached={this._onEndReached}
                    pageSize={10}
                    renderRow={this._renderRow}/>
            </View>
        )
    }
})

module.exports = ListViewTester

Hi,
I agree with @kinhunt: the current implementation is unable to deal with big amount of data, memory use increases and then crashes the app...
I've made the same test with NativeScript's ListView (using the same data) and memory was always around 100Mb and the app didn't crash...
Stefano

Hello
Just an observation...
When running @kinhunt 's sample I am noticing a large difference between the way memory is managed on actual hardware vs the simulator.  I guess this is to be expected because the simulation is just that, a simulation, however this seems to be really drastic.
In this test case I am using @kinhunt 's example code, and am scrolling approximately 1000 rows each for each test.  Memory values are from xcode's debug navigator panel.

Hardware Test Results - iphone 6
Memory usage goes from 54mb at the start of the scroll and climbs up to 163mb before leveling off at 135mb.

Simulation Test Results - iphone 6
Memory usage begins at around 54mb and only climbs to 66mb after scrolling 1000 rows.

Should this much of a difference be expected?  I can also confirm this same behavior on another app I am developing.
Nick

Please report on https://productpains.com/product/react-native/

I've been working on an experimental WindowedListView that should help with
this problem. I'll try to get it out soon.
On Tuesday, December 1, 2015, Param Aggarwal<EMAIL_ADDRESS>wrote:

Please report on https://productpains.com/product/react-native/
—
Reply to this email directly or view it on GitHub
https://github.com/facebook/react-native/issues/499#issuecomment-160994126
.

@sahrens expecting. how is it going?

@sahrens That's awesome, looking forward to it.

@sahrens great! expecting.

@sahrens +1

@sahrens +1

@sahrens +1

@sahrens +1

@sahrens +1

@brentvatne: how's your fixed row height fork of WindowedListView coming? Are you going to contribute that back? I think that's probably the best option for most cases.

I'm still stalled on getting windowed list view with variable height rows working with Incremental.

@sahrens @brentvatne Can we see the work-in-progress, and possibly help out? :wink:
Also, could any relevancy be gleaned from bvaughn/react-virtualized? I know it's not yet setup for React Native, but a lot of the modules seem useful (eg: VirtualScroll).
Thanks for all your work, guys! :+1:

+1
Excited to see the WindowedListView, thanks @sahrens!

This is a serious issue.  It makes the app unworkable :( +1

+1
Would love to see the update come out soon! Thank you for working on it Im real excited!

My colleague is currently working on re-writing our RN ListView into a fully native view (we probably would have not used RN at all had we initially known about this performance problem). In the tests I've seen him done, it's MUCH smoother. No promises, but I'll see if we can open source it.

@sghiassy's https://github.com/sghiassy/react-native-sglistview is still a good alternative.  I'm using that currently in my app.  I've reduced my background image to 1/3 of the size, this allows smoother frame rate and much less usage of the memory.   However, I still prefer the native solution if possible.

@jamesfzhang funny you should say that, and an FYI to the RN team. This issue, this component, and the initial comments on this thread, were a huge reason why we did not go with RN. Yes most of the framework was pretty awesome, but this particular component is a huge misfire, and it was disappointing to see the debate that seemed to favor its implementation.

I'm afraid we didn't do a great job of communicating our position on this.
We created React Native to solve our own app development requirements (which include long scrolling lists of content) and when we found that ListView was satisfactory to meet our requirements, we prioritised other features (startup time, network and image loading/decoding performance, etc) over improving it further.
But that is not to say that we don't recognize its deficiencies, and now that we have met our performance and functionality targets in other areas of the framework, improving (or replacing) ListView has moved up to the top of our priority list.
If you are struggling with sluggish performance or out-of-memory issues when using the current ListView for hundreds or thousands of rows, you can expect to see some improvements from us in the near future.
That said, if you are already working on your own solutions, I encourage you to continue doing so, as there are many different types of requirement for this type of view, and we may not be working to solve exactly the same problems that you are.

@nicklockwood Thanks. I appreciate the thorough, timely, and very open response to my comment. Just to make sure you and the team knows it, when ever I make a comment like that, it's always meant as constructive criticism, I know you took it like that, so thank you. Just because we decided against RN for our needs, does not mean it isn't impressive piece of open source software. So keep up the good work, and I'll look forward to seeing the direction this component goes!

@drkibitz understood, and thank you for the constructive feedback - we do take this stuff on board, even if we aren't always in a position to act on it right away.

@nicklockwood Thanks for offering more info on that, much appreciate it. The truth is that we absolutely love RN and will look forward to seeing the performance improvements. Thanks and keep up the good work!

Hi, i wondered if the issue is the same in the android part? And android part is using recyclerview right? And it is not using the recycle part?
And I think maybe for best is theres 2 implementation of listview. The react way and the native recycle way for lot of items
Just my 2cents

In belated response to @aleclarson's comment, I've been moving more and more of the core windowing logic for react-virtualized into util functions. I've wondered a little if it would be useful to abstract things further and maybe even move it out into its own package but I didn't know of any immediate uses and I didn't want to spend time doing it just for the sake of doing it.
That being said, if there's any interest or chance to contribute here I'd be happy to.

@drkibitz

Hi there! This issue is being closed because it has been inactive for a while.
But don't worry, it will live on with ProductPains! Check out its new home: https://productpains.com/post/react-native/listview-renders-all-rows
ProductPains helps the community prioritize the most important issues thanks to its voting feature.
It is easy to use - just login with GitHub. GitHub issues have voting too, nevertheless
Product Pains has been very useful in highlighting the top bugs and feature requests:
https://productpains.com/product/react-native?tab=top
Also, if this issue is a bug, please consider sending a pull request with a fix.
We're a small team and rely on the community for bug fixes of issues that don't affect fb apps.

I worte Real Android recycles RecyclerView/ListView,
To solve the problem of RecyclerViewBackedScrollView.

any news from react native team about that?
Is this issue will be fixed in any release?

?

"removeClippedSubviews" saved my day!!

removeClippedSubviews work on  ios, but don't work on android

@droidwolf according to this https://github.com/facebook/react-native/commit/25cd2c5d7b3ead4c6aebc4a9b7a7147b7f332d47 it should def be working on Android, where do you draw that conclusion from?

[0.19][Android][ListView] onChangeVisibleRows isn't called on Android

WindowedListView is working fine

windowedlistview does not well on Android see here: https://github.com/facebook/react-native/issues/11950#issuecomment-275090658

So why this is closed if it's still not solved?
Seams like we don't have any existing solutions if we want to approach reuse cells on Android.


redraw() not working with marker.setVisible(false)

When a marker is hidden using marker.setVisible(false), the redraw() method should reflect this and update the clusters accordingly.

https://github.com/googlemaps/js-marker-clusterer/pull/68 could probably solve that.


addons is not defined when using "@storybook/addon-essentials"

https://github.com/storybookjs/storybook/issues/15706
It's a fresh Vite + Vue app and added storybook to it by running npx sb@next init --builder storybook-builder-vite. Then if you start with yarn storybook, you'll get this

Fixed it by changing all @storybook/ stuff to 6.3.6 version

@storybook @6.4.0-alpha.29 still has the same problem

@mirabledictu @heart-er I've tried this using a newer version of storybook-builder-vite and it's fixed for me. Here's the changes I made:
Bumped storybook libraries to 6.4.0-rc.6
Bumped storybook-builder-vite to 0.1.9
Added the framework field to main.js (https://github.com/storybookjs/storybook/issues/16296)

I'm going to close this for now. If you experience this again I'll re-open.


feat: bump chatwoot verison to v2.1.1

Description

Update charts to chatwoot v2.1.1
https://github.com/chatwoot/chatwoot/releases/tag/v2.1.1

Type of change

[x] Chore (Update Chatwoot version)

How Has This Been Tested?

[ ]  Tested installation against a fresh k8s cluster
[ ]  Tested upgrade against a k8s cluster running Chatwoot v2.0.2

Checklist:

[x] My code follows the style guidelines of this project
[x]  I have performed a self-review of my own code

@vishnu-narayanan That is done now. Thanks!


[System Tests] Fix external volumes test from "MiB" to "GiB"

~⚠  Depends on #2114~

This PR is fixing the test-apps system test that was testing against the previous (buggy) version of the UI where the external volume units were "MiB" instead of "GiB"
To test, use:

docker run -it --rm --ipc=host \
  -e CLUSTER_URL=$OPEN_CLUSTER_URL  \
  -v `pwd`:/dcos-ui \
  mesosphere/dcos-ui dcos-system-test-driver \
  ./system-tests/driver-config/dev.sh

Test dcos-ui/group.services.apps/services.apps failed

I got a few errors runnning the tests...
Unknown exception preparing test isolation for dcos-ui: [Errno 9] Bad file descriptor: '/dcos-ui/system-tests/./_support/utils/ServicesUtil.js
Unknown exception preparing test isolation for dcos-ui: [Errno 9] Bad file descriptor: '/dcos-ui/system-tests/./cypress.json

I take my last comment back.

Hey @weblancaster , I think you are using an EE cluster. Try an Open cluster.

 INFO 2017-04-13 14:46:20 system: Setting-up subsystems
 INFO 2017-04-13 14:46:29 report.session: Collecting report in /dcos-ui/results
 INFO 2017-04-13 14:46:29 system: Preparing for 1 cluster deployments
 INFO 2017-04-13 14:46:29 cluster.multiple: Creating cluster open (#0)
 INFO 2017-04-13 14:46:30 cluster.multiple: Cluster open (#0) is ready
 INFO 2017-04-13 14:46:30 runner.test: Running 1 tests for dcos-ui
 INFO 2017-04-13 14:46:30 runner.test: Running 1 tests for dcos-ui
 INFO 2017-04-13 14:46:30 runner.test: Running 1 tests for dcos-ui
 INFO 2017-04-13 14:46:30 isolation.shell: Setting up isolation
 INFO 2017-04-13 14:46:30 isolation.shell: Setting up isolation
 INFO 2017-04-13 14:46:30 isolation.shell: Setting up isolation
 INFO 2017-04-13 14:46:45 root: Starting test dcos-ui/group.jobs/jobs (d17d9f8b7cbd4e18a4af90970877c05f)
 INFO 2017-04-13 14:46:45 root: Starting test dcos-ui/group.services.pods/services.pods (b5c75a483a2140ae855b7d26f41ac17b)
 INFO 2017-04-13 14:46:46 root: Starting test dcos-ui/group.services.apps/services.apps (faa302644c0740bcb0e2ac83c26e29be)
 INFO 2017-04-13 14:49:11 runner.test: Test dcos-ui/group.services.pods/services.pods passed
 INFO 2017-04-13 14:49:11 runner.test: Collecting asset "cypress" from integration tests to /dcos-ui/results/cluster-open/dcos-ui/services.pods/cypress
 INFO 2017-04-13 14:49:11 runner.test: Collecting "cypress/results.xml" results file to /dcos-ui/results/cluster-open/dcos-ui/services.pods/cypress/results.xml
 INFO 2017-04-13 14:49:11 runner.test: Using detailed JUnit report from the test
 INFO 2017-04-13 14:49:12 isolation.shell: Tearing down isolation
ERROR 2017-04-13 14:49:38 runner.test: Test dcos-ui/group.jobs/jobs failed
 INFO 2017-04-13 14:49:38 runner.test: Collecting asset "cypress" from integration tests to /dcos-ui/results/cluster-open/dcos-ui/jobs/cypress
 INFO 2017-04-13 14:49:38 runner.test: Collecting "cypress/results.xml" results file to /dcos-ui/results/cluster-open/dcos-ui/jobs/cypress/results.xml
 INFO 2017-04-13 14:49:38 runner.test: Using detailed JUnit report from the test
 INFO 2017-04-13 14:49:45 isolation.shell: Tearing down isolation
ERROR 2017-04-13 14:51:51 runner.test: Test dcos-ui/group.services.apps/services.apps failed
 INFO 2017-04-13 14:51:51 runner.test: Collecting asset "cypress" from integration tests to /dcos-ui/results/cluster-open/dcos-ui/services.apps/cypress
 INFO 2017-04-13 14:51:51 runner.test: Collecting "cypress/results.xml" results file to /dcos-ui/results/cluster-open/dcos-ui/services.apps/cypress/results.xml
 INFO 2017-04-13 14:51:51 runner.test: Using detailed JUnit report from the test
 INFO 2017-04-13 14:51:52 isolation.shell: Tearing down isolation
 INFO 2017-04-13 14:51:54 system: Cluster-wide tests completed
 INFO 2017-04-13 14:51:54 report.session: Writing final report in /dcos-ui/results/results.xml
 INFO 2017-04-13 14:51:54 system: Tearing down subsystems
 INFO 2017-04-13 14:51:54 registry.components: Cleaning-up repositories
 INFO 2017-04-13 14:51:54 proc.pool: Tearing down 0 daemons and 0 processes
ERROR 2017-04-13 14:51:54 system: There are 2/17 failing tests
ERROR 2017-04-13 14:51:54 system:
ERROR 2017-04-13 14:51:54 system:  ✘ Jobs Create a simple job
ERROR 2017-04-13 14:51:54 system:  ✘ Services Applications Create an app with external volume

Jobs Create a simple job
CypressError: Timed out retrying: Expected to find content: 'Create a Job' but never did.
    at Object.cypressErr (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/cypress.js:5723:15)
    at Object.throwErr (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/cypress.js:5688:22)
    at Object.throwErrByPath (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/cypress.js:5715:21)
    at $Cy._retry (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/cypress.js:6658:26)
    at http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/cypress.js:8933:28
    at tryCatcher (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:46486:31)
    at Promise._settlePromiseFromHandler (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:44621:31)
    at Promise._settlePromiseAt (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:44697:18)
    at Promise._settlePromises (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:44813:14)
    at Async._drainQueue (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:42180:16)
    at Async._drainQueues (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:42190:10)
    at MutationObserver.Async.drainQueues (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:42018:14)

 Services Applications Create an app with external volume
CypressError: Cannot call cy.type() on a non-DOM subject.
    at Object.cypressErr (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/cypress.js:5723:15)
    at Object.throwErr (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/cypress.js:5688:22)
    at Object.throwErrByPath (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/cypress.js:5715:21)
    at $Cy.ensureDom (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/cypress.js:6316:26)
    at $Cy.type (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/cypress.js:7515:14)
    at $Cy.<anonymous> (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/cypress.js:1005:28)
    at executeBound (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:10099:67)
    at $Cy.bound (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:10131:14)
    at http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/cypress.js:1520:37
    at tryCatcher (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:46486:31)
    at Promise._settlePromiseFromHandler (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:44621:31)
    at Promise._settlePromiseAt (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:44697:18)
    at Promise._settlePromises (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:44813:14)
    at Async._drainQueue (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:42180:16)
    at Async._drainQueues (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:42190:10)
    at MutationObserver.Async.drainQueues (http://dcostest-elasticl-1q914wbk0al0o-1272060213.us-west-2.elb.amazonaws.com/__cypress/static/js/vendor.js:42018:14)

Rebased. This will help 👍

The issues were caused because of some issues in the tests. Rebased on top of #2114 in order to make this testable. 👍

/poke @weblancaster

retest this please

run integration tests

j1 worked for me. 💯 👍

Two 🏷  \o/


WMA indicator is slow

My program started running quite slow, according to cProfile this is caused by HMA indicator, which in turn uses WMA indicators, which seem to be slow.
I don't know if there's anything that could be done to improve on the performance.

I improved it in PR: https://github.com/nardew/talipp/pull/161. It's a lot faster now, down from 100s to 4s in my test run.


[ggj][engx] fix: remove unused package option from integration test rules

The Bazel rule will be updated once all clients are no longer providing a package option.

Can we get rebase on the PR #599?


Allow configuring weather stats

Allow users to configure which stats to show (i.e. checkboxes to toggle on/off summary, temperature, humidity, dew point, wind, etc.

I would also like to change the units, eg. Temperature: 15° (60F) since I care more about the metric system.

@PedersenThomas you can already do that.
In the top right corner there is a "settings" cog which opens a dialog with a few options (shown below).
I hope that helps!

This is checked in and has been working for a week. Closing as complete.


File Size Limited to 20 MB?

Hello, thank you for this very useful tool. However, I am wondering what setup would it require to send large files?
I think the current limit is 20 MB? Every time I send files exceeding that limit it will send a 301 status code?

@movanet It's a default OpenAI Whisper API limit - it's a maximum of 20 minutes audio.
It doesn't appear to be covered in the code currently. There should be an audio splitting feature for longer recordings.

Another option would be to compress the audio further with ffmpeg. Im doing that and the quality of the transcription is still very good

See #38.


Fix release workflow

Fix token issue for release workflow

looks like it was a branch protection issue, not token as assumed, fixed


Add initial CVO manifests

I can't remember where we landed. Are we waiting to add the release.openshift.io/feature-set: TechPreviewNoUpgrade annotation so that we can avoid the eventual TPNU conflict with platform operators and this repo fighting over rukpak?
Or are we going ahead with TPNU here and removing rukpak from PO?

/label tide/merge-method-squash

Oh, yeah, I need to add them. What was our ordered list of operations for doing this and testing it?

/lgtm


Add libstdc++ on Windows

I noticed that the libstdc++-6.dll was missing on Windows, so you libraries that use -lstdc++ fail to build. Adding mingw64-x86_64-gcc-g++ to the packages installs that dll.
Then, to use MinGW stuff, its bin directory needs to be in the PATH. That could be added at a later stage in a workflow, but it could fall out of sync with the Cygwin root that this project defines.
Edit: It turns out that ocaml-env.exe already causes the PATH to work! So all we need is the libstdc++ library.

Sorry for the late review. This looks good. Thanks @phated.

Awesome! Thanks!


Build application manager image in CI

We missed to build the app manager image and push to the local registry.

Oh yeah my bad, I was on a stale branch and thought the app-manager wasn't added to Makefile. I think we now know what's happening so closing the PR.


Unpin jinja2

Status

[x ] Ready
[ ] Draft
[ ] Hold

Description
Unpin jinja2 to make container building to work.
Types of changes
What types of changes does your code introduce to FEDn?

[ ] Hotfix (fixing a critical bug in production)
[x ] Bugfix
[ ] New feature
[ ] Documentation update

Checklist
If you're unsure about any of the items below, don't hesitate to ask. We're here to help!
This is simply a reminder of what we are going to look for before merging your code.

[ x] This pull request is against develop branch (not applicable for hotfixes)
[ ] I have included a link to the issue on GitHub or JIRA (if any)
[ ] I have included migration files (if there are changes to the model classes)
[ x] I have read the CONTRIBUTING doc
[ ] I have included tests to complement my changes
[ ] I have updated the related documentation (if necessary)
[ ] I have added a reviewer for this pull request
[x ] I have added myself as an author for this pull request

Further comments
Anything else you think we should know before merging your code!

Closing because this PR is against master. @mattiasakesson I will help you fix it tomorrow, we need to figure out which version of jinja is installed when unpinning and pin to that version.


Update for macOS 10.14 Mojave?

Hi, the action no longer works in Mojave, and I'm unsure why. Is there any chance of a fix for this, as it's super-useful!
Thanks

It seems to be something to do with new SIP/codesigning protections in Mojave. Is the signing on the action expired? Or is it missing some newer requirement?

Idk about a fix for this action but I wrote this script and it works for me on Mojave to separate AirDropped files.  I'm sure you can probably repurpose it for your own use.
https://gist.github.com/menushka/cb3ed28b73fc030b5b21e0316d059928


[Q] wandb: ERROR Run 5vj3x7js errored: KeyError(1)

Hello Everyone,
I get this error when running the example in : Weights & Biases
Note: - I am using Spyder as IDE, Python : 3.10.11, wandb :0.15.4
wandb: WARNING Config item 'learning_rate' was locked by 'sweep' (ignored update).
wandb: WARNING Config item 'weight_decay' was locked by 'sweep' (ignored update).
wandb: Waiting for W&B process to finish... (failed 1). Press Ctrl-C to abort syncing.
wandb:  View run prime-sweep-1 at: https://wandb.ai/m-elghandur/vit-snacks-sweeps/runs/8n4zd2d6
wandb: Synced 5 W&B file(s), 0 media file(s), 0 artifact file(s) and 0 other file(s)
wandb: Find logs at: .\wandb\run-20230622_171322-8n4zd2d6\logs
Run 8n4zd2d6 errored: KeyError(1)
wandb: ERROR Run 8n4zd2d6 errored: KeyError(1)
log files:
debug-internal.log
debug.log

@mae338 Currently reproducing this issue on my end and digging further into it, and I will update you with what I find!

@umakrishnaswamy could you please resolve this ticket.

It is an incompatibility issue between library versions. Try the following versions: transformers==4.19.4 and wandb==0.12.18

@kptkin - apologies for failing to update this thread: this was resolved here


Implement get list of book categories API

This task is to implement the get list of book categories API as per the specification defined in the https://github.com/chinthakarukshan/lbms/issues/11 task

Implementation of the API is completed.


Adding Items Information

I would love to see a feature where you can see items Information when holding SHIFT + clicking on Examine. Example when you right click a Rune platebody then hold SHIFT + clicking on examine, the sidebar or a small box in game will appear showing stats of the Rune platebody. Why would this be useful? Well you could take off all your armour or google to see what stats that item gives. This feature can save time and it will be easily assessable.
Picture example: https://i.imgur.com/QeF0F9a.png

https://github.com/runelite/runelite/pull/2829 might be related, also probably way better implementation than suggested here.


tiltfile: enable recursion

what's the worst that could happen?
sample use case:
I want to write a function that traverses k8s yaml and sets namespaces

seems fine to me, tho i wonder if we should be giving people some sort of object-patching language, so that they don't need to recursively traverse structs.

Yeah, that'd be nice. I'm not aware of any that'd gracefully handle the "no metadata exists, so create a metadata and then put a namespace in there" for the specific namespace case, though.


What is the right way to start from a base starter project?

From Tiru:

Not clear what he should do to start a new first time project. hello-world or base.

The getting started page should resolve this.


Report Entries should be de-dupped and sorted

🚀 Feature Proposal
I noticed that there were duplicate entries per Unified log event in SAMLToken_Operations_Export.csv. These entries should be de-duplicated and sorted with | Sort-Object -Unique . If other reports contain duplicate values, then they should similarly be sorted and de-duplicated.
Motivation
It's overwhelming to look at a mess of data in rows of a .csv file. Let's try to make this as clean as possible.

We will be leaving it to the end user to manipulate the data as they see fit, as the objective of this project is to simply retrieve artifacts. If you wish to deduplicate the values, it is relatively simple to do in Excel. You can find the instructions here

We will be leaving it to the end user to manipulate the data as they see fit, as the objective of this project is to simply retrieve artifacts. If you wish to deduplicate the values, it is relatively simple to do in Excel. You can find the instructions here


Implement withUsername method to SQLServer

Sorry for the super late review.
I can't see any code that tells the container which username to use.
The flow of password from withPassword method is good to contrast with: it sets an environment variable on the container so that the DB uses a different password, and also makes the new password available for the getPassword() method. Both aspects are required.


Treeshake dynamic imports based on destructuring

Given the following code:
import('lodash-es').then(({uniq}) => uniq)

When webpack bundles this code, it should only include the module tree for uniq and tree-shake the rest of the exports in lodash-es as unused.

with then it is very tricky. we definitely could not support all cases. I thought about async/await support or simply only assigning support things like:
import * as ns from 'a';
 const {b} = ns;
 const {c} = await import('c');
 const {d} = process.env; // or any defined value

What are the scenarios which couldn't be supported with .then()?

We are facing the same issue too, for a really long time.
What I currently do to bypass this is to add an intermediate file that imports statically and re-export.
like
import { uniq} from 'lodash-es'
export uniq

I understand that object deconstruction dead code elimination is very difficult, which means performing dead code on object property.
As we wrote const {uniq} = await import('lodash-es');, a module namespace object has already been created.
A single-line analyzation of const {uniq} = await import('lodash-es'); would not be that hard?  @vankop
What is tricky is when using babel to compile
A simple
async function main() {
    const {uniq} = await import('lodash-es);
    console.log(uniq);
}
main();

would be transpiled to
import _regeneratorRuntime from "@babel/runtime/helpers/regeneratorRuntime";
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
function main() {
  return _main.apply(this, arguments);
}
function _main() {
  _main = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
    var _yield$import, uniq;
    return _regeneratorRuntime().wrap(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            _context.next = 2;
            return import('lodash-es');
          case 2:
            _yield$import = _context.sent;
            uniq = _yield$import.uniq;
            console.log(uniq);
          case 5:
          case "end":
            return _context.stop();
        }
      }
    }, _callee);
  }));
  return _main.apply(this, arguments);
}
main();

which uses "switch case" based on runtime value, making it impossible to statically analyze.

BUT, Treeshake dynamic imports based on destructuring are still pretty important for bundlers because of the possible code size it could save.
Maybe we could

Somehow add intermediate files automatically by user's plugin , which creates a virtual module that statically imports and re-exports the used exports and changes this source code before handing it to babel.
Do javascript parsing before any loaders for js, and mark unused export before any loaders.
@vankop @alexander-akait @sokra
What is your opinions on this?

@TheLarkInn  because of javascript complexity:
const a = import('a');
a.then(({b}) => {});
a.then(({c}) => {}); // this will work I guess

a.then(v => {
  const {c} = v;
  return v;
}).then(() => {}); // quite difficult to catch all thens here

we could support only this syntax like:
import().then((__destructing_here__) => {});

problem here we introduce some "non-stable" build in terms of tree-shaking. e.g. like in example user will "refactor" destructing to destructing from variable. in case of async/await:
const b = await import('b');
const { a, c } = b;

should work ( we have something like variable replacement in JavascriptParser )

Note - we have /* webpackExports: ["abc", "default"] */ for non analizable imports

In fact we already support this, I opened it to improve different edge cases and for new proposals


Markup is not respected.

First and foremost, THANKS for this awesome library.
I am having trouble with Markup. Am I missing out on something?
import htpy as h
from markupsafe import Markup

script = Markup("""
    let editing = document.querySelector('.editing')
""")

btn = h.button(on_click=script)["edit"]

print('script: ', script)
print('btn: ', btn)

>>> script:  let editing = document.querySelector('.editing')
>>> btn:  <button on-click="let editing = document.querySelector('.editing')">edit</button>

This may be a bit confusing at first, but attributes are always escaped, regardless of whether or not it contains markup. This is a feature and this allows you to actually pass HTML fragments or script fragments.
Consider this htpy code:
button(onclick="let name = 'andreas'; alert('hi' + name);")["Say hi"]

The value of the attributes is escaped with ' to avoid breaking the quotes. The browser understands that and parses it as the proper quotes so it all works:

I realized that this behavior is not documented, will add a note to the docs about it!

Thanks for the quick reply. It addresses my concerns.

Reopening this issue until it's documented properly 🙂


Missing pages in PDF extraction

Describe the bug
I have a 6 page PDF containing tables within images. Llama parse extracts 2 of the 6 pages. Without any insight into why the other pages are missing.
Also when i parse a PDF that just contains a missing page to see what happens llamaparse responds with "Result not found. Check job status to see if it has completed."
Here is the output for python.
Page 1 content:
Doc ID: 0df659d7-f8d0-42e2-bb11-85f543a2152c
Text:
Page 2 content:
Doc ID: 1b091a16-8d7b-4dd1-a0e5-ba5e58078916
Text:
Page 3 content:
Doc ID: 5ae4b9ea-3635-430e-bd76-ebd9bf5457e7
Text: |Strata Plan LMS 2744|Alameda Park| | |---|---|---| |Balance
Sheet As at 10/31/2022| | |  |ASSETS| | | | |---|---|---|---| |Current
Assets|Petty Cash| | | | |150.00| |Bank: Operating Account| | | | |
|19,737.38| |Total| | | | | |19,887.38| |Bank CRF|Bank: Contingency
Reserve| | | | |177,297.38|72,472.94| |Total Bank CRF| | | | |
|249,770.32| |Ba...
Page 4 content:
Doc ID: 5d708152-0b32-470d-906d-0af422925c47
Text: Strata Plan LMS 2744 Alameda Park  # Comparative Income
Statement  | |Actual|Budget|Actual|Budget| | | |
|---|---|---|---|---|---|---|---| | |10/01/2022 to
10/31/2022|10/01/2022 to 10/31/2022|Difference|10/31/2022 to
10/31/2022|10/31/2022 to 10/31/2022|Difference| | |REVENUE| | | | | |
| | |General RevenueStrata Fees|17,383.48|17,383.41|0.07|104...
Page 5 content:
Doc ID: 5945476c-b51a-4053-8da7-b94d161fc79c
Text:
Page 6 content:
Doc ID: 78f04cea-b0dc-4b3f-8aa4-67dcd6bda6fe
Text:
Files
9c8b93ef-bb8a-4c93-a7c3-a95772ad5a0a_3235_W_4th_Ave_Vancouver_BC_5a0a_corrected.pdf
Job ID
3802690c-cfea-4fd2-9ee8-d01559fa147a
8adb66e5-672b-4a68-b696-653be95880f4
Client:

[X] Frontend (cloud.llamaindex.ai)
[ ] Python Library
[ ] Typescript Library
[ ] Notebook
[X] API

Options
Default options
Additional context
Id love to switch from textract to llamaparse but these issues are stopping me.

@ChrisPF123
I tried to run it by parsing the json object. It seems like it cant recognise the page as a pdf.
{'page': 5, 'text': '', 'md': 'The provided input is missing. In order to provide the requested markdown output, please upload the file or provide the text content.', 'images': [{'name': 'img_p4_1.png', 'height': 1237, 'width': 1600, 'x': 0, 'y': 0, 'original_width': 1700, 'original_height': 2200}
most probably you can unable gpt4o until the fix is push.