"Uncaught ReferenceError: Echo is not defined" and "Colors.js"

Greetings, I currently have these two errors my friend, what am I doing wrong?

Greetings, I currently have these two errors my friend, what am I doing wrong?

What are the steps to reproduce this error?


VSCode PHP Intellisense Go to Definition (F12) slow

Mac 10.13.3
VSCode 1.21.1 (1.21.1)
PHP Intellisense 2.3.0
When using the Go to Definition function it can take up to a 3-5 seconds, sometimes more. This is nearly instantaneous in Sublime Text 3, and I often choose to just search for the function name, for example, because that's quicker.

+1

+1


Add engineering process

Based on the python-package-template repo I think it would make sense to bring over some of the engineering and automation into this repo: pylint and black at least.
Given the number of issues we’re opening we should also replace the examples/javascript folder with proper pytest?

Agree. I can not run examples/javascript locally due to the old dependency.

Do you have time to work on this? I am fixing #2 and then  #1.

I’ll schedule it for Tuesday. Also have another engineer who will pick up some work now.

@lecram you’re familiar with the template already. I’ll try to take a stab this weekend, and will ping you if not.
@SilverRainZ let’s start with an empty pytest folder and add unit tests as we go. This PR, I think, should be concerned with putting things into place instead of adding tests?

I think we should need at least one test to show pytest actually works.
We can test against the changes we made, such as #5 and #6.

Ugh my apologies, it’s been very busy the past few weeks. We’re currently fixing an issue in our Py package template after which we’ll have a good baseline to merge into this repo. Are you ok waiting a week or so?

@SilverRainZ let’s perhaps do this in several steps:

replace legacy setup.py with the recommended pyproject.toml; then
add support for git hooks and use pre-commit to do add a few simple hooks (lint, flake, upgrade, see more); then
change and cleanup testing.

We can adjust the Makefile as we move forward.
Considering that Sphinx itself requires at least Python 3.6, I think the same should apply here. The metadata classifiers seem outdated
https://github.com/sphinx-notes/markdown-builder/blob/b9f424b5e5001a8192e1b91d1b29afd60772bca7/setup.py#L32-L37
and the Makefile seems to expect Python 3. This can be fixed as part of step 1. above.

@jenstroeger That sounds good :D
I am quite busy recently so maybe can't help :'(


Update multiple worksheets at onces

We have the situation that we want to fill an excel template that has several worksheets. Is there a better way to do this instead of:
using (FastExcel.FastExcel fastExcel = new FastExcel.FastExcel(templateFile, outputFileTmp))
{
    fastExcel.Write(worksheet1, "sheet1", 1);
}
using (FastExcel.FastExcel fastExcel = new FastExcel.FastExcel(new FileInfo(outputPathTmp), outputFile))
{
    fastExcel.Write(worksheet2, "sheet2", 1);
}
File.Delete(outputPathTmp);

I haven't tested this but this should work
using (FastExcel.FastExcel fastExcel = new FastExcel.FastExcel(templateFile, outputFileTmp))
{
    fastExcel.Write(worksheet1, "sheet1", 1);
    fastExcel.Write(worksheet2, "sheet2", 1);
}
File.Delete(outputPathTmp);

@mrjono1 yeah, it would be nice if this solution would work (that was also my first idea), but I'll get an error then:
System.Exception: 'Could not copy template to output file path'

IOException: The file '{...}' already exists.

Currently you have to reopen the file as a workaround.
using (FastExcel.FastExcel fastExcel = new FastExcel.FastExcel(templateFile, outputFileTmp))
{
fastExcel.Write(worksheet1, "sheet1", 1);
}
using (FastExcel.FastExcel fastExcel = new FastExcel.FastExcel(outputFileTmp))
{
fastExcel.Write(worksheet2, "sheet2", 1);
}

 Update multiple worksheets at onces


no need to import cd, it isn't used in code

sorry, need to read the docs before i start doing PRs here... (code not working without that)

oops, it is working, actually.  :-\

good catch Zev, no need to import cd in this script


Test TypeConverters #2537

fixes https://github.com/apache/camel-quarkus/issues/2537
Covers https://github.com/apache/camel-quarkus/issues/2570 with tests.

The code per se looks good. As discussed, in the chat, could you please move the converter tests and JAX-RS endpoints to separate classes so that we keep an overviewable code structure?

@ppalaga Changes discussed in chat are done:

Converter tests are located in separated test file with its own resource.
Signatures of helper methods are changed to be easily readable.


Invalid Redirects

News article section of the website has invalid hyperlinks. It needs to redirect back to the main site if possible.

Issue fixed. There were multiple href tags that were using the incorrect values.


Remove dropEmptyBrackets option

dropEmptyBrackets doesn't work correctly for async components, see #444.
There's probably a side effect of merging this though: once merged, error ports will start producing empty brackets for every successful run (if brackets are present on in, of course), so apps need to be modified to ignore them.

@trustmaster we need to document this in the CHANGES file. Any suggestions on the wording?

 - Removed `dropEmptyBrackets` option which was conflicting with asynchronous components. This results into empty brackets being forwarded to `error` outport, so make sure error handling components don't make false alerts on those.

I noticed that this causes problems when the error port is set to required: true, as it will always try sending empty groups and then throw an error because there are no connections to the port

@bergie a solution is to check for an attached connection upon forwarding
the groups. Not that hard to fix.


fix: Stopped pass the "click event" to the parentNode from DatListRow-Icons.

just title 👍

This was fixed in an alternative way, thanks for contributing though!


[tool_crash] Invalid argument(s): Cannot find executable for E:\PROJECTS\FLUTTER\abhilasha\android\gradlew.bat.

ArgumentError: Invalid argument(s): Cannot find executable for E:\PROJECTS\FLUTTER\abhilasha\android\gradlew.bat.
#0      _getExecutable (package:process/src/interface/local_process_manager.dart:127:5)
#1      LocalProcessManager.start (package:process/src/interface/local_process_manager.dart:43:30)
#2      _DefaultProcessUtils.start (package:flutter_tools/src/base/process.dart:462:28)
#3      _DefaultProcessUtils.stream (package:flutter_tools/src/base/process.dart:480:35)
#4      buildGradleApp (package:flutter_tools/src/android/gradle.dart:384:35)
#5      _AndroidBuilderImpl.buildApk (package:flutter_tools/src/android/android_builder.dart:102:13)
#6      AndroidDevice.startApp (package:flutter_tools/src/android/android_device.dart:513:28)
#7      _rootRunUnary (dart:async/zone.dart:1192:38)
#8      _CustomZone.runUnary (dart:async/zone.dart:1085:19)
#9      _FutureListener.handleValue (dart:async/future_impl.dart:141:18)
#10     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:682:45)
#11     Future._propagateToListeners (dart:async/future_impl.dart:711:32)
#12     Future._completeWithValue (dart:async/future_impl.dart:526:5)
#13     Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:556:7)
#14     _rootRun (dart:async/zone.dart:1184:13)
#15     _CustomZone.run (dart:async/zone.dart:1077:19)
#16     _CustomZone.runGuarded (dart:async/zone.dart:979:7)
#17     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1019:23)
#18     _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
#19     _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)

[✓] Flutter (Channel stable, v1.17.0, on Microsoft Windows [Version 10.0.18363.836], locale en-US)
    • Flutter version 1.17.0 at C:\flutter
    • Framework revision e6b34c2b5c (10 days ago), 2020-05-02 11:39:18 -0700
    • Engine revision 540786dd51
    • Dart version 2.8.1

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at C:\Users\HP\AppData\Local\Android\sdk
    • Platform android-R, build-tools 29.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
    ✗ Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions.

[✓] Android Studio (version 3.6)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)

