[Feature] support TiKV as an option for metadata storage

Search before asking

[X] I had searched in the issues and found no similar issues.

Description
TiKV is a low latency, strongly consistent, highly available key-value database that supports ACID transactions. It has been used to store metadata for some infrastructures and services, for example:

Metadata of the Object Storage Service in JD Cloud: https://www.cncf.io/blog/2019/11/26/case-study-tikv-in-jd-cloud/
Metadata of the JuiceFS, which is a POSIX file system designed for cloud-native environment: https://juicefs.com/blog/en/posts/juicefs-release-v016/

TiKV is also the storage of TiDB, a distributed HTAP database used by 1500+ users in production. Which gives it the following strengths:

Low maintenance overhead for existing TiDB users, the SOPs, KBs of TiDB storage layer can be reused
No need to learn how to maintain another system for metadata storage

Use case
By adopting TiKV, it enables us to solve the following problems:

Doris stores metadata in local disk, caches it in memory in a specific format. It might be inconvenient to view or modify it
As the cluster and data grow, there might be more metadata needed to be stored, the current metadata storage mechanism might be a bottleneck

Related issues
N/A
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Currently, doris store rowset meta and tablet meta in local rocksdb. Could you explain more detail why need to store it to a external global KV store?

Doris's FE and BE both has metadata, so which part do you want to replace?
Can you offer more detailed design?

Any update? If metadata is on tikv, fe can be stateless and easy for scaling?


How to setup this package?

Hello,
I assume this package will free us from having to configure ourselves enabling cloud logging and error logging on GCP.
There are a few questions if you could help me answer them:

Can this package be used for apps running on both App Engine and Compute Engine? Or is it only for App Engine?
The keyfile path. How to specify that when running on App Engine? For compute engine ,I can download the file locally and put the path. But for App Engine, how does it work? I can put the file in the project root folder but then it gets into git. Is there another way?
For the batch daemon, if I am running on App Engine, do i still need to add it to supervisord? In that case, what's the file path that I should specify for the daemon?

Thanks a lot

I found the following from this page:
While running on Google Cloud Platform environments such as Google Compute Engine, Google App Engine and Google Kubernetes Engine, no extra work is needed. The Project ID and Credentials and are discovered automatically. Code should be written as if already authenticated.

This means, this package can be used on both Compute Engine and App Engine. It will simply log to Google Stackdriver service. Since Laravel app will be running on Google App Engine or Compute Engine, hence the code is already authenticated.


Table-driven test shows as stopped instead of failed

When a table-driven test fails, the plugin shows it as stopped instead of failed:
https://i.imgur.com/vPkI2oq.png
It would be great if it was showing as red instead of grey - and it would be even more great if the plugin made a sub-test showing the status of each separate data row.

This is fixed in kotest 4.0.2


Format job requirements as hours and minutes

About the PR

Role requirements now show the playtime needed in the format hhH mmM, the same as the playtime stats page.
Why / Balance

This makes them much more readable. Before I was always having to mentally convert them to hours.
Technical details

I copied the ConvertTimeSpanToHoursMinutes method from PlayTimeStatsWindow.cs. I wasn't sure if there's a utils place of some kind to move it to in Shared. In any case it's maybe four duplicated lines of code
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

None
Changelog

:cl:

tweak: Made role requirements display in a more understandable format.

Can I get a review on this @metalgearsloth

Can I get a review on this @metalgearsloth

under the list of reviewers you can click the button next to sloth's name to officially request the re-review

I have "Allow edits by maintainers" enabled, for me it says "These conflicts are too complex to resolve in the web editor". Should I rebase or something

ed moved the switch case to classes. I'll try pushing again later worst case I just open a new branch and merge it.

I ended up replacing it https://github.com/space-wizards/space-station-14/pull/29796


Fix comprehension bindings and requirements when target conflicts with outer scope

The scoping around comprehensions is a bit confusing and our logic doesn't capture it correctly. Consider this case which we currently sort incorrectly:
def f():
    g()
    return [g for g in range(10)]

def g():
    print("Called g")

In the above snippet, the g() invocation within f and the g reference within the list comprehension exist within two separate scopes. Therefore, the invocation of g() should NOT be considered a call to a variable within the local scope. That is, function f does indeed have a requirement on the global function g.
This PR fixes this scoping issue and introduces additional tests to assert correctness of these cases.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

7 of 7 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.007%) to 98.242%

Totals

Change from base Build<PHONE_NUMBER>:
0.007%

Covered Lines:
1285

Relevant Lines:
1308

💛  - Coveralls


Better documentation for plugins (how to build a category)

Is your feature request related to a problem? Please describe.
I'd like to build a new category in an amplify cli plugin. I've read through the code and have some idea of how things work, but I'd like to know that my plugin will work correctly with init, status, push etc. I've read this page about plugins, but I it's more of a demo of gluegun than of how to work with amplify-cli.
Describe the solution you'd like
I'd like some documentation to know how to create a new a category in amplify (userland package, not a PR on amplify):

how to register cfn templates
how to report 'dirty' status (where push will cause a change via cloudformation)
what is required by amplify (do I need to provide certain methods e.g. onInitSuccessful)
whether I can count on methods in context.amplify as supported public methods
how to bring in data from other cfn templates (specifically, the cognito user pool id)
how to save template outputs to the meta file
how to handle multienv correctly in templates

Additional context
The specific thing I'd like to build is a one-stop plugin for Apollo server on Lambda/API Gateway (including Cognito), so it's currently focused 100% on AWS services with the cloudformation provider.
BTW I'm happy to help write this up & contribute back to docs if I can get informal guidance here. I recently wrote this post about using amplify :)

Quick addendum: A colleague pointed me to wizage/amplify-category-example (nice work, @wizage). This is a large step in the right direction. It would be great if an Amplify team member could comment on whether that looks like a good foundation and on what's missing.

Hey @rdickert
Here is a plugin that is currently in development (The current fork is private and pending release on AWS-Labs).
This plugin does a lot of what you are asking about but I will dive deeper into either way.

Registering CFN Templates
To use cloudformation with your plugin their are a few requirements to be aware of:

When running this command context.amplify.updateamplifyMetaAfterResourceAdd the options parameter should contain options.providerPlugin = 'awscloudformation'
You must put the cloudformation template into ${targetDir}/${pluginName}/${props.shared.resourceName}/${props.shared.resourceName}-live-workflow-template.json this directory. This directory will be unique for each project and will be uploaded to s3 when running amplify push. The targetDir is the amplify folder in your project, props.shared.resourceName is a unique project name, and pluginName is the same name as the plugin that you would define in options.service. To write custom values to the cloudformation like parameters I would recommend using context.amplify.copyBatch.
To notify the system that you have added a new project you must use context.amplify.updateamplifyMetaAfterResourceAdd to stage your env before it will push your cloudformation
This is the function example of the whole staging process for cfn https://github.com/wizage/amplify-elemental-plugin/blob/master/extensions/livestream-push.js#L131

how to report 'dirty' status
To report dirty status I use context.amplify.updateamplifyMetaAfterResourceUpdate and change a value there. But amplify will also detect a file overwrite and say that it notices extra changes.

what is required by amplify

A entry point must be available. This means in your package.json your entry point (most likely index.js) is needed. Doesn't need anything but still needs to exist. (You can add links to the console and also do callbacks after amplify push in the file). To get fully integrated into the amplify plugin you need to name your plugin something like: amplify-category-<yourname> to be found in the category lists.

whether I can count on methods in context.amplify as supported public methods
These are defined in the source code of amplify are used in other plugins. But get a full answer from the amplify team would be good.

how to bring in data from other cfn templates
The outputs are all stored in a file in the amplify folder called backend-config.json and so you can pull from the file or use the amplify function context.amplify.getProjectMeta(); to get the results and use it in other places.

The meta file is updated from results of the cloudformation template (so you have to just define what you want back in your cloudformation and the mapping is done for you).

How to handle multienv in your templates.
You must have this parameter in your templates:

 "env": {
      "Type": "String",
      "Description": "The environment name. e.g. Dev, Test, or Production",
      "Default": "NONE"
},

Then you can append it to any unique names you want. For example in my template I append all my services launched with the env with a dash to separate them.

@wizage thanks a lot! This looks super useful. I'll dig in and let you know how things are going.


RCCViewController onRNReload bug

hi, I find this bug, which may cause onCancelReactTouches to crash after a Reload:
https://github.com/wix/react-native-controllers/blob/master/ios/RCCViewController.m#L163
-(void)onRNReload
{
   [[NSNotificationCenter defaultCenter] removeObserver:self.view];
   self.view = nil;
}

should be:
-(void)onRNReload
{
   [[NSNotificationCenter defaultCenter] removeObserver:self];
   self.view = nil;
}

More about my crash,
I'm on RN-0.30.0, and I have a left drawer, after a reload, try to open the drawer I got this:
-(void)onCancelReactTouches
{
  [(RCTRootView*)self.view cancelTouches];
}

self.view here is a UIView, not a RCTRootView, very strange, dont know why this happen, but the code above just fix this.

I've fixed it in my fork, please check
Pavel.

6 сент. 2016 г., в 07:02, littlesome<EMAIL_ADDRESS>написал(а):
More about my crash,
I'm on RN-0.30.0, and I have a left drawer, after a reload, try to open the drawer I got this:
-(void)onCancelReactTouches
{
[(RCTRootView*)self.view cancelTouches];
}
self.view here is a UIView, not a RCTRootView, very strange, dont know why this happen, but the code above just fix this.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks for reporting @littlesome we'll take a look


Handle an edge case with well-known ignores when applying exclusions

Closes #138
This was a subtle one. The problem was that the folders that were disabled in config but still had diagnostics reported on them in my local env contained .DS_Store files. .DS_Store files prevented a folder from being excluded from VFS. The reason is that minimatch apparently has some registry of ignored files and it always returns false for them. It becomes a problem when we apply inverted glob groups (not(...)) as we invert the result when matching such a group and end up including those files/folders
Let me know if I failed to clearly articulate the problem and you need more explanations

I rolled my previous changes back. It turned out you need to supply globby's isGitIgnored with a path to the root of a git repo. It doesn't search it recursively. Adding that function solved the problem


Update glossary.js to remove cold-blooded cyborg

@alisonjoseph, I just reviewed the glossary with @connor-leech and we agreed we should remove all of the idioms.
We have it on our backlog list to review the nature of this page too. It would be more helpful as a preferred word list (use this versus that) rather than a glossary.


RCTJSONStringify() encountered the following error: Invalid Type in JSON write (NSURL)

Hi,
When I load data from a Wordpress, I get this error:
RCTJSONStringify() encountered the following error: Invalid Type in JSON write (NSURL)
I guess that comes from html attributes inside the post content. Any ideas how to sanitize the string so this module doesn't throw this error?

Hi,
the error looks kinda weird.
Could you show us a snippet of your usage of the plugin ? And ideally, the HTML you're trying to display.

Hi @Exilz,
thanks for your answer.
There's a HTML snippet I try to render:

Blablabla

blablabla

[gallery ids="11,12,13"]

Blablabla

blablabla

I guess the WP shortcode can mess things up too.

Yeah that's probably the shortcode that isn't parsed properly... can you try without it ?

