Storybook 4 + create-react-app 2 + Typescript: loader issue

Describe the bug
I'm trying to setup a storybook using the guidelines here: https://storybook.js.org/configurations/typescript-config, but this doesn't seem to be accurate (anymore).
To Reproduce
npx create-react-app my-app
yarn add -D typescript @types/node @types/react @types/react-dom @types/jest

Rename react files from .js to .ts/.tsx
npx -p @storybook/cli sb init
yarn add -D awesome-typescript-loader
yarn add -D @types/storybook__react
yarn add -D @storybook/addon-info react-docgen-typescript-webpack-plugin

Results in following depedencies:
{
  "dependencies": {
    "react": "^16.6.0",
    "react-dom": "^16.6.0",
    "react-scripts": "2.1.1"
  },
  "devDependencies": {
    "@babel/core": "^7.1.2",
    "@storybook/addon-actions": "^4.0.4",
    "@storybook/addon-info": "^4.0.4",
    "@storybook/addon-links": "^4.0.4",
    "@storybook/addons": "^4.0.4",
    "@storybook/react": "^4.0.4",
    "@types/jest": "^23.3.9",
    "@types/node": "^10.12.2",
    "@types/react": "^16.4.18",
    "@types/react-dom": "^16.0.9",
    "@types/storybook__react": "^3.0.9",
    "awesome-typescript-loader": "^5.2.1",
    "babel-loader": "^8.0.4",
    "react-docgen-typescript-webpack-plugin": "^1.1.0",
    "typescript": "^3.1.6"
  }
}

Copy tsconfig.json + .storybook/webpack.config.js from https://storybook.js.org/configurations/typescript-config/
Add simple button component:
// src/components/button/Button.tsx

import * as React from "react";

interface ButtonProps {
    label: string
}
export const Button: React.SFC<ButtonProps> = (props) => {
    return <button>{props.label}</button>;
}

Add Storybook config
// .storybook/config.ts

import { configure } from '@storybook/react';

const req = require.context('../src/stories', true, /\.tsx$/);

configure(() => {
  req.keys().forEach(filename => req(filename));
}, module);

Add story
// src/stories/index.tsx

import React from 'react';

import { storiesOf } from '@storybook/react';
import { Button } from '../components/button/Button';

const stories = storiesOf('Button', module);

stories.add(
    'test',
    () => <Button>Test</Button>,
);

Expected behavior
yarn storybook should mount a storybook with one story.
Screenshots

Code snippets
I also had to remove "isolatedModules": true from tsconfig.json before I could get the storybook running.
System:

OS: MacOS
Browser: Chrome
Framework: react
Version: 4.0.4

Additional context
Storybook 4 + create-react-app 2.1 without typescript enabled works like a charm :)

CRA 2.0 typescript config wants "jsx": "preserve" so that it can use babel to transform the JSX. But storybook wants "jsx": "react".

Found the solution here: https://vincenttunru.com/migrate-create-react-app-typescript-to-create-react-app: a custom tsconfig.json for Storybook.
// .storybook/tsconfig.json

{
    "extends": "../tsconfig",
    "compilerOptions": {
      "jsx": "react",
      "isolatedModules": false,
      "noEmit": false
  }
}

// .storybook/webpack.config.js

const path = require('path');
const TSDocgenPlugin = require('react-docgen-typescript-webpack-plugin');
module.exports = (baseConfig, env, config) => {
  config.module.rules.push({
    test: /\.(ts|tsx)$/,
    loader: require.resolve('awesome-typescript-loader'),
    options: { configFileName: path.resolve(__dirname, './tsconfig.json') } // << added
  });
  config.plugins.push(new TSDocgenPlugin()); // optional
  config.resolve.extensions.push('.ts', '.tsx');
  return config;
};

This is incorrect, please follow my guide #4763  you shouldn't use awesome-typescript-loader you should use babel-loader which is inside cra2

@mohamedmansour this works like a charm indeed:
  config.module.rules.push({
    test: /\.(ts|tsx)$/,
    loader: require.resolve('babel-loader'),
    options: {
        presets: [['react-app', { flow: false, typescript: true }]]
      }
  });

no need for awesome-typescript-loader anymore.

For CRA using react-scripts-ts(Microsoft/TypeScript-React-Starter), I had to install:
yarn add -D @babel/preset-typescript
And use the following .storybook/webpack.config.js
module.exports = (baseConfig, env, config) => {
    config.module.rules.push({
        test: /\.(ts|tsx)$/,
        loader: require.resolve('babel-loader'),
        options: {
            presets: ['@babel/preset-react', '@babel/preset-typescript']
        }
    });
    config.resolve.extensions.push('.ts', '.tsx');
    return config;
};

@ibrambe

@mohamedmansour this works like a charm indeed:
  config.module.rules.push({
    test: /\.(ts|tsx)$/,
    loader: require.resolve('babel-loader'),
    options: {
        presets: [['react-app', { flow: false, typescript: true }]]
      }
  });

no need for awesome-typescript-loader anymore.

It semi-works - It indeed compiles TypeScript but it also doesn't do any type validation, e.g:
const a: number = "d";
In a story works without any error.

you can use fork-ts-checker-webpack-plugin for this.

@vitalybe @igor-dv
Upgraded to storybook 4.0.6 and using this is my webpack.config.js:
// .storybook/webpack.config.js

const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin-alt');

module.exports = (baseConfig, env, config) => {
  config.module.rules.push({
    test: /\.(ts|tsx)$/,
    loader: require.resolve('babel-loader'),
    options: {
        presets: [require.resolve('babel-preset-react-app')]
      }
  });

  config.resolve.extensions.push('.ts', '.tsx');

  config.plugins.push(
    new ForkTsCheckerWebpackPlugin({
        async: false,
        checkSyntacticErrors: true,
        formatter: require('react-dev-utils/typescriptFormatter'),
      }),
  );

  return config;
};

This works and has live type validation, it's based on the config in react-scripts, so all dependencies are already loaded if you use CRA 2.

@ibrambe: why are you using fork-ts-checker-webpack-plugin-alt instead of fork-ts-checker-webpack-plugin?

@ibrambe: why are you using fork-ts-checker-webpack-plugin-alt instead of fork-ts-checker-webpack-plugin?

I have no clue, wasn't on purpose :)

@ibrambe how to configure babel-loader with custom tsconfig.json path? I can't find it.

After following the example here
Cannot find module 'react-scripts\config\webpack.config.dev'
using packages
{
...,
"@storybook/react": "^4.1.3",
"@storybook/addon-actions": "^4.1.3",
"react-docgen-typescript-webpack-plugin": "^1.1.0",
"react-scripts": "2.1.2",
...
}

Has anyone encountered this issue also?

Has anyone encountered this issue also?

@harry-sm  Same here, using 4.0.x instead of 4.1.x worked

@osi-oswald
4.0.x works thanks.

In webpack.config.js, I was getting
TypeScript error: Cannot compile namespaces when the '--isolatedModules' flag is provided.  TS1208
Worked around this by adding
export function dummy() {}
to the top of that file. It would make more sense to tell CRA to ignore .stories/,  but I don't know how.

@mohamedmansour this works like a charm indeed:
  config.module.rules.push({
    test: /\.(ts|tsx)$/,
    loader: require.resolve('babel-loader'),
    options: {
        presets: [['react-app', { flow: false, typescript: true }]]
      }
  });

no need for awesome-typescript-loader anymore.

Hi, @mohamedmansour @ibrambe. This worked for me! Can you please explain this? Didn't quite get my head around this :/

This works:
module.exports = ({config}) => {
  config.module.rules.push({
    test: /\.(ts|tsx)$/,
    loader: require.resolve('react-scripts/node_modules/babel-loader'),
    options: {
        presets: [require.resolve('babel-preset-react-app')]
      }
  });

  config.resolve.extensions.push('.ts', '.tsx');


The IServiceCollection.Replace extension methods need to support ReplaceXxx<T>() and ReplaceXxx<T, T>() to match the Add methods

Published v1.0.11.


fix: relax instrumented store checks for v3

I will work on a reproducer on the zarr side that figures out why there is more traffic than expected.

FWIW, I've just adjusted these everywhere else for zarr_v3 too, without looking at them. I wasn't sure how much weight to put on these being higher.


[reddit] Add support for reddit's own video host

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.08.06. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2017.08.06

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[x] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.reddit.com/r/videos/comments/6rrwyj/that_small_heart_attack/']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.08.06
[debug] Python version 3.6.2 - Linux-4.12.4-1-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 3.3.3, ffprobe 3.3.3, rtmpdump 2.4
[debug] Proxy map: {}
[generic] that_small_heart_attack: Requesting header
WARNING: Falling back on generic information extractor.
[generic] that_small_heart_attack: Downloading webpage
[generic] that_small_heart_attack: Extracting information
ERROR: Unsupported URL: https://www.reddit.com/r/videos/comments/6rrwyj/that_small_heart_attack/
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 776, in extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/common.py", line 433, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib/python3.6/site-packages/youtube_dl/extractor/generic.py", line 2944, in _real_extract
    raise UnsupportedError(url)
youtube_dl.utils.UnsupportedError: Unsupported URL: https://www.reddit.com/r/videos/comments/6rrwyj/that_small_heart_attack/

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):

