Unable to Share Smart Home Action on Google With Other Accounts

Using my Primary Google Account I am able to follow the instructions in the readme to spin up my own node.js server and a new Project via the Actions SDK. I am able to open up my Google Home app (Android) and link the 4 light bulb devices under the rick:oldman account and everything works great.
Then I tried to add my Secondary Google Account to the project by granting it Project Viewer access in the permissions, and then sharing the link from the Simulator to that account. I open up the Google Home app for this other account (iPhone) and log in with the beth:doctor account.  Then instead of showing me the lights that are available I get an error that says "Something went wrong. Try again": Screenshot
I then deleted the project from my Primary Google Account, but I still see the "[test]" Smart Home service when I click on the "+" to add a new device on my Google Home app on my Android phone with my Primary Google Account, and on my iPhone with my Secondary Google Account.  When I first saw this I just unlinked my account. Now I am still seeing it and when I press on it to see what happens, it says "Tunnel xxxxx.ngrok.io not found". Does this mean that AoG still thinks that this is active? Maybe it takes some time for everything to sync up with the fact that the project has been shut down, or maybe I've gotten myself stuck in some strange edge case?
Some more weird stuff...In addition to my real light bulbs, I have 4 lights under the "Virtual and other devices" category (I assume from a past test of this AoG Smart Home app) and I can't seem to get rid of them.

When you share the project, does it work on their account with rick:oldman? Can you grant them Project Owner access and see if it works?
When did you run the test and when did you see this issue? It may take up to three days for agents to expire. Can you wait three days or so and see if the problem persists?

It gave me the same error when I used rick:oldman as well. I will wait a few days and try again.
I started over from scratch with my Secondary Google Account, which is on my iPhone. I spun up the node.js app and set up the AoG with the Actions SDK. When I clicked on "Test Draft" it appeared to work just fine. I opened up my Google Home app on my iPhone, but there was no way for me to add a device it seems, when I click "+ ADD NEW DEVICE" (hamburger menu -> Devices -> "+ ADD NEW DEVICE" ) it wants me to disconnect my wifi to a different wifi network as if it's just trying to set up a new Google Home or Chromecast. I've seen this before, but I was able to get to a screen where I could link my account to the AoG Smart Home app, but for some reason I can't seem to get back to that page. I think in the past I had clicked on a link from the 'Discover' tab in the iOS app (There is no "Home control" option). I have never run into this problem with my Primary Google Account on my Android phone.
I was able to share this project with my Primary Google Account (originally as an owner, then removed it and re-added it as just a viewer) and it worked fine on my Android phone.

On Android, adding a Smart Home device should be in hamburger menu -> "Home Control". Is it different on iOS?

On my Primary Account the Google Home app on iOS it looks like it does on Android as you've described. When I switch over to my Secondary Account on my iPhone the hamburger menu looks different and it does not have the "Google Assistant" section in the menu: Screenshot

@Fleker are you able to be part of two test AoG Apps? One of my accounts is still showing an old project that was deleted (the 3 days hasn't been up yet), but I don't see the new app I just created in the list of providers in the Google Home app.

I made a new app on my Secondary Account and used a completely new Android device. I got to the login screen and logged in with rick:oldman, but I still got the "couldn't update the setting" error.
Everything looks good on my node server logs, is there any way to get more information from the Google Home app as to why it wouldn't be working?

The "couldn't update the setting" issue is related to #26.
The inability to find your test apps is related #25 which does appear to be still affecting a small number of developers. But it does seem like you're slightly past that point.

I'm still seeing a bunch of "Virtual and other devices", even though I have unlinked my test smart home app account. Should the Google Home app know that I am no longer connected to my test app and remove those devices? It's been nearly two weeks since I've last has the ngrok server up that hosted those virtual devices.
I am still not able to share a project with another account from my primary account, even when I make it an owner. I"m not sure if this is related to #25 or not though.

Can you try the Google Assistant app? It should have a Home Control section. It shouldn't be related to #25.

When I try and update my oauth settings (new ngrok URL, etc.) I am getting this generic error when I press "save". When I open the developer tools I see there is a 500 response when my browser does a POST to https://console.actions.google.com/u/0/m/actions/agents/update
)]}'

[["er",null,"java.lang.IllegalArgumentException: Can't get the number of an unknown enum value.\n\tat com.google.assistant.serviceengine.acs.server.proto.ActionsConsoleAgentSettingsPB$AgentType.getNumber(ActionsConsoleAgentSettingsPB.java:165)\n\tat com.google.assistant.serviceengine.acs.server.proto.ActionsConsoleAgentSettingsPB$Builder.setAgentType(ActionsConsoleAgentSettingsPB.java:696)\n\tat com.google.assistant.aog.console.server.main.AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleAgentSettingsConverter.doForward_agentType(AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleAgentSettingsConverter.java:20)\n\tat com.google.assistant.aog.console.server.main.AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleAgentSettingsConverter.doForward(AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleAgentSettingsConverter.java:41)\n\tat com.google.assistant.aog.console.server.main.AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleAgentSettingsConverter.doForward(AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleAgentSettingsConverter.java:12)\n\tat com.google.common.base.Converter.correctedDoForward(Converter.java:183)\n\tat com.google.common.base.Converter.convert(Converter.java:176)\n\tat com.google.assistant.aog.console.server.main.AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleSettingsPBConverter$1.lambda$apply$0(AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleSettingsPBConverter.java:34)\n\tat java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)\n\tat java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1375)\n\tat java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)\n\tat java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)\n\tat java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)\n\tat java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)\n\tat java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)\n\tat com.google.assistant.aog.console.server.main.AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleSettingsPBConverter$1.apply(AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleSettingsPBConverter.java:35)\n\tat com.google.assistant.aog.console.server.main.AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleSettingsPBConverter.doForward_actionsConsoleAgentSettings(AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleSettingsPBConverter.java:37)\n\tat com.google.assistant.aog.console.server.main.AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleSettingsPBConverter.doForward(AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleSettingsPBConverter.java:42)\n\tat com.google.assistant.aog.console.server.main.AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleSettingsPBConverter.doForward(AutoConverter_ActionsConsoleSettingsConverter_ActionsConsoleSettingsPBConverter.java:17)\n\tat com.google.common.base.Converter.correctedDoForward(Converter.java:183)\n\tat com.google.common.base.Converter.convert(Converter.java:176)\n\tat com.google.assistant.aog.console.server.main.ActionsConsoleSettingsConverter.toServer(ActionsConsoleSettingsConverter.java:21)\n\tat com.google.assistant.aog.console.server.main.AgentConverter.toServer(AgentConverter.java:383)\n\tat com.google.assistant.aog.console.server.main.UpdateAgentAction.post(UpdateAgentAction.java:89)\n\tat com.google.assistant.aog.console.server.main.AssistantConsoleExceptionInterceptor.execute(AssistantConsoleExceptionInterceptor.java:24)\n\tat com.google.apps.framework.request.impl.InterceptorInvocation$Http.beforeProceed(InterceptorInvocation.java:125)\n\tat com.google.apps.framework.request.impl.InterceptorInvocation.proceed(InterceptorInvocation.java:157)\n\tat com.google.apps.framework.request.impl.NewfangledHttpDispatcher.proceed(NewfangledHttpDispatcher.java:73)\n\tat com.google.apps.framework.request.impl.NewfangledHttpDispatcher.proceed(NewfangledHttpDispatcher.java:31)\n\tat com.google.apps.framework.request.impl.AbstractDispatcher.doExecuteChain(AbstractDispatcher.java:364)\n\tat com.google.apps.framework.request.impl.AbstractDispatcher.execute(AbstractDispatcher.java:261)\n\tat com.google.apps.framework.request.impl.AbstractDispatcher.executeAsync(AbstractDispatcher.java:206)\n\tat com.google.apps.framework.request.impl.NewfangledHttpDispatcher.dispatch(NewfangledHttpDispatcher.java:60)\n\tat com.google.apps.framework.net.NewfangledHttpRequestRunner.handle(NewfangledHttpRequestRunner.java:36)\n\tat com.google.apps.framework.net.HttpServiceImpl$RequestHandler$3.run(HttpServiceImpl.java:225)\n\tat com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:454)\n\tat com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:461)\n\tat com.google.tracing.CurrentContext.runInContext(CurrentContext.java:297)\n\tat com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:320)\n\tat com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:312)\n\tat com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:458)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\n\tat com.google.apps.framework.server.AbstractThreadPoolModule$InitializingThreadFactory$1.run(AbstractThreadPoolModule.java:581)\n\tat java.lang.Thread.run(Thread.java:745)\n",null,null,500,null,null,null,13]
]

Sorry if this is not the best way to report this. Let me know if I should send it somewhere else or open a new issue in this repo.

@AlexSneedMiller can you make a new issue for this? In the meantime I'll check to see if anything broke.

This morning when I tried it appeared to be fixed, but I opened a new issue anyways #39

Is there a limit to the number of test Smart Home Apps you can have on your account? I was able to create a Smart Home App individually on two different Google accounts, but when I tried to share one of them with the other I did not see the second Smart Home App show up in the list of new Linked Services.
I even went so far as to remove the privileges of one of the Smart Home Apps; I would think that would force the Linked Service to not show up at all in my Google Home app, but it still does show up. Is this something that takes a while to propagate through the system? Earlier in this thread @Fleker mentioned it can take up to 3 days for an agent to disappear. Does "agent" refer to the service, or the devices that were linked through that service?
I am still seeing old 'virtual devices' under my account for projects that I have deleted weeks ago.

Users can only test one "agent" per account. That test agent will last three days before it "expires" and needs to be re-tested. If you create multiple projects, only one will be active. However, when they expire it does not delete devices. All your devices will still be registered just not active.

Ah that makes sense, thank you! Sorry if that's in the documentation somewhere and I haven't seen that yet. I will wait three days and then share the Smart Home App from my main account to the other users.
Is there a way to delete the devices so they don't show up? When I ask Google to turn on my lights it turns on the few that I have, and then says there was an error with the other 6 that are 'virtual'.

Test agents should be chronologically determined, ie. testing a new one will disable the previous one.
I'm not sure how to remove devices. I was pretty sure there was an option for that in the app, but I just checked and it's not there. 🤔

Adding a new project to my account and clicking on 'Test Draft' did seem to kick out the old agent. When that happens, is there a process for the Home Graph to sync it's own list of devices with the agents I have in my account? I wonder if I did test a new draft and never unlinked the old account originally.
I have tried to unlink my test agent/app. Let me know if you need further access to anything for debugging.

There's no hook currently for the HomeGraph to resync when your list of connected agents change. You will need to use the Google Home app to unlink current agents and link new ones.

I have unlinked my test agent, but the "virtual and other devices" still show up in my "Devices" tab in Home Control.

