Converting main SQL file into multiple files

Pull Request: Enhancing Codebase Readability by Converting Main SQL File into Multiple Files
Description:
This pull request is aimed at improving the overall quality of our SQL codebase by converting the main SQL file into multiple smaller files. The primary goal is to enhance code readability, maintainability, and organization for the benefit of the development team.
Changes Made:
In this pull request, several changes have been made to achieve the goal of breaking down the main SQL file into smaller, more manageable pieces:

Split the original monolithic SQL file into multiple smaller files, each focusing on specific functionalities or components.
Introduced a clear folder structure to organize these SQL files, making it easier for developers to locate the relevant code.
Updated any references, imports, or dependencies to adapt to the new file structure.
Applied consistent naming conventions for the newly created SQL files.

Why is this change needed?
There are several compelling reasons behind the need for this change:

Improved Readability: The main SQL file has grown significantly over time, becoming difficult to navigate. This change aims to break it down into smaller, more digestible units, improving overall code readability.

Simplified Maintenance: Smaller, well-organized files are easier to maintain. Developers can now work on specific components without affecting the entire codebase, reducing the risk of unintended errors.

Modularity: This change embraces the principle of modularity in software development. Each file now focuses on a specific aspect of our database operations, fostering code reusability and collaboration.

Best Practices: Organizing code into smaller files and directories is a widely-accepted best practice in the software development community. This aligns our project with industry standards.

Checklist:

[ ] Code has been reviewed.
[ ] Tests pass successfully.
[ ] Documentation has been updated (if necessary).

Please take the time to review this pull request thoroughly and provide your feedback. Your input is essential in ensuring the continued improvement of our codebase. Thank you for your collaboration!

@muhammadshoaib Looks good to me. Just one question- If the a sql file change, are we updating the backup to keep them in sync?

@muhammadshoaib Unfortunately, your PR does not build locally -
============== creating database "contrib_regression" ==============
CREATE DATABASE
ALTER DATABASE
ALTER DATABASE
ALTER DATABASE
ALTER DATABASE
ALTER DATABASE
ALTER DATABASE
============== installing age                         ==============
ERROR:  type agtype does not exist
command failed: "/home/jgemignani/POSTGRESQL/postgresql-15.4/psql-15.4-5432-pgsql/bin/psql" -X -c "CREATE EXTENSION IF NOT EXISTS \"age\"" "contrib_regression"
make: *** [installcheck] Error 2
[jgemignani@cent7nuc7i5bnk incubator-age]$

When I looked at age--1.4.0.sql I noticed the order was not correct, agtype was being defined well after it was being referenced -
  20 --
  21 -- Scalar Functions
  22 --
  23
  24 CREATE FUNCTION ag_catalog.age_id(agtype)
  25     RETURNS agtype
  26     LANGUAGE c
  27     IMMUTABLE
  28 RETURNS NULL ON NULL INPUT
  29 PARALLEL SAFE
  30 AS 'MODULE_PATHNAME';
  31

2384  --
2385 -- agtype type and its support functions
2386 --
2387
2388 -- define agtype as a shell type first
2389 CREATE TYPE agtype;
2390

I believe age--1.4.0.sql needs to be built in a specific order and we need to keep the dependencies in mind.
Additionally, the license block was included multiple times in the finished file. While it is just a comment block, we may want to have just one file, template?, that contains the top of age--x.x.x.sql and then all the other files are appended to that file.


cannot load left menu when adding a new view controller

Hi,
I want to add a new row index of the left menu as feedback and I tried what the example did in README. It does load the view controller but the background color is wrong(it actually shows the root view controller color) and when I tried to go back to left menu, the left button in the navigation bar is not responding.
This issue may sound pretty newbie but I am really stuck in it for couple hours.
I posted the code and picture below. Any advice is appreciated, thanks a lot.
I add a new case in DEMOLeftMenuViewController.m

create a subclass of RESideMenu as FeedbackViewController.

And link FeedbackViewController using push segue in storyboard, its background color is green but it runs in simulator as grey (same as the color of rootViewController)

When I go to the FeedbackView, the left button in the navigation bar is not responding when I tried to click it.

I found the problem was that: create a subclass of UIViewController instead of RESideMenu. I wrote here in case others have the same issue


Reference Examples not Rendering

When I open reference pages on the p5.js website, it says "Example," and has all the code written out for the example, but does not render the canvas or format the code to look like code. Furthermore, in the developer console, I get the following errors:
p5.min.js: Failed to load resource: the server responded with a status of 404 (Not Found)
p5.dom.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
p5.sound.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
p5.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
p5.dom.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
p5.sound.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
Uncaught ReferenceError: p5 is not defined
    at renderCode (render.js:3)
    at n.render (itemView.js:120)
    at n.show (itemView.js:188)
    at router.js:80
    at router.js:48
    at Object.execCb (require.min.js:29)
    at $.check (require.min.js:18)
    at $.enable (require.min.js:23)
    at $.init (require.min.js:17)
    at require.min.js:26

I have seen this error on the rect, ellipse, and point webpages, but I suspect it is occurring on all of them.
A similar series of errors seems to happen on the main reference page, which is preventing me from opening the specific reference pages, without opening them in a new tab. Specifically, the first six errors occur upon loading the webpage, and the last one occurs after clicking on a specific page link. The actual documentation page, however, does not load.
I would love to help fix this, but I don't know where I would begin.

cc. @montoyamoraga

The p5 library files are missing on the website assets folder. @lmccart

hi all, thanks for reporting! it should be working now. apologies for the hiccups as we reset from the mistake I made building the site last week. hopefully things are smooth going forward.


Did not get IP of VM that deploy automation via Ansible/Terraform

Hi Ricardo, My vcenter had a lot of virtual machines deployed via IAC tools like ansible and terraform.
I really that netbox did not get IP of those virtual machines, just get ip form virtual machines that deploy or clone manual.
Is there any custem to get ip from automate deploy virtual machines?
Have a nice day.

Hi,
Most likely there are no vmware tools installed inside theses VMs. Or just a really old version.
Just try to install/update them for one VM and run another sync, then they should appear in NetBox.


Add ability to modify/save MP4

It works for audio recorded with quicktime media! Thanks!

It works for m4a files created with quicktime media recorder! Thanks!


[Question] Volume is already exclusively attached to one node and can't be attached to another

I delete statefulset pod that attached to a longhorn PVC.
when POD recreated, it shows errors of:
Multi-Attach error for volume "pvc-0122bbe5-ca54-4e73-87be-5cbe9afa691a" Volume is already exclusively attached to one node and can't be attached to another
how to fix this issue

My guess is the volume wasn't completed detached when the statefulset was deleted before recreate. Does it heal it self? The workaround would be scale down the statefulset again, wait for the volume to detach, then scale it back up. If it doesn't detach and you're sure there isn't any other user of the volume, you can detach it from UI. But if that happens, it's a bug.
Which version of Longhorn and Kubernetes you're using?

longhorn v1.0.2
Kubernetes v1.17.9
This error often happened when host resouce CPU, memery high.
How to confirm pvc is complely detach by kubectl command?

kubectl -n longhorn-system get lhv <volume-name> and then check for status.state.

Can not see status
 kubectl -n longhorn-system get lhv pvc-caa89e37-db46-4e60-9ae3-a9cb7d4bf99b
NAME                                       AGE
pvc-caa89e37-db46-4e60-9ae3-a9cb7d4bf99b   34m

Need to add -o yaml, so kubectl -n longhorn-system get lhv <volume-name> -o yaml

@yasker
state: detaching
I have scale statefulset that mounted replicas to 0.
but state keeps detaching for a long time.

@hillbun Do you see any error log in the Longhorn manager?

I'm seeing the same issues every time I update a deployment and a pod gets scheduled on a different node, meaning there's an old pod running on node1 and new pod is scheduled on node2. The Multi-Attach error for volume occurs every single time and my deployments never proceed further until I kill the new pod enough time for it get scheduled on the same node where the old pod is currently running.

@alexgorbatchev  I have seen exactly the same behavior when it is a 'Deployment'; changing it to a 'StatefulSet' seems to solve the issue. Did you manage to find out a proper fix or workaround for your case?

Same issue here.
When a node goes down, the new pod is scheduled on another node and it's stuck with the same error above.
Any hints?

I haven't found a good solution.

Same problem here. This is a really serious problem guys. Please look into it, since it is causing us a lot of problems.
@yasker

Maybe these logs from longhorn-manager are relevant to this problem:
time="2023-02-02T16:29:12Z" level=info msg="NodeUnstageVolume: req: {\"staging_target_path\":\"/var/lib/kubelet/plugins/kubernetes.io/csi/driver.longhorn.io/83c3dfce43ebefa2c12b2ea9e943ab588102c8772c9dbf97e08fce0220d3b4e9/globalmount\",\"volume_id\":\"pvc-0b6c1249-2084-4784-ae9b-edf76f82ee42\"}"
time="2023-02-02T16:29:12Z" level=debug msg="trying to unmount potential mount point /var/lib/kubelet/plugins/kubernetes.io/csi/driver.longhorn.io/83c3dfce43ebefa2c12b2ea9e943ab588102c8772c9dbf97e08fce0220d3b4e9/globalmount"
time="2023-02-02T16:29:12Z" level=info msg="no need for unmount not a mount point /var/lib/kubelet/plugins/kubernetes.io/csi/driver.longhorn.io/83c3dfce43ebefa2c12b2ea9e943ab588102c8772c9dbf97e08fce0220d3b4e9/globalmount"
time="2023-02-02T16:29:12Z" level=debug msg="device /dev/mapper/pvc-0b6c1249-2084-4784-ae9b-edf76f82ee42 is not an active LUKS device: failed to run cryptsetup args: [status pvc-0b6c1249-2084-4784-ae9b-edf76f82ee42] output:  error: exit status 4"
time="2023-02-02T16:29:12Z" level=info msg="NodeUnstageVolume: volume pvc-0b6c1249-2084-4784-ae9b-edf76f82ee42 unmounted from node path /var/lib/kubelet/plugins/kubernetes.io/csi/driver.longhorn.io/83c3dfce43ebefa2c12b2ea9e943ab588102c8772c9dbf97e08fce0220d3b4e9/globalmount"
time="2023-02-02T16:29:12Z" level=info msg="NodeUnstageVolume: rsp: {}"

Same issue. I have to manually delete existing volume and create a new one from backups with different PV name. This is really a big problem.

cc @PhanLe1010
@paravibe Can u provide the support bundle to let us investigate further? Or create another issue to specially describe your case. Thanks.