Single video: https://www.reddit.com/r/videos/comments/6rrwyj/that_small_heart_attack/ (or https://v.redd.it/zv89llsvexdz)
Single video: https://www.reddit.com/r/holdmybeer/comments/6rn3e4/hmb_while_i_put_another_bottle_through_wood/
Single video (without audio): https://www.reddit.com/r/NatureGifs/comments/6s0doa/bumblebee_lining_itself_up_to_land_on_a_swaying/

Description of your issue, suggested solution and other information
Reddit has begun to host videos on its own on v.redd.it. It seems as they support to upload GIFs too and provide them as videos without audio through v.redd.it (if I understood this part correctly). It would be nice to have youtube-dl support for these videos.

As of now, it seems reddit's own video host uses (aka v.redd.it) uses DASH format, whose path to MPD manifest is:
https://v.redd.it/[videoID]/DASHPlaylist.mpd (for example [1])
It seems youtube-dl does recognize the formats available if I explicitly used the MPD link instead. For example:

# youtube-dl -v -F https://v.redd.it/31f0b5u64qez/DASHPlaylist.mpd

[debug] System config: []
[debug] User config: [u'--console-title', u'--hls-prefer-native', u'--audio-quality', u'0', u'--embed-subs', u'--embed-thumbnail', u'--add-metadata', u'--xattrs', u'--xattr-set-filesize', u'--write-sub', u'--prefer-ffmpeg', u'-f', u'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo[ext=webm]+bestaudio[ext=webm]/best[ext=mp4]/best[ext=webm]/best']
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'-F', u'https://v.redd.it/31f0b5u64qez/DASHPlaylist.mpd']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.08.06
[debug] Python version 2.7.10 - Darwin-17.0.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 3.3.3, ffprobe 3.3.3, rtmpdump 2.4
[debug] Proxy map: {}
[generic] DASHPlaylist: Requesting header
WARNING: Falling back on generic information extractor.
[generic] DASHPlaylist: Downloading webpage
[generic] DASHPlaylist: Extracting information
[info] Available formats for DASHPlaylist:
format code           extension  resolution note
DASHPlaylist-AUDIO-1  m4a        audio only DASH audio  130k , mp4a.40.2 (48000Hz)
DASHPlaylist-VIDEO-2  mp4        240x240    DASH video  559k , avc1.4d401e, 30fps, video only
DASHPlaylist-VIDEO-1  mp4        360x360    DASH video 1104k , avc1.4d401e, 30fps, video only (best)

As shown above, it falls back to the generic extractor due to lack of current support to such host. And it shows the DASH video and DASH audio as if they are separate files.
[1] https://v.redd.it/on3hgdzlo1ez/DASHPlaylist.mpd

TL;DR / Workaround:
Append /DASHPlaylist.mpd at the end of that v.redd.it permalink, as the following format:
https://v.reddit.com/[id]/DASHPlaylist.mpd
For example, https://v.redd.it/on3hgdzlo1ez/DASHPlaylist.mpd works for youtube-dl but https://v.redd.it/on3hgdzlo1ez doesn't.

@wongmjane Thanks for your reply!
I've figured this out too.
It is easy to write an information extractor for URLs of the form https://v.reddit.com/[id].
The question is, should we support URLs of the form
https://www.reddit.com/r/[subreddit]/comments/[post_id]/[post_name]/

?
I think we should, because that's the only reasonable way of using youtube-dl to download content from v.redd.it.
The only problem I see, is that we cannot really decide from URL of such a post, if it is a video post or not, e.g. https://www.reddit.com/r/videos/comments/6slvkg/how_to_destroy_a_man/ is such a video post, but https://www.reddit.com/r/videos/comments/6rfcyt/were_taking_part_in_the_video_beta/ is not.
My question to the maintainers is, what is the correct youtube-dl way to do this? I've seen other information extractors, which just throw an error and tell the user to fill in a bug report, although it is not a bug, since the requested site does not contain a video. Isn't there a better way to handle such a situation?


Missing links on page

In the Additional Resources section of the page there are missing links for

Take training for adoption specialist
Join the adoption community
Use the Microsoft 365 adoption tools

[Enter feedback here]

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

ID: ee1fd644-5b27-ea28-2844-7a0ee0fa95f9
Version Independent ID: ee1fd644-5b27-ea28-2844-7a0ee0fa95f9
Content: Microsoft 365 Experience insights dashboard - Microsoft 365 admin
Content Source: microsoft-365/admin/misc/experience-insights-dashboard.md
Service: o365-administration
GitHub Login: @KwekuA
Microsoft Alias: kwekua

@nikki-c Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/9382
Once the author approves, the changes will be live.
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @nikki-c Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Add SDMichaud to Contributors list

Noticed my name was missing!

Hi  @SDMichaud, I'm quite elated about your pull request. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a pull request and learned that I merged it?
We’ve recently added social share  to our web app. Could you please go to https://roshanjossey.github.io/first-contributions/#social-share and share your first contribution to open source?
Also, check out projects with easy issues while you’re there.


[Bug]: geolocator ^13.0.1 and package_info_plus 8.0.1 are incompatible

Platform
All
Plugin
geolocator
Version
13.0.1
Flutter SDK
3.22.3
Steps to reproduce
These two packages can't coexist on same app:
geolocator ^13.0.1 and package_info_plus 8.0.1
Code Sample
No response
Logs
Resolving dependencies...
Because geolocator >=13.0.1 depends on geolocator_web ^4.1.1 which depends on web ^1.0.0, geolocator >=13.0.1 requires web ^1.0.0.
And because package_info_plus 8.0.1 depends on web >=0.5.0 <=0.6.0 and no versions of package_info_plus match >8.0.1 <9.0.0, geolocator >=13.0.1 is incompatible with package_info_plus ^8.0.1.
So, because pic_application_flutter_app depends on both package_info_plus ^8.0.1 and geolocator ^13.0.1, version solving failed.

You can try the following suggestion to make the pubspec resolve:
* Consider downgrading your constraint on geolocator: flutter pub add geolocator:^12.0.0
Process finished with exit code 1

Flutter Doctor
[✓] Flutter (Channel stable, 3.22.3, on macOS 14.6 23G80 darwin-arm64, locale it-IT)
    • Flutter version 3.22.3 on channel stable at /Users/mauro/fvm/versions/3.22.3
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b0850beeb2 (3 settimane fa), 2024-07-16 21:43:41 -0700
    • Engine revision 235db911ba
    • Dart version 3.4.4
    • DevTools version 2.34.3

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/mauro/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_SDK_ROOT = /Users/mauro/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15F31d
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)

