Remove TRANSITION_END from utils

This was useful in v4-dev and back when we supported older browsers.
TODO:

[x] Drop the variable completely from plugins?

What if you use 'transitionend' instead of TRANSITION_END in utils also? :thinking: Because now it is used everywhere else as a string.

TBH it mostly seems like unnecessary optimization right now. It made sense back when we supported more browsers.


Better handling of duplicate module in dependencies and devDependencies

Currently if a module exists in both dependencies and devDependencies only devDependencies is updated. I think it should update both, and if it can only be one, then dependencies should be the priority.
e.g: https://github.com/lukechilds/expired/pull/17
date-fns is both a dependency and devDependency, however the version locked dependency doens't actually get updated by Greenkeeper.

Any update on this?
I get comments on the previously mentioned PR (https://github.com/lukechilds/expired/pull/17) every time a new version of date-fns is released. The GK commit always wants to update devDependencies and not dependencies and is incredibly easy to miss.
IMO this is a pretty big issue, I'm using Greenkeeper to keep my dependencies up to date, however with this bug if I merge the PR it's keeping my dependency locked to an out of date version.

Hey 👋
could you elaborate on the use case of having a dependency as both dependency and devDependency?

Yeah sure, so say for example my package makes use of a module, e.g (get-stream to get a stream as a buffer). Then in my tests I'm also using get-stream to check that a stream equals a certain value. get-stream is then a dependency of my package (dependency) and also a dependency of my tests (devDependency).
In the future I may wish to refactor my package to not use get-stream. So I could then remove get-stream as a dependency but keep it as a devDependency.

Hey there,
thanks for the explanation :) However, in a quick test we saw that in your case, npm even throws a warning when you include the same dependency in both dependencies and devDependencies, e.g.:
npm WARN The package standard is included as both a dev and production dependency.
So in your example, we'd recommend removing get-stream from devDependencies. If you end up refactoring the package to not use get-stream anymore, you can move it from dependencies to devDependencies and everything still works as expected, also from Greenkeeper's side.

Yeah, I actually discussed this with npm before, you can read the discussion here: https://github.com/npm/npm/issues/17023 (sorry, probs should have linked to that in my last message).
It's worth noting this worked with npm before version 5 (when I created this issue), and it's only npm5 that gives the warning.
I still think this is a valid use case that needs supporting, however if you decide not to support separate dependencies/devDependencies (which is fair enough if npm themselves are saying it's no longer supported) then I think if Greenkeeper detects both it should update the dependency instead of the devDependency.

We build something that should handle this issue: https://github.com/greenkeeperio/greenkeeper/pull/467
:)

Awesome 🎉

The change is deployed now. Thank you for taking the time to report this and giving us long explanations 🙏
I'll close this issue, but feel free to reopen if you still run into this.
Thanks again!


Can't add package because of conflict in feature I haven't enabled

Problem
I'm trying to run a project with the following dependencies:
sqlx = { version = "0.7.1", features = ["runtime-tokio-rustls", "postgres", "uuid", "chrono"] }
solana-sdk = "1.16.8"

This results in conflicting dependencies:
error: failed to select a version for `zeroize`.
    ... required by package `curve25519-dalek v3.2.1`
    ... which satisfies dependency `curve25519-dalek = "^3.2.1"` of package `solana-program v1.16.8`
    ... which satisfies dependency `solana-program = "=1.16.8"` of package `solana-sdk v1.16.8`
    ... which satisfies dependency `solana-sdk = "^1.16.8"` of package `playground v0.1.0 (/home/erik/Code/playground)`
versions that meet the requirements `>=1, <1.4` are: 1.3.0, 1.2.0, 1.1.1, 1.1.0, 1.0.0

all possible versions conflict with previously selected packages.

  previously selected package `zeroize v1.5.3`
    ... which satisfies dependency `zeroize = "^1.5"` of package `rsa v0.9.0`
    ... which satisfies dependency `rsa = "^0.9"` of package `sqlx-mysql v0.7.1`
    ... which satisfies dependency `sqlx-mysql = "=0.7.1"` of package `sqlx v0.7.1`
    ... which satisfies dependency `sqlx = "^0.7.1"` of package `playground v0.1.0 (/home/erik/Code/playground)`

The weird thing is that I haven't enabled the sqlx-mysql feature so that dependency should not be needed.
Is there anything I can do to tell Cargo that I really don't care about sqlx-mysql? Or any other way to fix this?
Steps

Add sqlx = { version = "0.7.1", features = ["runtime-tokio-rustls", "postgres", "uuid", "chrono"] } to Cargo.toml
cargo add solana_sdk

Possible Solution(s)
No response
Notes
No response
Version
cargo 1.71.0 (cfd3bbd8f 2023-06-08)
release: 1.71.0
commit-hash: cfd3bbd8fe4fd92074dfad04b7eb9a923646839f
commit-date: 2023-06-08
host: x86_64-unknown-linux-gnu
libgit2: 1.6.4 (sys:0.17.1 vendored)
libcurl: 8.0.1-DEV (sys:0.4.61+curl-8.0.1 vendored ssl:OpenSSL/1.1.1t)
ssl: OpenSSL 1.1.1t  7 Feb 2023
os: Arch Linux Rolling Release [64-bit]

So can't speak for why the resolver is doing what it is but I would consider curve25519-daleks upper-bound on zeroize to be a bug which looks to be fixed in the 4.0 release.

Is there anything I can do to tell Cargo that I really don't care about sqlx-mysql? Or any other way to fix this?

I'm not aware of any way to fix that other than to fork and patch a dependency (like fixing the requirement in curve25519-dalek).
Because features can be enabled through direct dependencies, the resolver has to resolve as-if all features are enabled so that there is a single Cargo.lock that works for all scenarios.

Thanks. I patched the dependency by bumping the curve25519-dalek version and making some necessary changes.
Feel free to close this.


RSA8b

Partial support, spec says ... which override defaults for Client Auth.  There is no test that it overrides any defaults, so you should set those defaults such as clientId in the ClientOptions, and ensure that the options are overriden here.

@mattheworiordan Yes you right. But I do not see anything more than the clientId to override.

Yes you right. But I do not see anything more than the clientId to override

You can override any defaults, so if after calling authorise with a set of TokenParams (which it supports and uses for defaults for subsequent requests), you can test that not overriding them uses the defaults, and overriding them uses the new TokenParams

@mattheworiordan Done

LGTM


Module names for multi-component example (#333).

I'm going to close this, as the examples has been reworked a bit now, as part of #389. It does now qualify the naming of the child components. Thanks though!


Advanced User install options in easyinstall.sh

To introduce options for installing rascsi without configuring the systemd services, for advanced users who prefer to run rascsi / rascsi-web manually.

PR in https://github.com/akuker/RASCSI/pull/472

@uweseimet Please see the PR above. Do you think this approach would be helpful to you, and others who don't want to run rascsi/rascsi-web as services?

@rdmark IMO there should be an option that does nothing except installing the required dependencies and compiling the source. It should not even create an images folder, like option 10) currently does.
I'd suggest to add a comment that tells the user why a password is required. Currently there is the "Password:" prompt without any explanation. If you start some script and this script asks you for a password, do you just enter it? You shouldn't :).

does nothing except installing the required dependencies and compiling the source

I'd argue if an advanced user knows enough to know they need that it seems they could just do it themselves or write an alias/script. Whatever options we choose here it seems an advanced user may have different opinions on what they want done.
An option may be to make all the individual methods here sourceable into a shell/script so advanced users could compose their own needs.

@uweseimet I added an early check for sudoers privileges for the install options that touch system configuration, with a descriptive prompt message.

@rdmark Great, thank you!


Made about us page responsive

This is the new about us page being responsive.
Closes issue-

#57

https://user-images.githubusercontent.com/75900118/226117304-81632ace-0955-424c-b02e-ac195fd9598d.mp4

hey @hparashar27 Please review the changes and also would love to hear your feedback !

great!


Don't build in Slackware current