That's probably a bug in the Home app. Can you control your devices?

I am able to control my real devices. When I do control them (I have 2 real light bulbs, and 4 virtual/fake light bulbs) it says something along the lines of "I was able to turn on two lights, but I was not able to turn on 4 lights"

I'll follow up on that Home bug.


Save store to app dir instead of working dir

Hi! Was trying out this plugin a bit, and noticed it didn't save the store correctly, instead writing to the working directory. Looked into it a bit and it seems there was a small oversight in the saving code :)

Nice catch. But please add a .changes file to track this modification.

Have done 👍


Misc cleanup

Was using some of the code today and had the following notes. Will re-visit next week; min formatting brain dump:
for pre-existing:
add after OUTPUTSPECFILE?=project.spec and then fix below in rule
also add after rpm
rpm: TARBALL filelist $(EXTRA_SOURCES)
add that to documentation? then another source line in specfile like Source1

useless cat with wc -l - don't forget cut like below

optional: add "buildrequires: hardlink"then at the end of install
hardlink -cv %{buildroot}/%{outdir}
in install remove the "v" from copy and then above:echo "Copying wc -l parsed_filelist.txt } cut -f1 -d' ' files..."
after the "Building tarball"ls -halF $@
-Fix spaces in filename in manifest by putting into double quotes...
sed -i -e 's/^.* .*$/"\0"/g' parsed_filelist.txt

More feedback in another email 22 July


Multi-select fields

Hey again,
Going back to a similar thing as issue #139, I've recently found out that the multi-selects don't submit subsequent selected values (it only takes the first one chosen), I've put back in my hotfix that I mentioned there (I have the advantage that I don't need to support the other browsers)
<select multiple="" name="multi_select[]">
    <option value="" hidden="hidden" disabled="disabled">Select Option</option>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
</select>

For reference, I've readded the fix below into my project (there's also a polyfill here https://github.com/jimmywarting/FormData for it if needed.... using FormData has the advantage of parsing all these fields in the correct way as a standard)
// Override the paramObject using FormData as it doesn't parse multi-selects properly
options.requestOptions.requestParams = [...new FormData(el).entries()].reduce((total, item) => {
  total.push({
    name: item[0],
    value: item[1]
  });

  return total;
}, []);

I'm also using the latest version of pjax

Can confirm that only the first selected value in a multi-select is submitted with PJAX's current form handling behaviour. @BehindTheMath, we can use FormData if we drop IE9 support, otherwise the fix for this is pretty easy -- I already have something working locally.

It seems to me that using FormData results in a drastically request body being sent, since it uses Content-Type: multipart/form-data instead of Content-Type: application/x-www-form-urlencoded. I haven't looked into if there's a difference how backend servers parse them, but it's possible that this would be a breaking change, even though the structure of the request body is not documented.

I've noticed no adverse effects of using form data :)

@zeraphie If I remember correctly, you're using PHP in the backend. From what I'm told, PHP doesn't differentiate between the two.
However, Express.js for Node uses 2 different libraries to parse application/x-www-form-urlencoded and multipart/form-data.
I think we should stick with application/x-www-form-urlencoded (or possibly switch to application/json).
@robinnorth Can you implement your fix?