@innobead what do you mean by support bundle? How can I get it?

another year passes, still the same problem...

@alexgorbatchev Can you

email us a support bundle (get it from the link on the bottom of Longhorn UI) to investigate<EMAIL_ADDRESS>What is the name of the volume?
The yaml and event of workload pod
Thanks

finally found a way to fix this issue when it happens:
kubectl get volumeattachment | grep pvc-c7155aa8-282a-461f-b1fb-4260b0687b69
kubectl delete volumeattachment csi-f12fdf2abf305183d7eba30b4012c97a33d33dc0b61612756ec330b0f32901e7

Yes, deleting the old VolumeAttachment object would be the workaround but we are interested in finding the root cause if you could help

Thanks @alexgorbatchev , this was driving me crazy, I was able to use the workaround, even though I manually attached the volume to a node, the attachment was pointing to different node.
@PhanLe1010  I can send whatever is needed if that could help solve the issue

Thanks @connde for willing to help.
Are you able to reproduce the issue in a test cluster? If so, could you provide the reproducing steps and email us a support bundle (get it from the link on the bottom of Longhorn UI) to investigate<EMAIL_ADDRESS>

I'm not sure if I'm able to reproduce it, it happens from time to time, for example now I was upgrading one node, so I drained one node and had all pods on the second node, after the upgrade I proceeded with the upgrade on second node.
What did happened is that I was using almost all CPU resource from the first node and during that a couple of stateful set was unable to attach.
I sent my support bundle, in case that could lead to something, I got two different issues during that operation, I attached both cases with events and pvc id.

finally found a way to fix this issue when it happens:
kubectl get volumeattachment | grep pvc-c7155aa8-282a-461f-b1fb-4260b0687b69
kubectl delete volumeattachment csi-f12fdf2abf305183d7eba30b4012c97a33d33dc0b61612756ec330b0f32901e7

This answer needs more attention - after a day of digging around this was the solution here. On a hard shutdown the attachment was left hanging and caused no end of issues. This simple fix did the trick and hey presto everything was back.
Much appreciated for this.

Hi,
I also have this error, with statefulset. However, the commands below removing the Volumeattachment only resolves the error one time out of three. (and i wait 10 minuts each time)
My cluster runs on microk8s, in the version 1.27.1.
Thanks

Hi,
I also have this error, with deployment. I'm testing longhorn with RKE2. When I change the  node affinity (to force the  Pod recreation on a different node) and redeploy the resource, Longhorn cannot mount the volume in the new node.
@PhanLe1010 I think this issue should be reopened.

I am also having this issue. Please reopen

I see the same error as well in GKE
Multi-Attach error for volume <pvcname> Volume is already exclusively attached to one node and can't be attached to another

Problem still persists on v1.7.1.

still bad on v1.7.2. Is it possible to reopen this issue? Kinda makes rolling updates not so rolling.. with csi deletion added to deployment steps.

@nagylevidotdev Can you provide a support bundle and steps to reproduce?


Crashes on initiation

Description
App starts, but crashes while loadng the windows
Steps To Reproduce
Just start the applicaiton after Win 11 fully launched
Requirements

e.g. Fix crash that occurs when...

Files Version
Sorry  can't get it due to app creashing
Windows Version
Win 11 22621.1992
Log File
debug.log

Good luck with it, hope you can fix it.  I really like the app, much stronger than the native Windows app.

Thanks for the report, can you see if this is an issue in the preview version. https://files.community/download

Okay, the previous version installs normally and does not crash.  Working fine.

Thanks for the report, if it's working in the preview build, the fix will be available for the stable version in a few weeks.


Nodes hostname are not readable

#55 adds a hover on the machine name that gives you room to view the full name.


Jmol AppImage: Fails to launch due to bad interpreter: Permission denied errors

Hi,
I have written a YAML for Jmol:
app: jmol