I checked all the depends.
But i can't compile it.
`root@sl-alive:/tmp/multitextor# ./cmakegen.bat

-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Configuring done
-- Generating done

`
[  6%] Building CXX object Utils/CMakeFiles/UtilsLib.dir/src/Clipboard.cpp.o
[  8%] Building CXX object Utils/CMakeFiles/UtilsLib.dir/src/CpConverter.cpp.o
In file included from /tmp/multitextor/Utils/src/CpConverter.cpp:28:
/tmp/multitextor/Utils/inc/utils/IntervalMap.h: In constructor ‘_Utils::IntervalMap<TKey, TVal>::IntervalMap(TVal)’:
/tmp/multitextor/Utils/inc/utils/IntervalMap.h:44:22: error: ‘numeric_limits’ is not a member of ‘std’
44 |         m_diaps[std::numeric_limits::lowest()] = value;
|                      ^~~~~~~~~~~~~~
/tmp/multitextor/Utils/inc/utils/IntervalMap.h:44:41: error: expected primary-expression before ‘>’ token
44 |         m_diaps[std::numeric_limits::lowest()] = value;
|                                         ^
/tmp/multitextor/Utils/inc/utils/IntervalMap.h:44:44: error: ‘::lowest’ has not been declared
44 |         m_diaps[std::numeric_limits::lowest()] = value;
|                                            ^~~~~~
In file included from /tmp/multitextor/Utils/src/CpConverter.cpp:30:
/tmp/multitextor/ThirdParty/inc/widecharwidth/widechar_width.h: At global scope:
/tmp/multitextor/ThirdParty/inc/widecharwidth/widechar_width.h:533:5: warning: ‘int {anonymous}::widechar_wcwidth(uint32_t)’ defined but not used [-Wunused-function]
533 | int widechar_wcwidth(uint32_t c) {
|     ^~~~~~~~~~~~~~~~
make[2]: *** [Utils/CMakeFiles/UtilsLib.dir/build.make:90: Utils/CMakeFiles/UtilsLib.dir/src/CpConverter.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:196: Utils/CMakeFiles/UtilsLib.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
What can I do?

must be fixed


Add usual assertThatEventually

Reviewer checklist

[ ] Ensure relevant issues are linked (description should include text like "Fixes #")
[ ] Ensure any appropriate documentation has been added or amended

Coverage decreased (-7.2%) to 89.21% when pulling 0ff0d1c88da42a94e8bae1023b7baa6afaafc050 on assert_eventually into bbedeba2346b1a6fe610236d4c042e9323d0cb6f on main.


fix storage acl roles documentation

Using storage (the instance) instead of Storage the class in many places in storage documentation. Also sometimes a storage instance is instantiated in-line and that's a pattern I don't want to emerge, so I've split up:
gcloud.storage().bucket('my-bucket');

into
var storage = gcloud.storage();
storage.bucket('mybucket')

Also, sometimes gcloud.storage.bucket('my-bucket') was used, which is just wrong so I fixed that too.

Cool. Thanks!


az aks list is broken after upgrade 2.41

This is autogenerated. Please review and update as needed.
Describe the bug
When running az aks list, the error below is returned - this did not happen prior to upgrading az installation.
Command Name
az aks list
Errors:
The command failed with an unexpected error. Here is the traceback:
'ContainerServiceClientConfiguration' object has no attribute 'api_version'
Traceback (most recent call last):
  File "/opt/az/lib/python3.10/site-packages/knack/cli.py", line 233, in invoke
    cmd_result = self.invocation.execute(args)
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 663, in execute
    raise ex
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 726, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 697, in _run_job
    result = cmd_copy(params)
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 333, in __call__
    return self.handler(*args, **kwargs)
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
    return op(**command_args)
  File "/opt/az/lib/python3.10/site-packages/azure/cli/command_modules/acs/custom.py", line 724, in aks_list
    return _remove_nulls(list(managed_clusters))
  File "/opt/az/lib/python3.10/site-packages/azure/core/paging.py", line 129, in __next__
    return next(self._page_iterator)
  File "/opt/az/lib/python3.10/site-packages/azure/core/paging.py", line 76, in __next__
    self._response = self._get_next(self.continuation_token)
  File "/opt/az/lib/python3.10/site-packages/azure/mgmt/containerservice/v2022_07_01/operations/_managed_clusters_operations.py", line 977, in get_next
    request = prepare_request(next_link)
  File "/opt/az/lib/python3.10/site-packages/azure/mgmt/containerservice/v2022_07_01/operations/_managed_clusters_operations.py", line 962, in prepare_request
    _next_request_params["api-version"] = self._config.api_version
AttributeError: 'ContainerServiceClientConfiguration' object has no attribute 'api_version'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az aks list -o {}

Expected Behavior
Return list of AKS resources.
Environment Summary
Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-glibc2.27, Ubuntu 18.04.6 LTS
Python 3.10.5
Installer: DEB

azure-cli 2.41.0

Extensions:
application-insights 0.1.16

Dependencies:
msal 1.20.0b1
azure-mgmt-resource 21.1.0b1

Additional Context

Appears to be a duplicate of #24274 . Okay to close.


Use PHPUnit static assertions

There are static (eg. self::assertEquals()) and dynamic (eg. $this->assertEquals()  methods in PHPUnit. There's no reason not to call them properly. Also it speeds up a tests a bit.

Oh, this is a massive PR.
I assume this is auto generated. =)
It will be easier to enforce this with a CS rule. Lets wait for #2375 to be merged, then rebase this PR (or create a new) with updated CS rules and this auto generated fix.

Hey @simPod
Have a look at master. I added some PHP-CS-Fixer rules. You can modify the rules to make sure we always use a static call.

@Nyholm phpstan has check for that. I'm not aware phpcs is able to check for this (?) It analyses only tokens, amirite?
But surely I can rebase and fix it for now.

Checkout "php_unit_test_case_static_method_calls" in https://github.com/FriendsOfPHP/PHP-CS-Fixer.
It might be easier to do a new PR.. I dont know..

I resolved the conflicts with master.
Can you fix the CS errors and push again please?

BTW wouldn't it make more sense to use phpcs instead of that cs fixer?

I dont think so at the moment.
Try opening an issue with pros/cons.

Hello here.. sorry for digging this up. I just pulled the repo and saw the current PR.
Long time ago I tried to actually do some private benchmarks if there is an actual performance benefit from this. I remember also finding some posts os S. Bergman saying the same.
https://github.com/sebastianbergmann/phpunit/issues/1914#issuecomment-148407321
https://phpunit.de/manual/6.5/en/appendixes.assertions.html#appendixes.assertions.static-vs-non-static-usage-of-assertion-methods
ofc this is from 2015.. so are there any benchmarks for static/self?

Overall, all code bases I fixed in this way run faster about something around 0-10 % (measured through CI). No benchmarks tho.


straight--build-compile: fix compile process load-path

Compute child byte-compilation process load-path via straight-dependencies.
This should include the necessary transitive dependencies as well as
direct dependencies.
See: #1131

Hi, I can also confirm this works!
I've got a problem where eat wasn't getting byte-compiled at all within Doom Emacs, because the current approach causes the byte-compiler to fail and stop on:
Checking /home/pwy/.emacs.d/.local/straight/build-29.4/eat/...
Compiling /home/pwy/.emacs.d/.local/straight/build-29.4/eat/eat-autoloads.el...
Compiling /home/pwy/.emacs.d/.local/straight/build-29.4/eat/eat.el...

In toplevel form:
eat.el:91:2: Error: Module is not GPL compatible: "/home/pwy/.emacs.d/.local/straight/build-29.4/tree-sitter-langs/bin/json.so"

Using the patch here helps and everything seems to be working correctly now 🙂


More steps

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: kostis-codefresh sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


PRE32-C: Raises false positives when a file has a function call and a preprocessor directive at any location.

Affected rules

PRE32-C

Description
This rule should check the use of preprocessor directives in arguments in a function call but it actually raises an alert even when the preprocessor directive is outside the function call.
Example
void func1(void) {
 // function body
}

int foo(const int arg) noexcept {
   int x{arg};
   func1(); // function call
#if MACRO == 7 // Preprocessor directive after the function call.
#endif
    return x;
}

int main()
{
  return 0;
}

Root Cause
The root cause is a weak heuristic to identify the location of the preprocessor directive. It uses the isFunctionSuccessorLocation predicate to check for the location of the successor of the function call which in this case becomes the return statement(?) and hence, when it checks whether the macro is before the function call's end line, it holds true and the false positive is raised.
Fix Strategy
Since the rule mentions usage of preprocessor directives in function call arguments, we can leverage the argument's location instead of the function call's successor's line information. We can look for a function call's argument which is after the preprocessor directive's line number. Hence, changing the isLocatedInAFunctionInvocation predicate like below, we can fix the false positives and find the intended calls which have preprocessor directives inside.
/**
 * Find a preprocessor directive nestled in between the
 * function call's start line and its argument's start line.
 * E.g.
 *  memcpy(dest, src, // function call
 *  #ifdef PLATFORM1 //preprocessor directive
 *  12 // argument
 *  #else
 *  24
 *  #endif
 *  );
 */
PreprocessorDirective isLocatedInAFunctionInvocation(FunctionCall c) {
  exists(PreprocessorDirective p, File f, int startCall, int endCall |
    isFunctionInvocationLocation(c, f, startCall, endCall) and
    exists(Expr arg, int startLine, int endLine |
      c.getAnArgument() = arg and
      isPreprocDirectiveLine(p, f, startLine, endLine) and
      startCall < startLine and
      startCall < endLine and
      arg.getLocation().getStartLine() > startLine
    ) and
    result = p
  )
}

Thanks @rak3-sh! That looks like a reasonable fix to me.


After install, cannot log in to /admin

Following directions here: https://www.webiny.com/hub/tutorials/installing-webiny-on-vagrant
Host system: Fedora 26 x64 (fully patched)
Vagrant: 2.0.0 installed using Hashicorp rpm
VirtualBox 5.2 installed from Oracle repo
I patched Vagrant to use VirtualBox 5.2, according to https://github.com/hashicorp/vagrant/issues/9090#issuecomment-338084000

During "vagrant up", I found that /home/vagrant/code in the guest is not NFS mounted. Unknown cause (I have disable firewalld and set SELinux to permissive mode.)
I ignored that and ran "yarn add webiny-cli" only to fail because the ownership of /home/vagrant/code was root:root, which I had to change to vagrant:vagrant to get webiny-cli to install.
After running "webiny-cli" and answering the questions, I tried loading the site but it failed, displaying the PHPInfo() page. Although the setup did not show any message regarding nginx, I found that it did not copy the vhost.conf to /etc/nginx/sites-enabled/ directory. I copied the file to /etc/nginx/sites-available/ and symlinked it to /etc/nginx/sites-enabled and restarted nginx.
I I tried loading the site's /admin resource but got a Smarty exception about being unable to create a directory. I looked in the guest and found that the /home/vagrant/code/Cache folder was missing completely. I created it and 'chgrp www-data /home/vagrant/code/Cache' and was able to load the /admin page
I could not log in with the user/pass I specified during setup. I keep getting the message "TypeError: Cannot read property 'twoFactorAuth' of null" It is at this point that I am completely blocked from trying anything with Webiny.
Any help resolving this, clue-by-4 upside the head, or drop-kicks to the brain would be appreciated.

Side note: I did notice two settings in /home/vagrant/code/Configs/Base/Security.yaml:
Security:
    TwoFactorAuth:
        Key: removed

and
Login:
    SecurityFirewall: Webiny
    2FactorAuth: false

I would suggest being consistent throughout all code/configs by using either "TwoFactorAuth" or "2FactorAuth" - not both.

Hey @jeffstoner
just to let you know that we are working on creating an install application that will fully automatize Webiny setup on your local machine, and this error should also go away.
We are finalizing the installer for Windows and MacOs and then will work on the unix one. Should take another week or two.
Once we are ready, I'll give you a ping via this ticket, and then you can let us know if the issue is resolved.
As for the 2FA side note, point taken :) I'll see we clean that up in one of the next releases.
Cheers

/me destroys vagrant vm, makes sandwich, and waits

Hey @jeffstoner,
appreciate your patience...it took us bit more time than originally planned to get the installers up and running, but it's done now 🎉
You can download the installer from this page for your OS: https://www.webiny.com/download
Since you've tried installing manually the first time, I suggest you remove all the files and destroy the vagrant machine, this way the installer will pull the newest vagrant box.
Let me know how it goes :)

Installer downloaded and installed. I ran it...and got an error. The issue was... Vagrant. My recent upgrade to Fedora 27 replaced my Vagrant rpm from Hashicorp with the (older) version in Fedora's repository (which kinda pissed me off.) So, I ripped it out and downloaded 2.0.1 from Hashicorp and installed it (incidentally, this fixed the issue with using Virtualbox 5.2, too.)
Running the installer and choosing the Vagrant build worked. I spun up a box and watched it pull in the Webiny v0.1.6 image. So, things are looking much better!
I'll give the Docker build a whirl while I'm at it.
Thank you!

Nice ... I'm glad to hear it worked!
Btw, docker runs so much faster compared to vagrant, that's why we highlighted it as the recommended option.
In case of any other problems ... you know where to find us :)
Happy coding 🎉


check 'callerWindow.contentWindow.sendMessage' in NameTransport