Invariant Testing: Reverts with assertion failed but nothing was asserted during depth calls inside a run

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (fa6b39c 2023-11-04T00:17:54.146286000Z)
What command(s) is the bug in?
forge test
Operating System
macOS (Apple Silicon)
Describe the bug
While doing invariant testing in a multi-fork protocol setup with a handler (with targetContract being the handler), after some depth in a given run the test fails with "Assertion Failed"
However, nothing is asserted as per the -vvvvv logs, but it can be seen that what is going to be asserted would pass the assertion (assertEq(vaultSharesStore.superPositionsSum(), vaultSharesStore.vaultShares())
This is the last portion of the error log
    ├─ [5442] VaultSharesStore::setSuperPositions(1100178655211191658495 [1.1e21])
    │   └─ ← ()
    ├─ [5398] VaultSharesStore::setVaultShares(1100178655211191658495 [1.1e21])
    │   └─ ← ()
    └─ ← ()

Test result: FAILED. 0 passed; 1 failed; 0 skipped; finished in 4.72s

Ran 1 test suites: 0 tests passed, 1 failed, 0 skipped (1 total tests)

Failing tests:
Encountered 1 failing test in test/invariant/VaultShares.invariant.t.sol:VaultSharesInvariantTest
[FAIL. Reason: Assertion failed.]
	[Sequence]
		sender=0x00000000000000000000000000000000000059F5 addr=[test/invariant/handlers/VaultSharesHandler.sol:VaultSharesHandler]0xF62849F9A0B5Bf2913b396098F7c7019b51A820a calldata=singleXChainSingleVaultDeposit(uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint256,uint256), args=[1276,<PHONE_NUMBER>9650612562675395263511828807659227779522933251885709603164229992493 [3.954e76], 4259, 12050 [1.205e4], 1950, 39, 44, 2925, 8273]
		sender=0x0000000000000000000000000000000000000B3B addr=[test/invariant/handlers/VaultSharesHandler.sol:VaultSharesHandler]0xF62849F9A0B5Bf2913b396098F7c7019b51A820a calldata=singleDirectSingleVaultDeposit(uint256,uint256,uint256,uint256,uint256,uint64,uint256,uint256), args=[31832160851906571763120612042207763562075912756566557833510525053824624 [3.183e70],<PHONE_NUMBER>554122319554971631503617215527304075928 [1.198e48],<PHONE_NUMBER>95298143063021478275479671275860903514403122 [1.611e53],<PHONE_NUMBER>37316195423570985008687907853269984665640564039457584007913129639932 [1.157e77],<PHONE_NUMBER>34003511218357122244830392308939670117385315266785921795 [6.921e65], 0,<PHONE_NUMBER>874465088568 [2.029e21],<PHONE_NUMBER>1925767596015656742902671239935658315607813 [1.668e52]]
		sender=0x000000000000000000000000000000008de833aa addr=[test/invariant/handlers/VaultSharesHandler.sol:VaultSharesHandler]0xF62849F9A0B5Bf2913b396098F7c7019b51A820a calldata=singleXChainSingleVaultDeposit(uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint256,uint256), args=[5641276831496337050631457663379 [5.641e30], 2,<PHONE_NUMBER>37316195423570985008687907853269984665640564039457584007913129639933 [1.157e77], 0, 3,<PHONE_NUMBER>080008 [2.154e15], 202498 [2.024e5],<PHONE_NUMBER>37316195423570985008687907853269984665640564039457584007913129639933 [1.157e77],<PHONE_NUMBER>37316195423570985008687907853269984665640564039457584007913129639933 [1.157e77]]
		sender=0x0000000000000000000000000000000000000001 addr=[test/invariant/handlers/VaultSharesHandler.sol:VaultSharesHandler]0xF62849F9A0B5Bf2913b396098F7c7019b51A820a calldata=singleXChainSingleVaultDeposit(uint256,uint256,uint256,uint256,uint256,uint64,uint64,uint256,uint256), args=[20409 [2.04e4], 8291, 4004, 6571, 18560 [1.856e4],<PHONE_NUMBER>51711744 [2.882e17], 55010946 [5.501e7], 10056 [1.005e4], 252]

 invariant_vaultShares() (runs: 1, calls: 4, reverts: 1)

And this is the code of the Invariant test
/// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.21;

import { VaultSharesHandler } from "./handlers/VaultSharesHandler.sol";
import { VaultSharesStore } from "./stores/VaultSharesStore.sol";
import { BaseInvariantTest } from "./Base.invariant.t.sol";

contract VaultSharesInvariantTest is BaseInvariantTest {
    VaultSharesStore internal vaultSharesStore;
    VaultSharesHandler internal vaultSharesHandler;

    function setUp() public override {
        super.setUp();
        (
            address[][] memory coreAddresses,
            address[][] memory underlyingAddresses,
            address[][][] memory vaultAddresses,
            address[][][] memory sAddresses,
            uint256[] memory forksArray
        ) = _grabStateForHandler();

        /// @dev set fork back to id 0 to create a store and a handler (which will be shared by all forks)
        vm.selectFork(FORKS[0]);
        vaultSharesStore = new VaultSharesStore();

        vaultSharesHandler =
        new VaultSharesHandler(chainIds, contractNames, coreAddresses, underlyingAddresses, vaultAddresses,
        sAddresses, forksArray, vaultSharesStore, timestampStore);

        vm.label({ account: address(vaultSharesStore), newLabel: "VaultSharesStore" });
        vm.label({ account: address(vaultSharesHandler), newLabel: "VaultSharesHandler" });

        /// @dev Note: disable some of the selectors to test a bunch of them only
        bytes4[] memory selectors = new bytes4[](2);
        selectors[0] = VaultSharesHandler.singleXChainSingleVaultDeposit.selector;
        selectors[1] = VaultSharesHandler.singleDirectSingleVaultDeposit.selector;
        targetSelector(FuzzSelector({ addr: address(vaultSharesHandler), selectors: selectors }));
        targetContract(address(vaultSharesHandler));

        // Prevent these contracts from being fuzzed as `msg.sender`.
        excludeSender(address(vaultSharesStore));
        excludeSender(address(vaultSharesHandler));
    }

    /*///////////////////////////////////////////////////////////////
                    INVARIANT TESTS
    //////////////////////////////////////////////////////////////*/

    function invariant_vaultShares() public useCurrentTimestamp {
        assertEq(vaultSharesStore.superPositionsSum(), vaultSharesStore.vaultShares());
    }
}

EDIT:
You can now inspect a showcase of this error in our now public repository in https://github.com/superform-xyz/superform-core/actions/runs/7018510375/job/19094554230?pr=413 and check how we are conducting the invariant test https://github.com/superform-xyz/superform-core/blob/invariant-ci/test/invariant/VaultShares.invariant.t.sol

@Evalir @gakonst
An update to this issue
Using latest forge (forge 0.2.0 (7b45265 2023-11-21T00:18:30.267248000Z))
The sequence (when it reverts randomly), now says [FAIL. Reason: <no data>]
Encountered 1 failing test in test/invariant/VaultShares.invariant.t.sol:VaultSharesInvariantTest
[FAIL. Reason: <no data>]
	[Sequence]
....

@Evalir @gakonst @mattsse
You can now inspect a showcase of this error in our now public repository in
https://github.com/superform-xyz/superform-core/actions/runs/7018510375/job/19094554230?pr=413 and check how we are conducting the invariant test in
https://github.com/superform-xyz/superform-core/blob/invariant-ci/test/invariant/VaultShares.invariant.t.sol
Could the issue be related with multiple deployments going on on each depth call during a run? This error doesn't show up when depth is = 1

Could be related to? https://github.com/foundry-rs/foundry/pull/6200

Closed related PR, but still looking forward to know why do these tests fail

Could be related to? #6200

@0xTimepunk pretty sure they're related, could you please recheck now since #6200 was fixed? thanks

Ping @0xTimepunk, would be great if you could recheck this

@0xTimepunk please reopen if still an issue. Thank you!


Include all nodes in the filter.xml

Remove invalid merge option on include/exclude elements.
This closes #2044

This obsoletes #2032

With this PR only the following issues are raised with the new filevault-package-maven-plugin
[INFO] --- filevault-package-maven-plugin:1.0.5-SNAPSHOT:validate-package (default-validate-package) @ acs-aem-commons-ui.content ---
[WARNING] The version should not be given if the dependency is specified with 'groupId' and 'artifactId' as the version will be looked up from the Maven dependencies
[INFO] Start validating package '/Users/konradwindszus/git/acs-aem-commons/ui.content/target/acs-aem-commons-ui.content-4.3.3-SNAPSHOT.zip'...
[INFO] Using validators: jackrabbit-properties (org.apache.jackrabbit.filevault.maven.packaging.validator.impl.AdvancedPropertiesValidator), jackrabbit-filter (org.apache.jackrabbit.filevault.maven.packaging.validator.impl.AdvancedFilterValidator), jackrabbit-oakindex (org.apache.jackrabbit.filevault.maven.packaging.validator.impl.OakIndexDefinitionValidator)
[INFO] Filter root's ancestor '/etc/designs' is not covered by any of the specified dependencies.
[INFO] Filter root's ancestor '/content/dam' is not covered by any of the specified dependencies.
[INFO] Filter root's ancestor '/etc/notification' is not covered by any of the specified dependencies.
[INFO] Filter root's ancestor '/var/workflow/instances' is not covered by any of the specified dependencies.
[INFO] Filter root's ancestor '/etc/cloudservices' is not covered by any of the specified dependencies.
[INFO] Filter root's ancestor '/etc/workflow/instances' is not covered by any of the specified dependencies.
[INFO] Filter root's ancestor '/home/users' is not covered by any of the specified dependencies.
[INFO] Filter root's ancestor '/home/users/system' is not covered by any of the specified dependencies.
[INFO] Filter root's ancestor '/oak:index' is not covered by any of the specified dependencies.
[INFO] Filter root's ancestor '/etc/clientlibs' is not covered by any of the specified dependencies.
[INFO] Filter root's ancestor '/etc/dam/video' is not covered by any of the specified dependencies.
[INFO] Filter root's ancestor '/home/groups' is not covered by any of the specified dependencies.
[ERROR] ValidationViolation: "Package contains filter rule overwriting a potential index definition below '/oak:index/rep:policy'.", filePath=META-INF/vault/filter.xml
[ERROR] ValidationViolation: "Node /etc/acs-commons/redirect-maps/rep:policy/allow is not contained in any of the filter rules", filePath=jcr_root/etc/acs-commons/redirect-maps/_rep_policy.xml, nodePath=/etc/acs-commons/redirect-maps/rep:policy/allow, line=8
[ERROR] ValidationViolation: "Node /etc/acs-commons/redirect-maps/rep:policy is not contained in any of the filter rules", filePath=jcr_root/etc/acs-commons/redirect-maps/_rep_policy.xml, nodePath=/etc/acs-commons/redirect-maps/rep:policy, line=3
[ERROR] ValidationViolation: "Node /etc/acs-commons/qr-code/jcr:content/config is not contained in any of the filter rules", filePath=jcr_root/etc/acs-commons/qr-code/.content.xml, nodePath=/etc/acs-commons/qr-code/jcr:content/config, line=11
[ERROR] ValidationViolation: "Node /etc/acs-commons/bulk-workflow-manager/rep:policy/allow is not contained in any of the filter rules", filePath=jcr_root/etc/acs-commons/bulk-workflow-manager/_rep_policy.xml, nodePath=/etc/acs-commons/bulk-workflow-manager/rep:policy/allow, line=7
[ERROR] ValidationViolation: "Node /etc/acs-commons/bulk-workflow-manager/rep:policy is not contained in any of the filter rules", filePath=jcr_root/etc/acs-commons/bulk-workflow-manager/_rep_policy.xml, nodePath=/etc/acs-commons/bulk-workflow-manager/rep:policy, line=3
[ERROR] ValidationViolation: "Node /etc/acs-commons/notifications/rep:policy is not contained in any of the filter rules", filePath=jcr_root/etc/acs-commons/notifications/_rep_policy.xml, nodePath=/etc/acs-commons/notifications/rep:policy, line=3
[ERROR] ValidationViolation: "Node /etc/acs-commons/notifications/rep:policy/allow is not contained in any of the filter rules", filePath=jcr_root/etc/acs-commons/notifications/_rep_policy.xml, nodePath=/etc/acs-commons/notifications/rep:policy/allow, line=7
[INFO] Ancestor node /etc/cloudservices/dtm is not covered by any of the filter rules. Preferably depend on a package that provides this node!
[ERROR] ValidationViolation: "Node /etc/cloudservices/dtm/rep:policy/allow is not contained in any of the filter rules", filePath=jcr_root/etc/cloudservices/dtm/_rep_policy.xml, nodePath=/etc/cloudservices/dtm/rep:policy/allow, line=7
[INFO] Ancestor node /etc/cloudservices/sharethis is not covered by any of the filter rules. Preferably depend on a package that provides this node!
[ERROR] ValidationViolation: "Node /etc/cloudservices/sharethis/rep:policy/allow is not contained in any of the filter rules", filePath=jcr_root/etc/cloudservices/sharethis/_rep_policy.xml, nodePath=/etc/cloudservices/sharethis/rep:policy/allow, line=7
[ERROR] ValidationViolation: "Node /etc/cloudservices/typekit/rep:policy/allow is not contained in any of the filter rules", filePath=jcr_root/etc/cloudservices/typekit/_rep_policy.xml, nodePath=/etc/cloudservices/typekit/rep:policy/allow, line=7
[INFO] Ancestor node /etc/cloudservices/typekit is not covered by any of the filter rules. Preferably depend on a package that provides this node!
[ERROR] ValidationViolation: "Node /etc/notification/email/rep:policy/allow is not contained in any of the filter rules", filePath=jcr_root/etc/notification/email/_rep_policy.xml, nodePath=/etc/notification/email/rep:policy/allow, line=7
[ERROR] ValidationViolation: "Node /var/acs-commons/on-deploy-scripts-status/rep:policy is not contained in any of the filter rules", filePath=jcr_root/var/acs-commons/on-deploy-scripts-status/_rep_policy.xml, nodePath=/var/acs-commons/on-deploy-scripts-status/rep:policy, line=3
[ERROR] ValidationViolation: "Node /var/acs-commons/on-deploy-scripts-status/rep:policy/allow is not contained in any of the filter rules", filePath=jcr_root/var/acs-commons/on-deploy-scripts-status/_rep_policy.xml, nodePath=/var/acs-commons/on-deploy-scripts-status/rep:policy/allow, line=7
[ERROR] ValidationViolation: "Node /var/acs-commons/mcp/rep:policy/allow is not contained in any of the filter rules", filePath=jcr_root/var/acs-commons/mcp/_rep_policy.xml, nodePath=/var/acs-commons/mcp/rep:policy/allow, line=7
[ERROR] ValidationViolation: "Node /var/acs-commons/mcp/rep:policy is not contained in any of the filter rules", filePath=jcr_root/var/acs-commons/mcp/_rep_policy.xml, nodePath=/var/acs-commons/mcp/rep:policy, line=3
[ERROR] ValidationViolation: "Node /var/acs-commons/httpcache/root is not contained in any of the filter rules", filePath=jcr_root/var/acs-commons/httpcache/root/.content.xml, nodePath=/var/acs-commons/httpcache/root, line=3
[ERROR] ValidationViolation: "Node /var/acs-commons/httpcache/rep:policy/allow is not contained in any of the filter rules", filePath=jcr_root/var/acs-commons/httpcache/_rep_policy.xml, nodePath=/var/acs-commons/httpcache/rep:policy/allow, line=8
[ERROR] ValidationViolation: "Node /var/acs-commons/httpcache/rep:policy is not contained in any of the filter rules", filePath=jcr_root/var/acs-commons/httpcache/_rep_policy.xml, nodePath=/var/acs-commons/httpcache/rep:policy, line=3
[ERROR] ValidationViolation: "Node /var/acs-commons/rep:policy/allow is not contained in any of the filter rules", filePath=jcr_root/var/acs-commons/_rep_policy.xml, nodePath=/var/acs-commons/rep:policy/allow, line=7
[ERROR] ValidationViolation: "Package '/Users/konradwindszus/git/acs-aem-commons/ui.content/target/acs-aem-commons-ui.content-4.3.3-SNAPSHOT.zip' contains index definition (maybe in sub packages) but the according property allowIndexDefinitions is not set to 'true'"

One is already tackled in https://issues.apache.org/jira/browse/JCRVLT-343 and all the other ones are contained in https://issues.apache.org/jira/browse/JCRVLT-372

Pull Request Test Coverage Report for Build 4989

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

Totals

Change from base Build 4984:
0.0%

Covered Lines:
14375

Relevant Lines:
26422

💛  - Coveralls

I strongly feel that original PR creators should be credited with their work, no matter how small.  I would rather we merge #2032 to give credit to @geertsmichael.  Giving credit where due promotes contribution.

The PR from #2032 is unfortunately not correct, i.e. it will neither import the readme.txt below /var/acs-commons/on-deploy-scripts-status nor does it fix some other remaining issue. But I will definitely credit @geertsmichael by adding a co-authored-by trailer in my commit.

Now also all rep:policy nodes are included. I would go ahead and merge this afternoon if there are no objections.

@kwin I added some oakpal configs to the ui.content package pom to regression test your changes here.

Thanks for fixing the issues turned up in my testing @kwin - I'll re-test soon.  I know stuff like this gets past all of us when developing, and I'm not perfect either, but please be more diligent in testing your PRs and the code they affect.  Losing the on-deploy-scripts-status nodes in the first place was from a previous PR of yours as well, and though both the developer and the person merging the PR have responsibility in testing the change the primary responsibility is on the developer submitting the PR.
I appreciate your eagerness to contribute, just want to encourage more comprehensive testing especially when making refactors, as breaking ACS Commons affects developers on real projects that depend on this stuff to "just work".

Also, since I dont want to lose the commit that @geertsmichael contributed, please squash your additional commits into a single commit so there are only 2 commits to merge (the one with geertsmichael, and the one with your additional stuff) so that I dont have to squash and lose the history (and thus the appropriate accreditation)

@kwin please see comments above so we can close this out.  I think people are really waiting on the On-Deploy Scripts stuff to be fixed, and I want to merge this PR rather than #2047 unless you're unable to get back to this one soon.

As already said in https://github.com/Adobe-Consulting-Services/acs-aem-commons/pull/2045#issuecomment-532320944 I added @geertsmichael as co-author (because his original commit is not in this branch). I will squash everything into one commit now...

Done and you can see the co-authoring nicely e.g. in https://github.com/Adobe-Consulting-Services/acs-aem-commons/pull/2045/commits.

Thanks @kwin can you please merge latest master and update the oakpal check for check-expected-policy-paths per the request above?

Done, but now I see
[INFO] --- oakpal-maven-plugin:1.4.2:verify (oakpal-verify) @ acs-aem-commons-ui.content ---
[INFO] OakPAL Check Reports
[INFO]   com.adobe.acs.acs-aem-commons-oakpal-checks/acs-internal/enforce-no-deletes
[ERROR]    +- <MAJOR> deleted path /etc/acs-commons/instant-package/jcr:content/config/default. All deletions are denied. [acs-aem-commons-ui.content-4.3.3-SNAPSHOT.zip]
[ERROR]    +- <MAJOR> deleted path /etc/acs-commons/qr-code/jcr:content/config/default. All deletions are denied. [acs-aem-commons-ui.content-4.3.3-SNAPSHOT.zip]
[INFO]   net.adamcin.oakpal.core/basic/paths
[ERROR]    +- <MAJOR> deleted path /etc/acs-commons/instant-package/jcr:content/config/default. All deletions are denied. [acs-aem-commons-ui.content-4.3.3-SNAPSHOT.zip]
[ERROR]    +- <MAJOR> deleted path /etc/acs-commons/qr-code/jcr:content/config/default. All deletions are denied. [acs-aem-commons-ui.content-4.3.3-SNAPSHOT.zip]
[INFO]   net.adamcin.oakpal.core/basic/paths
[ERROR]    +- <MAJOR> deleted path /etc/acs-commons/instant-package/jcr:content/config/default. All deletions are denied. [acs-aem-commons-ui.content-4.3.3-SNAPSHOT.zip]
[ERROR]    +- <MAJOR> deleted path /etc/acs-commons/qr-code/jcr:content/config/default. All deletions are denied. [acs-aem-commons-ui.content-4.3.3-SNAPSHOT.zip]
[INFO]   net.adamcin.oakpal.core/basic/paths
[ERROR]    +- <MAJOR> deleted path /etc/acs-commons/instant-package/jcr:content/config/default. All deletions are denied. [acs-aem-commons-ui.content-4.3.3-SNAPSHOT.zip]
[ERROR]    +- <MAJOR> deleted path /etc/acs-commons/qr-code/jcr:content/config/default. All deletions are denied. [acs-aem-commons-ui.content-4.3.3-SNAPSHOT.zip]
[INFO]   com.adobe.acs.acs-aem-commons-oakpal-checks/acs-internal/enforce-no-deletes
[ERROR]    +- <MAJOR> deleted path /etc/acs-commons/instant-package/jcr:content/config/default. All deletions are denied. [acs-aem-commons-ui.content-4.3.3-SNAPSHOT.zip]
[ERROR]    +- <MAJOR> deleted path /etc/acs-commons/qr-code/jcr:content/config/default. All deletions are denied. [acs-aem-commons-ui.content-4.3.3-SNAPSHOT.zip]
[INFO]   net.adamcin.oakpal.core/basic/paths
[ERROR]    +- <MAJOR> deleted path /etc/acs-commons/instant-package/jcr:content/config/default. All deletions are denied. [acs-aem-commons-ui.content-4.3.3-SNAPSHOT.zip]
[ERROR]    +- <MAJOR> deleted path /etc/acs-commons/qr-code/jcr:content/config/default. All deletions are denied. [acs-aem-commons-ui.content-4.3.3-SNAPSHOT.zip]
[ERROR] ** Violations were reported at or above severity: MAJOR **

I don't really know what those are supposed to mean.
@adamcin any idea?

Does that refer to my comment above about how the ACS Commons deploy is now blowing away custom nodes under /etc/acs-commons/instant-package/jcr:content/config and /etc/acs-commons/qr-code/jcr:content/config?  If so, this is reporting a true bug - ACS Commons deploy should not blow those away.

The nodes are no longer overwritten. To me that looks like a false positive in oakpal-check

@hitmaninwis @kwin correct. those are arbitrary children paths I establish before the scan to detect unintentional deletion of content authored content.

@kwin could be. you can temporarily modify that inlineScript function in the pom to use the session to see if those default nodes still exist even if they registered as deletions.

@kwin I tested this again, and using the latest code from your branch I see the same behavior.
If I create the following nodes:

/etc/acs-commons/instant-package/jcr:content/config/mytest
/etc/acs-commons/qr-code/jcr:content/config/mytest
they are removed on deploy.  This is bad, and what OakPAL is reporting.

Technically Im not sure if either of those features put nodes under config, but leaving the filter as-is fundamentally incorrect.
What is a "real" but though is the config node itself is being overwritten.  Going to both the QR Code and Instant Package config pages and enabling the features updates the config node for each feature to set the enabled property to true but then re-deploying ACS AEM Commons with your current code changes those enabled properties back to false.

@kwin I pulled your branch locally and iterated a bit on the oakpal check by adding this section to the beginning of the inlineScript element to report the absence of the instant-package path both before package extract and after package extract:
                                function beforeExtract(packageId, session) {
                                    var instantPackagePath = "/etc/acs-commons/instant-package/jcr:content/config/default";
                                    if (!session.itemExists(instantPackagePath)) {
                                        oakpal.majorViolation("expected forced path beforeExtract: " + instantPackagePath, packageId);
                                    }
                                }
                                function afterExtract(packageId, session) {
                                    var instantPackagePath = "/etc/acs-commons/instant-package/jcr:content/config/default";
                                    if (!session.itemExists(instantPackagePath)) {
                                        oakpal.majorViolation("expected forced path afterExtract: " + instantPackagePath, packageId);
                                    }
                                    var policyPaths = [
                                        "/oak:index",
                                        "/content",
                                        "/content/dam",
                                        ...

When I ran this on the existing content, I confirmed that the default node is getting deleted upon install, because only the afterExtract violation was added to the report:
[INFO]   check-expected-policy-paths
[ERROR]    +- <MAJOR> expected forced path afterExtract: /etc/acs-commons/instant-package/jcr:content/config/default [acs-aem-commons-ui.content-4.3.3-SNAPSHOT.zip]

I added explicit primary and mixin node types to the forcedRoot definitions for each parent of the instant-package config default path to be sure that it wasn't a constraint violation preventing retention of the children. (I also had to import the package nodetypes.cnd using <cndNames> to allow using the cq:Page and cq:PageContent nodetypes in the forcedRoots)
                        <forcedRoot>
                            <path>/etc/acs-commons/instant-package</path>
                            <primaryType>cq:Page</primaryType>
                        </forcedRoot>
                        <forcedRoot>
                            <path>/etc/acs-commons/instant-package/jcr:content</path>
                            <primaryType>cq:PageContent</primaryType>
                        </forcedRoot>
                        <forcedRoot>
                            <path>/etc/acs-commons/instant-package/jcr:content/config</path>
                            <primaryType>nt:unstructured</primaryType>
                        </forcedRoot>
                        <forcedRoot>
                            <path>/etc/acs-commons/instant-package/jcr:content/config/default</path>
                            <primaryType>nt:unstructured</primaryType>
                        </forcedRoot>

But defining this extra existing structure did not eliminate the violations from the report.
I've got a hop on a flight right now, so I'll take a look at other possibilities after I land.

I can confirm that those nodes still get overwritten. I tried to identify the issue and the exclude does definitely work! But the merge mode on the dedicated filter rule does not work for some reason. Also merge="update" does not work. But once I remove the filter entries for /etc/acs-commons/instant-package/jcr:content/config it starts working. So maybe another filevault bug...

Ok, is there something you can do with the filter.xml in the meantime to work around the issue?

I guess one could just leave the node completely out from the filter, but then you will never ever be able to update that via any means in case it is already there (e.g. if there is the wrong resource type being set on that node). WDYT?

Probably should leave the config nodes out of ever updating b/c as of now that's where the enabled property is stored, so allowing for the edge case of wrong resource type to be fixed would cause the normal case of enabling the feature to be overwritten.  Basically the config node and its children should only be written if not pre-existing.

Probably should leave the config nodes out of ever updating b/c as of now that's where the enabled property is stored, so allowing for the edge case of wrong resource type to be fixed would cause the normal case of enabling the feature to be overwritten. Basically the config node and its children should only be written if not pre-existing.

Makes sense to me -- isn't that what the merge is supposed to do?

@kwin it looks like AEM 6.3 (min supported AEM version of acs-aem-commons 4.0.0+) ships with filevault 3.1.38, which means it might support the matchProperties attribute on the include/exclude elements added with JCRVLT-120 in v3.1.28:
Maybe this can be done with an <include pattern=".*/sling:resourceType" matchProperties="true"/> element or an <exclude pattern=".*/config/enabled" matchProperties="true"/> element?

Let's go with something simple for now to fix the issue and get the branch back to a working state.  There are some blocker bugs fixed by this PR so I think we should try to get this merged ASAP.

Is this PR still needed @kwin, @adamcin, @HitmanInWis?  Looking at the merge conflicts it seems like we solved the problem in a slightly different way already or am I missing something?

I think this PR had some additional fixes that were not included in other PRs, but given the lack of activity plus the conflicts it might make sense to let this roll off as stale.

Unfortunately property excludes do not work correctly due to https://issues.apache.org/jira/browse/JCRVLT-390?jql=project %3D JCRVLT AND fixVersion %3D 3.4.2. So I really need to investigate why merge does not work correctly in this case.

I can confirm that those nodes still get overwritten. I tried to identify the issue and the exclude does definitely work! But the merge mode on the dedicated filter rule does not work for some reason. Also merge="update" does not work.

This is now tracked in https://issues.apache.org/jira/browse/JCRVLT-396


Create sk.json

Thank you, but there is a language file for the frontend as well. Is there any chance you could translate that as well? Folder: custom_components/smart_irrigation/frontend/localize/languages

@jeroenterheerdt done.
Thank you for your work on integration.


docs(HMS-2680): add contributing guidelines

Add a contributing guidelines aligned with the rest of the repositories.

Conflicts now :/

@frasertweedale  Thanks! I forgot to fetch repository changes on a long time :+1: now is rebased on top of main


ERR_SSL_PROTOCOL_ERROR in chrome and SSL_ERROR_RX_RECORD_TOO_LONG in firefox

Issue Type

Bug Report / Support Request

Your Environment
Vagrant 1.8.7
VirtualBox 5.1.12r112440
ansible <IP_ADDRESS>
  config file =
  configured module search path = Default w/o overrides

Your OS

macOS (10.12.2)

Full console output
From chrome:
This site can’t provide a secure connection
www.drupalvm.dev sent an invalid response.
Try running Network Diagnostics.
ERR_SSL_PROTOCOL_ERROR
Summary
Using this config:
---
# A list of synced folders, with the keys 'local_path', 'destination', and
# a 'type' of [nfs|rsync|smb] (leave empty for slow native shares). See
# http://docs.drupalvm.com/en/latest/extras/syncing-folders/ for more info.
vagrant_synced_folders:
  # The first synced folder will be used for the default Drupal installation, if
  # any of the build_* settings are 'true'. By default the folder is set to
  # the drupal-vm folder.
  - local_path: ../drupal7
    destination: /var/www/drupalvm
    type: nfs
    create: true

# Settings for installing a Drupal site if 'install_site:' is 'true'.
drupal_major_version: 7
drupal_domain: "{{ vagrant_hostname }}"
drupal_site_name: "Drupal"
drupal_install_profile: standard
drupal_enable_modules: []
drupal_account_name: admin
drupal_account_pass: admin

# Comment out any extra utilities you don't want to install. If you don't want
# to install *any* extras, set this value to an empty set, e.g. `[]`.
installed_extras:
  - adminer
  # - blackfire
  - drupalconsole
  - drush
  # - elasticsearch
  # - java
  - mailhog
  # - memcached
  # - newrelic
  - nodejs
  - pimpmylog
  # - redis
  # - ruby
  # - selenium
  # - solr
  # - upload-progress
  # - varnish
  # - xdebug
  # - xhprof

# PHP Configuration. Currently-supported versions: 5.6, 7.0, 7.1.
# See version-specific notes: http://docs.drupalvm.com/en/latest/other/php/
php_version: "5.6"

# Other configuration.
ssh_home: "{{ drupal_core_path }}"

Removed the part I didn't change from default.config.yml.

There's no SSL vhost set and the browser complains about invalid SSL certificate?

Yes and weird. It looks there is somewhere something forcing a redirect to https. My drupal 7 .htaccess looks exactly like http://cgit.drupalcode.org/drupal/tree/.htaccess?h=7.x was thinking that the problem might be there.

Could you log in to the VM (vagrant ssh) and post the result of cat /etc/apache2/sites-available/vhosts.conf

And  just to verify, from this config.yml file, ../drupal7/web/index.php exists?

Output of cat /etc/apache2/sites-available/vhosts.conf
DirectoryIndex index.php index.html

<VirtualHost *:80>
  ServerName drupalvm.dev
  ServerAlias www.drupalvm.dev
  DocumentRoot /var/www/drupalvm

  <Directory "/var/www/drupalvm">
    AllowOverride All
    Options -Indexes +FollowSymLinks
    Require all granted
  </Directory>
  ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://<IP_ADDRESS>:9000/var/www/drupalvm"

</VirtualHost>

<VirtualHost *:80>
  ServerName adminer.drupalvm.dev
  DocumentRoot /opt/adminer

  <Directory "/opt/adminer">
    AllowOverride All
    Options -Indexes +FollowSymLinks
    Require all granted
  </Directory>
  ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://<IP_ADDRESS>:9000/opt/adminer"

</VirtualHost>

<VirtualHost *:80>
  ServerName xhprof.drupalvm.dev
  DocumentRoot /usr/share/php/xhprof_html

  <Directory "/usr/share/php/xhprof_html">
    AllowOverride All
    Options -Indexes +FollowSymLinks
    Require all granted
  </Directory>
  ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://<IP_ADDRESS>:9000/usr/share/php/xhprof_html"

</VirtualHost>

<VirtualHost *:80>
  ServerName pimpmylog.drupalvm.dev
  DocumentRoot /usr/share/php/pimpmylog

  <Directory "/usr/share/php/pimpmylog">
    AllowOverride All
    Options -Indexes +FollowSymLinks
    Require all granted
  </Directory>
  ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://<IP_ADDRESS>:9000/usr/share/php/pimpmylog"

</VirtualHost>

<VirtualHost *:80>
  ServerName <IP_ADDRESS>
  ServerAlias dashboard.drupalvm.dev
  DocumentRoot /var/www/dashboard

  <Directory "/var/www/dashboard">
    AllowOverride All
    Options -Indexes +FollowSymLinks
    Require all granted
  </Directory>
  ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://<IP_ADDRESS>:9000/var/www/dashboard"
DirectoryIndex index.html

</VirtualHost>

and the content of ../drupal7/index.php
<?php

/**
 * @file
 * The PHP page that serves all page requests on a Drupal installation.
 *
 * The routines here dispatch control to the appropriate handler, which then
 * prints the appropriate page.
 *
 * All Drupal code is released under the GNU General Public License.
 * See COPYRIGHT.txt and LICENSE.txt.
 */

/**
 * Root directory of Drupal installation.
 */
define('DRUPAL_ROOT', getcwd());

require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
menu_execute_active_handler();

Which is exactly as http://cgit.drupalcode.org/drupal/tree/index.php?h=7.x

Possibly related to #1074. I'm running out of possible ideas what can cause this though O.o I guess it's no browser cache thing where you used this same domain with a HTTPS before?

Does http://adminer.drupalvm.dev work?

yes. Should I use this link then?

http://adminer.drupalvm.dev shows you the adminer interface?
Any difference between http://drupalvm.dev and http://www.drupalvm.dev?

Nope it's showing the site. What I was expecting to see at http://drupalvm.dev, while http://drupalvm.dev  still showing the SSl error

Erm getting more confusing. Could you log in to the VM and run sudo service apache2 restart.

I know it's confusing but at least I can see the site under http://adminer.drupalvm.dev 😄 ! Also, I did restart apache but same result.

Going <IP_ADDRESS> give me access to the dashboard. And now http://adminer.drupalvm.dev is working as normal.

Fix it seems like chrome and firefox was caching my pages.

Glad you got it working!

Another possibility—sometimes if you have an .htaccess redirect that redirects all http requests to https, but you don't have a configured vhost running on port 443, this warning can pop up.
In this case, the easiest fix is to add an SSL vhost so it responds on 443 using Ubuntu's built-in certificate: http://docs.drupalvm.com/en/latest/configurations/webservers-apache/#using-ubuntus-snakeoil-certificate


bossa-arduino: init at 1.9.1-arduino2

Description of changes
Introducing Arduino's fork of the BOSSA flashing utility for flashing Arduino chips. It's what Arduino uses in its IDE and CLI utility.
I've tested in in practice in the following repository: https://github.com/ners/hello-arduino
I've also updated the vanilla BOSSA package.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 186759 run on x86_64-linux 1

2 packages built:

bossa
bossa-arduino

I'm not sure how to request a review. @ryantm could you have a look?

@SuperSandro2000 could I ask you for review?


Sync eng/common directory with azure-sdk-tools for PR 1128

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/1128  See eng/common workflow

/check-enforcer override


How to find "where you belong" in web3

Description
I want to share my story about finding my own potentials and limits while understanding where I can add values as a beginner in web3 with no experience. I started as a beginner back in September '21 with no experience in web3 or coding to joining two successful hackathon:

web3con (won livepeer bounty for killer web3 video streaming app)
chainlink (successfully submitted project on May 27, 2022)

I also became the team lead for a DAO project called School of Code while being part of the core contributor to the education team and a group for women/non-binary within the DAO called D_D women (https://twitter.com/devdaowomen).
None of this would have happened without Developer DAO .
Some points that I'm thinking for my talk:

How I was able to join the DAO
How I got support and motivation from the people and made friends
How the new Education team was formed and how we started learning
How I became a part of the moderator's team and became deeply involved
How I found out where I can add values despite of having no experience with anything
How I got mentored by my DAO friends and gave me constant support despite of having own self doubts
How I changed as a person from being introverted to being someone who can lead, take initiatives and make decisions for teams

I will highlight my journey and struggles and how I reached to where I am from an absolute beginner with no web3 knowledge to a contributor.

What Is Your Target Audience?
anyone in web3 regardless of their skill level and also anyone who wants to start diving into web3 but hesitating if they can find their belonging

How Much Time Would You Like To Commit?
I can dedicate as much time I need for this honestly

What Is The Style of Your Session?
30 min Regular Talks

Are You Submitting Alone or With A Team?
Alone

My twitter : https://twitter.com/me256ow (you can reach out to me there)

I'm personally excited for this one, hoping for the best. Cheers.

@Th3lazykid thank you. I will try to bring up about the community involvement and how community and diversity is widely accepted within web3 community.

Sweet, I'll vouch for you. 🤞

I will be closing the issue, thank you for your consideration.


deis tag should add nodeSelector to pod template

I guess that our plan for deis tag is to have it create node selectors as documented here: http://kubernetes.io/v1.1/docs/user-guide/node-selection/README.html

GKE does not really support proper nodes labelling yet, labels are gone then the node gets upgraded.
So we have to take this in to mind for deis tag

labels are gone then the node gets upgraded

Didn't understand that part.  Does this mean it's nit a graceful degradation?

automatic node upgrade on GKE is deleting the node and creating the new one

I think we should still do this.  The fact that one particular managed k8s offering (even if it's the premiere one) has trouble with node labeling probably shouldn't stop us.  We could note in the documentation that mileage from this feature may vary with k8s distribution.
I've experimented with labeling nodes on my kube-aws cluster and it works great.


Add support to playlist

Can you add support to multiple songs, like a playlist ?

@cbfranca Thanks for the suggestion! This is somewhat planned. Hoping to get back to work next week or so.

I'm going to start working on this as I have a need for a non-JQuery player.
Any suggestions/requests for the implementation? Thinking the input for the playlist will be an array of JSON. And then clicking an entry in the playlist will change the src for the main player object. But I'm not 100% certain how that will work in practice.
Design-wise I'll be sticking doggedly to the Material-UI spec. But the real question becomes, which bit of the spec do we want to base the main playlist off of?
We can stick to the basic spec outlined by the contacts design which is how Google Play implements the playlists as well. And we'll definitely start with that.
But if people want to pack information more densely into the UI we could look at using the notification spec to do a compliant implementation where by default it's just the track name, artist, duration but can be expanded out to list more information, eg. album title, year, subtitle, rating, genre, publisher, and even custom data if we put a mechanism for it. But that's just an idea at this point.
Let me know what you think and any wish lists.


standard library introduction

Adds a standard library introduction
This is done in the introduction, as the std library is used and referenced in the examples ahead of it
It tries to stay high level, points to the code location for additional investigation if needed
We will wait for forc-documenter to produce more detailed docs

Closes: https://github.com/FuelLabs/sway/issues/1316
Note: going to change out one of these paragraphs as its too close to the Rust std docs. Will do that tomorrow.

Closes: https://github.com/FuelLabs/sway/issues/1316

Closing keyword needs to be in the PR description

@SilentCicero I committed the change and will merge this on your behalf. I hope you don't mind! And apologies for stealing the satisfaction!


Weird projection issues w/ raster fixed (?)

The light at the end of this very confusing tunnel! I believe this is where we want to be. @dblodgett-usgs there are a lot of projection strings floating around, I would really appreciate if you could review this to make sure it's working as expected!

Deleted target/.remake folders and ran vizlab::vizmake(). Everything looks good. Merging.


Error when uploading IdP meta data downloaded from a service provider

Scenario

Manually register a service provider and configure it with SAML2 web SSO
Download the IdP metadata after configuring
Create a new service provider
Upload the downloaded metadata file in the previous step when configuring SAML2 web SSO gives the following error: Metadata uploading failed. Error while uploading the service provider

I have attached the metadata file downloaded (The file is with the txt extension since xml files cannot be uploaded : metadata.txt
Error
org.wso2.carbon.identity.sso.saml.ui.exception.IdentitySAML2SSOUiException: Error while uploading the service provider 	at org.wso2.carbon.identity.sso.saml.ui.client.SAMLSSOConfigServiceClient.uploadServiceProvider(SAMLSSOConfigServiceClient.java:97) 	at org.wso2.carbon.identity.sso.saml.ui.client.SamlSPMetadataUploadExecutor.execute(SamlSPMetadataUploadExecutor.java:88) 	at org.wso2.carbon.ui.transports.fileupload.AbstractFileUploadExecutor.executeGeneric(AbstractFileUploadExecutor.java:104) 	at org.wso2.carbon.ui.transports.fileupload.FileUploadExecutorManager$CarbonXmlFileUploadExecHandler.execute(FileUploadExecutorManager.java:436) 	at org.wso2.carbon.ui.transports.fileupload.FileUploadExecutorManager$FileUploadExecutionHandlerManager.startExec(FileUploadExecutorManager.java:320) 	at org.wso2.carbon.ui.transports.fileupload.FileUploadExecutorManager.execute(FileUploadExecutorManager.java:127) 	at org.wso2.carbon.ui.transports.FileUploadServlet.doPost(FileUploadServlet.java:57)
Caused by: org.apache.axis2.AxisFault: org.opensaml.saml2.metadata.impl.IDPSSODescriptorImpl cannot be cast to org.opensaml.saml2.metadata.SPSSODescriptor 	at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531) 	at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:382) 	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:457) 	at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228) 	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) 	at org.wso2.carbon.identity.sso.saml.stub.IdentitySAMLSSOConfigServiceStub.uploadRPServiceProvider(IdentitySAMLSSOConfigServiceStub.java:3033) 	at org.wso2.carbon.identity.sso.saml.ui.client.SAMLSSOConfigServiceClient.uploadServiceProvider(SAMLSSOConfigServiceClient.java:95)

Hi Natasha,
IDP metadata exports SAML IDP configurations of identity server. This metadata is used when configuring IS as a SAML IDP in a Service Provider. Therefore, the IDP metadata cannot be uploaded when configuring a service provider.
IS doesn't have the capability to export SP metadata as of now.

Hi Omindu,
To be clear we can download SAML metadata in the SAML service provider section of a registered service provider. We can download SAML metadata in Resident IdP as well. What is the difference between the two?

Hi Johann,
This is for UX, so the IdP metadata can be downloaded during SP creation rather than going to resident IdP settings. There's no difference.

Closing as answered.


WIP: [ONNX][TOPI]  Add Col2Im operation

Implementation of Col2Im operation from ONNX opset on TVM side

Hi, any update on this pr? col2im and im2col are some missing ops that would be nice to have support.


Fix invalid country/address combinations

Overview
Three facilities contributed to the OAR have addresses in China but,
erroneously, have India listed as the country in the data upload.
These facilities have plotted on the map in China, but appear in India
country searches because of their assigned country code.
Reviewing the raw data for the associated facility
list items, it appears that the submitted country code was for India,
although the addresses appear to be in China. This seems like an error
in the submitted data.
To prevent similar invalid facilities from being inserted into the
database in the future, we now raise a geocoding error when the geocoded
location's country code doesn't match the provided country code.
Connects #1092
Demo

Testing Instructions

Run ./scripts/server
Upload a new facility list using the raw data from the invalid facilities. Note the list id.
https://openapparel.org/facilities/IN2020217JJAJW1?contributors=139&countries=IN
https://openapparel.org/facilities/IN2020217A108YP
https://openapparel.org/facilities/IN202022057W0HR
Run ./scripts/manage batch_process --list-id {id} --action parse and confirm all three facilities parse.
Run ./scripts/manage batch_process --list-id {id} --action geocode and confirm that all three facilities fail.
View the list in the application and confirm that the three list items all show appropriate geocoding errors.

Checklist

[x] fixup! commits have been squashed
[x] CI passes after rebase
[x] CHANGELOG.md updated with summary of features or fixes, following Keep a Changelog guidelines

Thank you for reviewing!


Configure Azure Pipeplines

This pipeline configuration builds the application and produces a build for the Release configuration.
Cool Stuff going on here

Incorrectly done. Reverting.


Error while opening "Intel.RealSense.Viewer.exe"

librealsense
2.45.0 RELEASE

OS
Windows

Intel RealSense Viewer / Depth Quality Tool has crashed with the following error message:
Program terminated due to an unrecoverable SEH exception:
Access Violation!

Hi @MuhammadBilal1  I will direct you first to a recent discussion about this error at https://github.com/IntelRealSense/librealsense/issues/9672
If the advice in that discussion does not resolve the problem for you, please let me know and I will be pleased to continue helping you.

Hi @MuhammadBilal1 I will direct you first to a recent discussion about this error at #9672
If the advice in that discussion does not resolve the problem for you, please let me know and I will be pleased to continue helping you.

Thank you for a quick response.
I tried to do the same as instructed on the #9672  , but still no progress. Getting the same issue.
The attached image shows all the details which I have.

Are you able to successfully use the rs-capture pre-built example program using the instructions in https://github.com/IntelRealSense/librealsense/issues/8024#issuecomment-747630656

No, I am not able to run the rs-capture pre-built example program. The attached screenshot shows the results.
I performed the same test on Intel.RealSense.SDK-WIN10-<IP_ADDRESS>09 & Intel.RealSense.SDK-WIN10-<IP_ADDRESS>74, but the result is same from both.

Are you using the official 1 meter USB cable supplied with the camera or a longer cable of your own choice, please?
Also, do you know which firmware driver version your camera is using?

Cable: Yes, I am using the original cable that came in the camera box.
Now I just installed the Linux Distribution of librealsense on a Ubuntu machine.
It was installed successfully on Ubuntu and Intel RealSense Viewer opened. Upon first time opening it gave me the option to update the firmware, I updated the firmware to the latest available firmware.
After updating the firmware on the Ubuntu machine, I again connected the camera to the Windows machine. This time the rs-capture.exe worked for me on windows.
But still the Intel RealSense Viewer isn't working on Windows machine.

Thanks very much @MuhammadBilal1 for the update of your positive progress.  As rs-capture works on that PC, it suggests that there is not a problem with the OpenGL graphics drivers on your computer, as both rs-capture and the Viewer make use of OpenGL.
Your situation is like the case https://github.com/IntelRealSense/librealsense/issues/7185#issuecomment-688457080 in which a RealSense user also had an access violation on Windows.  In the end they mostly managed to resolve the problem but still could not get the Viewer to work.  In their particular case the Viewer was not important to their work though.  Their solution was to remove hidden camera driver entries in the Device Manager of Windows, as described in https://github.com/IntelRealSense/librealsense/issues/7185#issuecomment-688837669
May I also ask whether you are able to launch the Depth Quality Tool program, which has a similar design to the Viewer?

Hi @MuhammadBilal1  Do you require further assistance with this case, please?  Thanks!

Hi @MuhammadBilal1 Do you require further assistance with this case, please? Thanks!

I didn't get the time to check your latest hunch, but hopefully tomorrow I will try that.
I will update you after checking https://github.com/IntelRealSense/librealsense/issues/7185#issuecomment-688837669.
Thanks for asking.

Thanks very much @MuhammadBilal1  :)