ingredients:
  script:
    - VERSION=$(wget -q https://sourceforge.net/projects/jmol/files/Jmol/ -O - | grep Jmol | grep "[0-9]" | grep "\.[0-9]" | head -n 1 | cut -d '"' -f 4 | cut -d ':' -f 1 | cut -d '/' -f 4 | sed 's/Version //g')
    - REL_URL=$(wget -q https://sourceforge.net/projects/jmol/files/Jmol/ -O - | grep Jmol | grep "[0-9]" | grep "\.[0-9]" | head -n 1 | cut -d '"' -f 4 | cut -d ':' -f 1)
    - URL="https://sourceforge.net/projects/jmol/files/$REL_URL"
    - echo $VERSION > VERSION
    - wget -c "$URL" --trust-server-names
    - unzip -o Jmol*.zip
    - JDK_URL=$(wget -q http://www.oracle.com/technetwork/java/javase/downloads/index.html -O - | grep "[0-9]u[0-9]" | head -n 1 | cut -d '"' -f 20)
    - JDK_VERSION=$(wget -q http://www.oracle.com/$JDK_URL -O - | grep "linux-x64.tar.gz" | tail -n 1 | cut -d '"' -f 12 | cut -d '/' -f 7)
    - wget -c --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/$JDK_VERSION/jre-${JDK_VERSION/-*/}-linux-x64.tar.gz

script:
  - cp -r ../jmol-*/* usr/bin/
  - rm usr/bin/jmol.mac
  - rm usr/bin/jmol.bat
  - mkdir -p usr/lib/jvm/
  - tar xf ../jre*.gz -C usr/lib/jvm/
  - mkdir -p bin
  - ( cd ./bin; ln -sf ../usr/lib/jvm/jre*/bin/java . )
  - cp ../../jmol.png .
  - cat > jmol.desktop <<EOF
  - [Desktop Entry]
  - Version=1.0
  - Type=Application
  - Name=Jmol
  - Icon=jmol
  - Exec=jmol
  - Categories=Science;Chemistry;Education
  - Terminal=false
  - EOF
  - cp ../../jmol.sh usr/bin/jmol

where jmol.sh is here. When the AppImage is run it returns:
./bin//jmol.wrapper: /tmp/.mount_Jnny0O/usr/bin/jmol: /usr/bin/env: bad interpreter: Permission denied
./bin//jmol.wrapper: line 89: /tmp/.mount_Jnny0O/usr/bin/jmol: Success

I have tried adjusting the header to #!/bin/bash, #!/bin/sh and #!/usr/bin/env bash but none of these attempts have succeeded. Any ideas? If you are wondering where I requested an AppImage upstream, here it is.
Thanks for your time,
Brenton

Wow, their website still talks about Netscape Navigator and Internet Explorer...
Recipe fails for me at the cp ../../jmol.png . step.

Ya that's because my repo includes the jmol.png file locally (https://github.com/fusion809/AppImages/raw/master/recipes/meta/jmol/jmol.png).

Why don't you wget it in the recipe?

Eh it's not very big so there's no real drama storing it in my repo and it prevents dead links stuffin' up the YAML.


Add settings for PM latest version

At this moment, PdVersion manages latest version of PM. I want add settings to edit "latest version".

seems not reasonable...i may close this issue...

Okay!!!

Thanks!!!


Binary Hosting Causes Intermittent Failure

Try to install go-ipfs:
npm i go-ipfs --save-dev

Wait until you see:
...
Downloading https://dist.ipfs.io/go-ipfs/v0.4.21/go-ipfs_v0.4.21_darwin-amd64.tar.gz

This will never finish...
This will cause any project that depends on go-ipfs npm module to become not installable.
Solution:
Host go-ipfs binaries on S3 / Blob Storage / Whatever, and fall back to that if IPFS network is down, or requests for IPFS binaries from IPFS take longer than TIMEOUT seconds.

Workaround, try various other versions, maybe one will succeed:
 npm i<EMAIL_ADDRESS>--save-dev

Now failing to install because of:
FetchError: request to https://dist.ipfs.io/go-ipfs/versions failed, reason: unable to verify the first certificate
Download failed!

Workaround, try various other versions, maybe one will succeed:

Trying other versions should be the same as re-trying the same version.

FetchError: request to https://dist.ipfs.io/go-ipfs/versions failed, reason: unable to verify the first certificate

Where are you (approximately)? None of the gateway/IPFS issues should be causing certificate errors.

Austin Texas.
I was able to download by turning off TLS : / (nobody do this please).
NODE_TLS_REJECT_UNAUTHORIZED=0 npm i

Reporting to our infra.

This was an intermittent infrastructure issue which has been resolved, please reopen if you are still having problems with this module.


Simple Structure Compare requiring pgagent.pga_job

Description
Hi all.
I'm using DBeaver v<IP_ADDRESS>210231354 with a remote PostgreSQL db v12.5.
I remember using in the past the very handy compare feature (with the same db, not sure which DBeaver version though) but today it fails with the message:
Can't access pgAgent jobs.
This database may not have the extension installed or you don't have sufficient permissions to access them.
If you believe that this is DBeaver's fault, please report it.
Reason:
SQL Error [42P01]: ERROR: relation "pgagent.pga_job" does not exist
Position: 15
Is this intended?
DBeaver Version
Community Edition 22.2.3
Operating System
macOS Monterey 12.6.1
Database and driver
PostgreSQL db v12.5
Steps to reproduce
No response
Additional context
No response

Hello @anazzani
Can you please provide some video or gif of your issue? I can't reproduce your issue for now.

Related: https://github.com/dbeaver/dbeaver/issues/17119

Hi @LonwoLonwo
I have recorded my screen but I cannot attach it here cause it's too big.
Should be available here.

Oh. Ok. I see. You want to compare datasources...
Any specific reason for this? Do you need to administer info in your result?

Maybe you can compare only databases as a workaround?

Apologies, Postgres and DBEaver newbie here.
Comparing databases is what I was looking for, and I confirm it works as expected.
I confess the whole "connection" vs "database" thing is still confusing me: I wish there was a way to streamline my workflow through a "simplified" UI/UX showing only databases (I'm a developer, not a DBA), but I'm going off topic I guess.
Thanks for your time.

You can try to use the "Simple" navigator view

Or customize it as you wish :)


fix(docs): Unescaped curly braces

The annotation example looked odd as the variable wasn't showing up.

Just committed another fix; was trying the feature based on the docs but it wasn't working because of that typo.

@ethanfrogers : Mind taking a look at this?  Looks like you wrote these docs a couple of months ago.


Design: Make a Mockup of the Map Interface

We had initially planned to mockup the interface ourselves. After discussing it with Matthias, it now seems we can get the designers at Qt to design it for us. Think about it and discuss it further with Matthias sometime on or after the 25th of January.

This was completed a long time ago. I've opened the issue for documentation purposes, and am closing it right away.


Configure assets only if sprockets are in use

Closes https://github.com/hotwired/stimulus-rails/issues/48

This does look good to go.
If Rails.application.config doesn't respond to assets Rails won't try to configure them.
Users have to go out of their way and require sprockets even if they don't use it to be able to install https://github.com/avo-hq/avo.

The equivalent change in turbo-rails has already been merged.
It would be great if this were merged too :)

In the meantime, I added this initializer to my Rails app to hack around the problem.
# config/initializers/stimulus.rb

config = Rails.application.config

def config.respond_to?(symbol, include_all=false)
  if symbol == :assets && caller[0] =~ %r{stimulus/engine}
    raise 'Check whether this hack can be removed.'
  end
  super
end

class AcceptAllMethodCalls < Object
  def method_missing(m, *a, &b)
    self
  end
end

def config.assets
  AcceptAllMethodCalls.new
end

Hey @aldent95. Have a look at this hack around the problem 👆

The hack worked for me initially but now ruby-3.0.0/gems/sprockets-rails-3.2.2/lib/sprockets/railtie.rb:201:in join: can't convert AcceptAllMethodCalls to String (AcceptAllMethodCalls#to_str gives AcceptAllMethodCalls) (TypeError)
Even thoughrequire "sprockets/railtie"is commented out.

Maybe assign a reviewer or mention a maintainer? (Whichever is acceptable)

Any way we can get more attention to this PR to get it merged?

Maybe assign a reviewer or mention a maintainer? (Whichever is acceptable)

@dhh it a small fix but solves one pretty annoying issue. Is it possible to review this one and merge if it makes sense?

@dhh Thank you.


added golang protobuf files on branch

We want to keep this particular repo free of language-specific compiled code. As such, the protobuf specifications can be used to locally create classes/libraries for HAPI in any language.


Add DP solution

What does this PR do:

I have added the LEETCODE dynamic programming solution
I solved the easy category problem
Time Complexity O(n).

Submission info:-

Runtime - 0ms
Memory - 5.9mb

The update includes:

Updated readme

please resolve the conflicts and merge this pull request if you find this solution good
Thanks

Update readme to resolve conflicts

We are maintaining a single row for the same problem with different Programming languages. You can use "" to achieve this


dssim comparative

First, install dssim tool from brew for mac: brew install dssim. Then, install dependencies npm i and execute node src/index

I move this PR as a branch because have the same code that I was used in the YouTube video.
I will publish a video of this new approach and I will share and comment on your code, thank you @TheMercuryBeat

It has been a pleasure @nucliweb!


HeaderPropagation: reworded registration exception for clarity

The MessageHandler throws when used outside of a request.
This reword the exception to clarify that this could be another possible cause of it.
Also fixes a missing ' in the current message.
Related to #12169, but not a final fix
@rynowak I have a couple questions:

What is the best way to describe an incoming request of the pipeline? Open for suggestions on how to better word this message.
I guess this is it for now. We could use the HttpContextAccessor to distinguish between the two types of errors and have a specific message, but this can add a performance hit if not already registered. Unless we use it only if it is available and fallback to this generic exception message otherwise. However adding a dependency only to have a better error message feels wrong.

/cc @anurse

Yeah, looks like a timeout. Re-running.

CI looks good now

Thanks @alefranz


drivers: console: Fix crash in shell

Shell crashes when enter is pressed. This commit reverts relevant
changes from 14735116d1fe24713aa444e4e38e313b7f117c89 that cause
this issue.
Fixes #6322
Signed-off-by: Ruslan Mstoi<EMAIL_ADDRESS>

Codecov Report

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

@@           Coverage Diff           @@
##           master    #6325   +/-   ##
=======================================
  Coverage   53.28%   53.28%
=======================================
  Files         424      424
  Lines       40729    40729
  Branches     7845     7845
=======================================
  Hits        21702    21702
  Misses      15817    15817
  Partials     3210     3210

Continue to review full report at Codecov.

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

@ccollins476ad can you double-check this?

This looks good to me (and I verified that mcumgr-over-shell still works).
Sorry all for the regression.


Improve containerized builds

The in-container builder, zbm-build.sh, links the in-repo default mkinitcpio.conf into /etc/zfsbootmenu so mkinitcpio builds work

If the in-container builder finds a custom mkinitcpio.conf in the build directory, that overrides the default configuration

The in-container builder now looks for an rc.d subdirectory of the build directory and will invoke every executable file therein before calling generate-zbm to "terraform" the build container.

The zbm-builder.sh convenience wrapper now supports a configuration file to allow defaults to be specified. This requires a two-pass getopts to find and load the configuration file before parsing remaining options.

A new option, -R, will remove any existing hostid and zpool.cache files from the build directory to make sure they are always up to date with the host versions.

The changes herein allow me to build a custom ZFSBootMenu image using mkinitcpio with dropbear and a self-contained configuration/build directory. I will need to document this by adding a wiki page or doc file and possibly creating a skeleton that can be installed with make.

7a83ae13eba65fd2d02f0c8f3d325e71308224e3


[MNT] Include python 3.10 in CI worfklows

Solution to issue cannot be found in the documentation.

[X] I checked the documentation.

Issue
Recently sktime extended support to python 3.10, however the CI pipelines in the repo do not cover python 3.10.
Installed packages
conda list

Environment info
conda info

It would be great to add support for Python 3.10. It is currently a roadblocker for downstream packages such as autogluon.timesries https://github.com/conda-forge/autogluon.timeseries-feedstock/pull/9
@gradientsky @Innixma @dhirschfeld

Resolved by #64


Implement mrb_raise with panic

The gymnastics and sad times in GH-168 become unnecessary if we have a memory safe unwind. panic is exactly that.
Implement mrb_raise, mrb_raisef and mrb_protect in Rust in mrb-sys exported to C so libmruby can use them.

This will allow removing the dependency on mruby-error mrbgem.
Eval and Funcall would implement "catch" with panic::catch_unwind.

Add the test for the TODO in GH-168.
Psuedo code, called in a loop 100 times. This is expected to leak 100MB.
unsafe extern "C" throws(mrb, slf) {
    let interp = unwrap_interpreter(mrb);
    let s = Box::new(std::iter::repeat("a").take(1024 * 1024).collect::<String>());
    RuntimeError::raise(interp, "oh no")
}


Feature/multi viewport d3 d 2684

Multiple viewport makes necessary to have scissor state to prevent drawing outside of viewport
and renderbuffer getting size from texture instead of viewport (renderbuffer and texture attachment must be same size)

Main question is about the Scissor added to renderStage.
https://github.com/cedricpinson/osgjs/blob/64e4224853cbdaa9a3c90397caebce20e0127c2e/sources/osg/RenderStage.js#L271
It has to be here to be applied between framebuffer binding and the glClear, otherwise it's applied too late (on leaves)
Currently a state in a stateset, could be like viewport.

I dont think it's a good place, mixing inter state attribute should be probably avoid. Why not after https://github.com/cedricpinson/osgjs/blob/example/webgl2/sources/osg/RenderStage.js#L270 ?

It was to be sure it was done prior to any other Fragment operation possible. but I indeed cannot think of any just now.
ok with me, will move it there

ok thx

not sure what that is that case https://github.com/cedricpinson/osgjs/blob/64e4224853cbdaa9a3c90397caebce20e0127c2e/sources/osg/RenderStage.js#L209
framebuffer without camera ?
Are we supposed to handle it in the scissor code ?
like getting State attribute stack and find a scissor there ?

I am not sure this code can be called, check with c++ impl

mmm doesn't seem possible in osg https://github.com/openscenegraph/OpenSceneGraph/blob/master/src/osgUtil/RenderStage.cpp#L1164
Albeit I think pbo copy or blitbuffer is the use case that could fit in (but we don't do that until webgl2)


Improve podspec

Removed unnecessary submodules parameter from source attribute.
Removed requires_arc = true since requires_arc defaults to true.
Removed redundant public_header_files: if no public headers are specified then all the headers in source_files are considered public.
Removed prefix_header_contents: since v4 requires Xcode 11+, these TARGET_OS definitions become unnecessary.
Fixed bundle identifier for CocoaPods generated framework: change org.cocoapods.AFNetworking to com.alamofire.AFNetworking.
Formatted podspec file: trimmed white space for blank lines.

I'm not sure when I'll do another release, but thanks!

Abdit


Deploy Your First SAPUI5 App

Tutorials: https://developers.sap.com/tutorials/appstudio-sapui5-create.html
Greetings,
The Tutorial was great. Just two steps were missing:
"In there, select the generated folder sapui5 and hit open to see the new project."
-> the format should be changed to "all files" first
"Click on the bottom-left corner of the screen to start the connection flow."
-> first you have to go into Preferences -> Extensions -> Cloud Foundry Tools -> and check Show Target Information
Thanks again for the Tutorial!
Best Regards
Lorenz M

Hi Lorenz,
We're glad you enjoyed the tutorial! Thank you for taking the time to share your thoughts and help improve the tutorial for others. I took a walk through it to better understand your feedback and here's what I found:
On All files: Selecting All files didn't seem necessary to me -- the project was opened in my workspace without it. But your way works too :-)
On connection flow: I see how this can be confusing to learners. It appears the flow and default settings have changed since this tutorial was written. I will work with the team to see how we can improve this step since the default flow has changed.
Kind regards,
Conrad (SAP UX Engineering)

Thank you for your feedback. The issue seems to be resolved, so I am closing the issue.
If you still have questions, feel free to reopen the issue.


I 888 mean auto

Mode mean: now supports AutoGain (on/off), AutoExposure (on/off) and different values for day and night
The mean value can also be defined differently for day and night.

@EricClaeys @linuxkidd  - I would be very grateful if you could do a review, test and approve

@AndreasLMeg, @linuxkidd,
I haven't had a chance to test yet.  I've been on the road for a week and my Pi is currently is a box.  I hope to have it working again in a day or two.

sorry make such a mess - but you can use "Squash" to merge this PR

@AndreasLMeg Can you walk me through what happens if someone only wants to use the meanmode at night or during the day?  Will the code handle that?  What variable(s) would they set?
I think we need to allow for that and I would suggest that setting -nightmean turn it on for night only and -daymean turn it on only for daytime.

@AndreasLMeg If modemean is set, how is that different from auto exposure?  I assume we are allowing auto exposure without modemean, and modemean without auto exposure?  If true, we'll need to document what the differences are.

@EricClaeys I hope this will explain

@AndreasLMeg
Shouldn't the two blue items be "(0.5, exposure change only)" and "(05, exposure and gain change)" respectively?
I am testing this code now and will let it go overnight and tomorrow during the day.
I think we need to implement max auto-exposure for day and night like the ZWO has - I have my night exposure set to 25 seconds and the algorithm won't increase it past that.  It should go up to the max auto exposure values.  We can do that after this PR is done.

Shouldn't the two blue items be "(0.5, exposure change only)" and "(05, exposure and gain change)" respectively?

Oh yes, copy paste mistake, sorry.

@AndreasLMeg I believe the "==" on line 446 in capture_RPiHQ.cpp should be "!=".  If we're doing any ModeMean'ing we want a short --timeout.  The way it is now, we only get the short timeout if mean_auto is off.

Hello Eric,

if some mean paramameters are defined Mode mean is activ. Depending on AUTO values the MEAN_AUTO_MODE is set.
typedef enum {
    MEAN_AUTO_OFF = 0,         // defined exposure and gain is used
    MEAN_AUTO,             // changes exposure between 1us and defined exposure, and gain between 1 and defined gain
    MEAN_AUTO_EXPOSURE_ONLY,     // changes exposure between 1us and defined exposure, and defined gain is used
    MEAN_AUTO_GAIN_ONLY         // changes gain between 1 and defined gain, and defined exposure is used
} MEAN_AUTO_MODE;

Gesendet: Samstag, 12. Februar 2022 um 13:47 Uhr
Von: "EricClaeys" @.>
An: "thomasjacquin/allsky" @.>
Cc: "AndreasLMeg" @.>, "Mention" @.>
Betreff: Re: [thomasjacquin/allsky] I 888 mean auto (PR #997)

Hi @AndreasLMeg In cases where either day or night ModeMean is on but not both, where in the code is it turning it on and off?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.Message ID: @.***>

@AndreasLMeg I believe the "==" on line 446 in capture_RPiHQ.cpp should be "!=". If we're doing any ModeMean'ing we want a short --timeout. The way it is now, we only get the short timeout if mean_auto is off.

I have to check this - it's so far away....


Specify cloud name for external relationships from AWS resources

When checking the possibilities for Firehose destinations, we could see external services like Splunk etc. When displaying the relationships to those external resources, we should be able to customise the cloud name.

Resolved in #257


Remove shared pointer interface

Looks good to me

History seems a bit wacky. Can you rebase and clean this up to unblock merge? Ty

Also @cliffburdick , could you provide the results of ctest . --verbose in the build directory with no other change to confirm this does not break the test? Thank you!

ctest . --verbose

I'm getting 47Gbps and it's failing, but I was only getting 47Gbps on my setup before that. Will look into it.


Error when update permissions or roles with ace

When I update existing permission by ase acl:permission it throw exception

Error: Undefined binding(s) detected when compiling UPDATE query: update "permissions" set "updated_at" = ? where "id" = ?

Thats because id is undefigned.
https://github.com/enniel/adonis-acl/blob/3515dff5b0fbdcf6e4fb62b63681e5ce28c68458/commands/Permission.js#L54-L56
Using model.fill({}) will remove the existing attributes.
https://github.com/adonisjs/adonis-lucid/blob/14bbde7f56aeff739666ea1a93f7c6c80972b581/src/Lucid/Model/Base.js#L289-L302
You have to use merge instead:
permission.merge({
     name, description
})

same issue with roles:
https://github.com/enniel/adonis-acl/blob/3515dff5b0fbdcf6e4fb62b63681e5ce28c68458/commands/Role.js#L56

Thanks! Fixed in version 1.1.1.

thank you


Feature: show/hide password

Is your feature request related to a problem? Please describe.
currently if you enter a password you cant verify whether the password you enter is correct or not
Describe the solution you'd like
I want to add a toggle to show and hide password by this user can verify that password they enter is not a typo
Additional context

@sanjay-kv please assign me this issue

@17arindam I was planning to remove manual sign-on and keep only github. /
whats your thought on this. i mean these days even if someone create a login they dont come here often,

@sanjay-kv yeah i think only github would be better choice


Update setup_required to do the correct check for docker-in-docker

The docker-in-docker supervisord setup uses different config files than the systemd setup, but we were deciding whether setup was needed based on whether the systemd files were correct.
@marun

LGTM though do systemd managed and supervisord-managed really  use different quoting in the docker options file?  stupid if so but there's nothing we can do about it.


Rework permission matrix

test in conjunction with https://github.com/OpenSlides/openslides-backend/pull/1610
Permission matrix now has an explicit "Save"-Button and all checkboxes are clickable and the resulting permissions are calculated correctly.

fully reworked the generate-permission script to also produce permission parents (could have theoretically also calculated them from the children, but IMO this would have been unnecessary overhead. Also, I wasn't really happy with the structure of the script anyway, I hope the code is clearer now)
added group bulk updated and updated backend (https://github.com/OpenSlides/openslides-backend/pull/1610) to be able to send all changes at once to the backend (without having to transform them into the format of the set_permission action first, which would have been tedious and unnecessary work)
added Set.update to the prototype (why is the javascript set so limited?...)
removed obsolete methods

I noticed that when you enter the permission matrix form the participant list the client becomes unresponsive for about a second. The behaviour was already present before these changes, even though the effect appears to be stronger on my local instance then on the demo. I could not find the root of this behaviour quickly, so I left it as-is, but maybe we want to open an issue for this and investigate it further.


cvHaarDetectObjects incorrect PInvoke signature

There's a major bug in cvHaarDetectObjects causing it to stop working randomly.
CvSize max_size parameter is missing in cvHaarDetectObjects function signature, so this parameter always contains random data from the call stack. When these width/height values of max_size are negative, the function stops detecting immediately.

I am sorry for so late reply. This bug is fixed.
https://github.com/shimat/opencvsharp/commit/b3bbc673e536e0b9fd7cfc07eb6278acc799cfa2


deis ps prints list of processes twice

Given I have 3 servers in my cluster, and I scale myapp to 3
Running  the following (in the root of my project):
$ deis ps

Prints out:
=== myapp Processes

--- cmd:
cmd.1 up (v1)
cmd.2 up (v1)
cmd.3 up (v1)
cmd.1 up (v1)
cmd.2 up (v1)
cmd.3 up (v1)

This gives the incorrect impression that myapp is running at a scale of 6!
I can confirm that running fleetctl list-units shows that there is in fact only 3 processes running.
I imagine that this is more of a superficial bug ... here are my environment details:
Client Env:
> OS: osx 10.10.1
> Python: 2.7.6
> deis: 1.0.2

COREOS: 509.1.0

If there is anymore information I should give, please let me know.

We haven't managed to reproduce this. If it's still a problem with the current version of Deis, please reopen this issue or create a new one.


Correcting bug to intentionally read from cached list of projects

Follow-up to https://github.com/microsoft/azuredatastudio/pull/16650
This PR fixes https://github.com/microsoft/azuredatastudio/issues/16227
I missed a flipped boolean that resulted in scanning the disk for projects instead of using the cached list.  As a result, all projects being added were thought to already be there.

Please tag the issue : https://github.com/microsoft/azuredatastudio/issues/16755 too in description (Ken approved)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 41.403%

Totals

Change from base Build<PHONE_NUMBER>:
0.002%

Covered Lines:
26394

Relevant Lines:
57836

💛  - Coveralls

Make sure to bump the extension version too

This is not in extension... will go with core - am I missing something? @Benjin  @Charles-Gagnon

Oops, yeah you're right 😄

I discovered another issue with the zero-state (opening/creating a project in a workspace that had none prior).  Fixed as well


Error 1102 | Worker exceeded resource limits

While reviewing pi-base/data branches, I'm hitting this error every so often.

Strangly, I'll hit this most often when looking at a URL like https://topology.pages.dev/spaces/S000088/properties/P000032 (for a space/property pair that doesn't exist on main), which 404s if it does work. Then I'll load https://topology.pages.dev/spaces/S000088 and click through to P32 using the site and generally don't have an issue.

I think I fixed this at some point. Have you seen it lately?

I have not.


Add waypoint functionality for multiple point routes

Summary
This pull request integrates the waypoints feature in the Google JavaScript API so that we can plan out or trips with multiple stops instead of just going from point A to B.
Screencast

Test Plan
To test you can just run a local server of the site and select some places that you would like to visit from the drop-down menu on the right. The map will update real-time to adjust to these selections
Notes
This will allow me to take the location they want to go on their trip and optimize their route for the day. (Create an itinerary for them)

just a recommendation: try exporting higher resolution GIFs from screencastify since it's prettty hard to read right now. I think GitHub has a 10MB maximum though.

just a recommendation: try exporting higher resolution GIFs from screencastify since it's prettty hard to read right now. I think GitHub has a 10MB maximum though.

Yeah I try and get it as close as possible because I know its hard to see.

just a recommendation: try exporting higher resolution GIFs from screencastify since it's prettty hard to read right now. I think GitHub has a 10MB maximum though.

Yeah I try and get it as close as possible because I know its hard to see.

Since you're on Windows, I actually highly recommend ShareX. The GIF recording feature is really high-resolution

just a recommendation: try exporting higher resolution GIFs from screencastify since it's prettty hard to read right now. I think GitHub has a 10MB maximum though.

Yeah I try and get it as close as possible because I know its hard to see.

Since you're on Windows, I actually highly recommend ShareX. The GIF recording feature is really high-resolution and more compressed.

Sounds like a plan thanks!


More env and build cleanup

NetflixOSS » karyon » karyon-pull-requests #136 FAILURE
Looks like there's a problem with this pull request


Update docker build

Due to the recent ubuntu releases the updates for ubuntu 18.10 have been dropped and when the docker build invoked apt-get update it failed with:
E: The repository 'http://archive.ubuntu.com/ubuntu cosmic Release' does not have a Release file.

The fix is to bump the ubuntu version to a more recent 19.10.
However this is not enough because some recent changes in the build (perhaps this?) made necessary to explicitly set the version of the ndk used, otherwise the gradle build failed with:
android.ndkVersion from module build.gradle is not set
ndk.dir in local.properties is not set
ANDROID_NDK_HOME environment variable is not set
sdkFolder is /usr/local/android-sdk
Because no explicit NDK was requested, the default version '20.0.5594570' for this Android Gradle Plugin will be used
Considering /usr/local/android-sdk/ndk-bundle in SDK ndk-bundle folder
Considering /usr/local/android-sdk/ndk/21.0.6113669 in SDK ndk folder
Rejected /usr/local/android-sdk/ndk-bundle in SDK ndk-bundle folder because that location has no source.properties
Rejected /usr/local/android-sdk/ndk/21.0.6113669 in SDK ndk folder because that NDK had version 21.0.6113669 which didn't match the requested version 20.0.5594570

The proposed fix is to set the ndk version in the gradle build.

The change in versionCode just increments the build version of the app.
However defining a specific version for the NDK in the gradle build config does make sense, because it will force the development version to be built with the same version as the release (and vice-versa).


Attempting to reduce docs to single platform

REVIEW:
Staged
http://<IP_ADDRESS>:9000/staging/singleplat/mindocs/index.html
Goals
Maintaining multiple platforms is getting to be too much, and based on analytics the actual number of users taking advantage of it is minimal.
Furthermore, the majority of traffic is to installation pages.
Therefore we're going to try to collapse back into a single MinIO Object Storage product, and use simple navigation and on-page selectors to handle Baremetal vs Kubernetes.
This may also help to eventually stage us to migrate to Hugo + Markdown

💯 This is a solid rework, tradeoffs notwithstanding. Let's see what sort of feedback we get from outside docs and reconvene.


Bug in Timeline with Mixed Frame Rate Clips

Steffan,
I notice a bug in frame / image extraction of 23.98 video file. For some reason, the marker position is not respected. There is an offset of 23 frames back.
In Timeline

Extracted Image

It does not happened to all markers but randomly on some markers.

See if you can narrow down the symptoms. Are there mixed frame rates in the project? What clip type is it and what is its frame rate? What is the project frame rate?

Are there mixed frame rates in the project?

Yes.

What clip type is it and what is its frame rate?

The Clip Type is on Audition. The Frame Rate of the original clip is 25 FPS.

What is the project frame rate?

23.98 FPS.
The offset bug only occur on a clip that has an original 25 FPS as per my sample timeline.

Second Example - With Project Frame Rate 60 FPS. Having a mixed clips of 29.97 and 23.98.
It occurs for some markers.

I'm not able to reproduce this. Can you email me the projects for both of these examples?

Ok I've confirmed the issue with the sample projects. Will see if I can get a fix out this week.

On analyzing the FCPXML, the numbers just don't make sense.
I'll have to shelve this and come back to it because I just can't see how it's coming up with the time values it's using. (And I've done a lot of mixed-framerate parsing already with FCPXML and everything has made sense so far.)

Unrelated, but also something to keep in mind... FCPX doesn't do any DTD validation on export, so FCPX can itself export invalid FCPXML:
https://github.com/CommandPost/FCPCafe/issues/314

FCPX can itself export invalid FCPXML

Yes true. This isn't a DTD violation thankfully, it's the actual time value math that isn't adding up. And yet importing the XML back into FCPX restores everything correctly. So the answer is somewhere, just needs to be found.

Can you share a FCPXML with the issue?

I think I've cracked the nut. FCPX is doing frame rate scaling in a way I didn't anticipate.

I think I've cracked the nut. FCPX is doing frame rate scaling in a way I didn't anticipate.
ie: In a project at 23.98 fps, an asset-clip which references media at 25fps may look like this:
<asset-clip ref="r6" name="TestVideo2" duration="646646/24000s" format="r7" tcFormat="NDF" audioRole="dialogue">
    <conform-rate srcFrameRate="25"/>
    <marker start="177/25s" duration="1001/24000s" value="Audition 1"/>
    <marker start="344/25s" duration="1001/24000s" value="Audition 2"/>
    <marker start="22s" duration="1001/24000s" value="Audition 3"/>
</asset-clip>

"r6" is a 25fps asset, "r7" is a "FFVideoFormat1080p25" format.
Time values within the asset-clip must be scaled based on source and destination frame rates.
<marker start="177/25s" ...

177/25s here cannot be used as a literal value (7.08 seconds) because of the presence of an implicitly-enabled conform-rate. Instead, for children of the asset-clip's local timeline, their time values seem to need scaling using the following formula:
start x PFD / MFD
where PFD is the project frame duration (1.001/24) and MFD is the media frame duration (1/25).
Then the result is a correct literal real-time value of 7.382375 seconds which produces the correct sequence timecode position.

I have made the corresponding refactors and unit tests in DAWFileKit.
The fix will propagate to MarkersExtractor 0.3.2.

Just tested. I am getting some strange results. In our Marker FPS Test library, I have tested with the 60_V1 timeline.
The timecode does not line up.

But when testing with the 23.98_V1 timeline; the timecode is correct and they line-up.

Ok I will pull open that project and see what's going on.

After spending all evening hacking at this, it appears the frame rate scaling is way more nuanced than it first seemed.
The scaling is not a simple formula between two rates, but varies depending on the nature of the individual rates and how they relate to each other.
I've refactored DAWFileKit to resolve the issues with both sample projects above (23.98_V1 and 60_V1) but they only involve a handful of rates. It's a step forward but not a universal fix just yet.
The chart found here is actually not very useful and may be misleading, as I am finding that there is little or no correlation with real-world results which I am implementing and verifying in the library. (For example, the chart indicates that no scaling happens between 23.98 and 60 but manual verification shows that is not true in practise.) For that reason I will need to manually verify and unit test as many rate combinations as possible.

Thus far I've been able to implement correct scaling and unit tests for the following:

Project @ 23.98 containing media at 23.98 and 29.97
Project @ 24 containing media at 23.98 and 29.97
Project @ 29.97 containing media at 23.98 and 29.97
Project @ 29.97 drop containing media at 23.98 and 29.97
Project @ 30 containing media at 23.98 and 29.97
Project @ 59.94 containing media at 23.98 and 29.97
Project @ 60 containing media at 23.98 and 29.97

In theory, the reciprocals should also be functional (ie: for any given test above, swap project rate with any of the containing media rates)

Seems to be working with our FPS testing timelines. I will close this issue for now.
We can revisit or open this in future if any users reports on this issue.
Thank you Steffan!

Did you try putting 25.0fps clips in a 24.0fps timeline?

@latenitefilms Thanks for pointing out.
@orchetect Looks like 25FPS clips on 24FPS Timeline is not supported yet.

Not all rate combinations have been tested for scaling yet so some may be incorrect.

I've tried to get my head around a 25fps clip on a 24fps timeline, but even with this simple example (at the bottom of the page), I'm left very tired and confused:
https://fcp.cafe/developers/fcpxml/#getting-source-timecode

In DAWFileKit it's just a scaling factor I need to add. Doesn't take long to work it out but I need to create a test project first and add it to the unit tests which takes a while.

In DAWFileKit it's just a scaling factor I need to add. Doesn't take long to work it out but I need to create a test project first and add it to the unit tests which takes a while.

Yeah, the only reason I stumbled across this is because I was looking at your _fcpConformRateScalingFactor code.
You did have this:
case .whole: // 24, 25, 30, 60
            switch timelineFrameRate.compatibleGroup {
            case .ntscColor:
                return t / m // works for 23.98 timeline -> 25 media

...but t / m doesn't seem to work for 24.0 timeline -> 25.0 media.

24 → 25 would be .whole to .whole which currently returns a nil scaling factor. That's where I need to add special cases.

t / m doesn't seem to work for 24.0 timeline -> 25.0 media

Just added unit test. Incidentally t / m is the correct solution on my end. But it may be that your methods aren't taking all calculations into account in the chain. Lots of aggregate variables.
I'll push a fix soon that adds 24 t/l with 25 media soon.

Ah, interesting! I actually tried with DAWFileKit and forced the calculation t/m, but must have made a mistake somewhere.
I think maybe the issue with the FCP Cafe post is that I'm basing things off the seconds value, but maybe it needs to rounded up to the nearest actual video frame?


[WIP] CIS and SCO responder support

I found I added too much SCO item in this PR which makes it pretty big, so I decide to merge this PR first and then improve the SCO support in another PR.
TODO for SCO:

[ ] Saparate SCO from on_connectino_request - Despite HCI_Accept_Connection also handles SCO, there isn't enough connection parameters provided, and the returned events would be unstable as well (might be HCI_Conn_Comp).
[ ] Device API
[ ] Host side lifecycle(+CIS)


SyntaxError running yarn generate & build

Hello,
I just pulled the package this morning & eager to try it out, but ran into an issue with yarn generate:
yarn run v1.3.2
$ grunt
Loading "Gruntfile.js" tasks...ERROR
>> SyntaxError: Unexpected token )
Warning: Task "default" not found. Use --force to continue.

Aborted due to warnings.
error Command failed with exit code 3.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

yarn generate --force works though, with warnings.
Running yarn build then returns:
yarn run v1.3.2
$ webpack --config webpack.prod.js
/mnt/c/xampp/htdocs/particles/webpack.config.js:35
)
^

SyntaxError: Unexpected token )
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:549:28)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/mnt/c/xampp/htdocs/particles/webpack.prod.js:4:16)
    at Module._compile (module.js:577:32)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Hugely excited about particles though, truly a missing piece!

Hi, first of all thanks for your kind words. It seems that you are running the command yarn generate where there is no Gruntfile.js: Loading "Gruntfile.js" tasks...ERROR. Can you please double check that. Also, can you provide us with more details about your env: node, yarn versions?

Hey, thx for the quick reply!
I'm running yarn 1.3.2 & node 6.13.0 (on LXSS under Windows 10, Ubuntu 16.04.3)
I doubled checked on the Gruntfile though and  I'm running the command from the particles directory itself & do have a Grundfile.js

Can you please try apply this patch and let me know if it works:
es6.patch.zip
It could be because Gruntfile.js is ES6. this solves the problem.

Thank you very much!
not sure if the patch fixes the issue, there's another error thrown:
krsdcbl@DESKTOP-8FQSDOJ:/mnt/c/xampp/htdocs/particles$ patch -b < es6.patch
patching file Gruntfile.js
krsdcbl@DESKTOP-8FQSDOJ:/mnt/c/xampp/htdocs/particles$ yarn generate
yarn run v1.3.2
$ grunt
Loading "Gruntfile.js" tasks...ERROR
>> Error: Cannot find module './Gruntfile.es.js'
Warning: Task "default" not found. Use --force to continue.

Aborted due to warnings.
error Command failed with exit code 3.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

I think I've managed to reproduce it. when I run:
➜  particles git:(master) ✗ docker run -it --rm -v "$PWD":/usr/src/app -w /usr/src/app node:6.13.0 yarn generate
yarn run v1.3.2
$ grunt
Loading "Gruntfile.js" tasks...ERROR
>> SyntaxError: Unexpected token export
Warning: Task "default" not found. Use --force to continue.

Aborted due to warnings.
error Command failed with exit code 3.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

I get the same error, but after applying the changes I've sent you, it works but ofcourse it gives error since fontforge is not installed on node image:
➜  particles git:(master) ✗ docker run -it --rm -v "$PWD":/usr/src/app -w /usr/src/app node:6.13.0 yarn generate
yarn run v1.3.2
$ grunt
Running "clean:demo" (clean) task
>> 0 paths cleaned.

Running "clean:fonts" (clean) task
>> 1 path cleaned.

Running "webfont:particles" (webfont) task
fontforge process has unexpectedly closed.
1. Try to run grunt in verbose mode to see fontforge output: grunt --verbose webfont.
2. If stderr maxBuffer exceeded try to increase execMaxBuffer, see https://github.com/sapegin/grunt-webfont#execMaxBuffer.
Warning: fontforge not found. Please install fontforge and all other requirements: https://github.com/sapegin/grunt-webfont#installation Use --force to continue.

Aborted due to warnings.
error Command failed with exit code 6.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

So basically its a node version issue. Try running a newer version. Let me know if you get it working. I might put the patch in the next release.

I've published a new release with ES6 support for Grunt. Please use this release.

I pulled the latest release & now get the same results as you do, and am able to run generate after installing fontforge. Thank you very much for the support, explanations & really quick fix :)

oh, one last thing: after upgrading to the newest release I had to npm install in the particles directory for yarn convert to run - yarn install would show all packages as up-to-date before that. (convert did run straight away before updating everything though)

@krsdcbl check out the latest version. A complete rewrite


Show the only view that's currently being focused on

I was using 13 inches laptop, and having all sidebar all open at once is really anoying, because my scrent don't have enough real estate for it, then I have to toggle some sidebars (file, repo....) to get more screen estate. Would be great if there's an option to show only focused sidebar, and I would love to show them by using VSCode command (Focus on * View), or a hotkey

Unfortunately, GitLens can't control that behavior -- it is completely controlled by VS Code itself. If you would like to see that change, please file an issue on the VS Code repository.


Fix problems detected by opam CI

### Tasks
- [x] 32 bit platform failed on large integers
- [x] Linking failed on `std::filesystem`
- [x] Linking failed on freebsd. Should use `pkg-config` to determine location of `libprotobuf.so`

32 bit platform failed on large integers:
File "src/ocaml_protoc_plugin/serialize_json.ml", line 122, characters 7-17:
# 122 |   test<PHONE_NUMBER> 0;

Consider using Int64.t for tests and decoding/encoding
Linking failed on std::filesystem
 protobuf2json.cc:47:34: error: 'std::filesystem' has not been declared
         for(const auto& p : std::filesystem::directory_iterator(".")) {

and
# protobuf2json.cc:15:10: fatal error: filesystem: No such file or directory
#  #include <filesystem>

Consider removing this test code as its unused
Linking failed on freebsd
# ld: error: unable to find library -lprotobuf

Understand what the library is called on freebsd, or allow ci-failures on freebsd

First two resolved. The linker error on freebsd is strange, as it used to work.
the package on freebsd is protobuf, and it provides libprotobuf.so, so linking against it should work.

Ah. When linking, we should use pkg-config to find the correct link flags and not hardcode it

All issues believed to be resolved. Closing


File substitution

Hi,
I am wondering what would be the best way to substitute placeholders in a file using values from dynaconf settings file.
Lets say we have a simple employee.yaml file:
-  martin:
    name: Martin D'vloper
    job: {settings.JOB}

How could I get the placeholder {settings.JOB} replaced with the actual value?
I am quite new to Python, but at the moment I'm thinking if this is something that could be solved by passing the contents of the yaml file and the settings object to  Python's eval() function ? Or is there some less extreme solution? Thanks!

Not an expert but I don't think this is something which Dynaconf should even do. Variable interpolation is something which Yaml loader should handle.
A workaround could be set tags in YAML and add constructors to replace tag with values
You can check the implementation here - https://stackoverflow.com/a/53043084
You can convert Dynaconf settings object to dict using settings.as_dict()

This is a use case for @format
-  martin:
    name: Martin D'vloper
    job: "@format {this.JOB}"

Docs here: https://www.dynaconf.com/dynamic/


Method to check what formats are supported

Describe the feature you'd like
A method that I can call which tells me either:

All supported formats, or
Whether a specific format is supported

e.g.
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Gd\Driver as GdDriver;

$manager = new ImageManager(new GdDriver());

$isSupported = $manager->supports('png'); // bool
$allSupported = $manager->getSupportedFormats(); // array

Imagick has Imagick::queryFormats() which provides this information, and GD has the imagetypes() function.
Even if it's not dynamically checking based on the above, intervention image does surely know what it can and can't support without relying on throwing exceptions?
Is your feature request related to a problem? Please describe.
Right now I either have to call those methods directly or have a hardcoded list of formats. I'm currently writing an abstract file converter interface, and using intervention as a use case to make sure the API is fit for purpose. It's very frustrating that I need to define or find a list of supported formats on my own... this feels very much like something intervention image should be handling for me.

Sounds like a good idea. The library knows which formats are supported in the best case. However, the decisive factor is with which support the extension (GD or Imagick) was built. The functions mentioned can be used to check this.
I will look into this.

This feature is available as of version 3.6.0. See: https://image.intervention.io/v3/introduction/formats#check-the-support-for-image-formats


active_records_views table in db/schema.rb

Hey Jason :)
I'm using db/schema.rb in a project and if I drop my database and run migrations the schema file loses the active_record_views table. If I then access the view class name from rails console and run another migration the table comes back. Is this expected behaviour? I wonder if it has anything to do with the issues I'm having in #15.

Hey, Odin. :)
I first thought this was the problem as every other app I use active_record_views in has config.active_record.schema_format = :sql and it was an obvious configuration difference. I gave this a test though and nothing changed.