In my project, I need to move the script in name.html to another javascript file like name.js.
so, sometime it will fail while call callerWindow.contentWindow.sendMessage.
my resolution is:
easyXDM.stack.NameTransport = function(config){
    ...
    function _onMessage(message){
        (function test(){
            if (typeof callerWindow.contentWindow.sendMessage == "function") {
                pub.up.incoming(message, remoteOrigin);
            }
            else {
                setTimeout(test, 50);
            }
        }());
    }
    ...

Why would this fail? If the script is loaded synchronously (eg a script tag) then this should be loaded prior to the page firing the load event, no?
But I don't get how you expect this to work, _onMessage is called by the code in the script you are mentioning, so that test will always return true..


Update nodejs default to 4.2.1

Is v4.2.1 (or v4.2.2) already available at gcr?
I deployed my Node.js app to GAE managed VM yesterday, but when I SSH into the VM, I still got 0.12.7 on node --version.
Thanks!

The change to 4.2.1 should be rolling out this week (right @dlorenc ?).  That change only impacts the default version that's on the image.  Did you try pinning the engines field in your package.json?  This works for me:
"engines": {
  "node": "4.2.2"
}

Hope this helps!

Thanks @JustinBeckwith for the answer. Unfortunately, I have engines field set on my package.json but it still doesn't work. Calling /nodejs/bin/node --version inside the container still return 0.12.7

Ok - a few questions :)  How are you using this image?  Are you deploy to App Engine with gcloud app deploy?  Could you paste the console output of your deploy command?

I use gcloud preview app deploy app.yaml to deploy.
Here's the console output from the command (I've replaced the project id :-) ):
WARNING: Soon, deployments will set the deployed version to receive all traffic by
default.

To keep the current behavior (where new deployments do not receive any traffic),
use the `--no-promote` flag or run the following command:

  $ gcloud config set app/promote_by_default false

To adopt the new behavior early, use the `--promote` flag or run the following
command:

  $ gcloud config set app/promote_by_default true

Either passing one of the new flags or setting one of these properties will
silence this message.