I tried without it, but I still got the error. Then I removed the image from the content. And it works.  I'll test it further, as it's the first time I get this error (I already used this module with images coming from WP content).

This might be because the URL of your image is broken.
We can see here that I didn't implement the error callback for Image.getSize. This is probably the reason of the crash.
There should be a fallback of some sort to ignore the image, or render a custom component showing a broken image like browsers do.

I get it, the snippet I gave you was fine, the only thing is I was requesting non-HTTPS image URLs. I switched to HTTPS, it's ok now. Good to know :)

Great, you discovered a major problem that needs fixing. We can never be sure all image links will be valid...
I'll fix that first when I have some time to work on this module. Thanks !

Yes, at least I think it should throw another (more specific) error. Thank you for your answers!
Best regards,
Enguerran

Here's what your snippet will render with the new parser and image renderer in version 3.0.0

The shortcode doesn't break anything and the broken image links render a dummy component.
Please tell me if you have suggestions !

@Exilz Thanks for this. I also see that 3.0.0 adds a default renderer for , can't wait to test it out.

This is fixed with 3.0.0, feel free to re-open this issue if you think it's not.


cross platform: remove second MAKE call from build

LGTM- thanks for fixing this!

@digitalinfinity Thanks for the review!


TypeError while running app (using make)

Hi, thanks for this promising app.
I am trying to test with the app however, when I issue make, the app does launch however upon any interaction other than opening menus (e.g. put a point in the grid or import an example file), it crashes with following log:
 ~/D/tkzgeom  main make
python3 src/Main.py
[]
here
here
0
Traceback (most recent call last):
  File "/home/mizho/Desktop/tkzgeom/src/EuclMainWindow.py", line 100, in <lambda>
    self.ui.listWidget.itemSelectionChanged.connect(lambda: listWidget_current_row_changed_func(self))
  File "/home/mizho/Desktop/tkzgeom/src/ConnectSignal/Lambda.py", line 106, in listWidget_current_row_changed_func
    fill_all_fields(main_window.scene)
  File "/home/mizho/Desktop/tkzgeom/src/Fill/FillAll.py", line 12, in fill_all_fields
    fill_point_fields(scene)
  File "/home/mizho/Desktop/tkzgeom/src/Fill/FillPoint.py", line 37, in fill_point_fields
    scene.ui.point_inner_sep_slider.setValue(point["marker"]["inner_sep"])
TypeError: setValue(self, int): argument 1 has unexpected type 'float'
make: *** [Makefile:2: main] Aborted (core dumped)

I'm using archlinux and here are my python packages:

python-pillow 9.2.0-1
python-pygments 2.12.0-1
python-pyqt5 5.15.7-1
python-1.8.2-1

I also test this in virtualenv using pip -r requirement.txt  for exact version but got the same error.
p.s. Is it possible to provide a wheel or setup.py build system instead? It facilitate easier PKGBUILD and installation process.

Thank you for your interest and for providing the above information about the app.
I can't replicate this issue, but my best guess is that your Python version vs PyQt5 version doesn't work together as they do on my computer.
The issue is in the setValue method from Qt: https://doc.qt.io/qt-6/qabstractslider.html#public-slots.
This method expects an integer type, but since the Python wrapper of Qt on my computer didn't raise issues and worked as expected, I assumed it accepted float as well.
If this is the only problem, that's an easy fix, I have to add integer conversion for all setValue usages (there are many).
I'll do this fix soon, and will let you know.
p.s. I've never done a build system before but will have a look (but can't promise).


Sphinx autobuild keeps reloading automatically without any changes if I include "sphinx_tags" in extensions in conf.py

I tried adding basic tags to my documentation, also having sphinx autobuild running in my terminal but it goes in never ending loop. Is this a known issue?
Python version 3.12, sphinx_tags 0.3.1
Following are the extensions added in my conf.py
extensions = [
    "myst_parser",
    "sphinx.ext.extlinks",
    "sphinx.ext.intersphinx",
    "sphinx_markdown_tables",
    "sphinxcontrib.images",
    "sphinx_design",
    "sphinx_tags",
]

Tags related config
tags_create_tags = True
tags_output_dir = "_tags"
tags_overview_title = "Tags"
tags_extension = ["md", "rst"]

NOTE: If I just do sphinx build and load the static page manually in browser, all works well. I see the tags too

It keeps detecting changes in following directory, when I myself didn't do a change and keeps rebuilding the page. Following is the log I see in terminal
[sphinx-autobuild] Detected change: D:\my_docs\_tags\tagindex.md

Update: It works fine after I set ignore flag for tags dir
"sphinx-autobuild . _build/html -a --ignore **/_tags/*"

Not a known issue, thanks for reporting! I'm not too familiar with the autorebuild option but will try to take a look.

Looks like you already found the solution, but yes, this is known behavior with sphinx-autobuild plus any extensions that generate additional source files during the build. It's definitely caught me by surprise a couple times! Another common extension you'd need to add ignore patterns for is sphinx-apidoc.
By default sphinx-autobuild watches everything in your docs dir (except _build), so:
New build -> files created/updated by extension -> change detected by sphinx-autobuild -> new build -> etc.
It might be worth adding a note about that to our docs?

Thanks for quick response @melissawm @JWCook
@JWCook Thanks for the explanation. A note will definitely benefit the end user, and yes it was not straight forward to figure that out. I initially thought "sphinx-tags" was not compatible anymore with current version of sphinx or other extensions I had in the config and uninstalled it (without realizing build was working fine) but thought of giving it a try again yesterday.


Fix 511: Validate AZ, HostAgrregate and Host entities with create DS …

…request

@larkinscarvalho , Can you confirm whether this as been tested with the latest Master? before I merge the changes.

@sudhirappaji dev validation is complete. Once you merge the changes, QA will validate the fix.


Plugin inconsistent minimum versions?

I changed
exponea : ^1.6.0
to:
exponea : ^1.7.0
And then tried to build and run:
Error: The pod "ExponeaSDK" required by the plugin "exponea" requires a higher minimum iOS deployment version than the plugin's reported minimum version.
To build, remove the plugin "exponea", or contact the plugin's developers for assistance.

The Podfile already has ios 15.4 set as the minimum.

I've had to go back to 1.6.0 for now - maybe the above is trivial to fix but I am not seeing how at the moment, any help appreciated :)

Resolved, there is odd behaviour with a lot of plugins reporting version 0.0.1, but a repo update fixed it, so it wasn't specific to this plugin.


fix order_package.market regression in bug in replace

handle unhandled exceptions on execution

Coverage decreased (-0.01%) to 93.733% when pulling f6da5a1fa13f20c119c881cef3f5150777a97355 on bugfix/execution-fixes into 7067eb31e1c8743adb91a3b39bae30f0969b6a2f on master.


VPN: IPsec: Log File : Output is unusable due to usage of UUIDs

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[X] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[X] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Describe the bug
The log file out put is unusable if you do can not link the used UUIDs in the swanctl.conf to the Connections in the WebGUI.
To Reproduce
Steps to reproduce the behavior:

Create some Connections
Go to the Log files section
Try to figure out what happens without looking into the swanctl.con file

Expected behavior
Either add the UUIDs in the WebGUI or do not use UUIDs in the config at all...
Describe alternatives you considered
Staying on 22.7 forever ;-)
Screenshots

Relevant log files
Additional context
Environment
Software version used and hardware type if relevant, e.g.:
OPNsense 23.7.3-amd64
FreeBSD 13.2-RELEASE-p2
OpenSSL 1.1.1v 1 Aug 2023

like this ?

No, rather like this...

Uuuups - sorry, just found that missing checkbox...

Uuuups - sorry, just found that missing checkbox...

What does this mean? I would also like to have more helpful output in log files, this seems like a good request?

@miken32 check the id field:

Ah ok I was hoping for something to show a friendly name in the log files. All our routers have 4 site-to-site tunnels as well as possible mobile clients. It gets busy!


Improve error output

Recent release of 1.5.0 showed, on my opinion, that we need to improve error output, either provide warning module or adapt current error module API (rename maybe) to show notifications/warnings, without line and column number.
Also this change is required for #238 issue, just like it might beneficial for plugins and rules notification.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/2711973-improve-error-output?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github).

Any updates on this?


DL-193: Bumped up the Guava version

Moving the Guava version from 16.0 to 20.0.

LGTM
+1

Couldnt figure out why our Jenkins build failed

Looking in to this. mvn compile passed for me locally. Maybe I should try running mvn clean install? Giving it a shot.

Seems both travis CI and Jenkins failed with similar error
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project distributedlog-service_2.11: ExecutionException The forked VM terminated without properly saying goodbye. VM crash or System.exit called? [ERROR] Command was /bin/sh -c cd /Users/travis/build/apache/incubator-distributedlog/distributedlog-service && /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/bin/java -Xmx3G -Djava.net.preferIPv4Stack=true -XX:MaxDirectMemorySize=2G -jar /Users/travis/build/apache/incubator-distributedlog/distributedlog-service/target/surefire/surefirebooter1574788574072023345.jar /Users/travis/build/apache/incubator-distributedlog/distributedlog-service/target/surefire/surefire1040382260065287155tmp /Users/travis/build/apache/incubator-distributedlog/distributedlog-service/target/surefire/surefire_871857929376723744956tmp

While the compile passes, the tests actually try to create a server process. This tries to start bookkeeper server, which has dependencies on Guava again. This means that this PR needs changes to the Bookkeeper pulled from: https://github.com/twitter/bookkeeper/.
As Guava has moved and changed the API quiet a bit, this is an involved changed. Another interesting point is that Apache bookkeeper uses even older version of Guava (13.0 in their master branch). So this PR should not go in before the Twitter bookkeeper moves towards this version.
Do share your views on this.

Thanks for the fix.

@arvindkandhare can you just exclude "guava" from the bookkeeper dependency and use 0.20 here? I am trying to understand if we really need a new bk version from twitter branch.

gotcha. Is it possible to shade the guava in bookkeeper?

@arvindkandhare - I merged your change in bookkeeper and released a version - 4.3.7-TWTTR-OSS
Can you update your pull request for this?

LGTM +1. Thanks @arvindkandhare


[OSX, Agent] Not starting

What are you trying do accomplish?

Start agent

Steps to reproduce the described behavior

azk agent start

Output

https://gist.github.com/SomeoneWeird/65504ff04ef26248e2db67a754b8c34b

Further info

Reinstalled etc, no change
a. Which OS / distro?
Latest OSX.
➜  /tmp azk version --full
Version   : azk version 0.18.0, build 8b9f66c, date 2016-04-06
OS        : OS X (x64), Memory: 16384MB
Agent     : Stopped
Docker    : Down
Uses VM   : Yes
VirtualBox: 5.1.2r108956

b. Which VirtualBox version? (If running Mac OS X)
See above.
c. Can you provide us your Azkfile.js?
N/A

Do you have any suggestions on how to tackle this?

