Tropicraft leaves don't break

Minecraft v1.19.2
Forge v43.2.7
Tropicraft v9.5.1
Many of Tropicraft leaves blocks, such as Palm Leaves, are not chopped down even though they are included in the treechop:leaves_like  tag and igonore_persistant_leaves = false. Their leaves don't seem to despawn on their own either.

Thanks! Also to note, the leaves were directly adjacent to the logs

This should be fixed in 0.18.3, but I haven't tested Tropicraft trees on Minecraft 1.19.2.
Now, if you run into leaves-related issues for other kinds of trees, you might be able to solve them by editing config/treechop.toml, see the section trees.problematicLeavesTrees in treechop-common.toml. The "tropicraft:.*_log(_.*)?" and "tropicraft:.*_leaves(_.*)?" entries tell TreeChop to do more intensive tree detection for Tropicraft logs. I'll add some more documentation for this in the wiki.


Regex problem with "~"

When using regex: true, I receive the following error if my route does not start with ~:
kong-kong-1  | nginx: [error] init_by_lua error: /usr/local/share/lua/5.1/kong/init.lua:650: error parsing declarative config file /opt/kong/kong.yml:
in 'services':

in entry 2 of 'services':
in 'plugins':

in entry 1 of 'plugins':
in 'config':
in 'allow_paths':
- in entry 8 of 'allow_paths': should start with: / (fixed path) or ~/ (regex path)

But if the route contains ~, it doesn't match anything
Even when I put ~/.* , which should match any route, it does not find any matches.

Yes, the paths should start with / or ~/ .

But if the route contains ~, it doesn't match anything

the version of the plugin is ? and your config is ?

try /.* to see if it works
@bpiv400


How to uninstall it.

You can uninstall termux banner by simple remove command in termux. you can apply this command from anywhere in Termux you don't need to go any Directory or Folder.
Just write below command and hit enter.
$ remove
I hope your problem is solved if you are still facing same issue then let me know I will try to help you.


Promote example binary comment to package comment

It's a trivial change, but makes my linter happy by providing a package comment
for the example application.

Happy linter happy life!


Update hci.js

Added the this._deviceId property

Hi @vdharmon,
Similar comment to https://github.com/sandeepmistry/noble/pull/432/files#r71998788 for the bleno patch as well.


Move multi-service detail

@Jann-Skotdal : Thanks for your contribution! The author(s) have been notified to review your proposed change. @swmachan

@swmachan and @erhopf : I am sending you an email about this PR

@erhopf - can you take a look?  (note that ideally a PR of this size with this many changes would be moved to the private repo for validation and staging).

#sign-off
@Jak-MS - I've reviewed the changes. The issue here is that Jann is contracting for MS off-network, so he doesn't have access to the private repo. If there's an easier way for him to make contributions in the future, let me know and we'll adopt that process.

@erhopf: I'm sorry - only the author of this article, @swmachan, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

#sign-off

@erhopf - okay, noted.  @Jann-Skotdal - generally, small changes per PR is fine for the public repo. And in this case, it's okay since there are a number of the same changes across different articles.
Thanks.


TextDocumentSaveReason literals

Testing #12640
Currently: Explicit, Auto, FocusOut
'Explicit' is not very explicit about its meaning, maybe 'Manual' would be?
'FocusOut' is automatic too, maybe 'Auto' should be 'Delay'?

Good suggestions! Thanks.

new names are like this
	/**
	 * Represents reasons why a text document is saved.
	 */
	export enum TextDocumentSaveReason {

		/**
		 * Manually triggered, e.g. by the user pressing save, by starting debugging,
		 * or by an API call.
		 */
		Manual = 1,

		/**
		 * Automatic after a delay.
		 */
		AfterDelay = 2,

		/**
		 * When the editor lost focus.
		 */
		FocusOut = 3
	}


[misc] Run clang-format across whole tree

This is blocking presubmits right now.

LGTM.
Does the CI check look at the entire file or just the diff?

It thought it just checked the patch, but the presubmits for https://github.com/lowRISC/opentitan/pull/920 are failing with changes elsewhere in the tree...

that's weird...my impression was that it checked for patches only as well.
Do we have any thoughts how to solve the clang-format version differences?
I've run into issues before where the CI expectations and my local ones
were different.
On Thu, Nov 7, 2019 at 1:13 PM Garret Kelly<EMAIL_ADDRESS>wrote:

LGTM.
Does the CI check look at the entire file or just the diff?
It thought it just checked the patch, but the presubmits for #920
https://github.com/lowRISC/opentitan/pull/920 are failing with changes
elsewhere in the tree...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/pull/922?email_source=notifications&email_token=AAH2RSVC64S546IUS5KVMS3QSSAH7A5CNFSM4JKMSVU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDN2TWI#issuecomment-551266777,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSXZZDS2NDWR7462JGTQSSAH7ANCNFSM4JKMSVUQ
.

that's weird...my impression was that it checked for patches only as well. Do we have any thoughts how to solve the clang-format version differences? I've run into issues before where the CI expectations and my local ones were different.

Oh, you're right.  I should have read the error message closer.  The error is that clang-format is trying to format a js file in my change. 🙃


Setting custom metadata on events

I'm using Eventstore with Commanded. I want to be able to set custom metadata on an event (the user who created it, etc). Is there anyway to do this?
I've had a bit of a look and it looks like Aggregate.persist_events doesn't pass in any metadata to Mapper.map_to_event_data.
Thanks