You are about to deploy the following modules:
 - project-protoman/default (from [/Users/abiyasa/works/protoman/app.yaml])
     Deployed URL: [https://20151110t100000-dot-project-protoman.appspot.com]
     (add --promote if you also want to make this module available from
     [https://project-protoman.appspot.com])

Beginning deployment...
Verifying that Managed VMs are enabled and ready.

Provisioning remote build service.
Copying certificates for secure access. You may be prompted to create an SSH keypair.
Building and pushing image for module [default]
----------------------------- DOCKER BUILD OUTPUT ------------------------------
Step 0 : FROM gcr.io/google_appengine/nodejs
---> 49d1865ecb8d
Step 1 : COPY package.json /app/
---> 340b04382349
Removing intermediate container 48a605056193
Step 2 : RUN npm --unsafe-perm install --production
---> Running in bc8167f43cf4
><EMAIL_ADDRESS>install /app/node_modules/bcrypt
> node-gyp rebuild
make: Entering directory `/app/node_modules/bcrypt/build'
CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o
CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt.o
CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt_node.o
SOLINK_MODULE(target) Release/obj.target/bcrypt_lib.node

... (truncated)

---> 4034a3dc58b9
Removing intermediate container bc8167f43cf4
Step 3 : COPY . /app/
---> b997ef4528be
Removing intermediate container 74614761a1ae
Step 4 : CMD npm start
---> Running in c117003b5e76
---> 10853fca60d2
Removing intermediate container c117003b5e76
Successfully built 10853fca60d2
--------------------------------------------------------------------------------

Copying files to Google Cloud Storage...
Synchronizing files to [gs://staging.project-protoman.appspot.com/].
Updating module [default]...\Deleted [https://www.googleapis.com/compute/v1/projects/project-protoman/zones/us-central1-f/instances/gae-builder-vm-20151110t100000].
Updating module [default]...done.
Deployed module [default] to [https://20151110t100000-dot-project-protoman.appspot.com]

What's your package.json look like?  Also can you run gcloud components update?

I've run gcloud components update 2 days ago so I got All components are up to date.
Here's my package.json:
{
  "name": "protoman",
  "version": "0.3.0",
  "description": "protoman application",
  "private": true,
  "main": "index.js",
  "engines" : {
    "node" : "4.2.2"
  },
  "scripts": {
    "test": "grunt test",
    "start": "node index.js",
    "build": "grunt build",
    "lint": "grunt jshint"
  },
  "dependencies": {
    "bcrypt": "^0.8.0",
    "bluebird": "^2.9.25",
    "confit": "^1.2.0",
    "connect-flash": "^0.1.1",
    "dustjs-helpers": "~1.6.3",
    "dustjs-linkedin": "~2.6.2",
    "engine-munger": "^0.2.8",
    "express": "^4.12.3",
    "gcloud": "^0.24.1",
    "kraken-js": "^1.0.5",
    "localizr": "^0.1.6"
  },
  "devDependencies": {
    "browserify": "^5.11.0",
    "browserify-dustjs": "^0.1.1",
    "browserify-shim": "^3.8.0",
    "chai": "^3.2.0",

... (truncated)

    "grunt-karma": "^0.12.1"
  },
  "browserify": {
    "transform": [
      "browserify-shim",
      "browserify-dustjs"
    ]
  },
  "browser": {
    "jquery": "./node_modules/jquery/dist/jquery.js",
    "bootstrap": "./node_modules/bootstrap/dist/js/bootstrap.js"
  },
  "browserify-shim": {
    "jquery": "$",
    "bootstrap": {
      "depends": [
        "jquery"
      ]
    }
  }
}

Here's my Dockerfile:
FROM gcr.io/google_appengine/nodejs

COPY package.json /app/

RUN npm --unsafe-perm install --production
COPY . /app/
CMD npm start

and app.yaml:
runtime: custom
vm: true
api_version: 1

# [START scaling]
automatic_scaling:
  min_num_instances: 1
  max_num_instances: 2
  cool_down_period_sec: 60
  cpu_utilization:
    target_utilization: 0.5
# [END scaling]

health_check:
  enable_health_check: True
  check_interval_sec: 10
  timeout_sec: 8
  unhealthy_threshold: 2
  healthy_threshold: 2
  restart_threshold: 60

env_variables:
  NODE_ENV: production

skip_files:
- ^(.*/)?#.*#$
- ^(.*/)?.*~$
- ^(.*/)?.*\.py[co]$
- ^(.*/)?.*/RCS/.*$
- ^(.*/)?\..*$
- ^(.*/)?.*/node_modules/.*$
- ^(.*/)?.*\.log$

Ah!  That's what was missing.  For better or for worse, the code that auto-installs the right node version is placed into a Dockerfile we generate for you ambiently when you run gcloud app deploy.  That only happens if runtime: nodejs in your app.yaml.
Do you need to have your own dockerfile?  You could just delete that, use runtime: nodejs in your app.yaml, and this should work.  Alternatively, if you need to have your own dockerfile you can run gcloud preview app gen-config --custom.  This will generate a dockerfile for you that has all of the runtime choosing code.

Thanks @JustinBeckwith! I'm not aware that you could generate Dockerfile using gcloud command. I will try this & hopefully it works. Thanks again!

I just want to confirm that both ways (setting runtime to nodejs or generate dockerfile via gcloud) are working. I got my image build with Node.js v4.2.2.
Unfortunately, my npm start failed due to binding error on bcrypt (/app/node_modules/bcrypt/node_modules/bindings/bindings.js:83) but that's another issue anyway.
Thanks for the help


Added matlab object saving

Since many people incorporate MATLAB classes, it would be useful to support saving the (public) properties of matlab objects.
The code is tested for empty object, i.e. numel(obj) == 0; vector of objects. Currently, the code flattens 2D or higher dimensional array of objects to a vector.

thank you Sertan! people had requested this feature before.
your patch is in upstream now.
have you tested this with octave?

No problem, I'm happy that I am able to contribute :)
I have not tested it with Octave, sorry. This might not also work on earlier versions of MATLAB (< 2007-2008), where class syntax was different as far as I know.

I have not tested it with Octave, sorry. This might not also work on earlier versions of MATLAB (< 2007-2008), where class syntax was different as far as I know.

it would be nice to use the existing "isoct" variable or opt.IsOctave field in the savejson to test for octave.

Also, it might be good to add this capability to saveubjson.m too.

that would be nice too

Ok, I'll make another pull request for saveubjson.m later this week. For octave, it might take a couple of more days...


Moving example data to folder

Pull Request Test Coverage Report for Build 739154288

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 738782763:
0.0%

Covered Lines:
2

Relevant Lines:
2

💛  - Coveralls


Add grep support to file patterns

Gemini has a great feature with--grep so it can isolate what it's testing. It might be inappropriate for us as we have 1:1 input files but consider adding --grep support or at least to something that integrates more tightly with Gemini

This should be possible to make it an option specific to Gemini (and maybe other loaders as well?)


Tcat client fixes

Minor fixes and improvements on TCAT client including:

fix in handling cert-path in can command
adding timeouts during BLE TLS connection establishement.

@jwhui @abtink Can I cont on your review here?

@canisLupus1313 , would you like to have these commits squash-merged or merged separately? If so, can you add the PR# into the commit title?
For example:
[tcat] add timeout while connecting over BLE (#10597)

@canisLupus1313 , would you like to have these commits squash-merged or merged separately? If so, can you add the PR# into the commit title?
For example:
[tcat] add timeout while connecting over BLE (#10597)

I have added the PR number to commit.

@jwhui Sorry I misunderstood you. I have updated the PR.


BUG: After opening the local application, the clipper web page does not appear after the obsidian v1.7 web clipper chrome plugin

Version (please complete the following information):
ubuntu 22.04LTS
gnome 42.9
kernel linux 6.8.0

OS: [e.g. Windows] linux(Ubuntu)
Browser [e.g. Chrome, Firefox] Chrome
Web Clipper version: [e.g. 0.9.5] 0.10.5
Obsidian version: [e.g. 1.7.5] 1.7.7

Describe the bug
A clear and concise description of the bug. If applicable, add screenshots to help explain the problem.
In linux (ubuntu), I use chrome to click the obsidian web clipper plug-in and open the obsidian local warehouse. It can be opened normally, but there is no web page md file
Expected behavior
Create an md file after opening the warehouse normally
What did you expect to happen?
URLs where the bug occurs
https://course.rs/about-book.html
Any specific web pages where the bug can be replicated.
To reproduce
Steps to reproduce the behavior:

Go to '...' https://course.rs/about-book.html
Click on '....' Obsidian web clipper
Scroll down to '....' Open my reposite
See error

Your template file
If you are using a custom template (i.e. not the Default template).  Paste the JSON code below.
(paste here)

Please follow the troubleshooting instructions for Linux and use the Discord channel for support on this issue
https://help.obsidian.md/web-clipper/troubleshoot


Mark #include_drs directive as invalid

Because it can't be used in custom random maps. See mangudai/mangudai#4.

This is a job for a linter.


Code signing error in macOS Sierra

In macOS Sierra 10.12 Beta (16A312a) when I encounter an error in a console which used to be just colored wonderfully in red by your library, I instead get the following error:
dyld: warning: could not load inserted library '/usr/local/lib/stderred/libstderred.dylib' into library validated process because no suitable image found.  Did find:
        /usr/local/lib/stderred/libstderred.dylib: code signing blocked mmap() of '/usr/local/lib/stderred/libstderred.dylib'

Any idea how to fix this and make the library work again? Thank you

I'm currently running on Sierra and have not changed my install using DYLD_INSERT_LIBRARIES. You can check the way I set it up in my shell configuration files

I've tried this again hoping for a magical auto-fix :), but the issue is still there. After some googling I've downloaded that 9G abomination that is XCode to create a developer code signing certificate to sign the three created libraries (libpolyfill.dylib, libstderred.dylib, and libtest_stderred.dylib) with sudo  codesign --force --deep --sign "Mac Developer" -o library /path/to/dylib (I've tried different options, with/without --force, with/without -o or --deep etc), but all I'm just getting is a slightly modified error
(by the way, the library IS working for regular output, but for some commands like git status it gives out these errors, so it's really unusable)

dyld: warning: could not load inserted library '/usr/local/lib/stderred/libstderred.dylib' into library validated process because no suitable image found.  Did find:
/usr/local/lib/stderred/libstderred.dylib: code signature in >
(/usr/local/lib/stderred/libstderred.dylib) not valid for use in process using Library Validation: mapping process is a platform binary, but mapped file is not

Any idea on how to fix this code signing issue?

Hi @eugenesvk , i'm currently running in the same kind of trouble. Did you finally find a solution ?

@jmcollin78 no :(


Build never end

I've tried 3 times and the build never ends.
buildscript {
  repositories {
    jcenter()
    maven { url "https://raw.github.com/Raizlabs/maven-releases/master/releases" }
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:1.1.0'
    classpath 'com.raizlabs:Griddle:1.0.3'
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
  }
}

allprojects {
  repositories {
    jcenter()
    maven { url "https://raw.github.com/Raizlabs/maven-releases/master/releases" }
 }
}

are you sure its a DBFlow issue and not a gradle issue?

Github had experienced DDOS attacks and its possible that its hanging because github wasn't responding.


Set block color with extensions

New version of #938.
In #938 I added core/extensions.js to the set of files for building blocks_compressed.js, and in blocks_vertical/vertical_extensions.js I required Blockly.Extensions.
That caused build problems because extensions.js needed to pull in a whole bunch of other files.
I've removed the offending lines from this commit.  The code in vertical_extensions.js won't get optimized out during compression because it runs when it's loaded, and the calls to Blockly.Extensions will happen after Blockly has been loaded, while initializing blocks.  Using blocks_compressed.js without compressed or uncompressed Blockly is expected to fail, and that's fine.

Once this is merged #945 should stop being conflicted.

Ok, this seems to build correctly :)


java.lang.NoSuchMethodError: No static method getGeoDataClient() v 5.0.0

 java.lang.NoSuchMethodError: No static method getGeoDataClient(Landroid/app/Activity;Lcom/google/android/gms/location/places/PlacesOptions;)Lcom/google/android/gms/location/places/GeoDataClient; in class Lcom/google/android/gms/location/places/Places; or its super classes (declaration of 'com.google.android.gms.location.places.Places' appears in /data/app/com.valyangadi.androidapp-2/base.apk:classes2.dex)
i enabled api and added api key but it is showing above error on start
                  ```
      startActivityForResult( new LocationPickerActivity.Builder()
                                    .withLocation(41.4036299, 2.1743558)
                                    .withGeolocApiKey("key=myapikey")
                                    .withSearchZone("es_ES")
                                    .shouldReturnOkOnBackPressed()
                                    .withStreetHidden()
                                    .withCityHidden()
                                    .withZipCodeHidden()
                                    .withSatelliteViewHidden()
                                    .build(getApplicationContext()), 654);

The method in LocationPickerActivity needs to be modified as per new googleplacesAPI docs. The getGeoDataClient object needs to be created with following params.
getGeoDataClient(this)
@ferranpons
i have create PR, please accept it
Thank you

@gvsharma You're right, we are using a deprecated method. I've accepted your PR.
Many thanks for your contribution.

Welcome.. happy to join here as contributor

Failed to resolve: com.schibstedspain.android:leku:5.1.0

what is the solution?

try 5.1.1

Failed to resolve: com.schibstedspain.android:leku:5.1.1

@Midhilaj @gvsharma version 5.1.1 will be published soon. Please wait a bit.

we are waiting

@Midhilaj @gvsharma finally it's here. New version 5.1.1 is ready for download. If you still have issues please re-open this issue or create a new one.
Many thanks for your contribution!

Failed to resolve: com.schibstedspain.android:leku:5.1.1

https://github.com/SchibstedSpain/Leku/issues/206


Add GLES3 infrastructure for lightmap baking in the compatibility backend

Combined with https://github.com/godotengine/godot/pull/87340 this allows baking lightmaps from the compatibility backend as long as the device supports creating an RD context.
This was needed to verify that https://github.com/godotengine/godot/pull/87340 works as intended.
This PR can still be tested without merging https://github.com/godotengine/godot/pull/87340 as the functions it implements are all available through the RenderingServer API directly.
Skies are slightly brighter in the compatibility backend right now and this has an impact on lightmap brightness. The results when baking from the compatibility backend are slightly brighter than in the other backends, but the results are very close.

The LightmapGI node configuration warning can be removed now:

For now, I have just updated the warning as lots of people use Godot on devices that don't support Vulkan. That's why the warning now says that it requires a device that supports the RD backends rather than just saying its unsupported

Pushed an update with the documentation update and to fix the leaking textures.

Thanks!


setFrameCompletedCallback is only called once, then it crashes

Describe the bug
We are trying to render into an AVAssetWriter, for that we need to know when the frame is completed.
We are trying to use swapChain->setFrameCompletedCallback for that purpose.
The frame callback is called once, but after that we get an assertion error:
Assertion failed: (mInvoker && mInvocable), function operator(), file Invocable.h, line 134.

To Reproduce

Set a frame completed callback using the metal backend:

auto swapChain = _engine->createSwapChain(nativeWindow, SwapChain::CONFIG_APPLE_CVPIXELBUFFER);
  swapChain->setFrameCompletedCallback(
                                       nullptr, [](SwapChain* UTILS_NONNULL swapChain) {
                                           // note: we pass a completely empty callback, and it still crashes
                                       });

Expected behavior
The callback gets called continuously while rendering.
Screenshots

Logs
If applicable, copy full logs from your console here. Please do not
use screenshots of logs, copy them as text, use gist or attach an uncompressed file.
Desktop (please complete the following information):

OS: iOS
GPU: Apple GPU
Backend: Metal

Smartphone (please complete the following information):

Device: iPhone 13 Pro
OS: iOS 17.4

Additional context
n/a

cc @mrousavy


Workspace - Workspace name not update in real time for secondary device

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

Version Number: 1.4.55-0
Reproducible in staging?: Y
Reproducible in production?: N
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause - Internal Team
Action Performed:
Precondition:
Login with the same account in the main testing device and a secondary device

On the main testing device create New workspace
Change the name of the Workspace
Notice the secondary device Workspace page

Expected Result:
Workspace name on the secondary device should be updated in real time
Actual Result:
Workspace name does not update in real time for secondary device
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/34ede0d4-decc-432a-bfd2-cdaef8bdc4c8
View all open jobs on GitHub

@srikarparsi  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

I dont think this has to be a blocker, taking over as its related to the simplified collect

Same cannot repro locally, going to close
https://github.com/Expensify/App/assets/36083550/c0ecb194-be69-485c-8b89-0b54df8360ba


Replace header title to IMAGE

static navigationOptions = {
title: 'Coupon',
header: {
titleStyle: {
},
},
tabBar: tabBarSelecter('coupon')
}
Currently i can put a 'Text' for title.
how could i put Image thing there?

title can take a react component, so title: <Image /> should work

title:  doesn't get error page, but could not see it

Same problem here. Tried using an image, but does not work.

Same here.  No error, just nothing displayed for a title.

+1

+1

Try specifying width and height

I can't see the image as well:
static navigationOptions = {
    title: ({ state }) => {
      if (typeof state.params !== 'undefined') return state.params.category.name
      return (
        <Image
          source={logoPng}
          style={{ width: 10, height: 10 }}
          resizeMode="contain"
        />
      )
    },

Tried mounting the image in a View like that and can see it, so my import of the image src should be correct.


question: Why a MySqlOperator only could run single sql command?

How is if I want to run multiple SQL command in one task?

I just merged a commit that enables passing a list of statements to the sql parameter of the operator. The hook already enabled this, but the operators would fail when attempting logging the list...
https://github.com/airbnb/airflow/commit/4b20b3dfed2935e25ac07789a0cf1572d84a4ad0

What is the philosophy of one task with one sql query ; )))

Thank yhou

Could we change to
if type(self.sql) == list:
  log = "\nExecuting: ".join(self.sql)
else:
  log = str(self.sql)
logging.info('Executing: ' + str(self.sql))

@mistercrunch My major question is why can not run multiple SQL at the same time.
Such as my sql file have multiple SQL script slice by ;


MSTest 3.4.1 does not work with .net472 AND when using deployment item when running from Visual Studio

Describe the bug
Unit tests using 3.4.1 and targeting net472 with DeploymentItem triggers a stackoverflow:
[5/28/2024 2:47:19.283 PM] [Warning] Test Run deployment issue: Failed to get the file for deployment item 'DoesNotExists': System.IO.FileNotFoundException: Could not find file 'source\repos\TestProject1\bin\Debug\net472\DoesNotExists'.
[5/28/2024 2:47:23.241 PM] [Error] The active test run was aborted. Reason: Test host process crashed : Process is terminated due to StackOverflowException.

Steps To Reproduce
Create a  new test project in a new solution targeting  net472 and add a Deployment Item attribute

Expected behavior
Test should pass
Actual behavior
Test cannot be executed
Additional context
Cannot be reproduce in command line, only in Visual Studio  17.10.0 (didn't try other versions)

Thank you for the reproducer @fforjan. I confirm I can repro the issue and will work on a fix now.


Option to Pin Windows to desktop

Description of the new feature / enhancement
Add a button to all windows (or just another creative way) to toggle a window to stay On Top of all other windows.
Scenario when this would be used?
Oh so many reasons to not have a window disappear when another window is moved over it.
Supporting information
No response

Duplicate of https://github.com/microsoft/PowerToys/issues/13. Thanks for the suggestion!


moti is not working in expo router project with Expo sdk 49

Is there an existing issue for this?

[X] I have searched the existing issues

Do you want this issue prioritized?

[ ] Yes, I have sponsored
[ ] Not urgent

Current Behavior
i was using  npx create-expo-app@latest --template tabs@49 to create a expo project with expo sdk 49, but it is not working with error (0 , _framerMotion.usePresence) is not a function
Expected Behavior
No response
Steps To Reproduce

create new Expo router project with sdk49. command:  npx create-expo-app@latest --template tabs@49
install moti dependency
use moti component
get into an error

(0 , _framerMotion.usePresence) is not a function
Call Stack
Moti
node_modules/moti/build/core/motify.js:14:15
renderWithHooks
node_modules/react-dom/cjs/react-dom.development.js:16307:7
updateForwardRef
node_modules/react-dom/cjs/react-dom.development.js:19229:10
beginWork
node_modules/react-dom/cjs/react-dom.development.js:21639:10
HTMLUnknownElement.callCallback
node_modules/react-dom/cjs/react-dom.development.js:4166:9
Object.invokeGuardedCallbackDev
node_modules/react-dom/cjs/react-dom.development.js:4216:16
invokeGuardedCallback
node_modules/react-dom/cjs/react-dom.development.js:4279
beginWork$1
http://localhost:8081/index.bundle

Versions
- Moti: 0.29.0
- Reanimated: 3.11.0
- React Native: 0.72.6

Screenshots
No response
Reproduction
https://codesandbox.io/p/devbox/qh92f2?file=%2Fapp%2Fmodal.tsx%3A3%2C42
this sandbox can not see through the problem, but it can show precise error if you reproduce in the local

having the same issue
Versions:
"expo": "^51.0.8",
"moti": "^0.29.0",
"react-native": "0.74.1",
"react-native-reanimated": "~3.10.1"


CTRL+A -> CTRL+C -> CTRL+V doesn't work in the Script editor

When on the script editor, when you select the script using CTRL+A, then copy it using CTRL+C, if you paste it using CTRL+V, no text will be pasted. However, if you select by dragging the selection throughout the whole script, then copy it, it will work when you paste.
For example, copy a whole script from script editor and paste it into Notepad++, nothing will be pasted into Notepad++. But if you select using the mouse, then paste it into Notepad++, it works fine. Also works fine from Notepad++ to Script Editor.

It is only "copy" what not work.
And it have nothing to do with [CTRL]+[C], because that is only a shortcut of the mnu-entry Edit->Copy, what not work.
But if you have from anywhere else copied text, you can paste it in the editor. And the "Select All" [CTRL]+[A] works, too.

This is on windows?

i'm linux and i have the same behavior. this is the error i get on terminal:
ERROR: _base_get_text: Index p_to_column out of size (text[p_to_line].length()+1).
At: scene/gui/text_edit.cpp:2142.

I'm on Linux and I can't reproduce this issue in any way in Alpha 2.0. From test made by @eska014 it seems in Windows it's working good as well. Since the bug is quite old and it seems to be fixed now I will archive it. If someone still is experiencing it, please let me know so I could reopen.

verry anonying bug


Feat: Menubar

Implemented top nav bar.

Blocks now contain an instance name field @Sing-Li

@Sing-Li I can add https://github.com/llmshare/llmproto/pull/14#issuecomment-1738998683 this, however I am not sure how we will use the values when the user continues with the current project (in a new session).

@spiritanand it is not just instance name       Every single field / argument should have a name as well.
  It is absolutely necessary to have them.  Otherwise, users won't be able to work with multiple projects.

The current schema is not really applicable.  We'll need to revise it according to the comment prior.  And our discussion a month ago.

@spiritanand I've tested it.   The topnav is not implemented correctly.  Please re-read the prior instructions!    We should not just add code and dependencies just to ADD BACK the button that you've removed a few PRs ago.

@spiritanand it is not just instance name Every single field / argument should have a name as well.

A name? What and how would this be used @Sing-Li

As far as the x, y location OF ALL blocks and their state. It is absolutely necessary to have them. Otherwise, users won't be able to work with multiple projects.

I agree @Sing-Li it is absolutely necessary, I am just saying that I am not sure how we will use those coordinates when the user continues from an existing project. I mean, we will have to see how we can render a node at the exact coordinate.

The current schema is not really applicable. We'll need to revise it according to the comment prior. And our discussion a month ago.

Yes, of course, revising the schema is not something which is too difficult. It can be done, but before that we need to be clear on what it needs to be.

Also were you unable to remove the search bar on top of the drop down? Have you researched rete.js code?

Yes I did, I could not find a way in my probe.

@spiritanand I've tested it. The topnav is not implemented correctly. Please re-read the prior instructions! We should not add tons of code and dependencies just to ADD BACK the button that you've removed a few PRs ago.
Read this lengthy discussion CAREFULLY - and note the requirements of the TopNav/Menu ( where it said NO button in the menu....) --> #14 (comment)

@Sing-Li what and how should a top nav be? How exactly will the code be generated if there are no dependencies? The button needs to be replaced with what exactly?

@spiritanand it is not just instance name Every single field / argument should have a name as well.

A name for every argument? I did not understand this @Sing-Li We are already storing the name of the instances the user can edit.

 It is absolutely necessary to have them. Otherwise, users won't be able to work with multiple projects.

I agree @Sing-Li it is absolutely necessary, I am just saying that I am not sure how we will use those coordinates when the user continues from an existing project. I mean, we will have to see how we can render a node at the exact coordinate.

Yes, add it now.  (even if you are unable to find the way to put blocks at specific position)

The current schema is not really applicable. We'll need to revise it according to the comment prior. And our discussion a month ago.

Yes, of course, revising the schema is not something which is too difficult. It can be done, but before that we need to be clear on what it needs to be.

We are clear.   Just add the co-ordinate and size.   We'll grow it as needed.  BUT we must change it - because right now it is not applicable to our app.

Also were you unable to remove the search bar on top of the drop down? Have you researched rete.js code?

Yes I did, I could not find a way in my probe.

Unfortunate.  We'll see if other community members can help later.   We need to remove it.

@spiritanand I've tested it. The topnav is not implemented correctly. Please re-read the prior instructions! We should not add tons of code and dependencies just to ADD BACK the button that you've removed a few PRs ago.
Read this lengthy discussion CAREFULLY - and note the requirements of the TopNav/Menu ( where it said NO button in the menu....) --> #14 (comment)

@Sing-Li what and how should a top nav be? How exactly will the code be generated if there are no dependencies? The button needs to be replaced with what exactly?

@Sing-Li what and how should a top nav be? How exactly will the code be generated if there are no dependencies? The button needs to be replaced with what exactly?

@Sing-Li so there should basically be a dropdown menu with two items and multiple subitems?

@Sing-Li what and how should a top nav be? How exactly will the code be generated if there are no dependencies? The button needs to be replaced with what exactly?

@Sing-Li so there should basically be a dropdown menu with two items and multiple subitems?

Yes.  Then @Safdarahmedd can hook his file manager into the menu subitems later.   And the entire menu will expand with many more items and subitems over time.

and size. We'll grow it as needed. BUT we must change it - because right now it is not applicable to our app. We NEED metadata for the blocks.

For now, the size is constant and cannot be edited by the user @Sing-Li
Maybe we can add size once it is configurable.

@spiritanand  thanks.  Looks good.  Merging this down now.


Detect MSI dependencies to uninstall in correct order

If at all possible, detect programs which depend on the MSI package which is going to be uninstalled, offer to uninstall all those programs/packages too, and uninstall them in the correct order.

Good idea, it sounds doable, and might be expanded to all uninstaller types.
Did you do any research/thinking on how to do it?

Turns out it's difficult to tell what is depending on what, this might not be doable without a lot of work and disk grinding.
For now I've added a new uninstall step that scans for related applications and offers to uninstall them as well.


jjb: rename and disable disruptive upgrade job

template still has the old name:
jenkins/ci.suse.de/templates/cloud-mkcloud-job-upgrade-nondisruptive-template.yaml

@Itxaka thanks for the hint. updated


Bump Harfbuzz version in Travis config to 1.0.6

If desired merge this after a fix for #186 is in place to avoid Travis flashing red at us.
Also if you like I can split the build up to test across multiple versions of Harfbuzz if the fix for this could involve future breakage but I've left it at one for now pending better knowledge of what we are testing for and why.

I don't think there's a need for testing multiple versions of Harfbuzz. It's very rare that we'll require features from Harfbuzz that aren't released, and I'll try to supply fallbacks to FreeType where possible. So I don't think this is necessary. Let's wait until HB 1.0.7,  and use that opportunity to make sure the font metrics code is tested.


CRDB interface stability docs

This commit includes the following new pages:

Overview of CockroachDB Interfaces
Interface Types
Stability Guarantees
The Lifecycle of Experimental, Beta, and Stable Features

This commit is a modified version of @knz's API stability doc (#4326)
This commit will also inform #5454, which could form a basis for how we document API stability for each interface.

This change is

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/f0f208b62c99b9894f26e4e86ab168849faf16b6/
Edited pages:

v19.2/compatibility-and-programmability-guarantees.md
v19.2/experimental-feature-lifecycle.md
v19.2/interface-types.md
v19.2/overview-of-apis-and-interfaces.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/10c9fc352a01245f0f99b410cf1619f0979c70ff/
Edited pages:

v19.2/compatibility-and-programmability-guarantees.md
v19.2/experimental-feature-lifecycle.md
v19.2/interface-types.md
v19.2/overview-of-apis-and-interfaces.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/cd528fc3ac4acea13930ab700e158f544bd61af0/
Edited pages:

v19.2/compatibility-and-programmability-guarantees.md
v19.2/experimental-feature-lifecycle.md
v19.2/interface-types.md
v19.2/overview-of-apis-and-interfaces.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/b8834a9b018a7e5f0c311717be85846822b677cc/
Edited pages:

v19.2/compatibility-and-programmability-guarantees.md
v19.2/experimental-feature-lifecycle.md
v19.2/interface-types.md
v19.2/overview-of-apis-and-interfaces.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/e69a5fd398e228c356a14db0e90586a9d112d89b/
Edited pages:

v19.2/compatibility-and-programmability-guarantees.md
v19.2/experimental-feature-lifecycle.md
v19.2/interface-types.md
v19.2/overview-of-apis-and-interfaces.md
v19.2/sql-functional-behavior-guarantees.md

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/e88d36e65dae58c9efdd524d9400cf75cd5db8e3/
Edited pages:

v19.2/compatibility-and-programmability-guarantees.md
v19.2/experimental-feature-lifecycle.md
v19.2/interface-types.md
v19.2/overview-of-apis-and-interfaces.md
v19.2/sql-functional-behavior-guarantees.md

@ericharmeling, @knz, should we leave this open, or has this initiative evolved in other places (internal wiki) and we need to restart on the docs side when it's prioritized?

has this initiative evolved in other places (internal wiki) and we need to restart on the docs side when it's prioritized?

I believe so. Closing this PR for now.


Female & Male SMPL Models

Hi Zhixuan, did you use different SMPL models (female / male) for subjects of different genders? How can we know for each subject whether the female or the male model was used? Thanks :)

@CalciferZh Thank you for being interested in HUMBI. We use neutral SMPL model so you do not have to differentiate them.


Empty response in postman

Hi @Rudge,
While running the application, I am getting an empty response in postman in all endpoints.
I had tried both ways with 'localhost' and '<IP_ADDRESS>'.
The same thing is happening with data and without data.
Please help me to figure this out.

Hi @Rudge,
I have gone through the source code, the User related code is commented or yet to do.
Please push the latest changes to the repository.

Hi @dpnkrg. Yes the project is WIP yet. I have some changes and I will update but don't have many things.

Hi @Rudge, Push the changes, so I can test it out.

Hi @dpnkrg, sorry my delay. I committed the user features and the article features are coming soon.

Howdy,
Just found this repo ... nice work and awesome codebase for starters .
Any change that this codebase will be updated from WIP to "release"
thx thx

Thanks.
Yes, i'm planning to bump version for all dependencies, but it broken the project.

Hi @RBleyenberg, thank you. Yes, I'm trying to finish to push the changes, but didn't much time to review and commit the final version.


Add coverageReport.

Codecov Report

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

@@            Coverage Diff            @@
##             master       #1   +/-   ##
=========================================
  Coverage          ?   97.28%
=========================================
  Files             ?       14
  Lines             ?      295
  Branches          ?       17
=========================================
  Hits              ?      287
  Misses            ?        8
  Partials          ?        0

Continue to review full report at Codecov.

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


Value type returned in select fields edition and insertion

Hello again Mr. Tabalinas.
I have select fields in my jsgrid which contains data referencing other persistence entities, so the data is an integer id (valueField) and a text name (textField). When inserting or editing, jsgrid always pass an object with a text id value to the insertItem and updateItem callbacks and the grid doesn't show the new/edited value until data is loaded again from the server (because I resolve with that same object)
Shouldn't jsgrid give an id (valueField) with the same type that the select field use? I think It'd be much better.
Thanks.

Actually, select field tries to predict the type of value (whether number or a string). And depending on the type turns a value to number or not. Not sure about your case and why it doesn't work for you, but you can force the type of value with valueType='number' in the field config.

Oh, yes, that works. But I didn't find anything about valueType in the documentation.
My select options always containt a blank one, maybe that is why jsgrid doesn't predict the type right.

 Ok, then maybe it really worth to publish it.


Add sender to AxisChanged event

In the current WPF implementation, AxisChanged (from stable 4.0.48) and AxesChanged (from 4.1.5-beta) always provide null as sender. Is there a reason why the WpfPlot instance cannot specify this as the sender?
A typical and convenient way to match the axes of e.g. 10 plots would be like this:
private void WpfPlot_AxesChanged(object sender, EventArgs e)
{
	if (sender is WpfPlot plot)
	{
		foreach (WpfPlot p in linkedPlots)
		{
			if (!p.Equals(plot))
			{
				// disable and enable event to prevent loops is omitted for brevity
				p.Plot.SetAxisLimits(plot.Plot.GetAxisLimits());
				p.Render();
			}
		}
	}
}

and have all anonymous WpfPlot user controls route the AxesChanged event to this single handler. This is not possible though currently, as the sender is null and so we cannot know the WpfPlot whose axes changed. One would need to make 10 different handlers (WpfPlot1_AxesChanged, WpfPlot2_AxesChanged, ...) like it is done in the examples here  https://github.com/ScottPlot/ScottPlot/blob/4.0-stable/src/ScottPlot.Demo.WPF/WpfDemos/LinkedPlots.xaml.cs#L36-L46

Thanks for the suggestion @at2software!
This would be an improvement, as null isn't particularly useful. I'll make this change in 4.0 and 4.1, then release new packages on NuGet this weekend.
Just this week I wrote a little program which could have benefitted from this, since (like you said) I had to write separate handlers for every plot. https://github.com/swharden/AP-Phase-Analysis

Great, thanks!

I changed the controls as suggested, updated all the demos, merged it in, and will release it on NuGet tonight. Thanks again for the suggestion @at2software!


Text Improvements

Fixed a typo and some other improvements

These look reasonable. I've pulled your branch and submitted it for review by our team.

Thanks @nsadeveloper789. I updated this branch with joepie91's suggestion.

OK. Resubmitted.

When YOU REALLY want to be listed as a contributor

This PR was made before the full open source release so I went for some low-hanging fruit.


PCSX2SaveStateImporter: IllegalArgumentException: newPosition > limit

Whenever I want to load a save state (.p2s file) I'm getting the following error.
Am I using it wrong or is there a bug?
newPosition > limit: (34822610 > 33554432)
java.lang.IllegalArgumentException: newPosition > limit: (34822610 > 33554432)
	at java.base/java.nio.Buffer.createPositionException(Buffer.java:341)
	at java.base/java.nio.Buffer.position(Buffer.java:316)
	at java.base/java.nio.ByteBuffer.position(ByteBuffer.java:1516)
	at PCSX2SaveStateImporter.loadMainMemory(PCSX2SaveStateImporter.java:82)
	at PCSX2SaveStateImporter.run(PCSX2SaveStateImporter.java:36)
	at ghidra.app.script.GhidraScript.executeNormal(GhidraScript.java:397)
	at ghidra.app.script.GhidraScript.doExecute(GhidraScript.java:252)
	at ghidra.app.script.GhidraScript.execute(GhidraScript.java:230)
	at ghidra.app.plugin.core.script.RunScriptTask.run(RunScriptTask.java:47)
	at ghidra.util.task.Task.monitoredRun(Task.java:134)
	at ghidra.util.task.TaskRunner.lambda$startTaskThread$0(TaskRunner.java:106)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)