Replacing <not set> with null gets further, but still generic failure error:
➜  /tmp azk agent start
azk: Please wait, this process may take several minutes
azk: Loading settings and checking dependencies.
azk: Checking version...
azk: azk 0.18.0 detected
azk: Settings loaded successfully.
azk: Removing virtual machine...
azk: Agent is being started...
azk: Starting virtual machine...
azk: Error: cannot start azk-vm-dev.azk.io
azk:     at /usr/local/Cellar/azk/0.18.0/node_modules/vboxmanage/lib/instance.js:45:25
azk:     at Object.callback (/usr/local/Cellar/azk/0.18.0/node_modules/vboxmanage/lib/command.js:72:16)
azk:     at next (/usr/local/Cellar/azk/0.18.0/node_modules/vboxmanage/node_modules/async/lib/async.js:720:43)
azk:     at /usr/local/Cellar/azk/0.18.0/node_modules/vboxmanage/node_modules/async/lib/async.js:24:16
azk:     at ChildProcess.<anonymous> (/usr/local/Cellar/azk/0.18.0/node_modules/vboxmanage/lib/command.js:64:20)
azk:     at ChildProcess.emit (events.js:98:17)
azk:     at maybeClose (child_process.js:766:16)
azk:     at Socket.<anonymous> (child_process.js:979:11)
azk:     at Socket.emit (events.js:95:17)
azk:     at Pipe.close (net.js:466:12)
azk: Sorry, an error has occurred.
azk: A crash report about this error will be sent to azk team in order to make azk better.
azk: Sending bug report to Azuki...
azk: Bug report was sent. Thanks.
azk: Agent is being stopped...
azk: Agent has been successfully stopped.

This is still an issue with the latest version


Action Interface link is broken

Action Interfaces is supposed to link to https://msdn.microsoft.com/library/windows/hardware/ff538355. Instead, it redirects to https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/content/index

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 19da97b7-0f3f-48ca-3822-c1b710328e1c
Version Independent ID: c643446d-930e-9ff3-b56e-53cfe5121ccc
Content: Controlling Targets
Content Source: windows-driver-docs-pr/wdtf/controlling-targets.md
Service: unspecified
GitHub Login: @windows-driver-content
Microsoft Alias: windowsdriverdev

Created the page, added it to the TOC, and fixed the link on this page. Thanks for catching this, @shaboinkin!!


Upgrade GoogleDataTransport dependancy

Please update GoogleDataTransport dependancy because it cacuse errors when pod install runs
[!] CocoaPods could not find compatible versions for pod "GoogleDataTransport":
  In Podfile:
    firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) was resolved to 15.1.3, which depends on
      Firebase/Messaging (= 11.2.0) was resolved to 11.2.0, which depends on
        FirebaseMessaging (~> 11.2.0) was resolved to 11.2.0, which depends on
          GoogleDataTransport (~> 10.0)

    mobile_scanner (from `.symlinks/plugins/mobile_scanner/ios`) was resolved to 5.2.3, which depends on
      GoogleMLKit/BarcodeScanning (~> 6.0.0) was resolved to 6.0.0, which depends on
        MLKitBarcodeScanning (~> 5.0.0) was resolved to 5.0.0, which depends on
          MLKitCommon (~> 11.0) was resolved to 11.0.0, which depends on
            GoogleDataTransport (< 10.0, >= 9.4.1)

What version of mobile_scanner are you using? We upgraded MLKit in version 6.0.0


Changed all message buffers in example code to 128 bytes. This is the…

… largest value needed for function returns. Now consistent across example files.

Sorry for the delay. Merged for completeness; a recent commit fixed this too.

@MikeS159  @thotro  @pascalbros  @yuhki50  @gautierhattenberger
Hello! Can anybody tell me how connect, decawave DW1000 TAG to Afrduino Uno? Which pins and which scetch give me correct ranging...
Thank u in advance!


Make algorithm name optional

As discussed in https://github.com/tabatkins/bikeshed/issues/1603, <div algorithm> can be used to provide scope for variables and enable the highlighting feature when clicking them.
However, if one uses <div algorithm> twice, one gets the error "Multiple declarations of the '' algorithm."
Bikeshed wants the name of the algorithm, but that's usually repeating something from right below. Other times, the algorithm doesn't have a name, it's just steps you should run when something else happens.
Can the algorithm name be made optional?

It sort of already is optional. If the <div algorithm> contains exactly one dfn, that will be used to identify the algorithm. Only when you have zero or more than one dfn in an algorithm do you need to specify a name (and in practice I rarely run into this).

Algorithms need names so I can report errors properly, etc. As Marign says, tho, most of the time Bikeshed can infer the algo name by itself.
If you have a <div algorithm> around some steps without a <dfn> in them... what are you trying to define? What's the algorithm that is important enough to define the markup-scope of, but not important enough to get a linkable definition?

Aha, I hadn't noticed that the name is inferred in some cases. The case I ran into is https://w3c.github.io/webdriver-bidi/ defining both a https://w3c.github.io/webdriver/#dfn-additional-capability-deserialization-algorithm and a https://w3c.github.io/webdriver/#dfn-matched-capability-serialization-algorithm, but neither of them named.
Knowing that it works like this, I could give those a name.

@domenic I see you reacted. Have you tried sprinkling in <div algorithm> in any specs and run into any similar issues, where it would be awkward to name the algorithm?

linkable definition

@tabatkins it looks to me like no ID is generated for the algorithm block, if that's what you meant. Is it Shepherd that annotates the definition as an algorithm by using this contruct?

I see you reacted.

In general I think supplying Bikeshed information that purely helps error reporting should be optional.

Have you tried sprinkling in <div algorithm> in any specs and run into any similar issues, where it would be awkward to name the algorithm?

Yes. This mainly occurs in monkeypatches, e.g. https://wicg.github.io/origin-policy/#monkeypatch-fetch or any of the other algorithms in https://wicg.github.io/origin-policy/#monkeypatches. It looks like I decided to not use <div algorithm> there (despite using it for other parts of the spec). https://wicg.github.io/origin-policy/#monkeypatch-fp is especially interesting since it replaces the algorithm wholesale, so (unlike some of the others in those section) it's completely standalone. But it would be inappropriate to <dfn> it.

it looks to me like no ID is generated for the algorithm block, if that's what you meant. Is it Shepherd that annotates the definition as an algorithm by using this construct?

No, I was referring to the dfn.

This mainly occurs in monkeypatches

In both of those cases it still seems reasonable to give an algorithm name. A dfn is just useful for inferring one; <div algorithm="my cool algo"> still works any time, tho, and without any ID or autolinking implications. (So far, at least.)

In general I think supplying Bikeshed information that purely helps error reporting should be optional.

My intention is that it will be useful for more than just error reporting eventually.

Tangentially,

wicg.github.io/origin-policy/#monkeypatch-fp is especially interesting since it replaces the algorithm wholesale, so (unlike some of the others in those section) it's completely standalone. But it would be inappropriate to dfn it.

I don't understand why it wouldn't be appropriate to dfn this? If you're replacing the algo, presumably you want autolinks to go straight to it, no?

In both of those cases it still seems reasonable to give an algorithm name.

It's just busywork though, done purely to keep Bikeshed happy. So I opted not to.

I don't understand why it wouldn't be appropriate to dfn this? If you're replacing the algo, presumably you want autolinks to go straight to it, no?

I don't want specs to have to differentiate between the canonical algorithm and my monkeypatched one. Nobody should generally be linking to the monkeypatched one. (Except perhaps inside my monkeypatching spec, but in that case I just use section links to refer to "monkeypatches to the Feature Policy spec" in general.)


docs: Fix broken link to tree-sitter-langs

URL in "Inteface for Modes" section was not pointing to the tree-sitter-langs repo.

Thanks!


Broken Link / Embed in Strapi EditorJS

When I try to embed a Link in Strapi it seems that the feature is broken... The link is red and a message pops up saying Couldn't fetch the link data in the Strapi Editor. Any idea how to over come this?

Thanks for any help or pointers!

@franzbewerunge did you follow the installation guide?

Yes I did. Is there anything particular I need to watch out for? We are hosting on DO and are having no major problems until now... But for somehow the link previews / embedding does not work

what version of strapi are you using?

Hi so I've been looking into this and it seems that to fetch the data the editor makes a request to api/react-editorjs/link however the actual endpoint is at /api/editorjs/link.
So even setting the security middleware won't help since the endpoint is setup incorrectly.

@Kvintus Thanks so much for identifying the issue here! Truly appreciated!
Is there a timeline for the fix? 🙏

@Kvintus @nhvu1988 - thank you for your input on the project. Could you read the PR #44  and give your comments?

@Kvintus @melishev I have tested the PR and it fixes this issue as well

Well, the last PR #44  should solve your problem, thanks for the input - @nhvu1988


Adds documentation regarding the new argument to hide assertions on rclpy messages

Summary
Adds documentation regarding a new feature that hides the assertions made on the python message classes.
Notes
I added this feature under the rclpy section since the users have control over this feature on the API level. Should I create a section for rosidl_python and add the feature documentation there?

Should I create a section for rosidl_python and add the feature documentation there?

I think you should add a section in rosidl_python, but with different content.  In particular, there you should make it clear that users can no longer rely on __slots__ only containing fields of the message, since other things might be in there.

I think you should add a section in rosidl_python, but with different content. In particular, there you should make it clear that users can no longer rely on __slots__ only containing fields of the message, since other things might be in there.

Just to be clear, you mean to add that section with the information about __slots__ while keeping the current changes or to add that section while discarding current changes?

Just to be clear, you mean to add that section with the information about __slots__ while keeping the current changes or to add that section while discarding current changes?

Keep the current changes, and add in the additional section about __slots__.