Sorry for the late response @davich. You can append metadata with an event to the event store, but it's not currently supported in Commanded.
It's certainly a worthwhile feature to add. So I've opened an issue against the Commanded project for this (#61).

Yeah i would also like to know the best way to save metadata to events … @slashdotdash how are you doing it in your apps, just putting it onto the events directly?


Javascript version

Any chance we can have a JS version of this repo?

found this version. thanks.
https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/javascript?view=azure-devops&tabs=code


Referred vars in a namespace are only available after a (load-file)

To reproduce:

Run lein cljsbuild once in the example project.
Open a REPL in the example project.
Open index.html in a browser.
Switch to the weasel-example.example NS, and evaluate baz.

The referred var will not be available.
Then, run (load-file "weasel_example/example.cljs"), and try to evaluate baz again. The referred var will be available, and its value will be printed.

Technically I would not consider this a bug, but you may wish to preserve pre-existing behavior. You will need to analyze a source directory for these things to be available, :cache-analysis will definitely help here if you want to incur small overheads.

@tomjakubowski FWIW, Ambly exhibits what appears to be similar behavior. You can see this in the README.md instructions for Shrimp (where a require is used in lieu of a load-file to the same effect).
I actually get a WARNING: Use of undeclared Var but with things actually working, unless a require or load-file is first issued. (That's why I said similar behavior. If this is also what you are seeing then it is identical behavior.)
I found that issuing a repl/analyze-source call fixes this, but introduces the challenges I mentioned in #28 where there doesn't appear to be a way to programatically enumerate the source directories that need to be analyzed, and even if it were possible (say by introducing yet another :source-paths), they would need to be in a topological sort reflecting the dependency relation between the source directories.

autogenerated with https://github.com/MalloZup/doghub:  issue inactive since 450 days. Please update the issue or close it


Cherry-picking HMM unit test support for ROCm 4.3

Do not merge PR until approved.

Code looks fine.  This can likely be quickly approved once the merge conflict is resolved.


Stabilize the smoke test on xcp-ng 81/82

While testing #8497 , I found that there are some test failures with xcpng81/xcpng82, but not with xenserver-71

[ ] fix test_guest_os
[ ] fix test_cluster_drs
[ ] fix test_metrics_api
[ ] fix test_non_affinity_group
[ ] fix test_register_userdata
[ ] fix test_vm_deployment_planner

xcpng82

same errors with xcpng81

Most of these errors should happen in <IP_ADDRESS> as well.
ISSUE TYPE

Bug Report

COMPONENT NAME

CLOUDSTACK VERSION

4.19+ debian12 (see #8497)

CONFIGURATION

OS / ENVIRONMENT

xcpng81/xcpng82
SUMMARY

STEPS TO REPRODUCE

EXPECTED RESULTS

ACTUAL RESULTS

same result of the health check PR
https://github.com/apache/cloudstack/pull/7344#issuecomment-1922893919

closing this
cc @DaanHoogland


Mesh.grid seems to result in losing the gRPC connection to MAPDL aaS when a non-trivial number of mixed uP elements are present.

🤓 Before submitting the issue

[X] I have visited the Troubleshooting section.
[X] I have searched among the existing issues.
[X] I am using a Python virtual environment.
[X] I am using the latest version of PyMAPDL and its dependencies (fully updated virtual environment). You can update them using pip install --upgrade --upgrade-strategy eager ansys-mapdl-core in your activated virtual environment.

🔍 Description of the bug
After a solution with mixed uP elements present and after reading the last set of results mapdl.mesh.grid seems to result in a lost connection to the MAPDL aaS instance.
🕵 Steps To Reproduce
from ansys.mapdl.core import launch_mapdl
import matplotlib.pyplot as plt
import pyvista as pv
import math
mapdl = launch_mapdl(port=50056, additional_switches='-smp')
mapdl.clear()

mapdl.units('mpa')
# material
C1 = 0.293
C2 = 0.177
NU1 = 0.49967
D1 = (1-2*NU1)/(C1+C2)

mapdl.prep7()

# 3D 8NODE STRUCTURAL SOLID mixed uP formulation
mapdl.et(1, "SOLID185")
mapdl.keyopt(1, 6, 1)

# mooney-rivlin material model
mapdl.tb("HYPER", 1, 1, 2, "MOONEY")
mapdl.tbdata(1, C1, C2, D1)

mapdl.block(0, 1, 0, 1, 0, 1)

mapdl.esize("", 10)
mapdl.smrtsize("off")
mapdl.type(1)
mapdl.vmesh("ALL")

mapdl.nsel("S", "LOC", "X", 0)
mapdl.d("ALL", "UX")
mapdl.nsel("S", "LOC", "Z", 0)
mapdl.d('all', 'uz', 0)
mapdl.nsel("S", "LOC", "Y", 0)
mapdl.d('ALL', "UY", 0)
mapdl.nsel("ALL")

mapdl.shpp('off')
mapdl.finish()

mapdl.slashsolu()

mapdl.antype("STATIC")
mapdl.nlgeom("ON")
mapdl.time(1)
mapdl.autots('off')
mapdl.nsubst(10)

# apply displacement
mapdl.nsel('s', 'loc', 'y', 1)
mapdl.d('all', "UY", -.1)
mapdl.allsel()
# write results to result file at every sub step
mapdl.outres("", 1)

mapdl.solve()
mapdl.finish()

mapdl.post1()
mapdl.set('last')
mesh1 = mapdl.mesh.grid

# am gathering undeformed and deformed mesh for PyVista plotting so next commands would be
# mapdl.upcoord(1)
# mesh1 = mapdl.mesh.grid
# mapdl.upcoord(-1)

💻 Which Operating System are you using?
Windows
🐍 Which Python version are you using?
3.10
📝 PyMAPDL Report
Show the Report!

# PASTE HERE THE OUTPUT OF `python -c "from ansys.mapdl import core as pymapdl; print(pymapdl.Report())"` here

📝 Installed packages
Show the installed packages!

# PASTE HERE THE OUTPUT OF `python -m pip freeze` here

📝 Logger output file
Show the logger output file.

# PASTE HERE THE CONTENT OF THE LOGGER OUTPUT FILE.

Interestingly, I'm getting segmentation fault:
(.venv_macos) ➜  pymapdl git:(main) ✗ python ./tmp/main.py
[1]    4460 segmentation fault  python ./tmp/main.py

@germa89 the element formulation has an 'internal' node with DOF of pressure.  If you change the esize to 1 and retry, the mesh.grid will work.   Staring at this I am not sure why it does not work at first (1000 elements) but also not sure why it works with 1 element.


A merge layer should be called on a list of inputs

Traceback (most recent call last):
File "example.py", line 50, in
test_my_layer()
File "example.py", line 39, in test_my_layer
b = WeightedAdd()(a)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 590, in call
self.build(input_shapes[0])
File "/usr/local/lib/python2.7/dist-packages/keras/layers/merge.py", line 68, in build
raise ValueError('A merge layer should be called '
ValueError: A merge layer should be called on a list of inputs.
Keras on Tensorflow 1.5

Thank you for your report.
This bug is fixed in the latest release.
If you find it is not, please reopen the issue.

Please can you help me I find the same error when I fine tune Unet architecture.


Farsi Layout

Thanks for this contribution @Youhan ! It's very appreciated.
It's now live as of<EMAIL_ADDRESS>The docs and readme have been updated with the new layout:
https://github.com/hodgef/simple-keyboard-layouts#-supported-layouts
https://franciscohodge.com/projects/simple-keyboard/demo-showcase/languages/farsi/
Cheers,
Francisco Hodge


Compress the trained species classifier model using tensorflow lite

Convert pytorch models to tensorflow lite following: https://github.com/omerferhatt/torch2tflite

Conversion steps:

[x] pytorch to onnx
[x] onnx to tensorflow
[ ] tensorflow to tflite

See 10_tflite_models branch


[WIP] numeric_only support for simple aggs, pandas 2.0 compatibility

Partially implement numeric_only on GroupBy operations, to align the behavior with Pandas.
This PR only includes changes for aggs that are using _single_agg internally. More complicated aggs will have to be handled separately.
Xref https://github.com/dask/dask/issues/9736.
Xref https://github.com/dask/dask/issues/9471.

[ ] Tests added / passed
[x] Passes pre-commit run --all-files

There's one failure left to resolve, dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported fails with sum agg and numeric_only=False with pandas 1.5:
            elif isinstance(dsk, dd.DataFrame):
                assert "DataFrame" in type(result).__name__, type(result)
                assert isinstance(dsk.columns, pd.Index), type(dsk.columns)
                assert type(dsk._meta) == type(result), type(dsk._meta)
                if check_names:
>                   tm.assert_index_equal(dsk.columns, result.columns)
E                   AssertionError: Index are different
E
E                   Index length are different
E                   [left]:  2, Index(['B', 'C'], dtype='object')
E                   [right]: 1, Index(['B'], dtype='object')

../utils.py:494: AssertionError

The test failure is resolved by We need to pass numeric_only to agg function as well..

The last failure with minimal dependencies does not seem to be related... possibly flaky?
FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-min-None] - AssertionError: Attributes of Series are different

Attribute "dtype" are different
[left]:  object
[right]: float64
FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-max-None] - AssertionError: Attributes of Series are different

Attribute "dtype" are different
[left]:  object
[right]: float64

The last failure with minimal dependencies does not seem to be related... possibly flaky?

Hmm I've not seen those before. My guess is they're somehow related to the changes in this PR


develop automated testing

Even basic automated testing would be helpful to start building on. Our current testing is all manual acceptance testing which is time consuming.
Acceptance test helpers and integration tests could be run on a stage box which was connected to a provider. For example, make an outgoing call from each extension to a real number in sequence, answer each one manually, that speeds up part of the acceptance tests greatly.
Integration tests could be run on a stage box against a demo provider.
Unit tests would be valuable, but that seems difficult with our current setup.

pjsua, command-line sip client, probably easier than linphone
http://www.pjsip.org/pjsua.htm
python bindings for pjsip ua api
https://trac.pjsip.org/repos/wiki/Python_SIP/Hello_World

tools to originate call with asterisk:
call files
http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out
manager api dialout
http://www.voip-info.org/wiki/view/Asterisk+manager+dialout
cli originate command
http://www.voip-info.org/wiki/view/Asterisk+cli+originate

This gist shows how to do some things with the manager app and existing config.
It was not a productive start because I was trying to test 911, and that relies on the callerid, which is set elsewhere in the dialplan. But it could provide hints for testing other things.
https://gist.github.com/kra/e9803641fab9f2d014b197037d80e2e6


Add Remix client

This PR adds quirrel/remix
Closes #914

Coverage increased (+3.3%) to 80.361% when pulling 47421f5259bf4799ac73ef8f28f9a737a56a9ab2 on m5r:add-remix-support into 50256ced2493b1ee86db3eeb2cb31c51644f8394 on quirrel-dev:main.

ca ce'st un PR vraiment magnifique 👨🍳
love it! will merge without any change needed :)

@all-contributors please add @m5r for docs, code

Merci Simon! :tada:


Scaling a deployment always sets 'schedulerName' to 'default-scheduler (kubectl 1.5.7, master 1.6.4)

Is this a request for help? (If yes, you should use our troubleshooting guide and community support channels, see http://kubernetes.io/docs/troubleshooting/.):
No
What keywords did you search in Kubernetes issues before filing this one? (If you have found any duplicates, you should instead reply there.):
'schedulerName', 'scale'

Is this a BUG REPORT or FEATURE REQUEST? (choose one):

Kubernetes version (use kubectl version):
$ ./kubectl-1.5.7 version
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.7", GitCommit:"8eb75a5810cba92ccad845ca360cf924f2385881", GitTreeState:"clean", BuildDate:"2017-04-27T10:00:30Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.4", GitCommit:"d6f433224538d4f9ca2f7ae19b252e6fcb66a3ae", GitTreeState:"clean", BuildDate:"2017-05-19T18:33:17Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}

Environment:

Cloud provider or hardware configuration: GKE
OS (e.g. from /etc/os-release): client: darwin and linux(alpine 3.5.2).  Server Debian 7.
Kernel (e.g. uname -a): client darwin 15.6.0 and Debian 3.16.39-1.  Server Debian 3.16.39-1
Install tools: GKE for master.  Curl'ed version of kubectl from GCS
Others:

What happened:
When scaling a replication controller or deployment a using version 1.5.7 of kubectl against a 1.6.4 masterkubectl scale sets the schedulerName attribute of podspec within the controller to 'default-scheduler' regardless of the original value.  All new pods created by the controller have their schedulerName attribute then set to 'default-scheduler'.
What you expected to happen:
The value of 'schedulerName' should not be set to default-scheduler.
How to reproduce it (as minimally and precisely as possible):
Complete example showing the problem:
$ cat deployment.yaml
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      schedulerName: third-party
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80

$ ./kubectl-1.5.7 create -f deployment.yaml
deployment "nginx-deployment" created
$ ./kubectl-1.5.7 get deployment nginx-deployment -o yaml | grep schedulerName
      schedulerName: third-party
$ ./kubectl-1.5.7 scale deployment nginx-deployment --replicas=3
deployment "nginx-deployment" scaled
$ ./kubectl-1.5.7 get deployment nginx-deployment -o yaml | grep schedulerName
      schedulerName: default-scheduler

Anything else we need to know:
The system works as expected if you have a 1.6.4 version of kubectl.  Additionally I would expect other scalable controllers to have this issue; I just tested with deployments and replication controllers.  As seen in my example the system allows you to create a deployment with a schedulerName set to a value of 'third-party' just the patching of the object during the scale operation seems to cause the problem.

Since the already released version of kubectl can't be changed to fix this its just something people will likely have to live with.  I think this adds more weight to the discussion in https://github.com/kubernetes/kubernetes/issues/42392 around highly recommending keeping the major and minor versions of the client and server in sync (or a newer client than server).
What is particularly troubling about this one is that this overwrite happens transparently and involves an operation that may occur frequently in a running cluster.  One old client could easily mess up a cluster that utilizes schedulers other than the default.

Thanks for the bug.  Yes this would require a patch release, which if someone was going to install we would recommend they just upgrade to 1.6 for their cluster.

No problem.  Main reason for the submission was to make sure that if someone else saw this type of behavior at least the issue would be documented.  It may be worth a quick check in the patch code to see if other values being are being or could be overwritten.


Path formatting bug

discovered by Donal on Feb 12th
likely to do with explicit filepaths with forward slash ('/')

Resolved

Was this due to the explicit forward slash or the datetime stamp in the file name ?

Both. Explicit forward slash caused issues on windows -- and I found out that windows also doesn't like ":" in filenames


KeepAlive reverses {children} order.

If I write this:
<KeepAlive name="test">

One

Two

</KeepAlive>

I’d obviously expect to see something like:

One
Two

But the HTML is actually rendered in the reverse:

Two

One

Otherwise this is a great little utility! Thanks for your work on this.

Some system info:
React: v16.12.0
Node: v10.16.0
macOS: v10.15.3

I have this same issue


Create Type Projection for Runbook Activity

Type Projection should include Assigned to user and Assigned to Allow views to be created that show Assigned to me and Unassigned.

Type projection for Assigned to User is complete in branch issue_9.
if any updates to the type projection are needed for Assigned to group will create a new issue and they could be moved to Milestone 2


eMMC stats regression.. ;)

debian@bbb-pwr01-ser09:~$ df -h
Filesystem                      Size  Used Avail Use% Mounted on
udev                            214M     0  214M   0% /dev
tmpfs                            49M  3.5M   45M   8% /run
/dev/mmcblk0p1                   30G  4.7G   24G  17% /
tmpfs                           242M     0  242M   0% /dev/shm
tmpfs                           5.0M  4.0K  5.0M   1% /run/lock
tmpfs                           242M     0  242M   0% /sys/fs/cgroup
<IP_ADDRESS>:/var/www/html/farm  908G  490G  373G  57% /mnt/farm
tmpfs                            49M     0   49M   0% /run/user/1000
debian@bbb-pwr01-ser09:~$ lsblk
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk0      179:0    0 29.8G  0 disk
└─mmcblk0p1  179:1    0 29.8G  0 part /
mmcblk1      179:8    0  1.8G  0 disk
mmcblk1boot0 179:16   0    1M  1 disk
mmcblk1boot1 179:24   0    1M  1 disk