---------------------------------------------------
Build Date: 2023-May-10 1508 EDT
Ghidra Version: 10.3
Java Home: C:\Program Files\Java\jdk-17.0.2
JVM Version: Oracle Corporation 17.0.2
OS: Windows 11 10.0 amd64
Workstation: ***********

I could have a better look at this later, although for now I would consider just extracting the eeMemory.bin file and importing that on its own. The save state importer was inherited from ghidra-emotionenigne and I'm not sure there's too much use in it. The additional memory blocks it imports aren't usually relevant since they just contain scratch data from whatever point the save state was taken at.

Thought of something: New versions of PCSX2 use zstd compression for savestates. It's possible that's causing problems. Haven't tested this though.

Do tell me if my idea worked.

Sorry, will try it later today

If you're just importing the eeMemory.bin file the PCSX2 save state import script isn't necessary at all. You could just drag the eeMemory.bin file (or the boot ELF) into ghidra's project browser and select the R5900 processor. As I said that script really isn't very useful.

Having trouble reproducing this. Are you running the script from a file setup to use the R5900 processor (probably should've asked that first actually)?

I'm new to Ghidra, so I'm not ruling out mistakes on my side.
The "About " option indicates that I'm using the "MIPS-R5900" processor.
To be honest, I didn't really know what to expect from the script. I thought the whole deal with it was, that it filled out missing parts in the PS2 game data that I'm looking at. Not open another file in a different window.
So what I did, is this:

open the SLUS_203.12 file in CodeBrowser (Final Fantasy X (USA))
run the plugin

In the meantime I tried asking GPT-4 to explain and fix the issue and I'm testing the proposed changes right now. At least I'm not getting an error anymore.
Here the explanation and the fix that it came up with for the loadMainMemory function:
GPT-4: There seems to be an assumption in the method that the maxAddress will always be less than or equal to the size of the ByteBuffer (i.e., the buf.limit()). But this assumption may not hold true, as the maxAddress is based on the memory block offsets and not the size of the data in the ByteBuffer. If the maxAddress exceeds the size of the ByteBuffer, you get the "newPosition > limit" error.
To fix this, you could revise the method to compute the maxAddress based on the size of the data in the ByteBuffer (i.e., the buf.limit()), rather than the end offsets of the memory blocks:
private void loadMainMemory(GFileSystem gfs) throws Exception {
    ByteBuffer buf = getBuffer(gfs, MAIN_MEMORY);
    MemoryBlock[] blocks = getMemoryBlocks();
    monitor.initialize(blocks.length);
    monitor.setMessage("Loading Main Memory...");
    for (MemoryBlock block : blocks) {
        monitor.checkCanceled();
        if (block.isWrite() && !block.isExecute()) {
            // only load and replace writable, non-executable memory blocks
            int offset = (int) block.getStart().getOffset();
            if (offset < buf.limit()) {
                buf.position(offset);
                replaceBlock(block, buf);
            }
        }
        monitor.incrementProgress(1);
    }
    long maxAddress = buf.limit();  // compute maxAddress based on ByteBuffer limit
    Address otherAddress = toAddr(maxAddress);
    buf.position((int) maxAddress);
    if (buf.hasRemaining()) {
        byte[] bytes = new byte[buf.remaining()];
        buf.get(bytes);
        MemoryBlock block = getMemoryBlock(OTHER_BLOCK);
        if (block == null) {
            block = createMemoryBlock(OTHER_BLOCK, otherAddress, bytes, false);
            block.setRead(true);
            block.setWrite(true);
        }
    }
}

Sorry about the lack of instructions, I should probably update the readme with a "Getting Started" section or something. But basically, you don't need the PCSX2 save state import script at all. If you've already imported a file and selected the R5900 processor and run auto analysis you're all set, you don't need to do anything else.

Cool, thanks! And sorry for my lack of experience. :)