[✓] VS Code (version 1.92.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.94.0

[✓] Connected device (6 available)
    • Pixel 8 (mobile)                • 39191FDJH00EBY                       • android-arm64  • Android 14 (API 34)
    • iPhoneMM (mobile)               • 00008120-001E09CC119B401E            • ios            • iOS 17.6 21G80
    • iPhone 15 Pro Max (mobile)      • AD9B6D70-F706-4EB2-AEA3-B7AB8F0E81C5 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-5 (simulator)
    • macOS (desktop)                 • macos                                • darwin-arm64   • macOS 14.6 23G80 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad                • darwin         • macOS 14.6 23G80 darwin-arm64
    • Chrome (web)                    • chrome                               • web-javascript • Google Chrome 127.0.6533.89
    ! Error: Browsing on the local area network for iPhone. Ensure the device is unlocked and attached with a cable or associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Checklist before submitting a bug

[X] I searched issues in this repository and couldn't find such bug/problem
[X] I Google'd a solution and I couldn't find it
[X] I searched on StackOverflow for a solution and I couldn't find it
[X] I read the README.md file of the plugin
[X] I'm using the latest version of the plugin
[X] All dependencies are up to date with flutter pub upgrade
[X] I did a flutter clean
[X] I tried running the example project

package_info_plus web version has been updated but it is pending of release. You can temporarily fix the issue by using dependency overrides. Also see the pinned issue: https://github.com/fluttercommunity/plus_plugins/issues/3093


update waSCC demos to use wash

Moving forward, wash will be the way to sign and push modules to a registry for the waSCC provider. We should update the current demos to move away from nk and wascap to the new tooling once it's stable and ready for use.
@brooksmtownsend is wash ready for use or should we continue to use nk and wascap for the time being?

@bacongobbler wash is ready for use, the same functionality carries over from nk and wascap with some additional features that allow for autogeneration of nkeys while signing actors. The only thing that you might want to wait for is for us to get rid of all of the git dependencies in the project. This just depends on the soon-to-be released wasmcloud 0.15.0, and would let you recommend people running demos to install wash with cargo without specifying --git and --branch. Up to you there though, the current install command is
cargo install wash-cli --git https://github.com/wasmcloud/wash --branch main

@bacongobbler wash is ready for use, the same functionality carries over from nk and wascap with some additional features that allow for autogeneration of nkeys while signing actors. The only thing that you might want to wait for is for us to get rid of all of the git dependencies in the project. This just depends on the soon-to-be released wasmcloud 0.15.0, and would let you recommend people running demos to install wash with cargo without specifying --git and --branch. Up to you there though, the current install command is
cargo install wash-cli --git https://github.com/wasmcloud/wash --branch main

Currently handling this within the new repo


socket.io.js:5258 WebSocket connection to 'wss://domain' failed: Error during WebSocket handshake: Incorrect 'Sec-WebSocket-Accept' header value

Can I get help on this issue?
socket.io.js:5258 WebSocket connection to 'wss://domain' failed: Error during WebSocket handshake: Incorrect 'Sec-WebSocket-Accept' header value

Hello @sy0209 , are you using a domain or are you connecting via localhost?
Moreover I've upgraded all libraries (including socket.io) to a more recent version in the branch development, can you give it a try?


String classes props ignored

Since the PR #18, the string classes enterActiveClass, enterClass, etc. passed as props are now ignored.
These classes are instead always computed from the name props:
https://github.com/solidjs/solid-transition-group/blob/main/src/Transition.ts#L40
Which makes it impossible to use code like this (with TailwindCSS):
<Transition
  enterActiveClass="transition duration-200"
  enterClass="opacity-0"
  enterToClass="opacity-100"
>
    ...
</Transition>

Whereas the documentation/readme says it's supported, as it should.

Yeah. This is a regression. Could this be fixed, please?

Alright try 0.0.12

@ryansolid Works like a charm. Thanks 🙂

Yes, that's fixed. Thanks!


Using with TypeScript?

I'm using TypeScript and would like to use longjohn conditionally just in dev mode. Documentation suggests using conditional require:
if (process.env.NODE_ENV !== 'production'){
  require('longjohn');
}

However, TypeScript imports are restricted to top-level, making it impossible to do such conditional check without falling back to commonJS-style require.
There is also a related issue: https://github.com/mattinsler/longjohn/issues/61 - having the ability to disable longjohn after require would be a sufficient fix.

Typescript support conditional loading.
See section Optional Module Loading and Other Advanced Loading Scenarios at https://www.typescriptlang.org/docs/handbook/modules.html for details.


gulp watch not taking correct version number

Gulp Watch with liferay-theme-tasks 7.0.0 does not consider the version number in package.json. Instead always creates a theme with version 1.0.0. Therefore after ending gulp watch and after a new gulp deploy two themes with different versions are active.
Problem occurs on linux with liferay 7.0.x

We have significantly changed the watch implementation in #190 with the hope of fixing the existing issues. At the time of writing, that's in the "master" branch and will be included in the next release (v8.0.0-rc.4). The master issue for tracking the rewrite is #127, so I am going to close these separate tickets and ask that we consolidate further discussion about watch there.


Allow directory switching

Service360 Notifications<EMAIL_ADDRESS>is sending issues via email. However, the https://dst-azts.azurewebsites.net/ website that is supposed to host the remediation scripts doesn't allow me access (or the ability to switch to the directory that hosts the issues). I don't have any subscriptions in the @microsoft tenant so I get the error "
Access required.
Please verify that you have the required access [ Owner, Contributor, ServiceAdministrator, CoAdministrator, AccountAdministrator, Security Reader, Security Admin, CSEO DevOps Role, SCIM DevOps Role] over the subscriptions for which you want to view Compliance Summary."

Service360 Notifications<EMAIL_ADDRESS>is sending issues via email. However, the https://dst-azts.azurewebsites.net/ website that is supposed to host the remediation scripts doesn't allow me access (or the ability to switch to the directory that hosts the issues). I don't have any subscriptions in the @microsoft tenant so I get the error " Access required. Please verify that you have the required access [ Owner, Contributor, ServiceAdministrator, CoAdministrator, AccountAdministrator, Security Reader, Security Admin, CSEO DevOps Role, SCIM DevOps Role] over the subscriptions for which you want to view Compliance Summary."

I have the very same problem.

Hey @Loo-Ree. Please reach out to us on<EMAIL_ADDRESS>


[Event Request] Application “Tests-ERM”, Codeunit 134099 "Purchase Documents"

[Event Request] Application “Tests-ERM”, Codeunit 134099 "Purchase Documents"

Could you please insert an OnTestInitialize Event at the beginning of the procedures Initialize?

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.


PR: Move folding update to a thread

Description of Changes
This PR moves the code folding region update and merge calls into its own thread, by doing this, we expect to fix some performance issues related to calls to textdistance specially in Mac.

[ ] Wrote at least one-line docstrings (for any new functions)
[ ] Added unit test(s) covering the changes (if testable)

[ ] Included a screenshot or animation (if affecting the UI, see Licecap)

Issue(s) Resolved

Fixes #14570
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: @andfoy

Hello @andfoy! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file spyder/plugins/editor/widgets/codeeditor.py:

Line 1815:29: E128 continuation line under-indented for visual indent
Line 1818:21: E117 over-indented

Hello @andfoy! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file spyder/plugins/editor/widgets/codeeditor.py:

Line 1815:29: E128 continuation line under-indented for visual indent
Line 1818:21: E117 over-indented


Can't extract single line data from invoices

I'm able to extract all the data from invoice PDF except lines part.
Below is the line template. I've tested the regex on https://regex101.com/ and it works fine.
Template
lines:
  start: RETOUR
  end: Totaal Overzicht
  line: ^(?P<INVOICE_QUANTITY>\d+.\S)(?P<INVOICE_ID>\d+.\s)(?P<DESCRIPTION>\w+.*\s)(?P<GROSS_UNUSED>\w+.*\s)(?P<PRICE>\w+.*\s)(?P<AMOUNT>\w+.*\s)(?P<TAX_PERCENTAGE>\S+)

No line in result.
But if I add simple parsing
line: (.*\d\S)
then I get empty results
'lines': [{}, {}, {}, {}, {}, {}, {}, {}, {}],
Is it because of regex? All the sample templates either don't have lines or have multi line with first_line, last_line
Can someone push me right direction or give an example?

Hi I am experiencing an error message?  Could you kindly assist?
usage: invoice2data_ver1.py [-h] [--debug] [--copy COPY]
[--template-folder TEMPLATE_FOLDER]
input_files [input_files ...]
invoice2data_ver1.py: error: too few arguments
An exception has occurred, use %tb to see the full traceback.

@zoa414 Specify the file to be analysed in the command line, or use help options.

Hi Rekesh-
Thanks for your reply!
The file string is referenced by way of a variable. File1=’////…..’
Could you explain how I could set up and then reference the template the .yml file?
Thanks in advance!
-Rick
From: Rakesh Senwar<EMAIL_ADDRESS>Sent: Saturday, February 10, 2018 2:10 PM
To: m3nu/invoice2data<EMAIL_ADDRESS>Cc: Tadokoro, Rick<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [m3nu/invoice2data] Can't extract single line data from invoices (#57)
@zoa414https://github.com/zoa414 Specify the file to be analysed in the command line, or use help options.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/m3nu/invoice2data/issues/57#issuecomment-364681495, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AikWiAF6xwTnLSFpfSS65UEiQQyj-bbBks5tTemggaJpZM4RXzR2.

The information contained in this e-mail is confidential and/or proprietary to Capital One and/or its affiliates and may only be used solely in performance of work or services for Capital One. The information transmitted herewith is intended only for use by the individual or entity to which it is addressed. If the reader of this message is not the intended recipient, you are hereby notified that any review, retransmission, dissemination, distribution, copying or other use of, or taking of any action in reliance upon this information is strictly prohibited. If you have received this communication in error, please contact the sender and delete the material from your computer.

You can add the template .yml file to templates folder, but make sure to have correct regex for fetching the data, you can debug the code whenever needed with --debug field in command line.

Hi Rakesh-
Thanks for the feedback! I’ll give it a shot.  Thanks, my friend!
-Rick
From: Rakesh Senwar<EMAIL_ADDRESS>Sent: Tuesday, February 13, 2018 1:14 PM
To: m3nu/invoice2data<EMAIL_ADDRESS>Cc: Tadokoro, Rick<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [m3nu/invoice2data] Can't extract single line data from invoices (#57)
You can add the template .yml file to templates folder, but make sure to have correct regex for fetching the data, you can debug the code whenever needed with --debug field in command line.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/m3nu/invoice2data/issues/57#issuecomment-365354753, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AikWiOr-4AaVZUTx9uufcew8-HAioAUUks5tUdDdgaJpZM4RXzR2.

The information contained in this e-mail is confidential and/or proprietary to Capital One and/or its affiliates and may only be used solely in performance of work or services for Capital One. The information transmitted herewith is intended only for use by the individual or entity to which it is addressed. If the reader of this message is not the intended recipient, you are hereby notified that any review, retransmission, dissemination, distribution, copying or other use of, or taking of any action in reliance upon this information is strictly prohibited. If you have received this communication in error, please contact the sender and delete the material from your computer.


[Storage] Raise error if download response does not contain Content-Range

As discovered in #22297, downloading a blob through the Microsoft CDN can return a response that does not contain a Content-Range header. This causes an unhelpful NoneType exception to occur while we are processing the download in StorageStreamDownloader.
The missing Content-Range is an unexpected case but this change aims to handle it more gracefully by raising a ValueError if we do not get a valid Content-Range in the response.

API change check
API changes are not detected in this pull request.


Volume control resets when you going from one video to another

The Issue
When watching a video and adjusting the volume, the setting is lost when going to the next video.
Steps to reproduce

Watch Video 1
Adjust volume
Go to video 2, volume is back to 100%

Expected behaviour
Volume should persist
Actual behaviour
Volume resets to full
System Configuration

LBRY Daemon version:
LBRY App version: 0.12.2RC9
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

https://github.com/lbryio/lbry-app/commit/444f2308772f49b5209b21caa6a393e19c5c4958


Doesn't work on html tables

I can get this working on any element, but throw a table in the mix and all bets are off:
Here is a working unordered list: https://jsfiddle.net/pe7jy5w4/
And here is the same code with an html table: https://jsfiddle.net/pe7jy5w4/1/

Because you forgot about tbody: https://jsfiddle.net/pe7jy5w4/2/

That would be it
thanks!

@RubaXa any reason why while you are dragging the row of the table, it seems the content is not really following? the ghost does update when you get to the rigth position, but you don’t really see what you are dragging compared to when using a list.
You can see the difference in behavior here: https://jsfiddle.net/y82mmyam/

It seems like a table row can’t exist outside of a table, so it can’t just float above the page like the dragged list item.

What if I want to move <tbody> elements and their <tr> children as a group within the <table> element?

Thank you so much for this answer! Helped me a ton! Thank you also for the great product.

thank you for your help @bmwertman . I spend lots of time to find out how to deal with this .thank you .


SpringAmqpStubMessages doesn't handle wildcards in routing keys

Describe the bug
We have several @RabbitListeners which are using wildcards in their routing key bindings ('*' and '#' characters) and we want to test those using Spring Cloud Contract. Unfortunately, SpringAmqpStubMessages doesn't support this as it only matches routing keys by exact equality (in MessageListenerAccessor).
We need to update logic of MessageListenerAccessor.collectQueuesBoundToDestination(...) to evaluate wildcards when matching bindings.
spring-cloud-contract version is 2.2.3.RELEASE
Sample
Contract:
package contracts.mq.consumer

import org.springframework.cloud.contract.spec.Contract

import static org.springframework.amqp.support.AmqpHeaders.RECEIVED_ROUTING_KEY

[
    Contract.make {
        name("userCreated")
        input {
            messageFrom('main.exchange')
            messageBody([])
            messageHeaders {
                messagingContentType(applicationJson())
                header(RECEIVED_ROUTING_KEY, 'user.created')
            }
        }
    },

    Contract.make {
        name("userUpdated")
        input {
            messageFrom('main.exchange')
            messageBody([])
            messageHeaders {
                messagingContentType(applicationJson())
                header(RECEIVED_ROUTING_KEY, 'user.updated')
            }
        }
    }
]

Rabbit listener declaration:
@RabbitListener(bindings =
    @QueueBinding(
            value = @Queue(durable = "false", exclusive = "true"),
            key = "user.*",
            exchange = @Exchange(value = "main.exchange", type = "topic")
    ))
public void userUpdatedListener(Message message) {
    LOGGER.info("User update handled. Message {}.", message);
}

Produced error:
java.lang.IllegalStateException: no listeners found for destination main.exchange

	at org.springframework.cloud.contract.verifier.messaging.amqp.SpringAmqpStubMessages.send(SpringAmqpStubMessages.java:137)
	at org.springframework.cloud.contract.verifier.messaging.amqp.SpringAmqpStubMessages.send(SpringAmqpStubMessages.java:113)
	at org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessaging.send(ContractVerifierMessaging.java:40)
...

Thanks for the analysis! Are you willing to try to fix this for 2.2.x branch? :)