To answer your question, this is expected behaviour. activerecord_views is designed to bootstrap the metadata table if it doesn’t already exist. As long as that metadata table and what views are present are in sync, everything’s fine.

Related: There was an issue with SQL schema format dumps on Rails 4.2. Fixed and added coverage in 0.0.12.


Google requiring Google Play Billing Library version 6 or newer

Hello!
Got this message just today on Google Play Console, it looks like this plugin will need to be upgraded to a newer version of the Google Play Billing library by August 24th if I'm not mistaken?

+1 needed please

We got the same message, hopefully it's a fairly easy fix

+1 needed

We got the same message, hopefully it's a fairly easy fix

I think depending on how much the API has changed, I will probably attempt it today to upgrade it and see if it explodes in my face.

I have no way of testing this at the moment since I am still working on my in-app purchases for my game, is anyone available to check:
https://github.com/Kaetram/godot-google-play-billing

@Veradictus I successfully built the .aarfile and compiled the app. So, so far so good! I've sent the app to Google for review, will let you know it how it goes once it's approved. Thanks for your the help on this!

https://github.com/Kaetram/godot-google-play-billing/blob/master/godot-google-play-billing/src/main/java/org/godotengine/godot/plugin/googleplaybilling/GodotGooglePlayBilling.java#L133
That section there needs to be updated to not just get the first product only. This gets all the items in one call:

		ArrayList<QueryProductDetailsParams.Product> productList = new ArrayList<QueryProductDetailsParams.Product>();
		for (String productId : productIdList) {
		    QueryProductDetailsParams.Product product = QueryProductDetailsParams.Product.newBuilder()
                    .setProductId(productId)
                    .setProductType(type)
                    .build();
            productList.add(product);
        }

		QueryProductDetailsParams params = QueryProductDetailsParams.newBuilder()
            .setProductList(productList)
            .build();

