Uncaught TypeError: Cannot read property 'getPropertyValue' of null

Right mouse click and then tried to copy hi-lighted php code
.
Atom Version: 0.168.0
System: linux 3.13.0-43-generic
Thrown From: minimap package, v3.4.9
Stack Trace
Uncaught TypeError: Cannot read property 'getPropertyValue' of null
At /home/work/.atom/packages/minimap/lib/minimap-view.coffee:198

TypeError: Cannot read property 'getPropertyValue' of null
  at MinimapView.module.exports.MinimapView.getEditorLineHeight (/home/work/.atom/packages/minimap/lib/minimap-view.coffee:198:87)
  at MinimapView.module.exports.MinimapView.computeScale (/home/work/.atom/packages/minimap/lib/minimap-view.coffee:192:27)
  at MinimapView.module.exports.MinimapView.attachToPaneView (/home/work/.atom/packages/minimap/lib/minimap-view.coffee:250:6)
  at MinimapView.module.exports.MinimapView.onActiveItemChanged (/home/work/.atom/packages/minimap/lib/minimap-view.coffee:472:8)
  at /home/work/.atom/packages/minimap/lib/minimap-view.coffee:1:1
  at Pane.module.exports.Pane.observeActiveItem (/opt/atom/resources/app/src/pane.js:160:7)
  at MinimapView.module.exports.MinimapView.initialize (/home/work/.atom/packages/minimap/lib/minimap-view.coffee:117:22)
  at MinimapView.View (/opt/atom/resources/app/node_modules/archive-view/node_modules/atom-space-pen-views/node_modules/space-pen/lib/space-pen.js:184:25)
  at new MinimapView (/home/work/.atom/packages/minimap/lib/minimap-view.coffee:86:5)
  at Minimap.module.exports.ViewManagement.onEditorAdded (/home/work/.atom/packages/minimap/lib/mixins/view-management.coffee:105:16)
  at /home/work/.atom/packages/minimap/lib/mixins/view-management.coffee:85:37

Commands

Config
{
  "core": {
    "disabledPackages": [
      "metrics",
      "symbols-view",
      "language-coffee-script"
    ]
  },
  "minimap": {
    "plugins": {
      "selection": true,
      "git-diff": true,
      "find-and-replace": true
    }
  }
}

Installed Packages
# User
atom-ctags, v2.5.5
autoclose-html, v0.13.0
autocomplete-paths, v0.9.1
autocomplete-plus, v1.1.0
color-picker, v1.2.6
docblockr, v0.5.8
drupal, v1.6.0
inline-autocomplete, v0.3.3
linter-php, v0.0.11
minimap, v3.4.9
minimap-color-highlight, v3.0.3
minimap-find-and-replace, v3.0.4
minimap-git-diff, v3.0.11
minimap-highlight-selected, v3.0.0
minimap-selection, v3.0.1
open-last-project, v0.1.1
phpunit-snippets, v0.1.0
project-manager, v1.14.1
symfony-snippets, v0.3.0
vim-mode, v0.22.0

# Dev
No dev packages

/cc @atom/core

Please update to latest version (3.5.4).

I just got the same error when moving a tab to another panel with the version 3.5.4.

Same as @k4nar, it happened to me while moving a file from one pane to another, also the mini map didn't seem to work properly on the right panel (I did View > Panes > Split Left to have my panes split).

Same here. Whenever I try moving panes around I get this issue regardless of how I split the panes.

I am using minimap version 3.5.4 in atom version 0.169.0 on Linux Mint 17, and just got this error when moving a file to another pane. My stack trace is (obviously) a little different:
Uncaught TypeError: Cannot read property 'getPropertyValue' of null
/home/curtisz/.atom/packages/minimap/lib/minimap-view.coffee:196
Hide Stack TraceShow Stack Trace
TypeError: Cannot read property 'getPropertyValue' of null
  at MinimapView.module.exports.MinimapView.getEditorLineHeight (/home/curtisz/.atom/packages/minimap/lib/minimap-view.coffee:196:87)
  at MinimapView.module.exports.MinimapView.computeScale (/home/curtisz/.atom/packages/minimap/lib/minimap-view.coffee:190:27)
  at MinimapView.module.exports.MinimapView.attachToPaneView (/home/curtisz/.atom/packages/minimap/lib/minimap-view.coffee:250:6)
  at Main.module.exports.ViewManagement.onEditorAdded (/home/curtisz/.atom/packages/minimap/lib/mixins/view-management.coffee:113:12)
  at /home/curtisz/.atom/packages/minimap/lib/mixins/view-management.coffee:93:12
  at /usr/share/atom/resources/app/src/pane.js:151:16
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at Pane.module.exports.Pane.addItem (/usr/share/atom/resources/app/src/pane.js:334:20)
  at Pane.module.exports.Pane.moveItemToPane (/usr/share/atom/resources/app/src/pane.js:418:19)
  at TabBarView.module.exports.TabBarView.moveItemBetweenPanes (/usr/share/atom/resources/app/node_modules/tabs/lib/tab-bar-view.js:555:18)
  at TabBarView.module.exports.TabBarView.onDrop (/usr/share/atom/resources/app/node_modules/tabs/lib/tab-bar-view.js:478:23)
  at space-pen-ul.<anonymous> (/usr/share/atom/resources/app/node_modules/tabs/lib/tab-bar-view.js:3:61)
  at space-pen-ul.jQuery.event.dispatch (/usr/share/atom/resources/app/node_modules/archive-view/node_modules/atom-space-pen-views/node_modules/space-pen/vendor/jquery.js:4676:9)
  at space-pen-ul.elemData.handle (/usr/share/atom/resources/app/node_modules/archive-view/node_modules/atom-space-pen-views/node_modules/space-pen/vendor/jquery.js:4360:46)
The error was thrown from the minimap package This issue has already been reported.

Can you try enabling the v4 preview in the settings to see if it works better or not?

That did the trick for me, there are no crashes when moving files between panes and it also fixes the mini-map on the other panes.
Maybe it should be enabled by default and what does v4 preview means?. Thanks for the help :)

Maybe it should be enabled by default and what does v4 preview means?. Thanks for the help :)

It'll be, when v4 will be release. About its meaning, it's as it says, it enables a preview of the minimap code for version 4. Version 3 and priors were using space-pen for the view and was full of various little bug due to the approach choosed at first (no DOM polling, no real model, etc.). Version 4 fixes these things by having a real model, and a custom element view registered with a provider using the new atom mechanism. This bug is a good example of bugs that was immediately fixed just by changing the approach.

Works for me, too! Thanks for the quick follow-up.

As soon as the deb repo updated atom to 1.69.0 the issue went away for me

V4 preview also fixed my problem. Thanks @abe33

I tried swapping markdown preview and markdown edit to opposing sides and this error popped up.

Same error thrown while moving a file to the right pane. I had same file opened on left and right pane at first and the scroll preview wasn't showing on right pane. Does the same from left to right. This looks more like what @curtiszimmerman had (https://github.com/fundon/atom-minimap/issues/211#issuecomment-69830920).
Steps to reproduce

Right click beside tab, click Split Right
Drag left tab to right tab
Cry

Atom Version: 0.176.0
System: Mac OS X 10.10.2
Thrown From: minimap package, v3.5.6
Stack Trace
Uncaught TypeError: Cannot read property 'getPropertyValue' of null
At /Users/gableroux/.atom/packages/minimap/lib/minimap-view.coffee:196

TypeError: Cannot read property 'getPropertyValue' of null
  at MinimapView.module.exports.MinimapView.getEditorLineHeight (/Users/gableroux/.atom/packages/minimap/lib/minimap-view.coffee:196:87)
  at MinimapView.module.exports.MinimapView.computeScale (/Users/gableroux/.atom/packages/minimap/lib/minimap-view.coffee:190:27)
  at MinimapView.module.exports.MinimapView.attachToPaneView (/Users/gableroux/.atom/packages/minimap/lib/minimap-view.coffee:250:6)
  at Main.module.exports.ViewManagement.onEditorAdded (/Users/gableroux/.atom/packages/minimap/lib/mixins/view-management.coffee:113:12)
  at /Users/gableroux/.atom/packages/minimap/lib/mixins/view-management.coffee:93:12
  at /opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app/src/pane.js:165:16
  at Emitter.module.exports.Emitter.emit (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at Pane.module.exports.Pane.addItem (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app/src/pane.js:348:20)
  at Pane.module.exports.Pane.moveItemToPane (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app/src/pane.js:432:19)
  at TabBarView.module.exports.TabBarView.moveItemBetweenPanes (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app/node_modules/tabs/lib/tab-bar-view.js:561:18)
  at TabBarView.module.exports.TabBarView.onDrop (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app/node_modules/tabs/lib/tab-bar-view.js:484:23)
  at space-pen-ul.<anonymous> (/opt/homebrew-cask/Caskroom/atom/latest/Atom.app/Contents/Resources/app/node_modules/tabs/lib/tab-bar-view.js:3:61)
  at space-pen-ul.jQuery.event.dispatch (/Users/gableroux/.atom/packages/build/node_modules/atom-space-pen-views/node_modules/space-pen/node_modules/jquery/dist/jquery.js:4430:9)
  at space-pen-ul.elemData.handle (/Users/gableroux/.atom/packages/build/node_modules/atom-space-pen-views/node_modules/space-pen/node_modules/jquery/dist/jquery.js:4116:28)

Commands
     -3:03.2 editor:move-to-first-character-of-line (atom-text-editor.editor)
     -3:02.6 core:select-all (atom-text-editor.editor)
     -3:02.0 snippets:next-tab-stop (atom-text-editor.editor)
     -3:02.0 snippets:expand (atom-text-editor.editor)
     -3:02.0 editor:indent (atom-text-editor.editor)
     -3:01.7 core:select-all (atom-text-editor.editor)
     -3:01.5 core:copy (atom-text-editor.editor)
     -2:58.1 snippets:next-tab-stop (atom-text-editor.editor)
     -2:58.1 snippets:expand (atom-text-editor.editor)
     -2:58.1 editor:indent (atom-text-editor.editor)
     -2:57.6 core:select-all (atom-text-editor.editor)
     -2:56.6 core:copy (atom-text-editor.editor)
     -2:03.0 core:close (atom-text-editor.editor)
     -2:00.1 core:select-all (atom-text-editor.editor)
     -1:59.9 core:copy (atom-text-editor.editor)
  2x -1:59.4 core:close (atom-text-editor.editor)

Config
{
  "core": {
    "disabledPackages": [
      "metrics",
      "timecop",
      "vim-mode",
      "symfony-snippets"
    ]
  },
  "minimap": {
    "plugins": {
      "git-diff": true
    }
  }
}

Installed Packages
# User
ScssBundle, v0.4.0
angularjs, v0.1.0
ascii-codes, v0.3.3
atom-compile-coffee, v1.3.0
atom-django, v0.2.0
build, v0.23.3
coffee-lint, v0.7.3
coffee-refactor, v0.6.2
color-picker, v1.4.4
css-snippets, v0.5.0
editorconfig, v0.3.0
gist-it, v0.6.4
grunt-runner, v0.6.0
js-refactor, v0.3.0
language-blade, v0.7.0
language-erlang, v2.0.0
language-gitignore, v0.1.1
language-ini, v1.3.0
language-python-django-templates, v0.1.0
laravel, v0.4.2
laravel-facades, v1.0.0
linter, v0.10.1
linter-pylint, v0.2.0
linter-scss-lint, v0.0.11
linter-xmllint, v0.0.5
minimap, v3.5.6
minimap-git-diff, v3.1.1
refactor, v0.4.1
scope-inspector, v0.2.1
travis-ci-status, v0.11.2

# Dev
No dev packages

/cc @atom/core

same bug as @GabLeRoux

Error when splitting 'down' with duplicate tabs

Please update to latest version(4.x) and try again.

@purencool  @vicksonzero  @bradleyflood  Is it still same issue in the latest version(v4.1.4)?

Updated to 4.1.0 and worked fine, now using 4.1.4 and it seems right, at least, doing the exact steps I described previously, it doesn't break anymore :)

Thank you for report. :)


installation instructions for windows and mac

Right now the only installation instructions are for linux (and in fact, Debian / Ubuntu). Let's support other platforms also.

[ ] Windows
[ ] MacOS

I think this has been done. Am I right? @aszepieniec

The README certainly has instructions for Windows but not for MacOS, as far as I can tell. Are they the same? Do they work? I am happy to close this issue once someone confirms that they ran the instructions and that they work.


Publish transpiled code

https://github.com/georgeOsdDev/react-ellipsis-text/issues/2

Done with #7


adding disco support when getting json device descriptor

during my test with stream exemples I got issues
I finaly find where it comes: I for a test case in json wifi connection dumps
now I got the video stream
thank's again

Missed this somehow.  Integrating into the latest release now.

thank's ! and sory for the 2 time pull request !


change: [M3-7337] - change Linode Details Summary VPC IPv4 Text to Copy Object.

Description 📝
We've changed the label from "VPC IPv4 Text" to "VPC IPv4 Copy Object" to make it clearer. Now, it's easier for users to find the option to copy the IPv4 object.
Changes  🔄
List any change relevant to the reviewer.

In Linode Details Summary Page:

changed the label from "VPC IPv4 Text" to "VPC IPv4 Copy Object"

Target release date 🗓
Preview 📷

Before
After

How to test 🧪
Prerequisites

You should have at least one Linode with VPC in your account.

Reproduction steps

Go to Linode Details Summary Page:

Observe VPC IPv4 Label as a Copy Object.

Verification steps

After changes, observe VPC IPv4 Label as a Copy Object.

As an Author I have considered 🤔
Check all that apply

[x] 👀 Doing a self review
[x] ❔ Our contribution guidelines
[x] 🤏 Splitting feature into small PRs
[x] ➕ Adding a changeset
[ ] 🧪 Providing/Improving test coverage
[ ] 🔐 Removing all sensitive information from the code and PR description
[ ] 🚩 Using a feature flag to protect the release
[x] 👣 Providing comprehensive reproduction steps
[ ] 📑 Providing or updating our documentation
[ ] 🕛 Scheduling a pair reviewing session
[ ] 📱 Providing mobile support
[ ] ♿  Providing accessibility support

@harsh-akamai Added all the changes you mentioned in the comments.

@hasyed-akamai and reviewers @harsh-akamai & @pmakode-akamai
this PR introduced a pretty bad bug, see https://github.com/linode/manager/pull/11289
In the future, if you don't see a reviewer from our team assigned to one of your PRs, please assign one - thx!

@hasyed-akamai and reviewers @harsh-akamai & @pmakode-akamai this PR introduced a pretty bad bug, see #11289
In the future, if you don't see a reviewer from our team assigned to one of your PRs, please assign one - thx!

@abailly-akamai I saw your comment and have checked what led to the regressions.
I didn't notice any such regressions when I initially reviewed the PR. However, I was OOO when @harsh-akamai suggested additional styling changes, and unfortunately, these changes didn't go through my review before the PR was merged. Apologies for the inconvenience caused.


Signal AD_RENDER_FAILED / AD_RENDER_SUCCEEDED events to Prebid

Add a new type of cross-origin message ('Prebid Message') to signal when render-related events should be generated by Prebid.
Related Prebid changes: https://github.com/prebid/Prebid.js/pull/7917

@robertrmartinez pinging for review because conflicting changes related to https://github.com/prebid/Prebid.js/pull/7953 are needed for a bugfix

Related to issue https://github.com/prebid/Prebid.js/issues/7702


[Bug]: Execute sql with the same semantics, and the result sets display differently

ODC version
ODC 4.2.2
OB version
Any versions of OceanBase.
What happened?
Execute two semantically identical statements in an sql window but display different result sets.
SQL1:
select a,length(a)as len from TEST_ORDER order by 2 desc;
SQL2:
select a,length(a)as len from TEST_ORDER order by length(a) desc;
The ODC result sets are shown as：

obclient：

What did you expect to happen?
ODC result set display is consistent with obclient.
How can we reproduce it (as minimally and precisely as possible)?
Follow what happened
Anything else we need to know?
No response
Cloud
No response

PASS


Stateless Aerie - Prototyping & System Design

Description
Per discussions with @ewferg, some users would like an officially-supported way to use Aerie's simulation and scheduling engines as a simpler "stateless" and "headless" program.

Stateless means the user runs Aerie simulation/scheduling with some inputs, Aerie exits and returns some output, but nothing is persisted in the Aerie app/DB beyond that point - as opposed to our current standard Aerie deployment, which is a persistent web service
Headless means without a UI, ie. likely a CLI which reads from stdin and writes results to stdout when complete.

Requirements
We don't yet have all of the requirements or implementation fully planned out yet, but I wanted to open this to track our progress. I will meet with @ewferg soon to discuss - please comment here or in Slack if you're interested in participating. As a starting point, here's a rough draft of some requirements:

Users should be able to run Aerie's simulation engine alone in a stateless way, by running a command and providing two inputs: a mission model JAR file, and an Aerie plan file containing activity directives. Aerie should run the simulation, output any useful results (grounded activity instances, profiles, other TBD?) and exit.
Users should also be able to run scheduling alone statelessly, by running a command and providing a mission model, an Aerie plan, and scheduling goals as inputs. Aerie should execute the scheduling goals (possibly running more simulations in the process), output useful results, and exit.
For a reasonably small model/plan/set of goals (to be defined), stateless simulation should be able to run in < 10 seconds, and stateless scheduling should run in < 30 seconds, to be competitive with existing tools that users are using today instead of Aerie.

Notes & Questions

Our first goal is to determine how feasible this is given our current architecture, & the level of effort it will take. Once the requirements are further fleshed out, we'll meet with devs to come up with a proposed implementation.
Can stateless sim/scheduling be done without running our (hasura/postgres) database service, since nothing is being persisted, or is the DB too tightly coupled to Aerie sim/scheduling for this to work? The performance requirements will be difficult to meet if we have to wait for Hasura's significant "spin-up" time.
Stateless scheduling will be required to support procedural scheduling JARs. Does it also need to support EDSL goals/interleaving like the UI does?
Is there any overlap here with aerie-cli functionality, and should we consider taking ownership of aerie-cli and implementing this feature there, or is this a part of Aerie core, or a new tool altogether that interfaces with Aerie core?

A couple additional notes and questions to consider:Having to Define input/output formats for sim results.
Whether constraint checking should be allowed in addition to simulation scheduling

Seconding this use case. A headless Aerie would make it a much more viable drop-in replacement in legacy ops planning toolchains. I’m particularly thinking of SMAP, but there are likely several other missions that could use such a feature.
Exposing some standard driver interface that lets a user run procedural scheduling, perform a simulation, grab the decomposed activities’ computed attributes, export resource timelines, etc. would be very useful.
Some of this wrapper code has definitely been implemented on a per-adaptation level, but having it as part of the core would be stellar.

Met with Aerie developers today to start sketching out implementation details for this... Some conclusions from this:

We think it is feasible to build a stateless Aerie, it will just require some refactoring of code to support the different use cases
It should be possible to use Aerie simulation and scheduling without any Postgres database or Hasura service
Using Docker vs. not?

Docker is easier to distribute/fewer dependencies but has performance penalty, especially initial startup time
Therefore we want to distribute headless Aerie as a JAR file, maybe with a wrapper script that makes it easier to call
It can be a "fat JAR" that includes all libraries, so the only system dependency should be Java

Supporting Scheduling/Constraints/Command Expansion with EDSLs?

would require node as an additional system dependency
Expect to not support any of these for now
But we should support procedural scheduling, passing [paths to] procedure JARs into headless Aerie
and possibly Java procedural constraints in the future, if we add them to Aerie

Inputs to headless Aerie:

For simulation: (paths to) Mission model JAR, plan.json file, sim config file
For scheduling: same as sim, + scheduling procedures (JAR files) + parameters for procedures

Could specify procedures + their parameters in a single JSON file instead of a bunch of flags

How to use other types of files as inputs?

Responsibility of mission model - it can fetch other files from local filesystem if needed

Any need to (UNIX) pipe inputs into aerie? No, doesn't really make sense

What are the outputs?

For simulation: Just simulation results
Don't have a canonical JSON format for sim results - we should define one as a part of this task

What form do outputs take?

ie. Write to files or stdout? Streaming output vs. write once at the end?
Should strive to have the tool output everything on stdout unless benefits of doing otherwise are large, for sake of modularity
JSON doesn't lend itself well to streaming output, can't really stream JSON to stdout during simulation, & scheduling which will be interleaving different kinds of results
Naive version of "write at the end" approach requires having all results in memory, which doesn't scale well. But could be good enough for MVP?
Proposal: define an internally-used format for sim/scheduling results that is not JSON, instead something that is easily streamable. Stream this to a temporary file during sim, then at the end use these files + a JSON string-builder to put final JSON output on stdout in a performant way.

I just want to throw one more thing out there that I think is reasonable to include in our trade space. While we could implement a standalone command line stateless Aerie, it may be sufficient enough to provide a template that users could use to build their own command line utility. This template would include a basic main() function, helper functions to orchestrate simulation and scheduling (and potentially constraint checking in the future), and helper functions for reading/writing data. This would require users to use an IDE to build their own stateless Aerie, but give them more control to design their stateless Aerie to meet their specific needs.
For example, in the SMAP use case, plan and simulation data output is actually not what's important to them. Instead it's sequences embedded in contributed attributes within activities. In this example, SMAP could design their stateless Aerie to simply write out the sequences, which would require some mission-specific code, instead of having to write a separate script to do that work. Admittedly another way to do this would be to write a scheduling procedure that writes out the sequences and run that procedure last, which could be done with a generic stateless Aerie utility that provided an orchestration script. This, in fact, is the way that APGen worked via command line.
Another question I have is whether a user could bundle model and procedure jars together so as not to have to input a bunch of procedure jars separately into a command line utility. It's not uncommon to have 10s (maybe even 100s) of scheduling procedures and dealing with all of those separately would be painful.

Headless Aerie is now demoable, complete with JSON Sim Results.
Open tasks:

[ ] Catching and returning well-formatted exceptions (current behavior is that a sim exception is completely uncaught, meaning we aren’t getting info like the throwing directive id/stack traces out)
[ ] Allowing users to cancel running simulations (machinery is hooked up, we just need write the listening code)
[ ] Some tweaks to how we write results (current behavior has them built as a large JSON object in memory, but the code was written with the expectation that we’d update that to be writing straight to std out instead)
[ ] Change the resource manager to send resources out to temp files instead of using InMemory
[ ] Minor but I want to think about tweaking the SimExtentConsumer to not print out every single time the engine steps forward but only every few updates/the value every few seconds (this would make it match the behavior of the DB variant)

Discussed briefly with @JoelCourtney what ought to be expected from scheduling. We agreed that an updated plan.json makes sense as the default output, with an additional flag to optionally write the final sim results to a file. Scheduling goal satisfaction did not come up.

Suggestion from demos: Consider adding a validate subcommand that runs validation on each activity in the plan.json

To recap some past progress since the last update:

A beta/early-release version of Stateless Aerie is merged & included in the Aerie v2.19.0 release (thanks @Mythicaeda!)
Not yet documented, we'll work on docs for a later production-ready release.
So far Stateless Aerie includes support for running simulation only, no scheduling yet.
In addition to the CLI, this release also includes support for running user-provided orchestration scripts, as outlined in @ewferg 's comment above

This is done via a new Java package called orchestration-utils which allows users to import functions/classes they can use to control simulation via their own Java code instead of the CLI

Some shared types were moved into a new package called type-utils & we plan to likely move more classes there in the future.

We met today to talk about next steps for supporting running procedural scheduling goals using Stateless Aerie. Meeting notes:

We plan to allow users to run a list (specification) of scheduling goals in Stateless Aerie
Only procedural goals will be supported, not eDSL goals, at least for now.

Much more work to support eDSL & we'd like Stateless Aerie to be Java only; eDSL requires Node/JS to compile

Users will be able to run procedural scheduling goals via the CLI or with their own code, using new functions we'll add to the orchestration-utils package
Proposed inputs and outputs for calling scheduler from the Stateless CLI:

Inputs:

model JAR
Plan JSON
goal specification JSON: goal list/parameters

eg. [{goaljar: file.jar, order: 1, params: {}, simulateAfter: bool}]

optional: SimResultsJSON? (staleness concern)
optional: sim config json
optional: number of engines setting (defaults to same as in docker)
optional: Verbosity flag?
optional: forceSimAtEnd flag

ensures sim runs after last goal, does nothing if simulateAfter is true for last goal in spec

Outputs:

Plan JSON (modified by scheduling goals)
Optional: scheduling goal satisfaction
Optional: simresultsJSON

probably dont call sim again to get this (add an input flag)?
corresponding filename input/return

(inputs/outputs for the orchestration-utils function(s) will be similar, just slightly different formats)

In addition to providing procedural goals as JAR files, we'd like to also allow users to provide them as Java classes, which could make things easier & require fewer compilation steps.

This feature will likely not be included in our next release (unless easier than expected), but may be added in a follow-up task.

One small issue we noticed with Stateless Aerie during testing with @Mythicaeda today: When you run a simulation, the events portion of the SimulationResults object that gets returned is supposed to look like:
{ ..., "events": [ EVENTS HERE ] }

Instead, it currently returns this wrapped format:
{ ..., "events": { "event: [ EVENTS HERE ] } }


Check operator CSV file with schema before processing

Uses a reduced schema which only checks the parts of the CSV which we
really care about
The schema is embedded in the source as a Python Dict

Signed-off-by: Ben Alkov<EMAIL_ADDRESS>CLOUDBLD-2830
Maintainers will complete the following section

[ ] Commit messages are descriptive enough
[ ] Code coverage from testing does not decrease and new code is covered
[ ] JSON/YAML configuration changes are updated in the relevant schema
[ ] Changes to metadata also update the documentation for the metadata
[ ] Pull request has a link to an osbs-docs PR for user documentation updates
[ ] New feature can be disabled from a configuration file

Please fix or silent pep8 linter
./atomic_reactor/utils/operator.py:105:101: E501 line too long (101 > 100 characters)
4
./atomic_reactor/utils/operator.py:109:101: E501 line too long (103 > 100 characters)
5
./atomic_reactor/utils/operator.py:110:101: E501 line too long (104 > 100 characters)
6
./atomic_reactor/utils/operator.py:114:101: E501 line too long (103 > 100 characters)
7
./atomic_reactor/utils/operator.py:115:101: E501 line too long (104 > 100 characters)

Please fix or silent pep8 linter
./atomic_reactor/utils/operator.py:105:101: E501 line too long (101 > 100 characters)
./atomic_reactor/utils/operator.py:109:101: E501 line too long (103 > 100 characters)
./atomic_reactor/utils/operator.py:110:101: E501 line too long (104 > 100 characters)
./atomic_reactor/utils/operator.py:114:101: E501 line too long (103 > 100 characters)
./atomic_reactor/utils/operator.py:115:101: E501 line too long (104 > 100 characters)

I'm not sure what to do about this, other than ignore it. Any formatting options I try result in some kind of flake8 complaint; line length/indentation...
This is strictly due to the embedded schema.


resize_widget method does not trigger resizestop event

Hi,
Depending on my content i want to resize the gridster widget programatically.
So i am using resize_widget method to resize the gridster widget
gridster.resize_widget( widgetDiv, sizeX, sizeY );
While instantiating gridster, i have provided resize:stop callback which has some handling on resize of the widget.
My problem is that when widget is resized by dragging the handle, resize:stop callback gets called and everything works fine. But when widget is resized through code using resize_widget method, callback is not executed.
Here is a sample: http://jsfiddle.net/sastepankaj/t0o9n9mt/1/
Is there a way to trigger the resizestop event?

+1

Any updates on this issue?


Update windows-sys to 0.48

Closes: #162
And alternative to:

#161

Would you be able to cut a new release with this?


Vue not rendering options from array

Version
2.5.2
Reproduction link
https://github.com/ereztdev/spoilMe
Steps to reproduce
pull my  repo: https://github.com/ereztdev/spoilMe
npm install
npm run dev
when you go to app, the created method is supposed to render the option list in the select element on load.
The backend that sends Vue the payload is a node express server that parses a large 28MB JSON, and sends this payload to the frontend.
You can pull it here so you will have the full stack:
https://github.com/ereztdev/node-express-city-parser
What is expected?
render the cityNames array ( $store.getters.cityNames ) into the options dropdown list  that are coming from my state:
What is actually happening?
State is populated correctly yet not rendering into options with v-for, no error either.

If you want to reproduce with backend, please pull my node repo here:
https://github.com/ereztdev/node-express-city-parser

You misnamed your getter: getCityNames -> cityNames

Please, next time consider using the forum, the Discord server or StackOverflow for questions first. But feel free to come back and open an issue if it turns out to be a bug 🙂

@posva Thanks for the reply. I made many changes to debug, so I missed that typo, in anycase, I changed it yet options are still not rendering..
http://prntscr.com/jbmocr
Please re-open.

No sorry, besides from that, a repro cannot contain a full server. If you create a simple codesandbox and maybe fetch the data from the server (so there's no extra setup needed) I'll take a quick look 🙂


Package with Halcyon

Constrain utf8-string to < 1 for mueval (hiplambda.cabal)
Constrain cabal-install to <IP_ADDRESS> for GHC 7.10.1 (.halcyon/cabal-version)
Declare version constraints for all Cabal package dependencies (.halcyon/constraints)
Declare happy-1.19.5 as a build-time dependency (.halcyon/sandbox-extra-apps)
Declare version constraints for the dependencies of happy-1.19.5 (.halcyon/sandbox-extra-apps-constraints/happy-1.19.5.constraints)
Install hoogle-index-0.4.2 as a run-time dependency using a pre-install hook (.halcyon/pre-install-hook, .halcyon/hoogle-index-0.4.2)
Add missing line endings

Looks like Travis CI needs to be set up to use Halcyon. See “Building Haskell projects with Halcyon” for an example.

I hadn't considered using Halcyon on Travis CI. Thanks!


Remove a leftover dbg() statement

What was changed

Remove a leftover dbg!() statement

Why?

@antlai-temporal's investigation identified this as probable cause of some recent failures in TS SDK's tests.

Running tests right now on TS SDK with this change included to validate that this resolve observed flakes (see GHA).


docs(readme): comply new policy template INTER-295

:tada: This PR is included in version 1.6.0-rc.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Auto-redirect connection to port 4201 and fail

Which @angular/* package(s) are the source of the bug?
platform-browser
Is this a regression?
No
Description
I am creating a website with Angular on WSL2 Ubuntu running on a Windows 10 computer.
When I launch the application with the ng serve command, I get ** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ ** and ✔ Compiled successfully. on the command line.
But when I click on the link, the connection is redirected to http://localhost:4201/ and it fails. By changing 4201 to 4200 in the browser address field, the desired page is displayed.
I did some research without finding any mention of an exactly similar problem, but I nevertheless saw that the easiest way to fix it was to run the ng serve —port 4201 command. It does work, but obviously not anymore when I replace 4201 with 4200 in the browser address field.
I can probably settle for this solution, but I nevertheless want to report this bug for correction.
Please provide a link to a minimal reproduction of the bug
http://localhost:4200
Please provide the exception or error you saw
http://localhost:4201

Please provide the environment you discovered this bug in
@angular/cli: "~12.0.3"
@angular-builders/custom-webpack: "^12.0.0"
WSL2 Ubuntu 20.04 on Windows 10
node.js 14.16.0

Anything else?
No response

Hi MarcH1000,
This is a strange one, which however I doubt is caused by the Angular CLI. Likely this is caused by some local configuration.
The reason for this is that the Angular CLI doesn't actually generate the "link" as it outputs plain text to the terminal. The text is then linked by the terminal of your choice which I doubt is linking incorrectly but you can try this by use a different terminal. If the issue persists after this, there must be something else going on in your local environment which is causing this issue.

Thank you for your answer. Indeed, according to my research, it is more likely that this comes from the articulation between Windows and WSL2 : https://itectec.com/superuser/network-problems-using-wsl2/ for example. That’s why I also posted this message in a more appropriate section.


Ready for multiple window on iPadOS

If you check Supports multiple windows in General tab, apps has only black screen.
So you should set windowScene in initialization of UIWIndow.

Thank you for submitting PR!
I will merge this changes soon 🙌


Confusing Ensemble view

In the below picture when I select to scan ensemble 12D, programs in the previous ensemble 12B shows up too.
P5 Hits is part of 12D but NRK P2 is part of 12B. Why is it listed in this Riks ensemble list? Rather confusing.

@gvanem
Dear Gisle, the column on the left shows all services of all scanned muxes in alphabetical order.
I guess the drop down box 12D was confusing you.

the column on the left shows all services of all scanned muxes

The header (Riks) doesn't indicate that. And neither the drop-down 12D either.
Replace with one only; some kind of dynamic drop-down list?
New ensemble ->
  |___    .... fill up as it's scanned
  ...
 NRK Reg4Vest ->
 |___ NRK Jazz
 |___ NRK P2
  ....
Riks ->
  |___ P5 Hits
  |___ P6 Rock
  ....

Please see right column, which is ordered by channel and then by service.
If you switch to basic mode you might not complain... 😁

The information on top of the service list (left column) is currently tuned ensemble. In fact this information is redundant and according to DAB Rules of implementation should not be displayed because service is the only information user needs to know. Nevertheless I wanted to show more information especially in expert mode. Currently I have no plans to change the application UI unless something significantly better is proposed. For sure I will keep service list (left column) as it is, I might consider reshuffling the information about currently tuned ensemble to make it less confusing but as already stated - this is an expert view, you might find basic view less confusing.

Okay, very well. Closing.
PS. Adding transmitter locations would be nice. Using the CSV from:
https://www.dablist.org/qtdab/qtdab_dabtx_data.php

Not necessarily needed
You can save it as raw file and load it in Qirx.


fix(ci): avoid fs clash during ipfs.add* on Windows

This PR fixes random TravisCI failures on Windows and unblocks https://github.com/ipfs/js-ipfs/pull/2304
Root cause
Windows issue was triggered by parallel ipfs.add* of the same data:
      parallel({
        result: (cb) => ipfs.addFromURL(url, cb),
        expectedResult: (cb) => ipfs.add(Buffer.from(text), cb)
      }, (err, { result, expectedResult }) => {
        expect(err).to.not.exist()

Both addFromURL and add added the same data, touched same files on filesystem, triggering a known problem with Node on Windows and Travis:

https://travis-ci.community/t/eperm-operation-not-permitted-nodejs-electron/2571

Fix
One way to fix this type of error is to run as Windows Administrator. It does not seem to be feasible for TravisCI.
Instead, switching to sequential mode of operation removes addFromURL tests as a surface for file system race conditions on Windows.

The fix for this is https://github.com/ipfs/js-datastore-fs/pull/27#event-2616223483

The fix for this is ipfs/js-datastore-fs#27

That was merged into 0.8.x branch and ipfs-repo is on 0.9.x
@achingbrain do we need to port it to master ?

The PR for the 0.9.x branch is https://github.com/ipfs/js-datastore-fs/pull/28

Should we close this, and bubble up the datastore fix instead?

Closing, as https://github.com/ipfs/js-ipfs/pull/2304 confirmed this is fixed in js-datastore-fs


Fetch remote tags to local

Hey guys,
I'm trying to fetch remote tags but it seems that tags are ignored when fetching or pulling from remote. Trying to perform the following operations:
         r.Fetch(&git.FetchOptions{
                 RemoteName: "origin",
         })

         refs, err := r.References()
         CheckIfError(err)

         err = refs.ForEach(func(ref *plumbing.Reference) error {
                 fmt.Println(ref)
                 return nil
         })

outputs
3dbebd24ff81327fd7171ccfa4d4ed81a6070069 refs/remotes/origin/master
3dbebd24ff81327fd7171ccfa4d4ed81a6070069 refs/heads/master
ref: refs/remotes/origin/master refs/remotes/origin/HEAD
ref: refs/heads/master HEAD

But no tags were fetched.  Is it already supported on go-git?
Thanks and congrats for this project.

I think we're doing the equivalent of git fetch --no-tags and you can fetch tags explicitely by adding the refspec +refs/tags/*:refs/tags/* to your fetch. We could look into being able to replicate the default git behavior though.

I tried passing the suggested refspec but seems that object already exists.
Debugging here I found this piece of code returning true to a fetched tag because, I think, it is looking for the commit hash instead the tag name to check the presence.
The storer used on my local tests is filesystem. I couldn't go further in this problem.

@manuwell Ok, this does look like a bug, we'll look into it. Thanks!


Difference between ex9 and ex18 matrices

I was looking at ex18 and was not sure how the derivative matrix for ex18 has been created. Essentially Aflux calculates the x and y derivatives without face terms and adds them up. But the values seem incorrect.
If we take periodic-square.mesh and we look at ex9 and print k matrix, after removing face terms, for velocity v(0) = 1; v(1) = 0, this is what we get
[row 77]
(77,-0.318764) (76,0.425019) (75,-0.106255)
[row 78]
(80,0.0664092) (79,-0.265637) (78,0.199228)
[row 79]
(80,-0.106255) (78,0.106255)
[row 80]
(80,-0.199228) (79,0.265637) (78,-0.0664092)

while printing Aflux gives
[row 77]
(161,-0.265637) (156,4.42374e-18) (155,0.265637) (77,0.318764)(76,0.170007) (75,-0.106255)
[row 78]
(159,0.199228) (156,0.106255) (153,-0.0664092) (80,0.0664092)(79,-0.106255) (78,-0.199228)
[row 79]
(160,0.318764) (159,-1.10594e-17) (157,0.170007) (154,-0.106255)(80,-0.265637) (78,0.265637)
[row 80]
(161,0.199228) (159,2.76484e-18) (158,0.106255) (155,-0.0664092)(80,0.199228) (79,0.106255) (78,-0.0664092)

Just comparing row 80, column 78, 79 and 80 should have the same values as k, but they seemed to have some values swapped from row 79.

After some further thought, I think you are using the weak form instead of the strong form DG. Is that correct?

@jdahm, can you help Vikram with this issue?

Yes, we're solving the weak form once integrated by parts. That is probably where the differences come from. Are there benefits that you see of solving the strong form instead?

@jdahm Thanks. I was trying to benchmark my code to yours and then saw the problem.
Its actually mathematically equivalent, but I just think its conceptually simpler. But maybe you could include somewhere in the comments that it is using the weak form so that there's no confusion. Similarly maybe in ex9 it should be mentioned that it is using the strong form.

@vikramsg, I'm not sure what you mean by "strong form" here - the method used in ex9 is obtained by integrating by parts twice, applying upwinding after the first integration by parts. I'm not aware of another formulation that will be "the weak form" - do you know of such a formulation?
Regarding ex18, it is a different problem, it is stated in conservative form (ex9 is not in conservative form), so in the derivation one has to integrate by parts only once and apply upwinding after that. I'm not aware of another way to derive (a stable) DG discretization. Can you clarify what you mean by "strong form" here?
In short, ex9 and ex18 are different equations, discretized using a similar approach but the resulting schemes are not directly comparable.
A version of ex9 that will be closer to ex18 is the equation:
du/dt + \div(\vec{v} u) = 0

discretized using the same approach as ex18.
Actually, the way I think of the derivation of the scheme used in ex9, is to first write it as
du/dt + \div(\vec{v} u) - \div(\vec{v}) u = 0

then apply the DG discretization to the first part
du/dt + \div(\vec{v} u)

including the upwinding. After that, combine the two volume terms (per element) into one
- (u, \vec{v} \cdot \grad(w)) - (u, \div{v} w) = - (u, \div(\vec{v} w))

And finally, integrate this term by parts, element by element, one more time.

Nodal DiscontinuousGalerkin Methods1.pdf
Nodal DiscontinuousGalerkin Methods2.pdf
I am attaching the two relevant pages from the book by Hesthaven, Warburton. Hopefully that is not violating any rules.
The second page attached shows the strong form, which is basically what you get when you integrate by parts twice as in ex9. Also, as stated in the same page, the two approaches are equivalent but the implementation will be different.

@vikramsg, thanks for the clarification.
In ex9, using the weak form generally does not make sense because one needs \div{\vec{v}} in addition to \vec{v} itself. In the case of ex18, it seems that similar argument applies, unless the coefficients in the flux term (the coefficient a in the book) are constant. In your tests, do you have constant coefficients?

Nodal DiscontinuousGalerkin Methods3.pdf
No. The strong form/weak form thing is valid for general equations of the conservative form. The above page shows it for a scalar equation in conservative form. Later in the book  they use it to do the Euler equations which do not have constant coefficients.

If I understand equation (5.5) and the two expressions for the strong and weak forms correctly, it looks like the flux is being projected (in the same discrete space as the solution) before it is used. This is NOT what is done in ex9 - instead the flux is computed at the quadrature points. In the strong form, if you do not perform projection, you will need to know the derivatives of the flux to apply the chain rule to compute the residual at the quadrature points.
On the other hand, I think ex18 does perform the flux projection, even for the weak form. Is that correct @jdahm?

When I responded originally that ex18 is using the weak form, I meant to give that as a reason that your compressible Euler example might not match the formulation used in my ex18, not as a different between ex9 and ex18.
@v-dobrev is correct that ex18 uses a flux projection. That is done in the call here, before multiplying it by the sparse matrix here, which computes (f*, grad(w)) for all elements. Therefore, we use a flux projection, but it is on the second term in (5.4), not for the third (face) term.

I am not sure I understand this. So, in example 9, we have a vector u. Now to do the advection we do (M^(-1))K . x to get the RHS. This is excluding the face term. If we did a strong form evaluation of the Euler fluxes, we do the same thing. Only it becomes (M^(-1))K . f, where f is the flux. This is excluding the face terms.
When you say, projection, do you mean f is computed as f = f(u(x)). Because anyway we would calculate it that way.

The projection step is replacing (e.g. inside the integral) f(u_h(x),x) with f_h(x) where f_h \in V_h is a the projected flux, e.g. using nodal interpolation:
f_h(x) = \sum_i f(u_h(x_i), x_i) \ell_i(x)

where \ell_i are the nodal basis functions. This way, differentiating f_h(x) means differentiating \ell_i(x) whereas differentiating f(u_h(x)) directly requires the derivative of f (and u_h).


Fixes "type object argument after ** must be a mapping, not NoneType"

This happens when a defined SubResource is not found in the json response or is found but has a value of 'null'.
Example code:
from beckett.clients import BaseClient
from beckett.resources import BaseResource, SubResource

class NamedAPIResourceSubResource(SubResource):
    class Meta:
        name = 'Named_API_Resource'
        identifier = 'name'
        attributes = (
            'name',
            'url'
        )

class Pokedex(BaseResource):

    class Meta(BaseResource.Meta):
        name = 'Pokedex'
        resource_name = 'pokedex'
        identifier = 'id'
        methods = (
            'get',
        )
        attributes = (
            'id',
        )
        subresources = {
            'region': NamedAPIResourceSubResource
        }

class Client(BaseClient):

    class Meta(BaseClient.Meta):
        name = 'test'
        base_url = 'https://pokeapi.co/api/v2'
        resources = (
            Pokedex,
        )

if __name__ == "__main__":
    c = Client()

    # This will go through
    # 'region' is associated with a complex resource (https://pokeapi.co/api/v2/pokedex/2)
    print c.get_pokedex(uid=2)[0]

    # This will fail
    # 'region' is null (https://pokeapi.co/api/v2/pokedex/1)
    # A "type object argument after ** must be a mapping, not NoneType" error occurs
    c.get_pokedex(uid=1)[0]

Do you think this fix is not necessary?
Is this error an expected behaviour?
Do you think it should be done any other way?

Can you provide some feedback?
Thanks

@phalt Would you consider taking a look at this?
Thanks

Ideally an API should return an empty list. I'm aware you're using this for PokeAPI - so I guess past-Paul is bad! :laughing:


missing agent files

can u please provide the agents files so that it will be useful for my presentation

if any one have get the full file then please send


acr: support to enable audits on create

[x] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[x] I adhere to the Command Guidelines.

This has a cost impact to customer so expecting this to be optional and enable this only after confirming with the PMs.

Closing and opening it to re-trigger CI

@qwordy, could you please take a look?

recieved an error message that "The subscription '' is not registered to use microsoft.insights."

@hkuadithya, you can run  az provider register -n microsoft.insights --wait and then try again.


Restrict domain name length for Inventek module's DNS lookup function

Description
The inventek WiFi module supports maximum domain name length of 64. Trying to resolve a longer name leaves the module in a non-responsive state. This PR adds a check to prevent calling ES_WIFI_DNS_LookUp for longer names, thereby preventing the module from going into a non-responsive state.
The following is from the datasheet of the module:
'D0' DNS Lookup:
This command performs a DNS lookup of a Domain Name to get its IPv4 address. The Domain Name is limited to 64 characters.

This PR also increases the stack size of test runner task to address a stack overflow.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/bot run checks


Fix duplicated labels in column picker

I want to merge this change because... it fixes duplicated labels in column picker.

PR intended to be tested with API branch:  master
Screenshots

Pull Request Checklist

[ ] This code contains UI changes
[ ] All visible strings are translated with proper context including data-formatting
[ ] Attributes [data-test-id] are added for new elements
[ ] Changes are mentioned in the changelog
[ ] The changes are tested in different browsers and in light/dark mode

Test environment config

API_URI=https://qa.staging.saleor.cloud/graphql/

Task linked: SALEOR-3618 Duplicated labels


Add MDN as a doc provider

Validations

[X] I believe this is a way to improve. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that requests the same enhancement

Problem
I see w3schools is used as doc provider for html, css, etc.  MDN is more detailed and more up to date.
Solution
Include mdn as a doc provider.
It's pretty big, so it may make sense to break it down by topic.

Web API Reference

HTML
CSS
etc.

Guides

HTML
CSS
Javascript
etc.

Hey @lendle this is a great idea! Would you be interested in making a PR to this file?
https://github.com/continuedev/continue/blob/6013e6e0d551c14dbbe28fa1f11bcadc684e39a5/core/indexing/docs/preIndexedDocs.ts

Sure! I'll try it locally first and if it seems useful I'll submit a pr. I haven't tried adding custom doc indexes in a while, do you recommend breaking them down by topic, or would just do one big MDN provider?

I've been trying to index MDN by adding it in my local config. I've tried different embedding providers and reranking configs but generally haven't been getting very good results. In particular it seems that the pages included in context aren't very related to my chat questions.
I haven't tried the built in doc indexes much so I am not sure how it compares, but at this point I don't think it would be worth it to add.

Ok, I'm going to close the issue then for now. I do think this could generally be a useful reference, so I will keep it in mind when we add a ton more docs in the next month


adding api tests for e2e testing

Adding apis tests

Hello, JFYI, I've tested your new API tests inside a two nodes cluster built automatically by openQA (Testing Framework used at SUSE for operating system testing) and all looks good.
I'll write a confluence page to explain the process asap.

Looks good to me!
couple of things which can be addressed  as an enhancement later:

Could we use random names for the resources used in each test?
We should add cleanup of resources regardless of the test outcome whether success or fail.

LGTM!
Note some response codes and messages might be different after https://github.com/harvester/harvester/pull/919 is merged.
Since the document encourages users to use a virtualenv, It would be nice to have a tox file and add some lint check (like flake8) in the future.


Develop case study

here's the case study template
And here are the examples from AAE projects:
Case Study: Forecasting Community Water System Outages
Case Study: Building Housing Intelligence for California

Case study lives here: https://docs.google.com/document/d/1pu1gtWBZvQYLo5wHPKlQyobM-t9jC2VbmHo7x6gegFM/edit

The DOF case study draft is ready to review @jasonlally @ian-r-rose

Sent to Barb and Hayley via email for additional review on 4/12

This is ready for review @jasonlally

Can this be closed? @ian-r-rose


Its not responding at all

I did all the steps but nothing happens I'm at the webstorex website but that's it

(about:blank#blocked) is the most that happens I tried to turn off 'about blank' and it didn't work

i think the only working method now is ingot. gui.js has been patched.

try ingot

Gui.js got patched. I was watching youtube using gui.js and all of the extensions I had disabled just reappeared. Ingot is the new norm.

pog


add authorizer and presigne-url containers

also bumped python version to 3.11 on get-glue-metadata

FUBAR


Hope have a horizontal scrollbar when too many nodes in graph

When there a too many nodes in graph, it will make font very small. Hope could font size as normal and a scroll bar

Have you tried defining mermaid.flowchartConfig as described in https://mermaidjs.github.io/flowchart.html ?

I ended up doing the following:
CSS:
.flowchart {   width: 100%;    overflow-x: scroll; }
CoffeeScript:
$ ->   mermaid.initialize(     startOnLoad: true,     flowchart: { useMaxWidth: false }   )
And then putting the mermaid.js markup inside <div class="mermaid flowchart">


Two notifications when renaming an element that I can't rename

Have a variable that isn't defined
F2 to rename it
See a warning and an error. I think I just expect the warning

I believe this was introduced by dbe0f89264dc6e9d38cf8723e358741ce9e8a131
Not TS specific. The bug is that _prepareRename will always return an error. We show a warning for this error and then rethrow it which triggers the error message in the UI

Duplicate of #35177. I believe Ramya fixed this already


feat: expose --placeholder-font-size for ion-input

Feature Request
Ionic version:

[x] 4.x
Describe the Feature Request

--placeholder-font-size will apply font-size to placeholder only.
Describe Preferred Solution

--placeholder-font-size
Describe Alternatives

Related Code

Additional Context

Thanks for the issue. I am going to close this as this is already possible in Ionic Framework. ion-input is not a shadow component, so you can target the placeholder directly in your CSS: https://css-tricks.com/almanac/selectors/p/placeholder/

Thank you let me try that 👍


"[SteamVR] No pose action set for this component" when switching scenes

Hello,
First of all thank you for your help in advance.
I am using Unity v2019.3.2f1 and SteamVR Plugin v2.5
I am getting the error "[SteamVR] No pose action set for this component" when I change scenes in the editor while in play mode.
When I push play, all the tracked objects track, two vive controllers and two vive trackers, but when I switch scenes using SceneManager.LoadScene( <buildIndex> ); I get the error above for all the tracked objects.
I am also getting a NullReferenceException ( as seen in image ):
NullReferenceException: Object reference not set to an instance of an object
Valve.VR.SteamVR_Action`2[SourceMap,SourceElement].get_Item (Valve.VR.SteamVR_Input_Sources inputSource) (at Assets/SteamVR/Input/SteamVR_Action.cs:42)
Valve.VR.SteamVR_Behaviour_Pose.get_isValid () (at Assets/SteamVR/Input/SteamVR_Behaviour_Pose.cs:26)
Foot.OnTriggerEnter (UnityEngine.Collider other) (at Assets/Scripts/Player/Foot.cs:20)

I happened because my [CameraRig] Prefab changed weren't applied and I changed/deleted the controller binding. So when the scene reset they would reset the prefab to the old binding which did not exist anymore, hence the "No pose action set..."

If I understand my comment above, I fixed it by making sure the [CameraRig] prefab was up to date in all scenes.


Azure Automation Event Grid

The article doesn't work anymore. I didn't hit any issue in following the steps.
But when VM is created, automation doesn't kick in. It error's out.

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

ID: bc42ccc0-e520-9aad-e417-c03aa8c96fd0
Version Independent ID: 3fb6ae53-e543-21ae-b702-93cb08b53521
Content: Integrate Azure Automation with Event Grid - Azure Event Grid
Content Source: articles/event-grid/ensure-tags-exists-on-new-virtual-machines.md
Service: automation
GitHub Login: @eamonoreilly
Microsoft Alias: eamono

@armiar Thanks for your feedback.
Assigning to content author @eamonoreilly  for review.

Thanks for your dedication to our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response. The requested updates have not been made since the creation of this issue, and the timeline for resolution may vary based on resourcing, so we've created an internal work item to incorporate your suggestions. We are closing this issue for now, but feel free to comment here as necessary. #please-close


OSM Tiles should rely on round-robin load balancer, not hardcode subdomains

https://github.com/darribas/contextily/blob/master/contextily/tile_providers.py#L19-L22 specifies OSM_A to OSM_C with a to b as (sub-)subdomains. Please always just use the tile.openstreetmap.org as any request to it will automatically be shared between the sub-hosts.

@kannes thanks for the report!
You are linking to the "old" provider definitions. The ones in https://github.com/darribas/contextily/blob/master/contextily/_providers.py should eventually replace that. However, also there, we are using a hardcoded subdomain:
https://github.com/darribas/contextily/blob/013307da68742bfc0e54dd3bdff3f120e4fc7188/contextily/_providers.py#L44
(the {s} gets later filled with "a" if not provided by the user)
Ideally it would be changed there, but if needed, we can also patch the url in contextily (the linked _providers.py file is auto-generated based on https://github.com/leaflet-extras/leaflet-providers source, but can add some patches to the conversion code).
It seems that leaflet "divides" over the different domains using a calculation based on the coordinates for a given tile:
https://github.com/Leaflet/Leaflet/blob/37d2fd15ad6518c254fae3e033177e96c48b5012/src/layer/tile/TileLayer.js#L222-L225

Ah, I was just following the code from the example notebook :)

It seems that leaflet "divides" over the different domains using a calculation based on the coordinates for a given tile:

That sounds wild!
The docs https://leafletjs.com/reference-1.6.0.html#tilelayer imply that {s} is replaced by "a", "b", or "c" unless the user sets different options. That's how I always understood it too, with those three subdomains being available. Sounds like it would be safe to simply randomly use a, b or c if there is a {s} in a URL.


Listbp node blang

Add wildcared BInding Pattern support to the listbinding pattern transformer
Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

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

@@           Coverage Diff           @@
##           master   #23689   +/-   ##
=======================================
  Coverage   14.59%   14.59%
=======================================
  Files          51       51
  Lines        1411     1411
  Branches      219      219
=======================================
  Hits          206      206
  Misses       1189     1189
  Partials       16       16

Continue to review full report at Codecov.

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


Add travis support for s390x

Add travis support for s390x for Hiredis.

Thanks for the PR!
I'm not familiar with the s390x architecture but it looks like the tests pass.
Is the arch/kernel different enough that you would expect us to encounter breaking changes with respect to it?  I'm trying to weigh whether or not the 20 added minutes to CI is likely to ever find problems.

Thanks for the PR!
I'm not familiar with the s390x architecture but it looks like the tests pass.
Is the arch/kernel different enough that you would expect us to encounter breaking changes with respect to it? I'm trying to weigh whether or not the 20 added minutes to CI is likely to ever find problems.

@michael-grunder s390x is a 64 bit, big endian architecture.

@michael-grunder Please let us know if there is any update on this.

@michael-grunder Is there any further discussion on this PR, please let us know if any more information is needed from our side.

@michael-grunder Is there any further progress on this PR, please let us know if any more information is needed from our side.

I actually need to migrate all of our tests to GitHub actions as travis-ci.org is now deprecated.
It looks like Actions does support s390x so we could add it after I create the initial .github/workflows/build.yml

@michael-grunder Do we have any plans to migrate the repository to travis-ci.com? As per the Travis blog, Travis fully supports the OSS teams and allocates them more credits after they apply for the same.

I believe that would need to be done by the owners of the Redis organization (Redis Labs), as I only have access to this repo.
That said, it looks like Redis itself has migrated to GitHub actions so doing the same for hiredis seems like the way to go.  The workflows are pretty similar though, and s390x is supported so I will make sure to get this functionality included with the migration.

Thanks @michael-grunder for the update.


feat: adding seo component to page collection type

This is only a first draft to fix issue, feedback is highly appreciated.
Known problems:

Metadata for the homepage is using the values from global, preferred would be if fallback > global > page based seo

@KennyAtCodin I had to revert the changes, when testing inport from seed file it introduced breaking changes.  Will look into it more.


General info Request

First, thanks for producing some excellent pieces of software.
I run your single Wemo switch software on several esp devices - and it works Flawless!!
24 hours for a month and the esp8266 units and Alexa  continue to work great.
Now, I was looking at your latest multiple wemo software and have a few questions:
Multiple wemo switch:

I am not sure I understand how I use this. Your new software allows one to add several (14) device names and address but It is not clear to me how I would utilize it.  On your single switch if i have a device name" box" and tell Alexa to turn box on/off and  it does. I assign the output pin and it controls a relay  or led etc... perfect!
In the multiple switch I can add several(14) device names with each having a new name and port.
If I were to tell Alexa the device name - say Turn on "Office" or Kitchen etc, What device and or pins does it control...

I don't understand how the software controls each device output pin ? and where I put the info.

There are several files beside the .ino file, where do I put these in order to have the ide compile?
As is I get errors when trying to compile.

I guess I need a kick start to get me going on the project....
Thanks for your help
Joe

Thanks

I think you are thinking in terms of sonoff where there is a single relay to control AC. I made this project to control multiple relays connected to a single WeMos D1. For an example, I have a TV and a Fan connected to two power sockets so instead of using 2 WeMos D1s i just wanted to control both using a single WeMos D1. WeMos D1 has multiple IO pins.  When you ask Alexa to discover devices, WeMos D1 will respond back as if two connected.

Think you brought a WeMos D1 and a 4-Channel OMRON Solid-State-Relay (https://www.aliexpress.com/item/Sindax-5v-4-Channel-OMRON-SSR-G3MB-202P-Solid-State-Relay-Module-For-Arduino-z3-1pcs/32640442712.html)  This gives you the power to control 4 mains by using 4 I/O pins in D1. So You can define 4 switches in the program to turn high/low accordingly

const int relayS1Pin = D1;
const int relayS2Pin = D2;
const int relayS3Pin = D3;
const int relayS4Pin = D4;

// In void setup()
 pinMode(relayS1Pin, OUTPUT);
 pinMode(relayS2Pin, OUTPUT);
 pinMode(relayS3Pin, OUTPUT);
 pinMode(relayS4Pin, OUTPUT);

...

s1 = new Switch("office", 80, s1On, s1Off);
s2 = new Switch("kitchen", 81, s2On, s2Off);
s3 = new Switch("fan", 82, s3On, s23ff);
s4 = new Switch("tv", 83, s4On, s4Off);

upnpBroadcastResponder.addDevice(*s1);
upnpBroadcastResponder.addDevice(*s2);
upnpBroadcastResponder.addDevice(*s3);
upnpBroadcastResponder.addDevice(*s4);

....

void s1On() {
  digitalWrite(relayS1Pin, HIGH); // turn on relay with voltage HIGH
}

void s1Off() {
  digitalWrite(relayS1Pin, LOW); // turn on relay with voltage HIGH
}

void s2On() {

}

void s2Off() {

}

void s3On() {

}

void s3Off() {

}

void s4On() {

}

void s4Off() {

}

Download the whole folder and open wemos.ino in Arduino IDE. It will open all the other files. Then compile.

That info helped.
I was able to compile and add a new switch --- working very cool!
I was wondering if there any way to see the status of the devices on a browers?
Thanks again...
Great talent , appreciate you sharing.....
Joe

how do i change the pins i want to control

if you want to keep the same names then change:
in the example
const int relayS1Pin = D1;   change to whatever pin you want to use D2
OR D3 OR D5 etc these represent the gpio pins
joe
On Sat, Dec 17, 2016 at 4:09 PM, cobra85ec<EMAIL_ADDRESS>wrote:

how do i change the pins i want to control
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/3#issuecomment-267783994,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWDpY-TKN-idqO-_TJlx4ffVKuLWUQHvks5rJEFwgaJpZM4LKDvr
.

i dont see where that is....

Ok which code are you looking at ? The single or multiple wemo emulator.
Joe
On Sat, Dec 17, 2016 at 6:37 PM, cobra85ec<EMAIL_ADDRESS>wrote:

i dont see where that is....
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/3#issuecomment-267791610,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWDpY8_blTHJ_soqfZjI45sfV3G0ygKQks5rJGQbgaJpZM4LKDvr
.

multiple....

Ok,
You need  6 files:

wemos.ino   - this is the main file you edit

The other 5 files are support files needed in order to compile.

You  need to go to the github site and download the wemos directory
The unzip the files the wemos directory should wemos.ino and contain 5
other files.
Load  / open the wemos.ino using the arduino ide program and then open it
where you stored the wemos,ino
Try to compile as is, if it works then you need to personalize the code for
your pins and names devices etc
Joe
On Sat, Dec 17, 2016 at 6:44 PM, cobra85ec<EMAIL_ADDRESS>wrote:

multiple....
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/3#issuecomment-267791944,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWDpY5czGTMhzaSaC_vGhhDe2NCXrdLkks5rJGXqgaJpZM4LKDvr
.

i did all that... i just dont know where to change the pins... in the single pin ,.... i was able to change it not problem... this one seems a bit harder...

Ok,
So you can compile ok..
I will send you a copy of the working code (.ino I have modified , it
should help... I had  the same issue..
In about 5 minutes
joe
On Sat, Dec 17, 2016 at 6:59 PM, cobra85ec<EMAIL_ADDRESS>wrote:

i did all that... i just dont know where to change the pins... in the
single pin ,.... i was able to change it not problem... this one seems a
bit harder...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/3#issuecomment-267792552,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWDpY1z4E-UyKlAAnwE8TJcCoU6XVgUkks5rJGlugaJpZM4LKDvr
.

yes it compiles... and thank u so mach... ill sen u a beer for ur help

// For 3  devices  /// Joe Basque
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <WiFiUdp.h>
#include
#include "switch.h"
#include "UpnpBroadcastResponder.h"
#include "CallbackFunction.h"
const int relayPin = D1;// ----------------new
const int relay2Pin = D2;//--------------------new
const int relay5Pin = D5;//-------------------new
//const int flex6Pin = D6;///-------------------new
// prototypes
boolean connectWifi();
//on/off callbacks
void relayOn();//----------------------------new
void relayOff();//---------------------------new
void relay2On();//---------------------------new
void relay2Off();//--------------------------new
void relay5On();//------------------------------new
void relay5Off();//-----------------------------new
// Change this before you flash
const char* ssid = "xxxxxxx";//-------------------new
const char* password = "xxxxxxx";//-----------------new
boolean wifiConnected = false;
UpnpBroadcastResponder upnpBroadcastResponder;
Switch *relay = NULL;//--------------NEW D1
Switch *relay2 = NULL;//----------------NEW D2
Switch *relay5= NULL;//-----------------NEW D5
void setup()
{
Serial.begin(9600);
// Initialise wifi connection
wifiConnected = connectWifi();
if(wifiConnected){
upnpBroadcastResponder.beginUdpMulticast();
// define output mode

pinMode(relayPin, OUTPUT);//---------------------------new
pinMode(relay2Pin, OUTPUT);//-----------------------new
pinMode(relay5Pin, OUTPUT);//-----------------------------new
// Define your switches here. Max 14
// Format: Alexa invocation name, local port no, on callback, off

callback
//kitchen = new Switch("kitchen lights", 81, kitchenLightsOn,
kitchenLightsOff);
relay = new Switch("relay  1", 90, relayOn,
relayOff);//---------------------new
relay2 = new Switch("relay 2", 91, relay2On, relay2Off);
//-------------new
relay5 = new Switch("relay 5", 92, relay5On, relay5Off);
//----------------------new
Serial.println("Adding switches upnp broadcast responder");

upnpBroadcastResponder.addDevice(*relay);//---------new
upnpBroadcastResponder.addDevice(*relay2);//-----------new
upnpBroadcastResponder.addDevice(*relay5);//-----------new

}
}
void loop()
{
if(wifiConnected){
upnpBroadcastResponder.serverLoop();
  relay->serverLoop();//-----------------new
  relay2->serverLoop();//-------------------new
  relay5->serverLoop();//-------------------new

}
}
void relayOn() {
digitalWrite(relayPin, HIGH); // turn on relay with voltage HIGH
-------------new
}
void relayOff() {
digitalWrite(relayPin, LOW); // turn on relay with voltage HIGH
--------------new
}
void relay2On() {
digitalWrite(relay2Pin, HIGH); // turn on relay with voltage HIGH
-----------newd2
}
void relay2Off() {
digitalWrite(relay2Pin, LOW); // turn on relay with voltage HIGH
---------- newd2
}
void relay5On() {
digitalWrite(relay5Pin, HIGH); // turn on relay with voltage HIGH
-----------newd5
}
void relay5Off() {
digitalWrite(relay5Pin, LOW); // turn on relay with voltage HIGH
---------- newd5
}
// connect to wifi – returns true if successful or false if not
boolean connectWifi(){
boolean state = true;
int i = 0;
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println("");
Serial.println("Connecting to WiFi");
// Wait for connection
Serial.print("Connecting ...");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
if (i > 10){
state = false;
break;
}
i++;
}
if (state){
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
else {
Serial.println("");
Serial.println("Connection failed.");
}
return state;
}
On Sat, Dec 17, 2016 at 7:04 PM, cobra85ec<EMAIL_ADDRESS>wrote:

yes it compiles... and thank u so mach... ill sen u a beer for ur help
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/3#issuecomment-267792757,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWDpY2eYqj8NrIv5WReFat3BFZHh1Z4Uks5rJGqEgaJpZM4LKDvr
.

this dont compiles

i change d1 to the pin i wanted and it say callback not defind in scope

//---------->>>>Just did a compile on my latest current working version
//----------->>>>Dont change - do a test compile
//---------->>If it works then change the pins to the ones you wish
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <WiFiUdp.h>
#include
#include "switch.h"
#include "UpnpBroadcastResponder.h"
#include "CallbackFunction.h"
const int relayPin = D1;// ----------------new
const int relay2Pin = D2;//--------------------new
const int relay5Pin = D5;//-------------------new
//const int flex6Pin = D6;///-------------------new
// prototypes
boolean connectWifi();
//on/off callbacks
void relayOn();//----------------------------new
void relayOff();//---------------------------new
void relay2On();//---------------------------new
void relay2Off();//--------------------------new
void relay5On();//------------------------------new
void relay5Off();//-----------------------------new
//void flex6On();//------------------------------new
//void flex6Off();//-----------------------------new
// Change this before you flash
const char* ssid = "xxxx";//-------------------new
const char* password = "xxxxxx";//-----------------new
boolean wifiConnected = false;
UpnpBroadcastResponder upnpBroadcastResponder;
//Switch *office = NULL;
//Switch *kitchen = NULL;
Switch *relay = NULL;//--------------NEW D1
Switch *relay2 = NULL;//----------------NEW D2
Switch *relay5= NULL;//-----------------NEW D5
//Switch *flex6 = NULL;//----------------NEW D6
void setup()
{
Serial.begin(9600);
// Initialise wifi connection
wifiConnected = connectWifi();
if(wifiConnected){
upnpBroadcastResponder.beginUdpMulticast();
// define output mode

pinMode(relayPin, OUTPUT);//---------------------------new
pinMode(relay2Pin, OUTPUT);//-----------------------new
pinMode(relay5Pin, OUTPUT);//-----------------------------new
// pinMode(flex6Pin, OUTPUT);//-----------------------------new
// Define your switches here. Max 14
// Format: Alexa invocation name, local port no, on callback, off

callback
//kitchen = new Switch("kitchen lights", 81, kitchenLightsOn,
kitchenLightsOff);
relay = new Switch("relay  1", 90, relayOn,
relayOff);//---------------------new
relay2 = new Switch("relay 2", 91, relay2On, relay2Off);
//-------------new
relay5 = new Switch("relay 5", 92, relay5On, relay5Off);
//----------------------new
// flex6 = new Switch("flex 6", 89, flex6On, flex6Off);
//---------------------new
Serial.println("Adding switches upnp broadcast responder");

upnpBroadcastResponder.addDevice(*relay);//---------new
upnpBroadcastResponder.addDevice(*relay2);//-----------new
upnpBroadcastResponder.addDevice(*relay5);//-----------new

//  upnpBroadcastResponder.addDevice(*flex6);//-----------new
}
}
void loop()
{
if(wifiConnected){
upnpBroadcastResponder.serverLoop();
  relay->serverLoop();//-----------------new
  relay2->serverLoop();//-------------------new
  relay5->serverLoop();//-------------------new
 // flex6->serverLoop();//-------------------new

}
}
//void officeLightsOn() {
//    Serial.print("Switch 1 turn on ...");
//}
//void officeLightsOff() {
//    Serial.print("Switch 1 turn off ...");
//}
void relayOn() {
digitalWrite(relayPin, HIGH); // turn on relay with voltage HIGH
-------------new
}
void relayOff() {
digitalWrite(relayPin, LOW); // turn on relay with voltage HIGH
--------------new
}
void relay2On() {
digitalWrite(relay2Pin, HIGH); // turn on relay with voltage HIGH
-----------newd2
}
void relay2Off() {
digitalWrite(relay2Pin, LOW); // turn on relay with voltage HIGH
---------- newd2
}
void relay5On() {
digitalWrite(relay5Pin, HIGH); // turn on relay with voltage HIGH
-----------newd5
}
void relay5Off() {
digitalWrite(relay5Pin, LOW); // turn on relay with voltage HIGH
---------- newd5
}
//void flex6On() {
//  digitalWrite(flex6Pin, HIGH); // turn on relay with voltage HIGH
-------------new
//}
//
//void flex6Off() {
//  digitalWrite(flex6Pin, LOW); // turn on relay with voltage HIGH
--------------new
//}
// connect to wifi – returns true if successful or false if not
boolean connectWifi(){
boolean state = true;
int i = 0;
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println("");
Serial.println("Connecting to WiFi");
// Wait for connection
Serial.print("Connecting ...");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
if (i > 10){
state = false;
break;
}
i++;
}
if (state){
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
else {
Serial.println("");
Serial.println("Connection failed.");
}
return state;
}
On Sat, Dec 17, 2016 at 7:18 PM, cobra85ec<EMAIL_ADDRESS>wrote:

i change d1 to the pin i wanted and it say callback not defind in scope
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/3#issuecomment-267793330,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWDpY264BrTwOXm4HMGYkJyROcqVtwU2ks5rJG3GgaJpZM4LKDvr
.

What esp8266 are you using?
What pin do you want to change?
Joe
On Sat, Dec 17, 2016 at 7:18 PM, cobra85ec<EMAIL_ADDRESS>wrote:

i change d1 to the pin i wanted and it say callback not defind in scope
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/3#issuecomment-267793330,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWDpY264BrTwOXm4HMGYkJyROcqVtwU2ks5rJG3GgaJpZM4LKDvr
.

i got it workking,,,, thank u very much......now how do i get u a beer...

Not required but thanks for the offer ,glad to help.....
Joe
On Sat, Dec 17, 2016 at 7:31 PM, cobra85ec<EMAIL_ADDRESS>wrote:

i got it workking,,,, thank u very much......now how do i get u a beer...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/3#issuecomment-267793834,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWDpYza7mCF4eVR6rsTobMQrSoAx7XUBks5rJHDfgaJpZM4LKDvr
.

man... im really happy with ur help.....thanks alot

Just got back - blowing the snow out of the  driveway ....
Maybe you will be able to help someone else..
Great program - sure appreciate him releasing it so we all can enjoy it.
Merry Christmas....
73
On Sat, Dec 17, 2016 at 7:36 PM, cobra85ec<EMAIL_ADDRESS>wrote:

man... im really happy with ur help.....thanks alot
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/3#issuecomment-267794006,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWDpY60rNnziaPL71SyDOle3veKtN0Ffks5rJHHlgaJpZM4LKDvr
.

Hi there
Thanks for a great code .... Compilation was working 1.st time with the onboard diodes.
One question ...... When i compile with 11 devices it goes ok every time....
Connecting to WiFi
Connecting ......
Connected to WifiTestNet
IP address: <IP_ADDRESS>
RSSI:-77
Begin multicast ..
Udp multicast server started at <IP_ADDRESS>:1900
WebServer started on port: 80
WebServer started on port: 81
WebServer started on port: 82
WebServer started on port: 83
WebServer started on port: 84
WebServer started on port: 87
WebServer started on port: 88
WebServer started on port: 89
WebServer started on port: 90
WebServer started on port: 94
WebServer started on port: 95
Adding switches upnp broadcast responder
Adding switch : Samsung T.V. index : 0
Adding switch : T.V. Mute index : 1
Adding switch : T.V. Channel index : 2
Adding switch : T.V. sound index : 3
Adding switch : T.V. one index : 4
Adding switch : Amplifier index : 5
Adding switch : Amplifier sound index : 6
Adding switch : Amplifier aux index : 7
Adding switch : Amplifier tuner index : 8
Adding switch : Amplifier mute index : 9
Adding switch : VacuumCleaner index : 10
BUT
When i compile with 12 devices the witty esp8266 reboot every 10 second. It connect to wifi... and the reboot after 5 sec.
When i compile with 13 devices the witty esp8266 won't connect to wifi and roboot every 5 second
Same goes with devices up to 14 and over. (I could really use 20)
(I have a 100uf over the 3.3V supply for stability)
Have you seen this issue before, or have any idea of what is going wrong ?
Thanks in advance.

Hi Guys,
I got everything to compile and work except the initial status of the solid state relay for on relay board lights is ON and when I ask alexa to turn each one ON then the on board lights goes off and nothing happen as far as the connected device (it's on all the time). Maybe this Relay is defective? any help appreciated.
Here is my code:
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <WiFiUdp.h>
#include
#include "switch.h"
#include "UpnpBroadcastResponder.h"
#include "CallbackFunction.h"
const int relayS1Pin = D1;
const int relayS2Pin = D2;
const int relayS3Pin = D3;
const int relayS4Pin = D5;
// prototypes
boolean connectWifi();
//on/off callbacks
void relayS1On();
void relayS1Off();
void relayS2On();
void relayS2Off();
void relayS3On();
void relayS3Off();
void relayS4On();
void relayS4Off();
// Change this before you flash
const char* ssid = "MyWiFiName";
const char* password = "********";
boolean wifiConnected = false;
UpnpBroadcastResponder upnpBroadcastResponder;
Switch *relayS1 = NULL;
Switch *relayS2 = NULL;
Switch *relayS3 = NULL;
Switch *relayS4 = NULL;
void setup()
{
Serial.begin(9600);
// Initialise wifi connection
wifiConnected = connectWifi();
if(wifiConnected){
upnpBroadcastResponder.beginUdpMulticast();
 pinMode(relayS1Pin, OUTPUT);
 pinMode(relayS2Pin, OUTPUT);
 pinMode(relayS3Pin, OUTPUT);
 pinMode(relayS4Pin, OUTPUT);

// Define your switches here. Max 14
// Format: Alexa invocation name, local port no, on callback, off callback
relayS1 = new Switch("office lights", 80, relayS1On, relayS1Off);
relayS2 = new Switch("bedroom lights", 81, relayS2On, relayS2Off);
relayS3 = new Switch("hallway lights", 82, relayS3On, relayS3Off);
relayS4 = new Switch("bathroom lights", 83, relayS4On, relayS4Off);

Serial.println("Adding switches upnp broadcast responder");
upnpBroadcastResponder.addDevice(*relayS1);
upnpBroadcastResponder.addDevice(*relayS2);
upnpBroadcastResponder.addDevice(*relayS3);
upnpBroadcastResponder.addDevice(*relayS4);

}
}
void loop()
{
if(wifiConnected){
upnpBroadcastResponder.serverLoop();
  relayS1->serverLoop();
  relayS2->serverLoop();
  relayS3->serverLoop();
  relayS4->serverLoop();

}
}
void relayS1On() {
digitalWrite(relayS1Pin, HIGH); // turn on relay with voltage HIGH
}
void relayS1Off() {
digitalWrite(relayS1Pin, LOW); // turn off relay with voltage HIGH
}
void relayS2On() {
digitalWrite(relayS2Pin, HIGH); // turn on relay with voltage HIGH
}
void relayS2Off() {
digitalWrite(relayS2Pin, LOW); // turn off relay with voltage HIGH
}
void relayS3On() {
digitalWrite(relayS3Pin, HIGH); // turn on relay with voltage HIGH
}
void relayS3Off() {
digitalWrite(relayS3Pin, LOW); // turn off relay with voltage HIGH
}
void relayS4On() {
digitalWrite(relayS4Pin, HIGH); // turn on relay with voltage HIGH
}
void relayS4Off() {
digitalWrite(relayS4Pin, LOW); // turn off relay with voltage HIGH
}
// connect to wifi – returns true if successful or false if not
boolean connectWifi(){
boolean state = true;
int i = 0;
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println("");
Serial.println("Connecting to WiFi");
// Wait for connection
Serial.print("Connecting ...");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
if (i > 10){
state = false;
break;
}
i++;
}
if (state){
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
else {
Serial.println("");
Serial.println("Connection failed.");
}
return state;
}

Hi I too am not able to complie.
Can you please let me know how you resolved the D1 Not declared

@VivekESP8266 https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/14

Thank you.
Now compiling OK.
However can you please explain what the numbers 90, 91, 92,& 89 point to.
Also what are the numbers for the other 10 outputs
relay = new Switch("relay  1", 90, relayOn, relayOff);
relay2 = new Switch("relay 2", 91, relay2On, relay2Off);
relay5 = new Switch("relay 5", 92, relay5On, relay5Off);
// flex6 = new Switch("flex 6", 89, flex6On, flex6Off);

Numbers are refereed to a web server started internally to respond to Alexa for each switch you define. You do not have to worry about them.

Dear Aruna
Thank you for the clarification. So I can use any numbers for it? Or is
there a specific range. As I want to use 8 or 12 mains outputs with solid
state relays.
Best Regards
Vivek Balagopal
+971 50 6540214
On Mar 9, 2017 3:07 PM, "Aruna Tennakoon"<EMAIL_ADDRESS>wrote:

Numbers are refereed to a web server started internally to respond to
Alexa for each switch you define. You do not have to worry about them.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/3#issuecomment-285322916,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZDdLY3mn6CXMOTD6d_887Wr-ORB0CBbks5rj915gaJpZM4LKDvr
.

whenever I go to compile this I get the error:
invalid conversion from 'void ()()' to 'CallbackFunction {aka bool ()()}' [-fpermissive]

I am not seeing this error in my Arduino IDE. I can't remember the IDE
version and there is no way to check it because I am going out of city
Try this
https://github.com/witnessmenow/esp8266-alexa-wemo-emulator/tree/master/src
I see they used std::function callback this might fix your problem
On Sat, Dec 30, 2017 at 11:23 AM labbie48<EMAIL_ADDRESS>wrote:

whenever I go to compile this I get the error:
invalid conversion from 'void ()()' to 'CallbackFunction {aka bool ()()}'
[-fpermissive]
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/3#issuecomment-354526481,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHIM5q1m_F7QDHZR9yKvdWpmWqSZ7RLDks5tFbrUgaJpZM4LKDvr
.

Maybe someone can see what I missed but when I go to compile it, this is the error I get:
"invalid conversion from 'void ()()' to 'CallbackFunction {aka bool ()()}' [-fpermissive]"
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <WiFiUdp.h>
#include
#include "switch.h"
#include "UpnpBroadcastResponder.h"
#include "CallbackFunction.h"
const int relayPin = D1;// ----------------new
const int relay2Pin = D2;//--------------------new
const int relay5Pin = D5;//-------------------new
//const int flex6Pin = D6;///-------------------new
// prototypes
boolean connectWifi();
//on/off callbacks
void relayOn();//----------------------------new
void relayOff();//---------------------------new
void relay2On();//---------------------------new
void relay2Off();//--------------------------new
void relay5On();//------------------------------new
void relay5Off();//-----------------------------new
//void flex6On();//------------------------------new
//void flex6Off();//-----------------------------new
// Change this before you flash
const char* ssid = "xxx";//-------------------new
const char* password = "xxx";//-----------------new
boolean wifiConnected = false;
UpnpBroadcastResponder upnpBroadcastResponder;
//Switch *office = NULL;
//Switch *kitchen = NULL;
Switch *relay = NULL;//--------------NEW D1
Switch *relay2 = NULL;//----------------NEW D2
Switch *relay5= NULL;//-----------------NEW D5
//Switch *flex6 = NULL;//----------------NEW D6
void setup()
{
Serial.begin(9600);
// Initialise wifi connection
wifiConnected = connectWifi();
if(wifiConnected){
upnpBroadcastResponder.beginUdpMulticast();
// define output mode

pinMode(relayPin, OUTPUT);//---------------------------new
pinMode(relay2Pin, OUTPUT);//-----------------------new
pinMode(relay5Pin, OUTPUT);//-----------------------------new
// pinMode(flex6Pin, OUTPUT);//-----------------------------new
// Define your switches here. Max 14
// Format: Alexa invocation name, local port no, on callback, off callback
//kitchen = new Switch("kitchen lights", 81, kitchenLightsOn,kitchenLightsOff);
relay = new Switch("relay 1", 90, relayOn, relayOff);//---------------------new
relay2 = new Switch("relay 2", 91, relay2On, relay2Off);//-------------new
relay5 = new Switch("relay 5", 92, relay5On, relay5Off);//----------------------new

// flex6 = new Switch("flex 6", 89, flex6On, flex6Off);//---------------------new
Serial.println("Adding switches upnp broadcast responder");

upnpBroadcastResponder.addDevice(*relay);//---------new
upnpBroadcastResponder.addDevice(*relay2);//-----------new
upnpBroadcastResponder.addDevice(*relay5);//-----------new

//  upnpBroadcastResponder.addDevice(*flex6);//-----------new
}
}
void loop()
{
if(wifiConnected){
upnpBroadcastResponder.serverLoop();
  relay->serverLoop();//-----------------new
  relay2->serverLoop();//-------------------new
  relay5->serverLoop();//-------------------new
 // flex6->serverLoop();//-------------------new

}
}
//void officeLightsOn() {
//    Serial.print("Switch 1 turn on ...");
//}
//void officeLightsOff() {
//    Serial.print("Switch 1 turn off ...");
//}
void relayOn() {
digitalWrite(relayPin, HIGH); // turn on relay with voltage HIGH-------------new
}
void relayOff() {
digitalWrite(relayPin, LOW); // turn on relay with voltage HIGH--------------new
}
void relay2On() {
digitalWrite(relay2Pin, HIGH); // turn on relay with voltage HIGH-----------newd2
}
void relay2Off() {
digitalWrite(relay2Pin, LOW); // turn on relay with voltage HIGH---------- newd2
}
void relay5On() {
digitalWrite(relay5Pin, HIGH); // turn on relay with voltage HIGH-----------newd5
}
void relay5Off() {
digitalWrite(relay5Pin, LOW); // turn on relay with voltage HIGH---------- newd5
}
//void flex6On() {
//  digitalWrite(flex6Pin, HIGH); // turn on relay with voltage HIGH-------------new
//}
//
//void flex6Off() {
//  digitalWrite(flex6Pin, LOW); // turn on relay with voltage HIGH--------------new
//}
// connect to wifi – returns true if successful or false if not
boolean connectWifi(){
boolean state = true;
int i = 0;
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println("");
Serial.println("Connecting to WiFi");
// Wait for connection
Serial.print("Connecting ...");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
if (i > 10){
state = false;
break;
}
i++;
}
if (state){
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
else {
Serial.println("");
Serial.println("Connection failed.");
}
return state;
}

I tried to use your code on a nodemcu by modifying the required lines but the relays remain in high state irrespective of the command given. Here is my code:
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <WiFiUdp.h>
#include
#include "switch.h"
#include "UpnpBroadcastResponder.h"
#include "CallbackFunction.h"
// prototypes
boolean connectWifi();
//on/off callbacks
bool s1On();
bool s1Off();
bool s2On();
bool s2Off();
bool s3On();
bool s3Off();
bool s4On();
bool s4Off();
// Change this before you flash
const char* ssid = "2ndFLOOR";
const char* password = "books4ume";
const int relayS1Pin = 12;
const int relayS2Pin = 14;
const int relayS3Pin = 13;
const int relayS4Pin = 15;
boolean wifiConnected = false;
UpnpBroadcastResponder upnpBroadcastResponder;
Switch *s1 = NULL;
Switch *s2 = NULL;
Switch *s3 = NULL;
Switch *s4 = NULL;
bool iss1On = false;
bool iss2On = false;
bool iss3On = false;
bool iss4On = false;
void setup()
{
Serial.begin(9600);
// Initialise wifi connection
wifiConnected = connectWifi();
if(wifiConnected){
upnpBroadcastResponder.beginUdpMulticast();
// Inside void setup()
pinMode(relayS1Pin, OUTPUT);
pinMode(relayS2Pin, OUTPUT);
pinMode(relayS3Pin, OUTPUT);
pinMode(relayS4Pin, OUTPUT);
// Define your switches here. Max 10
// Format: Alexa invocation name, local port no, on callback, off callback
s1 = new Switch("office", 81, s1On, s1Off);
s2 = new Switch("kitchen", 90, s2On, s2Off);
s3 = new Switch("fan", 91, s3On, s3Off);
s4 = new Switch("tv", 92, s4On, s4Off);
Serial.println("Adding switches upnp broadcast responder");

upnpBroadcastResponder.addDevice(*s1);
upnpBroadcastResponder.addDevice(*s2);
upnpBroadcastResponder.addDevice(*s3);
upnpBroadcastResponder.addDevice(*s4);
}
}
void loop()
{
if(wifiConnected){
upnpBroadcastResponder.serverLoop();
  s1->serverLoop();
  s2->serverLoop();
  s3->serverLoop();
  s4->serverLoop();

}
}
bool s1On() {
Serial.println("Switch 1 turn on ...");
iss1On = true;
return iss1On;

}
bool s1Off() {
Serial.println("Switch 1 turn off ...");
iss1On = false;
return iss1On;

}
bool s2On() {
Serial.println("Switch 2 turn on ...");
iss2On = true;
return iss2On;

}
bool s2Off() {
Serial.println("Switch 2 turn off ...");
iss2On = false;
return iss2On;
}
bool s3On() {
Serial.println("Switch 3 turn on ...");
iss3On = true;
return iss3On;

}
bool s3Off() {
Serial.println("Switch 3 turn off ...");
iss3On = false;
return iss3On;
}
bool s4On() {
Serial.println("Switch 4 turn on ...");
iss4On = true;
return iss4On;

}
bool s4Off() {
Serial.println("Switch 4 turn off ...");
iss4On = false;
return iss4On;
}
// connect to wifi – returns true if successful or false if not
boolean connectWifi(){
boolean state = true;
int i = 0;
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println("");
Serial.println("Connecting to WiFi");
// Wait for connection
Serial.print("Connecting ...");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
if (i > 10){
state = false;
break;
}
i++;
}
if (state){
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
else {
Serial.println("");
Serial.println("Connection failed.");
}
return state;
}

You have to change the relay status to high or low in on/off functions
On Sat, Apr 21, 2018 at 12:49 AM The_Great_One<EMAIL_ADDRESS>wrote:

I tried to use your code on a nodemcu by modifying the required lines but
the relays remain in high state irrespective of the command given. Here is
my code:
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <WiFiUdp.h>
#include
#include "switch.h"
#include "UpnpBroadcastResponder.h"
#include "CallbackFunction.h"
// prototypes
boolean connectWifi();
//on/off callbacks
bool s1On();
bool s1Off();
bool s2On();
bool s2Off();
bool s3On();
bool s3Off();
bool s4On();
bool s4Off();
// Change this before you flash
const char* ssid = "2ndFLOOR";
const char* password = "books4ume";
const int relayS1Pin = 12;
const int relayS2Pin = 14;
const int relayS3Pin = 13;
const int relayS4Pin = 15;
boolean wifiConnected = false;
UpnpBroadcastResponder upnpBroadcastResponder;
Switch *s1 = NULL;
Switch *s2 = NULL;
Switch *s3 = NULL;
Switch *s4 = NULL;
bool iss1On = false;
bool iss2On = false;
bool iss3On = false;
bool iss4On = false;
void setup()
{
Serial.begin(9600);
// Initialise wifi connection
wifiConnected = connectWifi();
if(wifiConnected){
upnpBroadcastResponder.beginUdpMulticast();
// Inside void setup()
pinMode(relayS1Pin, OUTPUT);
pinMode(relayS2Pin, OUTPUT);
pinMode(relayS3Pin, OUTPUT);
pinMode(relayS4Pin, OUTPUT);
// Define your switches here. Max 10
// Format: Alexa invocation name, local port no, on callback, off callback
s1 = new Switch("office", 81, s1On, s1Off);
s2 = new Switch("kitchen", 90, s2On, s2Off);
s3 = new Switch("fan", 91, s3On, s3Off);
s4 = new Switch("tv", 92, s4On, s4Off);
Serial.println("Adding switches upnp broadcast responder");
upnpBroadcastResponder.addDevice(*s1);
upnpBroadcastResponder.addDevice(*s2);
upnpBroadcastResponder.addDevice(*s3);
upnpBroadcastResponder.addDevice(*s4);
}
}
void loop()
{
if(wifiConnected){
upnpBroadcastResponder.serverLoop();
s1->serverLoop();
s2->serverLoop();
s3->serverLoop();
s4->serverLoop();
}
}
bool s1On() {
Serial.println("Switch 1 turn on ...");
iss1On = true;
return iss1On;
}
bool s1Off() {
Serial.println("Switch 1 turn off ...");
iss1On = false;
return iss1On;
}
bool s2On() {
Serial.println("Switch 2 turn on ...");
iss2On = true;
return iss2On;
}
bool s2Off() {
Serial.println("Switch 2 turn off ...");
iss2On = false;
return iss2On;
}
bool s3On() {
Serial.println("Switch 3 turn on ...");
iss3On = true;
return iss3On;
}
bool s3Off() {
Serial.println("Switch 3 turn off ...");
iss3On = false;
return iss3On;
}
bool s4On() {
Serial.println("Switch 4 turn on ...");
iss4On = true;
return iss4On;
}
bool s4Off() {
Serial.println("Switch 4 turn off ...");
iss4On = false;
return iss4On;
}
// connect to wifi – returns true if successful or false if not
boolean connectWifi(){
boolean state = true;
int i = 0;
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println("");
Serial.println("Connecting to WiFi");
// Wait for connection
Serial.print("Connecting ...");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
if (i > 10){
state = false;
break;
}
i++;
}
if (state){
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
else {
Serial.println("");
Serial.println("Connection failed.");
}
return state;
}
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/3#issuecomment-383172744,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHIM5ocaY_FXnIDKVzoEchw0kbGL4FjSks5tqh_GgaJpZM4LKDvr
.

Thanks for your reply, I am not a programmer so could you just point out exactly what lines need to be modified. That would be great!

@kakopappa
Thanks for your help. The code is working beautifully !!