Sure, I will look into it and see what can I do about that. Thank you for fast response!


Support Microsoft SQL variable syntax

As long as the grammar implements Microsoft SQL data types, please extend the grammar to Microsoft SQL variables, in form @var.

This is just a clone of the original project: http://irony.codeplex.com/
Log your issues there.


Use 'nodeRssiPeak' in delta5Node.ino

Adds a 'nodeRssiPeak' state variable to track the peak smoothed RSSI value seen since the node was powered on or the frequency set, and makes it so the 'rssiTrigger' etc variables are based on this 'nodeRssiPeak'.
This makes is so the "peak" RSSI value can be captured anytime the node is powered on (instead of only after a race is started).  If the racers are lined up before the start, the initial-calibration-pass functionality still operates the same way.
I think it's best to use all possible samples to capture the "peak" RSSI value as soon as possible.  The more it changes during a race the less reliable the triggers will be.
--ET

@punkkills My experience with the modules has been that they have a very consistent peak-RSSI level, typically in the 205-215 range.  The peak can rise a bit (maybe 5-10) as the box warms up, but the peak-RSSI tracking I've implemented will track that as well.
Whenever a quad/VTX (of any power level) is "in the gate" and right next to the timer, the RSSI gets saturated and the module outputs its peak RSSI value.  For a given module the saturated peak-RSSI value is the same regardless of VTX power or frequency.  The RSSI-trigger value is an offset of the peak, and the more accurately the peak is detected the better.  Having a detected RSSI peak be lower that the "real" peak can lead to false gate-pass (trigger) events.
I think the key point is that whenever a quad/VTX of any power level is within a foot or two of the timer, the detected RSSI is at that peak value.  There are not different peaks for different quad/VTX units being read by the same RX5808 module.
--ET

@punkkills Sure, no problem.
I'd say it's not that the peak RSSI is always saturated during a pass (though it often is), but it can be saturated on any given pass.  If it can reach that absolute peak saturation value then basing the RSSI-trigger on a lower value will only degrade the accuracy of detection in general.

Rebased to master-20181112


Bundle-plugin: Scala code converted to Java

FYI @gjoranv

@ollivir: Add yourself to OWNERS file. You know this module better than anyone else now :)

I think we should discuss the use of if (predicate == false) compared to if (! predicate) before merging.

Personally I find (condition == false) more visible than (! condition) and as such less likely to miss. You could argue that (false == condition) would be safer, but somehow that feels wrong(?). I'm not fanatic about that issue, so there's a consensus that it's just overkill and annoying in IDEA, I'm open to using negation.


Okb.random.blue does not apply the global seed

It uses Math.random instead of Okb's seeded random in the default sampler function (if I change the sampler to use Okb.random.random instead, it works as expected)

Hi @wayfu , thanks for the issue! The blue noise seed can now be set with Okb.random.seed (or with blueSeed to set for blue noise specifically). 7c44f66c4f367cf4ba8b324a8b2b4e98c63e9af1


limited effect of caching

According to the README, some kind of caching is implemented for package data. My expectation would be

a small delay at the beginning (to retrieve the AUR metadata dumps)
none when navigating between packages or search terms.

What I get instead is:

a delay for each package on the first visit (this includes when switching terms, e.g. foo -> bar -> foo gives new delays on "foo" matches)
none when navigating between visited packages on the current search term

The search does not fetch all package data that is visible in the details panel. With the default config, the most performing type=suggest API call is used to get a list of packages from the AUR.
Now when you navigate through the search result (package) list, there is a delay of 500ms applied before further information is being requested (this is only valid for AUR packages) so that there no "unnecessary" API calls to fetch package information while you quickly navigate through the list... -> This delay is 500ms by default and can be changed in the settings "AUR search delay (ms)"
You might ask: why don't you use the type=search API when doing the search and immediately get the information for all packages instead of querying the package data individually -> Because it only contains very limited information. Dependencies, Provides, Conflicts, etc. are not included)
Caching:
Once you performed a search or navigate to another package to show it's details, this data is stored in a cache.
Hence when you navigate back to a package that you have already looked at before, it retrieves the data from the cache instead of performing the AUR lookup again.
The time how long this data should remain in the cache, before it is being requested from the /rpc endpoint again, can be configured in the settings Cache expiry (m)

Thanks for providing details. Regarding type=search: then why not use type=info in combination with type=suggest? You can put up to 5000 terms in one POST info request, and have all metadata available.
About the caching, I guess my point is that with the metadata archives available, having an instantaneous lookup is possible in every case. And the required metadata archive can either be retrieved at application startup, or in a given interval. Though with the size of the archive (9mb compressed), the on-demand approach using requests might be preferable in some cases.
On Wed, 06 Apr 2022 12:14:33 -0700
moson-mo @.***> wrote:

The search does not fetch all package data that is visible in the details panel. With the default config, the most performing type=suggest API call is used to get a list of packages from the AUR.
Now when you navigate through the search result (package) list, there is a delay of 500ms applied before further information is being requested (this is only valid for AUR packages) so that there no "unnecessary" API calls to fetch package information while you quickly navigate through the list... -> This delay is 500ms by default and can be changed in the settings "AUR search delay (ms)"
You might ask: why don't you use the type=search API when doing the search and immediately get the information for all packages instead of querying the package data individually -> Because it only contains very limited information. Dependencies, Provides, Conflicts, etc. are not included)
Caching:
Once you performed a search or navigate to another package to show it's details, this data is stored in a cache.
Hence when you navigate back to a package that you have already looked at before, it retrieves the data from the cache instead of performing the AUR lookup again.
The time how long this data should remain in the cache, before it is being requested from the /rpc endpoint again, can be configured in the settings Cache expiry (m)
--
Reply to this email directly or view it on GitHub:
https://github.com/moson-mo/pacseek/issues/3#issuecomment-1090662966
You are receiving this because you authored the thread.
Message ID: @.***>