I am having a similar issue.
rs-capture works but not rs-depth-quality or realsense-viewer
realsense-viewer worked yesterday but not today...
|---|---|
|librealsense|2.48.0 RELEASE|
|OS|Windows|
Intel RealSense Viewer / Depth Quality Tool has crashed with the following error message:
Unhandled exception escaping from a worker thread!
Error type: Access Violation!

Device info:
Name                          :     Intel RealSense D435I
Serial Number                 :<PHONE_NUMBER>24
Firmware Version              :     <IP_ADDRESS>
Recommended Firmware Version  :     <IP_ADDRESS>
Physical Port                 :     \?\usb#vid_8086&pid_0b3a&mi_00#6&2efa4cdc&0&0000#{e5323777-f976-4f5b-9b55-b94699c46e44}\global
Debug Op Code                 :     15
Advanced Mode                 :     YES
Product Id                    :     0B3A
Camera Locked                 :     YES
Usb Type Descriptor           :     3.2
Product Line                  :     D400
Asic Serial Number            :<PHONE_NUMBER>44
Firmware Update Id            :<PHONE_NUMBER>44

This resolved when I downloaded an older version of the viewer and ran it. The newer version then started working...

Thanks very much @illmade-knight for the update about your particular problem - it's great to hear that you found a solution!
@MuhammadBilal1  I look forward to your next update.  Thanks!