Kinda funny screenshot..

I guess it's time to dive deeper into C++ API vs Linux's Coreutils .
Problem:  /dev/mmc* is giving the wrong size with C++ filesystem

C++ Src - Link
Relies on statvfs

name: armhf build
on:
push:
branches:
- main
env:
BUILD_TYPE: Release
jobs:
armhf:
name: build-armhf
runs-on: ubuntu-latest
steps:
- name: Checkout
  uses: actions/checkout@v2
- name: Install Deps
  run: sudo apt install gcc-8-arm-linux-gnueabihf g++-8-arm-linux-gnueabihf
- name: Build
  id: armhf-artifact-download
  run: |
    cd ${{ github.workspace }}
    mkdir build
    cd build
    cmake ..  -DCMAKE_CXX_COMPILER=$(which arm-linux-gnueabihf-g++-8) \
              -DCMAKE_C_COMPILER=$(which arm-linux-gnueabihf-gcc-8) \
              -DARMHF_DEB=ON
    make -j$(nproc)
    make package
    armhf__filename__=$(echo $(ls ${{steps.armhf-artifact-download.outputs.download-path}} | grep ..armhf.deb) | tr -d '\n')
    version__name__=${armhf__filename__#*-}
    name__=$(echo ${armhf__filename__%-*} | tr -d '\n')
    trailing_=$(git rev-list --count HEAD | tr -d '\n')
    version__=$(echo ${version__name__%-*} | tr -d '\n')
    echo "name__=$name__" >> $GITHUB_ENV
    echo "version__=$version__" >> $GITHUB_ENV
    echo "armhf__filename__=$armhf__filename__" >> $GITHUB_ENV
- name: Create Release
  id: create_release
  uses: actions/create-release@v1
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  with:
      tag_name: ${{ env.version__ }}
      release_name: ${{ env.name__ }}
      draft: false
      prerelease: false
- name: Upload Release Asset
  id: upload-release-asset
  uses: actions/upload-release-asset@v1
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  with:
   # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object,
   # which include a `upload_url`. See this blog post for more info:
   # https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
    upload_url: ${{ steps.create_release.outputs.upload_url }}
    asset_path: ${{ github.workspace }}/build/${{ env.armhf__filename__ }}
    asset_name: ${{ env.armhf__filename__ }}
    asset_content_type: application/vnd.debian.binary-package

name: armhf build
on: push: branches: - main
env: BUILD_TYPE: Release
jobs: armhf: name: build-armhf runs-on: ubuntu-latest
steps:
- name: Checkout
  uses: actions/checkout@v2
- name: Install Deps
  run: sudo apt install gcc-8-arm-linux-gnueabihf g++-8-arm-linux-gnueabihf
- name: Build
  id: armhf-artifact-download
  run: |
    cd ${{ github.workspace }}
    mkdir build
    cd build
    cmake ..  -DCMAKE_CXX_COMPILER=$(which arm-linux-gnueabihf-g++-8) \
              -DCMAKE_C_COMPILER=$(which arm-linux-gnueabihf-gcc-8) \
              -DARMHF_DEB=ON
    make -j$(nproc)
    make package
    armhf__filename__=$(echo $(ls ${{steps.armhf-artifact-download.outputs.download-path}} | grep ..armhf.deb) | tr -d '\n')
    version__name__=${armhf__filename__#*-}
    name__=$(echo ${armhf__filename__%-*} | tr -d '\n')
    trailing_=$(git rev-list --count HEAD | tr -d '\n')
    version__=$(echo ${version__name__%-*} | tr -d '\n')
    echo "name__=$name__" >> $GITHUB_ENV
    echo "version__=$version__" >> $GITHUB_ENV
    echo "armhf__filename__=$armhf__filename__" >> $GITHUB_ENV
- name: Create Release
  id: create_release
  uses: actions/create-release@v1
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  with:
      tag_name: ${{ env.version__ }}
      release_name: ${{ env.name__ }}
      draft: false
      prerelease: false
- name: Upload Release Asset
  id: upload-release-asset
  uses: actions/upload-release-asset@v1
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  with:
   # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object,
   # which include a `upload_url`. See this blog post for more info:
   # https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
    upload_url: ${{ steps.create_release.outputs.upload_url }}
    asset_path: ${{ github.workspace }}/build/${{ env.armhf__filename__ }}
    asset_name: ${{ env.armhf__filename__ }}
    asset_content_type: application/vnd.debian.binary-package

Hello @coderSHeE , could you elaborate what is that you want to convey?


[BUG] Storage > VM Snapshots - parent name

Describe the bug
The parent name in 'Storage > VM Snapshots' is shown as id, instead of human-readable name.
To Reproduce
Steps to reproduce the behavior:

Go to 'Storage > VM Snapshots' and click on a snapshot, which have a parent. Look at the details.

Expected behavior
Parent name must be human-readable, not id.
Screenshots

Old UI:

Desktop (please complete the following information):

OS: Ubuntu 18.04 LTS
Browser: Chrome
Version: 80.0.3987.132 (Official Build) (64-bit)

Additional context
None.

Looking into this, cc @rhtyd

@vladimirpetrov please test and close
Fixed in https://github.com/apache/cloudstack-primate/pull/232

Fix confirmed, closing the issue.


Multi-channel mTRFs ?

Hello,
First of all, thanks for this great initiative.
I am trying to use your library to perform an mTRF analysis, but I am encountering some issues. My understanding is that, it should be able to handle cases where you have multiple features AND multiple channels.
So for example, if I have data where there is only say, one feature and multi-channel brain output say, 5, I should not have an issue to use your library. But I am facing this issue. And I think it is because of the data verification located precisely at lines 50-53. In my case, this fails since I have the following: for every trial, my input has dimension (1,) (only one feature, this would have been (1, N) for N features) and my output has dimension (128,) (for 128 channels, this would have been (128, N) for N features and 128 channels).
Is there any way to make this example work ?
To replicate it, you can use the following sample data:
stimulus = array(
[[-0.04975775],
[-0.04975775],
[-0.04975775],
[-0.04975775],
[-0.04975775]]
)
response = array(
[[ 2.14178848,  1.66653419, -0.46084577, -0.75411433, -1.61435759],
[ 2.21314073,  1.86260605, -0.23229724, -0.75092149, -1.85647023],
[ 2.14174962,  1.98497665, -0.07170469, -0.9689309 , -2.16715288],
[ 1.92276275,  1.92720366, -0.01842625, -1.10627818, -2.35880566],
[ 1.55253088,  1.63285232, -0.05710639, -1.19575059, -2.18979287]]
)
Thank you very much.
P.S. Aside, I know it is a lot of work for you, I also noticed that the docstrings of the function _check_data is not up to date, possibly due some changes in prototypes.

Hi,
Thank you very much for your interest in mTRFpy and providing your feedbacks!
Based on your description, do you mean you got the following message:
"Stimulus and response must have the same number of trials and the same number of samples in each trial!" ?
I just tried the following code based on the sample data you provided, and it works:
oTRF = TRF() oTRF.train(stimulus, response, fs = 2, tmin = 0, tmax = 0.6, regularization = 0.1)
May I ask if you would like to shared the error message you got and the code you tried?
Thank you very much again!
Best,
Jin

Thank you very much for the quick reply.
You got it, that is part of the errors that I am having ("Stimulus and response must have the same number of trials and the same number of samples in each trial!"). But the final error message is this: "Data list is too short".
This is curious because I systematically get the above error, but I am using the crossval function coupled with a TRF model (defined following your basic example in the documentation). Additionally, I am giving it a list of regularization values instead one value.
So I rerun your code, and yes it works without any errors. I went from this to replicate the exact error I have with other parameters of my setting. Two things: I have a sampling frequency of 128, this alone gives to my error above. If I keep a sampling frequency of 2 as in your example, but give a list as the regularization parameter value, it also crashes with the same error.
I am surely missing something. Is the fs parameter not the sampling rate of the data ? Why a list of regularization values does not seem to work ?
Best,
MN

If you pass a list of regularization values, TRF.train will test them and pick the best one. Testing is done via cross-validation, which means that the TRF is trained on one part of your data and evaluated on another.  The problem in your example is that there is only a single trial (i.e. one array) and so there is no way to split the data. You need a list that contains at least two (although at least 10 would be better) trials. You can use numoy.array_split to split an array into equally long segments.
@powerfulbean: The "Data list is too short" warning should be more informative, and we should make it more explicit that an array is a single trial

Hi MN,
Thank you very much for your detailed description. You are right on the 'fs' parameter, it is the sampling rate. I set fs = 2 because I don;t know the sampling rate of the sample array. And following Ole's answer, by default the cross-validation is in leave-one-out mode.
Best,
Jin

If you pass a list of regularization values, TRF.train will test them and pick the best one. Testing is done via cross-validation, which means that the TRF is trained on one part of your data and evaluated on another. The problem in your example is that there is only a single trial (i.e. one array) and so there is no way to split the data. You need a list that contains at least two (although at least 10 would be better) trials. You can use numoy.array_split to split an array into equally long segments. @powerfulbean: The "Data list is too short" warning should be more informative, and we should make it more explicit that an array is a single trial

Agree totally.

Hi Ole, Hi back Jin,
Following Ole's comment and suggestions, I am now able to run my code as desired. Using the np.array_split solves the problem for the error message "Data list is too short".
And thanks Jin for the feedback on the crossvalidation, I am well aware of this problem. So I also tested with different k values, especially 5, and it all works fine. But only if I use the train function and not the crossval one. In the latter, I get the following error message: operands could not be broadcast together with sahpes... The error is located at line 293 of _crossval function from the stats module. My guess is that it is probably only expecting integers or floats and not array for the regularization parameter. I may be wrong though.
Thanks to both of you.
MN

Me again.
Even though using np.array_split does work, I wonder if this is what I actually need. In my initial data example, there is one array arranged along the time axis. So actually each example constitutes the input at one time point. If I use the np.array_split, I wonder if by creating the different "trials" this way does not make me loose the temporality of my initial data down the line when applying crossval. Can you clarify me on this part please ?  If I record a patient in one long block, does this qualify for one trial in your vocabulary ? Or is it something else ?
Thank you very much again

Regarding your first question:
Yes, crossval only takes a scalar value for regularization. If you want to cross-validate while testing out multiple regularization values, you have to use the nested_crossval function. There is a section in the docs explaining why this is necessary.
Regarding your second question:
By trial, we simply mean a unit of data. Trials can be grouped into sets during cross-validation or randomized during permutation, but the data within one trial will never be split or altered in any way. Most studies record data in trials that range from a few seconds to several minutes, so their data will be arranged in trials naturally. However, if you recorded the data in one continuous stream, you may just split the array into trials before analysis. This should not be an issue as long as the mapping between stimulus and response is preserved (i.e. the $n^{th}$ trial in the stimulus list must correspond to the $n^{th}$ trial in the response list) and the segments are not too short (they should be at least a few times longer than the duration of your TRF).  Using numpy.array_split on both response and stimulus will not mess up the order:
import numpy as np
stimulus = np.arange(10,20)
response = np.arange(20, 30)
print(stimulus)
print(response)

stimulus = np.array_split(stimulus, 3)
response = np.array_split(response, 3)
print(stimulus)
print(response)

Following Ole's answer for your first question. The crossval is also different from the train. crossval just accept a single regularization value and call the _crossval a single time, while the train can accept a list of regularization values and call '_crossval'  multiple times  to get result for each regularization value.

Thank you very much to both of you. It is now more clearer in my mind. I appreciate the work and hope that it would be around for long (maintained regularly may be the right phrasing).
P.S. Maybe see you at the upcoming CNSP workshops :+1:

Happy to help and see you at CNSP :)


Encryption not working on release builds

I am facing a critical issue on Android, I am using evervault sdk to encrypt the private key but in the release build encryption is throwing error
“no such algorithm: ECDH for provider BC”

This was found to be as a result of the proguard rules config of the project. The required proguard rules for the Evervault SDK are documented here.


Eternal Earthsiege/Earthstorm Diamond not granting bonus block value for tank sims

Describe the bug
In the paladin and warrior protection sims the 5% block value increas of eternal meta gems is not applied at all. I confirmed in both sims by changing the default austere gem to eternal and confirmed that the conditions are met by checking increase in defense rating in the character stats in the lower left.
To Reproduce
Steps to reproduce the behavior:

Start protection warrior in P1 balance preset or paladin in preraid set.
Note that warrior is equipped with austere meta (Stamina and 2% Armor) and Paladin with eternal meta (def and 5% block value)
Check character stats before meta change.
Change warrior meta to eternal to see defense increase but not block value.
Change paladin meta to austere to see defense decrease, block value stay the same but armor and Stamina increase.

Expected behavior
Block value should be properly increased by 5%.
Sim Links and Screenshots
Since presets are used, this should be fine without screeshots, as it is easily reproducible.
Desktop (please complete the following information):

OS: Win 10
Browser: Chrome
Version 107

This is a display issue, no modifiers apply to the stats shown on the sheet but the effects are present in the sim.

You're right. I didn't check the results. Thanks for the quick reply. Case can be closed if you like, or maybe the display issue could be fixed and tracked here. I don't mind since i know now.

With some recent core changes we can now surface pseudostats in the UI. Fixed the visual bug!


docs: delete Homebrew-linuxbrew-core-Maintainer-Guide.md

In e1120549e58dfeb088bcda85897c30e87128229b this file was emptied,
but should have been deleted instead.
Nothing references this file anymore

[ ] Have you followed the guidelines in our Contributing document?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same change?
[ ] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

Review period will end on 2022-08-02 at 00:00:00 UTC.

Review period skipped due to critical label.

Thanks for this @iMichka!


autolink for email doesn't work with underscores

Currently
<EMAIL_ADDRESS>will autolink to<EMAIL_ADDRESS>Also this is when escaping markdown of course, so<EMAIL_ADDRESS>any thoughts?

Emphasis underscores should only activate if they are next to a space, and not in_the_middle of a word. This bug goes back a long time!

(looks like github flavored markdown doesn't have that problem)

+1

+1


Latest version breaks with unplugin-vue-components

Describe the bug
Recently upgraded to 0.17.1 and now get
[unplugin-icons] Could not load ~icons/mdi/light-chevron-right (imported by assets/layouts/default.vue?vue&type=script&setup=true&lang.ts): Icon `mdi/light-chevron-right` not found
error during build:
Error: Could not load ~icons/mdi/light-chevron-right (imported by assets/layouts/default.vue?vue&type=script&setup=true&lang.ts): Icon `mdi/light-chevron-right` not found
    at generateComponent (/Users/amirraminfar/Workspace/dozzle/node_modules/.pnpm/unplugin-icons@0.17.1_@vue+compiler-sfc@3.3.6/node_modules/unplugin-icons/dist/chunk-ACYGWCJ6.cjs:337:11)
    at async Object.load (/Users/amirraminfar/Workspace/dozzle/node_modules/.pnpm/unplugin-icons@0.17.1_@vue+compiler-sfc@3.3.6/node_modules/unplugin-icons/dist/chunk-ACYGWCJ6.cjs:394:20)
    at async PluginDriver.hookFirstAndGetPlugin (file:///Users/amirraminfar/Workspace/dozzle/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:25444:28)
    at async file:///Users/amirraminfar/Workspace/dozzle/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:24611:75
    at async Queue.work (file:///Users/amirraminfar/Workspace/dozzle/node_modules/.pnpm/rollup@3.29.4/node_modules/rollup/dist/es/shared/node-entry.js:25654:32)

My config:
import path from "path";
import { defineConfig } from "vite";
import Vue from "@vitejs/plugin-vue";
import VueMacros from "unplugin-vue-macros/vite";
import Icons from "unplugin-icons/vite";
import Components from "unplugin-vue-components/vite";
import AutoImport from "unplugin-auto-import/vite";
import IconsResolver from "unplugin-icons/resolver";
import Pages from "vite-plugin-pages";
import Layouts from "vite-plugin-vue-layouts";
import VueI18nPlugin from "@intlify/unplugin-vue-i18n/vite";

export default defineConfig(() => ({
  resolve: {
    alias: {
      "@/": `${path.resolve(__dirname, "assets")}/`,
    },
  },
  build: {
    manifest: true,
    rollupOptions: {
      input: "assets/main.ts",
    },
    modulePreload: {
      polyfill: false,
    },
  },
  plugins: [
    VueMacros({
      plugins: {
        vue: Vue(),
      },
    }),
    Icons({
      autoInstall: true,
    }),
    Pages({
      dirs: "assets/pages",
      importMode: "sync",
    }),
    Layouts({
      layoutsDirs: "assets/layouts",
    }),
    Components({
      dirs: ["assets/components"],
      resolvers: [
        IconsResolver({
          componentPrefix: "",
        }),
      ],

      dts: "assets/components.d.ts",
    }),
    AutoImport({
      imports: ["vue", "vue-router", "vue-i18n", "vue/macros", "pinia", "@vueuse/head", "@vueuse/core"],
      dts: "assets/auto-imports.d.ts",
      dirs: ["assets/composables", "assets/stores", "assets/utils"],
      vueTemplate: true,
    }),
    VueI18nPlugin({ ... }),
  ],
}));

I did not create a reproducible env since version 0.17.0 does not have this problem.
Reproduction
Did not create one
System Info
System:
    OS: macOS 13.6
    CPU: (10) arm64 Apple M1 Max
    Memory: 8.04 GB / 64.00 GB
    Shell: 3.6.1 - /Users/amirraminfar/homebrew/bin/fish
  Binaries:
    Node: 21.0.0 - ~/Library/Caches/fnm_multishells/18037_1697825440073/bin/node
    npm: 10.2.0 - ~/Library/Caches/fnm_multishells/18037_1697825440073/bin/npm
    pnpm: 8.9.2 - ~/.n/bin/pnpm
  Browsers:
    Chrome: 118.0.5993.88
    Safari: 17.0

Used Package Manager
pnpm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

Looks like components.d.ts is no longer generated correctly.
diff --git a/assets/components.d.ts b/assets/components.d.ts
index e83dc2aa..852b1547 100644
--- a/assets/components.d.ts
+++ b/assets/components.d.ts
@@ -8,17 +8,8 @@ export {}
 declare module 'vue' {
   export interface GlobalComponents {
     BarChart: typeof import('./components/BarChart.vue')['default']
-    'Carbon:caretDown': typeof import('~icons/carbon/caret-down')['default']
-    'Carbon:circleSolid': typeof import('~icons/carbon/circle-solid')['default']
     'Carbon:information': typeof import('~icons/carbon/information')['default']
-    'Carbon:macShift': typeof import('~icons/carbon/mac-shift')['default']
-    'Carbon:star': typeof import('~icons/carbon/star')['default']
-    'Carbon:starFilled': typeof import('~icons/carbon/star-filled')['default']
     'Carbon:warning': typeof import('~icons/carbon/warning')['default']
-    'Cil:checkCircle': typeof import('~icons/cil/check-circle')['default']
-    'Cil:circle': typeof import('~icons/cil/circle')['default']
-    'Cil:columns': typeof import('~icons/cil/columns')['default']
-    'Cil:xCircle': typeof import('~icons/cil/x-circle')['default']
     ComplexLogItem: typeof import('./components/LogViewer/ComplexLogItem.vue')['default']
     ContainerHealth: typeof import('./components/LogViewer/ContainerHealth.vue')['default']
     ContainerPopup: typeof import('./components/LogViewer/ContainerPopup.vue')['default']
@@ -31,8 +22,6 @@ declare module 'vue' {
     Dropdown: typeof import('./components/common/Dropdown.vue')['default']
     FieldList: typeof import('./components/LogViewer/FieldList.vue')['default']
     FuzzySearchModal: typeof import('./components/FuzzySearchModal.vue')['default']
-    'Ic:sharpFindInPage': typeof import('~icons/ic/sharp-find-in-page')['default']
-    'Ic:sharpKeyboardReturn': typeof import('~icons/ic/sharp-keyboard-return')['default']
     InfiniteLoader: typeof import('./components/InfiniteLoader.vue')['default']
     KeyShortcut: typeof import('./components/common/KeyShortcut.vue')['default']
     LogActionsToolbar: typeof import('./components/LogViewer/LogActionsToolbar.vue')['default']

Are you using mdi and mdi-light collections? How are you using the icons?

I am using mdi like <mdi:light-chevron-left  />. Has something else changed from 0.17.0 --> 0.17.1 that can break this?

Check last merged pr

What collections do you have installed? There is a chevron-left in both mdi and mdi-light IIRC, maybe you only have mdi-light collection installed? If so you only need to replace it with <mdi-light:chevron-left />, my pr just fix a bug.

This used to work before the patch. I tested by reverting. So I don't think it's something on my side.

I Will try to send a patch tomorrow, your icon works in previous version due to a bug parsing the tag, that icon doesnt exist in the mdi collection.

Hi @userquin you maybe right. I don't see light-chevron-left anymore on https://icon-sets.iconify.design/?query=light-chevron-left. Which is weird because it was there before. But I find it weird that it used to work and stopped working. If I revert, it works again. Perhaps it's a change with other deps.

It seems like all light-* icons have been removed. Not sure why. Feel free to close this. I am not sure why previous ever worked.

@amir20 yeah, it seems the light variants moved to mdi-light collection...

light- icons never existed in mdi set. mdi:light-chevron-left never existed. mdi-light:chevron-left though did exist.
I don't know why your code worked before, probably there was a bug in resolving icon sets.

@cyberalien there was a bug resolving icon compone t, check this pr https://github.com/unplugin/unplugin-icons/pull/316 and linked issue


[Question] Does it support the combination of hubert-large + linear-projector + tinyllama

Motivation
Try to replicate your experiments in the paper. Due to resource constrain, I'd like to start from the combination hubert-large + linear project + tiny-llama-1.1b-chat.
Error
I revised the examples/librispeech_asr/scripts/finetune_hubert_xtralarge_linear_vicuna_7b.sh,  specifying speech_encoder with hubert_large and llm with tiny-llama-chat respectively, and changed as well the encoder dim accordingly.
Unfortunately, when training, an error arises as follows:

In the slam_llm/models/slam_model.py, it seems that the length of modality_mask (i.e. audio_length) is shorter than the encoder outputs.
I only change the speech encoder here, so such an error shouldn't occur.
From my understanding, the hubert-large and hubert-xtralarge share the same subsampling rate, so this change shouldn't affect the training.
Question
Does the examples/librispeech_asr support the combination mentioned above? Thanks a lot!

Hi, thanks for pointing out this issue. Yes, we do support above combination.
Please modify the slam_model.py or checkout our latest code of slam_model.py
`        if modality_mask is not None:
modality_unmask_start_indices = (modality_mask == True).float().argmax(dim=1)
modality_lengths = torch.clamp(modality_mask.sum(dim=1), max=encoder_outs.shape[1]).tolist()
        encoder_outs_pad = torch.zeros_like(inputs_embeds)
        for i in range(encoder_outs.shape[0]):
            encoder_outs_pad[
                i, modality_unmask_start_indices[i] : modality_unmask_start_indices[i] + modality_lengths[i]
            ] = encoder_outs[i][:modality_lengths[i]]

        inputs_embeds = encoder_outs_pad + inputs_embeds * (~modality_mask[:, :, None])

`

Hi, thanks for pointing out this issue. Yes, we do support above combination. Please modify the slam_model.py or checkout our latest code of slam_model.py (we will fix this in main branch soon).
        if modality_mask is not None:
            modality_unmask_start_indices = (modality_mask == True).float().argmax(dim=1)
            modality_lengths = torch.clamp(modality_mask.sum(dim=1), max=encoder_outs.shape[1]).tolist()

            encoder_outs_pad = torch.zeros_like(inputs_embeds)
            for i in range(encoder_outs.shape[0]):
                encoder_outs_pad[
                    i, modality_unmask_start_indices[i] : modality_unmask_start_indices[i] + modality_lengths[i]
                ] = encoder_outs[i][:modality_lengths[i]]

            inputs_embeds = encoder_outs_pad + inputs_embeds * (~modality_mask[:, :, None])

Problem solved, respect and thanks a lot!


Auto focus search

This enhancement auto-focuses the search bar on load. This was helpful for me as setting a "homepage" as the start page in the browser (at least in Safari) disables the auto-focusing of the address bar. This still allows immediate searching without having to click the address bar or use a keyboard shortcut.

Hi,
first of all: thank you very much for this (and your two other commits).
While all of this looks good to me, I'll hold off on merging this just now as I'd personally like to make this a user-configurable option (just like themes, for example).
I'll have a look at this once I'm free to mess around with the code of this some more myself.
Kind regards

Ah, of course. That makes sense! I can certainly take a look at that as well and append it to this PR. Would you want it to take the same approach as the themes, as in saving it in localStorage? Or perhaps a new settings.json file instead (where further enhancements can be added as well)?
If we go with the localStorage option, we might want to consider moving everything (which is just theme and this new feature currently) to one key/value pair so all of the settings for this app are in one spot.

I went ahead with adding a boolean in search.json. Seemed to be the easiest at this point. Either of the other methods would be a larger undertaking, so I figured I'd get this into a configurable state to get it closed and then the ideas of moving to one key/value pair or an overall settings.json file could be had elsewhere.

Hi!
Sorry for keeping this unattended for so long. I've thought about this some more recently and figured that your key-value-pair approach in search.json should be fine and I just overthought this.
I've gone ahead and implemented this feature. Adding "autoFocus": true to search.json now turns on autofocus.
Kind regards
Bastian


ISPN-9959 Build with JDK 11 by default

https://issues.jboss.org/browse/ISPN-9959

ISPN-9959 Build with JDK 11 by default

https://issues.jboss.org/browse/ISPN-9960

ISPN-9960 JavaDoc clean-ups

@tristantarrant The PR builds no problem locally, but the mockito upgrade has broken some tests in org.infinispan.notifications.cachelistener.

I have fixed all broken tests (I think). Only the ALPN test is failing, and I'll create a special Jira for that.

CI run is good ! Will now create a backport


Implement Breadth-First Search (BFS) in C

Issue Details
Algorithm/Data Structure: Breadth-First Search (BFS)
Programming Language: C
Difficulty: ⭐⭐★★★
Requirements

Implement the BFS algorithm in C.
Ensure that your code is well-documented and easy to understand, especially for beginners.
Test your implementation with sample graphs to verify its correctness.

Additional Information
If you are new to BFS or need guidance on implementing it in C, feel free to ask questions or seek help in the comments. This is a great opportunity for beginners to contribute to an open-source project and learn about graph algorithms in C.
Note: Before starting to work on this issue, please comment below to express your interest and let us know if you have any questions or need clarification on the task.

Can you kindly assign me this open issue?
Thanks

Yeah @MoBanerjee, I've assigned the issue to you. If need any help do ask here. You can start working on this issue now.


MINOR: Move a few methods from the ZKUtils class to the companion object

They don't require access to ZkClient.
Also include a few obvious clean-ups in ZKUtils:

Remove redundant rethrows and braces
Use named arguments for booleans

Review by @junrao

would be good if @junrao takes a look too, but it seems like a straightforward refactoring so LGTM.
Love the cleanup, as always :)

Thanks for the review Gwen, since this is simply moving methods around (like you said), I don't think we need to wait for Jun. Will merge to trunk.


Workable (Independent Publisher)

When submitting a connector, please make sure that you follow the requirements below, otherwise your PR might be rejected. We want to make you have a well-built connector, a smooth certification experience, and your users are happy :)
If this is your first time submitting to GitHub and you need some help, please sign up for this session.

[x] I attest that the connector doesn't exist on the Power Platform today. I've verified by checking the pull requests in GitHub and by searching for the connector on the platform or in the documentation.
[x] I attest that the connector works and I verified by deploying and testing all the operations.
[x] I attest that I have added detailed descriptions for all operations and parameters in the swagger file.
[x] I attest that I have added response schemas to my actions, unless the response schema is dynamic.
[x] I validated the swagger file, apiDefinition.swagger.json, by running paconn validate command.
[x] If this is a certified connector, I confirm that apiProperties.json has a valid brand color and doesn't use an invalid brand color, #007ee5 or #ffffff. If this is an independent publisher connector, I confirm that I am not submitting a connector icon.

If you are an Independent Publisher, you must also attest to the following to ensure a smooth publishing process:

[x] I have named this PR after the pattern of "Connector Name (Independent Publisher)" ex: HubSpot Marketing (Independent Publisher)
[x] Within this PR markdown file, I have pasted screenshots that show: 3 unique operations (actions/triggers) working within a Flow. This can be in one flow or part of multiple flows. For each one of those flows, I have pasted in screenshots of the Flow succeeding.
[x] Within this PR markdown file, I have pasted in a screenshot from the Test operations section within the Custom Connector UI.
[x] If the connector uses OAuth, I have provided detailed steps on how to create an app in the readme.md.

done
From: Amjed Ayoub @.>
Sent: Tuesday, November 29, 2022 12:49 AM
To: microsoft/PowerPlatformConnectors @.>
Cc: David Kjell @.>; Mention @.>
Subject: Re: [microsoft/PowerPlatformConnectors] Workable (Independent Publisher) (PR #2172)
@Amjed-Ayoub requested changes on this pull request.

In independent-publisher-connectors/Workable/settings.jsonhttps://github.com/microsoft/PowerPlatformConnectors/pull/2172#discussion_r1034164825:

@@ -0,0 +1,9 @@

+{

"connectorId": "shared_workable-5f4c0b1d44968dd354-5fb23ccf32fe974138",

@DavidBreathehttps://github.com/DavidBreathe settings.json file is not required from IP connectors. please remove this file.
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/PowerPlatformConnectors/pull/2172#pullrequestreview-1196706727, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVGCOBYDHSLDBRQE4JLS2ZTWKVAHJANCNFSM6AAAAAASLHMZHM.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

[[certify-connector]]

Hello @DavidBreathe,
I hope you are doing well.
Congratulations, your pull request is approved. We will move forward with the certification process. We are preparing your connector for production deployment and will queue up for the next deployment schedule. Once your connector onboards the next deployment schedule, it starts to deploy your connector in our production environments that typically takes 3-4 weeks.
Please let us know if you have any questions.
Thank you very much for working with us.

Hello @DavidBreathe,
I hope you are doing well.
Your connector is in production deployment and queued up for the next deployment schedule. This process typically takes 3-4 weeks. Please note that the documentation for your connector will not be generated until the deployment process is in the final steps.
Please let us know if you have any questions.
Thank you very much for working with us.

@DavidBreathe
Congratulations! The deployment of your connector and documentation page is now complete, We have a short survey on the connector certification process that we would like for you to complete. Your feedback is appreciated and will help us improve the program, Thanks.


Language selection

Is there any possibility to select default language for auto-completing in this package end?
My MongoDB app results in error because of mixture of language in text search functionality.

well you can add the language you need in the url call as a parameter. ex:
https://maps.googleapis.com/maps/api/js?libraries=places&language=en
here you have the list of languages
With this you can search in your language but results are going to come in the one you choose. "nueva york" is going to suggest "New york" to the user and api also is going to return that.

create a options object
then use it in your directive init
 $scope.options = {
      componentRestrictions: { country: 'nl' },
      //types: ['geocode']
      types: [$scope.type]
}

 <input type="text"
                   g-places-autocomplete
                   **options="options"**
                   force-selection="true"
                   ng-model="place"
                   placeholder="Zoek op plaats, postcode">


updating for the 2018 competition

skink won't compete in concurrency in 2018 but will add arrays, floats, recursive and heaps (all reach-safety).

please ignore, new pull request incomming


Makinkg swyh a service

I am going to use swyh as audio streaming service at home onboard of allwiner-based OrangePI Zero 2 device.
For this, I updated CLI version to accept its configuration directly as file, change configuration reading to accept defaults and changed some of its types to be more rust-styled Options.
Added module for NixOS, so you can fully configure swyh-rs as several services in couple of lines:
    services.swyh = {
        my-default-swyh = {
            auto_resume = true;
            ssdp_interval_mins = 1.5;
        };
        extra-swyh = {
            server_port = 5902;
            sound_source = 2;
        };
    };

Question (without looking at the changes in detail): what happens if you apply these changes and start swyh-rs and swyh-rs-cli with their existing configurations? Does it work as before and the config files get silently "upgraded" (as has been the case for almost every release) ?

I'm hoping nothing will break and the new version will work well with previous and older configurations.
The best way - is to perform migration test (e.g. using nixosTest framework, see my nix-test branch), but I failed to find a way to simulate an input audio device with qemu.

As there were too many conflicts to merge directly I cherrypicked your commits into my main branch (with a few minor changes).
I may have messed up the nix files, so you'd better check those, as I am not into nix myself (it didn't work out of the box on Ubuntu 22.04 without messing with groups and permissions and I couldn't be bothered).
I put the local-ip-address crate behind a feature of the CLI, so that the GUI (most users) is not affected.
I also removed some old cruft (the old ini file and old config folder migration code) from the configuration.
I intend to release 1.10.0 shortly.
The code, both gui and cli, behave as desired and nothing seems to break, thanks for the excellent work!

I did a simple sudo apt install as you suggested earlier and got "socket permission" errors. I suppose that the standard package install resulted in a multi-user setup that caused the problems.
I will follow your advice and install the single-user setup from here, and try again after you have looked at my nix files.
Thanks!

A question: why the change
    let mut audio_output_device =
        get_default_audio_output_device().expect("No default audio device");

into
    let mut audio_output_device_opt = get_default_audio_output_device();

Are there situations where there is no default audio device?

Of course. The device without built-in audio input device, but with plugged-in usb. Just like orpi zero2 in my pcm-chromecast project.

Of course

A single comment line would have been useful then, unless you think everyone uses your set-up.
I'll change it to your code.

A single comment line would have been useful then

Yes, you right, I missed that.

I put the local-ip-address crate behind a feature of the CLI

I think, it is bad approach to have different implementations for same funcional without real reason. But I don't insist.

The Google DNS connection is in there because on Windows 10 with Hyper-V or multi-homed the Windows API tends to return a wrong default local network, so I'm leaving that in for the GUI. For the CLI it doesn't matter that much.

I suppose this is now obsolete, so I'm closing it.


I am working with an image which has a table inside it. Is there a way, I can extract the table using this module into a dataframe?

Hello,
Everything is explained in the README/documentation.


core: add a lock around mavlink communication

This adds a lock to receive and send mavlink messages. This can be used
by a plugin to lockdown DroneCore.
The lock is disabled by default, so this change should not have any
effects apart from a few more CPU cycles.

Coverage remained the same at 48.634% when pulling 9112f2f5c8dbd7baa5e81bdc1ef77d44e8488b0d on add-lock into 97d98b92a3f913308497f0e8ab4e9f61e742ddd5 on develop.

@julianoes Any examples/guidance on how/when this should used? Ie when should you do this? When is it a risk not to do this/to do this. What do you need to #include?
Basically what would you need to know if you were a brand new developer coming to the project?

@julianoes Any examples/guidance on how/when this should used? Ie when should you do this? When is it a risk not to do this/to do this. What do you need to #include?

You should use that if you want to restrict access to the SDK in any way. You don't need to #include anything, you just call _parent->lock_communication() in a plugin to use it.

Basically what would you need to know if you were a brand new developer coming to the project?

I don't think you need to worry about it as a new developer, you can just ignore it as an unused functionality. Does that make sense, or should I document that?

@julianoes Any examples/guidance on how/when this should used? Ie when should you do this? When is it a risk not to do this/to do this. What do you need to #include?

You should use that if you want to restrict access to the SDK in any way. You don't need to #include anything, you just call _parent->lock_communication() in a plugin to use it.

Basically what would you need to know if you were a brand new developer coming to the project?

I don't think you need to worry about it as a new developer, you can just ignore it as an unused functionality. Does that make sense, or should I document that?

If this is not used by anything then it shouldn't exist :-). I suspect that is not the case. I would document this in the "as yet to be written" Plugin guide. However I don't understand what you mean by "restrict access to the SDK". We will need to provide a couple of real word examples.

@hamishwillee: it is not used in this repository's tree but it can be used by plugins added externally.
We need this functionality to lockdown any mavlink communication until the SDK is enabled/verified.

Coverage remained the same at 48.634% when pulling aa7703d11676e2899637ced11eefbaedd1007cd4 on add-lock into 694b0a97598403f2347335ec5f6a5d78f732173c on develop.

@hamishwillee: it is not used in this repository's tree but it can be used by plugins added externally.
We need this functionality to lockdown any mavlink communication until the SDK is enabled/verified.

Nope, still means nothing to me. What is this  SDK you are talking about? How can you lock down mavlink comms using this - they can just choose not to use it.???

Nope, still means nothing to me. What is this SDK you are talking about? How can you lock down mavlink comms using this - they can just choose not to use it.???

The SDK I am talking about is the Yuneec SDK which is built on top of DroneCore. If (as by default) this API is not used, everything works as expected and mavlink comms are enabled.
If however, the Yuneec SDK decides it does not want that and instead wants to lockdown the mavlink communication (for whatever reason) it can do it using this API.

Coverage remained the same at 55.131% when pulling 58e56e455b5a058c546f5c6603df34e780127081 on add-lock into 09053c3fd6e8e1b5e96d1b35e3950c71c25f4518 on develop.

@julianoes Thanks for the clarification. So why/when do Yuneec use this? FMI only, would help me understand one real use case.

@hamishwillee The Yuneec SDK needs to be activated by the developer using an app key.

Thanks for clarification.

I don't think you need to worry about it as a new developer, you can just ignore it as an unused functionality. Does that make sense, or should I document that?

IMO this has been created to address a use case - locking down API access for commercial SDKs. Other vendors are likely to want to do the same thing (right?). So we should document it.
I might change the docs to say.

// These methods lock and unlock all MAVLink communication.
// The methods are not used internally. They are provided to allow vendors to provide controlled access to commercial SDKs.

Ideally we would have a specific doc in the DroneCore guide called SDK Developer Guide that covers this sort of thing.

@Sushma7785 @mrpollo  Do you guys plan on reviewing this? It requires approval.

already reviewed and approved.

Rebased...

Coverage remained the same at 55.131% when pulling 6b5c915dcfed97a7c418b633c627c9d38cc900a4 on add-lock into 50a09fce5e17208280472a48e55c7505bf4ce952 on develop.

@julianoes please rebase and merge!

Coverage decreased (-0.09%) to 17.476% when pulling c8881ec660d517492be41c96333828b3be5327e9 on add-lock into 6f1c940b6d1af2b0ad6dbbdbf34b67d106abacd3 on develop.


AppIcon not setting

Hi there,
I've spent a fair amount of time looking into this and putting this report in as a last resort.
I've been trying in vain to set the application Icon for our WIP app. I've tried many variations and settings and spent time researching potential options but have so far been unable to resolve this problem.
Firstly, here's my package.json
{
  "name": "<APP_NAME>",
  "productName": "<APP_NAME>",
  "version": "1.1.7",
  "author": "paulschneider",
  "description": "<APP_DESCRIPTION>",
  "main": "src/index.js",
  "scripts": {
    "start": "electron-forge start",
    "package": "electron-forge package",
    "make": "electron-forge make",
    "lint": "eslint src",
    "rebuild": "electron-rebuild -f -w sqlite3",
    "preinstall": "npm install<EMAIL_ADDRESS>--build-from-source --runtime=electron --target=1.7.5 --dist-url=https://atom.io/download/electron"
  },
  "keywords": [],
  "license": "MIT",
  "config": {
    "forge": {
      "make_targets": {
        "win32": [
          "squirrel"
        ],
        "darwin": [
          "dmg"
        ],
        "linux": [
          "deb",
          "rpm"
        ]
      },
      "electronPackagerConfig": {
        "win32metadata":{
          "ProductName": "<APP_NAME>",
          "CompanyName": "<APP_NAME>"
        }
      },
      "electronWinstallerConfig": {
        "name": "icontv",
        "iconUrl": "<REMOTE_ASSET_PATH>",
        "setupIcon": "assets/icons/win/icon.ico",
        "loadingGif": "",
        "setupExe": "Setup.exe"
      },
      "electronInstallerDebian": {},
      "electronInstallerRedhat": {},
      "github_repository": {
        "owner": "paulschneider",
        "name": "<APP_NAME>"
      },
      "windowsStoreConfig": {
        "packageName": "",
        "name": "<APP_NAME>"
      }
    }
  },
  "dependencies": {
    "dotenv": "^4.0.0",
    "electron-compile": "^6.4.1",
    "electron-is-dev": "^0.3.0",
    "electron-log": "^2.2.7",
    "express": "^4.15.4",
    "gulp": "^3.9.1",
    "gulp-autoprefixer": "^4.0.0",
    "gulp-concat": "^2.6.1",
    "gulp-dir-sync": "^0.1.2",
    "gulp-include": "^2.3.1",
    "gulp-rename": "^1.2.2",
    "gulp-sass": "^3.1.0",
    "ioredis": "^3.1.4",
    "lodash": "^4.17.4",
    "moment": "^2.18.1",
    "socket.io": "1.7.x",
    "sqlite3": "^3.1.10",
    "tabtab": "^2.2.2",
    "touch": "^3.1.0",
    "unix-timestamp": "^0.2.0"
  },
  "devDependencies": {
    "babel-plugin-transform-async-to-generator": "^6.24.1",
    "babel-preset-env": "^1.6.0",
    "babel-preset-react": "^6.24.1",
    "devtron": "^1.4.0",
    "electron-forge": "^3.2.0",
    "electron-prebuilt-compile": "1.7.5",
    "electron-rebuild": "^1.6.0",
    "eslint": "^3",
    "eslint-config-airbnb": "^15",
    "eslint-plugin-import": "^2",
    "eslint-plugin-jsx-a11y": "^5",
    "eslint-plugin-react": "^7"
  }
}

My set up

node v7.10.0
electron v1.7.6
<EMAIL_ADDRESS>
and the browser create part of index.js (where we fire up BrowserWindow etc...)
const createWindow = () => {
  // Create the browser window.
  global.win = new BrowserWindow({
    id: 1,
    title: 'IconTV',
    titleBarStyle: 'hidden',
    backgroundColor: '#000000',
    frame: false,
    fullscreen: true,
    kiosk: true,
    icon: path.join(__dirname + '/assets/icons/png/64x64.png')
  })
 }

The directory structure for our app, relating to assets, is as follows:
* app
** src
*** icons
**** mac
***** icon.icns
**** png
***** 256x256.png
***** <other asset sizes>*n.png
**** win
***** icon.ico

So, things I have tried so far to set the app icon, which is not working on either Windows or OSX:

Local file paths
Remote file paths
Attempted .png's of all sizes
Setting the icon path as part of electron-forge publish --icon=
Setting the icon path with quotes as part of electron-forge publish --icon=""

Further observations

I have never seen the app icon load as part of electron-forge start (i.e locally run)
Trying to add any value as iconUrl under electronWinstallerConfig in package.json results in 'Fatal error: Unable to set icon'
When I examine the resources directory of a packaged application (i.e electron-forge publish) the electron.icns file is in place and the .plist provides 'electron.icns' as the CFBundleIconFile. There are none of the custom icons in place. If I replace CFBundleIconFile with a custom icon name and copy my icon.icns over the app will correctly display the application icon in the dock (OSX) as expected. This leads me to believe there is nothing wrong with the icon file.

Notes

I package the application for OSX using travisCI
I package the application for Windows using appveyor

I'm sure I've missed something but after considerable hours of research and tinkering, I'm no closer. I find the documentation for electron packager quite vague and everything I've seen in various tuts and threads indicates what I've done is correct.

I have never seen the app icon load as part of electron-forge start (i.e locally run)

This is expected, in development mode without fancy monkeypatching your app's icon will be Electrons

"setupIcon": "assets/icons/win/icon.ico",

This should probably be an absolute path, you should switch your forge config from being inside your package.json file to being a JS file. See the NOTE here
You also aren't actually setting your app icon anywhere, the --icon CLI thing will do absolutely nothing (99%  of forges config comes from the config object not from CLI params).  You need to set the icon property of electronPackagerConfig

Hi @MarshallOfSound - Thanks as always for the quick response. The lack of 'icon' in electronPackagerConfig is an oversight from my copy and paste to this "issue" content only. I have tried that and it hasn't worked.
 Or a remote path as Ive read this morning that Windows needs the iconUrl value to be a public URL. Again, this hasn't worked.
I've tried absolute paths and relative paths in all cases but have not yet seen the icon deploy as part of the build process.

@paulschneider The only path that needs to be "remote" (an HTTP URL) is the iconUrl value in electronWinstallerConfig.  All other paths should be OK to be relative but some modules don't like it so they have to be absolute.  If you try an absolute path for the icon property on electronPackagerConfig and just run electron-forge package does an icon get set on the EXE / app file.  Can you also post the path you're using for the icon property

@MarshallOfSound Ive tried setting an absolute path for the icon value:
``
"electronPackagerConfig": {
"win32metadata":{
"ProductName": "<APP_NAME>",
"CompanyName": ""
},
"icon": "/assets/icons/mac/icon.icns"
}

But still no luck.

Sorry to add a side note on this but Ive tried to move the config over "./forge.config.js" as per your recommendation but I get "_Expected packageJSON.config.forge to be an object or point to a requirable JS file_". Ive used module.exports = {...}. Is there something I'm missing? Or could you point me in the direction of an example? Im not clear from the docs whether Im tackling this correctly.

@paulschneider That isn't an absolute path, an absolute path must be relative to the root of your drive, this is what path.resolve(__dirname, 'path/to/file.icns') will do.
You should set up your config like so.
{
  "config": { "forge": "./forge.config.js" }
}

// config.forge.js
const path = require('path');

module.exports = {
  electronPackagerConfig: {
    icon: path.resolve(__dirname, 'assets/icons/mac/icon.icns')
  }
}

@MarshallOfSound Thank you. I get the need for path.resolve, and I am trying this. However, even with your snippet I'm getting the same error about expecting a requirable file:
An unhandled rejection has occurred inside Forge:
Expected packageJSON.config.forge to be an object or point to a requirable JS file
Error: Expected packageJSON.config.forge to be an object or point to a requirable JS file
    at _callee$ (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/dist/util/forge-config.js:138:19)
    at tryCatch (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/regenerator-runtime/runtime.js:65:40)
    at Generator.invoke [as _invoke] (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/regenerator-runtime/runtime.js:299:22)
    at Generator.prototype.(anonymous function) [as next] (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/regenerator-runtime/runtime.js:117:21)
    at Generator.tryCatcher (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/util.js:16:23)
    at PromiseSpawn._promiseFulfilled (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/generators.js:97:49)
    at Promise._settlePromise (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/promise.js:574:26)
    at Promise._settlePromise0 (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/promise.js:693:18)
    at Async._drainQueue (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/async.js:133:16)
    at Async._drainQueues (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/async.js:143:10)
    at Immediate.Async.drainQueues (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/async.js:17:14)
    at runCallback (timers.js:672:20)
    at tryOnImmediate (timers.js:645:5)
    at processImmediate [as _immediateCallback] (timers.js:617:5)

// forge.config.js
const path = require('path');

module.exports = {
  electronPackagerConfig: {
    icon: path.resolve(__dirname, 'assets/icons/mac/icon.icns')
  }
}

// package.json (snippet)
{
  "config": { "forge": "./forge.config.js" }
}

@paulschneider That's weird, can you run DEBUG=electron-forge* electron-forge package

@MarshallOfSound Output as follows:
DEBUG=electron-forge* electron-forge package
WARNING: DEBUG environment variable detected.  Progress indicators will be sent over electron-forge:lifecycle
  electron-forge:lifecycle Process Started: Checking your system +0ms
  electron-forge:lifecycle Process Succeeded: Checking your system +491ms
  electron-forge:runtime-config setting key: verbose to value: false +0ms
WARNING: DEBUG environment variable detected.  Progress indicators will be sent over electron-forge:lifecycle
  electron-forge:lifecycle Process Started: Preparing to Package Application for arch: x64 +0ms
  electron-forge:project-resolver searching for project in: /Users/paulschneider/Sites/APP_NAME/app +0ms
  electron-forge:project-resolver electron-forge compatible package.json found in /Users/paulschneider/Sites/APP_NAME/app/package.json +19ms

An unhandled rejection has occurred inside Forge:
Expected packageJSON.config.forge to be an object or point to a requirable JS file
Error: Expected packageJSON.config.forge to be an object or point to a requirable JS file
    at _callee$ (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/dist/util/forge-config.js:138:19)
    at tryCatch (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/regenerator-runtime/runtime.js:65:40)
    at Generator.invoke [as _invoke] (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/regenerator-runtime/runtime.js:299:22)
    at Generator.prototype.(anonymous function) [as next] (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/regenerator-runtime/runtime.js:117:21)
    at Generator.tryCatcher (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/util.js:16:23)
    at PromiseSpawn._promiseFulfilled (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/generators.js:97:49)
    at Promise._settlePromise (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/promise.js:574:26)
    at Promise._settlePromise0 (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/promise.js:693:18)
    at Async._drainQueue (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/async.js:133:16)
    at Async._drainQueues (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/async.js:143:10)
    at Immediate.Async.drainQueues (/Users/paulschneider/.nvm/versions/node/v7.10.0/lib/node_modules/electron-forge/node_modules/bluebird/js/release/async.js:17:14)
    at runCallback (timers.js:672:20)
    at tryOnImmediate (timers.js:645:5)
    at processImmediate [as _immediateCallback] (timers.js:617:5)

Where is forge.config.js stored?  Like full path on your drive

Like so:

/Users/paulschneider/Sites/<APP_NAME>/app/src

This is where index.js, package.json etc... are.
Here's a screenshot showing the structure of the project:

Ive just noticed its not in the same location. Let me fix that an re-test. My bad.

Dude, sorry about that; placing the config.js for forge in the correct location now means I can run out of an external JS file.
This also means I can now see the custom app icon on OSX. Hopefully this also works for Windows.
Moving the config into its own JS file and being able to make use of path.resolve was the key here.
Thank so much for the assist. Hopefully others will find this thread useful too!

Hi there.
I have the same problem, but I can't fix it... I did what you suggested to do, but after building and installing the application, the app icon remains default 'Electron' icon.
Package.json
{
  "name": "events",
  "productName": "events",
  "version": "1.0.0",
  "description": "My Electron application description",
  "main": "src/index.js",
  "scripts": {
    "start": "electron-forge start",
    "package": "electron-forge package",
    "make": "electron-forge make",
    "publish": "electron-forge publish",
    "lint": "echo \"No linting configured\""
  },
  "keywords": [],
  "author": "Mher",
  "license": "MIT",

  "config": { "forge": "./forge.config.js" },

  "dependencies": {
    "electron-compile": "^6.4.4",
    "electron-squirrel-startup": "^1.0.0"
  },
  "devDependencies": {
    "@electron-forge/cli": "^6.0.0-beta.63",
    "@electron-forge/maker-deb": "^6.0.0-beta.63",
    "@electron-forge/maker-rpm": "^6.0.0-beta.63",
    "@electron-forge/maker-squirrel": "^6.0.0-beta.63",
    "@electron-forge/maker-zip": "^6.0.0-beta.63",
    "electron": "18.0.1",
    "electron-forge": "^5.2.4",
    "electron-prebuilt-compile": "8.2.0"
  }
}

forge.config.js
const path = require('path');

module.exports = {
    electronPackagerConfig: {
        icon: path.resolve(__dirname, 'assets/icons/app_icon.ico')
    }
}

Project Structure: (The same as @paulschneider )

After installing the build:

although the icon displayed properly on app windows

Will be glad to any help...

although the icon is displayed correctly after packing too (in "out" folder,  not in "make"):

Windows Explorer cashes icons for files even if the file changed and thus the icon inside it might not resemble the icon being displayed by Windows.


Masstransit overrides provided port number for ActiveMQ if UseSSL=true and port = 61616

Contact Details
<EMAIL_ADDRESS>Version
8.x
On which operating system(s) are you experiencing the issue?
No response
Using which broker(s) did you encounter the issue?
No response
What are the steps required to reproduce the issue?
1. Have an ActiveMQ server with SSL on port 61616
2. Setup a consumer which explicitly says port 61616 and UseSSL = true
3. Execute
...

What is the expected behavior?
Component should use provided port number instead of assuming it should use 61617 when UseSSL is true. As it is now, if it's 61616, it changes it to 61617.
What actually happened?
Masstransit fails to connect to server on port 61617 since there's no one home...
Related log output, including any exceptions
No exception but unable to connect to server

Link to repository that demonstrates/reproduces the issue
No response

Related to #4877
You didn't share any configuration or a source repository where the problem is demonstrated.


Add codecheck to focal CI

This is a workaround to enable codecheck on ign-math before we turn it on globally for focal.
Since ign-math7/main is only supported on focal forward, it makes sense to turn these checks on.
Signed-off-by: Michael Carroll<EMAIL_ADDRESS>

How about enabling this through the action? If it's centralized, we can flip the switch to make checking the default for all libraries more easily. It also prevents adding a new between_cmake_make.sh file to all libraries.

I think that makes sense, I had that thought after I opened this PR, moving this back to draft for now.

This is now using the branch from ignition-tooling/action-ignition-ci#43.  Once that lands, this will revert back to the focal branch of that repo.

Tooling branch is merged, this is ready for review

Confirmed it worked:


Redis state store: fixed JSON handling in Multi

Also fixed a race condition in ClientHasJSONSupport, which was storing the result in a global variable (so it was shared among all components) and in a non-thread safe way.

also should this be ported back into previous versions of Dapr?

also should this be ported back into previous versions of Dapr?

I don't think that's necessary. I discovered this issue while working on something else, which is coming very soon. This should not have a major impact on code used today.


⚠ LPDM Handbook (hosted on Divio) has degraded performance

In d811b7b, LPDM Handbook (hosted on Divio) (https://repohubdev.tk) experienced degraded performance:

HTTP code: 500
Response time: 8959 ms

Resolved: LPDM Handbook (hosted on Divio) performance has improved in 3ec4a20.


Arm control

Before issuing a pull request, please see the contributing page.
Added some arm control templates.

[ ] Do we want to make the hang arms use buttons to "go to a position" instead of moving them in continuous values?
[ ] Currently, all 3 arms are on gamepad2 - do we want to consolidate into one gamepad?
[x] FTC Dashboard for testing?

Personally, I think we'll need both controllers. Even if we get creative with some autonomous-assisted actions, having two drivers will really help with the driving vs the fine-grain arm control.
As for some of the "goto position" buttons, maybe only for the stage 1 arm position, but the stage 2 will totally be on the drivers to put it out when it swinging around.
Also, we might want a "goto position" for the pincher arm to go up to the upper and lower basket heights.


TypeScript failure with "Usage with bundlers" example

Hi there,
When I try the "Usage with bundlers" example in README with TypeScript, the following failure occurs:
$ npx tsc
index.js:2:11 - error TS2554: Expected 1 arguments, but got 0.

2 const _ = importLazy(() => require("lodash"))();
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  node_modules/import-lazy/index.d.ts:24:5
    24 ): (moduleId: string) => T;
           ~~~~~~~~~~~~~~~~
    An argument for 'moduleId' was not provided.

Found 1 error.

https://github.com/sindresorhus/import-lazy/tree/4fea4ed97eb932fa997e2d8efeef298d3aa531a7#usage-with-bundlers
I think the moduleId argument should be optional, but I'm not confident:
 declare function importLazy<T>(
 	importFn: (moduleId: string) => T
-): (moduleId: string) => T;
+): (moduleId?: string) => T;

 export = importLazy;

https://github.com/sindresorhus/import-lazy/blob/4fea4ed97eb932fa997e2d8efeef298d3aa531a7/index.d.ts#L22-L24
What do you think?
Reproduction

index.js:

const importLazy = require("import-lazy");
const _ = importLazy(() => require("lodash"))();

_.isNumber("1");

package.json:

{
  "dependencies": {
    "@types/lodash": "^4.14.157",
    "@types/node": "^14.0.24",
    "import-lazy": "^4.0.0",
    "lodash": "^4.17.19",
    "typescript": "^3.9.7"
  }
}

tsconfig.json:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "strict": true,
    "allowJs": true,
    "checkJs": true,
    "noEmit": true
  }
}

Related to #15

Or, adding a new overload function might be better:
+declare function importLazy<T = unknown>(
+	importFn: () => T
+): () => T;

 declare function importLazy<T = unknown>(
 	importFn: (moduleId: string) => T
 ): (moduleId: string) => T;

At TypeScript, you should use following:
import _importLazy from 'import-lazy';

const importLazy = _importLazy(require);
const _ = importLazy('lodash');

Or, with types:
import _importLazy from 'import-lazy';
import type TLodash from 'lodash'; // Important! Note the import as `type`

const importLazy = _importLazy(require);
const _ = importLazy('lodash') as typeof TLodash;

Or, with a generic function:
// lazy-import.ts
import _importLazy from 'import-lazy';

const importLazy = _importLazy(require);

export default <T>(module: string): T => importLazy(module) as T;

// =============
// script.ts
import lazyImport from './lazy-import';
import type TLodash from 'lodash'; // Important! Note the import as `type`

const _ = lazyImport<typeof TLodash>('lodash');

@reduardo7 Thank you and sorry for the response.
Your suggestion works fine for me. 👍🏼


⚠ Bofrost.lu has degraded performance

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

HTTP code: 200
Response time: 805 ms

Resolved: Bofrost.lu performance has improved in 35c2137.


Put all json spec files in the same location

As titled.
In addition, this pr updates the metamodel generator so it tracks all endpoints, and leave null when the types for a specific endpoint has not been implemented.
The typescript generator has been updated as well.
I've used the 7.10 json spec files from the elasticsearch repo.
Closes: #58

🚨 This pr is causing an error while running the generation, I'll fix the validation code as well before merging this.

🚨 This pr is causing an error while running the generation, I'll fix the validation code as well before merging this.

updates the metamodel generator so it tracks all endpoints, and leave null when the types for a specific endpoint has not been implemented.

Why do we want to output an incomplete model? What is a code generator supposed to do when request or response are missing?

updates the metamodel generator so it tracks all endpoints, and leave null when the types for a specific endpoint has not been implemented.

Why do we want to output an incomplete model? What is a code generator supposed to do when request or response are missing?

@swallez tt depends on your code generator, the typescript generator will create the method definition and use a "TODO" type to signal that the definition is incomplete, for example:
search(params: TODO): Promise<TODO>

You can easily skip the incomplete definition in your generator by checking the request and response values.

@swallez tt depends on your code generator, the typescript generator will create the method definition and use a "TODO" type to signal that the definition is incomplete, for example:
search(params: TODO): Promise<TODO>

You can easily skip the incomplete definition in your generator by checking the request and response values.

@delvedor my concern here is that we could release incomplete clients in the wild.
So we have to make it clear in metamodel.ts and change request and response to be TypeName | null with an explanation of what null means, and that it should not be confused with optional.

@delvedor my concern here is that we could release incomplete clients in the wild.
So we have to make it clear in metamodel.ts and change request and response to be TypeName | null with an explanation of what null means, and that it should not be confused with optional.

BTW what about using something like _json or _json_specs  for the JSON files folder, so that it stands out of the crowd in IDEs and can also be easily excluded from directory crawls?

BTW what about using something like _json or _json_specs  for the JSON files folder, so that it stands out of the crowd in IDEs and can also be easily excluded from directory crawls?

So we have to make it clear in metamodel.ts and change request and response to be TypeName | null with an explanation of what null means, and that it should not be confused with optional.

Done!

BTW what about using something like _json or _json_specs for the JSON files folder, so that it stands out of the crowd in IDEs and can also be easily excluded from directory crawls?

Good idea!

So we have to make it clear in metamodel.ts and change request and response to be TypeName | null with an explanation of what null means, and that it should not be confused with optional.

Done!

BTW what about using something like _json or _json_specs for the JSON files folder, so that it stands out of the crowd in IDEs and can also be easily excluded from directory crawls?

Good idea!


fix(deployment): make bootstrap architecture-aware

The Ubuntu bootstrap script assumes x86 as the target architecture.  When running on Arm, the installation of the step CLI package breaks.

LGTM, modulo the DCO issue

oops, I hadn't noticed that.  Fixed now.


la1ere.francetvinfo.fr

[x] I'm reporting a new site support request
[x] I've verified that I'm running youtube-dl version 2020.09.14
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that none of provided URLs violate any copyrights
[x] I've searched the bugtracker for similar site support requests including closed ones

Example URLs

https://la1ere.francetvinfo.fr/guyane/emissions/kazadok/kazadoc-du-93-amazonie-750527.html
https://la1ere.francetvinfo.fr/emissions/tutos-lolo/tutos-lolo-860308.html

Description
Unable to dl or view this stream with yt-dl
$ youtube-dl https://la1ere.francetvinfo.fr/guyane/emissions/kazadok/kazadoc-du-93-amazonie-750527.html -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['https://la1ere.francetvinfo.fr/guyane/emissions/kazadok/kazadoc-du-93-amazonie-750527.html', '-v']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.09.14
[debug] Python version 3.7.3 (CPython) - Linux-4.19.0-10-amd64-x86_64-with-LinuxMint-4-debbie
[debug] exe versions: ffmpeg 4.1.6-1, ffprobe 4.1.6-1, phantomjs 5, rtmpdump 2.4
[debug] Proxy map: {}
[generic] kazadoc-du-93-amazonie-750527: Requesting header
WARNING: Falling back on generic information extractor.
[generic] kazadoc-du-93-amazonie-750527: Downloading webpage
[generic] kazadoc-du-93-amazonie-750527: Extracting information
ERROR: Unsupported URL: https://la1ere.francetvinfo.fr/guyane/emissions/kazadok/kazadoc-du-93-amazonie-750527.html
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/youtube_dl/YoutubeDL.py", line 797, in extract_info
ie_result = ie.extract(url)
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/common.py", line 530, in extract
ie_result = self._real_extract(url)
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/generic.py", line 3382, in _real_extract
raise UnsupportedError(url)
youtube_dl.utils.UnsupportedError: Unsupported URL: https://la1ere.francetvinfo.fr/guyane/emissions/kazadok/kazadoc-du-93-amazonie-750527.html

Same request here. It That would be wonderful !
I think it's exactly the same method than franceinfotv.
Thanks guys and keep the good work !


Tab completion doesn not work with -c option

When restricting z to match only subdirectories of curent dir with -c, pressing tab appears to do nothing

It actually "works", you just don't have a directory with '-c' in history.
It would be nice to have tab completion work the way you expect tho, will be a bit of a refactor though.

lets leave it open so i don't forget it would be nice to do something about this


Release a new version of Detect AFK with the /trigger feature

This will be at commit 7ea52df34b2f7904f84719494570f82d9f6c1e4b (or a branch based off this commit) since it is the final commit before 1.18 support is dropped. If I create a branch I'll cherry pick c1feb7f and make any changes necessary to make that correct (e.g. creating afk.ticks_inactive.

[ ] Test in latest version (1.21.3)
[ ] Test in minimum version (1.18)

Before I create this release, I will continue to work on the new version to see if any other changes to the public API need to be made.

I don't think a backport of the API is going to be reasonable, since it's now built in a way that relies on the if/else-if/else style logic that return allows. Going to close this for now.


use "docker-compose config" for analyzing configuration

instead of analyzing the YAML files use "docker-compose config".
docker-compose config, includes the docker-compose.override.yml file

Which commands are affected?

@s4mpl3d Sadly we did this issue twice in #45 and #34 because the issues and the PRs were not properly linked or assigned to anyone