--
alad @.***>

Good point. I more or less want to request / transfer information only if needed.
But immediately fetching also the "info" part for all search results could make sense.
Could be that making one "big request" instead of multiple small ones if more efficient at the end. I'll play around with that...
Regarding the metadata: I never really liked that approach because as you mentioned you'd transfer 9 MB of data. With a reasonable fast machine and internet connection that process (download, decompress and load data) takes about 2 to 3 seconds already.
That's quite a waste of resources if you just intend to do a quick search for a single package or so (where you just need a couple of KB of data).
Actually Manjaro does it that way with their "pamac". Once that got implemented, within a week or so the traffic limit of the AUR webserver was reached. Since then, they self-host packages-meta-ext-v1.json.gz :wink:
Not that pacseek will ever have such a big user-base as pamac though.
IMHO the /rpc endpoint is the way to go where you just fetch what you need.
With pacseek's default config it is using my own, self-hosted in-memory implementation of the /rpc endpoint. So it won't stress the AUR web/database server with those lookups.

I ran a couple of benchmarks and it turns out that fetching the info for multiple packages at once seems to be the better option.
Doing the benchmarks locally (without network transfer) showed:
Fetching information for 100 packages vs. 1 single package is about ~10 times slower (1800 requests/s vs 18000)
10 vs 1 is 3x slower (6000 r/s vs 18000)
However, server to server (2.5 GBit/s) with reverse proxy and TLS encryption, 100 vs. 1 is just about 2 times slower.
So I've now changed the implementation to immediately run the info call with all packages returned by the suggest/search one and throw these things into the cache. With that, there are only 2 calls performed per search no matter how much you navigate through the result list...
Most likely I'll push another release today with the changes.

Awesome, thanks!
On Thu, 07 Apr 2022 05:23:30 -0700
moson-mo @.***> wrote:

I ran a couple of benchmarks and it turns out that fetching the info for multiple packages at once seems to be the better option.
Doing the benchmarks locally (without network transfer) showed:
Fetching information for 100 packages vs. 1 single package is about ~10 times slower (1800 requests/s vs 18000)
10 vs 1 is 3x slower (6000 r/s vs 18000)
However, server to server (2.5 GBit/s) with reverse proxy and TLS encryption, 100 vs. 1 is just about 2 times slower.
So I've now changed the implementation to immediately run the info call with all packages returned by the suggest/search one and throw these things into the cache. With that, there are only 2 calls performed per search no matter how much you navigate through the result list...
Most likely I'll push another release today with the changes.
--
Reply to this email directly or view it on GitHub:
https://github.com/moson-mo/pacseek/issues/3#issuecomment-1091669510
You are receiving this because you authored the thread.
Message ID: @.***>

--
alad @.***>


Change renovate workflow triggers to only run hourly or on manual trigger

no need to run renovate on push events if we already run it hourly imho

Fixed in https://github.com/mirceanton/external-dns-provider-mikrotik/commit/fd281d62d9547255e35949ae00b99b7d13a0c8bb


use custom script in CancelApply and Apply step

during implementation iot-hub-device-update 1.0.1 and testing swupdate handler v2 i found some possible mistakes during integration the swupdate handler v2. Here are my improvements.

@JoergZeidler , think so much for your contribution!


Update get-access-to-and-back-up-a-former-user-s-data.md

@SuPotter Can I merge this?

@twernermsft - can you please assist to approve and merge the content for this PR?
Thank you.

@twernermsft - I would like to follow up on this. Can you please assist to approve and merge the content for this PR?
Thank you.

@twernermsft - I would like to follow up on this. Can you please assist to approve and merge the content for this PR?
Thank you.


python3Packages.discordpy: 1.5.1 -> 1.6.0

Motivation for this change
Update to latest upstream release 1.6.0
Change log: https://discordpy.readthedocs.io/en/latest/whats_new.html#v1-6-0
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

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

3 packages built:

python37Packages.discordpy
python38Packages.discordpy
python39Packages.discordpy

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

3 packages built:

python37Packages.discordpy
python38Packages.discordpy
python39Packages.discordpy

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108751 run on x86_64-linux 1

3 packages built:

python37Packages.discordpy
python38Packages.discordpy
python39Packages.discordpy

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108751 run on x86_64-linux 1

3 packages built:

python37Packages.discordpy
python38Packages.discordpy
python39Packages.discordpy

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108751 run on x86_64-darwin 1

3 packages built:

python37Packages.discordpy
python38Packages.discordpy
python39Packages.discordpy

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108751 run on x86_64-darwin 1

3 packages built:

python37Packages.discordpy
python38Packages.discordpy
python39Packages.discordpy


Closed connection while exporting cache

Behaviour
I got the following error when I ran bake-action with gha cache. If I change the cache-from and cache-to to registry backend, it works without any issue. In the bake file, I only build and push a single image with cache mode set to max.
Error: buildx bake failed with: ERROR: failed to solve: error writing layer blob: Patch
"https://artifactcache.actions.githubusercontent.com/uTgMzyvCdNIjCtee7zrndnvlIB7VknrPTzIh4DDuGWZFAwVhOj/_apis/artifactcache/caches/202":
read tcp <IP_ADDRESS>:44358-><IP_ADDRESS>:443: use of closed network connection

Steps to reproduce this issue
I think this may be an intermittent issue and might be related to https://github.com/docker/buildx/issues/367
Configuration
docker version: 20.10.23
Buildx version: v0.10.4
Bake action version: 3.0.1

Would need repro with workjflow, Dockerfile and BuildKit logs as well.


Add download link

There is no download link of the distribution. The package in GitHub releases is the source.
Recommend adding a Download section and refer to all release versions to this link:
https://mvnrepository.com/artifact/com.google.cloud.trace.adapters.zipkin/collector

we can also add a maven central badge
https://github.com/jirutka/maven-badges
On Thu, Jan 19, 2017 at 7:36 AM, Ray Tsang<EMAIL_ADDRESS>wrote:

There is no download link of the distribution. The package in GitHub
releases is the source.
Recommend adding a Download section and refer to all release versions to
this link:
https://mvnrepository.com/artifact/com.google.cloud.trace.adapters.zipkin/
collector
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/issues/23, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD611Rb50hwM3TRXeNEdoH9cXrydMWbks5rTqIYgaJpZM4Lnhyu
.

somehow release process has to be synchronized too: latest docker image doesn't conform with maven-central.

I've previously tagged the gcr.io/stackdriver-trace-docker/zipkin-collector:v0.2.0 docker image.
I've just pushed the v0.2.0 release to Maven central so it be visible soon.

I've updated the README to include this information.


Update document about the network configuration

PR #19  add pfOnly field, we should update document about the network configuration. @lubinszARM

Fixed by #31


Close modal when clicking outside

WHAT is this pull request doing?
Close modal when clicking outside

@kirillplatonov, this PR is ready for review.

@kirillplatonov, can you please review this one when you have a chance?

Thank you 👍

Published v2.2.0 with latest updates: https://github.com/baoagency/polaris_view_components/releases/tag/v2.2.0

Great. Much appreciated!


URL Check - Spain

This is the url for Spain
https://deepbluecltd.github.io/LegacyMan/data/Spain1/Spain.html
Should this be .../Spain/Spain1.html as that's the pattern seen for France and Narnia?

I know what you mean.  But, there are lots of inconsistencies like this in the real data, so it's right we have some variety, to prevent making assumptions about how we can parse the data.

Ahh okay :)
Will close this then.


Random crashing