Hi @MuhammadBilal1  Do you have an update about your case that you can provide, please, as you said in https://github.com/IntelRealSense/librealsense/issues/9741#issuecomment-919759178 that you were going to check https://github.com/IntelRealSense/librealsense/issues/7185#issuecomment-688837669

Hi @MuhammadBilal1  Do you require further assistance with this case, please?  Thanks!

Sorry, I don't have the time to check the said instructions for now. You can close the ticket. I will get back to you if I need any assistance.
Thank you for your support.

You are very welcome, @MuhammadBilal1 - thanks very much for the update.  As you suggested, I will close the ticket.  Thanks again!


🔌 Plugin: Gitlab API to create Deploy Tokens and Access Tokens

🔖 Summary
I really enjoy using the Scaffolder, in order for us to make that work, we already implemented some custom plugins. One for example, is to create some Gitlab Tokens (Deploy Tokens and Access Tokens, as well as Project Variables) with the Scaffolder. This can (and should) also implement further Gitlab APIs.
Would you like to have such plugin? i currently don't have the resources to implement the remaining API's though.
🌐 Project website (if applicable)
No response
✌ Context
No response
👀 Have you spent some time to check if this plugin request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

Sure! Create a new package named @backstage/plugin-scaffolder-backend-module-gitlab, ideally we want to move all gitlab related scaffolder actions into that page as well :)