if(!metaData.file_url.includes('https://')) {

Hi,
Thank you for the update! looking great.
I seem to be getting this error now:
if(!metaData.file_url.includes('https://')) {........... TypeError: Cannot read properties of undefined (reading 'includes')
I am not sure what I am doing wrong.

Im having same problem

seems like some of your metadata doesn't have a file_url? Can you provide an example of a json file from the build folder?

Yes its about that i have already checked. Thanks. I built my images and json files with old version of config.js. I updated my config.js with your latest version and I rebuild my NFTs and it fixed. Thanks a lot.

const basePath = process.cwd();
const { MODE } = require(${basePath}/constants/blend_mode.js);
const { NETWORK } = require(${basePath}/constants/network.js);
const network = NETWORK.eth;
// General metadata for Ethereum
const namePrefix = "MysteryOrb";
const description = "Orb Collection";
const baseUri = "ipfs://NewUriToReplace";
const solanaMetadata = {
symbol: "YC",
seller_fee_basis_points: 1000, // Define how much % you want from secondary market sales 1000 = 10%
external_url: "https://www.youtube.com/c/hashlipsnft",
creators: [
{
address: "7fXNuer5sbZtaTEPhtJ5g5gNtuyRoKkvxdjEjEnPN4mC",
share: 100,
},
],
};
// If you have selected Solana then the collection starts from 0 automatically
const layerConfigurations = [
{
growEditionSizeTo: 20,
layersOrder: [
{ name: "Background" },
{ name: "Cloud" },
{ name: "Shadow" },
{ name: "Orb" },
],
},
];
const shuffleLayerConfigurations = false;
const debugLogs = false;
const format = {
width: 750,
height: 512,
smoothing: false,
};
const gif = {
export: false,
repeat: 0,
quality: 100,
delay: 500,
};
const text = {
only: false,
color: "#ffffff",
size: 20,
xGap: 40,
yGap: 40,
align: "left",
baseline: "top",
weight: "regular",
family: "Courier",
spacer: " => ",
};
const pixelFormat = {
ratio: 2 / 128,
};
const background = {
generate: true,
brightness: "80%",
static: false,
default: "#000000",
};
const extraMetadata = {};
const rarityDelimiter = "#";
const uniqueDnaTorrance = 10000;
const preview = {
thumbPerRow: 5,
thumbWidth: 50,
imageRatio: format.height / format.width,
imageName: "preview.png",
};
const preview_gif = {
numberOfImages: 5,
order: "ASC", // ASC, DESC, MIXED
repeat: 0,
quality: 100,
delay: 500,
imageName: "preview.gif",
};
module.exports = {
format,
baseUri,
description,
background,
uniqueDnaTorrance,
layerConfigurations,
rarityDelimiter,
preview,
shuffleLayerConfigurations,
debugLogs,
extraMetadata,
pixelFormat,
text,
namePrefix,
network,
solanaMetadata,
gif,
preview_gif,
};

{
"name": "MysteryOrb #1",
"description": "Orb Collection",
"image": "ipfs://NewUriToReplace/1.png",
"dna": "206e32739e05ba470d7d1a3897c44869d1a365ee",
"edition": 1,
"date":<PHONE_NUMBER>556,
"attributes": [
{
"trait_type": "Background",
"value": "Marble Lab"
},
{
"trait_type": "Cloud",
"value": "Cloud"
},
{
"trait_type": "Shadow",
"value": "Here's Reddy"
},
{
"trait_type": "Orb",
"value": "Yellow Blue Spotty"
}
],
"compiler": "AfricanMystery"
}

Fixed it, Thank you

I'm having the same issue TypeError: Cannot read properties of undefined (reading 'includes') - checked my config.js and it matches, and my JSON files have the File_url  - here is an example "File_url": "ipfs://NewUriToReplace/1.png",
any other suggestions on what to look at?

I have faced the same issue and found that Hashlibs now uses image instead of file_url in a function called addMetaData in main.js

Hi All
I solved this error, which I was getting when applying "includes" to a "!metaData.file_url.includes('https://'" value, by appending ".toString();"
if(!metaData.file_url.toString().includes("https://")) {
The .includes() API is part of the String and Array data type.
So what the error is trying to tell you is that the value for variable value, e.g. an integer or json object, does not have the property .includes.


Fix long line rendering

This PR is on top of https://github.com/atom/one-dark-ui/pull/112. It:

adds the transition back for opacity.
also remove the transforms on the tab markers. Maybe not needed, but then it's more consistent.

@simurai With the transform: scaleY(x); still in, when you activate the project root and then activate the working editor pane you lose the text again.

I don't think the transform: scaleY(x); can stay without breaking the long text :(

This PR is on top of atom#112
Would you be happy if I merged this in and removed the transform: scaleY(x);?

Would you be happy if I merged this in and removed the transform: scaleY(x);?

If you click the green merge button, there shouldn't be a transform: scaleY(x) because this PR used your PR version as a starting point, where you already removed the transforms. In tree-view.less, it just adds the transition of the opacity back. The whole file would look the this: https://github.com/atom/one-dark-ui/blob/sm-112-long-line-rendering/styles/tree-view.less#L62-L81
Also, if you merge this, your original PR https://github.com/atom/one-dark-ui/pull/112 will get updated outomatically with my two commits from this PR.

@simurai Thanks just learning the ropes of github ATM :+1:

:+1:


After Order place ,Guest user unable to check own order details

Preconditions (*)
Shopware 6.1.0 with demo data installed
PHP 7.2.22
Production Mode
After Order place ,Guest user unable to check own order details

Closing this due to inactivity
If there is still anything wrong, please file a new Issue


CrossBluetoothLE.Current.Adapter.DeviceDiscovered is not called

Hi, I just tried to scan for my BLE devices on a LG Nexus 5.x. For some reason it didn't discover any. I then loaded the same code to another Device (Samsung A3, Samsung S5) to find out that it works there.
Steps to reproduce

Setup a standard Vanilla with plugin.ble

Scan for devices with Samsung A3 - Callbackhandler is called. Scan for devices with Nexus 5x Android 8.1.0 - Callbackhandler is quiet

Expected behavior
Callbackhandler should be called in Nexus 5.x as well
Actual behavior
Callbackhandler is not called
Crashlog

nothing

Configuration
Plugin.BLE 1.3.0
Android 8.1.0
LG Nexus 5.x

Hi @GO74,
I'm the friendly issue checker.
It seems like (37.50 %) you haven't used our issue template :cry: I think it is very frustrating for the repository owners, if you ignore them.
If you think it's fine to make an exception, just ignore this message.
But if you think it was a mistake to delete the template, please close the issue and create a new one.
Thanks!

Okay, I'm still not sure why it happened, but, it's working again. Something with android/ble rights seems to be the cause of the trouble. It was working fine on the very same device two weeks ago...


Problem with generating tokens

When generating a token on the back-end side, virgilCrypto.importPrivateKey is throwing an exception :
Error: Cannot use global instances if the 'resetGlobalInstances' function has been called or 'createGlobalInstances' function has not been called yet.
Node Version: 12.12.0
Virgil Crypto Version: ^4.0.0-alpha.18
Virgil SDK Version: ^6.0.0-alpha.6

Hey @otarm 👋
You need to initialize the library using initCrypto function:
const { initCrypto, VirgilCrypto } = require('virgil-crypto');

const start = async () => {
  await initCrypto();

  // And now you can do this anywhere in your app
  const virgilCrypto = new VirgilCrypto();
  const privateKey = virgilCrypto.importPrivateKey(process.env.YOUR_PRIVATE_KEY);
};

start();

@snanovskyi  Thanks! It worked. It'll be better if you update documentation for v4.0

You have a bug in your documentation: https://developer.virgilsecurity.com/docs/e3kit/get-started/generate-client-tokens/
That page is missing the import for initCrypto which led to a bit of confusion on my part :)

@psylinse
Thank you for pointing out and sorry for inconvenience. We'll fix it soon!


Search Query tool fails when using Local People Results

Using Search Query tool against our SharepointOnline Tenant
When doing against "normal" Document Results, everything is fine. When searching for Persons, I also receive the results. However,  the "Title" is empty, and the buttons for "Managed Properties" and "Crawled proerty names" result in an error message and then the tool crashes:

This happens only when doing person search
Using current version 2.9 on Windows 10.
Maybe you can help?

Not sure, as it works when I test. You can try to pull the code and rebuild, in case the minor commits made afterwards have an impact. You can also check fiddler and see what might be wrong on the query itself.

Still an issue? And what does the RAW tab show? And the {Title} is expected and you can do Tools->Options to change which prop is used as the Title line in the results.

Well, Title is alright now, but the error-Message is still here.
However found something out:
If I give a value for "Select Properties" it works (the click on "Managed Properties" and "Crawled Properties").
If I leave the field empty, I also get search results. But clicking on the 2 links on each result results in the error Message ("Invalid URI, URI is empty") and the crash of the whole application.

@LeopoldLerch I'll put out a 2.9.1 release soon.. the current code seems not to have the issue. You can pull it and build yourself in the mean time.

Managed Properties and Crawled Properties for People only work for me if I use the "MySite" url and the Tenant ID in the connection settings:
SharePoint Site URL: https://-my.sharepoint.com/
Tenant Id: enter GUID here

@till-llit Because things got fixed a bit :)


Error message spell correction

When defining the wrong configuration using az cli the error message states.
"usage error: --destination should be a storage account, an evenhug namespace or an event hub resource id."
While I like hugs, I'm guessing it should state eventhub 👍

Dokumentinformasjon
⚠ Ikke rediger denne delen. Den kreves for koblingen docs.microsoft.com ➟ GitHub-problem.

ID: b8ee0e7c-a24d-592e-d96e-dddb00d58388
Version Independent ID: 29de7226-981d-870e-16ef-0c9951a066da
Content: Log Analytics workspace data export in Azure Monitor (preview) - Azure Monitor
Content Source: articles/azure-monitor/platform/logs-data-export.md
Service: azure-monitor
Sub-service: logs
GitHub Login: @bwren
Microsoft Alias: bwren

@msandbu Thanks for the comment!
If there is any bug related to Az CLI then please share it by raising it here.
This azure-docs repository deals about feedback related to particular Azure document page (like correcting doc bugs, doc enhancements, etc.) so if issue is intended to update / correct / enhance anything in an Azure document then going forward please share that kind of feedback here.
At this point it appears that there's no edits or updates needed for the referred Azure documentation so closing this issue for now. If there are further questions regarding this matter or feedback on the referrred Azure documentation, please do let us know and we will gladly continue the discussion.


how do I add a new provider

I created a file azure.com.lisp
(in-package #:saluto)

(defclass oauth2-azure.com (oauth2-provider)
  ((oauth-login-url
    :initform "https://login.onmicrosoft.com/b2c_1_login/oauth2/v2.0/authorize"
    :allocation :class)
   (access-token-query-url
    :initform "https://login.onmicrosoft.com/webapivehiculos/user_impersonation"
    :allocation :class)
   (userinfo-query-url
    :initform "https://login.onmicrosoft.com/webapivehiculos/user_impersonation"
    :allocation :class)))

(defmethod make-redirect-uri ((provider oauth2-azure.com) session redirect-uri)
  (declare (ignore session redirect-uri))
  (restas:genurl* 'receiver-route
                  :provider (name provider)
                  :states ""))

(defmethod build-goto-path :around ((provider oauth2-azure.com)
                                    session
                                    redirect-uri)
  (append
   (call-next-method provider session redirect-uri)
   (list
    "response_type" "code"
    "scope" "https://mtkb2c.onmicrosoft.com/api/user_impersonation/openid/profile/offline_access"
    "state" (make-state session redirect-uri))))

(defmethod prepare-access-token-request :around ((provider
                                                  oauth2-azure.com)
                                                 code
                                                 goto-path)
  "Azure needs parameters to be send as data"
  (let ((request (call-next-method provider code goto-path)))
    (setf (getf (cdr request) :parameters)
          (concatenate-params (cons
                               '("grant_type" . "authorization_code")
                               (getf (cdr request) :parameters))))
    (substitute :content :parameters request)))

(defun remove-zeros-from-string (array)
  "This function is needed by azure.com provider,
because the answer of azure.com for unknown reasons contains sudden chunks of zeros."
  (coerce (loop for x across array unless (zerop x)
               collect (code-char x))
          'string))

(defmethod extract-access-token :around ((provider oauth2-azure.com)
                                         answer)
  (call-next-method provider (remove-zeros-from-string answer)))

(defmethod extract-userinfo :around ((provider oauth2-azure.com)
                                     answer)
  (call-next-method provider (remove-zeros-from-string answer)))

(defmethod extract-userinfo ((provider oauth2-azure.com)
                             parsed-answer)
  (labels ((code-decode (string)              ;;;; Indeed, I don't know what does it mean
             (babel:octets-to-string
              (babel:string-to-octets
               string
               :encoding :LATIN-1)
              :encoding :UTF-8)))
    (list :first-name (code-decode (json-val parsed-answer "given_name"))
          :last-name (code-decode (json-val parsed-answer "family_name"))
          :avatar (json-val parsed-answer "picture")
          :email (json-val parsed-answer "email")
          :uid (json-val parsed-answer "id"))))

and
(:defsystem saluto
  :name "Saluto"
  :author "Dmitry Solomennikov<EMAIL_ADDRESS>  :version "0.0.1"
  :description "OAuth 2.0 authentication for RESTAS"
  :depends-on (#:hunchentoot
               #:restas
               #:ironclad
               #:babel
               #:split-sequence
               #:jsown
               #:cl-ppcre
               #:drakma)
  :serial t
  :components ((:file "package")
               (:file "utils")
               (:file "provider")
               (:file "routes")
               (:module "providers"
                :components ((:file "facebook.com")
                             (:file "github.com")
                             (:file "google.com")
                             (:file "mail.ru")
			     (:file "azure.com")
                             (:file "vk.com")
			     (:file "ok.ru")))))

and
(restas:define-module` #:saluto
  (:use #:cl)
  (:export #:*main*
           #:*store-userinfo-fun*
           #:*logged-in-p-fun*
           #:*logout-fun*
           #:*providers*
           #:oauth2-facebook.com
           #:oauth2-github.com
           #:oauth2-google.com
           #:oauth2-mail.ru
           #:oauth2-vk.com
	   #:oauth2-azure.com
	   #:oauth2-ok.ru))

but it gives me this error
Not Found
The requested URL /auth/goto/azure.com/ was not found on this server.
what am I doing wrong?

First of all, do you have your provider working at all? Can you connect to it by other means and libraries, not Lisp-based?
I was creating providers by copying it from other libraries.
Second, you have strange backquote in (restas:define-module` #:saluto. Looks like mistake.
Third, which request are you trying before receiving such an error?

Hello. I took the google sample code from saluto, and tried to modify it to work with azure.
Yes, I have the service running with python, and also with common lisp, but I am interested in using subtraction and wanted to see if I could integrate it into greeting.
I'm going to review the code again.
The error is that it cannot find the new supplier

this error The requested URL /auth/goto/azure.com/ was not found on this server.


Any proto file that uses this package can't generate PHP code because this project is still proto2

Our servers are all in golang, but some of our clients are in PHP, so we generate PHP libraries for all of our proto files.
If you use protoc-gen-validate, you would have this import in your proto file:
import "protoc-gen-validate/validate/validate.proto";
If you generate PHP out of your proto file, you will end up with a file that contains this:
<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: v1.proto

namespace GPBMetadata;
class V1
{
    public static $is_initialized = false;
    public static function initOnce() {
        $pool = \Google\Protobuf\Internal\DescriptorPool::getGeneratedPool();
        if (static::$is_initialized == true) {
          return;
        }
        \GPBMetadata\Google\Api\Annotations::initOnce();
        \GPBMetadata\Google\Protobuf\Timestamp::initOnce();
        \GPBMetadata\ProtocGenValidate\Validate\Validate::initOnce();

If you try to use this PHP code, you will need to have the php library \GPBMetadata\ProtocGenValidate\Validate\Validate
I solved this for other proto files by just generating them, so I took the same approach here:
$ protoc -I=./include -I=./vendor/github.com/lyft --plugin=protoc-gen-grpc=/go/src/github.com/grpc/bins/opt/grpc_php_plugin --grpc_out=./php/protoc-gen-validate --php_out=./php/protoc-gen-validate /vendor/github.com/lyft/protoc-gen-validate/validate/validate.proto
--php_out: protoc-gen-validate/validate/validate.proto: Can only generate PHP code for proto3 .proto files.
Please add 'syntax = "proto3";' to the top of your .proto file.

This fails because php can only generate files for proto3.

The PHP plugin's contributors plan to eventually add proto2 support, but if we were to ignore that, this would likely require a major breaking change for this project.
We've run into this as well internally with PHP (not just extensions, but also legacy protos) that required us to eschew the official plugin and instead used https://github.com/stanley-cheung/Protobuf-PHP. Certainly not ideal, and there are even more gotchas there...

Does this project plan to eventually upgrade to proto3?
Obviously it could be a breaking change, as most major versions bumps are, but I assume you would want to do it eventually...

There's no strong desire to upgrade the extensions from proto2 to proto3 at the moment. Also, the extensions rely on the descriptors.proto which are defined in proto2 and are core to the entire ecosystem. Wouldn't you run into issues once you reach that level as well?
I'd rather wait for the proto2 syntax to be supported by the official PHP plugin than break current users of this tool.

I wasn't aware that descriptors.proto was still proto2.  You'd obviously have to wait on that to get upgraded to proto3 first, before you think about upgrading this library.  This issue can be tabled til then I suppose.

@rodaine The difference between a regular proto2 syntaxed file and descriptor.proto: generating bindings for descriptor.proto file is explicitly allowed by protoc. https://github.com/protocolbuffers/protobuf/blob/7089ff0ef217e573ab89653d9905f817caeb2afb/src/google/protobuf/compiler/php/php_generator.cc#L2233 😄

@rodaine The difference between a regular proto2 syntaxed file and descriptor.proto: generating bindings for descriptor.proto file is explicitly allowed by protoc. https://github.com/protocolbuffers/protobuf/blob/7089ff0ef217e573ab89653d9905f817caeb2afb/src/google/protobuf/compiler/php/php_generator.cc#L2233 😄

I realise it could be painful for existing projects and is a breaking change, but I have just tried converting validate.proto to proto3 syntax and building it with experimental_allow_proto3_optional flag.
Barring the lack of default values in proto3, everything seems to just work with minimal changes to the protobuf schema.

I realise it could be painful for existing projects and is a breaking change, but I have just tried converting validate.proto to proto3 syntax and building it with experimental_allow_proto3_optional flag.
Barring the lack of default values in proto3, everything seems to just work with minimal changes to the protobuf schema.

Hi, I have encountered this problem lately. The code generated, but generated code is trying to call the following statement.
        \GPBMetadata\Validate\Validate::initOnce();

But, the \GPBMetadata\Validate\Validate is not exists, so I when I call the client, I get error as follows:
Error: Class 'GPBMetadata\Validate\Validate' not found

Is there any work around for this?

Hi, I have encountered this problem lately. The code generated, but generated code is trying to call the following statement.
        \GPBMetadata\Validate\Validate::initOnce();

But, the \GPBMetadata\Validate\Validate is not exists, so I when I call the client, I get error as follows:
Error: Class 'GPBMetadata\Validate\Validate' not found

Is there any work around for this?

@ganchiku There is. You generate stubs for validate/validate.proto as well.

@ganchiku There is. You generate stubs for validate/validate.proto as well.

@rauanmayemir Thank you for your quick response!  I will try to generate the stubs for validate/validate.proto . 🙇

@rauanmayemir Thank you for your quick response!  I will try to generate the stubs for validate/validate.proto . 🙇

@ganchiku Could you tell me how you generate the code?

After hours of poking around, I finally found a brute force solution:
Create an empty file named validate/validate.proto with content:
syntax = "proto3";

package validate;

Then generate the php out and mv the files to the target directory. Then everything is ready.

@acrazing One little thing that will break if someone's depending on it:
  // This applies to regexes HTTP_HEADER_NAME and HTTP_HEADER_VALUE to enable
  // strict header validation.
  // By default, this is true, and HTTP header validations are RFC-compliant.
  // Setting to false will enable a looser validations that only disallows
  // \r\n\0 characters, which can be used to bypass header matching rules.
  optional bool strict = 25 [default = true];

There's no custom default in proto3. Though it doesn't seem very critical.

Now that @bufdev have taken on this project, is there any plan to make it proto 2 and 3 compatible? It would be very useful to be able to use Validate in projects that also have a PHP target, even if we can't generate the validation code and use it.

Thank you for raising this issue related to generating PHP libraries from proto files. Your detailed explanation helps us understand the situation better.
Given your mixed Golang and PHP environment and the specific challenges with generating PHP files from proto2 syntax, we'd like to emphasize that we have no plans to support proto2 in our future developments. We highly recommend considering a migration to protovalidate, which is designed exclusively for proto3 and offers a smoother development experience without code generation.
As a result, I'll be closing this issue. If you have any further questions or concerns, please feel free to reach out.


Fix discussion templates

Pull Request Checklist:

[ ] This PR addresses an already opened issue (for bug fixes / features)

This PR fixes #xyz

[ ] Tests for the changes have been added (for bug fixes / features)

[ ] (If applicable) Documentation has been added / updated (for bug fixes / features)

[ ] CHANGES.rst has been updated (with summary of main changes)

[ ] Link to issue (:issue:number) and pull request (:pull:number) has been added

What kind of change does this PR introduce?

The discussion templates were badly-formed. This hopefully fixes them.

Does this PR introduce a breaking change?
No.
Other information:
https://docs.github.com/en/discussions/managing-discussions-for-your-community/syntax-for-discussion-category-forms

coverage: 90.284% (+0.01%) from 90.273%
when pulling<PHONE_NUMBER>fcb2959d806eb9d1313ab5d59b361d on update-discussions
into 07150a7f80fbe7a660dc09c431245b85a8e42318 on master.


input overlay background did not export

with the guide you've shown me (search all layers containing @2x and quick export them as PNG), with the recent update adding input overlay graphics, inputoverlay-background did not export, because it doesn't exist

In order to preview the inputoverlay-background as it would look in-game, I put it inside its master template, you have to open it to edit the input overlay bg


Add Lint for when querying for zero size structs

So, in a lot of times I end up making components that hold no data, simply to make query filtering easier.
Id be nice to have a lint to detect these fieldless components, and make it so they can only exist as Query Filters?
So the compiler will catch if you do something like
#[derive(component)]
pub struct Thingy;

Query<Thingy>

but what you meant to do was Query<Entity, With<Thingy>>
Since this doesn't return anything useful but is an easy mistake to make?

I like this idea! I'll schedule it for 0.2.0, since it sounds useful for beginners.
Should this lint specifically deny just unit structs, or any type that's zero-sized?

I'm not sure, I only encounter stuff like the situation above so I can't speak on other types.

Only unit structs, because Query<(), With<Thingy>> is useful if you only need to call .contains on the query. This is done when you need to check whether an entity that you already retrieved through other means has a marker component.

Yea I agree then, Query<(), With<Thingy>> is already explicity so it'd be difficult to mistakingly use it.

I can try my hand at this one


Inside a zone shape template, we should be able to access any other zone or subzone shape using its 'path' in the shapes hierarchy

Something as Content.Content.Header

Already done, even in O1. You can always go to Layout and navigate the shapes from there.

Not subzones ? I can't have it working in 01.
Layout.Content.Content.Header is nok

That should work, definitely.


Unable to resolve path to module 'lib/Injector'

This template will not work out of the box.
Building actually works (NODE_ENV=production webpack -p --bail --progress), but if you run the build task (yarn && yarn lint && NODE_ENV=production webpack -p --bail --progress) it will also lint, which throws the following errors:
$ eslint client/src

/vagrant/silverstripe/silverstripe-module/client/src/boot/registerComponents.js
  1:22  error  Unable to resolve path to module 'lib/Injector'  import/no-unresolved
  1:22  error  Missing file extension for "lib/Injector"        import/extensions

✖ 2 problems (2 errors, 0 warnings)

Fixed by #37


New-BcContainer scripts fails when SQL Server 2019 is used as host

Describe the issue
Hello to all,
The following script fails after trying to instanciate a BC container connecting to an extgernal SQL Server Database. It times out after a long waiting time. Once the script errors out, you can see that

The container has been created and is running
The database files have been added to the SQL Server DATA folder
No reference to the container can be found in the host file

I've gone through all suggestions in the follwing thread https://github.com/microsoft/navcontainerhelper/issues/1754, but without success. Was told to post a new issue.
Thanks in advance for any help!
Scripts used to create container and cause the issue
$databaseServer = "<my-machine>"
$databaseInstance = "<my-database-instance>"

$dbSuffix = "BC_17"
$containerName = "MyBCApp-01"
$databaseFolder = "E:\Program Files\Microsoft SQL Server\MSSQL15.$dbSuffix\MSSQL\DATA"
$LicenseFile = "C:\Users\<my-username>\OneDrive - AZUR Group Inc\Projects\Azur\Ventes\Dynamics\Docker\Licenses\LicenseFile.flf"
$artifactUrl = Get-BCArtifactUrl -type Sandbox -version 17.5 -country ca -select latest

$credential = New-Object pscredential 'admin', (ConvertTo-SecureString -String '<my-password>' -AsPlainText -Force)
$dbcredentials = New-Object PSCredential -ArgumentList 'sa', $credential.Password

$databaseParams = @{
    "databaseServer" = "$databaseServer"
    "databaseInstance" = "$databaseInstance"
    "databasePrefix" = "$($containerName)-"
    "databaseName" = '<database_name>'
    "databaseCredential" = $dbcredentials
    "multitenant" = $true
}

New-BcContainer `
    @databaseParams -ReplaceExternalDatabases `
    -accept_eula `
    -containerName $containerName `
    -licenseFile $LicenseFile `
    -artifactUrl $artifactUrl `
    -auth UserPassword `
    -Credential $credential `
    -enableTaskScheduler `
    -alwaysPull `
    -includeAL `
    -usessl:$false `
    -updateHosts `
    -assignPremiumPlan `
    -shortcuts Desktop

Full output of scripts
BcContainerHelper is version 2.0.7
BcContainerHelper is running as administrator
Host is Microsoft Windows 10 Enterprise - 1909
Docker Client Version is 20.10.5
Docker Server Version is 20.10.5
Removing MyBCApp-01 from host hosts file
Removing MyBCApp-01-* from host hosts file
Removing C:\ProgramData\BcContainerHelper\Extensions\MyBCApp-01
Starting Database Restore job from https://bcartifacts.azureedge.net/sandbox/17.5.22499.23364/ca
Fetching all docker images
Fetching all docker volumes
Pulling image mcr.microsoft.com/businesscentral:10.0.18363.1198
10.0.18363.1198: Pulling from businesscentral
Digest: sha256:<redacted>
Status: Image is up to date for mcr.microsoft.com/businesscentral:10.0.18363.1198
mcr.microsoft.com/businesscentral:10.0.18363.1198
Using image mcr.microsoft.com/businesscentral:10.0.18363.1198
Creating Container MyBCApp-01
Version: 17.5.22499.23364-CA
Style: sandbox
Multitenant: Yes
Platform: 17.0.22463.23355
Generic Tag: <IP_ADDRESS>
Container OS Version: 10.0.18363.1198 (1909)
Host OS Version: 10.0.18363.1198 (1909)
Using process isolation
Using locale en-CA
Disabling the standard eventlog dump to container log every 2 seconds (use -dumpEventLog to enable)
Using license file C:\Users\<my-username>\OneDrive - AZUR Group Inc\Projects\Azur\Ventes\Dynamics\Docker\Licenses\D365BCv17.flf
Additional Parameters:
--env customNavSettings=EnableTaskScheduler=True
Files in C:\ProgramData\BcContainerHelper\Extensions\MyBCApp-01\my:
- AdditionalOutput.ps1
- license.flf
- MainLoop.ps1
- SetupDatabase.ps1
- SetupNavUsers.ps1
- SetupVariables.ps1
- updatehosts.ps1
Creating container MyBCApp-01 from image mcr.microsoft.com/businesscentral:10.0.18363.1198
<redacted>
Waiting for container MyBCApp-01 to be ready

Copying Web Client Files
Copying Client Files
Copying ModernDev Files
Copying additional files
Copying ConfigurationPackages
Copying Test Assemblies
Copying Extensions
Copying Applications
Copying Applications.CA
Installation took 24 seconds
Installation complete
Initializing...
Setting host.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting gateway.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting kubernetes.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting host.containerhelper.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Starting Container
Hostname is MyBCApp-01
PublicDnsName is MyBCApp-01
Using NavUserPassword Authentication
PS C:\WINDOWS\system32> C:\Users\<my-username>\AZUR Group Inc\AZUR - Dynamics - Dev - Dev\Scripts\Mounting\New\Tests2.ps1
BcContainerHelper is version 2.0.7
BcContainerHelper is running as administrator
Host is Microsoft Windows 10 Enterprise - 1909
Docker Client Version is 20.10.5
Docker Server Version is 20.10.5
Removing container MyBCApp-01
Removing MyBCApp-01 from host hosts file
Removing MyBCApp-01-* from host hosts file
Removing C:\ProgramData\BcContainerHelper\Extensions\MyBCApp-01
Starting Database Restore job from https://bcartifacts.azureedge.net/sandbox/17.5.22499.23364/ca
Fetching all docker images
Fetching all docker volumes
Pulling image mcr.microsoft.com/businesscentral:10.0.18363.1198
10.0.18363.1198: Pulling from businesscentral
Digest: sha256:<redacted>
Status: Image is up to date for mcr.microsoft.com/businesscentral:10.0.18363.1198
mcr.microsoft.com/businesscentral:10.0.18363.1198
Using image mcr.microsoft.com/businesscentral:10.0.18363.1198
Creating Container MyBCApp-01
Version: 17.5.22499.23364-CA
Style: sandbox
Multitenant: Yes
Platform: 17.0.22463.23355
Generic Tag: <IP_ADDRESS>
Container OS Version: 10.0.18363.1198 (1909)
Host OS Version: 10.0.18363.1198 (1909)
Using process isolation
Using locale en-CA
Disabling the standard eventlog dump to container log every 2 seconds (use -dumpEventLog to enable)
Using license file C:\Users\<my-username>\OneDrive - AZUR Group Inc\Projects\Azur\Ventes\Dynamics\Docker\Licenses\D365BCv17.flf
Additional Parameters:
--env customNavSettings=EnableTaskScheduler=True
Files in C:\ProgramData\BcContainerHelper\Extensions\MyBCApp-01\my:
- AdditionalOutput.ps1
- license.flf
- MainLoop.ps1
- SetupDatabase.ps1
- SetupNavUsers.ps1
- SetupVariables.ps1
- updatehosts.ps1
Creating container MyBCApp-01 from image mcr.microsoft.com/businesscentral:10.0.18363.1198
<redacted>
Waiting for container MyBCApp-01 to be ready

Copying Web Client Files
Copying Client Files
Copying ModernDev Files
Copying additional files
Copying ConfigurationPackages
Copying Test Assemblies
Copying Extensions
Copying Applications
Copying Applications.CA
Installation took 23 seconds
Installation complete
Initializing...
Setting host.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting gateway.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting kubernetes.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting host.containerhelper.internal to <IP_ADDRESS> in container hosts file
Starting Container
Hostname is MyBCApp-01
PublicDnsName is MyBCApp-01
Using NavUserPassword AuthenticationError

Copying Web Client Files
Copying Client Files
Copying ModernDev Files
Copying additional files
Copying ConfigurationPackages
Copying Test Assemblies
Copying Extensions
Copying Applications
Copying Applications.CA
Installation took 23 seconds
Installation complete
Initializing...
Setting host.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting gateway.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting kubernetes.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting host.containerhelper.internal to <IP_ADDRESS> in container hosts file
Starting Container
Hostname is MyBCApp-01
PublicDnsName is MyBCApp-01
Using NavUserPassword Authentication
Initialization of container MyBCApp-01 failed
At C:\Program Files\WindowsPowerShell\Modules\BcContainerHelper\2.0.7\ContainerHandling\Wait-NavContainerReady.ps1:43 char:17
+ ...             throw "Initialization of container $containerName failed" ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (Initialization ...adApp-01 failed:String) [], RuntimeException
    + FullyQualifiedErrorId : Initialization of container MyBCApp-01 failed
...

Could you try to remove the -assignPremiumPlan?

Same error as before unfortunately.

Exactly the same error?
Every time you change something, something might change in the output.
Removing -assignPremiumPlan should remove

SetupNavUsers.ps1
from the list of files in the my folder.

I would need the full output every time.
On my machine, when I run this:
$dbSuffix = "BC_17"
$containerName = "MyBCApp-01"
$LicenseFile = "C:\temp\license.flf"
$artifactUrl = Get-BCArtifactUrl -type Sandbox -version 17.5 -country ca -select latest

$credential = New-Object pscredential 'admin', (ConvertTo-SecureString -String 'P@ssword1' -AsPlainText -Force)
$dbcredentials = New-Object PSCredential -ArgumentList 'sa', $dbPassword

$databaseParams = @{
    "databaseServer" = "host.containerhelper.internal"
    "databaseInstance" = ""
    "databasePrefix" = "$($containerName)-"
    "databaseName" = 'CRONUS'
    "databaseCredential" = $dbcredentials
    "multitenant" = $true
}

New-BcContainer `
    @databaseParams -ReplaceExternalDatabases `
    -accept_eula `
    -containerName $containerName `
    -licenseFile $LicenseFile `
    -artifactUrl $artifactUrl `
    -auth UserPassword `
    -Credential $credential `
    -enableTaskScheduler `
    -alwaysPull `
    -includeAL `
    -usessl:$false `
    -updateHosts `
    -shortcuts Desktop

I get this
BcContainerHelper is version 2.0.8-dev
BcContainerHelper is running as administrator
Host is Microsoft Windows 10 Enterprise - 20H2
Docker Client Version is 20.10.5
Docker Server Version is 20.10.5
Removing container MyBCApp-01
Removing MyBCApp-01 from host hosts file
Removing MyBCApp-01-* from host hosts file
Removing C:\ProgramData\BcContainerHelper\Extensions\MyBCApp-01
Setting database MyBCApp-01-tenant offline
Removing database MyBCApp-01-tenant
Setting database MyBCApp-01-CRONUS offline
Removing database MyBCApp-01-CRONUS
Starting Database Restore job from https://bcartifacts.azureedge.net/sandbox/17.5.22499.23473/ca
Fetching all docker images
Fetching all docker volumes
Pulling image mcr.microsoft.com/businesscentral:10.0.19042.867
10.0.19042.867: Pulling from businesscentral
Digest: sha256:2471a68787c625b4b5243fc5ed3cf3ebc26f42b524ccc1aba18cf994e5906be7
Status: Image is up to date for mcr.microsoft.com/businesscentral:10.0.19042.867
mcr.microsoft.com/businesscentral:10.0.19042.867
Using image mcr.microsoft.com/businesscentral:10.0.19042.867
Creating Container MyBCApp-01
Version: 17.5.22499.23473-CA
Style: sandbox
Multitenant: Yes
Platform: 17.0.22463.23443
Generic Tag: <IP_ADDRESS>
Container OS Version: 10.0.19042.867 (20H2)
Host OS Version: 10.0.19042.867 (20H2)
Using process isolation
Using locale en-CA
Disabling the standard eventlog dump to container log every 2 seconds (use -dumpEventLog to enable)
Using license file C:\temp\license.flf
Additional Parameters:
--env customNavSettings=EnableTaskScheduler=True
Files in C:\ProgramData\BcContainerHelper\Extensions\MyBCApp-01\my:
- AdditionalOutput.ps1
- license.flf
- MainLoop.ps1
- SetupDatabase.ps1
- SetupVariables.ps1
- updatehosts.ps1
Creating container MyBCApp-01 from image mcr.microsoft.com/businesscentral:10.0.19042.867
Using Shared Encryption Key file
8b5e65aee95750a4ebee934faf1c02076c1a82b7eed5eb7966e879df3e4d4fbb
Waiting for container MyBCApp-01 to be ready
Using artifactUrl https://bcartifacts.azureedge.net/sandbox/17.5.22499.23473/ca
Using installer from C:\Run\150-new
Installing Business Central
Installing from artifacts
Starting Local SQL Server
WARNING: Waiting for service 'SQL Server (SQLEXPRESS) (MSSQL$SQLEXPRESS)' to
start...
Starting Internet Information Server
Copying Service Tier Files
Copying PowerShell Scripts
Copying dependencies
Copying ReportBuilder
Importing PowerShell Modules
Skipping restore of Cronus database
Modifying Business Central Service Tier Config File for Docker
Creating Business Central Service Tier
Installing SIP crypto provider: 'C:\Windows\System32\NavSip.dll'
Copying Web Client Files
Copying Client Files
Copying ModernDev Files
Copying additional files
Copying ConfigurationPackages
Copying Test Assemblies
Copying Extensions
Copying Applications
Copying Applications.CA
Installation took 31 seconds
Installation complete
Initializing...
Setting host.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting gateway.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting kubernetes.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting host.containerhelper.internal to <IP_ADDRESS> in container hosts file
Starting Container
Hostname is MyBCApp-01
PublicDnsName is MyBCApp-01
WARNING: DNS resolution not working from within the container.
Using NavUserPassword Authentication
Waiting for database creation to finish..........................................................
Import Encryption Key
Stopping local SQL Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint 27943B50ABB16314C9EC898F99000B7DA0271B1A
Modifying Service Tier Config File with Instance Specific Settings
Modifying Service Tier Config File with settings from environment variable
Setting EnableTaskScheduler to True
Starting Service Tier
Registering event sources
Creating DotNetCore Web Server Instance
Enabling Financials User Experience
Enabling rewrite rule: Don't rewrite system files
Enabling rewrite rule: Already have tenant specified
Enabling rewrite rule: Hostname (without port) to tenant
Using license file 'c:\run\my\license.flf'
Import License
Creating http download site
Container IP Address: <IP_ADDRESS>
Container Hostname  : MyBCApp-01
Container Dns Name  : MyBCApp-01
Web Client          : http://MyBCApp-01/BC/?tenant=default
Dev. Server         : http://MyBCApp-01
Dev. ServerInstance : BC
Dev. Server Tenant  : default
Setting MyBCApp-01 to <IP_ADDRESS> in host hosts file

Files:
http://MyBCApp-01:8080/ALLanguage.vsix

Container Total Physical Memory is 63.8Gb
Container Free Physical Memory is 41.9Gb

Initialization took 114 seconds
Ready for connections!
Reading CustomSettings.config from MyBCApp-01
Creating Desktop Shortcuts for MyBCApp-01
Extracting C:\Applications.CA\Base Application.Source.zip
Creating .net Assembly Reference Folder for VS Code
Copying DLLs from C:\Windows\assembly to assemblyProbingPath
Copying DLLs from C:\Windows\Microsoft.NET\assembly to assemblyProbingPath
Copying DLLs from C:\Program Files\Microsoft Dynamics NAV\170\Service to assemblyProbingPath
Copying DLLs from C:\Program Files (x86)\Microsoft Dynamics NAV\170\RoleTailored Client to assemblyProbingPath
Copying DLLs from C:\Test Assemblies\Mock Assemblies to assemblyProbingPath
Copying DLLs from C:\Program Files (x86)\Open XML SDK to assemblyProbingPath
Creating Tenant default on MyBCApp-01
Copying Database on host.containerhelper.internal from MyBCApp-01-tenant to MyBCApp-01-default
EngineEdition 3
backup database [MyBCApp-01-tenant] to disk = 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\MyBCApp01\MyBCApp-01-tenant.bak' with init, stats=10;
restore database [MyBCApp-01-default] from disk = 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\MyBCApp01\MyBCApp-01-tenant.bak' with stats=10, recovery, move 'Navision_NAV_CA_Data' to 'C:\Program Fil
es\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\MyBCApp01\MyBCApp-01-default.mdf', move 'Navision_NAV_CA_Log' to 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\MyBCApp01\MyBCApp-01-default.ldf'
Mounting Database for default on server host.containerhelper.internal with AllowAppDatabaseWrite = False
Sync'ing Tenant
Setting MyBCApp-01-default to <IP_ADDRESS> in host hosts file
Tenant successfully created
Creating User admin
Assigning Permission Set SUPER to admin
Container MyBCApp-01 successfully created

Use:
Get-BcContainerEventLog -containerName MyBCApp-01 to retrieve a snapshot of the event log from the container
Get-BcContainerDebugInfo -containerName MyBCApp-01 to get debug information about the container
Enter-BcContainer -containerName MyBCApp-01 to open a PowerShell prompt inside the container
Remove-BcContainer -containerName MyBCApp-01 to remove the container again
docker logs MyBCApp-01 to retrieve information about URL's again

Ok, here goes.
$databaseServer = "localhost"
$databaseInstance = "<my-db-instance>"

$dbSuffix = "BC_17"
$containerName = "<container-name>"
$databaseFolder = "E:\Program Files\Microsoft SQL Server\MSSQL15.$dbSuffix\MSSQL\DATA"
$LicenseFile = "C:\Users\<username>\OneDrive - AZUR Group Inc\Projects\Azur\Ventes\Dynamics\Docker\Licenses\D365BCv17.flf"
$artifactUrl = Get-BCArtifactUrl -type Sandbox -version 17.5 -country ca -select latest

$credential = New-Object pscredential 'admin', (ConvertTo-SecureString -String '<password>' -AsPlainText -Force)
$dbcredentials = New-Object PSCredential -ArgumentList 'sa', $credential.Password

$databaseParams = @{
    "databaseServer" = "$databaseServer"
    "databaseInstance" = "$databaseInstance"
    "databasePrefix" = "$($containerName)-"
    "databaseName" = '<copmpany-name>'
    "databaseCredential" = $dbcredentials
    "multitenant" = $true
}

New-BcContainer `
    @databaseParams -ReplaceExternalDatabases `
    -accept_eula `
    -containerName $containerName `
    -licenseFile $LicenseFile `
    -artifactUrl $artifactUrl `
    -auth UserPassword `
    -Credential $credential `
    -enableTaskScheduler `
    -alwaysPull `
    -includeAL `
    -usessl:$false `
    -updateHosts `
    #-assignPremiumPlan `
    -shortcuts Desktop

And here's the result...
BcContainerHelper version 2.0.7
BcContainerHelper is version 2.0.7
BcContainerHelper is running as administrator
Host is Microsoft Windows 10 Enterprise - 1909
Docker Client Version is 20.10.5
Docker Server Version is 20.10.5
Removing <container-name> from host hosts file
Removing <container-name>-01-* from host hosts file
Removing C:\ProgramData\BcContainerHelper\Extensions\<container-name>-01
Downloading application artifact /sandbox/17.5.22499.23473/ca
Downloading C:\Users\<username>\AppData\Local\Temp\fc982ed1-96aa-420a-8128-5398c662eec5.zip
Could not download from https://bcartifacts.azureedge.net/..., retrying from https://bcartifacts.blob.core.windows.net/...
Unpacking application artifact to tmp folder using Expand-Archive
Downloading platform artifact /sandbox/17.5.22499.23473/platform
Downloading C:\Users\<username>\AppData\Local\Temp\3cfbe68b-34e0-4435-897f-3bac3c05afd8.zip
Unpacking platform artifact to tmp folder using Expand-Archive
Downloading Prerequisite Components
Downloading c:\bcartifacts.cache\sandbox\17.5.22499.23473\platform\Prerequisite Components\Open XML SDK 2.5 for Microsoft Office\OpenXMLSDKv25.msi
Downloading c:\bcartifacts.cache\sandbox\17.5.22499.23473\platform\Prerequisite Components\IIS URL Rewrite Module\rewrite_2.0_rtw_x64.msi
Downloading c:\bcartifacts.cache\sandbox\17.5.22499.23473\platform\Prerequisite Components\DotNetCore\DotNetCore.1.0.4_1.1.1-WindowsHosting.exe
Starting Database Restore job from https://bcartifacts.azureedge.net/sandbox/17.5.22499.23473/ca
Fetching all docker images
Fetching all docker volumes
Pulling image mcr.microsoft.com/businesscentral:10.0.18363.1198
10.0.18363.1198: Pulling from businesscentral
Digest: sha256:<redacted>
Status: Image is up to date for mcr.microsoft.com/businesscentral:10.0.18363.1198
mcr.microsoft.com/businesscentral:10.0.18363.1198
Using image mcr.microsoft.com/businesscentral:10.0.18363.1198
Creating Container <container-name>-01
Version: 17.5.22499.23473-CA
Style: sandbox
Multitenant: Yes
Platform: 17.0.22463.23443
Generic Tag: <IP_ADDRESS>
Container OS Version: 10.0.18363.1198 (1909)
Host OS Version: 10.0.18363.1198 (1909)
Using process isolation
Using locale en-CA
Disabling the standard eventlog dump to container log every 2 seconds (use -dumpEventLog to enable)
Using license file C:\Users\<username>\[...]\Projects\Azur\Ventes\Dynamics\Docker\Licenses\D365BCv17.flf
Additional Parameters:
--env customNavSettings=EnableTaskScheduler=True
Files in C:\ProgramData\BcContainerHelper\Extensions\<container-name>-01\my:
- AdditionalOutput.ps1
- license.flf
- MainLoop.ps1
- SetupDatabase.ps1
- SetupVariables.ps1
- updatehosts.ps1
Creating container <container-name>-01 from image mcr.microsoft.com/businesscentral:10.0.18363.1198
<redacted>
Waiting for container <container-name>-01 to be ready
Error

Initialization of container <container-name>-01 failed
At C:\Program Files\WindowsPowerShell\Modules\BcContainerHelper\2.0.7\ContainerHandling\Wait-NavContainerReady.ps1:43 char:17
+ ...             throw "Initialization of container $containerName failed" ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (Initialization ...adApp-01 failed:String) [], RuntimeException
    + FullyQualifiedErrorId : Initialization of container <container-name>-01 failed

This doesn't look like the same error.
In the first output, the failure cam right after the "Using NavUserPassword Authentication"
Hostname is MyBCApp-01
PublicDnsName is MyBCApp-01
Using NavUserPassword Authentication
Initialization of container MyBCApp-01 failed
At C:\Program Files\WindowsPowerShell\Modules\BcContainerHelper\2.0.7\ContainerHandling\Wait-NavContainerReady.ps1:43 char:17

This was fixed by removing the AssignPremiumPlan (btw. you cannot just comment out a part of a multiline command in PowerShell - you do not get the remaining parameters then. In this case that is not the problem though)
In this latest output, it never gets to start the container.
I have never before seen an error just described as
Error

and then nothing else.
My assumption is that this is machine specific and you might need to reset docker to factory defaults.

Ok, I'll try reinstalling Docker and trying again. Will let you know what the result is.
Thanks again.

Saludos,
I'm traying to connect my bcContainer to my local instance of SQLserver using the following script. Using host ip-address as databaseServer because I can not reach the host with the name.
$navPass = ConvertTo-SecureString -String "Ad12345678" -AsPlainText -Force
$navCredential = New-Object System.Management.Automation.PSCredential -argumentList "admin", $navPass

$sqlPass = (ConvertTo-SecureString -String "Navuser1234" -AsPlainText -Force)
$sqlCredential = New-Object System.Management.Automation.PSCredential -argumentList "navuser", $sqlPass

$artifactUrl = Get-BcArtifactUrl -type onprem -country na -version 11.0.23019

$containerName = "HOMS"

New-BCContainer -accept_eula `
                -containerName $containerName `
                -artifactUrl $artifactUrl `
                -auth UserPassword `
                -Credential $navCredential `
                -includecside `
                -shortcuts Desktop `
                -updateHosts `
                -licenseFile 'd:\projects\Dynasoft_2020-2021.flf' `
                -databaseServer <IP_ADDRESS> `
                -databaseInstance MSSQLSERVER `
                -databaseName NAVDB `
                -databaseCredential $sqlCredential

With this result
PS C:\WINDOWS\system32> D:\externalSQL.ps1
BcContainerHelper is version 2.0.7
BcContainerHelper is running as administrator
Host is Microsoft Windows 10 Pro - 20H2
Docker Client Version is 20.10.5
Docker Server Version is 20.10.5
Removing HOMS from host hosts file
Removing HOMS-* from host hosts file
Removing C:\ProgramData\BcContainerHelper\Extensions\HOMS
Fetching all docker images
Fetching all docker volumes
Using image mcr.microsoft.com/businesscentral:10.0.19042.867
Creating Container HOMS
Version: 11.0.23019.0-na
Style: onprem
Multitenant: No
Platform: 11.0.23019.0
Generic Tag: <IP_ADDRESS>
Container OS Version: 10.0.19042.867 (20H2)
Host OS Version: 10.0.19042.867 (20H2)
Using process isolation
Using locale en-US
Disabling the standard eventlog dump to container log every 2 seconds (use -dumpEventLog to enable)
Using license file d:\projects\Dynasoft_2020-2021.flf
Files in C:\ProgramData\BcContainerHelper\Extensions\HOMS\my:
- AdditionalOutput.ps1
- AdditionalSetup.ps1
- license.flf
- MainLoop.ps1
- SetupVariables.ps1
- updatehosts.ps1
Creating container HOMS from image mcr.microsoft.com/businesscentral:10.0.19042.867
6c6e0ce80ac5667117f731e544b83765db6fafb18b62267437fea81da531260c
Waiting for container HOMS to be ready
Using artifactUrl https://bcartifacts.azureedge.net/onprem/11.0.23019.0/na
Using installer from C:\Run\110
Copying Platform Artifacts
Copying Application Artifacts
Copying Installers
Copying ConfigurationPackages
Copying TestToolKit
Copying UpgradeToolKit
Copying Extensions
Installing NAV
Installing Url Rewrite
Installing OpenXML
Installing DotNetCore
Starting Local SQL Server
Starting Internet Information Server
Copying Service Tier Files
Copying Web Client Files
Copying Windows Client Files
Copying PowerShell Scripts
Copying ConfigurationPackages
Copying Test Assemblies
Copying TestToolKit
Copying UpgradeToolKit
Copying Extensions
Copying ClientUserSettings
Copying ReportBuilder
Skipping restore of Cronus database
Installing C:\NAVDVD\Installers\CA.en\RTC\RoleTailoredClient.Local.CA.en.msi
Skipping C:\NAVDVD\Installers\CA.en\WebHelp\WebHelp.Local.CA.en.msi
Installing C:\NAVDVD\Installers\CA.fr\RTC\RoleTailoredClient.Local.CA.fr.msi
Skipping C:\NAVDVD\Installers\CA.fr\WebHelp\WebHelp.Local.CA.fr.msi
Installing C:\NAVDVD\Installers\MX.es\RTC\RoleTailoredClient.Local.MX.es.msi
Skipping C:\NAVDVD\Installers\MX.es\WebHelp\WebHelp.Local.MX.es.msi
Installing C:\NAVDVD\Installers\US.en\RTC\RoleTailoredClient.Local.US.en.msi
Skipping C:\NAVDVD\Installers\US.en\WebHelp\WebHelp.Local.US.en.msi
Modifying NAV Service Tier Config File for Docker
Creating NAV Service Tier
Installing SIP crypto provider: 'C:\Windows\System32\NavSip.dll'
Installation took 34 seconds
Installation complete
Initializing...
Setting host.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting gateway.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting kubernetes.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting host.containerhelper.internal to <IP_ADDRESS> in container hosts file
Starting Container
Hostname is HOMS
PublicDnsName is HOMS
Using NavUserPassword Authentication
Import Encryption Key
Cannot establish a connection to the SQL Server/Database.

This could be due to one of the following reasons:

* SQL Server is not started.
* The database does not exist.
* Proper permissions have not been given to the NAV Server Account.

Try again later or contact your system administrator.
at <ScriptBlock>, C:\Run\SetupDatabase.ps1: line 152
at <ScriptBlock>, C:\Run\navstart.ps1: line 121
at <ScriptBlock>, C:\Run\start.ps1: line 363
at <ScriptBlock>, <No file>: line 1Error
Using artifactUrl https://bcartifacts.azureedge.net/onprem/11.0.23019.0/na
Using installer from C:\Run\110
Copying Platform Artifacts
Copying Application Artifacts
Copying Installers
Copying ConfigurationPackages
Copying TestToolKit
Copying UpgradeToolKit
Copying Extensions
Installing NAV
Installing Url Rewrite
Installing OpenXML
Installing DotNetCore
Starting Local SQL Server
Starting Internet Information Server
Copying Service Tier Files
Copying Web Client Files
Copying Windows Client Files
Copying PowerShell Scripts
Copying ConfigurationPackages
Copying Test Assemblies
Copying TestToolKit
Copying UpgradeToolKit
Copying Extensions
Copying ClientUserSettings
Copying ReportBuilder
Skipping restore of Cronus database
Installing C:\NAVDVD\Installers\CA.en\RTC\RoleTailoredClient.Local.CA.en.msi
Skipping C:\NAVDVD\Installers\CA.en\WebHelp\WebHelp.Local.CA.en.msi
Installing C:\NAVDVD\Installers\CA.fr\RTC\RoleTailoredClient.Local.CA.fr.msi
Skipping C:\NAVDVD\Installers\CA.fr\WebHelp\WebHelp.Local.CA.fr.msi
Installing C:\NAVDVD\Installers\MX.es\RTC\RoleTailoredClient.Local.MX.es.msi
Skipping C:\NAVDVD\Installers\MX.es\WebHelp\WebHelp.Local.MX.es.msi
Installing C:\NAVDVD\Installers\US.en\RTC\RoleTailoredClient.Local.US.en.msi
Skipping C:\NAVDVD\Installers\US.en\WebHelp\WebHelp.Local.US.en.msi
Modifying NAV Service Tier Config File for Docker
Creating NAV Service Tier
Installing SIP crypto provider: 'C:\Windows\System32\NavSip.dll'
Installation took 34 seconds
Installation complete
Initializing...
Setting host.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting gateway.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting kubernetes.docker.internal to <IP_ADDRESS> in container hosts file (copy from host hosts file)
Setting host.containerhelper.internal to <IP_ADDRESS> in container hosts file
Starting Container
Hostname is HOMS
PublicDnsName is HOMS
Using NavUserPassword Authentication
Import Encryption Key
Cannot establish a connection to the SQL Server/Database.

This could be due to one of the following reasons:

* SQL Server is not started.
* The database does not exist.
* Proper permissions have not been given to the NAV Server Account.

Try again later or contact your system administrator.
at <ScriptBlock>, C:\Run\SetupDatabase.ps1: line 152
at <ScriptBlock>, C:\Run\navstart.ps1: line 121
at <ScriptBlock>, C:\Run\start.ps1: line 363
at <ScriptBlock>, <No file>: line 1
Initialization of container HOMS failed
At C:\Program Files\WindowsPowerShell\Modules\BcContainerHelper\2.0.7\ContainerHandling\Wait-NavContainerReady.ps1:43 char:17
+ ...             throw "Initialization of container $containerName failed" ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (Initialization of container HOMS failed:String) [], RuntimeException
    + FullyQualifiedErrorId : Initialization of container HOMS failed

The error form Get-NavContainerEventLog HOMS
Type: Microsoft.Dynamics.Nav.Types.Exceptions.NavCSideException
Remappable: True
ErrorCode: 22924076
ErrorNumber: 52012
ModuleNumber: 93
SuppressMessage: False
ContainsPersonalOrRestrictedInformation: False
DiagnosticsSuppress: False
NavTenantId: nav-systemapplication
MessageWithoutPrivateInformation:
  Cannot establish a connection to the SQL Server/Database.

  This could be due to one of the following reasons:

  * SQL Server is not started.
  * The database does not exist.
  * Proper permissions have not been given to the NAV Server Account.

  Try again later or contact your system administrator.
SuppressExceptionCreatedEvent: False
FatalityScope: None
Message:
  <ii>Cannot establish a connection to the SQL Server/Database.

  This could be due to one of the following reasons:

  * SQL Server is not started.
  * The database does not exist.
  * Proper permissions have not been given to the NAV Server Account.

  Try again later or contact your system administrator.</ii>
StackTrace:
     at Microsoft.Dynamics.Nav.Runtime.NavDatabase.VerifyConnection(Int32 attemptCount)
     at Microsoft.Dynamics.Nav.Runtime.NavTenantCollection.AddSystemTenant(String appDatabaseServerName, String appDatabaseName, String appDatabaseUserName, ProtectedDatabasePassword appDatabasePassword, Boolean verifyConnection, String newEncryptionKey, IDatabasePasswordPublicEncryptionKeyStorage keyStorage, Boolean allowOverwritePublicKey, Boolean verifyServerInstanceKey)
     at Microsoft.Dynamics.Nav.Management.Cmdlets.ImportNavEncryptionKey.HandleEncryptionKeyChangeInApplicationDatabase(String newPublicKey)
     at Microsoft.Dynamics.Nav.Management.Cmdlets.ImportNavEncryptionKey.InternalProcessRecord()
     at Microsoft.Dynamics.Nav.Management.NavCommand.ProcessRecord()
Source: Microsoft.Dynamics.Nav.Ncl
HResult: -2146233088