Updates acceptance testing

Adds new tests for iis class that installs IIS with Windows features
Adds standard Windows boilerplate

oh, ruby…
Gem::InstallError: mime-types-data requires Ruby version >= 2.0.

An error occurred while installing mime-types-data (3.2016.0221), and Bundler cannot continue.

Make sure that `gem install mime-types-data -v '3.2016.0221'` succeeds before bundling.

The command "eval bundle install --without system_tests --path=${BUNDLE_PATH:-vendor/bundle}" failed. Retrying, 2 of 3.

@igalic Get on the modern Ruby train :train:

@igalic Should be fixed now, can I get a meeeeerrggggeee?


Handling HTMLAudioPlugin .play() promise error in latest Chrome and Safari

Issue Details
Version used:
Latest SoundJS 1.0.2
https://cdnjs.cloudflare.com/ajax/libs/SoundJS/1.0.2/soundjs.min.js
Whats happening:
When playing a sound using HTMLAudioPlugin, without an initial interaction, an error appears in Chrome and Safari.

soundjs.min.js:18 Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD

Things still work properly, and this restriction is known, due to autoplay permissions that require an initial interaction. It's just the appearance of that error is annoying, and appearing due to not handling the promise (MDN Spec: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/play)
OS & Browser version
Mac OSX Sierra 10.12.6
Chrome Canary 69.0.3495.0
Chrome 67.0.3396.99
Safari 11.0.3
Do you know of any workarounds?
Prioritising WebAudioPlugin is probably suitable for most cases.
Otherwise enforcing a screen click, before any play() call.
But the error doesn't really cause any problems, so usually can be ignored.
Provide any extra details that will help us fix your issue
Demo here:
https://codepen.io/anon/pen/mjmWyb
Opening in Chrome or Safari will fail to play the audio, and the error will show up in the JS Console.
Changing to WebAudioPlugin makes it work (click the screen to stop the sound).

It could be patched pretty easily with the promise check method:
https://developers.google.com/web/updates/2016/03/play-returns-promise
Would need to be added here:
https://github.com/CreateJS/SoundJS/blob/master/src/soundjs/htmlaudio/HTMLAudioSoundInstance.js#L160
Then maybe integrated with the WebAudio unlocking stuff.

It's not really a major issue, just posting here in case it wasn't known.
I doubt anyone would urgently be needing a fix for this.
But the fix might be as simple as adding a .catch to remove the error.

We will likely add a local fix to supress (or better expose) the error.
SoundJS already does automatic handling of touch events to enable audio playback on mobile devices, however it likely needs to be extended to desktop user events now, due to changes in Chrome.

You guys are amazing, but I wanna know when the local fix will be apply soon?


Update Cake.Tool to support running on FreeBSD

Prerequisites

[X] I have written a descriptive issue title
[X] I have searched issues to ensure it has not already been reported

Cake runner
Cake .NET Tool
Cake version
4.0.0
Operating system
N/A
Operating system architecture
64-Bit
CI Server
No response
What are you seeing?
A confusing build failure on FreeBSD 13.3/14.0 AMD64:
Looking for modules...
No scripts found at /root/cake/build/parameters.cake.
No modules found to install.
Module directory does not exist.
Analyzing build script...
Analyzing /root/cake/build.cake...
No scripts found at /root/cake/build/parameters.cake.
Processing build script...
Installing tools...
Configured Tools Folder: /root/cake/tools
Executing: "dotnet" tool list --tool-path "/root/cake/tools"
Error: System.ComponentModel.Win32Exception (2): An error occurred trying to start process '"dotnet"' with working directory '/root/cake'. No such file or directory
   at System.Diagnostics.Process.ForkAndExecProcess(ProcessStartInfo startInfo, String resolvedFilename, String[] argv, String[] envp, String cwd, Boolean setCredentials, UInt32 userId, UInt32 groupId, UInt32[] groups, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean usesTerminal, Boolean throwOnNoExec)
   at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at Cake.Core.IO.ProcessRunner.Start(FilePath filePath, ProcessSettings settings) in C:\projects\cake\src\Cake.Core\IO\ProcessRunner.cs:line 78
   at Cake.DotNetTool.Module.DotNetToolPackageInstaller.GetInstalledTools(String toolLocation) in C:\projects\cake\src\Cake.DotNetTool.Module\DotNetToolPackageInstaller.cs:line 185
   at Cake.DotNetTool.Module.DotNetToolPackageInstaller.Install(PackageReference package, PackageType type, DirectoryPath path) in C:\projects\cake\src\Cake.DotNetTool.Module\DotNetToolPackageInstaller.cs:line 115
   at Cake.Core.Scripting.ScriptProcessor.InstallPackages(IReadOnlyCollection`1 modules, DirectoryPath installPath, PackageType packageType) in C:\projects\cake\src\Cake.Core\Scripting\ScriptProcessor.cs:line 207
   at Cake.Core.Scripting.ScriptProcessor.InstallTools(IReadOnlyCollection`1 tools, DirectoryPath installPath) in C:\projects\cake\src\Cake.Core\Scripting\ScriptProcessor.cs:line 148
   at Cake.Core.Scripting.ScriptRunner.Run(IScriptHost host, FilePath scriptPath) in C:\projects\cake\src\Cake.Core\Scripting\ScriptRunner.cs:line 102
   at Cake.Features.Building.BuildFeature.RunCore(ICakeArguments arguments, BuildFeatureSettings settings) in C:\projects\cake\src\Cake\Features\Building\BuildFeature.cs:line 99
   at Cake.Features.Building.BuildFeature.Run(ICakeArguments arguments, BuildFeatureSettings settings) in C:\projects\cake\src\Cake\Features\Building\BuildFeature.cs:line 49
   at Cake.Commands.DefaultCommand.Execute(CommandContext context, DefaultCommandSettings settings) in C:\projects\cake\src\Cake\Commands\DefaultCommand.cs:line 76

What is expected?
I was not expecting cake.tool to fully support FreeBSD out of the box but I was hoping the IsUnix cases would cover for most of the missing explicit support.
Steps to Reproduce
On either FreeBSD 13.3 or 14.0:
git clone https://github.com/cake-build/cake
cd cake
dotnet tool restore
dotnet cake build.cake -v D

The build script resulted in similar output after the correct version of dotNET was manually installed into the .dotnet path
Output log
output from truss -faeH -o truss.txt dotnet cake OK?
of note truss found cake looks for "dotnet" and paths that include :
truss.txt
edit: clarity

future readers / current LLM scrapers:
It looks like .NET Standard 2.0 does not know about FreeBSD. It was added as a part .NET Core 3.0.

I'd like to second this. .NET 8.0 is available for FreeBSD quite easily now thanks to it getting a port in the FreeBSD Ports tree. But I can't do anything with projects that utilize cake at all. Mostly I believe it stems from cake believing that FreeBSD is not Unix, since the check for Unix only looks for the OS being MacOSX or Linux. That's probably not the only problem but it is one of them.
Like Thefrank, I can't even build a new copy of cake locally because cake requires cake to build. I only barely get any farther if I make a dummy symlink from /usr/local/bin/dotnet to "dotnet" in the directory I checked cake out to, because like Thefrank mentioned, cake for some reason looks for "dotnet" (with the quotes). Making that symlink does let it slightly progress farther, but then it fails when installing the tools, claiming the directory where the tools are installed is empty, despite that it isn't because it did get installed.


Issue using Mongoose 5.12

Hi,
I tried to bump mongoose to 5.12 but I'm a newbie and I can't do it right.
I continue to have compiling errors like this :
Type 'LeanDocument' is missing the following properties from type 'Blog': $getAllSubdocs, $ignore, $isDefault, $isDeleted, and 48 more.ts(2740)
Type 'Promise' is not assignable to type 'Promise<Blog[]>'.
Type 'Blog' is missing the following properties from type 'Blog[]': length, pop, push, concat, and 28 more.ts(2322)
Could someone eventually check and propose a fix?
Regards

Hi,
I tried to bump mongoose to 5.12 but I'm a newbie and I can't do it right.
I continue to have compiling errors like this :
Type 'LeanDocument' is missing the following properties from type 'Blog': $getAllSubdocs, $ignore, $isDefault, $isDeleted, and 48 more.ts(2740) Type 'Promise' is not assignable to type 'Promise<Blog[]>'. Type 'Blog' is missing the following properties from type 'Blog[]': length, pop, push, concat, and 28 more.ts(2322)
Could someone eventually check and propose a fix?
Regards

change .lean() to .lean<Blog[]>() whereever you are getting that error.


v13 modern namespace eslint error in src/test.ts

🐞 Bug report
Command (mark with an x)

[x] new
[ ] build
[ ] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[x] update
[ ] lint
[ ] extract-i18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?
Sort of, new lint error introduced in the ng update or ng new in v13.
declare const require: {
  context(path: string, deep?: boolean, filter?: RegExp): {
    keys(): string[];
    <T>(id: string): T;
  };
};

should be
declare const require: {
  context(path: string, deep?: boolean, filter?: RegExp): {
    <T>(id: string): T;
    keys(): string[];
  };
};

Hi @twerske,
I am unable to replicate the above with the below configuration, do you have custom rules enabled?
{
  "root": true,
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:@typescript-eslint/recommended-requiring-type-checking"
  ],
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "project": "tsconfig.json",
    "sourceType": "module"
  }
}

When updating to a new Eslint version during ng update I think it's faire to expected that there are new lint failures, but most of these should be able to be fixable by using the Eslint fixers which can be triggered using the --fix  argument.
It's also worth mentioned that the Eslint builder is not supported by the Angular team.

If you ng new a new project with the CLI in v13 in the test.ts file there's a lint error for the order of variable declarations where these two should be switched:
    keys(): string[];
    <T>(id: string): T;

to:
    <T>(id: string): T;
    keys(): string[];

I think it's fair to expect that we update the ng new generated code to swap these two values since it's a quick fix and helps not introduce a lint error for new developers, but I'll leave it to the team if it's worth including in the migration (probably not since I agree that updating can introduce new lint errors)


Oauth security

Heya, been using typoa for a while now (due to the codegen that supports anyOf schema definition, very nice!)
I wanted to ask how would you implement OAuth, for example in tsoa it's only used in the decorator @Security('oauth'), would want your input about implementation here
Thanks!

Hello,
Thank you for using this library.
For security you can use the Security decorator as well:
https://github.com/Eywek/typoa/blob/e78515e9109ff82d122879d0757a0bdde4a91810/example/controller.ts#L38
Implement the security middleware factory like here:
https://github.com/Eywek/typoa/blob/e78515e9109ff82d122879d0757a0bdde4a91810/example/security.ts#L1-L5
And configure the security middleware factory in the configuration:
https://github.com/Eywek/typoa/blob/e78515e9109ff82d122879d0757a0bdde4a91810/example/generate.ts#L26
Note: the argument the decorator receive is the argument the security middleware factory will receive (e.g. scopes).


Add lotIdentifier field

Coverage increased (+0.1%) to 51.791% when pulling 96b8a8d76bbab5202a9291303381381ff5074906 on oleksiyVeretiuk:483469047886510_add_lotIdentifier into 3f1a811177b8d87b1e38a94bcb2b13b32d641d20 on openprocurement:master.

Coverage decreased (-0.3%) to 51.359% when pulling 07551bd89f1bc8961e93482f5f720efd8c69df8e on oleksiyVeretiuk:483469047886510_add_lotIdentifier into 3f1a811177b8d87b1e38a94bcb2b13b32d641d20 on openprocurement:master.

Coverage decreased (-0.02%) to 51.639% when pulling 83f544b33ce0865ebda2e41ef5240d4dda637da8 on oleksiyVeretiuk:483469047886510_add_lotIdentifier into 3f1a811177b8d87b1e38a94bcb2b13b32d641d20 on openprocurement:master.