Hello,
I am trying to use gitlab:projectAccessToken:create, but it seems not working.
When I try to use the step the result is empty string, but I have tested also the gitlab api using the body in your code and I receive an error:
{
"error": "expires_at is missing"
}
So, am I wronging something?
Thanks a lot,
Matteo.

Thanks for the feedback @kratosmat! If I understand you correctly you are running in to an issue with createGitlabProjectAccessTokenAction, which was added in the linked PR, correct? The linked PR fixed this issue already so I will close it. I would like to encourage you to create a new issue on the repository to highlight the issue you are running into. Hope we can help you, than to fix your issue there! :)


import error after upgrade to 1.10.5 "ImportError: cannot import name 'LockState'"

Checklist

[X] I am using the latest version of Alarmo (latest version can be found here)
[X] I checked for similar existing requests (both open and closed) before posting.

Alarmo Version
1.10.5
HA Version
2024.9.3
Bug description
Hi,
After upgrading to 1.10.5 the integration launch fails on startup.
Rollback to 1.10.4 fix the issue.
Steps to reproduce
Just try to update with last version and HA 2024.9.3
Relevant log output
2024-10-06 09:26:28.400 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to import_module with args ('custom_components.alarmo',) in /usr/src/homeassistant/homeassistant/loader.py, line 1067: ComponentProtocol, importlib.import_module(self.pkg_path) inside the event loop; This is causing stability issues. Please create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#import_module
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in <module>
    sys.exit(main())
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main
    exit_code = runner.run(runtime_conf)
  File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
    self.run_forever()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
    self._run_once()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once
    handle._run()
  File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 165, in async_setup_component
    result = await _async_setup_component(hass, domain, config)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 334, in _async_setup_component
    component = await integration.async_get_component()
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1019, in async_get_component
    comp = self._get_component()
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1067, in _get_component
    ComponentProtocol, importlib.import_module(self.pkg_path)