Just happened today, odd :(
XivAlexander_20220407_163133_692.log
EDIT i reinstalled and i think the error went away; will update if it comes back

Did it happen again? I re-install it again after crashing but the game always crashes when I am in a main city like Ul'Dah or Limsa only

So far no, it hasnt crashed since the re-install
usually my game crashes during raids or in Limsa but ive been in both instances and it never happened again


an error

Fatal error: Uncaught Error: Class "Rcon" not found
i have tested on 1 bilion ways but it dont works

You need to use the namespace when using the class:
$rcon = new Thedudeguy\Rcon(...);

or add a use statement after including the file:
use Thedudeguy\Rcon;

$rcon = new Rcon(...);


[Program]: Write a R program to find sum of squares of numbers by recursion

Description
Write a R program to find sum of squares of numbers by recursion
Input  : 1 2 3 4 5
Output : 55

How to contribute

Save the solution in program/program/find-sum-of-squares-of-numbers-by-recursion/find_sum_of_squares_of_numbers_by_recursion.r file

!assign


use new modules api

Went smoothly with the exception of two imports that the codemod doesn't know about:

Ember.RouterDSL - It seems like this could be added to the dataset used to polyfill back to the old globals imports as @ember/routing includes several other similar modules
Ember._ProxyMixin - This is private and therefore my understanding is it won't be included in the new modules api, but I'm not sure what this means in practice here

@Dhaulagiri You're a saint.
Have you smoke-tested this build against any running apps?
I don't remember offhand what Ember._ProxyMixin does, but I am sure there's a refactor to get rid of it from the torii session service.
Probably the same for Ember.RouterDSL although that might need more finesse.

It's a little tricky testing our torii setup locally, but I'll try to do that to at least sanity test that things are working as expected.
With respect to the two modules we are talking about, at this point there nothing requiring that the new modules imports be used so there is time to refactor these use cases.

Ha, well...our app didn't boot at first. The reason was that I accidentally also converted files in this addon's /app directory which is a no-no with this since we can't control how an app is going to transpile files in that directory (in fact our app is still using ember-cli-babel 5).  Once I undid that change things worked as expected.

@bantic got a bit sidetracked with real life but I did try this in our app and authing with a 3rd party service does work as it did before.
(Also included a commit to update us to ember-cli 2.16 here as well)

@Dhaulagiri this looks great :-) Thank you for taking this on.


Withdraw?

Hello,
How do you withdraw NFT sales from this contract?

https://github.com/Steemhunt/dixel-v2-contract/blob/main/contracts/DixelClubV2NFT.sol#L116
As you can see here, the minting cost is transferred to the creator directly on every minting.

0x1f3Af095CDa17d63cad238358837321e95FC5915
But here is a balance in the contract

That's an old mainnet contract (we deployed a new one now) we deployed yesterday, and those transactions and the balance are from wrong deposits made previously on that address because the contract address happened to be the same as Mint Token contract on BSC (using the same deploy wallet and nounce).

There is an entire "gas eater" at Address.sol, but no security params?
What do you mean by this?

I was looking at your repo and check if it is suitable for production usage.

There is an entire "gas eater" at Address.sol, but no security params?

I mean if other deployed contracts happens to receive funds by some way, the creator is unable to withdraw them by any way?
It is not quite unsafe for owner?
Let's say someone deploy this contract and wants to offer 100 NFT's for free, using a script to update price when total supply reach 100 (it is quite simple to create a monitor script like that).
But in the contract, will be dropped some funds accidentally, they will be stuck forever, right?
In this case, even if he try to go reentrant on minting function, he will not fulfill the msg.value condition to recover tokens. Impossible self reentrancy attack.
It wouldn't be safer if owner has a withdrawal button that calls "sendValue" function to clean address balance?
I also have a github repo with NFT Smart Contract, which distribute ether when users mint tokens, but i included a withdrawal function, in case there are some tokens stucked.
I'm just curious about your approach, this is the reason i opened this issue.

https://github.com/Steemhunt/dixel-v2-contract/commit/cad595ba5f7459b9e6336da9ddb25fca1eb61538
Users can no longer send value to the contract directly with this fix


decomposedfs: make owner type optional

When reading the user from the extended attributes the user type might not be set, in this case we now return a user with an invalid type, which correctly reflects the state on disk.

This is the wrong approach:
IMO the user type must not be persisted in the storage, because it might change over time ...
only the id properties should be stored
for eos the user is always read from the gateway, based on the numeric id (and cached)

@ishank011 @labkode @aduffeck AFAICT the lightweight accounts are only needed for sharing, eg. when giving external users access to a file or folder. When moving the share folder logic to the sharestorageprovider by @aduffeck this will affect the existing storage drivers in two ways:

the homeenabled flag becomes obsolete: all storage drivers will work in homeenabled=false mode. The other codepath can be eliminated, together with any special share folder handling in the drivers (the gateway still keeps some of it)
the lightweight accounts checks can be moved into the share storage provider as well. It will be the only storage provider that guest accounts / lightweight users will have access to.

In the spaces concept a lightweight account will only have access to storage spaces that are in fact shared folders or files in other storage providers (in homeenabled=false) mode. Technically, they are jailed into a specific resource identified by a combined (id+relative path) reference.
Since guest acounts  / lightweight accounts don't exist in the storage system (= not in LDAP) requests for them need to impersonate someone who does have access, eg. the share owner or the resource owner, but with an additional permissions mask. The storage driver itself does not need to handle lightweigth accounts. It should log them, but that can happen in the storage provider implementation.

This is ok for now, but we need to

[ ] replace the existing logic in the decomposedfs to fetch the user from the gateway, similar to eosfs

the homeenabled flag becomes obsolete: all storage drivers will work in homeenabled=false mode. The other codepath can be eliminated, together with any special share folder handling in the drivers (the gateway still keeps some of it)

Why? Users will still access requests in their home namespace, and the storage drivers will determine the internal paths based on whether home is enabled or not. From that PR, just the shares folder will be moved out.

the lightweight accounts checks can be moved into the share storage provider as well. It will be the only storage provider that guest accounts / lightweight users will have access to.

Lw accounts won't have any space allocated to them, so they won't be able to create share references in the shares folder. So their requests would be ID and absolute path based.

Since guest acounts / lightweight accounts don't exist in the storage system (= not in LDAP) requests for them need to impersonate someone who does have access, eg. the share owner or the resource owner, but with an additional permissions mask.

This should depend on the storage drivers IMO. They'll have multiple resources shared with them by different users so it won't be possible for them to impersonate any particular user at a global level. For example, when listing shares in ocdav, we need to stat every resource. The only place where this can happen is at the storage level. The driver can simply not support such accounts if these need to be present in the auth provider.

the homeenabled flag becomes obsolete: all storage drivers will work in homeenabled=false mode. The other codepath can be eliminated, together with any special share folder handling in the drivers (the gateway still keeps some of it)

Why? Users will still make requests in their home namespace, and the storage drivers will determine the internal paths based on whether home is enabled or not. From that PR, just the shares folder will be moved out.

What is the difference beween a home namespace (/home) and a user namespaces (/users/einstein) when a share storage provider lists the shares a user has access to at /shares? IMO none: the gateway should return the user namespace of the currently logged in user (using the user layout) instead of hardcoding it to /home. /home does not need to exist. It is just an alias for the currenlty logged in user namespace.

the lightweight accounts checks can be moved into the share storage provider as well. It will be the only storage provider that guest accounts / lightweight users will have access to.

Lw accounts won't have any space allocated to them,

I agree

so they won't be able to create share references in the shares folder.

well, we do have a resharing permission in oc10 ... and I am not saying we need that

So their requests would be ID and absolute path based.

both? that does not make sense, either id only, path only or combined, right?

Since guest acounts / lightweight accounts don't exist in the storage system (= not in LDAP) requests for them need to impersonate someone who does have access, eg. the share owner or the resource owner, but with an additional permissions mask.

This should depend on the storage drivers IMO. They'll have multiple resources shared with them by different users so it won't be possible for them to impersonate any particular user at a global level. For example, when listing shares in ocdav, we need to stat every resource. The only place where this can happen is at the storage level. The driver can say that it does not support such accounts if these need to be present in the auth provider.

Right, for lightweight accounts the share storage provider will make requests to the actual storage provider, impersonating the share owner or the file owner. We should decouple that. Again, that moves the logic into the share storage provider ... and out of the drivers.


Fix unit tests for SelectionBase

This addresses issuees with the unit tests of SelectionBase, as they have not been working since the usage of class methods. In order to fix those unit tests a new child class of SelectionBase is required, which sets some codes that are then being evaluated by the test methods, since any class methods don't have access to codes that are being set on a per-instance level.

This addresses and closes #108.


Problem loading sentinl Web UI

I'm trying to install and run sentinl on kibana 5.6.3. I have installed it from the 5.6.3 zip file on releases on a server without internet connection. The installation itself works without any issues. And this is the simple config:
sentinl:
  settings:
    email:
      active: true
      user:user
      password:pass
      host: 10.0. 0.9
      ssl: false
    report:
      active: true
      tmp_path: /tmp/

The problem is that when I try to enter the Web UI of sentinl i get the following error: "Kibana did not load properly. Check the server output for more information."
Here is the kibana log regarding sentinl:

{"type":"log","@timestamp":"2017-11-14T20:58:42Z","tags":["plugins","debug"],"pid":21990,"path":"/usr/share/kibana/plugins/sentinl/index.js","message":"Found plugin at /usr/share/kibana/plugins/sentinl/index.js"}
{"type":"log","@timestamp":"2017-11-14T20:58:43Z","tags":["plugins","debug"],"pid":21990,"plugin":{"author":"Lorenzo Mangani <lorenzo.mangani@gmail.com>","repository":{"type":"git","url":"http://github.com/sirensolutions/sentinl.git"},"name":"sentinl","version":"5.6.2-SNAPSHOT","kibana":{"version":"5.6.3"},"description":"Kibana Alert & Report App for Elasticsearch","main":"index.js","scripts":{"test":"gulp test","testdev":"gulp testdev","testserver":"gulp testserver","test:coverage":"gulp coverage","precommit":"gulp lint","sentinl-install":"/opt/kibana/bin/kibi plugin --install sentinl -u file://`pwd`/sentinl-latest.tar.gz","sentinl-remove":"/opt/kibana/bin/kibi plugin --remove sentinl","package":"gulp package","archive":"tar cfz ./sentinl-latest.tar.gz --exclude .git --exclude .gitignore --exclude .github --exclude gradle --exclude build --exclude target --exclude sentinl-latest.tar.gz ./* && ls -alF sentinl-latest*"},"dependencies":{"@elastic/datemath":"2.3.0","angular":"1.4.8","angular-ui-bootstrap":"2.5.0","anomaly-finder":"1.0.1","bluebird":"3.4.7","bootstrap":"3.3.7","decompress":"4.2.0","elasticsearch":"13.2.0","emailjs":"1.0.8","later":"1.2.0","mustache":"2.3.0","node-horseman":"3.3.0","node-slack":"0.0.7","sum-time":"1.0.0","uuid":"3.1.0"},"devDependencies":{"babel-eslint":"6.1.2","eslint":"3.14.1","eslint-plugin-mocha":"4.8.0","gulp":"3.9.1","gulp-eslint":"1.1.1","gulp-util":"3.0.8","gulp-zip":"3.1.0","husky":"0.10.2","lodash":"3.10.1","minimist":"1.2.0","mkdirp":"0.5.1","rimraf":"2.5.4","rsync":"0.4.0"},"license":"Apache-2.0"},"message":"Initializing plugin<EMAIL_ADDRESS>{"type":"log","@timestamp":"2017-11-14T20:58:43Z","tags":["status","plugin:sentinl@5.6.2-SNAPSHOT","info"],"pid":21990,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2017-11-14T20:58:43Z","tags":["status","info","Sentinl"],"pid":21990,"message":"Checking watcher index type sentinl-script ..."}
{"type":"log","@timestamp":"2017-11-14T20:58:57Z","tags":["status","info","Sentinl","report"],"pid":21990,"message":"Phantom installed at /usr/share/kibana/plugins/sentinl/phantomjs/phantomjs-2.1.1-linux-x86_64/bin/phantomjs"}
{"type":"response","@timestamp":"2017-11-14T20:59:05Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/plugins/sentinl/sentinl.svg","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"*/*","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/kibana","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:35:05 GMT","if-none-match":"\"e90ebebceefcef6117cef167c9ad23cbf7bb9ebb-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/kibana"},"res":{"statusCode":304,"responseTime":19,"contentLength":9},"message":"GET /plugins/sentinl/sentinl.svg 304 19ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T20:59:14Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/plugins/sentinl/sentinl.svg","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"*/*","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/timelion","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:35:05 GMT","if-none-match":"\"e90ebebceefcef6117cef167c9ad23cbf7bb9ebb-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/timelion"},"res":{"statusCode":304,"responseTime":15,"contentLength":9},"message":"GET /plugins/sentinl/sentinl.svg 304 15ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T20:59:17Z","tags":[],"pid":21990,"method":"get","statusCode":200,"req":{"url":"/app/sentinl","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/timelion","connection":"keep-alive","upgrade-insecure-requests":"1"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/timelion"},"res":{"statusCode":200,"responseTime":38,"contentLength":9},"message":"GET /app/sentinl 200 38ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T20:59:17Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/commons.style.css?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"text/css,*/*;q=0.1","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"b55d703bdb85c9b0ec1c29b80f1de5275418d036-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":4,"contentLength":9},"message":"GET /bundles/commons.style.css?v=15554 304 4ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T20:59:17Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/commons.bundle.js?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"*/*","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"b566a85d19ca2e5a2f559585f1b6850070cecc9c-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":5,"contentLength":9},"message":"GET /bundles/commons.bundle.js?v=15554 304 5ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T20:59:17Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/sentinl.style.css?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"text/css,*/*;q=0.1","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"5673487abeb95af29266b853c7670c7391ce8c26-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":9,"contentLength":9},"message":"GET /bundles/sentinl.style.css?v=15554 304 9ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T20:59:17Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/sentinl.bundle.js?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"*/*","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"837cf755c80b48d6fb23a22ae0a7bcb3d5eac490-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":10,"contentLength":9},"message":"GET /bundles/sentinl.bundle.js?v=15554 304 10ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:00:35Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/plugins/sentinl/sentinl.svg","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"*/*","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/kibana","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:35:05 GMT","if-none-match":"\"e90ebebceefcef6117cef167c9ad23cbf7bb9ebb-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/kibana"},"res":{"statusCode":304,"responseTime":3,"contentLength":9},"message":"GET /plugins/sentinl/sentinl.svg 304 3ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:00:37Z","tags":[],"pid":21990,"method":"get","statusCode":200,"req":{"url":"/app/sentinl","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/kibana","connection":"keep-alive","upgrade-insecure-requests":"1"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/kibana"},"res":{"statusCode":200,"responseTime":21,"contentLength":9},"message":"GET /app/sentinl 200 21ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:00:37Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/commons.style.css?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"text/css,*/*;q=0.1","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"b55d703bdb85c9b0ec1c29b80f1de5275418d036-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":5,"contentLength":9},"message":"GET /bundles/commons.style.css?v=15554 304 5ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:00:37Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/sentinl.style.css?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"text/css,*/*;q=0.1","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"5673487abeb95af29266b853c7670c7391ce8c26-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":6,"contentLength":9},"message":"GET /bundles/sentinl.style.css?v=15554 304 6ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:00:37Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/commons.bundle.js?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"*/*","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"b566a85d19ca2e5a2f559585f1b6850070cecc9c-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":11,"contentLength":9},"message":"GET /bundles/commons.bundle.js?v=15554 304 11ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:00:38Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/sentinl.bundle.js?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"*/*","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"837cf755c80b48d6fb23a22ae0a7bcb3d5eac490-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":3,"contentLength":9},"message":"GET /bundles/sentinl.bundle.js?v=15554 304 3ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:01:38Z","tags":[],"pid":21990,"method":"get","statusCode":200,"req":{"url":"/app/sentinl","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/kibana","connection":"keep-alive","upgrade-insecure-requests":"1"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/kibana"},"res":{"statusCode":200,"responseTime":22,"contentLength":9},"message":"GET /app/sentinl 200 22ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:01:38Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/commons.style.css?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"text/css,*/*;q=0.1","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"b55d703bdb85c9b0ec1c29b80f1de5275418d036-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":4,"contentLength":9},"message":"GET /bundles/commons.style.css?v=15554 304 4ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:01:38Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/sentinl.style.css?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"text/css,*/*;q=0.1","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"5673487abeb95af29266b853c7670c7391ce8c26-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":5,"contentLength":9},"message":"GET /bundles/sentinl.style.css?v=15554 304 5ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:01:38Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/commons.bundle.js?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"*/*","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"b566a85d19ca2e5a2f559585f1b6850070cecc9c-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":2,"contentLength":9},"message":"GET /bundles/commons.bundle.js?v=15554 304 2ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:01:38Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/sentinl.bundle.js?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"*/*","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"837cf755c80b48d6fb23a22ae0a7bcb3d5eac490-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":2,"contentLength":9},"message":"GET /bundles/sentinl.bundle.js?v=15554 304 2ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:10:33Z","tags":[],"pid":21990,"method":"get","statusCode":200,"req":{"url":"/app/sentinl","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","connection":"keep-alive","upgrade-insecure-requests":"1"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":23,"contentLength":9},"message":"GET /app/sentinl 200 23ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:10:33Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/commons.style.css?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"text/css,*/*;q=0.1","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"b55d703bdb85c9b0ec1c29b80f1de5275418d036-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":2,"contentLength":9},"message":"GET /bundles/commons.style.css?v=15554 304 2ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:10:33Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/sentinl.style.css?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"text/css,*/*;q=0.1","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"5673487abeb95af29266b853c7670c7391ce8c26-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":6,"contentLength":9},"message":"GET /bundles/sentinl.style.css?v=15554 304 6ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:10:33Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/commons.bundle.js?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"*/*","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"b566a85d19ca2e5a2f559585f1b6850070cecc9c-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":6,"contentLength":9},"message":"GET /bundles/commons.bundle.js?v=15554 304 6ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-14T21:10:33Z","tags":[],"pid":21990,"method":"get","statusCode":304,"req":{"url":"/bundles/sentinl.bundle.js?v=15554","method":"get","headers":{"host":"<IP_ADDRESS>:5601","user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0","accept":"*/*","accept-language":"en-US,en;q=0.5","accept-encoding":"gzip, deflate","referer":"http://<IP_ADDRESS>:5601/app/sentinl","connection":"keep-alive","if-modified-since":"Tue, 14 Nov 2017 19:37:36 GMT","if-none-match":"\"837cf755c80b48d6fb23a22ae0a7bcb3d5eac490-gzip\""},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>:5601/app/sentinl"},"res":{"statusCode":304,"responseTime":2,"contentLength":9},"message":"GET /bundles/sentinl.bundle.js?v=15554 304 2ms - 9.0B"}

+1

@GambitK @joaoantoniopereira
Is it a fresh install or you have watchers already from some old Sentinl version?
Everything should work fine if it is a fresh install. Look, I've just tried it and made a video for you, Kibana and Sentinl-5.6.3 https://youtu.be/Jfk-CGP0NfU
If you have watchers from old Sentinl then there are some changes. Default document type name changed. Now it is sentinl-watcher, not watcher. Check your watchers document type using this command curl -XGET localhost:9200/watcher/_mapping?pretty.
To fix it you have several options.

Define watcher doc type in kibana.yml, like this

sentinl:
  es:
    type: watcher

Here you can find all available config values https://github.com/sirensolutions/sentinl/wiki/SENTINL-Config-Example

Create all watchers again using UI
Reindex existing watchers, for example, using elasticdump. Make sure that all watcher documents have sentinl-watcher as type.

It's the second time I try to install sentinl in this kibana instance, there were no previous installs.
I'll delete the watcher index and retry.

Please review the full Kibana logs for errors, not only rows related to SENTINL activity. Feel free to attach for peer review.

Thanks so much for your replies guys. I am running ES and Kibana 5.5.0 on a server without Internet Connection. ES and Kibana have Searchguard installed as well as Own home (a multitenancy plugin) in Kibana. I installed the 5.5.0 Sentinl version on Kibana and the installation went fine. I clicked on Sentinl in Kibana GUI I got the error message in big red letters: "Kibana did not load properly. Check the server output for more information."
I saw Kibana logs and concluded that the watcher index was not being created. The error was: "TypeError: Cannot read property 'hits' of undefined"
Therefore I created two indexes: watcher and watcher_alarms using curl. Once I clicked again on Sentinl tab I got the same error in Kibana GUI, yet Kibana logs did not show any errors. It is a very strange behaviour..
Note that on my kibana.yml I put a Searchguard user that has full permissions.
Does anyone know where this error may be coming from?
Best regards,
João

@joaoantoniopereira I suggest you try first without the other plugins to see where the incompatibility originates.

I cannot remove the other plugins because it is running on a production server..
However, I copied the production kibana folder to my local enviroment using an ES instance running on background and Sentinl seems to run fine there. I did not try to create alarms but at least it does not crash.

This is useful - You might want to check the Elasticsearch logs when the crash happens to see what kind of rejection we're facing on the other side on the production cluster.

Elasticsearch does not output any error log.
Kibana only shows this:
{"type":"response","@timestamp":"2017-11-20T10:39:33Z","tags":[],"pid":7875,"method":"get","statusCode":304,"req":{"url":"/plugins/kibana/assets/wrench.svg","method":"get","headers":{"host":"localhost:8080","connection":"close","accept":"image/webp,image/,/*;q=0.8","if-none-match":""088a9a98c99e406dca2354af14f688ad84826b97-gzip"","if-modified-since":"Fri, 30 Jun 2017 23:30:11 GMT","user-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36","referer":"http://<IP_ADDRESS>/app/sentinl","accept-encoding":"gzip, deflate, sdch","accept-language":"en-US,en;q=0.8"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>/app/sentinl"},"res":{"statusCode":304,"responseTime":23,"contentLength":9},"message":"GET /plugins/kibana/assets/wrench.svg 304 23ms - 9.0B"}
{"type":"log","@timestamp":"2017-11-20T10:39:33Z","tags":["status","info","Sentinl"],"pid":7875,"message":"Get scripts with type: input"}
{"type":"log","@timestamp":"2017-11-20T10:39:33Z","tags":["status","info","Sentinl"],"pid":7875,"message":"Get scripts with type: condition"}
{"type":"log","@timestamp":"2017-11-20T10:39:33Z","tags":["status","info","Sentinl"],"pid":7875,"message":"Get scripts with type: transform"}
{ took: 3,
timed_out: false,
_shards: { total: 8, successful: 8, failed: 0 },
hits: { total: 0, max_score: null, hits: [] } }
{"type":"response","@timestamp":"2017-11-20T10:39:33Z","tags":[],"pid":7875,"method":"get","statusCode":200,"req":{"url":"/api/sentinl/list/scripts/input","method":"get","headers":{"host":"localhost:8080","connection":"close","accept":"application/json, text/plain, /","kbn-version":"5.5.0","user-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36","referer":"http://<IP_ADDRESS>/app/sentinl","accept-encoding":"gzip, deflate, sdch","accept-language":"en-US,en;q=0.8"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>/app/sentinl"},"res":{"statusCode":200,"responseTime":98,"contentLength":9},"message":"GET /api/sentinl/list/scripts/input 200 98ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-20T10:39:33Z","tags":[],"pid":7875,"method":"get","statusCode":200,"req":{"url":"/api/sentinl/list","method":"get","headers":{"host":"localhost:8080","connection":"close","accept":"application/json, text/plain, /","kbn-version":"5.5.0","user-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36","referer":"http://<IP_ADDRESS>/app/sentinl","accept-encoding":"gzip, deflate, sdch","accept-language":"en-US,en;q=0.8"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>/app/sentinl"},"res":{"statusCode":200,"responseTime":101,"contentLength":9},"message":"GET /api/sentinl/list 200 101ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-20T10:39:33Z","tags":[],"pid":7875,"method":"get","statusCode":200,"req":{"url":"/api/sentinl/list/scripts/condition","method":"get","headers":{"host":"localhost:8080","connection":"close","accept":"application/json, text/plain, /","kbn-version":"5.5.0","user-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36","referer":"http://<IP_ADDRESS>/app/sentinl","accept-encoding":"gzip, deflate, sdch","accept-language":"en-US,en;q=0.8"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>/app/sentinl"},"res":{"statusCode":200,"responseTime":102,"contentLength":9},"message":"GET /api/sentinl/list/scripts/condition 200 102ms - 9.0B"}
{"type":"response","@timestamp":"2017-11-20T10:39:33Z","tags":[],"pid":7875,"method":"get","statusCode":200,"req":{"url":"/api/sentinl/list/scripts/transform","method":"get","headers":{"host":"localhost:8080","connection":"close","accept":"application/json, text/plain, /","kbn-version":"5.5.0","user-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36","referer":"http://<IP_ADDRESS>/app/sentinl","accept-encoding":"gzip, deflate, sdch","accept-language":"en-US,en;q=0.8"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>","referer":"http://<IP_ADDRESS>/app/sentinl"},"res":{"statusCode":200,"responseTime":99,"contentLength":9},"message":"GET /api/sentinl/list/scripts/transform 200 99ms - 9.0B"}

Ok I found the problem..
When Sentinl starts it downloads a bootstrap file. In public/less/main.less we have:
@import url("//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css");
Therefore in a cluster without internet connection it will fail.
The solution is to download the bootstrap file from this url to the public/less folder
Also in main.less change this import to:
@import './bootstrap.min.css';
Thanks for your time ;)

This is then a duplicate of #208
@sergibondarenko let's move this resource locally with the next release cycle

@joaoantoniopereira the release was fixed, try it https://github.com/sirensolutions/sentinl/releases/download/tag-5.6.2/sentinl-v5.6.3.zip

Feel free to comment to reopen in case of issues. Thanks!


Fix ordering

What kind of change does this PR introduce?
Bug fix
What is the current behavior?
Fix #6
What is the new behavior?

Map the ordering enum value

Wonderful PR as always, thanks @elrhomariyounes!

Thank you, very glad @acupofjose


Argument name suggestions in methods/ctors

Environment data
dotnet --info output:
.NET Command Line Tools (1.0.0-rc4-004771)

Product Information:
 Version:            1.0.0-rc4-004771
 Commit SHA-1 hash:  4228198f0e

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.11
 OS Platform: Darwin
 RID:         osx.10.11-x64
 Base Path:   /usr/local/share/dotnet/sdk/1.0.0-rc4-004771

VS Code version:1.9
C# Extension version:1.8 beta
Steps to reproduce
Enter a type into a constructor then begin to type the name of the argument
Expected  behavior
Suggestions of what to call it in a drop down eg. if you have public Foo(Bar it should give suggest bar
Actual behavior
N/A

I'm confused by the title, which talks about field names, but the expected behavior seems to describe the completion list suggesting parameter names. Is your request essentially https://github.com/dotnet/roslyn/issues/7055?

My bad.
Yup that roslyn feature 😄

Thanks for clarifying. I wouldn't spend the effect adding this to VS Code since we don't want the C# editing experience to diverge. But once we get it in Roslyn, we'll definitely bring it here.
cc @Pilchie

Looks like it's in. What needs to be done to bring it in?

It's just a matter of time now. We've got some changes coming that should allow this feature to show up in VS Code.

Does it come automatically or does something else need doing, do you need some help?

We'll always take help! :smile: That said, this should come in naturally when we update OmniSharp to the latest Roslyn packages. AFAIK, these changes aren't available on NuGet yet, and I'd prefer that over grabbing random nightlies from the Roslyn MyGet feed.


[docs] Add missing apt-get update

I was following the steps and couldn't run the apt commands until I re-ran sudo apt-get update.
Also, I tried copy/pasting step 1. into my terminal but it wasn't formatted correctly on paste. Easy fix but threw me for a second.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/install-azure-cli-apt.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Thanks for your contribution! Please address feedback and this can be merged.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/install-azure-cli-apt.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.