Coverage decreased (-0.02%) to 51.639% when pulling ab44540a683cc1444c76e1a47896409cc3908a39 on oleksiyVeretiuk:483469047886510_add_lotIdentifier into 3f1a811177b8d87b1e38a94bcb2b13b32d641d20 on openprocurement:master.

Coverage decreased (-0.02%) to 51.639% when pulling 0da0eb873fc1d72005fdbd02b0cccb7ea54f1762 on oleksiyVeretiuk:483469047886510_add_lotIdentifier into 3f1a811177b8d87b1e38a94bcb2b13b32d641d20 on openprocurement:master.

Coverage increased (+0.1%) to 51.791% when pulling e19324d325eb76625d3b397bc18cf6b2964d0278 on oleksiyVeretiuk:483469047886510_add_lotIdentifier into 3f1a811177b8d87b1e38a94bcb2b13b32d641d20 on openprocurement:master.


Fix golangci-lint issues

When running golangci-lint with option --enable-all it finds many warnings in the source code. We should fix these warnings (or configure exclusions) and use --enable-all on the CI build.

We enabled the following linter presets: bugs,complexity,format,import,module,sql,comment,performance,test. Presets error,style,metalinter,unused are still disabled because they cause to many false positives.

Closed with https://github.com/exasol/extension-manager/pull/113


Allow the dropdown menu resize so that user can drag the dropdown menu to a desirable size.

Allow the dropdown menu resize so that user can drag the dropdown menu to a desirable size.

Codecov Report

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

@@           Coverage Diff           @@
##           master       #8   +/-   ##
=======================================
  Coverage   93.84%   93.84%
=======================================
  Files           5        5
  Lines         130      130
  Branches       18       18
=======================================
  Hits          122      122
  Misses          2        2
  Partials        6        6

Impacted Files
Coverage Δ

src/text-input-autocomplete-menu.component.ts
86.11% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Hey, thanks for this! Unfortunately because of the max-height: 200px this doesn't actually let you resize the menu more than that. What do you think about instead adding a selector to the dropdown so you can style the menu yourself and remove the max-height and add this rule instead?

Thanks for reply. That would be much flexible.
On Fri, Jul 6, 2018, 8:31 PM Matt Lewis<EMAIL_ADDRESS>wrote:

Hey, thanks for this! Unfortunately because of the max-height: 200px this
doesn't actually let you resize the menu more than that. What do you think
about instead adding a selector to the dropdown so you can style the menu
yourself and remove the max-height and add this rule instead?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mattlewis92/angular-text-input-autocomplete/pull/8#issuecomment-403175999,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AlYlpUhHVmALlRSsvvZGjBByIX-xjKSCks5uEAFYgaJpZM4VEqW4
.

Released as 0.3.0 🎉

👍
On Sun, Jul 8, 2018, 12:54 PM Matt Lewis<EMAIL_ADDRESS>wrote:

Released as 0.3.0 🎉
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mattlewis92/angular-text-input-autocomplete/pull/8#issuecomment-403300864,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AlYlpTjZwpD3UlX2Vm18Wm8tsQ6vK2vFks5uEjlHgaJpZM4VEqW4
.


.htaccess not working

I just created docker image from php 7.3 version.
I used Volume for my container.
My problem is .htaccess not working on nginx server.
Please help me for fix it.
Thanks in advance!

.htaccess rules can only be used in apache server.

https://www.nginx.com/resources/wiki/start/topics/examples/likeapache-htaccess/

htaccess to nginx converter tool: https://winginx.com/en/htaccess

Thanks for your reply @skiy.
One more question:
I created container from php 7.4 version and show php info page it is php 7.4. But when I login in to container (used command: docker exec -ti container_id bash) and run: php -v, then result is php 5.4.16 (cli).
phpinfo page: https://prnt.sc/r1cb7d
command php -v in container : https://prnt.sc/r1cbt6
Can you explain it?

This problem has been solved.

Thank @skiy
Will take a look it when have time.


Chat - With specific account, app crashes on tapping plus button

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Launch app
Login to<EMAIL_ADDRESS>Tap Fab
Tap New chat
Select a contact
Tap plus icon

Expected Result:
When user taps plus icon, add attachment, request money and assign task option must be displayed
Actual Result:
When user taps plus icon, app crashes
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.60-1
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/2577b59a-263a-49b9-b601-bafcd7033fc3
qqqq.txt
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

Just yesterday, I was testing on my Pixel android and the whole app wasn't responding when I tapped the Fab. I found it really strange and was on the latest staging app.
I deleted the app and re-installed it. That seemed to fix the problem. Did you try that yet for this @lanitochka17 ?

Can you let me know? If not, can you try that and report back? Assigning us both to ensure we do this step.

@michaelhaxhiu Issue is  still reproducible on Build 1.3.66-3 after re-installed
https://github.com/Expensify/App/assets/78819774/e48d2659-8ec7-4552-abf3-1e4fe44b7af7

@lanitochka17 can you help me with logging into the test account to triage on my device? I don't have a way of getting the magic code to sign in. Where can we DM? can you message me on newDot (mhaxhiu@expensify.com)?

I can't reproduce on my personal account when i log into android, but that doesn't invalidate this bug report. Perhaps this needs a High Traffic account?

Depending on response to my comment above, maybe we need to rename this GH?

Chat - With ~specific~ High Traffic account, app crashes on tapping plus button #26398

posting in QA slack channel for insight - https://expensify.slack.com/archives/C9YU7BX5M/p1695303888821449

Issue is not reproducible with new Build 3.72-8
Samsung Galaxy A50/Android11
https://github.com/Expensify/App/assets/78819774/ac55966b-b5c2-48bf-a4df-f94a0cf7873b

coool!