Actually I think I might've been misunderstanding the purpose of that script a bit. As I said I just inherited it from the original project. I take back my comments that it wasn't useful. Just I haven't used it much personally.

I was initially confused as to how maxAddress could possibly be higher than 32MB, but I noticed the MAX_MEMORY variable in the script is actually set 256MB, not 32MB. Sorry about this. When you import an ELF file without running the script, what are the memory blocks that get created (in the Memory Blocks window)?

@yutamago Alright, I think I've figured it out: There were some ELF sections that were being imported as overlay sections by Ghidra's ELF importer, which lead to their start/end addresses being junk. So the correct fix seems to be to just skip over those sections.

Alright, the script should work now. An unstable build with the fix should now be automatically generated, I'll wait a bit to put out a stable release since I have some other fixes I want to do first.

Sorry if I'm asking stupid questions, but as a beginner in Ghidra I'm a bit confused what kind of purpose the script has.
You're saying that it does indeed have a different purpose than just looking at a eeMemory.bin file?

From looking over the script it does three things:

Replaces the contents of existing non-executable blocks with the relevant data from the save state.
Creates a new block with all the data between the end of the last existing block and the end of EE memory. Hence it should import most of the contents of EE memory (if not all) into the file.
Loads additional sections of memory such as the scratchpad, VU0 memory and VU1 memory.