I'm not Java developer (and I really don't like the language!) so there might be a better way of doing this, but so far it seems to be working.

BlitBlatGames

Solid, will add it into the repo. I'm starting in-app purchases for my game today so I will update further as needed, and once the game is published on the Play Store and transactions work as intended, I will create a PR into this repo.

I think this should fix your last problem...
At least on my side, it fixes some issue I got.
check for the <<<<<<<<<<<<<<<<<<<<<<<<<
	public static Dictionary convertPurchaseToDictionary(Purchase purchase) {
		Dictionary dictionary = new Dictionary();
		dictionary.put("original_json", purchase.getOriginalJson());
		dictionary.put("order_id", purchase.getOrderId());
		dictionary.put("package_name", purchase.getPackageName());
		dictionary.put("purchase_state", purchase.getPurchaseState());
		dictionary.put("purchase_time", purchase.getPurchaseTime());
		dictionary.put("purchase_token", purchase.getPurchaseToken());
		dictionary.put("quantity", purchase.getQuantity());
		dictionary.put("signature", purchase.getSignature());
		// PBL V4 replaced getSku with getSkus to support multi-sku purchases,
		// use the first entry for "sku" and generate an array for "skus"
		// BUG ArrayList<String> skus = purchase.getSkus();    <<<<<<<<<<<<<<<<<<<<<<
		// BUG dictionary.put("sku", skus.get(0));             <<<<<<<<<<<<<<<<<<<<<<
		// BUG String[] skusArray = skus.toArray(new String[0]); <<<<<<<<<<<<<<<<<<<<<<
		// BUG dictionary.put("skus", skusArray);
		String[] products = purchase.getProducts().toArray(new String[0]);	// NEW <<<<<<<<<<<<<<<<<<<<<<
		dictionary.put("products", products);					// NEW<<<<<<<<<<<<<<<<<<<<<<
		dictionary.put("is_acknowledged", purchase.isAcknowledged());
		dictionary.put("is_auto_renewing", purchase.isAutoRenewing());
		return dictionary;
	}