[✓] VS Code, 64-bit edition (version 1.44.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.10.1

[✓] Connected device (1 available)
    • vivo 1951 • 5aee3bcc • android-arm64 • Android 9 (API 28)

! Doctor found issues in 1 category.

Flutter Application Metadata
**Type**: app
**Version**: 1.0.0+1
**Material**: true
**Android X**: false
**Module**: false
**Plugin**: false
**Android package**: null
**iOS bundle identifier**: null
**Creation channel**: stable
**Creation framework version**: e6b34c2b5c96bb95325269a29a84e83ed8909b5f

Hi @amikum1997
I see there's an open issue addressing the case you described.
Please follow up on that issue,
I'm closing the current one as duplicate.
If you disagree please write in the comments
and I will reopen it.
Thank you


Add ministry label to event cards

@keelyjay Here is what I'm thinking for the event cards:

@keelyjay Here is another iteration.


potential memory leak in link tracing gibbs sampler

cpp implementation of lt_permute crashes R Session after ~5000 iterations
likely due to memory issues (switching from Numeric to Integer matrices pushed valid iterations from ~1000 to ~5000)
switching loop end condition from i < var to i < var - 1 seems to fix issue (likely due to smaller size of return object since assignment to null pointer seems unlikely
repeated calls to Rupp::sample may create overhead, try switching to armadillo sample

this behaviour may also be caused by R freeing memory for the return list of lt_permute every time the function is called without freeing memory again. Consider switching to std and armadillo data structures for objects that don't get returned to R

re-write all functionality that doesn't require R exposure in pure std c++, replace lists with arrays internally, check destruct behaviour on scope exit

memory leak should be fixed in new version. conversion from Rcpp to std data structures completed.
arma::mat index bound check error in ~90% of cases where iterations > 2 in current version >> does not appear to arise in code chunk generating new N >> deconstruct remaining two code blocks and debug

resolved in on link_tracing_implementation


Could not find bridge weave

I get the error when I try spin up the cluster on amazon:
failed: [apollo-mesos-master-0] => (item=chronos) => {"changed": true, "failed": true, "item": "chronos"}
msg: Docker API Error: Cannot start container 63c536e89ae2bd6802c333c2844393ecf46e5e7f6d1bbc96c755243b45b5767c: adding interface vethba8966e to bridge weave failed: could not find bridge weave: no such network interface

It happens randomly.

See https://github.com/docker/docker/issues/14738
https://github.com/weaveworks/weave/issues/1194
https://github.com/weaveworks/weave/issues/1188


Forcing to use init type instead of systemd

 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.Suman Mittapally - smittap seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Updating last_run_at for timezone change to work

Updating last_run_at in the database to reflect the new timezone.

Hi @AngelLiang : When I tried to change timezone in CrontabSchedule from UTC to Asia/Calcutta, it did not work for me since the is_due value became very huge value due to timezone change. Hence I have fixed this issue by uncommented 1 line in the code. Can you please review and merge this pull request and release a new version of celery-sqlalchemy-scheduler. Thanks.

Thank you. This package is imperfect and I am very sorry about it.


readme updated

Description
Updated the readme with the context provided in #36

Updated instructions for installing and running the project in localhost
Updated gif for the preview of application
closes #36

Related Issue

Motivation and Context
These changes make the readme more beautiful and more read readable.
How Has This Been Tested?

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works

Screenshots (if appropriate):

Can't see app logo and title in the Gif

Fixed both the issues :+1:

We've lost some contributors in your change.

Can't see app logo and title in the Gif

Fixed both the issues 👍

We've lost some contributors in your change.

Can't see app logo and title in the Gif

Would you mind removing the redundant contributor section ?
I'd suggest the last one to removed.

Few things remaining.

Would you remove this right black border on the SVG

Isn't there a way we can have an SVG with higher quality? The current one seems a little bit blurry.

Do we want an SVG or GIF ? I think a gif can explain the project well and in a precise way, but most online gif converters have this problem of low quality.

Do we want an SVG or GIF ? I think a gif can explain the project well and in a precise way, but most online gif converters have this problem of low quality.

GIF,
Sorry. I was mistaken

does this seem okay?

      does this seem okay?

Yup, we can go with it.


monit: change mail format field for alerts to textbox

Change the Mail Format field for Alerts to textbox to configure it multi-line.
The problem came up with opnsense/plugins#820

yup :grinning:

Merged, thanks!


Implement AsyncRead and AsyncWrite for TcpStream

This PR implements AsyncRead and AsyncWrite for TcpStream.
Related to Async Runtime.
Signed-off-by: Tricster<EMAIL_ADDRESS>

Hi @MediosZ
I will do the review by Wednesday.


short tag replacement

Rather than creating an issue to discuss it and a separate pull request to actually do it I figured I'd take the few minutes and do it all in one shot so here's the PR for it.
Obviously bulk pulls like this are difficult, especially for the project maintainers, but there is really no reason for us to have php short tags around and I think it's about time we rip off this bandaid. I left the <?= tags in place in this per PSR1.
I understand if this can't be merged in, but I think it's something that needs to get on the radar because as much as we'd like to believe that things are going to eventually clean themselves up, I don't think it's good for anyone to keep putting it off.
Ultimately this pull request gives us the following:

We're more aligned with PSR-1 standards and one step closer to following our own rules
Concrete5 will now run on any host with short tags disabled using php 5.4+

I support this. The best time is now while the 5.7 marketplace is still young.

What about tabling this til we require PHP 5.4 with the core? That won't
happen until a major release (5.8? We haven't figured out when the next
major release is going to be or what's going to be in it) but it seems odd
to make such a drastic change in a sub-point release. The next release is
shaping up to be 5.7.4 so maybe it's not totally out of left field there,
since that is a feature release, but still – if we waited until we required
5.4 then we could at least leave <?= tags
On Tue, Mar 3, 2015 at 5:20 PM, mitchray<EMAIL_ADDRESS>wrote:

I support this. The best time is now while the 5.7 marketplace is still
young.
—
Reply to this email directly or view it on GitHub
https://github.com/concrete5/concrete5-5.7.0/pull/1977#issuecomment-77078934
.

@aembler I left <?= in the core. There is no reason imho to switch those out to <?php echo because the only people it benefits are those who are using a PHP version that is EOL and have short tags disabled. However, PHP by default installs with short tags off (at least in 5.5) and concrete5 requires changes to even get to load so for many setting up a new server this is one less thing they have to go touch to get c5 working. I also did not go through and replace <?php echo with <?= because I think that could get dicey pretty quickly in a blind find and replace and it doesn't hurt anything to leave those as is.
I personally don't consider this to be a "drastic change" as it doesn't impact anyone already using the software. Though I do understand that it touches a lot of code and am OK with waiting if you feel it's necessary.

@aembler <?= is valid PHP(and I believe preferred) as of 5.4 without short open tags being enabled. I have a hunch you realize that and is why you suggested changing it when requiring 5.4. Personally, it's a bike shed to me at this point but I have heard someone audibly groan when noticing the the short tags in concrete5. The only real benefit I see in changing it is first impressions of PHP developers on the more modern side of things. So like PSR-2 its probably more on the marketing side as opposed to technical.

@mlky I think that it's exactly like PSR-2, in fact it is PSR-2, which includes PSR-1 which states:

Files MUST use only <?php and <?= tags.

It's the first rule listed in fact
And the only real benefit is that it allows those running modern versions of PHP (5.4+) to run with short tags off, which to me feels like it should be worth something but maybe other's don't get as annoyed with having to turn that on each time they install php as I do.

@EC-Joe Good point about PSR-2. I was just trying to relay that more than anything it looks bad to developers coming into the project as opposed to the technical issue of enabling short open tags. But either way, I won't drag this one out too long as it has certainly been discussed before.

I support @aembler's idea to wait until the php 5.4+ requirement. I think we should start a list of bulk code quality changes we want to make to the core like full psr-2 reformatting and do them all at once.

Sounds good – will wait til 5.4 requirement and then cut that cord.


[Solved] 5.4 Feature Engineering: Imputer Class is deprecated

Using sklearn.version '0.22.1'
An error is returned executing the example for Imputation of Missing Data

Changing imports resolves the issue.

from sklearn.impute import SimpleImputer

Using sklearn.version '0.22.1'
An error is returned executing the example for Imputation of Missing Data

Changing imports resolves the issue.

from sklearn.impute import SimpleImputer

Hi.  Thank you so much for your response. I am such a beginner.  I’m still not sure how to go about finding the answer.  I am trying to get an education from these sites, apps, and professional advice, to figure out how I have been hacked, cyber attacked, really, for 7 yrs.  It’s tough since I get redirected and blocked from many things.  All devices destroyed except for this my 2 month old iPhone 11 which is degrading...


Change the "Sample Frequency" Label In the Data Plotting Window

It's unclear whether "Sample Frequency" refers to the IMU sample frequency (decimation setting) or the Windows form update rate. Maybe we can change it to "Plot Update Rate"?

Done: https://github.com/analogdevicesinc/iSensor-FX3-Eval/commit/1090c39aa8b3b0a36a5bf7aa9bab01fcbe41ec12

Done: https://github.com/analogdevicesinc/iSensor-FX3-Eval/commit/1090c39aa8b3b0a36a5bf7aa9bab01fcbe41ec12


⚠ Bofrost.lu has degraded performance

In d23ae5c, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1980 ms

Resolved: Bofrost.lu performance has improved in 90fee32 after 24 minutes.


Suggested enhancement: Syntax to retrieve all ayahs from a surah

Alsalam alaikum. Jazakallah khair, this plug-in works very well.
Perhaps consider implementing a syntax like Ikhlas:*  and 112:* (or Ikhlas:ALL and 112:ALL) to make it easier to retrieve a whole surah.
I notice Ikhlas or 112 by itself is treated as Ikhlas:1 or 112:1, so this would avoid breaking that functionality in case someone relies on it.

wa alaikum essalaam, the problem with this would be with very large suras it would be burden on the API and pulling down a lot of text. There would need to be a maximum number of ayaat to pull down in one shot, maybe 10?


[BUG]: Cannot re-run failed jobs with ARM workload identity federation service connections

New issue checklist

[X] I searched for existing GitHub issues
[X] I read pipeline troubleshooting guide
[X] I checked how to collect logs

Task name
AzureResourceGroupDeployment
Task version
2.231.0
Issue Description
The pipeline fails due to issues with authentication with OIDC ARM service connections when re-running a pipeline job that has failed for an unrelated reason.
Environment type (Please select at least one enviroment where you face this issue)

[ ] Self-Hosted
[X] Microsoft Hosted
[ ] VMSS Pool
[ ] Container

Azure DevOps Server type
dev.azure.com (formerly visualstudio.com)
Azure DevOps Server Version (if applicable)
No response
Operation system
windows-latest (20231126.1.0), Microsoft Windows Server 2022
Relevant log output
2023-12-06T18:19:29.1107979Z ##[section]Starting: Validate SQL Server
2023-12-06T18:19:29.1244563Z ==============================================================================
2023-12-06T18:19:29.1244734Z Task         : Azure resource group deployment
2023-12-06T18:19:29.1244842Z Description  : Deploy an Azure Resource Manager (ARM) template to a resource group and manage virtual machines
2023-12-06T18:19:29.1244998Z Version      : 2.231.0
2023-12-06T18:19:29.1245077Z Author       : Microsoft Corporation
2023-12-06T18:19:29.1245159Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment
2023-12-06T18:19:29.1245307Z ==============================================================================
2023-12-06T18:19:30.2335236Z Checking if the following resource group exists: hr-ops-prod.
2023-12-06T18:19:30.5668230Z ##[error]Unhandled: Cannot read properties of null (reading 'oidcToken')
2023-12-06T18:19:30.5688910Z ##[error]TypeError: Cannot read properties of null (reading 'oidcToken')
    at D:\a\_tasks\AzureResourceGroupDeployment_94a74903-f93f-4075-884f-dc11f34058b4\2.231.0\node_modules\azure-pipelines-tasks-azure-arm-rest\azure-arm-common.js:153:35
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
2023-12-06T18:19:30.5795776Z ##[section]Finishing: Validate SQL Server

Full task logs with system.debug enabled
Cannot replicate because this requires starting a new run with system.debug set to true. This issue occurs when re-running a failed pipeline for unrelated reasons
Repro steps
jobs:
  - deployment: Validate_Provision_Deploy
    displayName: Validate & Provision Resources, Deploy Code
    pool:
      vmImage: windows-latest
    environment: ${{ variables['deploymentEnv'] }}
    strategy:
      runOnce:
        deploy:
          steps:
          # ARM Template and Parameter Validation
          - task: AzureResourceGroupDeployment@2
            displayName: Validate SQL Server
            inputs:
              azureSubscription: $(subscriptionConnectionName)
              action: Create Or Update Resource Group
              resourceGroupName: $(resourceGroupName)
              location: $(location)
              templateLocation: Linked artifact
              csmFile: $(Pipeline.Workspace)/buildArtifacts/sql-server-w-database.json
              csmParametersFile: $(Pipeline.Workspace)/buildArtifacts/$(deploymentEnv)/sql-server-w-database.param.json
              deploymentMode: Validation

It looks like a fix for this issue may be coming out in the next few weeks.
https://developercommunity.visualstudio.com/t/Service-Connection-with-WI-federation-is/10516076


Beam packages mix release deterministic

@mattpolzin This is the code I mentioned.
You can also squash beamPackages.mixRelease: remove erlang references from output to your previous commit.

After you updating your branch, you can @ me again. I will post more instructions in https://github.com/NixOS/nixpkgs/pull/271288.

Oh, sorry, I forgot the comment. I have changed that.

@mattpolzin I must go out now. So I can't reply you for a long time.

The following content is what I plan to post in the original PR. When you are ready, you can post it.
BEGIN OF POST
This PR is trying to add funtionality for:

removing erlang references from multiple places:

mixRelease output
buildMix output

changing some comment lines as echo calls, which are useful when checking the build logs via nix log

We can take plausible as an example:
Before this PR:
$ nix build .#legacyPackages.x86_64-darwin.plausible

$ rg "/nix/store/.*/erlang" ./result --files-with-matches --binary
./result/lib/gettext-0.19.1/ebin/gettext_po_parser.beam
./result/lib/ex_cldr-2.36.0/ebin/plural_rules_lexer.beam
./result/lib/ex_cldr-2.36.0/ebin/plural_rules_parser.beam
./result/lib/ex_cldr_numbers-2.30.1/ebin/decimal_formats_lexer.beam
./result/lib/ex_cldr_numbers-2.30.1/ebin/rbnf_parser.beam
./result/lib/ex_cldr_numbers-2.30.1/ebin/rbnf_lexer.beam
./result/lib/ex_cldr_numbers-2.30.1/ebin/decimal_formats_parser.beam
./result/erts-<IP_ADDRESS>/bin/start
./result/lib/gen_smtp-1.2.0/ebin/smtp_rfc822_parse.beam

$ nix-store --query --requisites ./result
/nix/store/24shds1bq2gdm6m9i9n3qb2pi0kxln4j-pcre2-10.42
/nix/store/ig962y9d643hwwx9xqhdadc1lll8gvig-zlib-1.3
/nix/store/2sccymh6w6i6cvbg6bpk2yy71df7cx56-libpng-apng-1.6.40
/nix/store/4j38m9c97qzf7zhamm7i7gyrgbikcfhn-libiconv-50
/nix/store/pka340xbqzk4r46si0hjkadk00c69a18-libcxxabi-16.0.6
/nix/store/x4s0wi6d2z38wa0jb4yf769sl1c0c50z-libcxx-16.0.6
/nix/store/3gk0qbrp8ykyais7vh5l9ybdc21grpz5-gettext-0.21.1
/nix/store/5k6m1scwqdagb3ga1j4c9bwypcdwig1z-apple-framework-CoreBluetooth
/nix/store/5pc1dz9049nnrkxflr6n7aapszb2cmg6-apple-framework-IOBluetooth
/nix/store/pq9jk1hijyxl0vxngxq2qqwyx371yzym-apple-framework-SecurityFoundation
/nix/store/jw4g9a1g7radz49aqfrsjzr1bgkkjh7q-apple-framework-CoreWLAN
/nix/store/gfbznf4avqs1b8ibiham8kjfkqcj89rp-apple-framework-Accelerate
/nix/store/mkk3r6fsk6rci1q2vi8jlr1cih90zpyn-apple-lib-xpc
/nix/store/rc3jiihyhqild41fqch5sp2vywrk4q15-apple-framework-IOSurface
/nix/store/yxxsb6w1bcz81pd5p9j8f1nv8p5qgj12-apple-framework-SystemConfiguration
/nix/store/daj699si9b9cl878m00qyb6cpnbhlfbl-apple-framework-CoreGraphics
/nix/store/48520h73b51q05693g7wr0dp2h4qc0nc-apple-framework-ImageIO
/nix/store/6vjmi9dclz7msbvs25fn6907f35kj9nv-apple-framework-CoreFoundation
/nix/store/91fx0vm45w9bnq23jx3yhvvyhifi5y9h-apple-framework-DiskArbitration
/nix/store/ak03f5m80wflrc5dq8l2a8fv4nwa5j8n-apple-framework-CFNetwork
/nix/store/bh6q3ns50ja9h85fip1s7k9myhw10ljy-apple-framework-CoreAudio
/nix/store/c2naq83q66mr1n78hfaq5y8s79ggd8qx-apple-framework-OpenDirectory
/nix/store/lisf7jnwhps2lkys314mm23j8spf1iyf-apple-framework-CoreData
/nix/store/q12ypkrl9zdy844qj0fpi5p15xgzinv9-apple-framework-NetFS
/nix/store/lirsb8mk6547hp5p393njnyjaqwq555h-apple-framework-CoreServices
/nix/store/pa4fdvm1h1jxgzv4mf4msibbl98s7b21-apple-framework-CoreText
/nix/store/920kn7zscj2n74jv34z834fnmcrvrsf5-apple-framework-ApplicationServices
/nix/store/h0hh79siz4r7d2xiz8jiffrhhc5w55x2-apple-framework-OpenGL
/nix/store/4rihd0aclri5a857d2vkiy6rq0nq0hyv-apple-framework-CoreVideo
/nix/store/5abl3bvwhd404y8v2x8dxkq794szjsgg-apple-framework-Metal
/nix/store/7irx6kipzwz3a2052dbmdbsghi3qvirw-gmp-with-cxx-6.3.0
/nix/store/sn50gf3jdq1v2cxcznqpcdgvy7py42jm-objc4-709.1
/nix/store/9jvz3ah7s4rx59agsh67hbzlp0sr9mw2-apple-framework-Foundation
/nix/store/g74b4h5ggcba1kxvdcyhclssjqxy1hgr-apple-framework-OpenCL
/nix/store/mq9djrx461w8dnz5wbwmzrbjfn0vw97r-apple-framework-CoreImage
/nix/store/xyw10whvf35m2fb7wwz7yk3hrxjr387s-apple-framework-QuartzCore
/nix/store/kkbsd4wk9aqkhms3j8q6k2pa4m6i8bwj-apple-framework-Carbon
/nix/store/icdl8wvmn5x8aak5b675qnk93qcjxhwd-apple-framework-AGL
/nix/store/kf9r7xvbkir07d444sqm0wi65333awhi-expat-2.5.0
/nix/store/md5h0zmmrf80bdhmmfm6wj0abprqghj6-pcre2-10.42
/nix/store/iyv0safi1jwp685y4yvrcfjhg0745a0z-libdeflate-1.19
/nix/store/r195pxi80cy1nn56vfyr4zcbblbyk9n1-xz-5.4.4
/nix/store/xdcb3yziwgs3laiv2n086ba98w20all9-libtiff-4.6.0
/nix/store/85mmabv77ix7ig8nqlvwcv5whlm2gm15-wxwidgets-3.2.4
/nix/store/913xh1h9swbd4b7lhnl0501mx3f8ikn4-ncurses-6.4
/nix/store/f27mhm2kpk37mpj88f77j0y2ncgb95a7-gawk-5.2.2
/nix/store/i7ksfq6yclpykcisl39ysyqv540l59hd-libcxx-16.0.6-dev
/nix/store/lpzfs8kvdf7fs2j2fbc8a0r2zjjlygna-gnused-4.9
/nix/store/n5k43in732h89ay4wzfdz0nqss49ji7x-openssl-3.0.12
/nix/store/8f67d698c75p5sk53s5mp2z4skkdqyjq-erlang-<IP_ADDRESS>            <- erlang found
/nix/store/ccnn45f8fjs7dcj53jgw8jmaa2dq9nrm-gnugrep-3.11
/nix/store/vd0b59wk8x56i8kmwda8jl5h37wnixn2-coreutils-9.3
/nix/store/avhh0vj2wgksyp9zwj695ayjkchsngqp-plausible-2.0.0

After this PR:
$ nix build .#legacyPackages.x86_64-darwin.plausible

$ rg "/nix/store/.*/erlang" ./result --files-with-matches --binary
# nothing

$ nix-store --query --requisites ./result
/nix/store/0ly5lpwanagc5qpmnqrw8aqxb4ivw7kf-bash-5.2-p15
/nix/store/24shds1bq2gdm6m9i9n3qb2pi0kxln4j-pcre2-10.42
/nix/store/4j38m9c97qzf7zhamm7i7gyrgbikcfhn-libiconv-50
/nix/store/pka340xbqzk4r46si0hjkadk00c69a18-libcxxabi-16.0.6
/nix/store/x4s0wi6d2z38wa0jb4yf769sl1c0c50z-libcxx-16.0.6
/nix/store/3gk0qbrp8ykyais7vh5l9ybdc21grpz5-gettext-0.21.1
/nix/store/7irx6kipzwz3a2052dbmdbsghi3qvirw-gmp-with-cxx-6.3.0
/nix/store/913xh1h9swbd4b7lhnl0501mx3f8ikn4-ncurses-6.4
/nix/store/ccnn45f8fjs7dcj53jgw8jmaa2dq9nrm-gnugrep-3.11
/nix/store/f27mhm2kpk37mpj88f77j0y2ncgb95a7-gawk-5.2.2
/nix/store/ig962y9d643hwwx9xqhdadc1lll8gvig-zlib-1.3
/nix/store/lpzfs8kvdf7fs2j2fbc8a0r2zjjlygna-gnused-4.9
/nix/store/n5k43in732h89ay4wzfdz0nqss49ji7x-openssl-3.0.12
/nix/store/vd0b59wk8x56i8kmwda8jl5h37wnixn2-coreutils-9.3
/nix/store/abr143mafih2l81q4zqbpdx7kcyl6f4j-plausible-2.0.0
# no erlang found

END OF POST

After you posting it, you can @ happysalada to review your code.

And, feel free to modify my code, I won't feel offended. ;)

Bed time for me anyway. I'll get your code merged and prep the upstream PR tomorrow.
Thanks for the help.


Citation or reference to data if used

Add to the Data Access Point requirements about data citation (references) from SIOS Data Policy.
Add for the datasets the references to the data policies from the contributing centres. Especially for data, that you can download in DAP.

The only thing we can add is a general statement in the data portal about citation of data. Else licenses should follow all datasets: I have added a more specific recommendation on this in the IOG and also a statement to the DAP.


hide window when executing plantuml.jar

according to http://ja.plantuml.com/faq.html

thank you !!


Show number of confirmed cards in rotation hype messages.

Hey @bakert,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 5dc7cf40-f3a5-11e9-9e15-dd9742ab6bc9


[Story] Update the Dev Container (2023 Q3)

What projects is this story for?
No response
As a user, I want
As a Sage Monorepo Maintainer, I want to update regularly the image of the dev container so that the Developers can keep using performant and secure tools.
Description
No response
Acceptance criteria
No response
Tasks
No response
Anything else?
No response
Have you linked this story to a GitHub Project?

[X] I have linked this story to a GitHub Project and set its metadata.

Ubuntu Vs. Debian
I decided to switch Debian for Ubuntu for the following reasons:

The Ubuntu image has less CVEs than Debian. It is often mentioned in threads that Canonical patches vulnerabilities on Ubuntu than the community does for Debian.
Ubuntu gives developers access to newer software
The size of the two images is about the same

Checklist

[ ] Can install the workspace Node.js packages with Yarn
[ ] Can login with AWS CLI
[ ] Can deploy the OC stack with Terraform CLI
[ ] Can build the devcontainer image with the Devcontainer CLI

Update
Another reason to switch to Ubuntu is for a better R support as R packages are built for different version of Ubuntu but not Debian.


0.00 moves up and down

Description of issue
On the donate page the 0.00 is movable. I can drag it up and down slightly.
Expected behaviour
I expect 0.00 to remain fixed
Steps to reproduce
Navigate to donate page
Focus on Other amount (£) input
Tap and move 0.00 up and down
OS / Browser / Device model
Android Pixel
Screenshots

I noticed that, too. Happens only on Android. It looks like the placeholder has a different padding than the input value. I have no idea how to fix it. Probably needs a fix in the native code of React Native.


It's update saturday

New Features:

Added the ability to require a permission to open a crate.

This feature was labeled to be added a while ago but I don't know why it didn't get added. #594
New Message:

No-Crate-Permission: '&cYou do not have permission to use that crate.'

New Permissions:

crazycrates.open.<crate_name>
crazycrates.open.* which defaults to true. Set this to false and use the permission above to start blocking crates.

Added multiple internal placeholders related to how many times a player has opened a crate or crates

%crate_opened% ( Shows a singular crate, it's used in Per-Crate inside messages.yml )

This placeholder can also be used in in /crates in the lore when you hover over the item.

%crates_opened% ( Shows the total amount of crates opened and is used in the /keys header )

All placeholders will return 0 if data not found so that is normal.

Added 2 new placeholderapi placeholders

%crazycrates__opened ( Shows how many times a player has opened a singular crate. )
%crazycrates_crates_opened% ( Shows the total amount of crates a player has opened. )

Added the ability to run commands when a crate is opened, It defaults to false.
Crate:
  opening-command:
      # If the commands should be sent or not.
      toggle: false
      # The commands to run when the crate opens.
      # Supports all placeholderapi placeholders
      # Supports %prefix which returns our prefix, %player% which uses the player name
      commands:
          - 'put your command here.'

Added the ability to pick whether you can have random schematics or a single schematic for QuadCrates.
Crate:
   # This section is related to .nbt files.
   structure:
     # If it should randomly use an .nbt file.
     random: true
     # The file to use inside schematic's folder.
     file: 'classic.nbt'

Changes:

New placeholders:

%crazycrates_<player>_opened% -> Returns the total amount of crates opened.
%crazycrates_<player>_<crate>_opened% -> 	Returns the amount of this particular crate opened.
%crazycrates_<player>_<crate>_physical% -> 	Returns the amount of physical keys a player has in their inventory.
%crazycrates_<player>_<crate>_virtual% -> Returns the amount of virtual keys a player has.
%crazycrates_<player>_<crate>_total% -> 	Returns the total amount of virtual and physical keys a player has.

Fix:

Cosmic Crates should no longer error. #599
Fixed a bug where it would overwrite the total-crates in data.yml if adding a new crate and other overwriting issues. ( Found in beta testing )

You should probably join the beta tester team in our discord... I like direct feedback :)

Check if the crate type is cosmic before marking it as "open", We want the key to be taken before being marked as open so people can't abuse it.

Developers:

Added a crate open event.

Test Download: https://cdn.discordapp.com/attachments/1133502679637831780/1165757760814710824/CrazyCrates-1.16.jar

A testing jar if anyone wants to take it for a spin.
CrazyCrates-1.16.jar.zip

More bug fixes and code clean up if anyone wants to test it
CrazyCrates-1.16.jar.zip


Fix proxy

Improve tests on #319. Thanks @samuelfekete @daneoshiga.

It looks like this commit broke the pyvmomi testsuite. See https://github.com/vmware/pyvmomi/pull/736#issuecomment-439176546.

The root cause is probably:
>>> from yarl import URL
>>> str(URL("foo:8009").port)
'None'
>>> str(URL("//foo:8009").port)
'8009'

And http.client accepts foo:8009.

this is more precise:

Following the syntax specifications in RFC 1808, urlparse recognizes a netloc only if it is properly introduced by ‘//’. Otherwise the input is presumed to be a relative URL and thus to start with a path component.

The hostport logic of http.client is here:
https://github.com/python/cpython/blob/3.7/Lib/http/client.py#L871,L889


Can I reshape Tensor in C++ like Caffe's Blob

Hello,
I want to use tensors of dynamic shapes in C++.
Can I reshape Tensor like Caffe's Blob, which means after reshape, the  total size of new tensor  can be unchanged.

This type of usage question is better asked on stackoverflow


Have the extension for Mathjax? thanks

@coreyti
Have the extension for Mathjax? thanks

?

well, I guess you want to be able to write math and print it nicely. then there'shttps://github.com/obedm503/showdown-katex it can print math in tex and asciimath

@obedm503
well,it is what I want,I will do a test at first,thank you very much

@obedm503
After  the test,the  https://github.com/obedm503/showdown-katex  work well to me
And I find it use the ~for katex  inline, but not the $,right?
thank you again

Closing issue


fix: fixed overlay of the modal

#659
Description
Before

After

@wermesonsl can you help us? This can generate a new problem?


Feature/i os push

@aderjaan Where's the supporting documentation for this? From Parse.com which documents the use of these keys?

https://parse.com/docs/rest/guide#push-notifications-sending-options


Update ingest to pathogen-repo-template

Description of proposed changes
Update ingest directory to match pathogen-repo-template layout.
This PR does not change any output data formats to not break any downstream uses of the data, i.e. the fields for the NDJSON and metadata.tsv were not changed.
Checklist

[ ] Checks pass
[x] Test run

Not sure what's going on with the pre-commit.ci failure.
All tests pass when I run pre-commit run --all-files locally:

Test run completed successfully and the metadata diff output to the test #scratch channel included the 10 new sequences that have become available since this morning's automated ingest run. No other data changes were reported.

pre-commit.ci failure should be unrelated to changes in this PR. It is likely to be the same failure that is on the master branch. I see the same failure locally after rebasing this branch onto master.
I'm going to leave the pre-commit.ci failure in this PR alone since it will be fixed separately in https://github.com/nextstrain/mpox/pull/233 (or we can exclude .github/dependabot.yml in the .yamlfmt config)

Merging since test run was successful. Will monitor automated runs the next couple of days.


Windows build + release tag process

now we have a new action that runs every Tuesday at 6am and push a new tag based on the format we wanted.
also the release action will run because of this tag pushed.

merged!


cast updated fields

Description
when we have a field of one type stored, and the docmapping wants a different type, attempt to cast what we have to what we want
How was this PR tested?
completed unit tests, tested manually after updating an index

Make sure the motivation also ends up in the commit description.


Please invite me to the community

Name
tedster0629
Additional Context
Please invite to me in this wonderful organization.

Invitation sent to join the GitHub Organization. Welcome to Infraform 🎉Please check your mail to accept the invitation sent by GitHub! 🤖About usInfraform is a remarkable open-source solution tailored for serverless platforms, aimed at empowering creators to craft their infrastructure solutions. 💻 We're thrilled to welcome you into our vibrant community! ✨ We eagerly anticipate your valuable contributions! 🤓 Don't forget to explore our community on Github and connect with us on LinkedIn 💜 Feel free to spread the word about our community to like-minded individuals interested in development, DevOps, technology, and collaborative contributions. 👉💜👈


Update DOCS.md

Thanks @reedy, I made some significant updates to the docs, so this one is stale.
The new docs does have a bit more punctuation :-)


[Q] Problem with "Implicit intersection operator: @"

I'm creating a simple sheet which includes an Excel array formula: SUM( ROUND( D1:D3, 0 ))
With this code (ExcelJS 4.1.1):
     const workbook = new Excel.Workbook();
     const worksheet = workbook.addWorksheet( 'test_sheet' );
     worksheet.getCell( 'D1:D1' ).value = 1.2;
     worksheet.getCell( 'D2:D2' ).value = 2.3;
     worksheet.getCell( 'D3:D3' ).value = 5.6;
     worksheet.getCell( 'D4:D4' ).value = {
         formula: "SUM(ROUND(D1:D3, 0))",
         result: 0,
         date1904: false,
     };
     await workbook.xlsx.writeFile( "c:\\temp\\test.xlsx" );

When I open this sheet with Excel (Excel for Microsoft 365 MSO (16.0.13127.20266)) the new "Implicit intersection operator" will be inserted into the formula and breaks it:

Now I have to remove the inserted "@" and the formula works:

Has anybody a solution or workaround for this problem?

same here. I use Excel for Microsoft 365

I have the same problem using ExcelJS v4.1.1. I use Microsoft Excel for Mac (Microsoft 365, version 16.43 (20110804), language Español)

Reporting the same issue for Microsoft Excel for Mac (Microsoft 365, version 16.46). It breaks CONCATENATE("a", "b") by turning it into @CONCATENATE("a", "b"). A workaround is to use CONCAT("a", "b") instead.

I had the same issue with XLOOKUP. Entered a "good" version of formula in Excel and saved it. Read the file back through exceljs and the formula printed  as "_xlfn.XLOOKUP". When I specify the formula this way for exceljs it ends up avoiding putting the @ in Excel and the _xlfn is dropped by the time I look at it in Excel (and the formula works!). Same trick seems to work with CONCAT

The above solution worked in some cases, but for UNIQUE I had to also set a few other value properties. Putting "shareType" to "array" and providing "ref" did the trick. Mostly just commenting in case anyone else has similar issues with that function.

I filed a bug to this library.
In the meantime, @matteralus solution solved for me too.

The above solution worked in some cases, but for UNIQUE I had to also set a few other value properties. Putting "shareType" to "array" and providing "ref" did the trick. Mostly just commenting in case anyone else has similar issues with that function.

When I try to set the "shareType" to "array" I get:
Type '{ formula: string; result: number; shareType: string; ref: string; }' is not assignable to type 'CellValue'.
Object literal may only specify known properties, and 'shareType' does not exist in type 'Date | CellErrorValue | CellRichTextValue | CellHyperlinkValue | CellFormulaValue | CellSharedFormulaValue'.ts(2322)
Any ideas why (in TypeScript) shareType is not accessible?
Thank you for your help!


Make collapse transition duration dynamic

Collapse.js transition duration is taken from a constant of value of 600.
However in some cases the transition needs to be altered with CSS, for example:
.collapsing {
    transition: none;
}

This prevents the collapsing trigger to work properly as it always waits for the 600ms timeout.
The collapse.js transition duration should take its value dynamically from css.
Demo: https://codepen.io/artifex404/pen/LewydR
(Note: auto updating is disabled, rerun codepen to see changes)

We could use the same approach as #25218 for this

Agree, or at least expose the transition timing variable, so it could be modified.


Normalize paths returned by Util.file_patterns

Astronvim errors while loading neoconf with neovim v0.10. The issue appears to be the same as:
https://github.com/NvChad/NvChad/issues/1832
https://github.com/neovim/neovim/issues/22698
Normalizing the paths eliminates the error, but I haven't done much testing beyond that.

I've been encountering this issue every time I try to open a file (as shown in the image). I updated the code as was done in this pull request, and apparently, it's been resolved. I've seen others facing the same issue as me, I think this way it solves it.

ty!


'Go to my workspace' link is available in Change agent pop-up though Marketplace feature is not enabled

EPAM AI DIAL chat version
0.22.0
What happened?
Reproduced the issue locally in Overlay sandbox:

Be sure that Feature.Marketplace is not enabled
Open any chat with history, click on model icon
Note that 'Go to my workspace' link is on the pop-up -> bug

Note: if to click on the link the pop-up is closed - looks fine, no any harm

Expected: 'Go to my workspace' link is not shown if Marketplace feature is off
Confidential information

[X] I confirm that do not share any confidential information

Verified on overlay-sandbox locally successfully


refactor(web): [WIP] OutlineServerConfig

@fortuna If I understood you correctly and you wanted me to remove the config.ts in favor of the config exported from ShadowsocksConfig, I'll put that in a separate PR. Otherwise I'll simply revert that change from this one.

Closing in favor of a simpler change


Remove invocations of deprecated method: workqueue.NewNamedRateLimitingQueue

Method workqueue.NewNamedRateLimitingQueue we use in queue.go is marked deprecated.

// Deprecated: Use NewRateLimitingQueueWithConfig instead.

AC

[x] NewRateLimitingQueueWithConfig used instead

PR: https://github.com/kyma-project/kyma-environment-broker/pull/1543


Release 0.1.3

Build bump to 1
Release 0.1.3

Checklist

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

Hi! This is the friendly automated conda-forge-linting service.
I failed to even lint the recipe, probably because of a conda-smithy bug :cry:. This likely indicates a problem in your meta.yaml, though. To get a traceback to help figure out what's going on, install conda-smithy and run conda smithy recipe-lint --conda-forge . from the recipe directory.
This message was generated by GitHub actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/11447889471.

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


Horizon: /account/:id/payments timeout error for accounts with large number of trades

This requests fails with 504 error after ~20s loading timeout:
https://horizon.stellar.org/accounts/GAMU5TQFUMDGVKYQPPDCD2MKKUUWELSQAEKNNU4RFQCWFSRBPJA2MAGQ/payments?order=asc&limit=200
I suspect that the root of the problem lies in the huge number of trades (120K trades and only 3 payments). The same endpoint for other accounts shows decent performance (for example, this one).

Interesting - I just tried it and it came back in under 5s.

Checked again. Run 5 times – took about ~5s average.
Still relatively slow, but at least it doesn't return an error. Maybe the server was at capacity 6 hours ago. I checked 4 times before submitting an issue, and each time received 504 error after waiting for about 20 seconds.
Could you please check Horizon server logs?
To my mind, the problem is worth investigation. From my experience, any query that executes longer than 150-200ms is potentially a problem because such requests tend to provoke "avalanches" under heavy load scenarios – each running query reserves a portion of db user memory buffers for grouping and sorting operations, making the subsequent queries slower and slower as each new sql request may provoke cached results and indexes eviction from the shared mem pool depending on db settings. That's not usually the case when the server has 256+ GB of memory, but may become a cause of degraded performance with limited memory setups.

Yeah we'll take a look. What was the timestamp when you tested?

Yeah we'll take a look. What was the timestamp when you tested?

I submitted the issue at 2019-10-03T15:59:21.000Z, so probably between 2019-10-03T15:20:00.000Z and 2019-10-03T15:50:00.000Z , or<PHONE_NUMBER> -<PHONE_NUMBER> UNIX time.

We've discovered that some other queries don't use proper indexes. We're currently verifying with the ops team when was the last run of VACUUM ANALYZE on Horizon DB and if it's the issue. If not, we'll check this issue again.

OK, it looks like VACUUM ANALYZE improved some queries speed however there are still corner cases where this query is extremely slow. I think @orbitlens is right that it's connected to distribution of payments ops in a given account history. Here's the EXPLAIN ANALYZE for one of such queries:
                                                                                QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Limit  (cost=1.72..717.44 rows=50 width=675) (actual time=302.980..515589.945 rows=44 loops=1)
   ->  Nested Loop Left Join  (cost=1.72..15096986.73 rows=1054669 width=675) (actual time=302.980..515589.894 rows=44 loops=1)
         Filter: (ht.successful OR (ht.successful IS NULL))
         Rows Removed by Filter: 8
         ->  Nested Loop  (cost=1.15..11385841.43 rows=1657193 width=422) (actual time=302.968..515487.630 rows=52 loops=1)
               ->  Index Only Scan Backward using hist_op_p_id on history_operation_participants hopp  (cost=0.57..127568.64 rows=4716867 width=8) (actual time=0.022..20268.779 rows=3996530 loops=1)
                     Index Cond: ((history_account_id = '5308433'::bigint) AND (history_operation_id < '9223372036854775807'::bigint))
                     Heap Fetches: 70986
               ->  Index Scan using index_history_operations_on_id on history_operations hop  (cost=0.57..2.38 rows=1 width=414) (actual time=0.123..0.123 rows=0 loops=3996530)
                     Index Cond: (id = hopp.history_operation_id)
                     Filter: (type = ANY ('{0,1,2,13,8}'::integer[]))
                     Rows Removed by Filter: 1
         ->  Index Scan using index_history_transactions_on_id on history_transactions ht  (cost=0.57..2.23 rows=1 width=261) (actual time=1.960..1.961 rows=1 loops=52)
               Index Cond: (id = hop.transaction_id)
 Planning time: 0.425 ms
 Execution time: 515590.026 ms
(16 rows)

My understanding is that Postgres runs a nested loop (to join tables): the outer loop finds all operations for a given account, then inner loop checks if the given operation is actually a payment. Now, when there are many non-payment ops Postgres needs to skip many of them until it finds a specified number (LIMIT) of payment operations.
The problem is that it's not possible to improve the query with existing schema. Data required for this query is in two different tables: information about operation type in history_operations and information about operation participant in history_operation_participants.
It looks like the only reasonable, long-term solution is to:

Add a new type field on history_operation_participants (it's easy to fill past operations with a simple UPDATE query during migrations).
Create a new "hist_type_op_p_id" UNIQUE, btree (history_account_id, type, history_operation_id).
Change payments for account queries to use the index above.
Update ingestion code to store the type in history_operation_participants.

Then all queries like:
WHERE hopp.history_account_id = '5308433' AND hopp.type IN ('0','1','2','13','8') AND hopp.history_operation_id < '9223372036854775807'

will use the index. I'll try to try this in a staging cluster this week.

I tried the following steps:
ALTER TABLE history_operation_participants ADD type integer DEFAULT NULL;
UPDATE history_operation_participants SET type = (SELECT type FROM history_operations where id = history_operation_participants.history_operation_id);
VACUUM VERBOSE history_operation_participants; # to reclaim space after UPDATE
CREATE UNIQUE INDEX hist_op_p_account_type_id ON history_operation_participants USING BTREE(history_account_id, type, history_operation_id);

Total query time was around 10 hours on AWS RDS db.r4.8xlarge. Now when I run the same query with a small modification: hopp.type in WHERE clause instead of hop.type here's the query plan I get:
                                                                                QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Limit  (cost=1.72..498.21 rows=50 width=676) (actual time=160.489..1892.501 rows=44 loops=1)
   ->  Nested Loop Left Join  (cost=1.72..11828672.21 rows=1191241 width=676) (actual time=160.488..1892.461 rows=44 loops=1)
         Filter: (ht.successful OR (ht.successful IS NULL))
         Rows Removed by Filter: 8
         ->  Nested Loop  (cost=1.15..7677326.14 rows=1832151 width=420) (actual time=160.479..1833.434 rows=52 loops=1)
               ->  Index Scan Backward using hist_op_p_id on history_operation_participants hopp  (cost=0.57..3216882.16 rows=1832151 width=8) (actual time=160.466..1768.630 rows=52 loops=1)
                     Index Cond: ((history_account_id = '5308433'::bigint) AND (history_operation_id < '9223372036854775807'::bigint))
                     Filter: (type = ANY ('{0,1,2,13,8}'::integer[]))
                     Rows Removed by Filter: 4011177
               ->  Index Scan using index_history_operations_on_id on history_operations hop  (cost=0.57..2.42 rows=1 width=412) (actual time=1.242..1.242 rows=1 loops=52)
                     Index Cond: (id = hopp.history_operation_id)
         ->  Index Scan using index_history_transactions_on_id on history_transactions ht  (cost=0.57..2.26 rows=1 width=264) (actual time=1.130..1.131 rows=1 loops=52)
               Index Cond: (id = hop.transaction_id)
 Planning time: 4.041 ms
 Execution time: 1892.633 ms

This is a huge improvement however I was wondering if we can do better. 1892.633 ms is great compared to 10 minutes before I was expecting execution time to be something like a few milliseconds. I was surprised that the new index (hist_op_p_account_type_id) I created is not used, instead Postgres is using the old hist_op_p_id index and filter rows using the new type filed in history_operation_participants. After reading Postgres docs again and running a couple more queries I realized that index doesn't help much when multiple values of a field are used (WHERE x in (a, b, c)). After rewriting the query to use a single type (ex. 1) the execution time was less than 1ms and the index was actually used!
                                                                                QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Limit  (cost=1.84..1457.26 rows=200 width=676) (actual time=0.096..0.773 rows=42 loops=1)
   ->  Nested Loop Left Join  (cost=1.84..7854899.60 rows=1079400 width=676) (actual time=0.095..0.753 rows=42 loops=1)
         Filter: (ht.successful OR (ht.successful IS NULL))
         Rows Removed by Filter: 8
         ->  Nested Loop  (cost=1.27..4093308.33 rows=1660137 width=420) (actual time=0.087..0.405 rows=50 loops=1)
               ->  Index Only Scan Backward using hist_op_p_account_type_id on history_operation_participants hopp  (cost=0.70..45584.78 rows=1660137 width=8) (actual time=0.077..0.113 rows=50 loops=1)
                     Index Cond: ((history_account_id = '5308433'::bigint) AND (type = 1) AND (history_operation_id < '9223372036854775807'::bigint))
                     Heap Fetches: 0
               ->  Index Scan using index_history_operations_on_id on history_operations hop  (cost=0.57..2.43 rows=1 width=412) (actual time=0.005..0.005 rows=1 loops=50)
                     Index Cond: (id = hopp.history_operation_id)
         ->  Index Scan using index_history_transactions_on_id on history_transactions ht  (cost=0.57..2.26 rows=1 width=264) (actual time=0.005..0.005 rows=1 loops=50)
               Index Cond: (id = hop.transaction_id)
 Planning time: 0.490 ms
 Execution time: 0.842 ms

To sum it up, I think I'm going to test a new field and index like this:
ALTER TABLE history_operation_participants ADD is_payment boolean DEFAULT NULL;
UPDATE history_operation_participants SET is_payment = (SELECT type IN ('0','1','2','13','8') FROM history_operations where id = history_operation_participants.history_operation_id);
VACUUM VERBOSE history_operation_participants; # to reclaim space after UPDATE
CREATE UNIQUE INDEX hist_op_p_account_payment_id ON history_operation_participants USING BTREE(history_account_id, is_payment, history_operation_id);

I confirmed that SELECT type IN (...) FROM works correctly by running:
horizon=> select type IN ('0','1','2','13','8'), type from history_operations limit 10;
 ?column? | type
----------+------
 f        |    3
 t        |    1
 f        |    3
 f        |    3
 t        |    1
 f        |    3
 t        |    1
 t        |    1
 t        |    1
 f        |    3
(10 rows)

After the new migration, we should be able to rewrite payment queries' WHERE clause from hop.type IN ('0','1','2','13','8') to hopp.is_payment = true.

This is an impressive improvement!
It seems a little special-case, though. We might forget to update is_payment as new types of operations are added, and it doesn't generalize to other types of operations. We may want to grab only offer operations or settings operations in the future like stellar.expert does.
It seems like the query analyzer is just straight getting it wrong. If you ran separate queries, one for each of those 5 payment types, it seems like it'd be much faster than the 1.8 seconds that's happening above. The logic is that the cost of the is_payment query is probably similar to the single type query, so you'd end up with about 4ms running that query 5 times.
The ideal would be to figure out a way to get the query optimizer to do this right, but another option is to execute those 5 queries and concatenate their results.
Not a big deal if you're already well down the is_payment path though.

@bartekn After a second glance at the query, I spotted that you are using stringified values for type here: AND hopp.type IN ('0','1','2','13','8'). Why so? I'm almost 100% sure that Pg is smart enough to deal automatically with the implicit types conversion in this case, but still...
Also, have you tried building an expression index to support this particular query instead of introducing new field? It might be better in terms of space saving. Something like
CREATE INDEX idx_history_operations_is_payment
ON history_operations(type IN (0,1,2,8,13));

This won't provide the same performance as a new is_payment field on the history_operation_participants table though.

It seems like the query analyzer is just straight getting it wrong. If you ran separate queries, one for each of those 5 payment types, it seems like it'd be much faster than the 1.8 seconds that's happening above. The logic is that the cost of the is_payment query is probably similar to the single type query, so you'd end up with about 4ms running that query 5 times.

I think query planner is sophisticated but probably not as much to realize that it's faster to do it that way instead of using different index and then filtering rows.
I like the idea of either running the query multiple times and then merging results in Horizon code or maybe using UNION but maybe the simpler (but also future proof) way is create group_type that's enum and can be either payments, offers, settings or whatever we think can be useful for future queries.

@bartekn After a second glance at the query, I spotted that you are using stringified values for type here: AND hopp.type IN ('0','1','2','13','8'). Why so? I'm almost 100% sure that Pg is smart enough to deal automatically with the implicit types conversion in this case, but still...

Yes, postgres will convert values before running the query so it's fine. I used ' because I copied the query directly from slow query log where all params are enquoted and forgot to remove the quotes. But again, it shouldn't affect the performance at all.

Also, have you tried building an expression index to support this particular query instead of introducing new field?

This won't solve the problem because the lack of index on history_operations is not an issue here. What postgres is doing now (in a broken query) is really a loop, something like:
for each row in index history_operation_participants {
    op := find operations with this ID in history_operations
    // line above fast but slow when you do it thousands times and you have to because some accounts have a lot of non payment ops
    check if the op.type is one of payment types
}

The first fix I made was adding type to history_operation_participants then the loop changes to:
for each row in index history_operation_participants {
    check if the operation is one of payment types
}

It no longer needs to check the other table but still needs to filter out a lot of rows in history_operation_participants. The final fix (is_payment or similar - check top of this comment) will remove a need for check too because we'll have an index for (history_account_id, is_payment, history_operation_id - last one used for sorting) so index will be enough to get data (no need for table scan).
What could help is adding history_operation_participants(type IN (0,1,2,8,13)) index but the problem here is partial indexes are matched at query planing time (https://www.postgresql.org/docs/9.5/indexes-partial.html), not at a run time what means we'd need to remove params from "Payment for Account" queries. Removing params maybe isn't a huge deal but the problem is that you'd need to recreate an index whenever a new payment operation is added.

Today, during Horizon Team meeting, we decided to prioritize fixing this. Please add any other ideas to this issue by Nov, 27th so we have time to implement this in 0.24.0 release. Otherwise, we'll add type/group_type to history_operation_participants.
CC: @ire-and-curses @tamirms @abuiles.

I checked other types of slow queries to make sure we do all necessary migrations in one go. I realized that the fix above is not enough because what we fix here is only one case where many rows must be scanned in a nested loop in order to check the query condition: finding successful payment operations for accounts with a large number of non-payment ops.
In case of accounts with many non-payment ops that are part of failed txs I think this fix won't make them faster because a loop checking history_transactions will have to skip a lot of them in order to find successful txs only.
So ultimately, in order to support super fast "For Accounts" queries in history tables we need to add the following indexes:

CREATE UNIQUE INDEX hist_op_p_account_is_payment_is_successful_id ON history_operation_participants USING BTREE(history_account_id, is_payment, is_successful, history_operation_id);
CREATE UNIQUE INDEX hist_op_p_account_is_payment_id ON history_operation_participants USING BTREE(history_account_id, is_payment, history_operation_id);
CREATE UNIQUE INDEX hist_op_p_account_is_successful_id ON history_operation_participants USING BTREE(history_account_id, is_successful, history_operation_id);
CREATE UNIQUE INDEX hist_tx_p_is_successful_id ON public.history_transaction_participants USING BTREE(history_account_id, is_successful, history_transaction_id);

Here's how the queries will use them after updating them to use proper columns:

Endpoint
Index
Use case

/accounts/{id}/payments
hist_op_p_account_is_payment_is_successful_id
When many non-payment ops and failed tx in history

/accounts/{id}/payments?include_failed=true
hist_op_p_account_is_payment_id
When many non-payment ops in history

/accounts/{id}/operations
hist_op_p_account_is_successful_id
When many failed tx in history in history

/accounts/{id}/operations?include_failed=true
hist_op_p_id (existing)
-

/accounts/{id}/transactions
hist_tx_p_is_successful_id
When many failed tx in history

/accounts/{id}/transactions?include_failed=true
hist_tx_p_id (existing)
-

Thoughts:

New indexes will probably take a lot of disk space.
We probably need to move this after mirroring is live so we can check if performance really improves and there are no other issues.
Maybe instead we should disable include_failed filters on some endpoints? It can be useful sometimes though.

Thanks Bartek! Like you point out, it's pretty rough to have to add all those new indices. To me it seems like those two middle indices don't provide meaningful value beyond the top index (history_account_id, is_payment, is_successful, history_operation_id) if the postgres query optimizer is using that index properly. Do you have reason to think the top index is insufficient?

Actually, how about partitioning on is_successful in our history tables? This seems like a really elegant use for the partitioning feature. It'd allow us to go down to just two indices in this case, and should provide speedups across the board because is_successful=false data is probably rarely accessed. It looks like migrating to that would be painful though.

@tomquisel: Do you have reason to think the top index is insufficient?

According to Postgres docs:

A multicolumn B-tree index can be used with query conditions that involve any subset of the index's columns, but the index is most efficient when there are constraints on the leading (leftmost) columns. The exact rule is that equality constraints on leading columns, plus any inequality constraints on the first column that does not have an equality constraint, will be used to limit the portion of the index that is scanned. Constraints on columns to the right of these columns are checked in the index, so they save visits to the table proper, but they do not reduce the portion of the index that has to be scanned.

So using only (history_account_id, is_payment, is_successful, history_operation_id) index will be faster than no index but I'm afraid that some data distributions will make it slow for request like is_payment=true AND is_successful=true queries where number of failed transactions is large. Worth checking.

@tomquisel: Actually, how about partitioning on is_successful in our history tables?

This is interesting but I haven't found information in the docs if it's possible to send queries that get data from two partitions automatically (instead of using ex. UNION). This is to support ?include_failed=true queries that return both successful and failed objects. Also, it looks like it's not possible to add partitions to existing table so we'd need to drop and create a table (and ingest data again):

It is not possible to turn a regular table into a partitioned table or vice versa.

Great points!
Given this index: (history_account_id, is_payment, is_successful, history_operation_id)

I think in the example of history_account_id=X AND is_payment=true AND is_successful=true will be fast since it has equality on all the leading columns.
However a query like history_account_id=X AND is_successful=true will be slow, as you point out.

I'm liking the UNION approach with just the single index to handle 2. Generate a is_payment = false query and UNION it with the is_payment = true version. It seems quite desirable to save the overhead of those extra indices.
Do you see any problems with that approach in the real Horizon queries? Obviously they're more complex and involve joins that may not mix well with UNION.
As far as partitions, my understanding is that queries automatically get data from all partitions without needing UNION. The example in section 5.10.4 here shows that happening by default.
I'm leaning away from partitions, though. They seem to add serious maintenance overhead and constraints.

Looks like Figma run into similar problem: https://www.figma.com/blog/post-mortem-service-disruption-on-january-21-22-2020/ They say that upgrading to Postgres 11 solved the problems with the query planner for them. I wonder if this could solve this issue. I’m pretty confident that schema change is the only option but… maybe.

The upgrade to PostgreSQL 11 mitigated both of these causes: the query planner is able to take advantage of the uniqueness of the inner relation to avoid the problematic query plan, and the performance characteristics of autovacuuming have been significantly improved.

Let's try it out in staging server first before any code/schema changes.

I attempted the problematic payments request on the staging db which was created recently and has been fully ingested. unfortunately, the request still times out on staging. So at this point we should check whether postgres 11 would improve the query. If that doesn't work then we can consider schema changes

@tamirms could you retest the query?

@tamirms could you retest the query?


New Testimonial for Francesco Ciulla

Name
FrancescoXX
Title
Inspirational
Description
Francesco consistently shares inspiring and thought-provoking tweets related to the field of technology. He often showcase his deep knowledge and passion for technology, as well as his commitment to staying up-to-date with the latest trends and developments in the field. Even though I have never had the opportunity to work with him directly, his tweets have always served as a source of motivation and encouragement for me to strive for excellence in my own work. :)

added


docs(cn): translate Global navigation failures section of Waiting for the result of a Navigation Chapter into Chinese

@yionr well done. I left some comments in all your 4 PRs. Thanks.

@yionr well done. I left some comments in all your 4 PRs. Thanks.

You are welcome. Thanks you all guys the hark work that I can get started of this framework such fast


Allow to define selectable/hoverable categories in the highlighter

Description 📝
Right now, the highlighter allows to select or hover everything. However, some use cases may require to only select certain categories of elements.
Suggested solution 💡
No response
Alternative ⛕
No response
Additional context ☝
No response
Validations ✅

[X] Read the docs.
[X] Check that there isn't already an issue that requests the same feature to avoid creating a duplicate.

Done. Available from<EMAIL_ADDRESS>Now doing something like this:
const classifier = components.get(OBC.Classifier);
classifier.byEntity(model);
const windows = classifier.find({ entities: ["IFCWINDOW"] });
highlighter.selectable.hover = windows;

This is the result:
https://github.com/user-attachments/assets/7c094823-2666-4976-83ec-1d49f7e9f4e1

I am not seeing the "selectable" parameter anywhere in the repo and while running on 2.1.24 my highlighter does not support this. Am i missing anything?

My bad, try version<EMAIL_ADDRESS>

Thanks for the fast reply :)
But now I'm getting an error from npm that ui-obc requires<EMAIL_ADDRESS>but components and components-front require<EMAIL_ADDRESS>is there a way to fix that on my end?

Hum, can you try the latest versions? I updated the dependency on both


Implement foundry example

Description:
Replaces https://github.com/hashgraph/hedera-json-rpc-relay/pull/1198 for a cleaner review.
In addition to the changes described in #1198 the changes in this PR also demo how to use the system contract mock contracts in the hardhat-example project against a local hardhat node which supports the hardhat_setCode method.
Related issue(s):
Fixes #1172
Notes for reviewer:
Requires https://github.com/hashgraph/hedera-smart-contracts/pull/503 ; once this PR is merged I'll update the hardhat-example dependency to point to the official hedera-smart-contracts instead of my fork of it.
Should I add tools/ to the .dockerignore?
Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Should I add tools/ to the .dockerignore?
Checklist

[ ]  Documented (Code comments, README, etc.)
[ ]  Tested (unit, integration, etc.)

Yeah, it definitely should be part of the docker build process.

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (7fca2fa) 77.78% compared to head (b06250b) 77.76%.
 Consider uploading reports for the commit fd6c993 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1849      +/-   ##
==========================================
- Coverage   77.78%   77.76%   -0.03%
==========================================
  Files          40       40
  Lines        3039     3040       +1
  Branches      609      610       +1
==========================================
  Hits         2364     2364
  Misses        487      487
- Partials      188      189       +1

Files
Coverage Δ

...kages/relay/src/lib/services/debugService/index.ts
75.00% <0.00%> (-1.48%)
:arrow_down:

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

@Nana-EC thanks for the review, are there any comments I missed?

@Nana-EC thanks for the review, are there any comments I missed?

Nahh you got everything.
Just gonna wait on CI to pass and I'll merge

@Nana-EC thanks, I've pushed a fix for the Charts workflow that failed.

Hey @Nana-EC any idea why that Dapp Tests test case timed out? It might just be an intermittent issue so re-running that job should get it to pass.

Hey @Nana-EC any idea why that Dapp Tests test case timed out? It might just be an intermittent issue so re-running that job should get it to pass.

@mshakeg  Passed on rerun.
Chart install is still broken on build images in relation to sub modules.

@Nana-EC that's really strange. The Charts workflow goes past the Build and push images step on my run.
I suspect there may be caching going on, so I created a new PR https://github.com/hashgraph/hedera-json-rpc-relay/pull/1854
Hopefully it's no longer an issue.


extend public API with optional event functions to support additional use-case

Hey @legomushroom, thanks for making this.
I added these four optional functions so that I could synchronize an animation over-top a <video> element. That is, when I integrate with these elements, I can pause, seek, and play the video, scrub back and forth, etc.
This is done as:
const vid = document.querySelector('#vid');

// simple state holder for play/pause
const state = {};

// connect to player
const player = new MojsPlayer({
  add: timeline,
  isPlaying: true,
  isRepeat: true,
  isSaveState: false,
  progress: 0,
  onPlayStateChange: isPlaying => {
    state.isPlaying = isPlaying;
    isPlaying ? vid.play() : vid.pause();
  },
  onSeekStart: () => {
    vid.pause();
    state.seeking = true;
  },
  onSeekEnd: () => {
    if (state.isPlaying) vid.play();
    state.seeking = false;
  },
  onProgress: progress => {
    if (!state.seeking) return;

    // set video time based on scrubber
    vid.currentTime = vid.duration * progress;
  }
});

I can DM a gif/vid of the use case if you want to see a justification of the usefulness of these additions.
Thanks for considering.

Hey @weisjohn ! Thanks a lot, sounds nice, will look into it just shortly. 👍

@legomushroom I just made those changes. I haven't used the "Changes requested" experience on GH yet: do I need to submit a new PR or were those additions enough?

@weisjohn thanks! No need for separate PR -  I see your commits here. Will review just in few moments.

Looks good, thanks a lot. 👍

If you want to contribute more, you can think how to provide the callbacks with state variables, something like this:
const vid = document.querySelector('#vid');

// connect to player
const player = new MojsPlayer({
  add: timeline,
  isPlaying: true,
  isRepeat: true,
  isSaveState: false,
  progress: 0,
  onPlayStateChange: isPlaying => {
    isPlaying ? vid.play() : vid.pause();
  },
  onSeekStart: (isPlaying) => {
    vid.pause();
  },
  onSeekEnd: (isPlaying) => {
    if (state.isPlaying) vid.play();
  },
  onProgress: progress, isSeeking => {
    if (!isSeeking) return;

    // set video time based on scrubber
    vid.currentTime = vid.duration * progress;
  }
});


List SLP token by id

Pull Request Test Coverage Report for Build 326

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 68.265%

Totals

Change from base Build 317:
0.0%

Covered Lines:
729

Relevant Lines:
1041

💛  - Coveralls

:tada: This PR is included in version 1.0.0 :tada:
Your semantic-release bot :package::rocket:


AttributeError: 'str' object has no attribute 'decode'

OS: MacOS 10.13.6
Python 3.6.5
$wget https://raw.githubusercontent.com/eosnewyork/eospy/master/examples/push_transaction.py
$python3 push_transaction.py
Traceback (most recent call last):
  File "push_transaction.py", line 35, in <module>
    resp = ce.push_transaction(trx, key, broadcast=True)
  File "/usr/local/lib/python3.6/site-packages/eospy/cleos.py", line 159, in push_transaction
    signatures.append(k.sign(digest))
  File "/usr/local/lib/python3.6/site-packages/eospy/keys.py", line 187, in sign
    return 'SIG_K1_' + self._check_encode(hexlify(sigstr), 'K1').decode()
AttributeError: 'str' object has no attribute 'decode'

Sorry I haven't had a chance to steal the development mac for testing yet. I am scheduling some time during this weekends hackathon to take a look.

I just tried on mac with 2.7 and 3.7 and it worked. Can you upgrade from 3.6 -> 3.7 and attempt again?

Got and exception but it seems to be related to your test network:
$ python3 push_transaction.py
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/eospy/dynamic_url.py", line 41, in post_url
    r.raise_for_status()
  File "/usr/local/lib/python3.7/site-packages/requests/models.py", line 939, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://api.pennstation.eosnewyork.io:7001/v1/chain/push_transaction

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "push_transaction.py", line 35, in <module>
    resp = ce.push_transaction(trx, key, broadcast=True)
  File "/usr/local/lib/python3.7/site-packages/eospy/cleos.py", line 169, in push_transaction
    return self.post('chain.push_transaction', params=None, data=data)
  File "/usr/local/lib/python3.7/site-packages/eospy/cleos.py", line 31, in post
    return cmd.post_url(url, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/eospy/dynamic_url.py", line 43, in post_url
    raise requests.exceptions.HTTPError('Error: {}'.format(r.json()))
requests.exceptions.HTTPError: Error: {'code': 500, 'message': 'Internal Service Error', 'error': {'code': 3050003, 'name': 'eosio_assert_message_exception', 'what': 'eosio_assert_message assertion failure', 'details': [{'message': 'assertion failure with message: to account does not exist', 'file': 'wasm_interface.cpp', 'line_number': 934, 'method': 'eosio_assert'}, {'message': 'pending console output: ', 'file': 'apply_context.cpp', 'line_number': 72, 'method': 'exec_one'}]}}
```

Yes that is because the testnet wasn't setup correctly. It looks like 3.7 works with the lib but 3.6.5 doesn't. I'll take a deeper look and see if I can fix it for 3.6

my python version is 3.6.5, does't work in mac os 10.13.4, but work in ubuntu 16.04.4 LTS.
`# new key
new_key = ce.create_key()
print(new_key.to_public())`

my python version is 3.6.5, does't work in mac os 10.13.4, but work in ubuntu 16.04.4 LTS.
# new key
new_key = ce.create_key()

print(new_key.to_public())

Python 3.6.5
libeospy==2.0.0
base58==0.2.5

Had the same issue. The problem is in base58.b58encode function. I returns a string which cannot be decode in methods like to_wif, to_public etc. Maybe you should pinn versions for all dependencies in setup.py? Updating to base58==1.0.3 solved my issue

Good catch. I pinned to >= 1.0.3 in version 2.0.1


ActionController::Parameters support

As of Rails 5 (https://github.com/rails/rails/pull/20868) calling params in a controller does not return a hash but a ActionController::Parameters.
If we do ap params on Rails 5, we don't leverage this gem, we gotta do ap params.to_h.
Should we implement calling to_h in any instance of ActionController::Parameters?
Thank you.

Calling .to_h we lose class name display and the permitted: true/false for each ActionController::Parameters object in the hash.
params.inspect
"licensings_attributes"=><ActionController::Parameters {"0"=><ActionController::Parameters {"license_number"=>"", "license_id"=>"1", "expiration_date"=>""} permitted: true>}

ap params.to_h
  "licensings_attributes" => {
        "0" => {
             "license_number" => "",
                 "license_id" => "1",
            "expiration_date" => ""
        }

ap params

[Exception] DEPRECATION WARNING: #to_hash unexpectedly ignores parameter filtering, and will change to enforce it in Rails 5.1. Enable raise_on_unfiltered_parameters to respect parameter filtering, which is the default in new applications. For the existing deprecated behaviour, call #to_unsafe_h instead.

what's the move here? breaking my rails 5.1 project

@sebbean you're very welcome to submit a patch! :)

@imajes actually turns out to be working just fine! I just wasn't sending Content-Type: app/json so it wasn't parsing the params correctly.
Still seems to be a weird error for that case tho.

To circumvent:
*** ActionController::UnfilteredParameters Exception: unable to convert unpermitted parameters to hash

... you can use this hack: ap params.to_enum.to_h.
+1 for ap params

@janwerkhoven  wrote:

... you can use this hack: ap params.to_enum.to_h

That works if you want it the display to be on STDOUT -- alas, if I instead want that pretty-print to be recorded to the debug log, and I try Rails.logger.debug ("#{params.to_enum.to_h.ai}"), it throws an error:
ActionController::UnfilteredParameters - unable to convert unpermitted parameters to hash:
  app/controllers/reports/exports_controller.rb:15:in `create'
  app/controllers/application_controller.rb:334:in `block in wrap_in_user_time_zone'
  app/controllers/application_controller.rb:334:in `wrap_in_user_time_zone'
  app/middleware/healthcheck_middleware.rb:21:in `call'

@philCryoport You can probably work around that with a .permit!

@philCryoport You can probably work around that with a .permit!

Thank you!  That worked!


Tasks using selectattr (section 6) fail on CentOS 7, Python 2.7.5, jinja2-2.7.2

Describe the Issue
Running any test from section 6 that uses selectattr on CentOS 7 install with Python 2.7.5  and Jinja2 2.7.2 fails and excution of the playbook stops with the follow or equvalent for the other tests:
# ansible-playbook local.yml --tags rule_6.2.1
...
TASK [/root/src/git/RHEL7-CIS : 6.2.1 | L1 | PATCH | Ensure accounts in /etc/passwd use shadow passwords] *********************************************************************************************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: TemplateRuntimeError: no test named '!='
fatal: [localhost]: FAILED! => {"msg": "Unexpected failure during module execution.", "stdout": ""}

Expected Behavior
I would expect these tests pass, or documentation on what to install on CentOS 7 to get the newer jinja2 pip to install.
Actual Behavior
When run with -vvv the output is this:
# ansible-playbook local.yml --tags rule_6.2.1
...
TASK [/root/src/git/RHEL7-CIS : 6.2.1 | L1 | PATCH | Ensure accounts in /etc/passwd use shadow passwords] *********************************************************************************************************************************************************************
task path: /root/src/git/RHEL7-CIS/tasks/section_6/cis_6.2.x.yml:5
The full traceback is:
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 105, in run
    items = self._get_loop_items()
  File "/usr/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 251, in _get_loop_items
    items = templar.template(self._task.loop)
  File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py", line 618, in template
    disable_lookups=disable_lookups,
  File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py", line 877, in do_template
    res = j2_concat(rf)
  File "<template>", line 10, in root
  File "/usr/lib/python2.7/site-packages/jinja2/filters.py", line 740, in do_list
    return list(value)
  File "/usr/lib/python2.7/site-packages/jinja2/filters.py", line 931, in _select_or_reject
    if modfunc(func(transfunc(item))):
  File "/usr/lib/python2.7/site-packages/jinja2/filters.py", line 925, in <lambda>
    name, item, args, kwargs)
  File "/usr/lib/python2.7/site-packages/jinja2/environment.py", line 438, in call_test
    raise TemplateRuntimeError('no test named %r' % name)
TemplateRuntimeError: no test named '!='
fatal: [localhost]: FAILED! => {
    "msg": "Unexpected failure during module execution.",
    "stdout": ""
}

I understand this is due to an old version of jinja2.
Control(s) Affected
What controls are being affected by the issue
Environment (please complete the following information):

Ansible Version: 2.9.27-1.el7
Host Python Version: python 2.7.5-90.el7 (Python 3.6.8 is also installed)
Ansible Server Python Version: 2.7.5-90.el7  (Python 3.6.8 is also installed)
Additional Details:

Additional Notes
# rpm -qa python python3 python-jinja2 ansible
ansible-2.9.27-1.el7.noarch
python-2.7.5-90.el7.x86_64
python-jinja2-2.7.2-4.el7.noarch
python3-3.6.8-18.el7.x86_64

Possible Solution
Sorry, none found yet other than commenting out the tests.
I tried pip installing jinja2-2.9 or jinja2-2.11 but that tried bringing in an update version of markupsafe and ansible wouldn't run any playbook.
I had to manually remove them & reinstall the CentOS 7 python-jinja2 & python-markupsafe packages
PS. Thanks for this project. Having stumbled across it it's a real eye opener.

I should better read the Technical Dependencies: section.
Sorry for the noise.

hi @dmk1000
Thank you for taking the time to raise the issue, i noticed you have since closed it and while we would advice very much towards using python3 you are using python 2.
I am hoping that if you add the following lines to the controls you are having issues with setting a var for the whole task/block. This "MAY" fix your problem.
vars:
ansible_python_interpreter: "{{ python2_bin }}"
when: ansible_python.version.major == 2
Please let me know.
uk-bolly


Update LfmHelpers.php

add config to set unicode

the config('win_unicode') part looks great to me. Would you please split it into an independent PR?

Already implemented this in v1.8.0.


[6.x] Fix for Blueprints executing dropForeign commands in the wrong order.

The Bug
Sometimes, when writing migrations, you need to alter a column that has a foreign key relationship. Due to database limitations, you're unable to alter a column that has a foreign key defined. Therefore, logically, you would write something like the following in order to drop the foreign key first and then make the relevant changes:
Schema::table('users', function (Blueprint $table) {
	$table->dropForeign('foo');

	$table->boolean('foo')->default(false)->change();

	// (optionally) recreate the foreign key either now or later.
});

Due to a bug with with how Laravel constructs the command priorities (within the addImpliedCommands method), the commands for any changed columns will be executed first. That, inning of itself, is correct and a good thing.
However, in this case, a dropForeign should always be prioritized over any changes / additions. Otherwise, you will receive an SQL error indicating that you're unable to modify a column that has a foreign key relationship. Thus, the current workaround is to do something like so:
Schema::table('users', function (Blueprint $table) {
	$table->dropForeign('foo');
});

Schema::table('users', function (Blueprint $table) {
	$table->boolean('foo')->default(false)->change();
});

Needless to say, the workaround is unnecessarily more "clunky," just to overcome this bug (and that's after you've identified the problem isn't with your migration itself but rather Laravel's handling of command priorities.)
The Resolution
The solution is straight forward. We need to extract any commands that should be "prioritized" and ensure they're placed at the front of the $this->commands array so that when we convert $this->commands to SQL, the dropForeign keys take the priority.
There may be other scenarios where commands need to be prioritized and therefore I've defined an array of $prioritizedCommands in the new filterPrioritizedCommands() method so those can be added. The method will ensure the commands retain that priority, so that we can bundle the same type of commands together.
For example, if dropForeign is the first value of $prioritizedCommands (as is the case now) then all commands that are dropForeign will appear at the first in the SQL query and so on and so forth.
This just helps to ensure consistency, rather than randomly scattering these "prioritized commands" at the front of the $this->commands array based on how the user has set it up in their migration.

Is this issue present in 6.x? If so, please close this PR and submit a fresh PR to the 6.x branch.

Is this issue present in 6.x? If so, please close this PR and submit a fresh PR to the 6.x branch.

You're absolutely right, @GrahamCampbell, it is present in 6.x.
I've gone ahead and swapped that over to 6.x now. 👍

Rather than making all these changes on a LTS release and risk introducing more breaking changes for users - just use the workaround.

@taylorotwell, that's the reason for assigning it to 8.x (rather than 6.x initially).


Support litefs

What would you like to be added:
https://github.com/superfly/litefs
Why is this needed:
SQLite is HA clustered

SQLite can run on top of JuiceFS, similar to running on litefs. What do you mean supporting litefs?


Manual Installation option / Okta sign-in widget CORS issues

Hi,
It seems that this plugin overwrites a lot of files and will actually corrupt a project in a sense if there is already an Okta configuration setup.
I believe this would be useful if rather than forcing the automation of file changes, to simply install all the required plugins needed, and to have documentation that points you in the right direction, as I'm going to have to do this manually by looking at the included files.
This seems like a great starting point for a fresh project, but for me with an existing project and routes/tabs, it will break my application.
Some people have to integrate this manually, so simply providing how to do that can save developers with existing configurations time and effort.
Great plugin, glad to see this exists and provides a clear way to integrate Okta authentication in PWAs.

@bijanmmarkes Thanks for your feedback. I originally created this project to help me show demos during presentations. I found there were a lot of steps required to integrate Okta into a brand new application, so I wanted to automate it.
If you have an existing project, I think people can use each respective SDK's documentation to integrate Okta. Do you think that's a reasonable approach?

@mraible Yes, I do believe so. I will be documenting my manual process for ionic/capacitor/angular, would you like me to contribute to the README or add a MANUAL_INSTALL.md type file?
I actually think the key to this is the following plugins:

ionic-appauth
@ionic-native/secure-storage
@ionic/storage

With that knowledge, and the changes to the info.plist, etc. Anyone could integrate it into their project.
Appreciate the research done on your end, as actual native functionality is always trickier than when testing in the browser.

I believe a nice addition to this would be to utilize the environment files for passing clientId, etc. into the AuthService, rather than the hardcoded approach, but I understand this was just for demo purposes.

In my React Native Login tutorial, I show how to integrate Okta (the easy way) with OktaDev Schematics. Then I show the hard way without it.
I neglected to show the hard way in my Ionic tutorial, mostly because you have to create a lot of files. Ideally, I think these files should be provided by ionic-appauth, but that's not currently available. Do you think a new tutorial with Ionic "the hard way" would be useful?

@mraible I truly do, because currently, I'm using the okta-angular-widget, and it seems to be causing issues for me. Do you know if the widget is supported for this type of flow?

We have an Okta Angular SDK and a Sign-In Widget. Are you talking about one of those projects? I've tried to make both of them work in Ionic and have NOT been successful. That's why this project uses Ionic AppAuth, which is based on AppAuth JS.

Yes, I'm using the okta signin-widget
https://github.com/okta/okta-signin-widget

I have not figured out a way to authenticate with Okta without a redirect. If it were possible with our JavaScript SDKs, it’d be with our Auth JS SDK, which is the foundation for all our JavaScript SDKs. This library has recently been updated to have React Native and Node.js support. It’s possible that it will work for your needs, but I’m not sure as I haven’t tried it myself.
The only other option I can think of would be to use our native iOS and/or Android SDKs to create a Cordova plugin that could talk directly to our authentication APIs. The downside of this is it might be tough to make it work when developing outside of an emulator and developing in an emulator would be a real pain for Ionic (IMO).

In this blog post, I tried to use the Auth JS SDK and encountered issues.

I believe this doesn’t work when the app is packaged with Cordova because it’s making a request to the server with an embedded iframe that then posts back to the current window using postMessage. It seems that Ionic/Cordova doesn’t support this flow (yet).

It's possible that using Capacitor can solve this, but not with it's current HTTP library + Okta. It sends a capacitor:// scheme as an origin header and Okta only allows http/s for CORS.
It looks like Capacitor's new HTTP library hatched a testable version last week. I haven't had a chance to try it myself.
Currently, this project installs Cordova Advanced HTTP for Capacitor projects.

I don't think you can change the Sign-In Widget to use the Advanced HTTP Plugin.
There's no specific reason I know of for not allowing capacitor://, but I don't think it's an issue since the new HTTP implementation in Capacitor will change it to use http/s like the Advanced HTTP Plugin.

@mraible I wasn't aware that's what the plugin was for, thanks for pointing that out, I will try it out and report the results.
Thanks.

@mraible Doesn't look like that plugin really did much, it seems more like it's meant to be used for manual HTTP requests rather than allowing to use a different schema.
Using the following capacitor config:
"server": {
    "iosScheme": "http",
    "androidScheme": "http",
    "allowNavigation": [
      "authorize.vta.org"
    ]
}

I am able to open authorize.vta.org in the app itself and redirect, but it doesn't set the cookie as depicted by the error below, and to me that's the same as opening another browser without the "open in app" popup that comes with it, preventing me from using the actual options I have set in my sign-in widget, or styling/native look and feel.
Error after redirect: AuthSdkError: Unable to retrieve OAuth redirect params cookie
I am using the Okta sign-in widget, which means I have no control over how to set the cookie, even if I were to use that authentication flow.
This is seeming to be a pretty big hack-around, and I think it can be resolved by simply allowing capacitor:// as a CORS origin, not sure if there will still be an issue with cookies in that case.
Do you have any examples of how this changes it to http/s? Am I missing something? Even with "iosScheme": "http" it still loads it as capacitor:// Not sure if the plugin is meant to transform that or just give access to HTTP libraries natively.

Do you have any examples of how this changes it to http/s?

Sorry for the delay, I was on vacation in July. I don't have any examples, I just know that if you create a new Ionic app with Capacitor and use this project to install Okta support, it works.

Good news! We're working on adding support for capacitor://localhost as a trusted origin. Hopefully, this will make it so you can use SDKs with Ionic.

Better news! Someone figured out how to use capacitor-community/http and get the Sign-In Widget to work in an Ionic app on a device. https://github.com/capacitor-community/http/issues/45#issuecomment-786586655

Closing because I recommend redirecting to Okta over using the Sign-In Widget.