I hadn't previously noticed that it did (2), hence why I didn't think it had much use. (1) could be useful, but would probably only change the state of global variables to their runtime state, and (3) would probably not be very useful as those memory areas are only used for storing temporary data.
Hopefully that clears things up a bit. Don't apologize for asking "stupid" questions, I've been using Ghidra for years and have discovered some of its quirks for the first time while fixing this issue.

I'm mostly interested in the R&C games. The script isn't very useful for those games as-is because they store the vast majority of their code in overlays in the level files, which it wouldn't handle correctly.


Expose CuPy memory pool to C/C++ space?

I found the following snippet (L15-L40) in cupy.cuda.thrust:
https://github.com/cupy/cupy/blob/4586fedac8254dcd71d97617f2f95f98254dbbcc/cupy/cuda/thrust.pyx#L15-L40
I think this is an important low-level API for external C/C++/Cython code (such as Thrust and CUB) to use CuPy's memory pool. Is it possible to move them to, say, cupy/cuda/memory.pxd so that it can be reused?

Does CUB allocate memory by itself, out of CuPy memory pool? I think that issue should be addressed first. Moving to cupy/cuda/memory.pxd sounds fine if it's done in that fix.

I've been checking on CUB and they use a single allocator that is not swappable by others.
So having cub getting memory from cupy involve to modify the cub code itself. Maybe we can send a PR to cub? I think that providing an Allocator interface for cub and the ability to set it up is a valuable contribution.
Another possibility here is to have cupy using the cub allocator underneath cupy's own, but this would probably sensibly decrease performance.

That’s right. Currently all CUB routines integrated with CuPy use CuPy memory pool. This is just for future extensions and code reusability.

I found myself in a situation where having a C/C++ interface to CuPy's memory pool is important. I will try to find some time and make a PR to close this issue. The goal is to move the existing memory manger interface from the thrust module to the memory module so as to make it more reusable.

Am curious to know what those use cases are (just out of personal interest 🙂).

Well, @jakirkham, I am glad you asked. See leofang/cupy#10 for my WIP...I got good performance boost there for every partial reduction functions in CuPy. But I no longer thought #3212 is useful for my purpose 😞 A little fresh thoughts could be very helpful.

Ah ok. Thanks for that context, Leo 😀
So it’s not for use with other C/C++ libraries.
Yeah that makes sense. So the idea is you want to perform an allocation once in advance and then reuse it as part of nested reductions. Is that right?
cc @anaruse (in case you have thoughts on this use case 🙂)

So it’s not for use with other C/C++ libraries.

Well...Thrust is a C++ library...I guess you meant "standalone" C/C++ libraries that do not talk to Python?
#3212 is still needed in that it cleans things up quite a bit. It could also be useful for Python modules written in C/C++ depending on how early we wanna bind with CuPy's default memory manager. If late binding is OK, then perhaps those modules should just access cupy.cuda.memory at Python runtime.

Yeah that makes sense. So the idea is you want to perform an allocation once in advance and then reuse it as part of nested reductions. Is that right?

 (To do a full reduction I need two passes of CUB BlockReduce, and the buffer holds the intermediate result.)

I guess 😄 Though admittedly now those libraries might be kind of talking to Python if they are sharing a memory pool 😉
Yep this makes sense to me and seems very useful. To @jrhemstad's point, I wonder if you could have some simple allocator that merely pulls from the front of this preallocated memory or do you run into issues when trying this? 🙂

Closing this issue as CuPy's (Cython-based) memory pool would not be as performant as C/C++ based ones, so it is of limited interest to native C/C++ applications. (For Python applications, it should be fairly simple to access this pool.)
However, this issue aside, I do think #3212 is a good housecleaning PR. Memory management should simply not appear in cupy/cuda/thrust.pyx...Just my two cents.


Correct some typos

Corrects some typos in the repository.

Don't know how I didn't see this. Thank you!


Why display(fc) return a string, not a real file chooser?

The output of fileChooser is like this：

What's the problem?

Can you confirm that other widgets work as expected? Does the below code show a slider?
import ipywidgets as widgets

widgets.IntSlider(
    value=7,
    min=0,
    max=10,
    step=1,
    description='Test:',
    disabled=False,
    continuous_update=False,
    orientation='horizontal',
    readout=True,
    readout_format='d'
)


store tabs sometimes don't work

Describe the bug
often when going into the plugin or theme store, the installed/store tabs don't do anything and it still displays the store page
To Reproduce
Steps to reproduce the behavior:

Go to store
Click on installed tab
see that the page is still rendering the store rather than installed

Expected behavior
installed tab should switch to installed themes/plugins
this bug doesen't occur consistenlty, only around 30% of the time, but when it occurs, a reload is required.
Screenshots
(You should be able to find the following information in the bottom of your settings.)
GooseMod info:

Update Channel: dev
Version: cc0794f
Modules: a few but i doubt they affect this

Discord info:

Update Channel: stable
OS: Windows 10
Host Version: 1.0.9004

Other info:

Other Mods: none

Yes, this is also an issue too. always have to go to one of my dm's first to get into the store. GUI issue?

It might be a possible GUI issue.

Was fixed.


0.2 release. Adds compatibility for ecoinvent 3.5, which adds some RoWs.

Released on pypi and anaconda


Large diffs on snapshots are not truncated

Describe the bug
I'm using expect(result).toMatchSnapshot() on a large array resulting in a 45.000 line snapshot.
The issue is that it takes a very long time for the test runner to display the diff inside the terminal.
I was expecting the output to be truncated, using the default value of chaiConfig.truncateThreshold, but the full diff is printed instead.
I've also tried using chaiConfig: { showDiff: false } which seems to have no effect.
Reproduction
Is this really needed?
I've went searching through the issues, my hunch is that snapshot diffing works differently and it ignores chaiConfig.
System Info
WSL 2 Ubuntu - vitest 1.2.2

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

The whole snapshot is different, yes.
Perhaps this is a feature request then, rather than a bug, correct?

I guess we can add an option to truncate diff patches somehow. It should be disabled by default though.

I guess we can add an option to truncate diff patches somehow. It should be disabled by default though.

I'd like to take a shot at this enhancement/feature. After tracing the codebase, I think we can add a configuration option in DiffOptions so that we could have a more general control over diff truncation, instead of being specific to toMatchSnapshot(). Does it sound reasonable?


Staging sartura

there are more fixes coming, but this is a start and let's take it from here
we were unable to test it on any other device other than ecw5211
a couple of ecw5410's are currently being prepared for firmware flashing and testing

Hi Mike,
No problem. I've sent you the updated version on Slack. I expect more fixes coming (unrelated to proto files), but I will make sure to keep the cloud guys informed should I need to make more changes to the opensync_stats.proto

The code formatting issues are related to my .clang-format file which I use in Vim. Is there an official one for this project? If there isn't, I'll fix it manually.

We try to follow the kernel coding style for the osync2.0 code that we write. Thanks !

Thanks for your extensive feedback @blogic. I'll go through this and push another commit which will, hopefully, fix all these issues.

We try to follow the kernel coding style for the osync2.0 code that we write. Thanks !
Then maybe you should consider adding the following to the wlan-repo:
https://github.com/torvalds/linux/blob/master/.clang-format

code format issues (comments and tabs) fixed in the latest commit

Hi,
can you fold all the fixes into the original patches ? that makes it easier to review
John

Hi John
Just to clarify. You'd like me to squash all these commits into a single one?
Thanks.

@dfranusic well, they should be split up by feature or whoever it makes sense. what we dont want is a patch adding a feature and then another fixing that patch, which is what we have right now i think.

Oh, now I see. Yes, at the moment we have a couple of things included in this pull request:

build system update (opensync_stats.proto compiles during the build process)
new stats_type (event) for Wifi_Stats_Config (real-time event processing)
clang-format configuration file from Kernel source tree
fixes for new files that were added via patches instead of copied to the src directory of opensync package in wlan-ap feed

I'll try to reorganize my last 5 commits into these 4 logical units. In the end, you should have 4 commits to review.

thanks, sounds perfect

I believe this pull request should be closed since we are moving to a completely different approach due to netlink issues caused by hostapd's exclusivity over a certain subset of messages.


Memory leak in Mojo::DOM

Unfortunately I only have a rather large piece of HTML to reproduce the issue. The HTML and some small Perl script to reproduce it can be found in this Gist: https://gist.github.com/1465594
The 200 iterations in the script cause a memory consumption of about 210mb. I'll try to to reduce the HTML to a minimum while still causing the leak.

Thanks, fixed. https://github.com/kraih/mojo/commit/6928a3363d285284ccb407ed915191c87dfaa024

I know it's a bit late and I'm sorry that I forgot to update this issue here. It turned out to be a bug in Perl rather than in Mojo::DOM. My most recent finding is here: https://gist.github.com/1466347
It's an old bug in Perl: https://rt.perl.org/rt3/Ticket/Display.html?id=77304


New Installation Using 1.4.5 Unable to Get IP Address on Local Network

My transceivers arrived (early!) on the slow boat--bought 2, just in case...
I wired up a new 30 pin ESP Wroom-32 to the transceiver, loaded Somfy-RTS onboard.bin, version 1.4.5 using the  ESPHome Web installer.  I disconnected the device from my PC & powered it back up.  I connected to the ESP Somfy RTS network & went to <IP_ADDRESS> & hit the gear icon.  Scanned &  found my network & entered the password & hit save.  I got the "waiting" spiral dots & that was  about it...  I disconnected from the network, exited the broweser, & did a hard reboot of the ESP.
The device shows up on the router and is on the correct network, but no IP address is assigned.  Unable to ping the device by name, of course, so I was dead in the water.
I redownloaded the firmware & tried again from the beginning & had the same experience.
I am going to try with the previous version & am hoping there's just a bug in 1.4.5.
All suggestions are welcome to get past this roadblock :-)  Thanks!!!!!
Just tried again with version 1.4.4 & I have the same issue.  I'm guessing it's pilot error on my part, but I'm drawing a blank as to what I'm doing wrong...

If it is not giving a DHCP IP address out of the router this seems to indicate an issue with either the passphrase or the router is rejecting it.  Do you by chance have 802.11b enabled on your router?