I think this should fix your last problem... At least on my side, it fixes some issue I got. I have taken some code from the godot master branch.
check for the <<<<<<<<<<<<<<<<<<<<<<<<<
	public static Dictionary convertPurchaseToDictionary(Purchase purchase) {
		Dictionary dictionary = new Dictionary();
		dictionary.put("original_json", purchase.getOriginalJson());
		dictionary.put("order_id", purchase.getOrderId());
		dictionary.put("package_name", purchase.getPackageName());
		dictionary.put("purchase_state", purchase.getPurchaseState());
		dictionary.put("purchase_time", purchase.getPurchaseTime());
		dictionary.put("purchase_token", purchase.getPurchaseToken());
		dictionary.put("quantity", purchase.getQuantity());
		dictionary.put("signature", purchase.getSignature());
		// PBL V4 replaced getSku with getSkus to support multi-sku purchases,
		// use the first entry for "sku" and generate an array for "skus"
		// BUG ArrayList<String> skus = purchase.getSkus();    <<<<<<<<<<<<<<<<<<<<<<
		// BUG dictionary.put("sku", skus.get(0));             <<<<<<<<<<<<<<<<<<<<<<
		// BUG String[] skusArray = skus.toArray(new String[0]); <<<<<<<<<<<<<<<<<<<<<<
		// BUG dictionary.put("skus", skusArray);
		String[] products = purchase.getProducts().toArray(new String[0]);	// NEW <<<<<<<<<<<<<<<<<<<<<<
		dictionary.put("products", products);					// NEW<<<<<<<<<<<<<<<<<<<<<<
		dictionary.put("is_acknowledged", purchase.isAcknowledged());
		dictionary.put("is_auto_renewing", purchase.isAutoRenewing());
		return dictionary;
	}