test(blockifier): storage changes after inner revert (#2918)

test(blockifier): storage changes after inner revert (#2918)
chore(cairo_native): add the compilation of native to the flow (#2770)
test(blockifier): inner revert in cairo 1 contract (#2889)
feat(ci): update papyrus docker build workflow for release branches (#2920)
Signed-off-by: Dori Medini<EMAIL_ADDRESS>refactor(papyrus_state_reader): code cleanup + caching with sierra only if native flag is on (#2926)
feat: reinstate rustfmt script, detach from CI
fix(blockifier): move max sierra_gas constants under os_constants (#2908)
test(blockifier): revert storgae changes (#2913)
refactor(blockifier): revert contract test (#2941)
chore(cairo_native): add native to stack trace test (#2633)
chore(blockifier): remove todos (#2947)
chore(blockifier): impl deserialize for versioned_constants (#2838)

chore(blockifier): impl deserialize for versioned_constants

chore(blockifier): remove fee_transfer_gas_cost (#2858)

chore(blockifier, native_blockifier, starknet_batcher): remove visited PCS (#2974)
fix(cairo_native): fix libcairo_native env variable path in config.toml (#2996)
chore(blockifier): add feild channel_size to contract_class_manager_config (#2902)
fix(blockifier): get alias from last state diff (#2946)

This change is

#3010
#3009  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Out of scope.


Make it easy to disable logging/checkpoints

🚀 Feature
Introduce an easy way to disable logging and checkpoints for Trainer instances.
Motivation
Sometimes when training a model you don't want to keep any logs or checkpoints, and there doesn't appear to be an obvious way to do that.
Pitch
The most obvious way to implement this would be to make it so when log_save_interval=0 the logger never writes to the disk.
Alternatives
As I understand it the current way to do this would be to make some sort of dummy class which inherits LightningLoggerBase but doesn't actually do anything. This strikes me as unnecessarily involved.

set checkpoint_callback=False and logger=False.

Okay, awesome. Thanks!


Bug: Markdown links do not render in Alert components

(note to self — this may be because I didn't put enough new lines in! But my node environment is messed up right now)

@clrcrl Doing some cleanup in the issues here. Is this still relevant at all or can we close it?

@clrcrl Doing some cleanup in the issues here. Is this still relevant at all or can we close it?


Add docs for --setupFiles CLI option

Summary
This option was not documented in the CLI docs but I guessed it probably existed.

Test plan
Docs only.

The CLI docs point out that every config option can also be passed through the cli, so this is superfluous. Thank you though!

Oh I see. I didn't see that because of #4250.
However the fact that you need to supply the option twice rather than providing an array of files in some other format is not immediately obvious.
Also, why are some options listed in both places and some not? This is also confusing to me.


PaginatedDataTable: make header an optional parameter

PaginatedDataTable: make header an optional parameter.

Can you talk more about why you would like to do this? It seems to contradict the Material Design specification, and generally we want our built-in widgets to match that specification.

I saw the material design specification for the datatable and I know that what I'm implementing here is in contradiction with that, but in my case the header is useless and uses valuable space on the screen.
In my case I have bottom navigation tab which name explains what is in the table so I don't need the same name in the table header. Also I don't use selection and I don't have additional actions that can be executed on multiple rows (to put them in the header).
As you can see I only need the body and the pagination functionality.
Also I will soon check if somebody corrected the pagination title problems that I specified in the issue #21869. Maybe I will test the suggestions and try to merge that also in another PR.

I have committed the proposed changes. Also added some unit tests for the new features.

@Hixie 21 days have passed from my commit and this hasn't been merged. Is there something more that I need to do or I have to wait for someone to do the merge?

cc @willlarche (our Material Design contact) - what do you think? Should we support this use case?

(@wolfcro1984 sorry about the delays in dealing with PRs, we're quite a bit behind because of getting so many contributions.)

Yes.

@wolfcro1984, are you still planning to work on this PR? I'd like to finish this feature.

This PR has had no reply from the author in some time, it's out of sync with master, and has outstanding feedback.  I'm going to close it for now - I've opened https://github.com/flutter/flutter/issues/38604 to track the request here.

Any updates on this feature request, it's really important to have the header optional. For some apps it means to have a huge blank header space and it's not aesthetically pleasing.

It's working on the master channel...

This feature landed in https://github.com/flutter/flutter/pull/69610


Feature request: Array.trim()

This method could be used to trim all elements in an array (leaving an element untouched if it is not a string).  Obviously, trimLeft and trimRight can be added as well.

You could do the same with Array.toLower() and toUpper()

I'm not quite sure what this means .... Would it trim anything that is a string in the array?

Indeed.  Something like the following:
Array.prototype.trim = function()
{
return this.each(function(e, i, arr)
{
arr[i] = (typeof arr[i] === "string") ? arr[i].trim() : arr[i];
});
}
It would be much easier when splitting strings that contain some kind of list.  For example:
//colors contains user-submitted data, so you do not control spacing
var colors = "brown, yellow,blue,    red,white"
var colorList = colors.split(",").trim()

Sorry, in the colors example, the colors were spaced unevenly.  I will use underscores to illustrate what it looked like:
var colors = "brown,_yellow,blue,_________red,white"

Ah you can already do this! And even better it will allow you to call any method you like:
array.map('trim')

Etc....

Gonna go ahead and close this for now.


[Fern's Documentation] comparison with other tools

What can be improved
Describe comparable tools for generating SDKs and API Docs.
Inspiration: https://docusaurus.io/docs

Good example of a comparison-specific page: https://www.betterment.com/work/betterment-vs-guideline


HTTP server with various methods support

for issue #72

@mihard thank you for your Pull Request, from my side everything looks good. Let's wait for @snagles approval before merging since he owns the specific part of the code.

@alileza @snagles thanks, guys


chore(dx): Improved DX for contributors to help get started

Why?
I made this PR to ease the initial setup of the repo locally, as the code was not configured correctly to get started and was missing a few things. This should help anyone else who's trying to setup locally and contribute :)
Chores

Made the DB config more configurable to allow for localhost
Added info to the README to guide the user on setting up DB locally

Thank you so much for this!
I'd like to make a few changes:

in the .env, I think it's best to have a DB_LOCAL variable set to true or false. This will make it easier to separate the two connection cases of localhost and Atlas/remote. Some people may want to use their own Atlas account during development, so it's not just about production.

I'm thinking of something along the lines of:
const isLocal = process.env.DB_LOCAL;
if (isLocal.toLowerCase() === "true") {
// build and return localhost URI
} else {
// build and return remote URI
}

Instead of DB_CLUSTER, let's go with DB_LOCAL_PORT and DB_REMOTE_URI (with a commented example of what that would look like eg cluster0.58qh2.mongodb.net). This makes it the most flexible, so if someone happens to be using a remote connection string that isn't Atlas, or a localhost port other than 27017, it can still work.

I'd prefer to leave fields blank in the .env.example unless they're defaults that are unlikely to be changed (like the localhost port). When you're scanning the file, that makes it a little more obvious what you need to fill in.

Can you make the local DB instructions with two options, one with Docker and one without? Not everyone can run Docker - I did 100Devs on a 12 year old computer that couldn't even install Docker Desktop. 😄

Please export connectDB and remove the export default from config/db.js

in the .env, I think it's best to have a DB_LOCAL variable set to true or false. This will make it easier to separate the two connection cases of localhost and Atlas/remote. Some people may want to use their own Atlas account during development, so it's not just about production.

That makes sense. After thinking about it a bit. I'm wondering if we should just have a single env variable MONGODB_URI to set the whole string instead? I feel like this would be easier to control and maintain. Let me know what you think and I can update the PR.

You know, you're probably right. Let's go with that, it makes things far
simpler. 👍
On Fri, Dec 29, 2023 at 11:25 PM Colton Ehrman @.***>
wrote:

in the .env, I think it's best to have a DB_LOCAL variable set to
true or false. This will make it easier to separate the two connection
cases of localhost and Atlas/remote. Some people may want to use their own
Atlas account during development, so it's not just about production.

That makes sense. After thinking about it a bit. I'm wondering if we
should just have a single env variable MONGODB_URI to set the whole
string instead? I feel like this would be easier to control and maintain.
Let me know what you think and I can update the PR.
—
Reply to this email directly, view it on GitHub
https://github.com/labrocadabro/communitytaught/pull/30#issuecomment-1872439889,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABMGUD6JVKOCEZSU36PWR53YL6CSXAVCNFSM6AAAAABBCTTIJGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZSGQZTSOBYHE
.
 Let's go with that, it makes things far simpler. 👍
…
On Fri, Dec 29, 2023 at 11:25 PM Colton Ehrman @.> wrote: 1. in the .env, I think it's best to have a DB_LOCAL variable set to true or false. This will make it easier to separate the two connection cases of localhost and Atlas/remote. Some people may want to use their own Atlas account during development, so it's not just about production. That makes sense. After thinking about it a bit. I'm wondering if we should just have a single env variable MONGODB_URI to set the whole string instead? I feel like this would be easier to control and maintain. Let me know what you think and I can update the PR. — Reply to this email directly, view it on GitHub <#30 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABMGUD6JVKOCEZSU36PWR53YL6CSXAVCNFSM6AAAAABBCTTIJGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZSGQZTSOBYHE . You are receiving this because you commented.Message ID: @.>

I have updated :)

@labrocadabro Do you plan on merging this? It's not easy to make changes without these code changes merged. I have to "hack" the DB url otherwise.

I apologize, this is a more complex issue, so I've been punting on it. It also just registered that you are connecting through localhost and therefore this change is urgent for you, sorry!
I'd like to move the db connection documentation from the readme to a separate file (we eventually need proper docs), which you can just link from the readme. This will keep it from getting too long and not everyone needs to work with MongoDB locally.  I've also made changes to the readme recently, which you'll need to take into account.
If you can, instead of having a default URI for MONGODB_URI, just put two comments above it, one as an example of a localhost connection string, and one as an example of a remote (Atlas) connection.
We don't really need the function getDBUri anymore, we can just use process.env.MONGODB_URI directly.
Once these changes are implemented, I can merge this one.

In the interest of having this complete so you (and anyone else using localhost) can get this working, I've made the edits myself. I didn't include the documentation, which is now probably more appropriate as part of #44, which @KhuloodHassan is working on. I've made them aware of the documentation you've written so it can be incorporated.
As that should take care of everything that this PR addresses, I'm closing this one.


[4.x] Mod Hooks: no match for func func_name\\n()

https://github.com/GodotModding/godot-mod-loader/blob/aab3aaa089f75404f07dd790aa193bb430a5582a/addons/mod_loader/internal/mod_hook_preprocessor.gd#L315-L318
No match in match_func_with_whitespace() for something like this:
func this_too\
():
    pass

closed by #492


Uploading the active file occasionally fails silently

Do you read the FAQ?

[x] Yes.

Describe the bug
Uploading the active file will occasionally fail silently, without providing any feedback via the UI or output log.
Although it's possible that the network connection has been interrupted, unfortunately vscode-sftp doesn't provide any insight into what went wrong, or even indicate that there was an error in the first place.
To Reproduce
Steps to reproduce the behavior:

Configure SFTP with the following sftp.json (identifiable data removed):

{
    "name": "example.com",
    "host": "example.com",
    "protocol": "sftp",
    "port": 22,
    "username": "example_username",
    "remotePath": "/var/www/example.com/html/",
    "uploadOnSave": false,
    "privateKeyPath": "/Users/me/id_rsa"
}

Run command 'Upload Active File', either via Command Palette or keyboard shortcut
SFTP text on status bar blinks momentarily, then reverts to SFTP
No error message is presented, and the file is not sent to the server

Expected behavior

Run command 'Upload Active File', either via Command Palette or keyboard shortcut
On a successful upload

SFTP text on status bar should show local ➞ remote example.ts and then done example.ts
New/updated file is on server

On a failed upload

SFTP text on status bar should indicate an error occurred
A notification with error details should appear

Desktop

OS: Mac OSX 10.14.6
VSCode Version: 1.42.1
Extension Version: 1.12.9

Extension Logs from Startup - required
Below are examples of a successful and failed upload attempt (identifiable data removed).
A successful upload attempt:
[03-03 11:16:16] [trace] run command 'Upload Active File'
[03-03 11:16:16] [trace] handle upload file for /folder/example.ts
[03-03 11:16:16] [debug] Outgoing: Writing MKDIR
[03-03 11:16:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:16:16] [debug] Outgoing: Writing LSTAT
[03-03 11:16:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:16:16] [debug] Outgoing: Writing OPEN
[03-03 11:16:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:16:16] [debug] Outgoing: Writing FSTAT
[03-03 11:16:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:16:16] [debug] Outgoing: Writing FSETSTAT
[03-03 11:16:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:16:16] [debug] Outgoing: Writing WRITE
[03-03 11:16:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:16:16] [debug] Outgoing: Writing FSETSTAT
[03-03 11:16:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:16:16] [debug] Outgoing: Writing CLOSE
[03-03 11:16:16] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:16:17] [info] local ➞ remote /folder/example.ts

A failed upload attempt:
[03-03 11:17:59] [trace] run command 'Upload Active File'
[03-03 11:17:59] [trace] handle upload file for /folder/example.ts
[03-03 11:18:00] [debug] Outgoing: Writing MKDIR
[03-03 11:18:00] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:18:00] [debug] Outgoing: Writing LSTAT
[03-03 11:18:00] [debug] Outgoing: Writing CHANNEL_DATA (0)

Nothing follows, no matter how long I wait.
The full output log follows, showing 3 successful uploads and 1 silent failure, using the same file and connection:
[03-03 11:09:32] [debug] register command "Cancel All Transfer" from "./commandCancelAllTransfer.ts"
[03-03 11:09:32] [debug] register command "Config" from "./commandConfig.ts"
[03-03 11:09:32] [debug] register command "List Active Folder" from "./commandListActiveFolder.ts"
[03-03 11:09:32] [debug] register command "Open Ssh Connection" from "./commandOpenSshConnection.ts"
[03-03 11:09:32] [debug] register command "Set Profile" from "./commandSetProfile.ts"
[03-03 11:09:32] [debug] register command "Toggle Output Panel" from "./commandToggleOutputPanel.ts"
[03-03 11:09:32] [debug] register command "Upload Changed Files" from "./commandUploadChangedFiles.ts"
[03-03 11:09:32] [debug] register command "Delete Remote" from "./fileCommandDeleteRemote.ts"
[03-03 11:09:32] [debug] register command "Diff" from "./fileCommandDiff.ts"
[03-03 11:09:32] [debug] register command "Diff Active File" from "./fileCommandDiffActiveFile.ts"
[03-03 11:09:32] [debug] register command "Download" from "./fileCommandDownload.ts"
[03-03 11:09:32] [debug] register command "Download Active File" from "./fileCommandDownloadActiveFile.ts"
[03-03 11:09:32] [debug] register command "Download Active Folder" from "./fileCommandDownloadActiveFolder.ts"
[03-03 11:09:32] [debug] register command "Download File" from "./fileCommandDownloadFile.ts"
[03-03 11:09:32] [debug] register command "Download Folder" from "./fileCommandDownloadFolder.ts"
[03-03 11:09:32] [debug] register command "Download Force" from "./fileCommandDownloadForce.ts"
[03-03 11:09:32] [debug] register command "Download Project" from "./fileCommandDownloadProject.ts"
[03-03 11:09:32] [debug] register command "Edit In Local" from "./fileCommandEditInLocal.ts"
[03-03 11:09:32] [debug] register command "List" from "./fileCommandList.ts"
[03-03 11:09:32] [debug] register command "List All" from "./fileCommandListAll.ts"
[03-03 11:09:32] [debug] register command "Reveal In Explorer" from "./fileCommandRevealInExplorer.ts"
[03-03 11:09:32] [debug] register command "Reveal In Remote Explorer" from "./fileCommandRevealInRemoteExplorer.ts"
[03-03 11:09:32] [debug] register command "Sync Both Directions" from "./fileCommandSyncBothDirections.ts"
[03-03 11:09:32] [debug] register command "Sync Local To Remote" from "./fileCommandSyncLocalToRemote.ts"
[03-03 11:09:32] [debug] register command "Sync Remote To Local" from "./fileCommandSyncRemoteToLocal.ts"
[03-03 11:09:32] [debug] register command "Upload" from "./fileCommandUpload.ts"
[03-03 11:09:32] [debug] register command "Upload Active File" from "./fileCommandUploadActiveFile.ts"
[03-03 11:09:32] [debug] register command "Upload Active Folder" from "./fileCommandUploadActiveFolder.ts"
[03-03 11:09:32] [debug] register command "Upload File" from "./fileCommandUploadFile.ts"
[03-03 11:09:32] [debug] register command "Upload Folder" from "./fileCommandUploadFolder.ts"
[03-03 11:09:32] [debug] register command "Upload Force" from "./fileCommandUploadForce.ts"
[03-03 11:09:32] [debug] register command "Upload Project" from "./fileCommandUploadProject.ts"
[03-03 11:09:32] [info] config at /folder {"remotePath":"/var/www/example.com/html/","uploadOnSave":false,"downloadOnOpen":false,"ignore":[],"concurrency":4,"protocol":"sftp","connectTimeout":10000,"interactiveAuth":false,"secure":false,"remoteTimeOffsetInHours":0,"name":"example.com","host":"example.com","port":22,"username":"******","privateKeyPath":"/Users/me/id_rsa"}
[03-03 11:11:37] [trace] run command 'Upload Active File'
[03-03 11:11:37] [trace] handle upload file for /folder/example.ts
[03-03 11:11:37] [debug] Local ident: 'SSH-2.0-ssh2js0.4.5'
[03-03 11:11:37] [debug] Client: Trying example.com on port 22 ...
[03-03 11:11:37] [debug] Client: Connected
[03-03 11:11:37] [debug] Remote ident: 'SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.8'
[03-03 11:11:37] [debug] Outgoing: Writing KEXINIT
[03-03 11:11:37] [debug] DEBUG: Comparing KEXINITs ...
[03-03 11:11:37] [debug] (local) KEX algorithms: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
[03-03 11:11:37] [debug] (remote) KEX algorithms: curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
[03-03 11:11:37] [debug] KEX algorithm: ecdh-sha2-nistp256
[03-03 11:11:37] [debug] (local) Host key formats: ssh-ed25519,ssh-rsa,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
[03-03 11:11:37] [debug] (remote) Host key formats: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
[03-03 11:11:37] [debug] Host key format: ssh-ed25519
[03-03 11:11:37] [debug] (local) Client->Server ciphers: aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm,aes128-gcm<EMAIL_ADDRESS>[03-03 11:11:37] [debug] (remote) Client->Server ciphers: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm<EMAIL_ADDRESS>[03-03 11:11:37] [debug] Client->Server Cipher: aes128-ctr
[03-03 11:11:37] [debug] (local) Server->Client ciphers: aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm,aes128-gcm<EMAIL_ADDRESS>[03-03 11:11:37] [debug] (remote) Server->Client ciphers: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm<EMAIL_ADDRESS>[03-03 11:11:37] [debug] Server->Client Cipher: aes128-ctr
[03-03 11:11:37] [debug] (local) Client->Server HMAC algorithms: hmac-sha2-256,hmac-sha2-512,hmac-sha1
[03-03 11:11:37] [debug] (remote) Client->Server HMAC algorithms: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
[03-03 11:11:37] [debug] Client->Server HMAC algorithm: hmac-sha2-256
[03-03 11:11:37] [debug] (local) Server->Client HMAC algorithms: hmac-sha2-256,hmac-sha2-512,hmac-sha1
[03-03 11:11:37] [debug] (remote) Server->Client HMAC algorithms: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
[03-03 11:11:37] [debug] Server->Client HMAC algorithm: hmac-sha2-256
[03-03 11:11:37] [debug] (local) Client->Server compression algorithms: none,zlib@openssh.com,zlib
[03-03 11:11:37] [debug] (remote) Client->Server compression algorithms<EMAIL_ADDRESS>[03-03 11:11:37] [debug] Client->Server compression algorithm: none
[03-03 11:11:37] [debug] (local) Server->Client compression algorithms: none,zlib@openssh.com,zlib
[03-03 11:11:37] [debug] (remote) Server->Client compression algorithms<EMAIL_ADDRESS>[03-03 11:11:37] [debug] Server->Client compression algorithm: none
[03-03 11:11:37] [debug] Outgoing: Writing KEXECDH_INIT
[03-03 11:11:37] [debug] DEBUG: Checking host key format
[03-03 11:11:37] [debug] DEBUG: Checking signature format
[03-03 11:11:37] [debug] DEBUG: Verifying host fingerprint
[03-03 11:11:37] [debug] DEBUG: Host accepted by default (no verification)
[03-03 11:11:37] [debug] DEBUG: Verifying signature
[03-03 11:11:37] [debug] Outgoing: Writing NEWKEYS
[03-03 11:11:37] [debug] Outgoing: Writing SERVICE_REQUEST (ssh-userauth)
[03-03 11:11:38] [debug] Outgoing: Writing USERAUTH_REQUEST (none)
[03-03 11:11:38] [debug] Client: none auth failed
[03-03 11:11:38] [debug] Outgoing: Writing USERAUTH_REQUEST (publickey -- check)
[03-03 11:11:38] [debug] Outgoing: Writing USERAUTH_REQUEST (publickey)
[03-03 11:11:38] [debug] Outgoing: Writing CHANNEL_OPEN (0, session)
[03-03 11:11:38] [debug] Outgoing: Writing CHANNEL_REQUEST (0, subsystem: sftp)
[03-03 11:11:38] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:11:38] [debug] Outgoing: Writing MKDIR
[03-03 11:11:38] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:11:38] [debug] Outgoing: Writing LSTAT
[03-03 11:11:38] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:11:38] [debug] Outgoing: Writing OPEN
[03-03 11:11:38] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:11:38] [debug] Outgoing: Writing FSTAT
[03-03 11:11:38] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:11:38] [debug] Outgoing: Writing FSETSTAT
[03-03 11:11:38] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:11:38] [debug] Outgoing: Writing WRITE
[03-03 11:11:38] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:11:38] [debug] Outgoing: Writing FSETSTAT
[03-03 11:11:38] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:11:38] [debug] Outgoing: Writing CLOSE
[03-03 11:11:38] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:11:38] [info] local ➞ remote /folder/example.ts
[03-03 11:11:47] [trace] run command 'Toggle Output Panel'
[03-03 11:12:08] [debug] Outgoing: Writing ping (GLOBAL_REQUEST<EMAIL_ADDRESS>[03-03 11:12:11] [trace] run command 'Upload Active File'
[03-03 11:12:11] [trace] handle upload file for /folder/example.ts
[03-03 11:12:11] [debug] Outgoing: Writing MKDIR
[03-03 11:12:11] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:12:11] [debug] Outgoing: Writing LSTAT
[03-03 11:12:11] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:12:11] [debug] Outgoing: Writing OPEN
[03-03 11:12:11] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:12:11] [debug] Outgoing: Writing FSTAT
[03-03 11:12:11] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:12:11] [debug] Outgoing: Writing FSETSTAT
[03-03 11:12:11] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:12:11] [debug] Outgoing: Writing WRITE
[03-03 11:12:11] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:12:11] [debug] Outgoing: Writing FSETSTAT
[03-03 11:12:11] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:12:11] [debug] Outgoing: Writing CLOSE
[03-03 11:12:11] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:12:12] [info] local ➞ remote /folder/example.ts
[03-03 11:12:38] [debug] Outgoing: Writing ping (GLOBAL_REQUEST<EMAIL_ADDRESS>[03-03 11:13:08] [debug] Outgoing: Writing ping (GLOBAL_REQUEST<EMAIL_ADDRESS>[03-03 11:13:38] [debug] Outgoing: Writing ping (GLOBAL_REQUEST<EMAIL_ADDRESS>[03-03 11:14:08] [debug] Outgoing: Writing ping (GLOBAL_REQUEST<EMAIL_ADDRESS>[03-03 11:14:38] [debug] Outgoing: Writing ping (GLOBAL_REQUEST<EMAIL_ADDRESS>[03-03 11:15:08] [debug] Outgoing: Writing ping (GLOBAL_REQUEST<EMAIL_ADDRESS>[03-03 11:15:38] [debug] Outgoing: Writing ping (GLOBAL_REQUEST<EMAIL_ADDRESS>[03-03 11:16:08] [debug] Outgoing: Writing ping (GLOBAL_REQUEST<EMAIL_ADDRESS>[03-03 11:16:38] [debug] Outgoing: Writing ping (GLOBAL_REQUEST<EMAIL_ADDRESS>[03-03 11:17:08] [debug] Outgoing: Writing ping (GLOBAL_REQUEST<EMAIL_ADDRESS>[03-03 11:17:38] [debug] Outgoing: Writing ping (GLOBAL_REQUEST<EMAIL_ADDRESS>[03-03 11:17:59] [trace] run command 'Upload Active File'
[03-03 11:17:59] [trace] handle upload file for /folder/example.ts
[03-03 11:18:00] [debug] Outgoing: Writing MKDIR
[03-03 11:18:00] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:18:00] [debug] Outgoing: Writing LSTAT
[03-03 11:18:00] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:18:08] [debug] Outgoing: Writing ping (GLOBAL_REQUEST<EMAIL_ADDRESS>[03-03 11:18:09] [trace] run command 'Toggle Output Panel'
[03-03 11:18:38] [debug] Outgoing: Writing ping (GLOBAL_REQUEST<EMAIL_ADDRESS>[03-03 11:19:01] [trace] run command 'Upload Active File'
[03-03 11:19:01] [trace] handle upload file for /folder/example.ts
[03-03 11:19:01] [debug] Outgoing: Writing MKDIR
[03-03 11:19:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:19:01] [debug] Outgoing: Writing LSTAT
[03-03 11:19:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:19:01] [debug] Outgoing: Writing OPEN
[03-03 11:19:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:19:01] [debug] Outgoing: Writing FSTAT
[03-03 11:19:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:19:01] [debug] Outgoing: Writing FSETSTAT
[03-03 11:19:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:19:01] [debug] Outgoing: Writing WRITE
[03-03 11:19:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:19:01] [debug] Outgoing: Writing FSETSTAT
[03-03 11:19:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:19:01] [debug] Outgoing: Writing CLOSE
[03-03 11:19:01] [debug] Outgoing: Writing CHANNEL_DATA (0)
[03-03 11:19:01] [info] local ➞ remote /folder/example.ts

If there is any further information I can provide or tests I can do I'd be happy to do so.

I have the same issue.

Same issue here 🙋


[Event Request] Table 900 "Assembly Header" – New Event “OnBeforeCalcStartDateFromEndDate”

Could we please have a new publisher “OnBeforeCalcStartDateFromEndDate” in Function “CalcStartDateFromEndDate”, Table 900 "Assembly Header"?

    local procedure CalcStartDateFromEndDate(EndingDate: Date): Date
    var
        ReqLine: Record "Requisition Line";
        LeadTimeMgt: Codeunit "Lead-Time Management";
    begin
*** Start new code ***
        OnBeforeCalcStartDateFromEndDate(Rec);
*** Stop new code ***
        exit(
          LeadTimeMgt.PlannedStartingDate(

*** Start new code ***
    [IntegrationEvent(false, false)]
    local procedure OnBeforeCalcStartDateFromEndDate(var AssemblyHeader: Record "Assembly Header")
    begin
    end;
*** Stop new code ***

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Added HACTOBERFEST.md

it's required to add you to your repo
Because you added a label of HACTOBERFEST

There is no need for this and #101


Performance budget

It looks like it is not possible to configure secure environment variables with circle-ci, so this may be the last straw to justify moving back to travis


runtime: split data/bss into 4K chunks for scanning

If we split data/bss into 4K chunks, then it will improve parallelization of scanning
and make it more incremental (something we need for concurrent GC with GOMAXPROCS=1).
I've done it once, but it was reverted during precision changes.
When we have 1-bit/word pointer info, it will be trivial to restore:
1. Calculate number of 4K chunks.
2. Adjust scanning parfor boundary accordingly.
3.

This was fixed by d3df04cd8cf96db47d986cf3dcf3c7b2ba8238ea right? @aclements

Yep! Thanks for scrubbing these old issues.


Couldn't find the documentation on orders

While creating my builder with pack create-builder, I saw this warning:
Warning: builder configuration: empty order definition

However, I couldn't find any documentation that explains this feature. If such documentation exists or is later on created, it would be nice to point at it in the warning.

Hi @dgageot,
We're right in the middle of shipping a large breaking change in pack. The new builder.toml definition is documented here: https://github.com/buildpack/docs/blob/edge/content/docs/using-pack/working-with-builders.md
This will get merged to master later today, when pack 0.4.0 is cut. Sorry for the trouble.

Thank you very much for the link @sclevine, that would have indeed be useful!
Happy that the doc is part of the release!

@dgageot Closing this issue as it seems like the question was answer. Additionally, updated docs have been published.

Awesome!


Bugfix: Resolve libxt.so and libx11.so errors on Debian and Ubuntu (fixes #80)

The current packages on OBS produce the following error on Debian 9/10
and Ubuntu 16.04/20.04:
$ poplog
;;; Warning: can't open shared object libXt.so (Inappropriate ioctl for
;;;     device)
;;; PRINT DOING
;;; DOING    :
;;; Warning: can't open shared object libXt.so (Inappropriate ioctl for
;;;     device)
;;; PRINT DOING
;;; DOING    :
;;; Warning: can't open shared object libX11.so (Inappropriate ioctl for
;;;     device)
;;; PRINT DOING
;;; DOING    :
;;; Warning: can't open shared object libX11.so (Inappropriate ioctl for
;;;     device)
;;; PRINT DOING
;;; DOING    :
Sussex Poplog (Version 16.0001 Mon Aug  2 22:16:17 UTC 2021)
Copyright (c) 1982-1999 University of Sussex. All rights reserved.

Setpop
:

Installing libxt-dev and libx11-dev allows poplog to be invoked without
any errors.

I've put these changes on OBS and now the problem is resolved.


HAI-2753 Show cable report application täydennykset in application page

Description
Added changed and removed information to cable report application page when user is making täydennys to application.
Jira Issue: https://helsinkisolutionoffice.atlassian.net/browse/HAI-2753
Type of change

[ ] Bug fix
[x] New feature
[ ] Other

Instructions for testing
Check that changes made in johtoselvitys täydennys form are shown correctly in application page.
Checklist:

[x] I have written new tests (if applicable)
[x] I have ran the tests myself (if applicable)
[ ] I have made necessary changes to the documentation, link to confluence
or other location:

Other relevant info
Please describe here if there is e.g. some requirements for this change or
other info that the tester/user needs to know.

I did not change "Työn suorittaja" but added "Rakennuttaja" (with same data as in "Työn suorittaja").

I did not change "Työn suorittaja" but added "Rakennuttaja" (with same data as in "Työn suorittaja").

In Summary form page the data is shown correctly:


Can we add Cognitive Complexity Metric ?

Is your feature request related to a problem? Please describe.
When we check with the rubocop it checks for several metrics but not the cognitive complexity metric.
Code climate Doc suggests that code can have max 5 Cognitive complexity but there is no way to check it with rubocop. I think its a good idea to include this metric to check for the cognitive complexity
Describe the solution you'd like
When we run a file with rubocop command, it should notify us about the numbers of cognitive complexity. just like CyclomaticComplexity
Describe alternatives you've considered
I don't find good alternatives.
but we can consider code climate package

Here's Code Climate's doc on Cognitive Complexity, https://docs.codeclimate.com/docs/cognitive-complexity. The breakdown sounds rather similar to RuboCop's Perceived Complexity, https://docs.rubocop.org/rubocop/1.1/cops_metrics.html#metricsperceivedcomplexity. I haven't fully figured out what's different between the two. If there are some differences, we can evaluate whether to add a new metric or update the existing cop.

I think the goals of Perceived Complexity and Cognitive Complexity are the same, so adding a new cop is not needed. But it might be a good idea to study the linked page at Code Climate and use it to improve the Metrics/PerceivedComplexity cop.


new karpenter policy fails

Description
Please provide a clear and concise description of the issue you are encountering, and a reproduction of your configuration (see the examples/* directory for references that you can copy+paste and tailor to match your configs if you are unable to copy your exact configuration). The reproduction MUST be executable by running terraform init && terraform apply without any further changes.
If your request is for a new feature, please use the Feature request template.

[X] ✋ I have searched the open/closed issues and my issue is not listed.

⚠ Note
Before you submit an issue, please perform the following first:

Remove the local .terraform directory (! ONLY if state is stored remotely, which hopefully you are following that best practice!): rm -rf .terraform/
Re-initialize the project root to pull down modules: terraform init
Re-attempt your terraform plan or apply and check if the issue still persists

Versions

Module version [Required]:

Terraform version:

Terraform v1.4.0-alpha20221109
on darwin_arm64
+ provider registry.terraform.io/gavinbunney/kubectl v1.14.0
+ provider registry.terraform.io/hashicorp/aws v4.40.0
+ provider registry.terraform.io/hashicorp/cloudinit v2.2.0
+ provider registry.terraform.io/hashicorp/helm v2.7.1
+ provider registry.terraform.io/hashicorp/http v3.2.1
+ provider registry.terraform.io/hashicorp/kubernetes v2.16.0
+ provider registry.terraform.io/hashicorp/null v3.2.1
+ provider registry.terraform.io/hashicorp/random v3.4.3
+ provider registry.terraform.io/hashicorp/time v0.9.1
+ provider registry.terraform.io/hashicorp/vault v3.11.0

Provider version(s):

Reproduction Code [Required]
module "node_termination_queue" {
  source  = "terraform-aws-modules/eks/aws//modules/karpenter"
  version = "~> 18.31"

  cluster_name              = var.eks_cluster_id
  queue_name                = "${var.eks_cluster_id}-${random_uuid.random_uuid.result}"
  enable_spot_termination   = true
  queue_managed_sse_enabled = true

  create_iam_role         = false
  create_instance_profile = false
  create_irsa             = false
}
output "node_termination_queue" { value = module.node_termination_queue }
output "node_termination_queue_queue_name" { value = module.node_termination_queue.queue_name }

Steps to reproduce the behavior:

Expected behavior

Actual behavior
│ Error: Invalid for_each argument
│
│   on .terraform/modules/base_system.karpenter.node_termination_queue/modules/karpenter/main.tf line 324, in resource "aws_iam_role_policy_attachment" "this":
│  324:   for_each = { for k, v in toset(compact([
│  325:     "${local.iam_role_policy_prefix}/AmazonEKSWorkerNodePolicy",
│  326:     "${local.iam_role_policy_prefix}/AmazonEC2ContainerRegistryReadOnly",
│  327:     var.iam_role_attach_cni_policy ? local.cni_policy : "",
│  328:   ])) : k => v if local.create_iam_role }
│     ├────────────────
│     │ local.cni_policy is a string, known only after apply
│     │ local.create_iam_role is false
│     │ local.iam_role_policy_prefix is a string, known only after apply
│     │ var.iam_role_attach_cni_policy is true
│
│ The "for_each" map includes keys derived from resource attributes that cannot be determined until apply, and so Terraform cannot determine the full set of keys
│ that will identify the instances of this resource.
│
│ When working with unknown values in for_each, it's better to define the map keys statically in your configuration and place apply-time results only in the map
│ values.
│
│ Alternatively, you could use the -target planning option to first apply only the resources that the for_each value depends on, and then apply a second time to
│ fully converge.

Terminal Output Screenshot(s)

Additional context

@bryantbiggs we already have karpenter in place, via blueprints.
all we want to use from this module, for now, is NTH.
That's why that is all I've enabled.
Is this a supported use of this module?

This issue has been resolved in version 18.31.2 :tada:

just tested this on 18.31.2 on a new cluster and on 1st apply it fails.
module "node_termination_queue" {
  source  = "terraform-aws-modules/eks/aws//modules/karpenter"
  version = ">= 18.31.2, ~> 18.31"

  cluster_name              = var.eks_cluster_id
  queue_name                = var.eks_cluster_id # Queue Name needs to match the cluster name do to IAM policies # A queue name is case-sensitive and can have up to 80 characters. You can use alphanumeric characters, hyphens (-), and underscores ( _ ). # Rule name can not be longer than 64, which limits cluster_name to 35 characters.
  enable_spot_termination   = true
  queue_managed_sse_enabled = true

  create_iam_role            = false
  create_instance_profile    = false
  create_irsa                = false
  iam_role_attach_cni_policy = false
}
output "node_termination_queue" { value = module.node_termination_queue }
output "node_termination_queue_queue_name" { value = module.node_termination_queue.queue_name }

╷
│ Error: Invalid for_each argument
│
│   on .terraform/modules/base_system.karpenter.node_termination_queue/modules/karpenter/main.tf line 324, in resource "aws_iam_role_policy_attachment" "this":
│  324:   for_each = { for k, v in toset(compact([
│  325:     "${local.iam_role_policy_prefix}/AmazonEKSWorkerNodePolicy",
│  326:     "${local.iam_role_policy_prefix}/AmazonEC2ContainerRegistryReadOnly",
│  327:     var.iam_role_attach_cni_policy ? local.cni_policy : "",
│  328:   ])) : k => v if local.create_iam_role }
│     ├────────────────
│     │ local.cni_policy is a string, known only after apply
│     │ local.create_iam_role is false
│     │ local.iam_role_policy_prefix is a string, known only after apply
│     │ var.iam_role_attach_cni_policy is false
│
│ The "for_each" map includes keys derived from resource attributes that cannot be determined until apply, and so Terraform cannot determine the full set of keys that will identify the instances of this resource.
│
│ When working with unknown values in for_each, it's better to define the map keys statically in your configuration and place apply-time results only in the map values.
│
│ Alternatively, you could use the -target planning option to first apply only the resources that the for_each value depends on, and then apply a second time to fully converge.

Please reopen this issue @antonbabenko

closing since I am unable to reproduce:
Reproduction
module "node_termination_queue" {
  source  = "terraform-aws-modules/eks/aws//modules/karpenter"
  version = ">= 18.31.2, ~> 18.31"

  cluster_name              = "example"
  queue_name                = "foo"
  enable_spot_termination   = true
  queue_managed_sse_enabled = true

  create_iam_role            = false
  create_instance_profile    = false
  create_irsa                = false
  iam_role_attach_cni_policy = false
}

output "node_termination_queue" {
  value = module.node_termination_queue
}
output "node_termination_queue_queue_name" {
  value = module.node_termination_queue.queue_name
}

Output
Apply complete! Resources: 10 added, 0 changed, 0 destroyed.

Outputs:

node_termination_queue = {
  "event_rules" = {
    "health_event" = {
      "arn" = "arn:aws:events:us-east-1:11111111111:rule/KarpenterHealthEvent-example"
      "description" = "Karpenter interrupt - AWS health event"
      "event_bus_name" = "default"
      "event_pattern" = "{\"detail-type\":[\"AWS Health Event\"],\"source\":[\"aws.health\"]}"
      "id" = "KarpenterHealthEvent-example"
      "is_enabled" = true
      "name" = "KarpenterHealthEvent-example"
      "name_prefix" = ""
      "role_arn" = ""
      "schedule_expression" = ""
      "tags" = tomap(null) /* of string */
      "tags_all" = tomap({})
    }
    "instance_rebalance" = {
      "arn" = "arn:aws:events:us-east-1:11111111111:rule/KarpenterInstanceRebalance-example"
      "description" = "Karpenter interrupt - EC2 instance rebalance recommendation"
      "event_bus_name" = "default"
      "event_pattern" = "{\"detail-type\":[\"EC2 Instance Rebalance Recommendation\"],\"source\":[\"aws.ec2\"]}"
      "id" = "KarpenterInstanceRebalance-example"
      "is_enabled" = true
      "name" = "KarpenterInstanceRebalance-example"
      "name_prefix" = ""
      "role_arn" = ""
      "schedule_expression" = ""
      "tags" = tomap(null) /* of string */
      "tags_all" = tomap({})
    }
    "instance_state_change" = {
      "arn" = "arn:aws:events:us-east-1:11111111111:rule/KarpenterInstanceStateChange-example"
      "description" = "Karpenter interrupt - EC2 instance state-change notification"
      "event_bus_name" = "default"
      "event_pattern" = "{\"detail-type\":[\"EC2 Instance State-change Notification\"],\"source\":[\"aws.ec2\"]}"
      "id" = "KarpenterInstanceStateChange-example"
      "is_enabled" = true
      "name" = "KarpenterInstanceStateChange-example"
      "name_prefix" = ""
      "role_arn" = ""
      "schedule_expression" = ""
      "tags" = tomap(null) /* of string */
      "tags_all" = tomap({})
    }
    "spot_interupt" = {
      "arn" = "arn:aws:events:us-east-1:11111111111:rule/KarpenterSpotInterrupt-example"
      "description" = "Karpenter interrupt - EC2 spot instance interruption warning"
      "event_bus_name" = "default"
      "event_pattern" = "{\"detail-type\":[\"EC2 Spot Instance Interruption Warning\"],\"source\":[\"aws.ec2\"]}"
      "id" = "KarpenterSpotInterrupt-example"
      "is_enabled" = true
      "name" = "KarpenterSpotInterrupt-example"
      "name_prefix" = ""
      "role_arn" = ""
      "schedule_expression" = ""
      "tags" = tomap(null) /* of string */
      "tags_all" = tomap({})
    }
  }
  "instance_profile_arn" = null
  "instance_profile_id" = null
  "instance_profile_name" = null
  "instance_profile_unique" = null
  "irsa_arn" = null
  "irsa_name" = null
  "irsa_unique_id" = null
  "queue_arn" = "arn:aws:sqs:us-east-1:11111111111:foo"
  "queue_name" = "foo"
  "queue_url" = "https://sqs.us-east-1.amazonaws.com/660548353186/foo"
  "role_arn" = tostring(null)
  "role_name" = null
  "role_unique_id" = null
}
node_termination_queue_queue_name = "foo"

I'll retest tomorrow.

just tested on a new cluster, using v19.4
module "node_termination_queue" {
  source  = "terraform-aws-modules/eks/aws//modules/karpenter"
  version = "~> 19.4"

  cluster_name = var.eks_cluster_id
  # queue_name   = var.eks_cluster_id
  # Queue Name needs to match the cluster name do to IAM policies
  # A queue name is case-sensitive and can have up to 80 characters. You can use alphanumeric characters, hyphens (-), and underscores ( _ ).
  # Rule name can not be longer than 64, which limits cluster_name to 35 characters.

  enable_spot_termination   = true
  queue_managed_sse_enabled = true

  create_iam_role            = false
  create_instance_profile    = false
  create_irsa                = false
  iam_role_attach_cni_policy = false
}
output "node_termination_queue" { value = module.node_termination_queue }
output "node_termination_queue_queue_name" { value = module.node_termination_queue.queue_name }

│ Error: Invalid for_each argument
│
│   on .terraform/modules/base_system.karpenter.node_termination_queue/modules/karpenter/main.tf line 327, in resource "aws_iam_role_policy_attachment" "this":
│  327:   for_each = { for k, v in toset(compact([
│  328:     "${local.iam_role_policy_prefix}/AmazonEKSWorkerNodePolicy",
│  329:     "${local.iam_role_policy_prefix}/AmazonEC2ContainerRegistryReadOnly",
│  330:     var.iam_role_attach_cni_policy ? local.cni_policy : "",
│  331:   ])) : k => v if local.create_iam_role }
│     ├────────────────
│     │ local.cni_policy is a string, known only after apply
│     │ local.create_iam_role is false
│     │ local.iam_role_policy_prefix is a string, known only after apply
│     │ var.iam_role_attach_cni_policy is false
│
│ The "for_each" map includes keys derived from resource attributes that cannot be determined until apply, and so Terraform cannot determine the full set of keys that will identify the instances of this resource.
│
│ When working with unknown values in for_each, it's better to define the map keys statically in your configuration and place apply-time results only in the map values.
│
│ Alternatively, you could use the -target planning option to first apply only the resources that the for_each value depends on, and then apply a second time to fully converge.


Trusted Signal is not possession factor

I am missing information that describes that the phone (or network) as trusted signal second factor should not be considered a 'possession' factor. When I connect a mobile phone using bluetooth as "user A" then this device is paired on device level. So when "user B" logs on and the phone of "user A" is still within range, it still acts as 2nd factor unlock.
This means that true MFA for data on the device itself is still not realised.
Another aspect is that with PIN + Trusted Signal you are in a ackward situation when something happens with your phone or when you are in a location where you need to switch off your phone (e.g. airplane).

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

ID: 38f8c2ce-8edb-60d3-ebf9-bdb625bf66dc
Version Independent ID: ee1ed0a8-b05c-c499-6504-40b5b298c53b
Content: Multi-factor Unlock - Microsoft 365 Security
Content Source: windows/security/identity-protection/hello-for-business/feature-multifactor-unlock.md
Product: w10
GitHub Login: @mapalko
Microsoft Alias: mapalko

@RichardvanNuland When we talk about MFA with Multi-factor Unlock it's in the context of Windows Hello, meaning we are talking about protecting identities, not the device where you are logging on to using your identity. So what the article describes is correct, related to protecting identities.
The scenario that you are describing, although a valid one, refers to the device itself, which should (and can) be protected with other authentication methods, that could lock out user B completely.
Regarding your second point, in my opinion it's a matter of user education. There are a lot of corner cases like the one you presented (facilities where you are not allowed to use your phone for example) where you will be unable to leverage your selected Trusted provider, but one should be aware of these and user education can contribute to that.

Dear mister Greco. Unaware of all the effort building for internet and its users you put in it I also did not ask you if I could use the addon de-bugger. I just did. Sorry for that. I know in this situation it much to ask but would you geld me one more time. It is not only you that I have to be grateful for, but all the people that helped me. I don't know who but trying to find. You're help and from all they others will not be unappreciated. So my second wish is if you could help to find these wonderful people as you are. This help will not be unappreciated. Han

Revelopement resusge
Obtener Outlook para iOShttps://aka.ms/o0ukef

De: Onur @.>
Enviado: Thursday, August 18, 2022 8:41:18 AM
Para: MicrosoftDocs/windows-itpro-docs @.>
Cc: Subscribed @.***>
Asunto: Re: [MicrosoftDocs/windows-itpro-docs] Trusted Signal is not possession factor (#9400)
Closed #9400https://github.com/MicrosoftDocs/windows-itpro-docs/issues/9400 as not planned.
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/windows-itpro-docs/issues/9400#event-7215027623, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ASQBG4GHUCMEYKGR2WCVE2DVZZDQ3ANCNFSM42SHCRYQ.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Please don't remove this from the link below

Mijn telefoon voorspelt tekst.
Op dit moment ben ik niet ingelogd bij Bitdefender. Wat is nodig om af te kunnen ronden? Ik heb zo'n behoefte aan duidelijkheid!
Han


Dependency verification: provide dependencyInsight for the dependency automatically

Expected Behavior
If a transitive dependency fails verification, I want to receive pointers on where it originates from in the dependency verification report.
Current Behavior (optional)
I've got this report:

On a side note, it's close to impossible to select the configuration for copying (you need to select exactly from the left, starting before >).
I can investigate it using the dependencyInsight:
./gradlew :kotlin-dsl-integ-tests:dependencyInsight --configuration integTestCompileClasspath --dependency "org.bouncycastle"
...
org.bouncycastle:bcprov-jdk15on:1.50
\--- com.squareup.okhttp3:mockwebserver:3.9.1
     \--- project :kotlin-dsl-integ-tests
          \--- project :kotlin-dsl-integ-tests (*)
...

And can search for com.squareup.okhttp3:mockwebserver in the project.
Context
It should improve UX.
I stumbled across this when was upgrading org.bouncycastle from 1.73 -> 1.77 in Gradle itself.

https://github.com/gradle/gradle/pull/28648

After discussion:

Launching dependencyInsight is complicated, so it should not be run.
We can print a command line for it so it can be easily launched if needed.
We can detect detached configurations and skip them or provide a different recommendation.


Changing the code to be more legible

Pull Request Test Coverage Report for Build 53

108 of 108 (100.0%)  changed or added relevant lines in 11 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 45:
0.0%

Covered Lines:
257

Relevant Lines:
257

💛  - Coveralls


[SPARK-38780][PYTHON][DOCS] PySpark docs build should fail when there is warning.

What changes were proposed in this pull request?
This PR proposes to add option "-W" when running PySpark documentation build via Sphinx.
Why are the changes needed?
To make documentation build failing when the documentation violates the Sphinx warning rules.
Does this PR introduce any user-facing change?
This would make docs a bit more prettier.
How was this patch tested?
The existing build & tests should be passed.

Let me re-trigger the build with rebasing master after https://github.com/apache/spark/pull/36057 is merged.

Merged to master.


Where or how does one get a Microsoft-Catalog-extensionID?

"To enable your Native Application identify and communicate with Microsoft Edge Addons Extension, set allowedorigins to extension://[Microsoft-Catalog-extensionID] in your native messaging host manifest file"

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

ID: 6baf3ba3-2850-707d-fdfc-9b65f88655c7
Version Independent ID: 661b537b-bba6-cb07-9979-cddcc35421e3
Content: Native Messaging - Microsoft Edge Development
Content Source: microsoft-edge/extensions-chromium/developer-guide/native-messaging.md
Product: microsoft-edge-chromium
Technology: extensions
GitHub Login: @MSEdgeTeam
Microsoft Alias: msedgedevrel

You can obtain the extension ID from the store's extension page URL. If the URL to the extension on Microsoft edge addons store is "https://microsoftedge.microsoft.com/addons/detail/pagamfblajcameemhhhklnlcnfp", "pagamfblajcameemhhhklnlcnfp" will be the extension ID

I apologize, but I do not understand the response.
If I'm developing an extension, how do I get an extension ID?  The response seems to how to get the extension ID of an installed extension.
Step 1 of https://github.com/MicrosoftDocs/edge-developer/blob/master/microsoft-edge/extensions-chromium/developer-guide/native-messaging.md shows:
"chrome-extension://knldjmfmopnpolahpmmgbagdohdnhkik/"
Where do I get "knldjmfmopnpolahpmmgbagdohdnhkik"?

While you are developing the native messaging host and extension, you can sideload the extension to test native messaging. Go to edge://extensions page and enable the “Developer mode” toggle button. Then, load your extension by clicking on the “Load unpacked” button. Once, you load the extension, you will be able to see the extension id on the same page. You can use this id to specify in “allowed_origins” when you install the host manifest file. Then you can test your native messaging host and extension.

Any other forum I can get an answer to my query?  Please let me know.

@shripathi-kamath Can you send an email as a follow-up to this issue at<EMAIL_ADDRESS>

@shripathi-kamath Meanwhile we'd request you to refer to this documentation as well https://developer.chrome.com/extensions/manifest/key.
We'd be able to share a sample manifest file over email, request you to reach out at<EMAIL_ADDRESS>

That documentatuon is useless for my question.  Surely you see that?
I have posed the question to the email you sent me.
Please close this question, it is a waste of time.

Closing the issue as requested. Thanks.


POLIO-1627 Chronogram: allow to filter by campaign

Allow to filter chronograms by campaign.
Related JIRA tickets : POLIO-1627
Changes

allow the backend API to filter chronograms by campaign
expose the list of campaigns used in chronograms via an OPTIONS endpoint

rename useOptionChronogramTask.ts to useOptionChronogram.ts in the frontend

allow the frontend to filter chronograms by campaign

How to test

go to http://localhost:8081/dashboard/polio/chronogram/
ensure you have at least 2 chronograms related to two different campaigns
try to filter by campaign

Video
https://github.com/user-attachments/assets/6d5bb950-b643-4abe-b620-ca37481154b8

Question: The spec doesn't mention it but wouldn't it be "safer" to enable multi select on the campaign filter?

It could be a bit of laziness but the spec doesn't mention it 🤣 Anyway it's done here https://github.com/BLSQ/iaso/pull/1584/commits/8d8cacd6457b3e229256c204a004c71b249fd51e

Blocking change: remove conditional rendering of the filters and use loading state for the campaign filter instead

This has been fixed too.


remov error msgs that pop up for no reason

the password msgs that popup on signup or user and admin


lumen,transformer does'n work

bootstrap.php:
$app->register(Dingo\Api\Provider\LumenServiceProvider::class);
$app['Dingo\Api\Transformer\Factory']->setAdapter(function ($app) {
    return new Dingo\Api\Transformer\Adapter\Fractal(new League\Fractal\Manager, 'include', ',');
});

Controller.php:
use Dingo\Api\Routing\Helpers;
use Laravel\Lumen\Routing\Controller as BaseController;

class Controller extends BaseController
{
    use Helpers;
}

CategoryTransformer.php:
class CategoryTransformer extends TransformerAbstract
{
    /**
     * 格式转换
     * @param Category $category
     * @return array
     */
    public function transform(Category $category)
    {
        return [
            'id' => $category->id,
            'name' => $category->name,
            'sort' => $category->sort,
            'is-show' => $category->is_show
        ];
    }
}

CategoryController.php:
public function index()
{
        $category = Category::cacheRememberForever()->get();

        return $this->collection($category, new CategoryTransformer);
}

the result:
[
    {
        "id": 1,
        "name": "婚恋",
        "sort": 2,
        "is_show": true,
        "created_at": "2015-07-04 18:47:36",
        "updated_at": "2015-07-04 18:47:36"
    }
]

does't work

This all looks fine to me but I'll test it out later when I get the chance.
On Mon, 6 Jul 2015 15:13 Van Tian<EMAIL_ADDRESS>wrote:

bootstrap.php:
$app->register(Dingo\Api\Provider\LumenServiceProvider::class);
$app['Dingo\Api\Transformer\Factory']->setAdapter(function ($app) {
return new Dingo\Api\Transformer\Adapter\Fractal(new
League\Fractal\Manager, 'include', ',');
});
Controller.php:
use Dingo\Api\Routing\Helpers;
use Laravel\Lumen\Routing\Controller as BaseController;
class Controller extends BaseController
{
use Helpers;
}
CategoryTransformer.php:
class CategoryTransformer extends TransformerAbstract
{
/**

格式转换

@param https://github.com/param Category $category

@return https://github.com/return array
*/
public function transform(Category $category)
{
return [
'id' => $category->id,
'name' => $category->name,
'sort' => $category->sort,
'is-show' => $category->is_show
];
}
}
CategoryController.php:
public function index()
{
$category = Category::cacheRememberForever()->get();
return $this->collection($category, new CategoryTransformer);

}
the result:
[
{
"id": 1,
"name": "婚恋",
"sort": 2,
"is_show": true,
"created_at": "2015-07-04 18:47:36",
"updated_at": "2015-07-04 18:47:36"
}
]
does't work
—
Reply to this email directly or view it on GitHub
https://github.com/dingo/api/issues/507.

@jasonlewis crying :+1:

@vanntian can you neaten up the code with some markdown?

@bweston92 changed

I can't reproduce this. Assuming everything is autoloaded correctly it should be working fine. The code that you've pasted looks good.

@jasonlewis have any simple project about lumen?

This is the code I tested with in my routes.php file. It's not using Eloquent but the data source shouldn't matter.
class User
{
    public $name;

    public function __construct($name)
    {
        $this->name = $name;
    }
}

class UserTransformer extends League\Fractal\TransformerAbstract
{
    public function transform(User $user)
    {
        return ['id-foo' => $user->name];
    }
}

class ApiController extends Illuminate\Routing\Controller
{
    use Dingo\Api\Routing\Helpers;

    public function show($name)
    {
        return $this->collection(new Illuminate\Support\Collection([new User($name)]), new UserTransformer);
    }
}

$api = $app['Dingo\Api\Routing\Router'];

$api->version('v1', function ($api) {
    $api->resource('users', 'ApiController', ['only' => ['show']]);
});

I get the correct response.


Bug: TypeError: dest.on is not a function when including this pipeline in another gulp plugin

I got the following error when trying to include this pipeline in another gulp plugin:
     TypeError: dest.on is not a function
      at DestroyableTransform.Readable.pipe (node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_readable.js:516:8)
      at Context.<anonymous> (specs/scripts.spec.js:22:8)

that happens running the following test:
    gulp.src(mockSrc)
      .pipe(distArchivePipeline.distributeScripts())
      .pipe(gulp.dest(mockDest));

where distArchivePipeline.distributeScripts() is implemented in this way:
  distributeScripts() {
    return lazypipe()
      .pipe(function() {
        let minifyOptions = {
          addSourceMaps: false
        };

        return jsMinifyPipeline(minifyOptions).minifyJS();
      });
  },

Any ideas?

@franciov
Although unituitive, I wonder if the issue is related to the current usage expectations of this pipeline
https://github.com/kenzanlabs/pipeline-minify-js#usage
var minifyPipeline = require('pipeline-minify-js')();  //note the need to call the pipeline as a function immediately

This is something we are looking to put on the roadmap to change
https://github.com/kenzanlabs/keystone/issues/7
And something we are doing with https://github.com/kenzanlabs/pipeline-validate-js/ as we refactor it up a little bit

@obuckley-kenzan Yes, the problem was related to this, thanks!

Paraphrased from an explanation by @paul-barry-kenzan
This was an issue when using this pipeline with lazypipe.
lazyPipe actually returns a function that needs to be invoked. Because of this, the only way I can get the pipeline to work properly is to call the returned function, like so:
return gulp.src(uiJsFiles)
    .pipe(distArchivePipeline.distributeScripts()()) // notice the double `()()`
    .pipe(gulp.dest('./dist/'));

We saw this same issue in the validate-js pipeline, and @cxoltero was able to resolve by first storing the lazyPipe stream, and then returning the invoked stream, like so:
distributeScripts() {
    let stream = lazypipe()
      .pipe(function() {
        let minifyOptions = {
          addSourceMaps: false
        };

        return jsMinifyPipeline(minifyOptions).minifyJS();
      });

  return stream();

  }

Here's his example:
https://github.com/cxoltero/pipeline-validate-js/blob/spec316/src/index.js#L91

this won't be an issue when this enhancement request goes through
https://github.com/kenzanlabs/keystone/issues/7


D3D12MA_DEBUG_GLOBAL_MUTEX causes double lock on Release

Defining D3D12MA_DEBUG_GLOBAL_MUTEX causes double locking of static debug std::mutex when releasing resources.
See  IUnknownImpl::Release():
ULONG STDMETHODCALLTYPE IUnknownImpl::Release()
{
    D3D12MA_DEBUG_GLOBAL_MUTEX_LOCK

    const uint32_t newRefCount = --m_RefCount;
    if(newRefCount == 0)
        ReleaseThis();
    return newRefCount;
}

When m_RefCount == 0, ReleaseThis(), tries to acquire debug lock again:
void Allocator::ReleaseThis()
{
    D3D12MA_DEBUG_GLOBAL_MUTEX_LOCK
    ...
}

Resulting in std::system_exception being thrown.

Thank you for finding this. It has been fixed.


Dev

Lymui
Totoro is going to review your PR

What does this PR accomplish

[ ] Add a new feature supporting a new color type
[ ] Add a new binding supporting for a type color
[ ] Provide a fix to the current project
[ ] Add new test

We will check that

[ ] Make sure to have unit test
[ ] Make sure that any test is passing
[ ] Make sure to respect that when converting a type T to return a type T Rgb

🐷 Thanks for contributing ! 🐷
Note: Coverage will be lower as we don't test case doesn't cover every internal malloc failure

Pull Request Test Coverage Report for Build 346

659 of 703 (93.74%)  changed or added relevant lines in 33 files are covered.
26 unchanged lines in 15 files lost coverage.
Overall coverage decreased (-3.03%) to 95.864%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lymui/argb.c
12
13
92.31%

lymui/helper.c
19
20
95.0%

lymui/tests/lch_lab_test.c
14
15
93.33%

lymui/cymk.c
30
32
93.75%

lymui/hsl.c
43
46
93.48%

lymui/rgb.c
12
15
80.0%

lymui/ycbcr.c
22
25
88.0%

lymui/hex.c
11
15
73.33%

lymui/lch.c
20
24
83.33%

lymui/xyz.c
35
39
89.74%

Files with Coverage Reduction
New Missed Lines
%

lymui/argb.c
1
90.48%

lymui/rgb.c
1
82.61%

lymui/ycbcr.c
1
91.67%

lymui/srgb.c
1
94.74%

lymui/hex.c
1
90.0%

lymui/luv.c
2
89.86%

lymui/xyy.c
2
94.59%

lymui/lch.c
2
81.58%

lymui/hsl.c
2
92.96%

lymui/yuv.c
2
93.55%

Totals

Change from base Build 312:
-3.03%

Covered Lines:
1831

Relevant Lines:
1910

💛  - Coveralls


"socket" parameter for UNIX domain socket ignored?

System Information
Linux distribution
Red Hat Enterprise Linux release 8.8 (Ootpa)
Terraform version
# terraform -v
Terraform v1.5.7
on linux_amd64
+ provider registry.terraform.io/dmacvicar/libvirt v0.7.1

Provider and libvirt versions
# .terraform/providers/registry.terraform.io/dmacvicar/libvirt/0.7.1/linux_amd64/terraform-provider-libvirt_v0.7.1 -version
.terraform/providers/registry.terraform.io/dmacvicar/libvirt/0.7.1/linux_amd64/terraform-provider-libvirt_v0.7.1 0.7.1

Checklist

[ ] Is your issue/contribution related with enabling some setting/option exposed by libvirt that the plugin does not yet support, or requires changing/extending the provider terraform schema?

[ ] Make sure you explain why this option is important to you, why it should be important to everyone. Describe your use-case with detail and provide examples where possible.
[ ] If it is a very special case, consider using the XSLT support in the provider to tweak the definition instead of opening an issue
[ ] Maintainers do not have expertise in every libvirt setting, so please, describe the feature and how it is used. Link to the appropriate documentation

[X] Is it a bug or something that does not work as expected? Please make sure you fill the version information below:

Description of Issue/Question
Setup
terraform {
  required_providers {
    libvirt = {
      source = "dmacvicar/libvirt"
      version = "0.7.1"
    }
  }
}

provider "libvirt" {
  uri = "unix:///?socket=/var/run/libvirt/libvirt-sock"
}

resource "libvirt_domain" "default" {
  name = "test"
}

Steps to Reproduce Issue
It seems as if the socket parameter is ignored. It always tries to connect to the default file: defaultUnixSock = "/var/run/libvirt/libvirt-sock".
The directory /var/run/libvirt contains these files:
# ls -la /var/run/libvirt
total 0
drwxr-xr-x. 12 root root  360 Sep 12 06:37 .
drwxr-xr-x. 44 root root 1340 Sep 12 06:37 ..
drwx------.  2 root root   60 Apr 11 06:44 common
drwxr-xr-x.  2 root root   40 Apr  3 13:33 hostdevmgr
drwx------.  2 root root   60 Sep 12 06:37 interface
srw-------.  1 root root    0 Sep 12 06:37 libvirt-admin-sock
srw-rw-rw-.  1 root root    0 Sep 12 06:37 libvirt-sock
srw-rw-rw-.  1 root root    0 Sep 12 06:37 libvirt-sock-ro
drwxr-xr-x.  2 root root  100 Sep 12 06:37 network
drwx------.  2 root root   60 Sep 12 06:37 nodedev
drwx------.  2 root root   60 Sep 12 06:37 nwfilter
drwx------.  2 root root   40 Apr  3 13:33 nwfilter-binding
drwxr-xr-x.  4 root root  240 Sep 12 06:37 qemu
drwx------.  2 root root   60 Sep 12 06:37 secrets
drwxr-xr-x.  2 root root  100 Sep 12 06:37 storage
srw-------.  1 root root    0 Apr  3 13:33 virtlockd-sock
srw-------.  1 root root    0 Apr  3 13:33 virtlogd-admin-sock
srw-------.  1 root root    0 Apr  3 13:33 virtlogd-sock

(Include debug logs if possible and relevant).
tf-debug-trace.log

Additional information:
Do you have SELinux or Apparmor/Firewall enabled? Some special configuration?
Have you tried to reproduce the issue without them enabled?
n/a

I was having a similar issue and looked into this. The default socket URI is hard-coded. Initially, I started working on a patch by adding a new field to schema.Provider in libvirt/provider.go and then modifying libvirt/uri/unix.go to pick up that field if defined. That should work as a viable way to allow the default socket URI to be customized.
But then I dug into how libvirt works a bit more. The reason I had a need to change it is that I'm running libvirtd with qemu in "session" mode so that I don't have to run as root. But after carefully reading https://libvirt.org/daemons.html I switched my config to running qemuvirtd in (modular) instead of libvirtd (monolith) in session mode. Once I enabled virtproxyd as well, it "proxied" the UNIX sock connection from the (old) default /var/run/libvirt/libvirt-sock location to my actual socket location. Everything worked at that point without having to make any modifications to the provider.

Since libvirt introduced modular deamons, I think this is valid feature request to be able to specify socket to connect to.


Add Xcode project for building framework

Replace this paragraph with a description of your changes and rationale. Provide links to an existing issue or external references/discussions, if appropriate.
Checklist

[x] I've added at least one test that validates that my change is working, if appropriate
[x] I've followed the code style of the rest of the project
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary

#1
Untitled.json


[23.1.b_2-amd64] UNBOUND: module python failed to setup modules

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

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

Describe the bug
Unbound fails with Fatal Error after update:
Critical | unbound | [69215:0] fatal error: failed to setup modules
To Reproduce
Steps to reproduce the behavior:

Start Firewall
Unbound fails

Expected behavior
Unbound should not fail.
Screenshots

Relevant log files
Critical | unbound | [69215:0] fatal error: failed to setup modules
Error | unbound | [69215:0] error: module init for module python failed
KeyError: 'dst_addr'
self.dst_addr = config['dst_addr']
File "dnsbl_module.py", line 26, in load_dnsbl
self.load_dnsbl()
File "dnsbl_module.py", line 52, in update_dnsbl
self.update_dnsbl()
File "dnsbl_module.py", line 15, in __init__
ctx = ModuleContext(env)
File "dnsbl_module.py", line 84, in init_standard

Additional context
Previous working version: unbound upgraded: 1.16.3 -> 1.17.0
Steps tried to fix issue

Tried disabling blocklist completely
Tried reinstalling package
Tried reverting to the previous version:

root@OPN:~ # opnsense-revert -r 1.16.3 unbound
Fetching unbound.pkg: ..[fetch: https://pkg.opnsense.org/FreeBSD:13:amd64/22.7/MINT/1.16.3/LibreSSL/Latest/unbound.pkg.sig: Not Found] failed

Environment
Version: 23.1.b_2-amd64
Flavour: LibreSSL
***GOT REQUEST TO AUDIT HEALTH***
Currently running OPNsense 23.1.b_2 (amd64/LibreSSL) at Wed Nov  9 07:25:23 UTC 2022
>>> Check installed kernel version
Version 22.7.7 is correct.
>>> Check for missing or altered kernel files
No problems detected.
>>> Check installed base version
Version 22.7.7 is correct.
>>> Check for missing or altered base files
No problems detected.
>>> Check installed repositories
OPNsense
>>> Check installed plugins
No plugins found.
>>> Check locked packages
No locks found.
>>> Check for missing package dependencies
Checking all packages: .......... done
>>> Check for missing or altered package files
Checking all packages: .......... done
>>> Check for core packages consistency
Core package "opnsense-devel" has 63 dependencies to check.
Checking packages: ................................................................. done
***DONE***

***GOT REQUEST TO CHECK FOR UPDATES***
Currently running OPNsense 23.1.b_2 (amd64/LibreSSL) at Wed Nov  9 07:39:15 UTC 2022
Fetching changelog information, please wait... done
Updating OPNsense repository catalogue...
Fetching meta.conf: . done
Fetching packagesite.pkg: .......... done
Processing entries: .......... done
OPNsense repository update completed. 782 packages processed.
All repositories are up to date.
Checking integrity... done (0 conflicting)
Your packages are up to date.
Checking for upgrades (0 candidates): . done
Processing candidates (0 candidates): . done
Checking integrity... done (0 conflicting)
Your packages are up to date.
***DONE***

@Dustie can you try to run the following on a console and start again?
configctl unbound dnsbl

That was quick @AdSchellevis and that fixed it!

BTW, -r takes the OPNsense release you want a package to revert to, so in this case 22.7.6.

lets keep this open, @swhite2 might want to safe-guard the startup a bit.

@Dustie Thanks for the report. You can use opnsense-patch fae02022c to test.


Have types exports on generated file?

Feature description
The generated file only contains the schemas. I would have no problemas for my small files to have the export type MyType = z.infer<typeof myTypeSchema>. Looks like I have to add them manually to the generated file.
Input
export type MyType = z.number();

Output
export const myTypeSchema = z.number();
export type MyType = z.infer<typeof myTypeSchema>;

Hello!
Just for challenge a bit the feature request, what is your usecase? Normally you should already have the original types around (since this is the source for ts-to-zod) and those types will always be better since they have the documentation for example.

You will loose this usefull piece of information if you retrieve the type with z.infer

Hi!
Typescript is smart!

Even using infer, it keeps the JSDoc comments from the schema!

Also, I wouldn't trust having a separated schema from the type.
If I change the type but forget to change the schema, there would be bugs.

Good to know that typescript can follow! Quite amazing indeed!
Regarding the trust issue, my solution is usually to check this on CI, as example in this repository:

So if something is not in sync, typescript will throw (you can also check if the git diff is empty)
Is this could solve your issue?

I came across this tool while looking for something to help us migrate towards Zod with some of our types. We don't really want to keep them in sync, we're looking to move toward Zod as the single source of truth. I understand that this was not the original usecase but this would be really helpful for people who want to do one-time migrations.


fix !important

fixed the !important issue with specificity.
The issue was in Introduction Page
At line 168,

Why I was using !important?

As you can see (in the gif), the <a> color was changing in red, I wanted to keep its color the same for all the states. But I am also using class link on it (at line 168, in above img), which has some different colors (some other, which I did not want). But link class was defined below in the source order, in comparison to intro-github class, that's why I used !important.
But my mentor, Vikram Santhalia, told us we can replace !important with more specificity. It didn't come to my mind before while implementing this.
This was something new.
Please review this PR, and give your feedback.

Thank you guys for reviewing this.


MM-35044 Ability to publish retrospective

Summary

Adds the ability to publish the retrospective, along with some minor improvements to saving.
Moves to using router for incident backstage tabs to support linking directly to retrospective.

Where we are

Placeholder Elements
Basic saving of retrospective
Ability to publish retrospective <-- We are here
Reminder to fill out retrospective
Templating retrospective report
Configurable persistant reminders
Polish

Screenshots
In a state where the retrospective has already been published (button says published if not already published):

Pressing edit gets you markdown:

Published retrospective, link leads to retrospective in backstage.

Ticket Link
https://mattermost.atlassian.net/browse/MM-35044
Checklist
[x] Telemetry updated
[x] Gated by experimental feature flag
[x] Unit tests updated

@justinegeffen Specifically looking for feedback on the text at the top of the retrospective report published in the channel. Thanks!


Changed to allow the skeleton url to be variable, diamond by default

Closes #73
The skeleton used now defaults to the url DEFAULT_SKELETON_URL = "https://github.com/DiamondLightSource/python3-pip-skeleton" , though a different url can be passed in with the --skeleton-git-url argument.
updating-tools.rst has been removed from the IGNORE_FILES, and so links containing "DiamondLightSource"  will be changed to  have whatever org was passed in by --org..

Tested successfully with
python src/python3_pip_skeleton/__main__.py existing  ../event-model  --skeleton-org bluesky --org bluesky


Fix cursed commit causing processing errors

This should resolve issues related to object 8316 being missing.
At some point in 2021 we removed this object from the Data repo before it was removed from a transition reference, Twotech doesn't like that.
I tested this over and over but there were times it was inconsistent.
If issue persists an additional option would be to patch Git.js line 33 with something like:
  fileContent(sha, path) {
    if (path == "objects/8316.txt") {
      path = "objects/8317.txt";
    }
    return this.run("show", `${sha}:${path}`);
  }

This was reverted https://github.com/twohoursonelife/twotech/commit/c7efcace75c482defdee32f4f2bbc988ac61d9ed
and alternate fix applied https://github.com/twohoursonelife/twotech/commit/c7efcace75c482defdee32f4f2bbc988ac61d9ed


Cannot create new page on 2.1.0-beta.1

What behavior are you expecting?
On 2.1.0-beta.1, when created a new page using ionic g page <namepage>, a ENOENT appears.
I uninstalled and installed the stable ionic package and this error doesn't occur. I uninstalled and installed ionic@beta again and it happened again. I created a new project and the issue persists.
Error: ENOENT: no such file or directory, scandir '/home/athos/Git/if55a/Lista3/agenda/node_modules/ionic-angular/templates/page'
    at Error (native)
    at Object.fs.readdirSync (fs.js:808:18)
    at getTemplatesInDir (/usr/local/lib/node_modules/ionic/node_modules/@ionic/app-generators/index.js:23931:65)
    at Generator.renderAndWriteTemplates (/usr/local/lib/node_modules/ionic/node_modules/@ionic/app-generators/index.js:25309:116)
    at /usr/local/lib/node_modules/ionic/node_modules/@ionic/app-generators/index.js:25304:26

ENOENT: no such file or directory, scandir '/home/athos/Git/if55a/Lista3/agenda/node_modules/ionic-angular/templates/page' (CLI v2.1.0-beta.1)

Run ionic info from terminal/cmd prompt: (paste output below)
Cordova CLI: 6.3.1
Ionic Framework Version: 2.0.0-beta.11
Ionic CLI Version: 2.1.0-beta.1
Ionic App Lib Version: 2.1.0-beta.0
OS: Distributor ID:	Ubuntu Description:	Ubuntu 16.04.1 LTS
Node Version: v4.2.6

I am getting the same error in Windows 10.

Moved issue to ionic-cli: https://github.com/driftyco/ionic-cli/issues/1381
Please continue the conversation there!
Thanks


Add plotting submodule

Rename plot.py to plot/__init__.py so it works the same way
Create a logical place to add plotting modules (TBA)

@ipelupessy a very minimal change but I think it would be a good one - with this change we could add plotting scripts in a more logical location than 'ext'.

yea, though better still if plot.py -> plot/_plot.py (or plotbase or something) and init.py just a from _plot import *
... in any case, these plotting routines are somewhat deprecated...

yea, though better still if plot.py -> plot/_plot.py (or plotbase or something) and init.py just a from _plot import *
... in any case, these plotting routines are somewhat deprecated...

sure, more work to be done and init should be cleaner by importing from elsewhere (_plot sounds ok). But for backward compatibility, this completely works and allows for incremental updates.
And yes, I guess plot.py is somewhat outdated, but still I can see a use. After all, it's best to avoid requiring the units to be specified multiple times (for plot data and again for axes) if we can...