Yeah, it's the strangest thing I've ever seen!  I have Ubiquiti equipment (USG router, 3 APs, 2 switches, 1 24 port and 1 24 port POE, running the Unifi controller in a docker container).  DHCP is running & I have about 70 WiFi clients, and a couple of dozen wired clients, all with static IPs, assigned through the router.
The controller shows the ESP on the correct network by name (I have 4 running with various firewall rules for each), the ESP's MAC address & signal strength are shown, but no IP address--the field is blank!  I've never experienced that before.  I tried 2 different networks to no avail, that's why I reached out to you.  I really don't want to bother you but, it's so strange!  I will try again tomorrow with a guest network because it has a short password, but I copy & paste the network passwords from a pdf list.
So bizarre!  I would think the router would reject the device if the password is wrong and not show the device in the client list.
I'm hoping it's just a case of the Mondays & all will be well tomorrow!

The only other thing I can  think of at the moment is I've been up since 2 AM CST & am probably too punchy to be doing anything that requires a synapse.

The esp32 has a limit on the length of an SSID to 64 and the passphrase can be no longer than 32.  If you are still running 802.11b frames on your network, I would turn them off.  It is eating your bandwidth.
It is possible that the Ubiquiti router is somehow seeing <IP_ADDRESS> and even though it released the address it still thinks it is there.

I think you just nailed it...  My "normal" passwords for the networks are 63 characters long!  Not an issue for Tasmota, ESPHome, etc., but apparently,  it is for an ESP!  I had no idea!  I will try using the guest network---it has a much shorter password.  Even if I  beef it up a bit, I will limit it to < 32 characters.
Thank you so much for your help!  I will give it a shot tomorrow (gotta get my 3 hours of sleep) & let you know about my success.
I so appreciate your time, patience, willingness to help, and all!

BTW, not using a /21 subnet.  All are /24.  I think the password limit is the problem.  Fingers crossed!

So did you get it to connect?  Sleeping is for wimps!

This is an issue with the guest network and the purpose of a guest network.  You will likely have an issue with HA if you try to cross that boundary into your guest network.
I can try to expand the password length by allocating the space to eliminate the chance of an overrun.  It only needs this while it is first connecting to the network.  I used the idf limits for the host name when allocating the space for the passphrase.  It may use the same restrictions as the SSID for its passphrase instead of the host name restriction.  At some point it becomes impractical though.

I thought it being on a guest network could cause HA challenges.
I could reduce the length of the IOT network--it has only a handful of devices I'd need to reconfigure, as opposed to my NOT network.  Alternatively, I may be able to create a firewall rule that lets HA listen & respond to the guest network (if Unifi allows rules to be applied to a guest network).
Please let me know if you make the change or if I need to.
Thanks from the always awake world :-)

I will make those changes and it should not impact anyone else.  The only issue may be internally with the idf.  I cannot find any reference to what that max password length is.  Are you using a WPA or WPA2 network?  Some of these limits may be contained in the TKIP section of the idf and will only show their head on WPA/TKIP.

The networks are WPA2.  I believe the passwords I am using currently are 63 characters long--more or less the limit of WPA2, I think.
Thanks again for your help!  If you let me know when I can pull the update, I'll give it a shot & let you know of my success :-)

Actually, I believe the limit is based on the AES not the WPA2 and the original TKIP had a 31 character limit.  Nobody should be using WEP or WPA anymore but if they do they won't get past the WiFi setup in their router with a 63 character passphrase.  I just need to figure out if my storage can handle it.

Pull the SomfyController.ino.esp32.bin file and the SomfyController.littlefs.bin file from the links provided and upload *.ino.esp32.bin file as the firmware and the *.littlefs.bin file as the application from the Updates tab.
The WiFi passphrase length has been increased.

My response aren't showing up on github, so here they are, possibly duplicates nevertheless...
Irrigation/irritation what's the difference anyway?  I consider myself to be a bidet, of course!  At your service...
Working on the network change now, running 1.4.6 on the ESP.
The device is now on the preferred network (NOT) and I can access it from my PC!   Fabulous!!!  Assume all will be good for HA now as well.
Still tuning the radio.  Don't know if I'm going to get strong signals, but I have sufficient parts to build 2 if needed.
Thank you so much for your help & very quick responses & software updates!!!    Woo hoo.
I am getting the following error message on the WiFi tab in the app. 500: Network HTTP error.  The other tabs appear to be functioning correctly and I do get signal from the Somfy remote on the Somfy tab.

You probably need to hard refresh your browser after installing the Application.


Extension - Turn off popup "Remind claim rewards for dApp staking"

Describe the task
Turn off popup "Remind claim rewards for dApp staking"
Expect: Now that dApp staking v3 has been released => need to turn off popup "Remind claim rewards for dApp staking"

Version test : http://<IP_ADDRESS>:8900/s/XFfYp24nfFCjkwR
Validation passed in case :

Update version
Open new app
Close then re-open app
User click on dApp on Earning options screen
Check case when user click on non-dApp staking details
Reset all


Unexpected keyword argument 'n' in function call

On lines 177 and 178, I have errors for the integer 'n' being unexpected when trying to run the script:
sma1 = ta.volatility.bollinger_mavg(price, n=int(n1), fillna=False)
sma2 = ta.volatility.bollinger_mavg(price, n=int(n2), fillna=False)
Below is what I receive from the console output:
sma1 = ta.volatility.bollinger_mavg(price, n=int(n1), fillna=False)
TypeError: bollinger_mavg() got an unexpected keyword argument 'n'
Any help would be greatly appreciated.
Thanks!

I think you have an updated version of the "ta" module installed, and they changed the name of the parameter. Try changing n to window (you can see the new function header about halfway down the page here https://technical-analysis-library-in-python.readthedocs.io/en/latest/ta.html#momentum-indicators )

This was great! That seemed to fix it. It didn't pull back any data, but I just assumed the stocks watched are not meeting the criteria to show up. Below is an output of what I received:
_----- Scanning watchlist for stocks to buy -----
robinhoodbot\main.py:166: FutureWarning: Units 'M', 'Y' and 'y' do not represent unambiguous timedelta values and will be removed in a future version
if(direction == "above" and not five_year_check(stockTicker)):
----- Scan over -----_
Just wanted to make sure this would be expected if no stocks met the proposed strategy. Thanks again for the prompt response!

Yeah, that looks normal

Thanks. Closing issue.


Emmited Type Declarations generate empty export

Bug Report
When generating type declaration files if a type that is only used inside the typescript code however it is not exported results in an empty export at the end of the file e.g. export {};
🔎 Search Terms

declaration empty export
declaration "export {}"

🕗 Version & Regression Information
When i started inspecting the generated typescript declarations generated.
I see the same error/behaviour when either<EMAIL_ADDRESS>and typescript@next
This is the behavior in every version I tried, and I reviewed the FAQ for entries about emmited code and private fields and methods.
⏯ Playground Link

When some of the types are not exported this happens playground example here
When all of the types are exported there is no empty export playground example here

💻 Code
Empty Export Code
type TaskType = 'ONE' | 'TWO' | 'THREE';

// would not expected to have an empty export
// in the emitted type declaration code here is this correct?
export interface Task {
  executeTask(type:TaskType):void;
}

No Empty Export
// no empty export since all types and interfaces exported
export type TaskType = 'ONE' | 'TWO' | 'THREE';
export interface Task {
  executeTask(type:TaskType):void;
}

🙁 Actual behavior
Empty export for some reason…
🙂 Expected behavior
No default empty export.

This is intentional. Using export or import marks the file as a module. To keep this module semantics, the empty export statement is generated.

This is intentional. Using export or import marks the file as a module. To keep this module semantics, the empty export statement is generated.

I see i think it would be nice to have things like this documented. Should this go in a FAQ or is there someplace one can update the docs?

The first part is documented: https://www.typescriptlang.org/docs/handbook/2/modules.html#how-javascript-modules-are-defined
The second part is not explicit, but can be assumed. You wouldn't want your file semantics to change. There are many issues about this, which act as documentation as well.
I guess you could send a PR mentioning the explicit export in absence of any value imports/exports, I doubt the TypeScript team would oppose this.

The first part is documented: https://www.typescriptlang.org/docs/handbook/2/modules.html#how-javascript-modules-are-defined
The second part is not explicit, but can be assumed. You wouldn't want your file semantics to change. There are many issues about this, which act as documentation as well.
I guess you could send a PR mentioning the explicit export in absence of any value imports/exports, I doubt the TypeScript team would oppose this.

Will do that then.

This is intentional. Using export or import marks the file as a module. To keep this module semantics, the empty export statement is generated.

@MartinJohns This might be a stupid question, but If this is intentional and expected behaviour why is there then no empty export in the example where both the type and interface is exported? Would expect consistency here or am i misunderstanding something?

The file needs at least one export or import to be a module. If there already is one, an additional empty one is not needed.
I don't think the documentation needs to justify every behavior needed for correctness. Correctness is an assumed facet of operation.

The file needs at least one export or import to be a module. If there already is one, an additional empty one is not needed.
I don't think the documentation needs to justify every behavior needed for correctness. Correctness is an assumed facet of operation.

That was my assumption that there should be not have been any empty export {} in the generated declaration file since there is already at least on export defined to make it a module.
Seems like a side effect when generating declaration fille, perhaps a bug then?
After digging into some here it seems that whenever one references a type, interface or a const value that is not exported the type declaration will include an empty export {}; at the end of the file.
Not exported reference results in empty export example e.g.:

Playground link here
No reference used that is not exported no empty export:

Playground link [here](https://www.typescriptlang.org/play?experimentalDecorators=false&emitDecoratorMetadata=false⌖=99&stripInternal=true&ts=4.8.4#code/JYOwLgpgTgZghgYwgAgCoQM5mQbwL4BQBEAHgA4D2U2oksiKqcGA1rgcssACYBcyIAK4BbAEbQA3B2TdMUYGTDAKIflnkgA5lM5l5VYGACe-IWMkFCxclWwIANswxpmLALJwQcTdAA8qAD52TjhubgAKMFdeVABKXgA3Ch5cQjwgA)

Cool, thanks for clarifying -- the additional export { } indeed shouldn't be there.

Hi @RyanCavanaugh, I would like to look into fixing this issue. Is there anyone working on it? Also, it would take me a week or so to do it since I am new to the codebase, and I would need to go through it properly to understand why the unnecessary export {} is present.

I mentioned this in the linked PR, but that export {} doesn't just ensure module-ness, it also enables private scoping of locals. Without an export declaration in the file, all locals are implciitly exported, even if they don't have an export modifier. So
type A = 1;
export interface B {}

in a declaration file actually exports A, while
type A = 1;
export interface B {}
export {}

does not.
Declaration files have worked like this (and relied on this) since about the dawn of declaration files as a format, and is actually the underlying behavior that needs to change to make removing the export {} marker safe. It will, however, be a breaking change for our oldest handwritten (and pre-transform-based-declaration-emitter) declaration files.