2024-10-06 09:26:28.402 ERROR (MainThread) [homeassistant.setup] Setup failed for custom integration 'alarmo': Unable to import component: cannot import name 'LockState' from 'homeassistant.components.lock' (/usr/src/homeassistant/homeassistant/components/lock/__init__.py)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1007, in async_get_component
    comp = await self.hass.async_add_import_executor_job(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1067, in _get_component
    ComponentProtocol, importlib.import_module(self.pkg_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/util/loop.py", line 200, in protected_loop_func
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/config/custom_components/alarmo/__init__.py", line 28, in <module>
    from .store import async_get_registry
  File "/config/custom_components/alarmo/store.py", line 21, in <module>
    from .sensors import (
  File "/config/custom_components/alarmo/sensors.py", line 37, in <module>
    from homeassistant.components.lock import LockState
ImportError: cannot import name 'LockState' from 'homeassistant.components.lock' (/usr/src/homeassistant/homeassistant/components/lock/__init__.py)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 334, in _async_setup_component
    component = await integration.async_get_component()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1027, in async_get_component
    self._component_future.result()
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1019, in async_get_component
    comp = self._get_component()
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1067, in _get_component
    ComponentProtocol, importlib.import_module(self.pkg_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/util/loop.py", line 200, in protected_loop_func
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/config/custom_components/alarmo/__init__.py", line 28, in <module>
    from .store import async_get_registry
  File "/config/custom_components/alarmo/store.py", line 21, in <module>
    from .sensors import (
  File "/config/custom_components/alarmo/sensors.py", line 37, in <module>
    from homeassistant.components.lock import LockState
ImportError: cannot import name 'LockState' from 'homeassistant.components.lock' (/usr/src/homeassistant/homeassistant/components/lock/__init__.py)

Sorry, it seems this release contains a change that is only compatible with the latest HA 2024.10 release.

note to myself: don't do anything on Sunday morning.
It was well noted in the release note :

Note: this release requires HA 2024.10.0 or higher.

Don't blame yourself, I added this note after you opened this bug report.
I was not aware this is an incompatibility issue, I try to warn users upfront.


Running PreProcMacro with valgrind reveals a read from non-allocated memory

To reproduce
(make debug ; cd tests/PreProcMacro ; valgrind ../../dbuild/bin/surelog $(cat PreProcMacro.sl))

It looks like that in SV3_1aPpTreeShapeListener.cpp:1163 maybe an element is accessed in the stack that does not exist ?
Should stack-emptiness be checked ?
--- a/src/SourceCompile/SV3_1aPpTreeShapeListener.cpp
+++ b/src/SourceCompile/SV3_1aPpTreeShapeListener.cpp
@@ -1158,7 +1158,7 @@ void SV3_1aPpTreeShapeListener::enterEndif_directive(
     if (ctx->One_line_comment()) {
       addLineFiller(ctx);
     }
-    while (unroll) {
+    while (unroll && !stack.empty()) {
       PreprocessFile::IfElseItem &item = stack.back();
       switch (item.m_type) {
         case PreprocessFile::IfElseItem::IFDEF:

Right! I fixed in the wrong place. There is no core dump anymore, but there is still a UMR.
I'll fix this.

Fixed by #3136


CM speedrun timing incorrect in coop for Blue

The speedrun timer seems to be incorrect in coop CM, off by exactly 1 tick. However, it seems to work fine for Orange, which makes literally no sense.


added small script to download and unpack multithumos and a python sc…

…ript to split the annotations into val and test

At the moment, we are relying on symbolic links to the thumos14 dataset inside of the multithumos directory. We should probably change the script to reference the thumos14 directory explicitly rather than using the symbolic links.

At the moment, we are relying on symbolic links to the thumos14 dataset inside of the multithumos directory. We should probably change the script to reference the thumos14 directory explicitly rather than using the symbolic links.

That does not sound good. Which script are you referring to?
IMO, for now, we can just keep it as is if it's too much work to refactor it. However, after the blog post/presentation we can spend some time refactoring it and issue a pull request to the upstream. The whole repo is not very intuitive to navigate.

I think it's just a matter of modifying the vedatad/datasets/multithumos.py file. Shouldn't be too involved.


Install problem - nothing displays

Hi I can't seem to get the script to work, does it only work with bower? i've even tried downloading local versions of the script and jquery and nothing i do seems to display anything at all. i've tried stripping everything out to a blank html page and just the example code and still nothing. what am i missing?
<!doctype html>

Untitled Document
    <script src="js/jquery.countdown.min.js"></script>
    <script src="js/jquery-2.1.4.min.js"></script>

jquery library should be inserted before the plug-in.
Do you get an error in initialization?

Yeah, the plugin need the jquery to work properly, so MUST appear after it...
<script src="js/jquery-2.1.4.min.js"></script>
<script src="js/jquery.countdown.min.js"></script>

Hi, i've tried with the jquery before the plug in and it still doesnt display anything, no error messages, nothing, it just doesn't appear. i have other jquery scripts running without any problems, i just cant get this one to even display.

I don't knwo what to do to help you, but I am pretty sure that is a problem within your HTML, because the plugin it's working:
https://github.com/hilios/jQuery.countdown/blob/gh-pages/_layouts/main.html#L17

i think for now i'll leave it, i've wasted enough time trying to get it to work, thanks for your input anyway.

+1
I've implemented a pure js function instead.

same thing here - nothing displays. No errors being thrown

Guys, please be specific I don't have a crystal ball, the plugin just loads fine at the examples and several others website, so show me examples!

Has I said, if you provide an example of how it's failing against your conditions let me know and we re-open this issue!


do not show twistie for a childless compressed node

Testing #101009
An uncompressed debug session tree shows twisties only where it makes sense:

The corresponding compressed tree shows a twistie despite the fact that it is really the "leaf" from the uncompressed tree:

I was about to open an issue for this. I can reproduce this by having a parent session that spawns and unspawns a child, specifically running this script via launch config or the debug terminal: https://github.com/microsoft/vscode-js-debug/blob/master/demos/node/parent.js

Well I automatically expand all parent sessions so the compressed state would be immediatly visible..
I also introduced a check to not auto expand the same session twice so that user can explicitlyt collapse something.
I just change the logic now that we allow to auto collapse a session if it has a new child element - what seem to be the case here.


Resolve merge conflict and update jsdoc generator package

I'm not sure this is the right way to do this; I think what's needed is to rebase the branch and then resolve merge conflicts.

Ok cool. Glad you are working on it


Need responsiveness for small screens (mobile)

Make two columns (search, etc) into one row for small screen sizes

Added responsive design using tailwind breakpoints
For example, these classes reduce the rows of result cards to 5,4,3,2 columns depending on screen width:
grid-cols-5 max-2xl:grid-cols-4 max-lg:grid-cols-3 max-md:grid-cols-2


[Admin] Connect Area Management Graphs to selected Filters

The graphs on the right-hand side of the area-management page should match the filter criteria

/cib cc-am-graph

Branch 171-cc-am-graph created!


Fix image load infowindow

This PR fixes a problem loading custom infowindow templates with images. It also refactor some of the infowindow.js code, makes the loading of the image more pleasant and reviews the infowindow specs.
A sample template used to do some of the testing:
template: "

My title

"

 template: "

My title

"

@xavijam: can you take a look, please?

Could we add an example in the v4 branch for testing porpuses? please :)

Sure! :)

I've added a basic first example: examples/v4-infowindow.html.

Does the hook appear with white background when image is being loaded?

Oh, yes, that's one of the things I fixed too.

Awesome. I :revolving_hearts: you.

This is the new infowindow @iriberri :)

I've made several fixes to allow using custom loaders in the content of an infowindow. Sadly, I don't think we can use the same solution for the covers (because images could take longer to load than the fields and the infowindow template would be refreshed, without the special 'loading' flag that we add in the content)

@xavijam: :point_up:  that said, all yours :)

Checking it! :)

I feel code looks great and it covers perfectly our new features, so :100:.
And also new examples are pure love :D.

Thanks for the review, the advices & the kind words! :)


docx2txt module not found

Using PyCharm 2<IP_ADDRESS> (pro), python 3.12, extract-thinker 0.28. MacOS Sequoia 15.2 (24C101)
This error was raised after updating extract-thinker via the pyCharm packages tool.
docx2txt 0.8 is in site-packages in the .venv path.
I tried...
uninstalling docx2txt and reinstalling it, no joy.
uninstalled extract-thinker and reinstalled. error still raised.
  File ".../pyCharmProjects/Extract-thinker/et_flow_orchestrator.py", line 41, in <module>
    from et_run_statement_processor import process_run_statement
  File ".../pyCharmProjects/Extract-thinker/et_statement_processor.py", line 4, in <module>
    from extract_thinker import Extractor, DocumentLoaderPyPdf
  File ".../pyCharmProjects/Extract-thinker/.venv/lib/python3.12/site-packages/extract_thinker/__init__.py", line 22, in <module>
    from .document_loader.document_loader_doc2txt import DocumentLoaderDoc2txt
  File ".../pyCharmProjects/Extract-thinker/.venv/lib/python3.12/site-packages/extract_thinker/document_loader/document_loader_doc2txt.py", line 3, in <module>
    import docx2txt
ModuleNotFoundError: No module named 'docx2txt'

Process finished with exit code 1```

Hey @mophilly
pip install docx2txt
Im taking care of this as we speak. Changing the documentation, because in python you need to this (that looks horrible)

So the dependencias dont blow up when you use 1% of the features.

FYI... extract-thinker 0.27 doesn't raise that error.
Thanks for being so responsive. It really helps!

@mophilly
FYI... extract-thinker 0.27 doesn't raise that error.
interesting...
No worries, thank you for the help. I will be here in the next hours. I will be very responsive if you need me

BTW, pip install docx2txt did not resolve the issue for me using 0.28.
It may be my local set up. I uninstalled docx2txt, purged the pip cache, and re-installed, but no joy. Also, checked paths and such, and all looks correct. I sense that I am overlooking something.

@mophilly
Going to solve it 0.0.29.
2 mins

@mophilly
Actually, is on the depency list. You should be able to install it.
Can you create a new venv?
make sure the docx2txt is there?

I can recreate the .venv... I think. New idea to me. I will research. At worst I can save off the project files and create an pycharm project.
docx2txt is definitely there. pip show docx2txt returns info.

I built a new project in PyCharm and installed extract-thinker 0.0.28. Same problem with docx2txt. 0.0.27 runs ok.
It was time for me to start from a clean setup so all good.

@mophilly
Checking now. I get back to you soon

@

@mophilly
Thank you for the wait.
Can i fix it, its working, but only in python 3.12. What version are you using?
Python 3.13 has a completely different problem. Gonna fix that one too.
0.0.29

I am using python 3.12. If python 3.13 has advantages, then I can upgrade.

@mophilly Not really for this.
Keep it this way, its working with 3.12

Just tried my project with 0.0.29. It raised the error about "import docx2txt".

@mophilly
import os
from typing import List
from dotenv import load_dotenv
from extract_thinker import Extractor
from extract_thinker import Contract
from extract_thinker import DocumentLoaderDoc2txt
from pydantic import BaseModel, field_validator
load_dotenv()

class InvoiceLine(BaseModel):
    description: str
    quantity: int
    unit_price: float
    amount: float

    @field_validator('quantity', mode='before')
    def convert_quantity_to_int(cls, v):
        if isinstance(v, float):
            return int(v)
        return v

class InvoiceContract(Contract):
    invoice_number: str
    invoice_date: str
    lines: List[InvoiceLine]
    total_amount: float

# Arrange
cwd = os.getcwd()
test_file_path = os.path.join(cwd, "invoice.docx")

extractor = Extractor()
extractor.load_document_loader(
	DocumentLoaderDoc2txt()
)
extractor.load_llm("gpt-4o-mini")

# Act
result = extractor.extract(test_file_path, InvoiceContract)

print(result)

install venv:
python3.12 -m venv venv
change to venv:
# Windows
.\venv\Scripts\activate

# Unix/Linux/Mac
source venv/bin/activate

run file:
python testExtract.py
Just did it like this. Is this what you are doing?

@enoch3712
Here is the processing part, without the some logging code removed to make it easier to read.
from dotenv import load_dotenv
from pydantic import ValidationError
from extract_thinker import Extractor, DocumentLoaderPyPdf
from models.receipt import RunStatementContract

load_dotenv()

def process_run_statement(input_path: str, output_path: str, log_processor=None):

    # create a document loader
    document_loader = DocumentLoaderPyPdf()

    # create the extractor
    extractor = Extractor()
    extractor.load_document_loader(document_loader)
    extractor.load_llm("gpt-4o-mini")  # or any other supported model

    # Extract data from your document
    result = extractor.extract(input_path, StatementContract, vision=True)

    validated_data = RunStatementContract.model_validate(result)
    # Write JSON object to the file system
    with open(output_path, "w") as file:
         json_data = validated_data.model_dump_json()
         file.write(json_data)

@mophilly
import os
from typing import List
from dotenv import load_dotenv
from extract_thinker import Extractor
from extract_thinker import Contract
from extract_thinker import DocumentLoaderDoc2txt
from extract_thinker import DocumentLoaderPyPdf
from pydantic import BaseModel, field_validator, ValidationError

load_dotenv()

class InvoiceLine(BaseModel):
    description: str
    quantity: int
    unit_price: float
    amount: float

    @field_validator('quantity', mode='before')
    def convert_quantity_to_int(cls, v):
        if isinstance(v, float):
            return int(v)
        return v

class InvoiceContract(Contract):
    invoice_number: str
    invoice_date: str
    lines: List[InvoiceLine]
    total_amount: float

cwd = os.getcwd()
test_file_path = os.path.join(cwd, "invoice.pdf")

document_loader = DocumentLoaderPyPdf()

extractor = Extractor()
extractor.load_document_loader(document_loader)
extractor.load_llm("gpt-4o-mini")

result = extractor.extract(test_file_path, InvoiceContract, vision=True)

print(result)

This worked. I dont see anything related with doc2txt here

That good to hear. The only differences between your example and mine is the import statements. I will play with that. I will look again at the PyCharm and more deeply in the venv. Maybe it is a file permission thing.

This is resolved. The problem was in PyCharm. I am a new user of that tool. The default out-of-box settings worked fine for the first project or two. After the last update of PyCharm, and me adding more projects, the python path was empty. It was resolved by adding a defined run template for the project.


Android: added notifications number on badge and reviewed notification click behaviour.

There are three related changes
1. Set notifications number on android app badge
As in the iOS side, when the app is in background it is possible to set the badge number using the same callback defined for iOS.

Number is displayed in both app icon and the badge shortcut if available.
Of course behaviour depends on the device but I'm tested it in a set of devices with Android 4.4+ and it works.
It uses me.leolin.shortcutbadger.ShortcutBadger.

2. Launch app when user clicks on notification
This feature was supposed to be available but unfortunately I never seen it working so I checked it and changed to fix.
3. Update "opened" stats when user clicks on notification
In Android, notifications " opened" stats (visible from aerogear admin page) were updated when the message was received. Now (as for iOS) "opened" stats are updated when the notification is opened by clicking on it (causing app relaunch).

Landed at https://github.com/aerogear/aerogear-cordova-push/commit/812d6ada1342138a3c545470ed02395d11a66da2
Thanks for the contribution


Don't discover tag helpers if some references are missing

A common cause for runtime view compilation failure in MVC is when an application is published
without reference assemblies. MVC usually handles this at compilation, by looking for specific
error codes. More recently, TagHelper discovery fails with an not-so-helpful error message in this
scenario. This change attempts to add a little more error checking to cover the most common cases

From https://github.com/aspnet/Mvc/issues/7910, here's the error message we produce now:

Error RZ3007: Targeted tag name cannot be null or whitespace

The fix here is to let code generation succeed with no tag helpers being discovered and let the compilation error instead.

@dotnet-bot test Windows Release x64 Build please

🆙 📅


bump to 0.4.1

mostly fixing versioning but now nancycats() and gulfsharks() have been replaced with @nancycats and @gulfsharks respectively.
@JuliaRegistrator register

Comments on pull requests will not trigger Registrator, as it is disabled. Please try commenting on a commit or issue.


Apply formatting rules to quoted names in command list

The query for command_list didn't account for quoted command names, so I added val_string as an alternative to cmd_identifier. These should be the only possible node types here according to the grammar.
Source:
use module [foo bar]
use module ["foo" "bar"]
use module [foo "bar"]
use module ["foo" bar]

Before PR:
use module [ foo bar ]
use module ["foo""bar"]
use module [ foo "bar"]
use module ["foo" bar ]

After PR:
use module [ foo bar ]
use module [ "foo" "bar" ]
use module [ foo "bar" ]
use module [ "foo" bar ]

Thanks for trying and contributing!


(minor/doc) link to istio dev setup

let's link
https://github.com/istio/istio/blob/master/devel/README.md into doc/build.md and maybe README.md too

will do a followup direct commit to fix some doc links.

fixed in #875


How do you deal with the overflow of text to the newline if a translated language is longer than the original?

Firstly thank you for the effort with this plugin.
We are going to use auto translations of the JSON, and not have the ability to check each slides CSS prior to translation... I translated one JSON file to French and it dropped to the next line on many slides, looking like the image attached. Any suggestions? Original in English below:

Three solutions:
1: Make sure that the codeblock are positioned relatively. Longer text will push the codeblock down. That is then just the way it is.
2: Same as 1, but make the h1 smaller. See https://codepen.io/martino/pen/ZEZQKRx. You could also use the h1 for the title of the deck and use h2's here.
3: Make the h1 fit the width of the slide. See https://codepen.io/martino/pen/dyLGRmp. There's an added script that re-layouts the slide after the text swap.

Did any of these solve the problem? It is, historically, a very old issue. Books, magazines etcetera. In those fields the translator gets the assignment to limit the amount of text and reword it if the text gets too long. This plugin may not need to be the issue-solver.

Right still working on it. Slides.com exports the divs in absolute position on the page. Which is why this is occurring. We have 1000's of slides that we're thinking about converting to slides.com, and then exporting to reveal.js. The export does it that way. Unfortunately the people creating the slides do not know HTML very well, so trying to come up with a solution that is easy enough for them to do without having to touch the code, which from where I sit doesn't look like it can happen. The aim was to build in slides.com, export into our platform, then automatically parse the code and add necessary attributes like "data-i18n", and automate as much of it as possible. Slides.com export to reveal.js just does it that way.

I came up with a similar solution to option 3 you did above. And applied it to all "data-i18n" tags in throughout the deck. Let's say it made a lot of really small headings, really large lol.

Just tried option 3 with class="r-fit-text", better result than what I hacked together :)

So in saying that, yes I do not believe it is your plugin that needs to resolve it, thank you for your suggestions though!


ASB-184: Fix for search box to retail complete value

Fixed issue where only first word of search text was being retained which was due to missing double-quotes around the value attribute

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket: