text:
Breathweapon

In this branch I've added the breath weapon back.
I also added a dragon orb - when you point the orb at a target object (creature, block, or a direction) your tamed dragon will move towards the target and breathe fire at the target when it is in range.
The fire weapon will affect any blocks or entities it collides with-

after short exposure, will set fire to flammable objects
will burn grass to dirt
after longer exposure, will smelt blocks (eg sand -> glass)
after even longer exposure, will turn non-smeltable blocks into lava

The code is designed so that different effects can be added for different breath weapons (for example - ice shards for ice dragon; strong wind gusts for aether dragon etc).  Haven't added these yet!
In the next few days I will put some documentation together on the class structure of the new breath weapon code I added.
I've tested the code on multiplayer and also on dedicated server, it seems to work ok.
A couple of strange things still - eg when the dragon lands in water it gets confused - but no serious glitches that I found yet.
The next things I was thinking of working on- in no particular order-

different breath types
making the dragon semi-transparent so you can aim more easily while riding him
fixing the land-in-water problem
adding AI for the dragon to fly around without a rider.

Quick suggestion: Aether dragon lightning breathweapon?

Also, might want to squash those commits a bit.

Well, I'll be damned, that's a lot of commits! And it appears to be in conflict with the main branch. I think I may have to pull that into a testing branch first and go through all that code before putting that into main. I also have to make sure it's not stressing the server too much, I'm curious how you solved that problem.

Hi
Yeah it is a lot of commits, should have squashed first, sorry.
One of the last things I did was to merge from the main branch of your master, so hopefully there are no major conflicts, but it didn't go 100% smoothly and I think you've made a couple more commits since then, which might be the reason for the conflict you saw.
There isn't much communication between the client and the server.
Client sends the current target (eg entityID) to the server, which keeps track of all players' targets and sends them to other clients (via DataWatcher on the corresponding dragon entity) when the dragon starts breathing.  That's the only network traffic related to the breath weapon, i.e. ranging from ten bytes per second to a few hundred bytes per second.
The spawning of EntityFX on the client is done locally based on the DataWatcher target.
The collision calculations between the breath weapon and nearby blocks+entities are done by the server and the results (damage etc) are synchronised to the clients by vanilla; but there is no Entity or EntityFX information exchanged between the two.  The collision calculations themselves have a couple of basic optimisations to speed them up and in my profiling tests they took negligible time - but my machine is pretty quick so doing those tests on your side is probably a good idea!
Briefly how it works:
On client:
DragonOrbControl monitors user input and sends a DragonTargetMessage to the server when the player's target has changed.
On server:
Receives DragonTargetMessage, caches the corresponding BreathWeaponTarget locally (in  DragonOrbTargets)
DragonBreathHelper then uses AI to move the dragon to an appropriate range and to start breathing when ready - the breathing target is sent to nearby clients using a DataWatcher on the dragon.
Back on client:
DragonBreathHelper for each each dragon retrieves the current target from the DataWatcher, then spawns the breath using
BreathWeaponEmitter, which creates a stream of FlameBreathFX for rendering & collision, each with a corresponding BreathNode to model the size, aging, power etc of each FlameBreathFX.
Meanwhile on the server, the effects of the breath weapon are modelled by creating a stream of EntityBreathNodes with corresponding BreathNodes, similar to the client.  (The EntityBreathNodes are not spawned, just stored in a collection).  Collision detection is performed between the EntityBreathNodes and the blocks and nearby entities - once a block or entity has suffered enough collisions with nodes, it takes damage / gets smelted / etc.
The main classes modelling this are DragonBreathHelper, BreathWeapon, BreathNode, EntityBreathNode, BreathAffectedBlock/Entity
The collision detection is in BreathAffectedArea and NodeLineSegment.
Adding new types of breath is intended to be done by overriding
BreathWeapon,
BreathWeaponEmitter, with different equivalents for FlameBreathFX.
BreathNode
but not all the classes implement this fully yet (for example, BreathAffectedArea will need to use BreathWeapon to spawn BreathNodes with the correct speed and size; BreathNode is currently hard-coded values).
Pretty much all the other changes to the code are related to making sure the breath weapon nodes spawn from the dragon's mouth - which is affected by yaw and pitch and size etc - so I moved the positioning code into a common class for both server and client.  That was pretty fiddly to get right.
Oh and I changed from a config file to a config screen - should have put that in a separate branch, sorry about that, didn't think of it until later.
-TGG

You changed the code formatting in some existing classes, I think that's one of the reasons why there are conflicts now. But it can be fixed easily.

Okay, I did some initial testing and I must say... I'm impressed. Good job! :+1:
Can you please also generate a short list of the most relevant changes for the changelog?

Thanks :)  It was good fun that's for sure.
Changelog:

Gave all dragons the ability to breathe fire
Added a "dragon orb" item- a player can point the orb at a target and his/her tame dragons will breathe at it.  (Crafting recipe is an ender eye on top two blaze rods - similar shape to crafting a shovel)
Implemented configuration GUI

Is that what you need?
Cheers
TGG

Yep, pretty much, but I think there are more changes for the AI. Or are these for the orb only?

I just had a look at the diff and you're right, there are a few minor tweaks to some of the AI,  they are all refactorings without symptoms except for

a couple of new AI related to the orb, plus
-minor change to altitude control when riding the dragon - the dragon altitude is now controlled only by the R and F keys, not by where the player is looking.  (The player look only affects yaw).  I did this because my dragon kept crashing into the ground when I was using the orb while flying...

Hi
Just a question - do you have a timeline for merging this branch?  I'd like to continue with the other breath types, but I'd prefer to fork it from your merge rather than mine.
Also, do you plan to release it?  If not, would you mind if I post it separately as an "extension" of yours?
Cheers
TGG

I'm not yet sure if it's ready to be merged into main. I've yet have to do some testing on dedicated servers to make sure it's working there, too. I planned to release it as a side built for testing first, but since you want to continue working on it, I'll merge it now.

keen, thanks!
-TGG

license: unlicense


text:
🛑 Wedding HTTPS is down

In 84ccbcd, Wedding HTTPS ($WEDDINGHTTPS) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Wedding HTTPS is back up in 6de6c96.

source: gharchive/issue

repo: atatkin/milos-uptime

license: MIT

license_type: permissive

license_source: github-api


text:
🛑 Wedding HTTPS is down

In b4c13a9, Wedding HTTPS ($WEDDINGHTTPS) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Wedding HTTPS is back up in e3041f4.


text:
🛑 Wedding HTTPS is down

In 93843dc, Wedding HTTPS ($WEDDINGHTTPS) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Wedding HTTPS is back up in 3d49b32.


text:
🛑 Wedding HTTPS is down

In 0da41e9, Wedding HTTPS ($WEDDINGHTTPS) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Wedding HTTPS is back up in cde6430.


text:
🛑 Wedding HTTPS is down

In d6470d6, Wedding HTTPS ($WEDDINGHTTPS) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Wedding HTTPS is back up in f35df31.


text:
🛑 Wedding HTTPS is down

In eee7f39, Wedding HTTPS ($WEDDINGHTTPS) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Wedding HTTPS is back up in 0bbb8a3.


text:
🛑 Wedding HTTPS is down

In a3ec454, Wedding HTTPS ($WEDDINGHTTPS) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Wedding HTTPS is back up in 68c44b9.


text:
🛑 Wedding HTTPS is down

In 91af33e, Wedding HTTPS ($WEDDINGHTTPS) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Wedding HTTPS is back up in 47d77a4.


text:
🛑 Wedding HTTPS is down

In 0ac157d, Wedding HTTPS ($WEDDINGHTTPS) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Wedding HTTPS is back up in 2150353.


text:
🛑 Wedding HTTPS is down

In 7a8a6e7, Wedding HTTPS ($WEDDINGHTTPS) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Wedding HTTPS is back up in 2f5a7de.


text:
Add support for processing multiple paths

As of v0.3.1, only one path is supported at a time.
This should probably go in before work on #31 commences.

A few semi-random thoughts:

loop over a slice of locations?
add in support for using goroutines?

write so that one goroutine per location could be used, but lock the logic to just one goroutine by default unless overridden by configuration?

loop over a slice of locations?

This is the direction I'm currently going with this. It seems simpler and easier to implement as a "first draft".

add in support for using goroutines?

write so that one goroutine per location could be used, but lock the logic to just one goroutine by default unless overridden by configuration?

Logging would probably need to be tweaked here to carefully indicate where the messages are coming from (e.g., what directory is currently being processed for a log message).
Since the plan is to implement support for cron-like behavior, supporting multiple goroutines may not be needed; due to the semi-frequent cleanup operations and the limited age-based checks, it is doubtful (at this time) that concurrency would be needed to prune all files before the next execution schedule/event occurs.


text:
Multiple test files stops mock interceptor

This may or may not be related to issue #27. I have 2x test files which both rely on the same mock interceptor. Running them one at a time works perfectly, however when I run both in one protractor environment (e.g. protract {conf} --specs 'test/pages/*.coffee') the first test's call is intercepted but the second isn't, it goes to the backend instead.

The (hopefully) temporary fix I've implemented to fix this issue is to shard my protractor tests so each test file is done in a new, standalone window unaffected by other tests. I don't think this is an ideal long term fix though, but if so, it should be mentioned in the readme.

Could you put a snippet here of the 2 tests you are referring to? The mocks need to be setup completely before the browser opens. If you have two tests, are each test opening up a new browser window? And is the "mock()" function being called before each?

Config:
exports.config = {
  specs: [
    'path/file1.coffee',
    'path/file2.coffee',
    'path/*.coffee'],

  mocks: {
    default: [],
    dir: 'mocks'}

  onPrepare: function() {
    require('protractor-http-mock').config = {
      rootDirectory: __dirname,
      protractorConfig: 'protractor-conf.js'
    };
  }
... etc
}

test1.coffee:
mock = require('protractor-http-mock');
mock ['test1_data.coffee']
...etc

test2.coffee:
mock = require('protractor-http-mock');
mock ['test2_data.coffee']
...etc

So in this instance no, the tests are not being run in different windows, they are run consecutively by protractor which I believe is default behaviour. The mock for test1 loads but the mock for test2 does not and these mocks are not made globally, they are made specific for each test.
So to fix this I added this to the protractor config:
  capabilities: {
    ...
    shardTestFiles: true,
    maxInstances: 1, // Or more
  },

This causes protractor to run all tests separately and fixes the problem, but it is not noted in your documentation.

I will make a note of in the documentation, thank you very much for pointing that out.

repo: atecarlos/protractor-http-mock

license: mit

license_source: bigquery


text:
Signing up without login

Design and implement a way for users to signup for a queue without signing in. HTAs should be able to choose this option as a setting.

Also enable this on a per-queue level through local settings.

Note that this is different from restricted mode (and is perhaps an umbrella feature.) A queue may allow remote signups, but also want to allow non-login signups on a specific computer. For example, a TA might volunteer their laptop for students without computers to sign up.

repo: athyuttamre/signmeup


text:
Snooze all / snooze window

I would really like to see an option for snoozing all tabs either from all open windows or a spesific one.
It would be extremely useful to be able to snooze 50-150 tabs for a day to use the browser for this and that in between and then return to your usual projects. Actually, that's what I thought this extension would do in the first place.
Thanks a lot in advance, and keep up the good work lad!

:+1:

This project is now deprecated, and no longer maintained.
Check out https://www.one-tab.com/

authors: andrewmallis phext timelf123

repo: athyuttamre/tab-snooze


text:
Feature/prometheus metrics

Last commit only please

lgtm

source: gharchive/pull-request

repo: atlasapi/atlas-deer


text:
🛑 Dont Tread On My Site Services is down

In cbd1afa, Dont Tread On My Site Services ($DONT_TREAD_ON_MY_SITE) was down:

HTTP code: 403
Response time: 290 ms

Resolved: Dont Tread On My Site Services is back up in 0b1444b after 12 minutes.

repo: atmovantage/atmostatus


text:
Windows bootstrap fails if there are spaces in the path

Looks like its the .npmrc option that causes the issue.

As stated in the README, this package is no longer maintained and is deprecated. We recommend that people use electron-prebuilt and electron-packager instead. Because of this, we are archiving this repository and closing all issues and pull requests. Thanks very much for your support and contributions!

authors: lee-dohm lllama

repo: atom-archive/electron-starter


text:
Refactor TextEditor updating

Description of the change
This PR refactors the codes that were responsible for updating different parts of TextEditor out of update function, and, then, it uses those refactored functions directly, which bypasses the loop and switch case inside update.
finishUpdate is also refactored that allows finishing updating of TextEditor from inside themselves without the need for creating objects outside and passing them in.
Benefits

This reduces the complexity of the update algorithm for those that are updated directly (O(n^2)->O(1)). This removes the overhead of checking for the given value against the keys in switch-case, and it also removes the overhead of the for-loop. Directly calling these functions is similar to the compile-time method dispatch used in other languages like C++. The previous method was a runtime dispatch algorithm that does not allow the V8 engine to optimize these calls and indirections.

Having these functions separate makes it easier to maintain, find, and reason about them.

Verification
I have moved the code inside update to a separate function as it is (exact copy-paste), and I have not changed "any part of the actual code". If you follow my commits one by one, you will see that the moved code is kept exactly identical.
All the tests must pass because this does not change the functionality.
Release Notes

Refactor the codes that were responsible for updating different parts of TextEditor

Upstreamed https://github.com/atom/atom/pull/21620

repo: atom-ide-community/atom


text:
Failed to activate the atom-material-ui theme

In Themes menu, click gear icon to right of UI Theme dropdown after selecting "Atom Material Theme"
Scroll down to settings and click Primary color box. Select a new color (I selected a bright pink).

After that the error occurred and the UI styles were completely broken. I switched to another UI theme, and back to Atom Material Theme and my color changes were intact and the UI was looked as it should again.
Atom Version: 1.7.4
System: Mac OS X 10.11.5
Thrown From: atom-material-ui package, v1.2.13
Stack Trace
Failed to activate the atom-material-ui theme
At missing opening `(` in /Users/ldinapoli/.atom/packages/atom-material-ui/styles/custom.less:2:3

LessError: missing opening `(`
  at /Users/ldinapoli/.atom/packages/atom-material-ui/styles/custom.less:2:3

Commands
     -3:22.3.0 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-always.seti-ui-no-icons.use-animations.theme-solarized-dark-syntax.theme-atom-material-ui.has-custom-icons)

Config
{
  "core": {
    "disabledPackages": [
      "front-icons",
      "file-type-icons",
      "minimap-pigments"
    ],
    "themes": [
      "atom-material-ui",
      "solarized-dark-syntax"
    ]
  },
  "atom-material-ui": {
    "colors": {
      "abaseColor": {
        "red": 255,
        "green": 48,
        "blue": 108,
        "alpha": 1
      }
    }
  }
}

Installed Packages
# User
atom-material-ui, v1.2.13
autoclose-html, v0.23.0
emmet, v2.4.3
file-icons, v1.7.13
pigments, v0.29.1
solid-completions, v2.0.0

# Dev
No dev packages

Did you set the color manually or by using the <select> with the color presets?

Just tried using both methods to change colors (presets and picking my own). With the packages you listed and without them. Can't reproduce this error.
You can reset the colors settings by opening Atom's dev console (Cmd+Alt+i) and entering the following snippet:
atom.config.set('atom-material-ui.colors');
Or, alternatively, you can open your Atom config file and get rid of the colors object:
# …
"atom-material-ui":
    colors: # <-- this key right here
        abaseColor:
            red: 236
            green: 64
            blue: 122
            alpha: 1
        accentColor:
            red: 70
            green: 255
            blue: 193
            alpha: 1
        predefinedColor: "Pink"
# …

I had used the color wheel, clicking around until I found the color I liked best. I have tried this a few times as well with new colors and haven't been able to reproduce the error either.

Well, there was an issue with Atom's color picker where it would return invalid color values (both HEX and RGB) but I think it was resolved some time ago.

This might be fixed in Material UI 2.0 (available for Atom 1.17-beta)

authors: cssgirl silvestreh

repo: atom-material/atom-material-ui


text:
Atom wants to connect to keep.google.com on port 443

Prerequisites

[x] Can you reproduce the problem in safe mode?
[x] Are you running the latest version of Atom?
[x] Did you check the debugging guide?
[x] Did you check the FAQs on Discuss?
[x] Are you reporting to the correct repository?
[x] Did you perform a cursory search to see if your bug or enhancement is already reported?

For more information on how to write a good bug report or enhancement request, see the CONTRIBUTING guide.
Description
When launching Atom, LittleSnitch reports that:

Steps to Reproduce

Launch Atom
See LittleSnitch dialog

Expected behavior: [What you expected to happen]
Atom doesn't connect to keep.google.com, so there's no LittleSnitch dialog.
Actual behavior: [What actually happened]
Atom attempts connecting to keep.google.com, so LittleSnitch displays a dialog.
Versions
You can get this information from executing atom --version and apm --version at the command line. Also, please include the OS and what version of the OS you're running.
$ atom --version
Atom    : 1.7.2
Electron: 0.36.8
Chrome  : 47.0.2526.110
Node    : 5.1.1
$ apm --version
apm  1.9.2
npm  2.13.3
node 0.10.40
python 2.7.10
git 2.6.4

OS X 10.11.4 (15E65)

Little Snitch often gets confused when it attempts to reverse-lookup the IP address into a DNS name when an IP is serving >1 DNS name (this happens all the time in AWS). This is most likely Google Analytics.

Ah, that would make sense thanks.
Also noticed Evernote attempting to connect to accounts.youtube.com, must be related 😏

authors: jacobbuck paulcbetts

repo: atom/atom


text:
Atom can't locate modules

I'm using atom as a python IDE.
When I try pressing some imported module (command + left click), in order to go to it's code, sometimes it seems to be working, and other times it does not.
How could this be resolved?
Thanks,

Thanks for reaching out!
We require the template to be filled out on all new issues and pull requests. We do this so that we can be certain we have all the information we need to address your submission efficiently. This allows the maintainers to spend more time fixing bugs, implementing enhancements, and reviewing and merging pull requests.
Thanks for understanding and meeting us half way 😀

Thanks for your response.
Where can I ask my question?
I have posted it in https://discuss.atom.io/new
Is that ok?

Yes, the Atom message board is a great place to ask questions :+1:


text:
caught exception when selecting and deleting a line of text tracked with Github Desktop

Prerequisites

[ ] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
Got an caught exception when deleting a line of text tracked with Github Desktop.
Steps to Reproduce
Uncertain. But when it is existing, it exists reproducibly.
Expected behavior:  Allow me to edit the file.
Actual behavior: Deleting a string of text causes the error. Uncaught Error: ENOENT: no such file or directory, lstat '/Users/Samk/Library/Caches/com.github.atom.ShipIt/update.urOd6Gt'
Clipboard icon copies "index.html" to the clipboard, which is not the correct filename. I copied and renamed it. It does appear to have imported the project and repository in the sidebar.
Reproduces how often: [What percentage of the time does it reproduce?]
Versions
You can get this information from copy and pasting the output of atom --version and apm --version from the command line. Also, please include the OS and what version of the OS you're running.
Additional Information
Any additional information, configuration or data that might be necessary to reproduce the issue.

Thanks for taking the time to contribute!
Based on the error message, I believe you're hitting https://github.com/atom/atom/issues/9559.  I'll close as a duplicate for now but feel free to share more details if you come across steps to reproduce.

We noticed that this is a duplicate of https://github.com/atom/atom/issues/9559. You may want to subscribe there for updates.
Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.

authors: rsese smkatz


text:
Build Error 'script/bootstarp'. Ubuntu 16.04.3

When I've tried 'bootstrap' at the first time, it was  /usr/bin/env 'node': No such file or directory
So i did following step.
sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 1 --slave /usr/bin/js js /usr/bin/nodejs
sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install  -y nodejs
After these steps, i tried again. i got another error...
I've been looking for the solution in issues... but i couldn't find it.
garam@ubuntu:~/atom$ script/bootstrap
Node:	v6.12.0
Npm:	v3.10.10
Installing script dependencies
prebuild-install info begin Prebuild-install version 2.3.0
prebuild-install info looking for local prebuild @ prebuilds/leveldown-v1.9.0-node-v48-linux-x64.tar.gz
prebuild-install info looking for cached prebuild @ /home/garam/.npm/_prebuilds/https-github.com-level-leveldown-releases-download-v1.9.0-leveldown-v1.9.0-node-v48-linux-x64.tar.gz
prebuild-install http request GET https://github.com/level/leveldown/releases/download/v1.9.0/leveldown-v1.9.0-node-v48-linux-x64.tar.gz
prebuild-install http 200 https://github.com/level/leveldown/releases/download/v1.9.0/leveldown-v1.9.0-node-v48-linux-x64.tar.gz
prebuild-install info downloading to @ /home/garam/.npm/_prebuilds/https-github.com-level-leveldown-releases-download-v1.9.0-leveldown-v1.9.0-node-v48-linux-x64.tar.gz.1940-8a1ac934fd27e.tmp
prebuild-install info renaming to @ /home/garam/.npm/_prebuilds/https-github.com-level-leveldown-releases-download-v1.9.0-leveldown-v1.9.0-node-v48-linux-x64.tar.gz
prebuild-install info unpacking @ /home/garam/.npm/_prebuilds/https-github.com-level-leveldown-releases-download-v1.9.0-leveldown-v1.9.0-node-v48-linux-x64.tar.gz
prebuild-install info unpack resolved to /home/garam/OpenSourceDir/final_Project/atom/script/node_modules/leveldown/build/Release/leveldown.node
prebuild-install info unpack required /home/garam/OpenSourceDir/final_Project/atom/script/node_modules/leveldown/build/Release/leveldown.node successfully
prebuild-install info install Successfully installed prebuilt binary!
/home/garam/OpenSourceDir/final_Project/atom/script/node_modules/electron-mksnapshot/download-mksnapshot.js:16
if (error != null) throw error
^
Error: read ECONNRESET
at exports._errnoException (util.js:1020:11)
at TLSWrap.onread (net.js:568:26)
npm ERR! Linux 4.10.0-40-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "--loglevel=error" "install"
npm ERR! node v6.12.0
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! electron-mksnapshot@1.6.0 install: node ./download-mksnapshot.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the electron-mksnapshot@1.6.0 install script 'node ./download-mksnapshot.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the electron-mksnapshot package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./download-mksnapshot.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs electron-mksnapshot
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls electron-mksnapshot
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /home/garam/OpenSourceDir/final_Project/atom/script/npm-debug.log
child_process.js:495
throw err;
^
Error: Command failed: npm --loglevel=error install
prebuild-install info begin Prebuild-install version 2.3.0
prebuild-install info looking for local prebuild @ prebuilds/leveldown-v1.9.0-node-v48-linux-x64.tar.gz
prebuild-install info looking for cached prebuild @ /home/garam/.npm/_prebuilds/https-github.com-level-leveldown-releases-download-v1.9.0-leveldown-v1.9.0-node-v48-linux-x64.tar.gz
prebuild-install http request GET https://github.com/level/leveldown/releases/download/v1.9.0/leveldown-v1.9.0-node-v48-linux-x64.tar.gz
prebuild-install http 200 https://github.com/level/leveldown/releases/download/v1.9.0/leveldown-v1.9.0-node-v48-linux-x64.tar.gz
prebuild-install info downloading to @ /home/garam/.npm/_prebuilds/https-github.com-level-leveldown-releases-download-v1.9.0-leveldown-v1.9.0-node-v48-linux-x64.tar.gz.1940-8a1ac934fd27e.tmp
prebuild-install info renaming to @ /home/garam/.npm/_prebuilds/https-github.com-level-leveldown-releases-download-v1.9.0-leveldown-v1.9.0-node-v48-linux-x64.tar.gz
prebuild-install info unpacking @ /home/garam/.npm/_prebuilds/https-github.com-level-leveldown-releases-download-v1.9.0-leveldown-v1.9.0-node-v48-linux-x64.tar.gz
prebuild-install info unpack resolved to /home/garam/OpenSourceDir/final_Project/atom/script/node_modules/leveldown/build/Release/leveldown.node
prebuild-install info unpack required /home/garam/OpenSourceDir/final_Project/atom/script/node_modules/leveldown/build/Release/leveldown.node successfully
prebuild-install info install Successfully installed prebuilt binary!
/home/garam/OpenSourceDir/final_Project/atom/script/node_modules/electron-mksnapshot/download-mksnapshot.js:16
if (error != null) throw error
^
Error: read ECONNRESET
at exports._errnoException (util.js:1020:11)
at TLSWrap.onread (net.js:568:26)
npm ERR! Linux 4.10.0-40-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "--loglevel=error" "install"
npm ERR! node v6.12.0
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! electron-mksnapshot@1.6.0 install: node ./download-mksnapshot.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the electron-mksnapshot@1.6.0 install script 'node ./download-mksnapshot.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the electron-mksnapshot package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./download-mksnapshot.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs electron-mksnapshot
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls electron-mksnapshot
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /home/garam/OpenSourceDir/final_Project/atom/script/npm-debug.log
at checkExecSyncError (child_process.js:472:13)
at Object.execFileSync (child_process.js:492:13)
at module.exports (/home/garam/OpenSourceDir/final_Project/atom/script/lib/install-script-dependencies.js:9:16)
at Object.<anonymous> (/home/garam/OpenSourceDir/final_Project/atom/script/bootstrap:28:1)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)

ECONNRESET indicates a network error.  If you are behind a proxy, ensure that Node is setup to correctly read your proxy.  Otherwise, try again at a later time.


text:
Closing multiple unsaved files creates multiple unusable "Do you want to save" dialogues

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
When closing multiple files with unsaved changes using the "Close all" or similar functionality creates multiple "Do you want to save this file before closing" dialogues. But only one of these dialogues can be used, because the other dialogues are opened "on top" of each other, so every other dialog is blocked until the they are resolved in order.
Steps to Reproduce

Open multiple files and make changes to them without saving

Ctrl + n, Random letters, Ctrl + n, Random letters, Ctrl + n, Random letters, ...

Right click the tab-bar and select "Close all"

Expected behavior: Multiple dialogues are opened, but the order in which i resolve them does not matter. (The main Atom window stays blocked until all dialogues are resolved)
Actual behavior: Multiple dialogues are opened, but only one of them reacts to clicks.
Reproduces how often: 100%
Versions
$ atom --version
Atom    : 1.27.1
Electron: 1.8.4
Chrome  : 59.0.3071.115
Node    : 8.2.1

$ uname -r
4.16.11-1-ARCH

Atom    : 1.27.1
Electron: 1.8.4

Thanks for reaching out!
We've determined that you are currently using an unofficial build or distribution of Atom. Often these customized versions of Atom are modified versions of the Stable branch of Atom with mismatched versions of built-in components. These updated components are taken from the Beta channel or master branch and then injected into the Stable version and a new Atom package is generated. Because of the way Atom is constructed, using these mismatched components can cause mysterious and hard-to-diagnose problems. You can find out more about why we chose to not support unofficial distributions here.
You can find instructions for installing an official version of Atom in the Flight Manual. If you are still seeing this problem on an official build please file a new issue, thanks!

Great... i think i'm using the official package from the arch repositories...

The Atom team does not maintain any packages in the Arch repositories.

authors: 50Wliu MaPePeR rsese


text:
“Unknown stream file type” error on launch

I get the following error “Error: Implement me. Unknown stream file type!” on launch, I saw this in 0.80.0 and 0.81.0.

This occurs when launching from Finder or from the atom command line helper.
The application is non functional after this error :cry:.
/cc #1333

Gonna close this out - please feel free to reopen / comment if you can reproduce this with the latest version of Atom (0.210.0)

authors: keithduncan mnquintana


text:
You should auto save the content when crash

Today I use atom to write my blog,  but suddenly it crash, when I reopen it, I cannot find the content, it is so bad because it cost me a lot time to write the blog. I'm so sad for this, please fix it.
Atom version: 0.144.0
Mac version: OS X Yosemite 10.10 (14A389)
Reason I guess: Maybe I add about six image at it, I was writting markdown, is it cause of memory?

Closing in favor of #4161


text:
Per-package transpilation

This is a WIP and (thus far) rough implementation of per-package transpilation pipelines mentioned in #13087. It allows packages to opt in to fully managing their own transpilation steps, bypassing the built-in Atom transpilation entirely. Here's roughly how it works:

A package declares a property in its package.json called atomTranspilers. This is an array of objects, with each object specifying glob, transpiler, and optionally options.
When a package is loaded, if atomTranspilers exists in its metadata, we notify the CompileCache that it wants to do its own compilation.
A new class called PackageTranspilationRegistry wraps all the CompileCache compilers with a new object of the same interface that falls back to the original compiler if a package hasn't opted in to its own transpilation, but bypasses it completely otherwise.
If a package is doing it's own compilation, then for each file that matches the glob specified, the associated transpiler is required, and the exported value should be an object with a function called compile that takes three arguments: sourceCode, filePath, and options (where options comes from the package's package.json). It should return a string or Buffer with the transpiled source, or undefined to indicate that it doesn't want to transpile that file. Note that returning undefined doesn't fall back to the legacy, core behavior — packages which opt in to this mechanism are fully responsible for all their transpilation.

Also worth noting is that the transpiler file cannot be transpiled itself; its source must run in a vanilla Atom environment (which is admittedly pretty capable these days :).
One question I have is how to handle the caching. For example, I currently have getCachePath set to
return path.join(
  "package-transpile",
  crypto
    .createHash('sha1')
    .update(transpilerSource, 'utf8')
    .update(sourceCode, 'utf8')
    .digest('hex')
  )

but in many cases it's possible that neither the file's source nor the transpiler's source has changed, but the output of transpilation would be different (e.g. when editing a .babelrc file). Perhaps we should allow the package author to also specify a cache key for the file?
/cc @nathansobo @atom/core for early 💭

Excited to see this coming together! I wonder if we can expose something that can be an ingredient to the cache key like a version number that we can hash together with the options. I guess giving them direct control is okay but it would be nice to be able to make our own solid guarantees about the performance of the cached code path.

A few more thoughts that bubbled into my head...

Should the transpiler module's method be called transpile rather than compile for consistency? Or should we go the other way and name the key compilers?
Refining my thoughts on the participation in cache invalidation... I'm not sure a version is enough because transpilers may want to support mechanisms such as .babelrc, the contents of which can change. So perhaps it's safest to just offer maximal power with an optional getCacheKey method and hope people don't abuse it.

Finally some broader thoughts that may extend beyond the scope of this PR but I wanted to bring them up? Do we need to prefix our manifest fields with atom? I'm actually not clear on where else we do this, but considering this package.json is actually for an Atom package and not a node module, it seems like it's our namespace to populate. If this were intended to be a vanilla node module I'd feel differently, but since these things are going to run in Atom... If we do decide to prefix, I'd be happier with a single atom sub-object containing all the Atom-related stuff.

@nathansobo

Should the transpiler module's method be called transpile rather than compile for consistency? Or should we go the other way and name the key compilers?

Good point. "Transpile" is such a weird word, I'd almost just rather use "compile" in user-facing stuff.

So perhaps it's safest to just offer maximal power with an optional getCacheKey method and hope people don't abuse it.

This feels reasonable. People can already do plenty of stuff to fuck up performance, and ideally if anyone abuses it it'll be picked up by timecop and fixed in a PR. 😁

Do we need to prefix our manifest fields with atom?

I did this partly out of general safety (yes, it's an Atom package, but other Node things that people use stuff shit in package.json) and consistency (we already have atomTestRunner). I kind of like the idea of a single atom sub-object, but it feels like it's too late for that?

Okay, I went with "transpile" because it's the language we use everywhere else. I'm not attached, though.
For the caching, I added an optional method to the transpiler called getCacheKeyData that allows the user to return additional data that helps determine how a file is cached; for example, in a recent package, I used the contents of all the files that affect transpilation:
var cacheKeyData = [
  fs.readFileSync(path.join(__dirname, '.babelrc')),
  fs.readFileSync(path.join(__dirname, 'schema.json')),
  fs.readFileSync(path.join(__dirname, 'relay-babel.js'))
].join('\n')

module.exports = {
  getCacheKeyData: function () {
    return cacheKeyData
  },

  // ...

A thought I had as I was working on specs for this: this will only work for .js, .ts, and .coffee files because those are the only three with require.extensions hooks. We should probably allow users to specify other extensions they want to load; this would install a "pass-through" compiler on those extensions for files that aren't transpiled by the pipeline. One thought was to add an explicit extensions option in the package.json bit; it's a little repetitive since many globs will already have an extension listed, but I can't think of a good way to handle it in a generic case.

So, I was wrong — obscure extensions work fine because Node defaults all unknown extensions to the require.extensions['.js'] compiler, so as long as we keep that one assigned to a PackageTranspilationRegistry wrapped compiler, we're good to go.

This works perfectly with an internal package I'm working on and doesn't seem to add any significant startup time to the package. I think it's ready for more serious 👀 now. In particular, I'd love feedback on places where lookups and the like are less than optimal, or places where folks experience slowdowns when loading Atom.
Failing tests on appveyor are unrelated.
/cc @atom/feedback

Wondering if there should be some code to specifically ignore node_modules; **/*.js is likely to be a common glob. Are there any instances where the user would want to ensure node_modules is included?

I think we want to always exclude node_modules.

It seems like we only support the extensions .js, .ts and .coffee... am I missing something? If this is true, think you should add probably have some facility for declaring a new extension so this is fully general.

I think we want to always exclude node_modules.

👍

Maybe you want to compile the minimatch regexp up front?

Good thought, I'll look into that.

I wonder if it's worth grouping transpiled sources in their own subfolder named after the package

I considered this but wasn't sure. I feel more confident now that you've mentioned it. I'll try it and see how it feels.

It seems like we only support the extensions .js, .ts and .coffee... am I missing something?

Yeah, Node falls back to .js if it doesn't recognize the extension.

Okay, ignoring node_modules is in, and I modified the transpilation function to expect the transpiled source code on a .code property so we have room to do fancy stuff with source maps and stuff in the future (for now source maps will work if you just add an inline one to the transpiled source code). I also added a test case for file extensions that aren't registered with require.extensions. The only problem would be if some package takes over some extension (like .jsx) and then another package tries to transpile on that extension.

I believe this is ready to go.

@thomasjo Following the style here: https://github.com/atom/atom/blob/daf790406f42fee77355fed56ece280ac6e60c10/src/compile-cache.js#L3-L6
I'll change the ones in the spec file.

@BinaryMuse That code is almost a year old though. We have native support for most of ES6/7 now. I really think we should try to ensure new code is as modern as possible. I'll happily modernize compile-cache.js if necessary.

@BinaryMuse Shoot one thing I forgot. Could you document this in the Flight Manual or some other appropriate spot?

@nathansobo Already on it :)

👏

I totally spaced on this PR. The thing that worries me about this, is that it encourages package authors to ship (1) untranspiled code, (2) put babel & friends in dependencies (and bloating packages)

@zertosh After some discussion, we decided to go with this solution. We don't have a facility to allow package authors to ship transpiled code easily; they'd have to check it into their repository, making diffs and pull requests more difficult. Additionally, we still wanted to have a mechanism for at-runtime transpilaton when in dev mode. The package bloat is a concern, but given the circumstances (and the fact that we want to do global deduping of installed modules), we were willing to eat the cost.

they'd have to check it into their repository, making diffs and pull requests more difficult.

Yes, but it actually works out if you follow a different publish flow from just running apm publish from master. We publish Nuclide pre-transpiled. We first transpile everything, commit the code (but we don't merge it into master), we tag it (git tag vX.X.X), and then publish the tag apm publish --tag vX.X.X). So master never has transpiled code - so no conflicts or anything.

The package bloat is a concern

Bloat is one. Another one is load time. If package authors are not super careful about lazy loading their transpiler, you're going to end up paying a big perf penalty. Babel is not a small dependency, it can take upwards of 50ms to just require it.

I think this should probably only work in development mode and we should fix the inability to publish compiled package data.

If package authors are not super careful about lazy loading their transpiler, you're going to end up paying a big perf penalty.

Package authors will not be required to require their transpiler as part of their package code path. It's a separate module that the Atom internals require if and only if the given files are not already cached (so on first load of a package and after any package update).

what if we only enabled this in dev mode and fix the root problem?

I like the idea in theory, though in practice it would require different code/steps for running in dev and compiling for publishing. That said, I'd be open to it if we can make it work smoothly.

Yeah, I suppose you're right about the caching meaning we'll avoid requiring the transpiler in most cases. After digesting that point again, I'm open to the chance of a one-time slowdown to get stuff transpiled on install. Ultimately, I do think it makes the most sense to publish transpiled assets, but that's obviously uncontroversial it's just a lot of work.

Package authors will not be required to require their transpiler as part of their package code path. It's a separate module that the Atom internals require if and only if the given files are not already cached

Hmm, maybe I'm misreading the code, but it looks like you still require atomTranspilers.transpiler to check for a getCacheKeyData function. So if you put your requires at the top of the atomTranspilers.transpiler file (as most people do), you're going to pay the load cost for babel or whatever every time - unless the package author inline's the require call.
Package authors would have to write something like this to avoid the penalty:
let version;
let babel;

module.exports = {
  transpile(sourceCode, filePath, options) {
    if (babel == null) babel = require('babel-core');
    return babel.transpile(/*....*/);
  },

  getCacheKeyData(sourceCode, filePath, options) {
    // or whatever you want to base the cache key on.
    if (version == null) version = require('babel-core/package.json').version;
    return version;
  }
}

Side note: We use https://github.com/zertosh/babel-plugin-transform-inline-imports-commonjs in Nuclide and in yarn to inline imports to defer require calls until the imported identifier is referenced.

I'm imagining package authors relying on libraries to do the transpiler support. So something like atom-babel would implement the transpiler object and you'd just reference that in your node_modules. @BinaryMuse that makes me realize i didn't check whether the transpiler path is passed to require.resolve like we do with the test runner.

Is atom-babel a hypothetical package? I couldn't find it lol.. Maybe it's my trauma talking but the majority of transpile setups I've seen are pretty bad. In any case, I left my 2c.

Yeah, your 2c is super valuable and we appreciate it. I think at this point we're going to risk moving forward because we need this on a package we're working on and don't have time to setup the publishing flow. Long term you're absolutely right that we should just transpile on publish.

Hmm, maybe I'm misreading the code, but it looks like you still require atomTranspilers.transpiler to check for a getCacheKeyData function.

Ah, yes, you're right of course. I forgot about that detail. I like giving user full control over generating (a portion of) the cache key, but I wonder if it'd be better to just allow the user to specify a list of files that go into generation of the key so we can just pull stuff from package.json without needing to require the module?
Or, as @nathansobo said, point people toward pre-made modules (I'm working on one for Babel 6 now) that implement transpilation for the user, and highlight the edge cases in the docs for people that want to make their own.

that makes me realize i didn't check whether the transpiler path is passed to require.resolve like we do with the test runner.

Yes, getTranspilerPath runs the path through Resolve.sync.

Has this been added to the Flight Manual yet? A search for atomTranspilers shows no results at the moment.

@Arcanemagus It hasn't; I've been ironing out the details and wrinkles as I've used the feature, and will be adding it once it's ready.

only support the extensions .js, .ts and .coffee

So am I right in thinking…

This can't be utilised to take advantage of PostCSS in a say theme? (See also #5076 for a more general idea on that…)
This is effectively a temporary patch to address the root problem which is basically that apm doesn't work like npm when it comes to publishing…

@danielbayley

This can't be utilised to take advantage of PostCSS in say, a theme?

This is all about the CompileCache in Atom, which is the mechanism which transpiles files via the Node.js require mechanism. So it would not be useful for CSS unless you ran it through Node's require somehow.

This is effectively a temporary patch to address the root problem

It's not the solution we think is most ideal, but there certainly isn't any guarantee of or timeline for an alternative solution.

authors: Arcanemagus BinaryMuse danielbayley maxbrunsfeld nathansobo thomasjo zertosh


text:
Defer keydown event to refresh screen while fast key typing

I feel atom is very laggy while typing fast or key repeat (than vim :) ).
Especially lag on repeating j/k caret move is huge, freezes for seconds.
With time profiler, I found continuous keydown events block main thread for >10sec (!).

This happens even if vim-mode is disabled.
It is significant because I use Karabiner to make key repeat even faster than maximum speed of OS X preferences.
This PR increases rendering rate by deferring keydown event handling until next setTimeout dispatch.
This enables to refresh screen before handling next key event.
Lag on fast typing in insert mode is reduced too.
Left: before, right: after!

(I'm wondering that there is so much idle time after releasing key and before main thread is released. See below.)

I found Shift+Command+P (Command Palette) and other accelerator keys not working (seems to be opened but close immediately). I'll investigate about it.

I found that source of problem is some kind of installed plugin.
I also read implementation of atom-keymap's KeymapManager.
This changeset should not be applied because it breaks event consuming logic like event.preventDefault() in manager.
Sorry for bad PR m(_ _)m


text:
WebdriverIO + WebdriverCSS Screenshot failure

hey everyone,
was setting up testing for my electron app with WebdriverIO and chromedriver as described in the readme and it worked perfectly fine.
Then i tried to use WebdriverCSS to do CSS regression testing with screenshots, which works totally fine, if i try to run it in a normal chrome browser.
But im getting the following error from chromedriver logs when running it in electron:
MacOSX 10.11.2 (El Capitan)
Electron 0.35.1
5802.755][DEBUG]: DevTools request: http://127.0.0.1:12135/json
[5802.757][DEBUG]: DevTools response: [ {
   "description": "",
   "id": "E2ADA59A-7B17-4A5D-A4F5-5E66E9CCC55B",
   "title": "App",
   "type": "page",
   "url": "http://localhost:8080/"
} ]

[5802.861][INFO]: RESPONSE GetWindowSize unknown error: cannot get automation extension
from unknown error: page could not be found: chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html
  (Session info: content shell=)
[5802.861][INFO]: COMMAND Quit {

}
[5802.913][INFO]: RESPONSE Quit
[5802.913][DEBUG]: Log type 'driver' lost 467 entries on destruction
[5802.914][DEBUG]: Log type 'browser' lost 14 entries on destruction

Was wondering if this might be due to the non Supported "Background Pages" feature in electron or is there simply no automation extension in the electron chromium browser?

WebdriverCSS is using chrome extension's background script API, which is not supported by Electron for now.
I'm merging this to #915 since the root cause is same.

@zcbenz, I see the at #915 is closed, but I am still getting this error when trying to take screenshots from electron-chromedriver. Should this be re-opened?

authors: kevinkir sebastianmenge zcbenz

repo: atom/electron


text:
I hope this is ok?

Hiyah!
I've changed the project to build via the Arduino IDE, as an alternative to the PlatformIO it originally uses.
As you can see in the readme... I've made it clear the excellent code's not mine!
I hope this is ok?
xx

No problem at all!

Thank you!

authors: Sarah-C cgreening


text:
Code Inspection: npm audit on simplify-typing

lodash:<4.17.12

(error) Prototype Pollution Update to version 4.17.12 or later. - CVE-2019-10744

lodash:4.17.11:

@atomist/automation-client>graphql-code-generator>graphql-codegen-core>graphql-toolkit>lodash
@atomist/automation-client>graphql-codegen-core>graphql-toolkit>lodash
@atomist/automation-client>graphql-codegen-typescript-client>graphql-codegen-core>graphql-toolkit>lodash
@atomist/automation-client>graphql-codegen-typescript-client>graphql-codegen-plugin-helpers>graphql-codegen-core>graphql-toolkit>lodash
@atomist/automation-client>graphql-codegen-typescript-client>graphql-codegen-typescript-common>graphql-codegen-plugin-helpers>graphql-codegen-core>graphql-toolkit>lodash
@atomist/automation-client>graphql-codegen-typescript-common>graphql-codegen-plugin-helpers>graphql-codegen-core>graphql-toolkit>lodash
@atomist/automation-client>graphql-codegen-typescript-server>graphql-codegen-typescript-common>graphql-codegen-plugin-helpers>graphql-codegen-core>graphql-toolkit>lodash
@atomist/automation-client>graphql-codegen-typescript-client>graphql-codegen-typescript-common>graphql-codegen-core>graphql-toolkit>lodash
@atomist/automation-client>graphql-codegen-typescript-common>graphql-codegen-core>graphql-toolkit>lodash
@atomist/automation-client>graphql-codegen-typescript-server>graphql-codegen-typescript-common>graphql-codegen-core>graphql-toolkit>lodash
@atomist/automation-client>graphql-code-generator>graphql-toolkit>lodash

marked:>=0.3.14 <0.6.2

(warn) Regular Expression Denial of Service Upgrade to version 0.6.2 or later.

marked:0.4.0:

typedoc>marked

marked:>=0.4.0 <0.7.0

(info) Regular Expression Denial of Service Upgrade to version 0.7.0 or later.

marked:0.4.0:

typedoc>marked

[atomist:code-inspection:simplify-typing=@atomist/atomist-sdm]

Issue closed because branch simplify-typing was deleted.

repo: atomist/sdm-pack-fingerprints


text:
esp32 - wrong include paths

The recent esp32-snapshots (Toolchain version: esp32-2019r1)  require 2 include-File changes in order to compile AtomVM for esp32:
AtomVM/src/platforms/esp32/main:
sys.c
#include <posix/sys/socket.h>
 -> #include "absolute path to $(IDF_PATH)/components/lwip/lwip/src/include/compat/posix/sys/socket.h"

network_driver.c:
#include <lwip/apps/sntp.h>
--> #include <apps/sntp/sntp.h>

There is a component.mk in the components/libatomvm where a INCLUDE_FIXUP_DIR could be set. Obviously this does not affect the generation in main. The component.mk file in main however is empty. Maybe one could specify the Include-Corrections there

For sys.c
#include <posix/sys/socket.h>
 -> #include <compat/posix/sys/socket.h>

works.

With the most recent esp-idf and xtensa-esp32-elf/esp32-2019r1-8.2.0 the include-patches I can build AtomVM. But I cannot build it with esp-idf v3.2 as it crashes. What would you recommend?
/home/florian/.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/xtensa-esp32-elf/sys-include/stdlib.h:155:44: error: expected initializer before '__result_use_check'
 void *reallocarray(void *, size_t, size_t) __result_use_check __alloc_size(2)
                                            ^~~~~~~~~~~~~~~~~~
/home/florian/.espressif/tools/xtensa-esp32-elf/esp32-2019r1-8.2.0/xtensa-esp32-elf/xtensa-esp32-elf/sys-include/stdlib.h:340:52: error: expected initializer before '__alloc_align'
 void * aligned_alloc(size_t, size_t) __malloc_like __alloc_align(1)

I'm using this toolchain right now:
$ xtensa-esp32-elf-gcc --version
xtensa-esp32-elf-gcc (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a5) 5.2.0

Our CI is downloading it from here: https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz

what the hell is going on with esp idf? why do you must break compatibility with every update??? WTF?! STOP IT, quit the job and go home! make room for people who can still salvage the situation!

Right now we support all versions from 4.2.4 to 5.1, so I think this issue is not relevant anymore.

authors: bettio flbauer mazorvanunu

repo: atomvm/AtomVM


text:
municipality filter not working

Hi.
I just wanted to add the new municipality filter to my pipeline but I can't seem to get it working.
My test command is the following:
python nvdb2osm.py output/Botkyrka.zip output/Botkyrka-out.osm --skip_railway --skip_self_test --municipality_filter Botkyrka -v
But it only creates the file Botkyrka.osm and nothing more. I also can't see anything suspicious in the logs.

Botkyrka.log

Ahhh OK then I misunderstood the usecase.
Thanks for the clarification!

license: Unlicense


text:
feat: esp32 examples and update packaging to support ESP-IDF

- What I did

created examples/esp32/atclient_esp32_components/ which is an example on how to import atclient into your Espressif project by copying and pasting our package directories (atchops/, atclient/ and atlogger/) to ~/esp/esp-idf/components/
created examples/esp32/atclient_esp32_static_libraries/ which is an example on how to import atclient into your Espressif project by copying and pasting our static libraries & include headers into your project.
deleted these directories since they don't apply anymore: packages/atclient_espidf, examples/atclient_esp32_source, examples/atclient_esp32_static_components, and examples/atclient_esp32_static_no_components
atchops/CMakeLists.txt now REQUIRES atlogger and uuid4
atclient/CMakeLists.txt now REQUIRES json
atlogger/CMakeLists.txt does not need to REQUIRE mbedtls
Fixed goto error happening in atclient/src/notify.c

- How to verify it

Output of running the examples/atclient_esp32_components/ example

Setting to draft, I want to add idf_component.yml first

Ready for review


text:
编译通过，运行时，qiniu异常

我在运行reading项目之后发生了这个错误。

看下 #8

authors: Richard-Cao githubxsj

repo: attentiveness/reading


text:
Feature: Commands API support.

This PR adds support for the Commands API, which includes:

New endpoints for the device-level Commands API.
Receiving of command delivery notifications into an array to be popped from to the user in the receive_commands generator function.

Resolves #4.

Ready for review.
@omab - When you get a chance, please review these changes and let me know if there are things I need to change.  I'm open to whatever suggestions you have about making it more idiomatic or improving it in other ways.

Got permission from @omab and @fsaravia offline, so I'm merging.

:+1:

authors: jemc omab


text:
How to access the monaco object of a ngx-monaco-editor?

Assume that I have an ngx-monaco-editor component inside one of my templates, how can I get the editor object to use it for example with a language client?
I'm using angular 6 and ngx-monaco-editor 6.

I use (onInit)="onInitEditor($event)". Event is editor

You can also use @ViewChild and call the component like @kostuk stated.
`
  // Your component
 import { Component , ViewChild } from "@angular/core";
 ....
 export class <yourComponent> {
 @ViewChild("editor") editor: any;

  ....
   public onInitEditor($event: any) {
    // See the editor component
     console.log(this.editor);
    }
  }

    // Your .html
     <ngx-monaco-editor #editor [options]="editorOptions" [(ngModel)]="code"
        (onInit)="onInitEditor($event)"></ngx-monaco-editor>

`

authors: Azayzel Kamforka kostuk

repo: atularen/ngx-monaco-editor


text:
ADM-952 [frontend][backend]: change the frontend for the vietnam holiday

Summary
...
Before
Description
Screenshots
If applicable, add screenshots to help explain behavior of your code.
After
Description
Screenshots
If applicable, add screenshots to help explain behavior of your code.
Note
Null

close the PR because the api key

repo: au-heartbeat/Heartbeat


text:
Path wands does not work as intended in sickly hollow

Path wands works on walls but not in water, making it less viable, could be related to #320

fixed with https://github.com/PMDCollab/PMDC/commit/a45b831e5fcb75211ac57d7d53682025b45a7ee9

authors: Xindage audinowho

repo: audinowho/PMDODump


text:
Custom build with CocoaPods to avoid breaking projects

Currently with the release of iOS 10.3 and Swift 3.1 AudioKit causes projects to fail building, as it is compiled with Swift 3.0.2. I propose a solution that over CocoaPods AudioKit is built from repository using the provided scripts that build framework on the fly. This ensures that AudioKit is built from source everytime Swift version changes instead of copied from static resource on GitHub, which is outdated.
The podspec would need to be updated to something like this:
Pod::Spec.new do |s|
    ...
    s.preserve_paths = "AudioKit.framework"
    s.vendored_frameworks = "AudioKit.framework"
    s.prepare_command = <<-CMD
       ./frameworks/build_frameworks.sh
        cp -a ./AudioKit-iOS/AudioKit.framework ./AudioKit.framework
    CMD
end

I can say that we'd at least want to limit the building to the OS that you actually need, but even so I wonder if this would be too slow for Cocoapods users.  We're trying to be on top of the Swift change and come out with a working build soon.

Definitely, this was just an example, how this can be done. Surely we do not need to build it for all platforms. Likely the build_frameworks.sh script would need to be modified to take a parameter which platform to build. I think it's possible to do something like this:
s.ios.prepare_command = ...
s.tvos.prepare_command = ...

As for the build time, it is not really a problem. Both Realm and OpenCV do this. Alternatively, this could be a separate Podspec, like AudioKitSwift or something like that, while keeping the original one intact.

So, just to keep this moving, can you make us a new podspec that would do this?  I don't like have a separate podspec.  For now, we did come out with a release within a day of the new Xcde being officially released. Re-open the issue with new info... ore create a pull request with an alteration to the podspec.  thanks!

Aure,
You mention "for now, we did come out with a release within a day of the new Xcde being officially released."
My XCode updated this AM, and not my project won't build due to the AudioKit module being compiled with Swift 3.0.2 (vs 3.1).  I have tried removing / re-installing via my Podfile (currently pop 'AudioKit', '~.3.5'), but no dice.  Any suggestions?  I suppose I can simply stop using Cocoapods & compile from source, but I thought I would double-check ,first just in case I a missing something...
Thanks in advance!

@tonyashah I think your Xcode has probably got a cached version of AudioKit somewhere.  It can be super persistent about holding on to old versions which is pretty annoying.

Sure sounds plausible to me, thanks for the tip!  After installing / removing the framework with Cocoapods (clean, restarting, searching for rogue AudioKit mentions, etc), I finally opted to just manually move the a copy of framework 3.5.4 over, and it worked.
Cheers!

authors: Legoless aure tonyashah

repo: audiokit/AudioKit


text:
feat: Support for default property binding on custom attributes

See templating-binding feature request:  https://github.com/aurelia/templating-binding/issues/56
Requires templating-binding PR:  https://github.com/aurelia/templating-binding/pull/108

I kind of like the idea of using primaryProperty so it's less likely to be confused with defaultValue. What do you think? @jdanyow

Sounds good to me- @dkent600 would you mind renaming defaultProperty and defaultBindable to primaryProperty? Then I'll get this merged. Will need another PR for templating-binding because I merged your original already. Make sure you pull down the latest

I have a couple questions to the changes made to config.json.
Why is core-js being taken from version 2.4.1 to 1.2.7?
Why is npm:aurelia-templating@1.1.4 suddenly added to config.json when it wasn't needed before?

@CasiOo
npm:aurelia-templating@1.1.4 was added to the project only for testing purposes.
core-js@1.2.7 -- I don't know.  I wasn't willing to mess with the version numbers as JSPM left them.

@dkent600 Ah, because aurelia-templating is a dependency of aurelia-templating-binding.
The core-js version change still worries me.

@CasiOo I just reverted the core-js version numbers, downloaded the resulting package, built and ran all the tests, successfully.  The change is committed to this PR.

@jdanyow The property changes are commited.

After this feature gets merged, there should be opened an enhancement task to remove the cyclic dependencies. Having aurelia-templating-binding as a dependency for the tests results in a cyclic dependency tree, because aurelia-templating will end up with a dependency on itself (the npm version).
Surely we should be able to come up with a test suit where aurelia-templating-binding isn't needed.

If anyone wants to enlist me further in this, let me know.

authors: CasiOo EisenbergEffect dkent600 jdanyow

repo: aurelia/templating


text:
🛑 repl.co is down

In 730f73b, repl.co (https://hello-repl.auteen.repl.co) was down:

HTTP code: 404
Response time: 464 ms

Resolved: repl.co is back up in 8f4038c after 19 hours, 23 minutes.

repo: auteen/autoreplit


text:
Support for Xamarin.Forms on Android

We have a use case that requires integration between Auth0 and Xamarin Forms. I have implemented the iOS version per the Xamarin SDK Quickstarts and it is working well. However, I am unable to implement the Android integration using the PageRenderer (see below) technique that is recommended by Xamarin. Guidance in the area would be really helpful.
`public class Auth0LoginPageRenderer : PageRenderer
{
Auth0LoginPage page;
Auth0Client auth0;
	public Auth0LoginPageRenderer()
	{
        var options = new Auth0ClientOptions
        {
            Domain = ApiConfig.Auth0Domain,
            ClientId = ApiConfig.Auth0ClientId,
            Activity = Context as Android.App.Activity
        };
        auth0 = new Auth0Client(options);
	}

    protected override void OnElementChanged(ElementChangedEventArgs<Page> e)
    {
        Console.WriteLine("OnElementChanged: BEGIN");
        base.OnElementChanged(e);
        if (Element == null)
        {
            return;
        }
        page = Element as Auth0LoginPage;
    }

    protected override void OnAttachedToWindow()
    {
        Console.WriteLine("OnAttachedToWindow: BEGIN");
        base.OnAttachedToWindow();
        if (auth0 != null)
        {
            Task.FromResult(Login());
        }
    }

    async Task Login()
    {
		Console.WriteLine("Login: BEGIN");
		try
		{
			var loginResult = await auth0.LoginAsync(null);

			if (loginResult.IsError)
			{
				page.LoginFailed();
				MessagingCenter.Send("Failed", "LoginPageDone");
				Console.WriteLine("User login failed!");
			}
			else
			{
				UserProfile userProfile = new UserProfile();
				userProfile.AccessToken = loginResult.AccessToken;
				userProfile.IdToken = loginResult.IdentityToken;
				userProfile.RefreshToken = loginResult.RefreshToken;
				userProfile.AuthenticationTime = loginResult.AuthenticationTime;
				userProfile.AccessTokenExpiration = loginResult.AccessTokenExpiration;

				page.LoginSuccess(userProfile);
				MessagingCenter.Send("Success", "LoginPageDone");
			}
		}
		catch (TaskCanceledException ex)
		{
			System.Diagnostics.Debug.WriteLine(nameof(Auth0LoginPageRenderer) + nameof(Login) + ": " + ex);
			page.LoginCancelled();
		}
		catch (TaskSchedulerException ex)
		{
			System.Diagnostics.Debug.WriteLine(nameof(Auth0LoginPageRenderer) + nameof(Login) + ": " + ex);
			page.LoginFailed();
		}
	}

}

`

@gitizenme Unfortunately I have no knowledge of Xamarin Forms in order to assist with this at this stage :(
As time allows in the future I can look into this for you if you are unable to find a solution.

I've gone another direction on this and am now using the Xamarin Dependency Service. I'm able to get through the login process up the point where the Android method
		protected override async void OnNewIntent(Intent intent)
should be called on upon completion of the Auth0 login through Chrome. I've set a debug breakpoint in this method and it is not getting called.
Any guidance?

Okay, I'm stuck with an exception being generated from the Auth0Client constructor:
System.NullReferenceException: Object reference not set to an instance of an object.   at Auth0.OidcClient.Auth0Client..ctor (Auth0.OidcClient.Auth0ClientOptions options) [0x00029] in <e5a765d3d03346a78f40e6ec304e7fac>:0   at BCXMobile.Droid.Auth0LoginImplemenation+<LoginAsync>d__7.MoveNext () [0x0001d] in /Users/joe/Projects/Convergence/Dev/projects/BCX/projects/mobile/BCX-Mobile/Droid/Auth0LoginImplemenation.cs:44
with a call:
            client = new Auth0Client(new Auth0ClientOptions             {                 Domain = "FOOBAR.auth0.com",                 ClientId = "BASH",                 Activity = this             });
Any chance I can grab the  source code for the client?

Yes, sure. Source code is over here:
https://github.com/auth0/auth0-oidc-client-net

@gitizenme Did you manage to get this one sorted?

No, we have a use case where we need to pass extra parameters to the underlying OIDC implementation that are not exposed in the Auth0 implementation.

Can you please expand?
Do you need to pass parameters to Auth0? If so you can see an example of that over here:
https://auth0.github.io/auth0-oidc-client-net/documentation/advanced-scenarios/api-authorization.html

@gitizenme On this line, can you check that the Activity reference doesn't end up null after the as cast?
Activity = Context as Android.App.Activity
I also keep having problems.  I'm interested in how you end up solving this.

@gitizenme Are you still interested in Xamarin Forms support? I have something ready, and would like someone to play around with it

Yes, what are the details?
--
Joe Chavez
From: Jerrie Pelser notifications@github.com(mailto:notifications@github.com)
Reply: auth0-community/auth0-xamarin-oidc-samples reply@reply.github.com(mailto:reply@reply.github.com)
Date: April 11, 2018 at 5:17:25 AM
To: auth0-community/auth0-xamarin-oidc-samples auth0-xamarin-oidc-samples@noreply.github.com(mailto:auth0-xamarin-oidc-samples@noreply.github.com)
CC: Joe Chavez joe@izen.me(mailto:joe@izen.me), Mention mention@noreply.github.com(mailto:mention@noreply.github.com)
Subject: Re: [auth0-community/auth0-xamarin-oidc-samples] Support for Xamarin.Forms on Android (#6)

@gitizenme(https://github.com/gitizenme) Are you still interested in Xamarin Forms support? I have something ready, and would like someone to play around with it
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub(https://github.com/auth0-community/auth0-xamarin-oidc-samples/issues/6#issuecomment-380431153), or mute the thread(https://github.com/notifications/unsubscribe-auth/AAnRsOYhuSP4E8QUQSzCFEixIzZDdGlCks5tnfRVgaJpZM4OewL4).

@gitizenme
I have created a feed on MyGet with the beta packages:
https://www.myget.org/F/auth0-oidcclient/api/v3/index.json
Please be sure to add this feed to your NuGet sources, so you can install packages from there.
Also, here is sample demonstrating how to use it:
https://github.com/auth0-community/auth0-xamarin-oidc-samples/tree/XamarinForms/Samples/XamarinForms/FormsSample
That particular sample uses a shared project, but if you create seperate PCL or .NET Standard assembly for your Xamarin Forms, then this version includes a new package called Auth0.OidcClient.Core. This contains an IAuth0Client interface which you can use in your Forms assembly.
In that case you will also have to use Dependency Injection to inject the correct platform-specific instance.
Docs are a bit sparse at this stage, so feel free to ping me in you have any uncertainty. I would like to understand you use-case, so I can be sure we cater for as many scenarios as possible.

Hi and thanks in advance. I'm also very interested in Xamarin.Forms support for both Android and iOS. Is Auth0.Oidclient.Core reliable? A plan to publish it on "regular" nuget?

@andrekiba Yes, the plan is definitely to release it on NuGet. But I need to get feedback from actual developers using this beta. So if you can check it out and give me feedback, it will be very helpful

for iOS the only thing I need to do (apart calling LoginAsync) is add the URL type inside Info.plist?
Yes

In Android I still need to manage intent filers and OnNewIntent inside the MainActivity?

Yes. Please also ensure to set the LaunchMode for the activity to SingleTask. See https://github.com/auth0-community/auth0-xamarin-oidc-samples/blob/XamarinForms/Samples/XamarinForms/FormsSample/Droid/MainActivity.cs#L13-L20

Hi @jerriep, the Auth0.Oidclient.Core seems to work correctly. I have a question: is there a way to retrieve user_metadata?  In Auth0ClientOptions I have "openid profile email".

@jerriep Xamarin noob here. Could you please provide a .net standard example?

@jerriep I asked too soon. This noob finally figured it out. Whether or not this is considered a correct way of doing it, I created an IAuth0ClientFactory interface on the main project side. Then created a platform specific classes that implement the interface and create an Auth0Client. I still think an example project provided by Auth0 might help out some people.

Yes, the correct way is to reference IAuth0Client in your view model, and then instantiate and inject the correct implementation on each platform.
One of the reasons I have not done a sample like this is because I was not sure which dependency injection framework is the most common on Xamarin Forms and makes the most sense.
Which DI framework did you use?

I used DependencyService from Xamarin.Forms. I'm not sure what is most common, but for someone starting out this is what I found first.

Thanks @sdkraemer , I will add it to my to-do list to create a .NET Standard sample for Xamarin Forms.

Hey man, first of all, I'd like to really thank you for making this as it makes my life a million times easier.
Secondly, I'd like to ask if I'm using it correctly (lol). So I'm also using a project that uses the .Net Standard assembly in Xamarin.Form, and have added the Auth0.OidcClient.Core to the main project. Then I'll be using Dependency Injection based on the IAuth0Client interface for the platform specific implementation.
My question comes in here, do I want to implement those platform specific implementations myself, or should I be adding the nuget package for each platform respectively (Auth0.OidcClient.Andoird/iOS) and then the platform specific "implementations" would be me just returning the classes provided by the nuget packages.
Thanks again for the work you've done, and for your help!

@lcm98 Yes, as you said, the main Xamarin Forms project should reference the Auth0.OidcClient.Core NuGet package and use IAuth0Client interface.
For each platform, you reference platform specific NuGet package (Auth0.OidcClient.Andoird/iOS)  and set up your DI to inject an instance of the Auth0Client for that platform which is found in the relevant NuGet package.
The code to create a platform specific instance is as follows:
new Auth0Client(new Auth0ClientOptions
{
    Domain = "your_auth0_domain", // e.g. abc.auth0.com
    ClientId = "your_client_id"
});

How you inject that instance will depend on the DI framework you are using

Perfect, thanks again!

I'm getting this same error as OP! Android was working fine until I updated my NuGet to 2.0.0. Now there is no longer the Activity parameter in Auth0ClientOptions. I removed the parameter. But Now I am getting this NullReference Exception after defining my Auth0Client. Did anyone resolve this issue?

Can you supply some sort of stack trace or, preferably, as sample project demonstrating the problem?

Jerrie,
Not sure how exactly to provide you with a stack trace without writing a bunch of logs in my code. Which would be about as helpful as my debugging attempts as the nullreference error happens in external code (constructor of Auth0Client).
The project is much to big to provide to you, I don't exactly have the time to prepare a sample project right now, but when I do have the time I will put one together for you.
For now I rolled back my packages to 1.2.0 as I know that works using the Activity parameter.
Do you have any knowledge of the reason for this (and the corresponding controller parameter for iOS) was removed? Is it possible that not having this is the cause of the error? But then why would this not happen on iOS when I removed the Controller parameter?
I seam to be having a similar problem as the one posted here, yet He was using the old version (which works for me). https://github.com/auth0-community/auth0-xamarin-oidc-samples/issues/6
Thanks,

Joshua Tanton
Mobile and Web Developer
Flynn Group of Companies
C:+1.416.994.3012
joshua.tanton@flynncompanies.com
https://flynncompanies.com
From: Jerrie Pelser notifications@github.com
Sent: Tuesday, June 19, 2018 11:21:32 AM
To: auth0-community/auth0-xamarin-oidc-samples
Cc: Joshua Tanton; Comment
Subject: Re: [auth0-community/auth0-xamarin-oidc-samples] Support for Xamarin.Forms on Android (#6)
Can you supply some sort of stack trace or, preferably, as sample project demonstrating the problem?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/auth0-community/auth0-xamarin-oidc-samples/issues/6#issuecomment-398438600, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AfEe1J-x9ncw2cPJY0qkmnEpan_0YThiks5t-Rb8gaJpZM4OewL4.

@joshuatantonflynn I understand your difficulty. Though, please understand that it is also difficult for me to track the issue down without some reliable way to reproduce it.

Can you please send me the section of code where you create the instance of Auth0Client ?

When configuring the Auth0Client, I need to determine the package name of your Android package. This is what I used the Activity property for previously. In the new version I determine the package name using the following line of code:

string packageName = Android.App.Application.Context.PackageName;

It is possible that that is the offending line of code which results in the NullReferenceException. Can you please execute that line in your own code and let me know the result? Does it return a value? Or does it throw an exception?

Jerrie,
As far as I'm aware I follow the documentation here exactly: https://auth0.com/docs/quickstart/native/xamarin/01-login
I don't see any string packageName set in the docs. Where is that string used.
These are my following relevant code snippets:
Activity declaration:
[Activity(Label = "Flynn Coaching",
          Theme = "@style/Theme.DesignDemo",
          Icon = "@drawable/Icon",
          LaunchMode = LaunchMode.SingleTask)]

#if DEBUG
[IntentFilter(
new[] { Intent.ActionView },
Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable },
DataScheme = "com.flynncompanies.coachingandroid",
DataHost = "flynn.auth0.com",
DataPathPrefix = "/android/com.flynncompanies.coachingandroid/callback")]
#else
[IntentFilter(
new[] { Intent.ActionView },
Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable },
DataScheme = "com.flynncompanies.coachingandroid.prod",
DataHost = "flynn.auth0.com",
DataPathPrefix = "/android/com.flynncompanies.coachingandroid.prod/callback")]
#endif
as you can see I have two sets depending on DEBUG or RELEASE. Both fail with 2.0.0
Auth0Client Declaration (inside onCreate method, global variable to the LaunchActivity):
client = new Auth0Client(
new Auth0ClientOptions
{
Domain = ConstantsData.Auth0Domain,
ClientId = ConstantsData.Auth0ClientId
}
);
You should note that I've kept my ClientId out of this email for security purposes. I assure you it is correct as the same id works with iOS and on droid with 1.2.0. I also have different ClientIds for PROD and DEV as they have different package names. Only difference from docs I've noticed is that in the docs client is declared as a var, while in my code it's declared as an Auth0Client, exact declaration is:
Auth0Cient client;
Finally, launching the login:
With 1.2.0 I use:
authorizeState = await client.PrepareLoginAsync();
var uri = Android.Net.Uri.Parse("googlechrome://navigate?url=" + authorizeState.StartUrl);
var intent = new Intent(Intent.ActionView, uri);
intent.AddFlags(ActivityFlags.NoHistory);
        StartActivity(intent);

I've tried this and
var loginResult = await client.LoginAsync();
with 2.0.0. However since the app crashed long before this code was excuted I don't think this is relevant.
Finally I just noticed in the docs after scrolling down a bit they tell you to do it slightly differently with android.
var loginResult = await client.ProcessResponseAsync(intent.DataString, authorizeState);
But as I said this code is never executed and clearly not the source of my problem.
Thanks,
[https://cdn2.auth0.com/docs/media/social-media/fb-card.png]https://auth0.com/docs/quickstart/native/xamarin/01-login
Auth0 Xamarin SDK Quickstarts: Loginhttps://auth0.com/docs/quickstart/native/xamarin/01-login
auth0.com
This tutorial will show you how to use the Auth0 Xamarin SDK to add authentication and authorization to your mobile app.

Joshua Tanton
Mobile and Web Developer
Flynn Group of Companies
C:+1.416.994.3012
joshua.tanton@flynncompanies.com
https://flynncompanies.com
From: Jerrie Pelser notifications@github.com
Sent: Tuesday, June 19, 2018 8:56:32 PM
To: auth0-community/auth0-xamarin-oidc-samples
Cc: Joshua Tanton; Mention
Subject: Re: [auth0-community/auth0-xamarin-oidc-samples] Support for Xamarin.Forms on Android (#6)
@joshuatantonflynnhttps://github.com/joshuatantonflynn I understand your difficulty. Though, please understand that it is also difficult for me to track the issue down without some reliable way to reproduce it.

Can you please send me the section of code where you create the instance of Auth0Client ?

When configuring the Auth0Client, I need to determine the package name of your Android package. This is what I used the Activity property for previously. In the new version I determine the package name using the following line of code:

string packageName = Android.App.Application.Context.PackageName;
It is possible that that is the offending line of code which results in the NullReferenceException. Can you please execute that line in your own code and let me know the result? Does it return a value? Or does it throw an exception?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/auth0-community/auth0-xamarin-oidc-samples/issues/6#issuecomment-398590597, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AfEe1G2C7mLqCRoTd20aS_1u60XtAFw4ks5t-Z3AgaJpZM4OewL4.

The line
string packageName = Android.App.Application.Context.PackageName;

is not mentioned in the documentation, because it is not something you need to do. As I stated, it is executed in the constructor of the Auth0Client and as far as I can see, it can be the cause of the NullReferenceException.
But I need you to confirm that for me.
So can you please execute that line in your code and let me know what the result is?

Hi Jerrie,
I understand now what you mean. Sorry for my confusion. I executed that line prior to where I initiate the Auth0Client. It successfully returned my package name.
Thanks,

Joshua Tanton
Mobile and Web Developer
Flynn Group of Companies
C:+1.416.994.3012
joshua.tanton@flynncompanies.com
https://flynncompanies.com
From: Jerrie Pelser notifications@github.com
Sent: Wednesday, June 20, 2018 7:35:12 PM
To: auth0-community/auth0-xamarin-oidc-samples
Cc: Joshua Tanton; Mention
Subject: Re: [auth0-community/auth0-xamarin-oidc-samples] Support for Xamarin.Forms on Android (#6)
The line
string packageName = Android.App.Application.Context.PackageName;
is not mentioned in the documentation, because it is not something you need to do. As I stated, it is executed in the constructor of the Auth0Client and as far as I can see, it can be the cause of the NullReferenceException.
But I need you to confirm that for me.
So can you please execute that line in your code and let me know what the result is?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/auth0-community/auth0-xamarin-oidc-samples/issues/6#issuecomment-398929974, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AfEe1I0nC4oOSjeVlLCgLodmSplo0u7jks5t-twwgaJpZM4OewL4.

Very interesting... and disappointing ;) I sorta hoped that was the issue.
I'll keep looking into it, but I also want to ask you if you can find time to try and create a sample for me which demonstrates this issue. Unless I have some reliable way to reproduce this, I am just making guesses about possible causes.
BTW, when you call
client = new Auth0Client( new Auth0ClientOptions { Domain = ConstantsData.Auth0Domain, ClientId = ConstantsData.Auth0ClientId } );

Does ConstantsData.Auth0Domain and ConstantsData.Auth0ClientId have values? Are one of them not perhaps null?

Hi Jerrie,
I thought you might ask that, that's why I mentioned in my previous emails that they do work for iOS and with 1.2.0 Nuget on droid. Two sets, one for prod, one for dev. But they are definitely set properly.
I have a deadline for this application so I'm focused on reaching that target and will look into 2.0.0 for the next one, since I have it stable with 1.2.0. At that point I can put together a sample project for, maybe some time next week.
Thanks,

Joshua Tanton
Mobile and Web Developer
Flynn Group of Companies
C:+1.416.994.3012
joshua.tanton@flynncompanies.com
https://flynncompanies.com
From: Jerrie Pelser notifications@github.com
Sent: Wednesday, June 20, 2018 8:39:55 PM
To: auth0-community/auth0-xamarin-oidc-samples
Cc: Joshua Tanton; Mention
Subject: Re: [auth0-community/auth0-xamarin-oidc-samples] Support for Xamarin.Forms on Android (#6)
Very interesting... and disappointing ;) I sorta hoped that was the issue.
I'll keep looking into it, but I also want to ask you if you can find time to try and create a sample for me which demonstrates this issue. Unless I have some reliable way to reproduce this, I am just making guesses about possible causes.
BTW, when you call
client = new Auth0Client( new Auth0ClientOptions { Domain = ConstantsData.Auth0Domain, ClientId = ConstantsData.Auth0ClientId } );
Does ConstantsData.Auth0Domain and ConstantsData.Auth0ClientId have values? Are one of them not perhaps null?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/auth0-community/auth0-xamarin-oidc-samples/issues/6#issuecomment-398940469, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AfEe1OsJ0LW8O3DVHd6BCmOkEdHcSlF-ks5t-utbgaJpZM4OewL4.

That would be very much appreciated 😀

I'm sorry but I don't understand why the base classes Auth0Client and Auth0ClientOptions are no more inside the Core nuget package. Inside my login viewmodel in the Xamarin Forms .net standard pcl I have something like this:
var auth0Client = new Auth0Client(new Auth0ClientOptions
{
   Domain = Constants.Auth0Domain,
   ClientId = Constants.Auth0ClientId,
   Scope = "openid profile email"
});

but now it doesn't work anymore.
I don't want to create my own implementation of the IAuth0Client.
I don't understand.

It has never been inside the Core package. Auth0Client and Auth0ClientOptions has always been in the platform-specific packages.
The new core package was introduced specifically to introduce an non-platform specific IAuth0Client interface which you could reference inside your Xamarin Forms project. You will need to inject the actual platform-specific Auth0Client implementation via something like dependency injection.

mmm...maybe when the package was "unofficial" ?? ...

Hmm, I cannot remember those being in the Core package even while "unofficial". You say that you had it working in a PCL. Please tell me what version you were referencing in your PCL in which this worked.
As I stated, you will need to reference the Core package and use IAuth0Client in your PCL and then use dependency injection to inject the platform-specific Auth0Client implementation.
Unfortunately, however, I do not yet have a sample of how to do that for you.

do you mean something like this?
//PCL
public class LoginViewModel : BaseViewModel
{
    #region Fields

    private readonly IAuth0Client auth0Client;

    #endregion

    #region Lifecycle

    public LoginViewModel(IAuth0Client auth0Client)
    {
        this.auth0Client = auth0Client;
    }

    #endregion
}

//iOS
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
    global::Xamarin.Forms.Forms.Init();

    #region Auth0

    var auth0Client = new Auth0Client(new Auth0ClientOptions
    {
        Domain = Constants.Auth0Domain,
        ClientId = Constants.Auth0ClientId,
        Scope = "openid profile email"
    });

    FreshIOC.Container.Register<IAuth0Client>(auth0Client);

    #endregion

    LoadApplication(new App());

    return base.FinishedLaunching(app, options);
}

//Android
protected override void OnCreate(Bundle bundle)
{
    TabLayoutResource = Resource.Layout.Tabbar;
    ToolbarResource = Resource.Layout.Toolbar;

    base.OnCreate(bundle);

    global::Xamarin.Forms.Forms.Init(this, bundle);

    #region Auth0

    var auth0Client = new Auth0Client(new Auth0ClientOptions
    {
        Domain = Constants.Auth0Domain,
        ClientId = Constants.Auth0ClientId,
        Scope = "openid profile email"
    });

    FreshIOC.Container.Register<IAuth0Client>(auth0Client);

    #endregion

    LoadApplication(new App());
}

Yes. I am not familiar with FreshIOC, but that seems to be what I have in mind.
Does that work for you?

sorry for the delay! yes it works. But...is there also another way to login with uath0 without leaving the app and open a browser?? Personally I think that the user experience is not so beautiful... 😅

@andrekiba I am not sure. I will investigate.

Hello, i'm trying to follow this example:
https://github.com/auth0-community/auth0-xamarin-oidc-samples/blob/master/Samples/Forms/FormsSample/FormsSample/MainPage.xaml.cs
But even after installing the NuGet Package Auth0.OidcClient.Core, I am unable to create a new instance of 'Auth0Client' as well as 'Auth0ClientOptions'. Could anyone assist me in getting this example to work? Very much appreciated for your time and help

@luminousAvocado  What do you mean by being unable to create an instance? Do you get errors? If so, what sort of errors? Compiler errors? Or errors at runtime?
Without a more detailed explanation, preferably with some screenshots, it is not possible for me to assist you.

I am closing this issue are the original issue (adding support for Xamarin Forms) have been addressed. If any new issues come up, pleases open a separate issue on GH.

@sdkraemer , would it be possible for me to see your solution using dependency injection?

My iOS version (which was working with the 2.0 upgrade) has now started having this exact same problem with a null reference exception. Why was the Controller/Activity property removed from the Auth0ClientOptions!?! It is just causing problems. Now it'll be a mess to downgrade to 1.0 so my Auth0 will actually work.

I was removed because that was the only way to get it working for Xamarin Forms. We cannot have platforms specific stuff in the Auth0ClientOptions otherwise it will not work on Xamarin Forms.
Please see if you can get some sort of stack trace or some way for me to reproduce it and then open an issue for that.

I just downgraded to 1.0 for iOS, took a while. But even with the Controller specified I'm getting the same NullReferenceException. How do I get you a stack trace? Is there a simple way to output this in VS without it being just a bunch of junk data? I'm going to go back to 2.1.0 where I'm having the same issue, there has got to be a way to prevent this NullReferenceException. In android you said it checked Android.App.Application.Context.PackageName; what does it check on iOS?

@joshuatantonflynn Please, I am asking you nicely: Open a separate issue for this
This issue is closed and not related to your issue. We cannot track this properly if you do not open an issue for your problem.
As far as the stack trace is concerned, you will need to debug your application, and then when it break on the exception, you will need to look at the stack trace of the exception being thrown.

I am locking this issue now, as Xamarin Forms support has been added.
For any problems, open a separate issue

authors: andrekiba dagostinelli gitizenme jerriep joshuatantonflynn lcm98 luminousAvocado sdkraemer


text:
Add add-sso-for-disqus-on-your-wordpress-site-with-auth0

@kukicado here it is, sorry it took so long to create the PR!  Let me know if I need to change anything.

Thank you @kmaida!  I have incorporated all of your changes.  I also found a couple more instances of login and setup.  🤦♂ on the know...  Thanks for catching all of those things!

Hi @mostekcm! You're welcome! The instances that weren't specifically cited in the comments were already correct though: or at least most of them were, it's possible I missed one or two, but several cases were right as they were. It might be helpful to go back through and change back the ones that weren't specifically called out.
(For instance, "log into" is grammatically correct. "Log in to" is less so.)

Thanks again @kmaida, fixed the "log in to".  Hopefully ready to merge now!  I did leave the only noun as login :).

authors: kmaida mostekcm


text:
Fix callback URL used with wordpress as headless CMS

whenever site_url != home_url
resolves #341

Thanks for the PR.  Out of interest what is the output of your home_url vs site_url ?
Didn't you have to change URLs in your Auth0 dashboard?

@cocojoe
test:
headless wordpress (site_url): https://cms-test.example.com
custom renderer (home_url): https://test.example.com
stage:
headless wordpress (site_url): https://cms-stage.example.com
custom renderer (home_url): https://stage.example.com
prod:
headless wordpress (site_url): https://cms.example.com
custom renderer (home_url): https://example.com
In short, if wordpress is not use to render content, auth won't work. Because callback /index.php?auth0=1&code=... goes to our custom renderer - which does not have a clue how to handle this -  not on wordpress

@jeroneemou So I think to move forward here, this would need to be wrapped up as an optional feature flag that can be managed in the dashboard.
I also feel this options should provide information to ensure the user is aware that they will need to update their callback URL etc in the Auth0 dashboard to support the site_url.
Your PR may work for your use case. However, usage in the wild is unpredictable, hence wrapping it up as opt-in behaviour.
Thx
@glena

@cocojoe
In general site_url() references the field labeled "WordPress Address (URL)" and it should be used whenever you want to interact with wordpress - i.e. callback from auth0.
These functions are just named badly 😞  - more here
But yeah, like you said, wrapping it would be nice - also maybe include some event so it can be easily overwritten by another plugin for some other edge cases 👍
Cheers

Interestingly there is PR #339 that suggests using wp_login_url() which is a wrapper around site_url. It's confusing as then you have the wordpress docs
home_url() is the preferred method, as it avoids the above redirect. ¯_(ツ)_/¯
Hence I feel wrapper is the safest option to avoid potential legacy issues.

#339 is irrelevant as it deals with login URL not callback URL on /index.php or home_url( '/index.php?auth0=1' )  but replacing home_url( '/wp-login.php' ) with wp_login_url(..) is anyhow absolutely correct. And if you go in detail wp_login_url(...) uses exactly site_url('wp-login.php', 'login'); because it needs to land on wordpress instance!
ad home_url() it is preferred for use in templates (for resources) - as it avoids redirect
we are talking about recommendations for wordpress.COM specific usage - not .ORG as selfhosted solution

Heyo @cocojoe, what will be next? Are you working on something or should I dive into this - to have it short I would just focus on callback issue for OAuth with code payload and do this with some wrapper and option enable/disable in plugin itself

Hi @jeroneemou please feel free to dive in with what you mention.  One thing ti possibly bear in mind here, there is a bigger PR dropping in soon.  Now that I have read this, there is one area that maybe possibly be in conflict for you, although only in an SSO enable scenario.
https://github.com/auth0/wp-auth0/pull/350/files#diff-d375f757ba3b9628375037db61d19ae4

Hi @cocojoe, I'm sorry to ask so straight forward, but I will have not time for it currently. Do you think you could escalate this internally (Auth0) and get someone on board? I find this as crucial bug.
Thanks

authors: cocojoe jeroneemou