Awesome, I haven't had any time to update my code, much appreciated!

Just found another issue in another file ( GodotGooglePlayBilling.java )
I'm not a java developper, so my code may not be optimal.
But now, I can see my item prices.

@UsedByGodot
	public void queryProductDetails(final String[] list, String type) {
		List<String> productIdList = Arrays.asList(list);

		List<QueryProductDetailsParams.Product> productList = new ArrayList<>();
		for(String productId : productIdList )
		{
			productList.add(  QueryProductDetailsParams.Product.newBuilder()
            					.setProductId(productId)
            					.setProductType(type)
            					.build());
		}
		//QueryProductDetailsParams.Product product = QueryProductDetailsParams.Product.newBuilder()
        //    .setProductId(productIdList.get(0))
        //    .setProductType(type)
        //    .build();

		QueryProductDetailsParams params = QueryProductDetailsParams.newBuilder()
            .setProductList(productList) // Arrays.asList(product))
            .build();

            ...

I found this:
https://github.com/201949/godot-google-play-billing-6
All the best

If anyone is interested, here is the repository of the working plugin that I prepared for using Google Play Billing Library version 6.2.1 on Android for Godot 3.5.2
(https://github.com/201949/godot-google-play-billing-6)

@201949 I was about to test for 4.2 but can not figure out "purchase(productId, type, accountId, profileId)" method wants as "accountId" and "profileId". If you can add a small documentation, would be much appreciated.
I'm upping this, so this library would be updated.

@201949 You're amazing, thank you so much for this! 🚀 Would you consider making a pull request so that upstream may benefit from it as well? 😊

@flaming-toast I attempted to transition to Google Play Billing Library version 7 using the existing official upstream plugin, but I was unsuccessful, just as I was with the transition to version 6. Therefore, to address the need for organizing one-time purchases in my existing applications with the outdated library, I created my own solution, guided by official sources on the Google Play Billing Library. Additionally, I have now implemented support for subscriptions and made it publicly available. Here is the Release 6.2.1 with subs

https://github.com/dgsdestinygamestudios/godot-google-play-billing/tree/main
v2 plugin structure, tested on Godot 4.2. Just for android though. If you use, please let me know.

https://github.com/dgsdestinygamestudios/godot-google-play-billing/tree/main v2 plugin structure, tested on Godot 4.2. Just for android though. If you use, please let me know.

@dgsdestinygamestudios I'm very happy for you that you managed to build the plugin for the new v2 structure. I hope you will share the source code soon so that we can see your implementation of the methods for working with the Google Play Billing Library. I hope that my solutions have also helped you in your implementation.

@201949 thank you. Given that Billing library 6 won't be a long-term fix, I figured I should try to go for 7. I've shared java part of the things. If you see anything wrong, feel free to help. Also yes, I've extensively read your, Remi's, and the documentation to understand what is going on, so thank you.

I've created an new addon for the Godot 4.2 game engine that integrates with Google Play Billing Library version 7. This module supports all the public functions provided by the library, handles all error codes, and can work with different pricing plans within subscriptions.
You can check it out here: https://github.com/code-with-max/godot-google-play-iapp
I hope this addon helps you with your projects. Feedback and contributions are welcome!
Happy coding!

@code-with-max Do you plan to create a PR and merge it back with the offical plugin?

@code-with-max Do you plan to create a PR and merge it back with the offical plugin?

I'm not sure I can do this for several reasons:

it's technically impossible, there are too many differences in the code base.
I have already tried to do this before, but the authors prefer to use this one.
https://github.com/godotengine/godot-google-play-billing/issues/51#issuecomment-1596250997

@code-with-max
Thanks for the update, but when I try to use the new version it gives me an error:
Please ensure the app is signed correctly.",
"response_code": 5
(the old version works for me)
And according to a Google search it says:
code 5: BILLING_RESPONSE_RESULT_DEVELOPER_ERROR: Invalid arguments provided to the API. This error can also indicate that the application was not correctly signed or properly set up for In-app Billing in Google Play, or does not have the necessary permissions in its manifest
I see that it gets the product names but when you click on purchase it gives this error.

Write an example of your request.

@code-with-max Thanks for the update, but when I try to use the new version it gives me an error: Please ensure the app is signed correctly.", "response_code": 5
(the old version works for me)
And according to a Google search it says: code 5: BILLING_RESPONSE_RESULT_DEVELOPER_ERROR: Invalid arguments provided to the API. This error can also indicate that the application was not correctly signed or properly set up for In-app Billing in Google Play, or does not have the necessary permissions in its manifest
I see that it gets the product names but when you click on purchase it gives this error.

Check your debug and release keystores.
Project > Export > select Android > scroll down until you see keystores > assign

Thank you for the quick reply:
@dgsdestinygamestudios
In the old version I only had Release and it worked.
Now I also added it to Debug and it still doesn't work.
@code-with-max
I used the code of the example :
GooglePlayBilling.do_purchase("remove_ads")
 func do_purchase(id: String, is_personalized: bool = false): billing.purchase([id], is_personalized)
And of course I changed it:
const ITEM_ACKNOWLEDGED: Array = [ "remove_ads" ]

AndroidIAPP singleton loaded
Billing: start connection
Billing successfully connected
"remove_ads"
"remove_ads"
{
"debug_message": "Please ensure the app is signed correctly.",
"response_code": 5
}

Thank you for the quick reply:
@dgsdestinygamestudios In the old version I only had Release and it worked. Now I also added it to Debug and it still doesn't work.
@code-with-max I used the code of the example :
GooglePlayBilling.do_purchase("remove_ads")  func do_purchase(id: String, is_personalized: bool = false): billing.purchase([id], is_personalized)
And of course I changed it: const ITEM_ACKNOWLEDGED: Array = [ "remove_ads" ]

AndroidIAPP singleton loaded Billing: start connection Billing successfully connected "remove_ads" "remove_ads" { "debug_message": "Please ensure the app is signed correctly.", "response_code": 5 }

Then check your AndroidManifest file, and make sure you enter the unique name of your game. example: com.example.$genname

Yes, I have in the settings:

Did you publish an internal testing with this build? Billing library needs latest aab to work.

Yes, I have in the settings:

@dgsdestinygamestudios
@Shay-M
I make new versions of plug-in achieve with separated "release" and "debug" versions. In fact, the differences between them are minimal, but I want to eliminate all errors.
https://github.com/code-with-max/godot-google-play-iapp/releases/tag/v1.2

@dgsdestinygamestudios
@code-with-max
Ok, I will try and update with the new version + through internal testing
In the previous version, I did the run through godot and a physical connection of my device (this is how it worked)

@Shay-M
I'm sorry, I don't really understand.
Do you want to use this plugin for an application that does not use the Google Store?

As far as I understand your conversation, you need to register a payment tester in the Google Developer Console. Settings -> License Testing. Otherwise, payment testing will have to be done in the published application with a real payment method. Or did I misunderstand the conversation?

@201949 @Shay-M
Don`t forget put license key in special field on Godot export options

Hi, thank you for your help!
I found a solution to the problem:
"Clear you cache from the google play store account. 😶
https://stackoverflow.com/questions/73025919/google-play-billing-library-5-purchase-flow-fails-but-response-code-indicates-su
I believe that now everything will work

@201949 I'm trying to use your Google Play Billing Library 6.2.1, but when I export my game and test it on device through an internal test, the app crashes after 2 seconds. In your code, the _on_connected() function first starts a 2s timer, so my guess is that whatever happens after crashes the app, I just don't know what.. Have you got any idea? I just copied your code without changes. The app seems to work fine for the first 2 seconds.

@201949 Would it be possible to add more documentation/notes to your Google Play Billing 6.2.1? I'm trying to work with it now but there is a lot of code that I don't know the purpose/workings of. It would be helpful to me and other people who use your code to have some sort of helping hand.

@dalvaren what Godot version are you using? You should give this pr a try. Although it's still not complete but it work for me with basic using. Of course if you're upgrade from a very old version you have to update something.
These signal changed:
		payment.connect("sku_details_query_completed", self, "_on_product_details_query_completed") # SKUs (Dictionary[])
		payment.connect("sku_details_query_error", self, "_on_product_details_query_error") # Response ID (int), Debug message (string), Queried SKUs (string[]

Also replace all .id to .sku
It should work for now.

@kyoz DO you know if that PR also works for Godot 3.5.3?

I'm using it for all of my games now, yes of course that pr is still not completely complete, but if your usecase is simple like me, just allow user to purchase an item, it should work fine.
Here is the build for 3.5.3 which i've built and used:
GodotGooglePlayBilling-v7-3.5.3.zip
You can give it a try.

@201949 Just wanted to let you know that I got everything working thanks to your plugin! Thank you so much for your effort. Is there a way I can donate to support your work?
I do have 1 question. Does Android/Google have something like a "Restore purchases" feature like in iOS? And if so, does your plugin support that?

I have projects using at 4.2.1 and 4.3,
How I am going to update to version Google Play Billing Library version 6.0.1 ?
Thanks

Starting tomorrow, our game updates will be rejected unless we update the billing plugin. Do we have any updates on when the plugin will be compatible with the new requirements?

Starting tomorrow, our game updates will be rejected unless we update the billing plugin. Do we have any updates on when the plugin will be compatible with the new requirements?

I used the plugin made by @201949 and solved this problem for my game. Good luck!

Starting tomorrow, our game updates will be rejected unless we update the billing plugin. Do we have any updates on when the plugin will be compatible with the new requirements?

I used the plugin made by @201949 and solved this problem for my game. Good luck!

Hi Is this compatible with godot 4.3?

Hi @wargaming0009,
Yes, my plugin also works in Godot 4.3, but at the moment I have not prepared a corresponding release. However, you can rebuild my plugin for the Godot 4.3 library. In this case, you will need to make some changes to your gdscript singleton to match the correct syntax of the new Godot 4.3 version.
If you need a working plugin for the Godot 4.X branch, try using the following plugin:
AndroidIAPP Godot Plugin by @code-with-max
Hope this helps you.

Just sharing one more option: https://achyutastudios.github.io/godot-play-billing/
Supported Godot Version: 4.2 and above
Google Play Billing Library Version: 7.1.1
Android Requirements:
Minimum SDK Version: 24
I've tested this one on 4.2.1 and I have working "Internal testing" release in Play Console without Billing version errors. I kind of enjoy a bit more the web documentation.


hal: nxp: Update to SDK 2.10.0

Updating to the SDK 2.10.0 for select platforms.
Fixes #37619
Signed-off-by: David Leach<EMAIL_ADDRESS>

@dleach02 I need 2 days full testing on this, will feedback once finish

@dleach02 looks like failure with lpcxpresso55s69_ns. I know @microbuilder was asking about updating the SDK around the TFM integration, so he might be aware of what fix we need for TFM.

@dleach02 are we waiting on something here to merge things here?

@galak, I'm just waiting on the finish of an internal testing run on our HW range. Should be ready by tomorrow (it found issues over the weekend).

@dleach02 I merged the HAL side of this, can you update this PR now.

Okay... I messed that up... give me a moment to fix this

Okay... my 'git-fu' is not strong... new PR: #37680


VM does not start: The session is not locked (state: Spawning)

Environment:
-Python 2.7.3
-Ubuntu 12.04.5
-pyvbox-0.2.2
-Virtual Box 4.3.30
I'm trying to launch virtual machine by means virtualbox python api but VM does not launch. Here is the log:
In [1]: import virtualbox

In [2]: vbox = virtualbox.VirtualBox()

In [3]: print("VM(s):\n + %s" % "\n + ".join([vm.name for vm in vbox.machines]))
VM(s):
 + win_7
 + eclipse_video

In [4]: session = virtualbox.Session()

In [5]: vm = vbox.find_machine('win_7')

In [6]: progress = vm.launch_vm_process(session, 'gui', '')

In [7]: h, w, _, _, _ = session.console.display.get_screen_resolution(0)
---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
<ipython-input-7-22abc05fadf4> in <module>()
----> 1 h, w, _, _, _ = session.console.display.get_screen_resolution(0)

/usr/local/lib/python2.7/dist-packages/pyvbox-0.2.2-py2.7.egg/virtualbox/library.pyc in console(self)
  24089         Console object associated with this session.
  24090         """
> 24091         ret = self._get_attr("console")
  24092         return IConsole(ret)
  24093

/usr/local/lib/python2.7/dist-packages/pyvbox-0.2.2-py2.7.egg/virtualbox/library_base.pyc in _get_attr(self, name)
    153
    154     def _get_attr(self, name):
--> 155         attr = self._search_attr(name, prefix='get')
    156         if inspect.isfunction(attr) or inspect.ismethod(attr):
    157             return self._call_method(attr)

/usr/local/lib/python2.7/dist-packages/pyvbox-0.2.2-py2.7.egg/virtualbox/library_base.pyc in _search_attr(self, name, prefix)
    140         for i in range(3):
    141             for attr_name in attr_names:
--> 142                 attr = getattr(self._i, attr_name, self)
    143                 if attr is not self:
    144                     break

/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/client/__init__.py in __getattr__(self, attr)
    372                 self.QueryInterface(iid)
    373                 interface = self.__dict__['_interfaces_'][iid]
--> 374             return getattr(interface, attr)
    375         # Some interfaces may provide this name via "native" support.
    376         # Loop over all interfaces, and if found, cache it for next time.

/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/client/__init__.py in __getattr__(self, attr)
    458                 raise RuntimeError, "Can't get properties with this many args!"
    459             args = ( param_infos, () )
--> 460             return XPTC_InvokeByIndex(self._comobj_, method_index, args)
    461
    462         # See if we have a method info waiting to be turned into a method.

Exception: 0x8000ffff (The session is not locked (session state: Spawning))

Thank you,
Alex

Hi Alex,
I just tested this out against a 5.0.0 VirtualBox stable with the 1.0.0 branch (which is not stable or complete) and the following sequence worked:
import virtualbox
vbox = virtualbox.VirtualBox()
vm = vbox.find_machine('win7')
vm.launch_vm_process()
session = vm.create_session()
h, w, _, _, _, _ = session.console.display.get_screen_resolution(0)
png = session.console.display.take_screen_shot_to_array(0, h, w, virtualbox.library.BitmapFormat.png)
open('test.png', 'wb').write(b)
open('test.png', 'wb').write(png)
!open test.png

Note: VirtualBox API 5x get_screen_resolution now returns an extra parameter.
What if you tried to get a session after you've launched the vm process?
Regards,
Mick

Hi Mick,

What if you tried to get a session after you've launched the vm process?

Session state is locked in this case and I can get work with it. So, I need to run VM manually because launch_vm_process does not work with Virtual Box 4.3.30?
Thank you.

Closing this issue as stale. If you are having this issue with the latest version of pyvbox w/ VirtualBox 5.1.x @amazpyel ping this issue and I'll re-open.


Production build ends with error: SyntaxError: Unexpected token: name (isBrowser)

Steps to reproduce are the same as I described some time ago in issue #6  from step 1 to 3.
After that run this in command line:
 npm run build
and you'll get an error:
> react-scripts-ts build

Creating an optimized production build...
ts-loader: Using<EMAIL_ADDRESS>and D:\GitHub\efforts\efforts-frontend\tsconfig.json
Failed to compile.

static/js/main.b2af2918.js from UglifyJs
SyntaxError: Unexpected token: name (isBrowser) [./~/typescript-ioc/index.js:3,0]

I tried the steps and I received another similar error message:
Unexpected token: name (construct) [./~/typescript-ioc/es6.js:26,0][static/js/main.f4808811.js:23017,4]

I could not identify what is exactly the problem, but it looks related to some UglifyJS task when analysing ES6 syntax.
I forced the usage of ES5 versions and the error disappeared to me.
import { Container } from 'typescript-ioc/es5';
Container.bind(Date).to(Date);

It works, once the generated project uses "target": "es5", on tsconfig.json.

I found this answer from create-react-app contributor. External dependencies with es6 syntax is not supported. Thus I think it is not your issue and you can close it.


Why is Python3 code in a separate directory?

Why is the Python 3 code in a separate directory in UniversalPetrarch instead of just converting the existing code to be 2/3 compatible? There's a big risk of the two code bases diverging unless every change to one gets manually copied over to the other.

I think it's okay to just have 3, though other people might think differently. The other option is to just re-write the Python 2/3 specific parts around networkx and execute different blocks based on which version is running.

The coder now is python 2/3 compatible, and I removed the directory python3/.


Moving files between 2 mounted drives extremely slow (rarely reaches 100kilobytes/s)

So I'm trying to move this folder from one google account to another account, so i mounted both accounts and started moving the file, but the speeds are extremely slow, almost never even reaching 100KB/s. I was expecting at least 5MB/s because my VPS has over 100MBit/s Up and Down as tested from Google Speedtest

I think this folder I'm trying to move has at least 300GB of files on it and with this speed its just gonna take way too long

I'm moving the files with mv and checking the % and speed using progress
Is there any way to speed this up? I need at least like 1MB/s to be able to move this folder in a sensible amount of time. it seems like the CPU could be the bottleneck here but I'm not really sure, the google-drive-ocamlfuse process has very high CPU usage on my VPS and sometimes it maxes out to 100%.

The fastest way to upload a massive number of files is through the web interface. Otherwise you can try setting the experimental option write_buffers=true to turn on the memory cache on writes, and play with the settings memory_buffer_size and max_memory_cache_size to get the optimal throughput for your system. But you can never achieve the web interface performances because the files must be fully copied to cache before uploading them (and that's because how the Drive API works), so in your case with the default options you have to download 300GB to the local cache of the source drive, copy those 300GB to the local cache of the destination drive and then upload 300GB to Drive. I don't know if in this case rclone is a better solution.

In the end I decided to use a third-party website and it worked. but i might try rclone in the future


Support multi GPU runs

[ ] We need to support multi GPU

We have a problem using BERT and multiple GPUs. All the other models work correctly

@bwanglzu Please add the details for @LMMilliken


3b Vendor interactions - recommend free (not Industry Navigator)

I use https://sam.gov/content/opportunities (without logging in) to look directly at gov contracts - mainly because it is free. I also use bidnet (the free version).  The more generic link would be https://sam.gov/search/
@matthewclaudel Is there another that you use?

Go with the generic link!

Updated.


remove header while getting model list

This needs a rebase!

looks like the file isnt present any more


Implement From<&Addr> for Addr

A simple Addr helper I find myself wishing for again and again in test code. But I keep forget to make an issue.
Non-breaking change.

I'm not sure about this. The Into<T> trait docs say it's:

A value-to-value conversion that consumes the input value.

An implicit copy happening there is unexpected.
In the test you wrote, we could use a Cow<Addr>. The function could accept something like impl Into<Cow<Addr>>, and then we could implement ToOwned for Addr. I'm happy to make a PR and give that a try.
A Cow is basically an enum that holds either a reference or an owned value. You can get an owned value out of it, which will be a copy only if necessary. Cow docs
If we don't care about performance (tests, right?), we could implement AsRef<Addr> for both Addr and &Addr and then convert the ref to an owned value in the test function.

impl Into<Cow<Addr>>
That is quite a mouthful, but exactly what we want.
I tried looking at the docs, but it doesn't seem there is impl From<T> for Cow<T> or impl From<&T> for Cow<T> where T: ToOwned. With those, the trait you list above would let us pass &Addr or Addr without any wrapping on the caller side.

I tried looking at the docs, but it doesn't seem there is impl From<T> for Cow<T> or impl From<&T> for Cow<T> where T: ToOwned. With those, the trait you list above would let us pass &Addr or Addr without any wrapping on the caller side.

Ahh, yeah. I feel like there's probably some intricate reason Rust's std doesn't have those generic impls. impl From<T> for Cow<T> would probably not make much sense for Cow<str> since the Owned type for &str is String, not str.
But anyway, I'll implement them for Addr in a PR.

#1045 is better