OAT build doesn't work when I compile a module outside of my project

Hi, I trying to migrate the ng-bootstrap test application to Angular CLI. Unfortunately, the AOT compilation does not work with ng build --aot. Here is my project : https://github.com/wKoza/ng-bootstrap/tree/migration_to_angular_cli/demo
However, when I run the command : ./node_modules/.bin/ngc -p src/tsconfig.app.json, I can compile my code.
Is it possible to do this with the CLI ?

are you getting the You have to be inside an Angular CLI project in order to use the build command.
error? because that's what it says on the tin. Angular CLI manages a number of things automatically. I would start a new project (ng new) and paste in code instead of trying to convert an old project wholesale. Perhaps someone else has a better idea though.

Yes, demo is a new project (I have pasted the code  inside). This is the start of the log :

10% building modules 6/10 modules 4 active ...ode_modules/style-loader/addStyles.jsTemplate parse warnings:
bootstrap/src/accordion/accordion.ts.NgbAccordion.html@2:4                                                                       Hash: c1bdb18bfd1b85b747e9                                                          Time: 45102ms
chunk    {0} main.bundle.js, main.bundle.js.map (main) 2.25 MB {3} [initial] [rendered]
chunk    {1} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 167 kB {4} [initial] [rendered]
chunk    {2} styles.bundle.js, styles.bundle.js.map (styles) 203 kB {4} [initial] [rendered]
chunk    {3} vendor.bundle.js, vendor.bundle.js.map (vendor) 1.41 MB [initial] [rendered]
chunk    {4} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered]
ERROR` in /Users/william/WebstormProjects/ng-bootstrap/demo/src/$$_gendir/src/accordion/accordion.ngfactory.ts (1,1): Cannot find module './accordion'.
/Users/william/WebstormProjects/ng-bootstrap/demo/src/$$_gendir/src/accordion/accordion.ngfactory.ts (1,1): Cannot find module './accordion-config'.
ERROR in /Users/william/WebstormProjects/ng-bootstrap/demo/src/$$_gendir/src/accordion/accordion.module.ngfactory.ts (1,1): Cannot find module './accordion.module'.

...

@wKoza ok I see what happened. When you generate a component with npm run ng generate component 'widget' it automatically adds the import to the top of app.module.ts and the class to the declarations list in there. You pasted the classes in though so you need to add that manually.

@cenkentimist, NgbdAccordion is imported by NgbdDemoModule. Without --aot , the project build without any problems, ng serveworks also. You can checkout my project if you want to see in more detail.

@wKoza Actually did try this. It didn't work at all for me. I don't have a global install of angular and that wasn't the error I got. The project is also missing the scripts generated by the default angular project. IE npm run -- ng foo and npm start did not work. what do you get from ng --version?

ng -v

@angular/cli: 1.0.0
node: 6.9.5
os: darwin x64
@angular/common: 4.0.2
@angular/compiler: 4.0.2
@angular/core: 4.0.2
@angular/forms: 4.0.2
@angular/http: 4.0.2
@angular/platform-browser: 4.0.2
@angular/platform-browser-dynamic: 4.0.2
@angular/router: 4.0.2
@angular/cli: 1.0.0
@angular/compiler-cli: 4.0.2

The project is in the demofolder, on the branch migration_to_angular_cliof my repo

Same issue as #5986 ?

Yes , it's possible @kylecordes .

I think this may be the same issue I reported here https://github.com/angular/angular-cli/issues/5990.

@wKoza works fine for ngx-bootstrap, but I am linking lib src into modules

yes @valorkin , with this strategy, it's work but it's not that I want to.

@wKoza can you still reproduce this issue?

Hi @mgechev, I don't think so. Angular CLI have grown since ;) We can close it.

Thanks for the response!


Please add more hot-key to replace direction keys.

Please add other hot-key to replace direction key, like vi or emacs, using k or Ctrl-p to replace ↑.
It is wasting time to move your fingers to code those direction keys. : (

You can already use j/k.

Thanks a lot!


Clarification in LERF Field processing

Could you please explain the purpose for the following line of code (link) in the get_outputs() function under LERFField:
positions = (positions + 2.0) / 4.0

I understand that this is to bring the 3D co-ordinates in the range [0, 1] after the Scene contraction operation which warps the 3D co-ordinates into a sphere of radius 2.


fix (bin/bench_50.rs, lib.rs): fix clippy warnings

This commit addresses lint warnings reported by the clippy tool

warning: you don't need to add & to all patterns
warning: you should consider adding a Default implementation for JubJub
warning: 6th binding whose name is just one char
warning: it is more idiomatic to loop over references to containers instead of using explicit iteration methods
warning: use assert_eq for better reporting
warning: 5th binding whose name is just one char
warning: using clone on a Copy type
warning: the a @ _ pattern can be written as just a
warning: this expression borrows a reference that is immediately dereferenced by the compiler
warning: long literal lacking separators

This changes to do not affect the logic at all, they only write more
idiomatic rust :-)
references:

https://github.com/rust-lang-nursery/rust-clippy
https://rust-lang-nursery.github.io/rust-clippy/v0.0.165/index.html#explicit_iter_loop
https://rust-lang-nursery.github.io/rust-clippy/v0.0.165/index.html#many_single_char_names
https://rust-lang-nursery.github.io/rust-clippy/v0.0.165/index.html#clone_on_copy
https://rust-lang-nursery.github.io/rust-clippy/v0.0.165/index.html#match_ref_pats
https://rust-lang-nursery.github.io/rust-clippy/v0.0.165/index.html#needless_borrow
https://rust-lang-nursery.github.io/rust-clippy/v0.0.165/index.html#should_assert_eq
https://rust-lang-nursery.github.io/rust-clippy/v0.0.165/index.html#should_assert_eq
https://rust-lang-nursery.github.io/rust-clippy/v0.0.165/index.html#redundant_pattern
https://rust-lang-nursery.github.io/rust-clippy/v0.0.165/index.html#new_without_default
https://rust-lang-nursery.github.io/rust-clippy/v0.0.165/index.html#unreadable_literal

ACK but note this is just a PoC/prototype and there's no CI here. These changes look good though. Thanks!


Correct good code example

The "Good code example" is incorrect:
[EventSubscriber(ObjectType::Codeunit, Codeunit::""Company - Initialize"", 'OnCompanyInitialize', '', false, false)]

local procedure CompanyInitialize()
begin
...
end;

It should be:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Company-Initialize", 'OnCompanyInitialize', '', false, false)]
local procedure CompanyInitialize()
begin
...
end;

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

ID: e85d3ca3-f7b4-c488-be95-dac2559b3afc
Version Independent ID: df394ab2-8e91-ba74-c244-f5c37c50cbc0
Content: When using 'OnInstallPerCompany' you must also add 'OnCompanyInitialize' subscription. - Business Central
Content Source: dev-itpro/developer/analyzers/codecop-aa0235-whenusingoninstallpercompanyaddcodetocompanyinitializesubscription.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Thanks for catching this. Will be fixed with the next refresh.


Remove cppcheck and vera++ from prerequisites

Rely on platform-provided versions. Thus, no need to download and
build them, neither to wrap them with shell scripts. CMake and
precommit updated to call the new tools.
PS: On my Ubuntu 14.04.3, cppcheck has version 1.61, while prereq
version was 1.69. The older version reports and fails on a strange
style issue in ecma/builtin-objects/ecma-builtin-helpers.cpp, for
which the only solution found was to suppress cppcheck errors with
variableScope id.
JerryScript-DCO-1.0-Signed-off-by: Akos Kiss<EMAIL_ADDRESS>resolves #844

Please update the copyright in the touched files.

Please update docs/DEVELOPMENT.md too in this PR.

Updated according to the review, and rebased to current master.

Restricted the error suppression to the file with the false positive. Updated & rebased.

LGTM


brightcove "forbidden by access policy", but not georestricted

http://iopscience.iop.org/bookListInfo/schwalm-videos is not georestricted for me (I can watch the videos just fine in my browser), but youtube-dl cannot batch download them. I've tried supplying cookies.txt from my browser, but youtube-dl still gives the same error.
The form of the URLs for the segments of the first video of http://iopscience.iop.org/bookListInfo/schwalm-videos is:
http://f1.media.brightcove.com/3/105920850001/4666773337001/105920850001_4666773337001_s-*.ts

I passed such URLs to youtube-dl, and it can download these *.ts files. But when I pass http://iopscience.iop.org/bookListInfo/schwalm-videos, it gives this error:
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'http://iopscience.iop.org/bookListInfo/schwalm-videos']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.02.03
[debug] Python version 3.6.4 (CPython) -<EMAIL_ADDRESS>[debug] exe versions: ffmpeg 3.4.1, ffprobe 3.4.1, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {}
[generic] schwalm-videos: Requesting header
WARNING: Falling back on generic information extractor.
[generic] schwalm-videos: Downloading webpage
[generic] schwalm-videos: Extracting information
[download] Downloading playlist: Lectures on Selected Topics in Mathematical Physics: Elliptic Functions and Elliptic Integrals - Books - IOPscience
[generic] playlist Lectures on Selected Topics in Mathematical Physics: Elliptic Functions and Elliptic Integrals - Books - IOPscience: Collected 6 video ids (downloading 6 of them)
[download] Downloading video 1 of 6
[brightcove:new]<PHONE_NUMBER>001: Downloading webpage
[brightcove:new]<PHONE_NUMBER>001: Downloading JSON metadata
ERROR: Access to this resource is forbidden by access policy.
Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/common.py", line 517, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/lib64/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 2198, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib64/python3.6/urllib/request.py", line 532, in open
    response = meth(req, response)
  File "/usr/lib64/python3.6/urllib/request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib64/python3.6/urllib/request.py", line 570, in error
    return self._call_chain(*args)
  File "/usr/lib64/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/usr/lib64/python3.6/urllib/request.py", line 650, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/brightcove.py", line 695, in _real_extract
    'Accept': 'application/json;pk=%s' % policy_key
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/common.py", line 678, in _download_json
    encoding=encoding, data=data, headers=headers, query=query)
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/common.py", line 632, in _download_webpage
    res = self._download_webpage_handle(url_or_request, video_id, note, errnote, fatal, encoding=encoding, data=data, headers=headers, query=query)
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/adobepass.py", line 1332, in _download_webpage_handle
    *args, **compat_kwargs(kwargs))
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/common.py", line 537, in _download_webpage_handle
    urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query)
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/common.py", line 526, in _request_webpage
    raise ExtractorError(errmsg, sys.exc_info()[2], cause=err)
youtube_dl.utils.ExtractorError: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by <HTTPError 403: 'Forbidden'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/common.py", line 517, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/lib64/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 2198, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib64/python3.6/urllib/request.py", line 532, in open
    response = meth(req, response)
  File "/usr/lib64/python3.6/urllib/request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib64/python3.6/urllib/request.py", line 570, in error
    return self._call_chain(*args)
  File "/usr/lib64/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/usr/lib64/python3.6/urllib/request.py", line 650, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/brightcove.py", line 695, in _real_extract
    'Accept': 'application/json;pk=%s' % policy_key
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/common.py", line 678, in _download_json
    encoding=encoding, data=data, headers=headers, query=query)
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/common.py", line 632, in _download_webpage
    res = self._download_webpage_handle(url_or_request, video_id, note, errnote, fatal, encoding=encoding, data=data, headers=headers, query=query)
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/adobepass.py", line 1332, in _download_webpage_handle
    *args, **compat_kwargs(kwargs))
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/common.py", line 537, in _download_webpage_handle
    urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query)
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/common.py", line 526, in _request_webpage
    raise ExtractorError(errmsg, sys.exc_info()[2], cause=err)
youtube_dl.utils.ExtractorError: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by <HTTPError 403: 'Forbidden'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 784, in extract_info
    ie_result = ie.extract(url)
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/common.py", line 438, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib64/python3.6/site-packages/youtube_dl/extractor/brightcove.py", line 703, in _real_extract
    raise ExtractorError(message, expected=True)
youtube_dl.utils.ExtractorError: Access to this resource is forbidden by access policy.

@dstftw I tested your patch, and it worked.
thanks for the quick fix


Upgrades for Elixir 1.3.2

you might check out https://github.com/HashNuke/heroku-buildpack-elixir/pull/76/files


If UAM is enabled through Cloudflare, can send be used

If UAM is enabled through Cloudflare, can send be used
The COOKIE of HTTP FLOOD was sent. Procedure
Bypass the five-second validation

right now CFB method is not working,
there is an issue opened for it

fixed with cfbuam method


perf(sheet): avoid unnecessary rendering on keyboard chanage

In https://github.com/tamagui/tamagui/pull/2873, I changed Dimensions.get('window').height to Dimensions.get('screen').height to fix the issue of incorrect sheet maxContentSize on Android. Since the screen height doesn’t change when the keyboard appears, it is no longer necessary to listen for keyboard changes here. Additionally, as the sheet component re-renders when the keyboard changes—including all sheet components in the page stack—removing useKeyboardVisible improves performance, especially in complex forms with many sheet components.

I think we'll need to adjust this for web to use window but native use screen, but i can follow with that.


Implement SingleChildScrollView in the Widget Catalog

SingleChildScrollView Widget needs to be added to the Widget Catalog. Make sure to include the description of the widget in the Description tab and add an argument to include link to the official docs of the widget (Refer to any example in widgetList.dart for better understanding. Also add an argument for category of the widget and give it a category accordingly. Showcase implementation both with and without using this widget to give a better idea of how this widget works.
Please attach screen shots of the same once done in the PR.

You basically need to show two implementations, one without this widget and one with this widget to showcase the advantage of using SingleChildScrollView.

@AryanKhubchandani I would like to take up this issue if there's no objection.


Synched KePub padding adjustment for vertical layout

Hello,
Is there a possible way to add/modify the latest patch release 4.25.15875 to increase padding-bottom for vertical layout for synchronised KePub?
I am having a problem when reading synched KePubs with some side-loaded fonts where the bottom Chinese/Japanese/Korean character would get cut off. I would like to add some padding-bottom of 0.3em to it.
When using original publisher default font, things are fine.

When using side-loaded fonts, you can see the last characters on each line in the red rectangle are cut off.

I crawled up a bit the old Kobo patches here and found these lines. I thought they may be helpful so I tried adding them to libnickel.so.1.0.0.yaml of the kobopatch_4.25.15875. However, that doesn't work and I could not really figure out how to otherwise either…
The code I added to libnickel.so.1.0.0.yaml is:
Fix three KePub fullScreenReading bugs:
  - Enabled: yes
  - Description: See https://www.mobileread.com/forums/showpost.php?p=3113460&postcount=16
  - FindReplaceString:
      Find:    "img { display: block; margin-left: auto !important; margin-right: auto !important; width: auto !important; height: auto !important; }"
      Replace: "body { margin: 0 !important; padding: 0 !important; }  body>div { padding-left: 0.2em !important; padding-right:  0.3em !important; }"
      # CUSTOM SETTING: Changing padding-right from 0.2em to 0.3em.
      #
      MustMatchLength: yes
    # Optional replacement values below (all relate to the second problem above):
    # set the amount of added padding: `1` = 0.1em, `2` = 0.2em, etc.
    # 0.1em is enough for many fonts, but some (such as Georgia) need 0.2em.
  - ReplaceString: {Offset: 0x52, Find: "2", Replace: "2"}
  - ReplaceString: {Offset: 0x74, Find: "2", Replace: "3"}
    # CUSTOM SETTING: Changing to 3 for 0.3em for padding-bottom.
    #
    # The default patch settings are suitable for horizontal languages only.
    # Uncomment the following two replace_string lines for vertical languages only:
  - ReplaceString: {Offset: 0x4A, Find: "left:", Replace: "top:\x20"}
  - ReplaceString: {Offset: 0x6A, Find: "right: ", Replace: "bottom:"}

Would very much appreciate any information that can help solve this. Thanks in advance.

@keikhcheung
I think patch Fix three KePub fullScreenReading bugs was removed from the standard pack a long time ago. I don't remember whether it was because it no longer worked or because Kobo had fixed something so it was no longer needed. @pgaskin might have a better memory than me.

@keikhcheung
I think patch Fix three KePub fullScreenReading bugs was removed from the standard pack a long time ago. I don't remember whether it was because it no longer worked or because Kobo had fixed something so it was no longer needed. @pgaskin might have a better memory than me.


[benchmark][hive_input]

1.move benchmark doc to this commit
2. add hive input and proto ， add new pyhive python lib
3. add hive config:mmoe_census_income.config

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Multiple errors on build

I was having issues with the latest download so I created a blank project with just the Holotoolkit package. Applied settings.
Versions:
Unity 5.5.0f3
VS 2017 15.1 (26403.7)
Build:
Universal 10
Holoens
D3D
Unity C# Projects
Error list:
Assets\HoloToolkit-Examples\SharingWithUNET\Scripts\GenericNetworkTransmitter.cs(114,57): error CS0246: The type or namespace name 'StreamSocketListener' could not be found (are you missing a using directive or an assembly reference?)
Assets\HoloToolkit-Examples\SharingWithUNET\Scripts\GenericNetworkTransmitter.cs(114,86): error CS0246: The type or namespace name 'StreamSocketListenerConnectionReceivedEventArgs' could not be found (are you missing a using directive or an assembly reference?)
Assets\HoloToolkit-Examples\SharingWithUNET\Scripts\GenericNetworkTransmitter.cs(159,55): error CS0246: The type or namespace name 'IAsyncAction' could not be found (are you missing a using directive or an assembly reference?)
Assets\HoloToolkit-Examples\SharingWithUNET\Scripts\GenericNetworkTransmitter.cs(159,79): error CS0246: The type or namespace name 'AsyncStatus' could not be found (are you missing a using directive or an assembly reference?)
Assets\HoloToolkit-Examples\SharingWithUNET\Scripts\GenericNetworkTransmitter.cs(81,17): error CS0246: The type or namespace name 'StreamSocket' could not be found (are you missing a using directive or an assembly reference?)
Assets\HoloToolkit-Examples\SharingWithUNET\Scripts\GenericNetworkTransmitter.cs(86,17): error CS0246: The type or namespace name 'StreamSocketListener' could not be found (are you missing a using directive or an assembly reference?)
Assets\HoloToolkit\SpatialMapping\Scripts\RemoteMapping\RemoteMeshSource.cs(140,45): error CS0246: The type or namespace name 'IAsyncAction' could not be found (are you missing a using directive or an assembly reference?)
Assets\HoloToolkit\SpatialMapping\Scripts\RemoteMapping\RemoteMeshSource.cs(140,69): error CS0246: The type or namespace name 'AsyncStatus' could not be found (are you missing a using directive or an assembly reference?)
Assets\HoloToolkit\Utilities\Scripts\TextToSpeechManager.cs(228,51): error CS0246: The type or namespace name 'IAsyncOperation<>' could not be found (are you missing a using directive or an assembly reference?)
Assets\HoloToolkit\Utilities\Scripts\TextToSpeechManager.cs(228,67): error CS0246: The type or namespace name 'SpeechSynthesisStream' could not be found (are you missing a using directive or an assembly reference?)
Assets\HoloToolkit\Utilities\Scripts\TextToSpeechManager.cs(66,17): error CS0246: The type or namespace name 'SpeechSynthesizer' could not be found (are you missing a using directive or an assembly reference?)
Assets\HoloToolkit\Utilities\Scripts\TextToSpeechManager.cs(67,17): error CS0246: The type or namespace name 'VoiceInformation' could not be found (are you missing a using directive or an assembly reference?)
v
Assets\HoloToolkit\SpatialMapping\Scripts\RemoteMapping\RemoteMeshSource.cs(182,37): error CS0246: The type or namespace name 'IAsyncOperation<>' could not be found (are you missing a using directive or an assembly reference?)
Assets\HoloToolkit\SpatialMapping\Scripts\RemoteMapping\RemoteMeshSource.cs(182,70): error CS0246: The type or namespace name 'AsyncStatus' could not be found (are you missing a using directive or an assembly reference?)
Assets\HoloToolkit\SpatialMapping\Scripts\RemoteMapping\RemoteMeshSource.cs(31,17): error CS0246: The type or namespace name 'StreamSocket' could not be found (are you missing a using directive or an assembly reference?)

Which scene are you building with?

I had it in an existing project and it stopped working. So I downloaded the latest version, packaged it, and imported it into an empty project. At first I just tried a blank scene with just the camera prefab. Then I tried Color Picker. Same bugs all around. Could it be a problem with the "Windows" namespace?

Yeah it looks like build settings errors of some sort, which is why you'd get the windows namespace errors.

Try updating the .net core from the Nuget Package Manager...

Also, I haven't had much luck with visual studio 17 and unity prior to 5.6

If you're not having any issues with 5.6 then I will just bump up.

Nope. Let me know how that goes.

https://github.com/Microsoft/HoloToolkit-Unity/issues/612

That fixed everything! Still kinda curious what the build issues are. I looked through and nothing jumped out.

I looked into 612 yesterday and it didn't seem to solve the issue. I just suggest everybody move to 5.6.

I suggest only moving to 5.6 if using vs 2017

The problem with 5.6 is that there's still a blocker with the WorldAnchorManager (https://forums.hololens.com/discussion/7203/vs2017-u5-6-crash-winrtscriptingobjectwrapper-internaladdref-reference-count-cannot-be-zero) which is not yet fixed.

I've been using the <IP_ADDRESS>.14393 target build in the meantime. Thanks for the update.


"missing display name" when using React.createClass

Hello people. I'm having trouble linting some old code from a project that triggers the "Component definition is missing display name (react/display-name)" warning.
Minimal example:
import React from "react";

const component = React.createClass({
	displayName: "MyComponent",
	render: function() {
		return (
Hello
);
	}
});

export default component;

Used .eslintrc
{
	"parserOptions": {
		"sourceType": "module",
		"ecmaFeatures": {
			"jsx": true
		}
	},

	"env": {
		"es6": true
	},

	"plugins": [
		"react",
	],

	"rules": {
		"react/display-name": [2],
	}
}

I think you have to use:
    settings: {
      react: {
        createClass: 'createClass'
      }
    }

The latter isn't necessary here; just the createClass pragma.

@jseminck Your suggestion actually worked. Closing. :)


Adding another way of calculating gradients in downsamplers

This PR addresses https://github.com/eth-easl/modyn/issues/505.
A flag is introduced, to switch between using purely the last layer gradients, or the concatenation of last layer gradients and penultimate layer gradients, in selection algorithms.

Thanks, the new tests look good. Feel free to merge!


Fix TypeError on empty compiled code

The following code:
'a'

produces an error since our separator expects a newline.

Closed by PR #78


Skip Graphics Card Window

There used to be a mod to skip the following window that appears if the user's gfx card does not meet the recommended specs:

That mod no longer works, unfortunately.
Do you think you could make a new one to do so? :+1:
Thanks :)

How early does this message appear after starting mabi?

Usually within a few seconds. After launching, but before the blue NGS pop-up.

His patch would work if kanan attaches in time.  Give it a try.

yeah, i'm not entirely sure if it belongs in delayed or not.

Actually, I forgot about something: Kanan doesn't attach to Mabi until after the graphics message...
So while the patch works (tested with mod_sharker), it doesn't work with Kanan. :(

Yeah, I figured that would be the case.  I had to implement multi-client and data folder in such a way that timing didn't matter.  I might think of something though.


New formatters %.3f, %.6f, %.9f

I needed to print out a fixed precision to ensure that the output would always match no matter what the input was, for example 70ms needs to output .070 and 0ms needs to print .000.
I am really new to rust and I hope that this is OK.
I tried to create a macro that would construct Nanosecond{3,6,9} however to do that I needed to use std::concat_idents! which was unstable so you are left with a more verbose matching. If you have any improvements let me know on this PR let me know.
Thanks.

@tomgco I was thinking hard about the generic width/precision specification (which I didn't seriously try to adapt, but glibc and some others have that and I assume we eventually need to do so), but #46 will force pushing a new version to crates.to anyway and I don't see any further reason to delay accepting this except that we will want to do this more generally. Thank you and sorry for delay!


covertMultiframeImageIds ERROR

@sedghi  When I use the function covertMultiframeImageIds to make imageIds(wadouri, multiframe in one dicom), I found that it lost the first image when i use viewport.setStack.
I changed this

to

,it solved.

@rodrigobasilio2022

I think this is fixed in main branch, please re-open if not


fix: add consumer proguard rule

Description
Added a ProGuard consumer rule to prevent app crashes when ProGuard is enabled. Without this fix, the app crashes immediately when ProGuard is enabled.
Tests
Build an example app with ProGuard enabled and verify it opens without crashing.

Awesome, thanks!

Released under 0.1.9


Fix Topological Order calculation for DFPattern Language

@comaniac It was a bug in topological sort for the patterns, memoization wasn't quite applied correctly. Fixed it, added this as a test, and put a check for null pointers in the pass.
Thanks for checking out the language and filing the bug when you ran into an issue! Please let me know if I can help with anything else.

THanks@mbrookhart   @comaniac


Add support for sub config on packages

Protobuild is really a good tool to build protobufs. But when we want to config specific options in one package, there is no way to do that. Because protobuild only support a global config file in the project root.
Support a sub config file inherited from the global config file would be a good solution.
I will appreciate if this feature is added.

Could you give an example where a single project has vastly different configurations?

@tossmilestone Took a closer look here in context of https://github.com/docker/swarmkit/issues/2311 and it seems the problem is the deepcopy plugin. We'll have to make that plugin get controller by a directive per type. The current behavior is a little pathological, so we should fix that before introducing more features to protobuild.
The main problem here is that we could do something like this:
pkg1/Protobuild.toml
pkg2/Protobuild.toml

However, in the case of swarmkit, we have two invocations of protoc in the same package. One invocation has deepcopy enabled and another does not. We'd have to introduce syntax into protobuild to control multiple invocations with different parameters.
The goal of protobuild is to ensure we always do a single invocation, so the packages are created as a proper unit. Thus, I think fixing the problems in swarmkit start with fixing the deepcopy plugin to take a directive, rather than automatically generating Copy() for every type.

@stevvooe Thanks for your reply, I will have a try to fix the swarmkit problems.

@tossmilestone Looks like we are going forward with swarmkit, but checkout the changes in #6 for how we might add per package generation directives.

@stevvooe It's really a great work. I'll look to use it in swarmkit.

@tossmilestone Ok, closing this issue, then.


fix diff for jalali dates

This PR is made to address the bug discussed here.

good.
I am gonna add you as a collaborator, so you have permission to fix the problems and merge the Pull requests.


Override HttpHeaders toString

Override HttpHeaders toString to show in format key1=value1, key2=value2, ...
Fixes #5807

Can one of the admins verify this patch?

@JonathanGiles Should this be reviewed post GA?

@JonathanGiles Should this be reviewed post GA?

Yep, after GA.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: nebrass sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Generate JavaDoc based on schema comments

Generate JavaDoc based on schema comments, so a schema description like
"""
Defines an individual milestone to be created.
Contains milestone type ID, milestone date-time, and optional metadata.
Can be used in schedule mutations.
"""
input CreateMilestoneInput {  ... }

would become

/**
 * Defines an individual milestone to be created.
 * Contains milestone type ID, milestone date-time, and optional metadata.
 * Can be used in schedule mutations.
 */
public class CreateMilestoneInput { ... }

Good suggestion! Added this in this commit for types/input types: https://github.com/Netflix/dgs-codegen/pull/166/commits/0241750c757de354084c4682c8df95c8171f6ab5
We should do the same for enums/interfaces and fields.

Added for fields, interfaces, enums and queries as well now. Closing this issue as being complete!


[FR] Add option to force mean value output

Is your feature request related to a problem? Please describe.
Currently, when selecting multi qubit measurement (not global measurement), the output of the model is a list.
However, when we just need a single value, it would be convenient to "force" the model averaging those values into a single value.
This comes in handy, when calculating coefficients for the particular model.
Describe the solution you'd like
Add a "force_mean" flag (o.s.) to the model call that causes result = result.mean(axis=0) being computed after stacking the resulting list into a tensor.
Describe alternatives you've considered
N/A
Additional context
N/A

add test to check if gradients are available in all output scenarios


[KYUUBI #3428] AlterViewAsCommand should be skipped permission check

Why are the changes needed?

Fix https://github.com/apache/incubator-kyuubi/issues/3428
This pr aims to skip permission check in AlterViewAsCommand if view is a temp view
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

thanks, merged to master


No templates available to create a new plan

I can click through the wizard to create a new plan but no template is served up. When I tick the box that no funder is associated I should get the default template but there is no Write Plan tab (screenshot 1). If I select a funder template I get a json message w/the template ID (screenshot 2).

This seems to be working for me now. I think one of the other PRs must have broken and then fixed it again. Please check again on stage

@briri this is still not working for me. i get the same kinds of errors noted above for default template and just some json info for any other template.

copying our slack comments over - default template is working now but the issue persists w/funder templates. based on the screenshot of the Template page below (note N/A status) it looks like a separate piece of template work may be causing the issue...

this is working as expected now. closing issue.


Cross-compiling vips for x86_64 macos fails when linking against libjxl

Describe the bug
Trying to build vips for x86_64 macos using osxcross, I'm getting a link error, see below. Can't find where that symbol comes from.
Undefined symbols for architecture x86_64:
  "___cpu_model", referenced from:
      _JxlFastLosslessWriteOutput in libjxl.a(enc_fast_lossless.cc.o)
      _JxlFastLosslessEncode in libjxl.a(enc_fast_lossless.cc.o)
      _JxlFastLosslessPrepareFrame in libjxl.a(enc_fast_lossless.cc.o)

This does not happen when building for aarch64 macos in the same conditions.
To Reproduce
Generate a cross toolchain using osxcross, build static libjxl and deps, and try to link vips against them.
Expected behavior
Linking should succeed like it does for aarch64.
Screenshots
N/A
Environment

OS: Arch Linux
Compiler version: clang 15.0.7
CPU type: x86_64
cjxl/djxl version string: 0.8.0

Additional context
Happy to provide additional information if needed.

Thanks for the report!
Could you check if this problems still exists at current head?


Direct sign-on links not available in app properties

Direct sign-on links have been removed some time ago:

You can craft them manually so the guidance is very helpful but the screenshot should be removed.

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

ID: d2507e59-a43d-b5ce-b046-7ebb3dc39b00
Version Independent ID: 0e723cfb-4d9f-3095-58d2-73aef25a22f9
Content: End-user experiences for applications - Azure Active Directory
Content Source: articles/active-directory/manage-apps/end-user-experiences.md
Service: active-directory
Sub-service: app-mgmt
GitHub Login: @kenwith
Microsoft Alias: kenwith

@Wh00T I see that you have closed this issue, let me know if you need any further assistance.


Prevent auto-generation of formly-fields

Question
I would like to create a component with a more complicated layout in html, but still properly bind my inputs to the 'fields' array. I would like to prevent <formly-form [fields]=fields /> from generating an input for each item in 'fields', so that I can manually create  element where I need them to be in my layout. Is this currently possible?
Ultimately, I don't want to use formly json object to describe a highly nested and styled html component which has inputs throughout.

use inline type as described here https://github.com/ngx-formly/ngx-formly/issues/2086#issuecomment-584847953
Note: Available only in v6


cargo list should not show components that are not installed

$ rustup component add clippy-preview --toolchain nightly
$ cargo +stable list | grep clippy
clippy

This happens because rustup places cargo-clippy (as a symlink to rustup) in ~/.cargo/bin, or elsewhere in the user's $PATH. Which in turn is what clippy uses to determine what extensions are installed for listing with cargo list. I'm not entirely sure how to fix this, since it's pretty reasonable for cargo to search the user's $PATH. Perhaps cargo needs to have some way of detecting that it's running under rustup, and to know to really discover whether a given component is installed or not?

cc @akshayknarayan

In fact, the issue goes beyond this. With a fresh install of rustup:
$ cargo +stable list | grep clippy
clippy
$ which cargo-clippy
~/.cargo/bin/cargo-clippy

This is a bug/misfeature in Cargo not really rustup though we might be able to do something to allow the two tools to collude in deciding which proxies are satisfied.


Handling optional-like sequences

As Andrzej pointed out recently in a draft paper on the Library Evolution reflector, the JSON conversion heuristics currently prioritize checking sequence-like before checking optional-like. This means that any optional-like types that are ranges will serialize like a sequence ([42] and [] instead of 42 and null) and fail to deserialize (due to lack of push_back or insert), and, more importantly, an optional type that later adopts a range interface will break any users that use Boost.JSON (without even knowing if any such users exist).
There are multiple other languages whose optional type is a sequence, so it's not far-fetched to suggest that a C++ one might exist also (regardless of whether std::optional ends up being one or not).
There are at least two ways to preemptively address this issue that I can think of (though there are probably more solutions):

Prioritize checking optional-like over sequence-like.
Have sequence-like just assert against optional-like (on the premise that you meet two criteria we don't know what you mean, so we're not going to guess - this would make (de)serialization ill-formed, but ill-formed is better than well-formed and wrong)

I think an optional<pair<string, T>> that is a range is also very nearly map-like, only rejected by emplace probably not returning tuple-like. But it hypothetically could also (maybe you return the previous state as a bool?), so some care needs to be taken there too.

I think a similar question might be asked of described classes that are also ranges. How should those be serialized, as objects or as arrays?

I think a similar question might be asked of described classes that are also ranges. How should those be serialized, as objects or as arrays?

Today as described classes, because description is inherently opt-in, but tomorrow, when reflection arrives, the answer may need to change.

I think a similar question might be asked of described classes that are also ranges. How should those be serialized, as objects or as arrays?

Today as described classes, because description is inherently opt-in, but tomorrow, when reflection arrives, the answer may need to change.

That's not the case right now:
template <bool B>
struct X {
    int m;

    // admittedly this is silly, but it's just an example
    int* begin() requires B { return &m; }
    int* end() requires B { return &m + 1; }

    BOOST_DESCRIBE_CLASS(X, (), (m), (), ());
};

int main() {
    // {"m":1}
    SHOW(boost::json::value_from(X<false>{.m=1}));
    // [1]
    SHOW(boost::json::value_from(X<true>{.m=1}));
}

Since we require all members public for described classes, this basically leads us again to std::array. Not only is it both a tuple and a sequence, but a described class too. :-)

Thank you for the issue. I'll review the conversion category ranking.

So, if a type matches several categories, the user would have to define all but one to derive from false_type?

I think instead of having N independent checks that are either true or false, you could have one variable template whose value is an enum that specifies the conversion kind. By default conversion_kind<T> walks through that ladder of heuristics.
Then the user can just specialize the enum directly to do what they want.
e.g. for the ip address example, which already demonstrates exactly the problem this issue is talking about... instead of specializing is_sequence_like<ip_address> to false (which doesn't really convey user intent at all), they would specialize conversion_category<ip_address> to conversion_kind::tuple_like (which does).

I think instead of having N independent checks that are either true or false, you could have one variable template whose value is an enum that specifies the conversion kind.

It's not really "instead of" because specializing an independent check means something different; it means "my type is detected as X, but it isn't X" (or vice versa).
Whereas what we have here is that the individual checks are correct, the type is detected as X and Y because it's really X and Y, and we have to choose one for the representation.

Right, the enum approach would be the answer to how you "choose one" for the representation. I'd rather affirmatively say "my type should be represented as an X" rather than say the negative "my type is not a Y" and continue to have nowhere in code that indicates that it's an X.

Since we require all members public for described classes, this basically leads us again to std::array. Not only is it both a tuple and a sequence, but a described class too. :-)

std::array is why serialization via reflection should generally be opt-in and/or happen after other category checks; array was the first gotcha I ran into when doing unrestricted reflection.   There's no real way to be ergonomic and not do category checks/requirements as things like variants have at least 3 ways to be represented in JSON that are common(submember like type, other member to determine type, the shape of the variant in serialized form(e.g. existence of members or just the basic JSON type string/bool/class/array).  Enum's as int's has been my default without help because that is what we have in a pre-C++26 world(the underlying type).  For reflection I added a mapping that defaults the to and from string conversions to the reflected names of the enumerators.
But even simple things like numbers are not going to be easy for the user when half the numbers are encoded as strings for various reasons.  There is loads of JSON in the wild like [1,2,"3", "42", 52] where the intent will be to generate a container of integers, not a heterogenous container of integers and strings.  Or some combination of strings/numbers.
Regarding the optional, it fits into a bigger category of Nullable/Option types that are close but not the same.  Specifically, constructing the result is different for things like shared_ptr/optional/raw pointers/... and I had to create a trait for this.  I did prioritize it over other categories because that is how JSON is normally reflected here.   Changing that is easy though as the categories can be specified by the user through the mapping and in 26 via attributes too.   [] and null really are not the same thing and encoding an empty optional like that is just weird.  seeing "member": 1/"member": [] or "member": [1]/"member": []would be surprising.  People will want"member": 1/"member": nullor"member": 1`/no member generated for empty with an option to choose which encoding.  I have seen orgs that want everything encoded, null or not.
I have a trait for containers, but things mostly we can check that with begin/end/insert and that covered most cases; std::array stands out here.  But this comes back to how to construct things is a common enough question that I had to make it a part of the api with some good defaults.


Do not use thin scrollbars on Firefox

Fixes #16737
In #7269, thin scrollbars were added in Arc Green theme. It got moved in base theme in #13361.
This PR removes the use of thin scrollbars which causes an accessibility issue. The scrollbars become too thin to be dragged.

CI seems to have failed randomly.

Codecov Report

Merging #16738 (41ad070) into main (4debb74) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main   #16738      +/-   ##
==========================================
- Coverage   45.37%   45.36%   -0.02%
==========================================
  Files         760      760
  Lines       85482    85482
==========================================
- Hits        38785    38776       -9
- Misses      40414    40423       +9
  Partials     6283     6283

Impacted Files
Coverage Δ

modules/process/manager.go
72.83% <0.00%> (-2.47%)
:arrow_down:

modules/log/event.go
60.64% <0.00%> (-1.86%)
:arrow_down:

modules/queue/workerpool.go
53.05% <0.00%> (-1.53%)
:arrow_down:

models/repo_list.go
77.64% <0.00%> (-0.79%)
:arrow_down:

modules/queue/unique_queue_disk_channel.go
48.63% <0.00%> (+1.36%)
:arrow_up:

modules/git/blame.go
67.14% <0.00%> (+1.42%)
:arrow_up:

Continue to review full report at Codecov.

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

Please send backport to v1.15


ravedude: Add flake.nix

(not sure if you'd be interested in a pull request like that, but I figured it won't hurt to try 🙂)
This PR adds a flake.nix that Nix / NixOS users can use to install ravedude on their machines (considering that compiling it requires udev and pkg-config, so it's not as straightforward as "regular" cargo install).
(btw, for NixOS flake users: that requires pulling the dependency as inputs.ravedude.url = "github:Rahix/avr-hal?dir=ravedude";)

(btw, for NixOS flake users: that requires pulling the dependency as inputs.ravedude.url = "github:Rahix/avr-hal?dir=ravedude";)

Something we should mention in the README?  Sorry, I don't have any clue about NixOS and best practices there...

I just can't guarantee I won't accidentally break these files ;)

Yeah, that's understandable 😇

Is there anything I should know? For example, will they need an update when I release a new ravedude version?

The only things that come to my mind are major toolchain bumps and requiring new external system-dependencies (like, I dunno, some Xorg libs) -- if that ever happens, feel free to ping me!

Something we should mention in the README?

Right, right - added 🙂

if that ever happens, feel free to ping me!

Will do, thanks!


Support VolumeModeBinding in Tenant StorageClass

What this PR does / why we need it:
KubeVirt CSI driver doesn't set the VolumeBindingMode based on the Tenant CRD. This PR supports the passing of the VolumeBindingMode from the tenant CR and address it in tenant cluster storage classes
Support KubeVirt VolumeBindingMode in the tenant storage class

/approve
/lgtm


Running "npm run build-assets" results in error on Windows 10

Getting error when trying to build-assets with npm:
npm ERR! Failed at the<EMAIL_ADDRESS>build-assets script 'UV_THREADPOOL_SIZE=8 webpack -p --progress'.
npm ERR! This is most likely a problem with the saleor package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     UV_THREADPOOL_SIZE=8 webpack -p --progress
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs saleor
npm-debug.txt

This assumes you have webpack installed and available somewhere on your %PATH%.

Okay, thanks!  I just ran webpack directly to bundle, and this fixed the problem...


uv: 0.5.1 -> 0.5.2

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I'm building it on my machine, but dependencies's binary cache not avaliable.

I got hash error, I'll fix it

I gave up compiling, I'll wait ofborg compile this.


Add "Upgrading from v2 -> v3" to README.md

Initial checklist

[x] I read the support docs
[x] I read the contributing guide
[x] I agree to follow the code of conduct
[x] I searched issues and couldn’t find anything (or linked relevant results below)
[x] If applicable, I’ve added docs and tests

Description of changes
There was a breaking change in v3 (as SemVer would suggest), and it has a simple fix, but the upgrade path is not obvious in the docs.

Hi, thanks for your PR!
I’d say that this makes more sense in the changelog, as people that upgrade often look at that.
If they’d reach the readme, then the sections both before and after what you added also explain in detail how to access what is exported.
I’ve updated the release notes: https://github.com/syntax-tree/unist-util-visit/releases/tag/3.0.0. Thanks!


Fluent controls Css is not getting applied from css file

🐛 Bug Report
Fluent control: CSS  is not getting applied from css file
We have separate project for custom controls where  we are using fluent controls. We are adding razor specific css file along with the controls. Css classes from css file are not getting applied. When we move the same classes in to .razor file as an internal css they are getting applied.
💻 Repro or Code Sample
Below is the code for .razor file

And We have added below css in .razor.css file

🤔 Expected Behavior
Dialog height and width should get applied
😯 Current Behavior
Dialog height and width is not get applied
🌍 Your Environment

Windows 11
Browser Microsoft Edge, Google Chrome
.NET 7.0 and FAST Version 2.4.1

We need a repo to be able to examine this. Can you supply one?

Closing this as no response received


Questions about program

Hi! Thank you to share your nice work. I would like to understand how does it work.
I want to use this feature to load all info about ali orders to my 1C:Money program.
http://v8.1c.ru/money/
http://online.1c.ru/catalog/programs/program/14229054/
And that why I have some questions.

Can you pls tell me abou sheets.cpython-35.pyc. What is this py byte code file with?
As I understand it is possible to generate the json file with all info about orders?

 If you just want to grab only the json, this module will not be required. You may comment out the line for google sheets in the main code


Courses

Build UI Isometric Tower Defense Godot

https://www.youtube.com/watch?v=hVAdr0AboYU&list=PLGyWVeC9tYcACjEz_L8FZL6w3-w2P7Q4t&index=2
https://www.youtube.com/watch?v=Z0iNo9Q-cuU

https://kidscancode.org/godot_recipes/kyn/path2d/

https://www.reddit.com/r/godot/comments/iban3j/draw_path2d/

https://github.com/gingerageous/Isometric-Tower-Defense-3.2

added to doc https://github.com/uralys/fox/blob/master/docs/tips/gamedev.md#godot-scriptsexamples


2023.1 cherries

@Alex-Welsh we can close this one

@Alex-Welsh we can close this one, it's not needed anymore

Has everything been backported upstream? Or are we just not using these features anymore?

@Alex-Welsh we can close this one, it's not needed anymore

Has everything been backported upstream? Or are we just not using these features anymore?

Perhaps you're talking about the magnum-capi-helm parts which are now in a separate repo? Probably we need the other bits?


Load additional plugins specified in another file

The standard way to load plugins is of course setting plugins=(...) in the .zshrc. However, since I work with many different kind of systems (from Mac, over NetBSD to Linux), and some of the plugins are system specific, I'd like to have some additional plugin definitions in a separate file. I use .zshrc for the common stuff, which is of course in my "dot files" repository, and there is a .zshrc_local which holds machine specific configuration (environment settings, custom aliases etc.), so I can simply modify that for each system without interfering with the common rc file.
Now my question: what would be the easiest way to have some additional plugins activated in that second file?
Adding another plugins=(osx brew) for course will not trigger the load of the plugins. But sourcing source $ZSH/oh-my-zsh.sh seems also an overkill (that's what I do now)?

This is a difficult one. I suggest sourcing the .zshrc_local file from within your main .zshrc file, and modifying the plugins array in your .zshrc_local file.
That would require that you source the local file before sourcing oh-my-zsh.sh, so if you have custom aliases and stuff in there they might get overwritten by OMZ. If you post a sample .zshrc_local file I can give you more specific instructions.


Synthesis failed for Google.Analytics.Data.V1Alpha

Hello! Autosynth couldn't regenerate Google.Analytics.Data.V1Alpha. :broken_heart:
Here's the output from running synth.py:
020-10-05 22:36:54,226 autosynth [DEBUG] > Running: git log -1 --pretty=%at 054339f961e16b2a359b0efc35a927b5f899c90f
2020-10-05 22:36:54,230 autosynth [DEBUG] > Running: git log -1 --pretty=%at 9a69333d45ee0e03246d72127d3d55399eb16ac7
2020-10-05 22:36:54,234 autosynth [DEBUG] > Running: git log -1 --pretty=%at c941026e5e3d600817a20e9ab4d4be03dff21a68
2020-10-05 22:36:54,238 autosynth [DEBUG] > Running: git log -1 --pretty=%at cb7fc620590382a4a2ea6ffdf6f51ae0e77bbbb5
2020-10-05 22:36:54,241 autosynth [DEBUG] > Running: git log -1 --pretty=%at ffadc4fed6c3cd46ac40f9c88eada93d32fb01b9
2020-10-05 22:36:54,245 autosynth [DEBUG] > Running: git log -1 --pretty=%at fd8f400a583e3f877731a838842775c2c863c3da
2020-10-05 22:36:54,250 autosynth [DEBUG] > Running: git log -1 --pretty=%at 714c619b7d4007b850b81eb919c9ca7c5afc4867
2020-10-05 22:36:54,254 autosynth [DEBUG] > Running: git log -1 --pretty=%at 7ab31c71fd81b85dc4b5a439fe654dbd6578c858
2020-10-05 22:36:54,258 autosynth [DEBUG] > Running: git log -1 --pretty=%at 793cd56ceba3fbdcabd99b8e24a5c49be0fe8c12
2020-10-05 22:36:54,261 autosynth [DEBUG] > Running: git log -1 --pretty=%at aa72330a8d16d281df131e8d37bb1a4bde53401f
2020-10-05 22:36:54,265 autosynth [DEBUG] > Running: git log -1 --pretty=%at 3738209d5e12f97b208213bd66359bf4c9d12245
2020-10-05 22:36:54,269 autosynth [DEBUG] > Running: git log -1 --pretty=%at 7e837ae45f7b66519a36fd258fe72f08e71725d4
2020-10-05 22:36:54,272 autosynth [DEBUG] > Running: git log -1 --pretty=%at 4f2a18a10e89afa485f4023bf31f2bb120a2d54d
2020-10-05 22:36:54,276 autosynth [DEBUG] > Running: git log -1 --pretty=%at 62a8f17878bae4fbdbcae468e6e278a55ff38878
2020-10-05 22:36:54,280 autosynth [DEBUG] > Running: git log -1 --pretty=%at eabe7c0fde64b1451df6ea171b2009238b0df07c
2020-10-05 22:36:54,283 autosynth [DEBUG] > Running: git log -1 --pretty=%at c3c12961380f5612d41bbda0944454a5e88b63b0
2020-10-05 22:36:54,287 autosynth [DEBUG] > Running: git log -1 --pretty=%at cc0c4e7790fc57b3e720dfdd97b71ff85c85c911
2020-10-05 22:36:54,291 autosynth [DEBUG] > Running: git checkout 239c887f684baf1a497b54f9e285a2a20994ffb4
Note: checking out '239c887f684baf1a497b54f9e285a2a20994ffb4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 239c887f6 Release Google.Cloud.Firestore version 2.2.0
2020-10-05 22:36:54,312 autosynth [DEBUG] > Running: git checkout cc0c4e7790fc57b3e720dfdd97b71ff85c85c911
Note: checking out 'cc0c4e7790fc57b3e720dfdd97b71ff85c85c911'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at cc0c4e77 feat: add v1 Cloud Billing Budgets API
2020-10-05 22:36:54,329 autosynth [DEBUG] > Running: git branch -f autosynth-Google.Analytics.Data.V1Alpha-35
2020-10-05 22:36:54,334 autosynth [DEBUG] > Running: git checkout autosynth-Google.Analytics.Data.V1Alpha-35
Switched to branch 'autosynth-Google.Analytics.Data.V1Alpha-35'
2020-10-05 22:36:54,356 autosynth [INFO] > Running synthtool
2020-10-05 22:36:54,356 autosynth [INFO] > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
2020-10-05 22:36:54,356 autosynth [DEBUG] > log_file_path: /tmpfs/src/logs/Google.Analytics.Data.V1Alpha/35/sponge_log.log
2020-10-05 22:36:54,359 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --
2020-10-05 22:36:54,603 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/google-cloud-dotnet/apis/Google.Analytics.Data.V1Alpha/synth.py.
On branch autosynth-Google.Analytics.Data.V1Alpha-35
nothing to commit, working tree clean
Skipping microgenerator fetch/build: already built, and running on Kokoro
Building existing version of Google.Analytics.Data.V1Alpha for compatibility checking
Generating Google.Analytics.Data.V1Alpha
Building new version of Google.Analytics.Data.V1Alpha for compatibility checking
AnalyticsDataApiResourceNames.g.cs(261,41): error CS0103: The name 'Name' does not exist in the current context [/home/kbuilder/.cache/synthtool/google-cloud-dotnet/apis/Google.Analytics.Data.V1Alpha/Google.Analytics.Data.V1Alpha/Google.Analytics.Data.V1Alpha.csproj]
AnalyticsDataApiResourceNames.g.cs(261,81): error CS0103: The name 'Name' does not exist in the current context [/home/kbuilder/.cache/synthtool/google-cloud-dotnet/apis/Google.Analytics.Data.V1Alpha/Google.Analytics.Data.V1Alpha/Google.Analytics.Data.V1Alpha.csproj]
AnalyticsDataApiResourceNames.g.cs(262,20): error CS0103: The name 'Name' does not exist in the current context [/home/kbuilder/.cache/synthtool/google-cloud-dotnet/apis/Google.Analytics.Data.V1Alpha/Google.Analytics.Data.V1Alpha/Google.Analytics.Data.V1Alpha.csproj]
AnalyticsDataApiResourceNames.g.cs(273,41): error CS0103: The name 'Name' does not exist in the current context [/home/kbuilder/.cache/synthtool/google-cloud-dotnet/apis/Google.Analytics.Data.V1Alpha/Google.Analytics.Data.V1Alpha/Google.Analytics.Data.V1Alpha.csproj]
AnalyticsDataApiResourceNames.g.cs(273,81): error CS0103: The name 'Name' does not exist in the current context [/home/kbuilder/.cache/synthtool/google-cloud-dotnet/apis/Google.Analytics.Data.V1Alpha/Google.Analytics.Data.V1Alpha/Google.Analytics.Data.V1Alpha.csproj]
AnalyticsDataApiResourceNames.g.cs(274,20): error CS0103: The name 'Name' does not exist in the current context [/home/kbuilder/.cache/synthtool/google-cloud-dotnet/apis/Google.Analytics.Data.V1Alpha/Google.Analytics.Data.V1Alpha/Google.Analytics.Data.V1Alpha.csproj]
2020-10-05 22:37:03,141 synthtool [ERROR] > Failed executing /bin/bash generateapis.sh --check_compatibility Google.Analytics.Data.V1Alpha:

None
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/kbuilder/.cache/synthtool/google-cloud-dotnet/apis/Google.Analytics.Data.V1Alpha/synth.py", line 26, in <module>
    hide_output = False)
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 39, in run
    raise exc
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 33, in run
    encoding="utf-8",
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '('/bin/bash', 'generateapis.sh', '--check_compatibility', 'Google.Analytics.Data.V1Alpha')' returned non-zero exit status 1.
2020-10-05 22:37:03,174 autosynth [ERROR] > Synthesis failed
2020-10-05 22:37:03,174 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 239c887f6 Release Google.Cloud.Firestore version 2.2.0
2020-10-05 22:37:03,206 autosynth [DEBUG] > Running: git checkout autosynth-Google.Analytics.Data.V1Alpha
Switched to branch 'autosynth-Google.Analytics.Data.V1Alpha'
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 706, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 541, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 686, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 375, in synthesize_loop
    has_changes = toolbox.synthesize_version_in_new_branch(synthesizer, youngest)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 273, in synthesize_version_in_new_branch
    synthesizer.synthesize(synth_log_path, self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 120, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

I'll look into this - it sounds like it's probably a configuration issue.

Autosynth passed, closing! :green_heart:


Add winning D-Man to conditional compilation

Found another lovely D-Man. Author is again meiz_sandwich
My motivation here is that CTFE is one of the features that make D a winner. Otherwise templates could also be used.

This seems a little forced

While a great drawing, I don't think it matches the theme of conditional compilation.

While a great drawing, I don't think it matches the theme of conditional compilation.

Fair enough, how about

Why D? (moving the menu to the left)
Builtin rationale
Feature overview
Lazy evaluation

In any case if someone has a good use for this graphic, please go ahead ;-)


Can I disable animation and clear all messages in current view?

Hi, I want to clear message and reload data without animation and without scrolling. is that possible only with just sendText()?

You'll have to call functions on NMessenger instead of NMessengerViewController for this.
To clear all messages without animation, you can use self.messengerView.clearALLMessages() in NMessengerViewController. Reloading messages is harder since it's not the typical "tableView with data source" model. To reload data you'll have to add all of the messages again. There are a few functions in NMessenger which make it easy to add an array of messages, but you'll have to create those messages first. For example:
/**
     Adds an array of messages to the messenger.
     - parameter messages: An array of messages
     - parameter scrollsToMessage: If marked true, the tableview will scroll to the newly added
     - parameter animation: An animation for newly added messages
     - parameter completion: A completion handler
     */
    public func addMessagesWithBlock(messages: [GeneralMessengerCell], scrollsToMessage: Bool, withAnimation animation: UITableViewRowAnimation, completion: (()->Void)?)

would be called with self.messengerView.addMessagesWithBlock(...).
There aren't any public functions in NMessengerViewController which solely create GeneralMessengerCells for text, image, etc. Would it be helpful to expose those functions?

Thanks a lot for the reply. After reading your comment I checked NMessengerViewController.swift source code and found a function called postText() which generates a GeneralMessengerCell. Then I called addMessagesWithBlock() and it's finally working.

Cool. I think I'm still going to make those functions public.


Adjust bad health detection thresholds

Task/Issue URL: https://app.asana.com/0/1199371158290272/1201862327796480/f
Description
Lowerin the bad health detection thresholds to improve the time to repair. See task for more dettails
Steps to test this PR
Test new thresholds

[ ] Install from this branch the internal build
[ ] Enable AppTP
[ ] Filter logcat by AppBadHealthStateHandler|AppTPHealthMonitor
[ ] Go to diagnostics settings
[ ] Click on BAD HEALTH
[ ] Verify the VPN restarts 3 consecutive times (Restarting the VPN... message) before the backoff kicks in (Cancelled VPN restart message)
[ ] Verify the this time the backoff kicks in and cancels the VPN restart (Cancelled VPN restart message)
[ ] Verify the VPN restarts 1 time
[ ] ...

Current dependencies on/for this PR:

develop

PR #1766   (this PR)

This comment was auto-generated by Graphite.


Logstash not tagging(?) things correctly

Describe the bug
Logs should be mutated into usable data that allows for the data to be ingested and displayed on dashboards. This is not happening and the message is not translated into usable data.
To Reproduce
Steps to reproduce the behavior:
Install pfelk using this project. Look at the dashboards
Screenshots
If applicable, add screenshots to help explain your problem.

Platform Version informations (please complete the following information):
- printf "$(uname -srm)\n$(cat /etc/os-release)\n":
Linux 5.3.13-1-pve x86_64
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

 - ansible 2.9.6
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.17 (default, Nov  7 2019, 10:07:09) [GCC 7.4.0]

Elastic, Logstash, Kibana:

Version of ELK (dpkg -l elasticsearch|logstash|kibana):  7.6.0

Relevant entries of ELK service logs/status

service elasticsearch|logstash|kibana status
tailing corresponding logs eg. /var/log/logstash-plain.log

WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logs
tash. You can specify the path using --path.settings. Continuing using the defaults
Could not find log4j2 configuration at path /usr/share/logstash/config/log4j2.properties. Using
 default config which logs errors to the console
[INFO ] 2020-03-16 18:31:57.669 [LogStash::Runner] runner - Starting Logstash {"logstash.versio
n"=>"7.6.1"}
[INFO ] 2020-03-16 18:32:01.309 [Converge PipelineAction::Create<main>] Reflections - Reflectio
ns took 42 ms to scan 1 urls, producing 20 keys and 40 values
[INFO ] 2020-03-16 18:32:02.516 [[main]-pipeline-manager] elasticsearch - Elasticsearch pool URLs updated {:changes=>{:removed=>[], :added=>[http://localhost:9200/]}}
[WARN ] 2020-03-16 18:32:02.736 [[main]-pipeline-manager] elasticsearch - Restored connection to ES instance {:url=>"http://localhost:9200/"}
[INFO ] 2020-03-16 18:32:02.939 [[main]-pipeline-manager] elasticsearch - ES Output version determined {:es_version=>7}
[WARN ] 2020-03-16 18:32:02.942 [[main]-pipeline-manager] elasticsearch - Detected a 6.x and above cluster: the `type` event field won't be used to determine the document _type {:es_version=>7}
[INFO ] 2020-03-16 18:32:03.010 [[main]-pipeline-manager] elasticsearch - New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["http://localhost:9200"]}
[INFO ] 2020-03-16 18:32:03.019 [[main]-pipeline-manager] geoip - Using geoip database {:path=>"/usr/share/GeoIP/GeoLite2-City.mmdb"}
[INFO ] 2020-03-16 18:32:03.060 [[main]-pipeline-manager] geoip - Using geoip database {:path=>"/usr/share/GeoIP/GeoLite2-ASN.mmdb"}
[INFO ] 2020-03-16 18:32:03.113 [Ruby-0-Thread-6: :1] elasticsearch - Using default mapping template
[INFO ] 2020-03-16 18:32:03.193 [Ruby-0-Thread-6: :1] elasticsearch - Attempting to install template {:manage_template=>{"index_patterns"=>"logstash-*", "version"=>60001, "settings"=>{"index.refresh_interval"=>"5s", "number_of_shards"=>1}, "mappings"=>{"dynamic_templates"=>[{"message_field"=>{"path_match"=>"message", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false}}}, {"string_fields"=>{"match"=>"*", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false, "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}}}}], "properties"=>{"@timestamp"=>{"type"=>"date"}, "@version"=>{"type"=>"keyword"}, "geoip"=>{"dynamic"=>true, "properties"=>{"ip"=>{"type"=>"ip"}, "location"=>{"type"=>"geo_point"}, "latitude"=>{"type"=>"half_float"}, "longitude"=>{"type"=>"half_float"}}}}}}}
[INFO ] 2020-03-16 18:32:03.506 [[main]-pipeline-manager] geoip - Using geoip database {:path=>"/usr/share/GeoIP/GeoLite2-ASN.mmdb"}
[INFO ] 2020-03-16 18:32:03.587 [[main]-pipeline-manager] geoip - Using geoip database {:path=>"/usr/share/GeoIP/GeoLite2-City.mmdb"}
[WARN ] 2020-03-16 18:32:03.686 [[main]-pipeline-manager] LazyDelegatingGauge - A gauge metric of an unknown type (org.jruby.specialized.RubyArrayOneObject) has been create for key: cluster_uuids. This may result in invalid serialization.  It is recommended to log an issue to the responsible developer/development team.
[INFO ] 2020-03-16 18:32:03.690 [[main]-pipeline-manager] javapipeline - Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50, "pipeline.max_inflight"=>500, "pipeline.sources"=>["/etc/logstash/conf.d/01-inputs.conf", "/etc/logstash/conf.d/11-firewall.conf", "/etc/logstash/conf.d/12-suricata.conf", "/etc/logstash/conf.d/13-snort.conf", "/etc/logstash/conf.d/15-others.conf", "/etc/logstash/conf.d/20-geoip.conf", "/etc/logstash/conf.d/50-outputs.conf"], :thread=>"#<Thread:0x297fca02 run>"}
[INFO ] 2020-03-16 18:32:08.349 [[main]-pipeline-manager] javapipeline - Pipeline started {"pipeline.id"=>"main"}
[INFO ] 2020-03-16 18:32:08.461 [Agent thread] agent - Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
[INFO ] 2020-03-16 18:32:08.485 [[main]<udp] udp - Starting UDP listener {:address=>"<IP_ADDRESS>:5140"}
[INFO ] 2020-03-16 18:32:08.570 [[main]<udp] udp - UDP listener started {:address=>"<IP_ADDRESS>:5140", :receive_buffer_bytes=>"106496", :queue_size=>"2000"}
[INFO ] 2020-03-16 18:32:08.805 [Api Webserver] agent - Successfully started Logstash API endpoint {:port=>9600}

Are there any alterations to the logstash config files? If yes, can you paste them here?

There are modifications (specifying IPs, network interfaces, etc) I'll go
ahead and post them in a bit. I am locked out at the moment as the computer
I have login info on isn't allowing SSH access and I'm ooto. Should have it
around 2-3pm PST.
On Tue, Mar 17, 2020, 10:17 AM fktkrt<EMAIL_ADDRESS>wrote:

Are there any alterations to the logstash config files? If yes, can you
paste them here?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/3ilson/ansible-pfelk/issues/4#issuecomment-600194179,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFURNME27T3DMZ5A4JFEKHLRH6WCDANCNFSM4LMRUJPQ
.

# 01-inputs.conf
input {
  udp {
     port => 5140
  }
}
filter {
  #Adjust to match the IP address of pfSense or OPNsense
  if [host] =~ /123\.123\.123\.123/ {
    mutate {
      add_tag => ["pf", "Ready"]
    }
  }
  if [host] =~ /123\.123\.123\.123/ {
    mutate {
      add_tag => ["pf-2", "Ready"]
    }
  }
  if [host] =~ /123\.123\.123\.123/ {
    mutate {
      add_tag => ["pf-3", "Ready"]
    }
  }
  ##############################
  if "pf" in [tags] {
    grok {
      # OPNsense - Enable/Disable the line below based on firewall platform
      #match => { "message" => "%{SYSLOGTIMESTAMP:pf_timestamp} %{SYSLOGHOST:pf_hostname} %{DATA:pf_program}(?:\[%{POSINT:pf_pid}\])?: %{GREEDYDATA:pf_message}" }
      # OPNsense
      # pfSense - Enable/Disable the line below based on firewall platform
      match => { "message" => "%{SYSLOGTIMESTAMP:pf_timestamp} %{DATA:pf_program}(?:\[%{POSINT:pf_pid}\])?: %{GREEDYDATA:pf_message}" }
      # pfSense
      add_field => [ "received_at", "%{@timestamp}" ]
      add_field => [ "received_from", "%{host}" ]
    }
    mutate {
      rename => { "[message]" => "[event][original]"}
      remove_tag => "Ready"
    }
  }
}

# 11-firewall.conf
filter {
  if "pf" in [tags] and [pf_program] =~ /^filterlog$/ {
    grok {
      add_tag => [ "firewall" ]
      patterns_dir => ["/etc/logstash/conf.d/patterns"]
      match => ["pf_message", "%{PF_LOG_ENTRY}"]
    }
    # Change interface as desired
      if [interface] =~ /^ixl3$/ {
        mutate {
          add_tag => [ "WAN" ]
      }
    }
     # Change interface as desired
      if [interface] =~ /^bge0$/ {
        mutate {
          add_tag => [ "DEV" ]
      }
    }
    # Change interface as desired
      if [interface] =~ /^ixl0$/ {
        mutate {
          add_tag => [ "SYNC" ]
      }
    }
    # Change interface as desired
      if [interface] =~ /^ixl1$/ {
        mutate {
          add_tag => [ "LAN" ]
      }
    }
    # Change interface as desired
      if [interface] =~ /^ixl2$/ {
        mutate {
          add_tag => [ "MGM" ]
      }
    }
    mutate {
      add_field => { "[event][dataset]" => "firewall"}
      update => { "[direction]" => "%{[direction]}bound" }
      update => { "[network][type]" => "ipv%{[network][type]}" }
    }
  }
}

50-outputs.conf
output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "pf-%{+YYYY.MM.dd}"
  }
}

These are all of the customizations.

Here is a sanitized example log:
message:
    <134>Mar 18 10:22:45 filterlog: 97,,,1458154052,enc0,match,pass,in,4,0x88,,64,0,0,DF,17,udp,143,<IP_ADDRESS>,456.456.456.456,49301,1719,123
@timestamp:
    Mar 18, 2020 @ 17:22:45.883
@version:
    1
host:
    789.789.789.789
_id:
    kJmr7nABHfckdYZzQiZg
_type:
    _doc
_index:
    pf-2020.03.18
_score:
    -

Does the first firewall parse correctly?  I’ll have to do some testing but
based on the provided config, I would make all the tags equal “pf” and add
a third tag such as “firewall1”, “firewall2” abs so on.
Additionally, if the logs are traversing though a firewall, you may have to
omit the IP address and utilize different ports.
If your able to chat online, I’d be willing to help you though it.
Andrew
On Wed, Mar 18, 2020 at 13:31 skluthe<EMAIL_ADDRESS>wrote:

01-inputs.conf
input {
udp {
port => 5140
}
}
filter {
#Adjust to match the IP address of pfSense or OPNsense
if [host] =~ /<IP_ADDRESS>/ {
mutate {
add_tag => ["pf", "Ready"]
}
}
if [host] =~ /<IP_ADDRESS>/ {
mutate {
add_tag => ["pf-2", "Ready"]
}
}
if [host] =~ /<IP_ADDRESS>/ {
mutate {
add_tag => ["pf-3", "Ready"]
}
}
##############################
if "pf" in [tags] {
grok {
# OPNsense - Enable/Disable the line below based on firewall platform
#match => { "message" => "%{SYSLOGTIMESTAMP:pf_timestamp} %{SYSLOGHOST:pf_hostname} %{DATA:pf_program}(?:[%{POSINT:pf_pid}])?: %{GREEDYDATA:pf_message}" }
# OPNsense
# pfSense - Enable/Disable the line below based on firewall platform
match => { "message" => "%{SYSLOGTIMESTAMP:pf_timestamp} %{DATA:pf_program}(?:[%{POSINT:pf_pid}])?: %{GREEDYDATA:pf_message}" }
# pfSense
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
mutate {
rename => { "[message]" => "[event][original]"}
remove_tag => "Ready"
}
}
}
11-firewall.conf
filter {
if "pf" in [tags] and [pf_program] =~ /^filterlog$/ {
grok {
add_tag => [ "firewall" ]
patterns_dir => ["/etc/logstash/conf.d/patterns"]
match => ["pf_message", "%{PF_LOG_ENTRY}"]
}
# Change interface as desired
if [interface] =~ /^ixl3$/ {
mutate {
add_tag => [ "WAN" ]
}
}
# Change interface as desired
if [interface] =~ /^bge0$/ {
mutate {
add_tag => [ "DEV" ]
}
}
# Change interface as desired
if [interface] =~ /^ixl0$/ {
mutate {
add_tag => [ "SYNC" ]
}
}
# Change interface as desired
if [interface] =~ /^ixl1$/ {
mutate {
add_tag => [ "LAN" ]
}
}
# Change interface as desired
if [interface] =~ /^ixl2$/ {
mutate {
add_tag => [ "MGM" ]
}
}
mutate {
add_field => { "[event][dataset]" => "firewall"}
update => { "[direction]" => "%{[direction]}bound" }
update => { "[network][type]" => "ipv%{[network][type]}" }
}
}
}
50-outputs.conf
output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "pf-%{+YYYY.MM.dd}"
}
}
These are all of the customizations.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/3ilson/ansible-pfelk/issues/4#issuecomment-600765465,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEA2HR5HEYOIL3244AFNBCDRIEAQ5ANCNFSM4LMRUJPQ
.

@a3ilson I'm avaliable to chat for the next 20 minutes.

Will be available for longer after 12 if you think it will be longer. @a3ilson

The first firewall is a direct connection but the other two firewalls go through the first one to reach logstash. I'm not sure how to add an aditional tag like you're recommending. Most of my experience has been with beats so I'm still new to logstash. (meant 12pm PST above by the way).

Let me send you an updated configuration to try... you’ll need to update
with the IP address. Are the firewalls all accessible on the same network?
On Wed, Mar 18, 2020 at 13:31 skluthe<EMAIL_ADDRESS>wrote:

01-inputs.conf
input {
udp {
port => 5140
}
}
filter {
#Adjust to match the IP address of pfSense or OPNsense
if [host] =~ /<IP_ADDRESS>/ {
mutate {
add_tag => ["pf", "Ready"]
}
}
if [host] =~ /<IP_ADDRESS>/ {
mutate {
add_tag => ["pf-2", "Ready"]
}
}
if [host] =~ /<IP_ADDRESS>/ {
mutate {
add_tag => ["pf-3", "Ready"]
}
}
##############################
if "pf" in [tags] {
grok {
# OPNsense - Enable/Disable the line below based on firewall platform
#match => { "message" => "%{SYSLOGTIMESTAMP:pf_timestamp} %{SYSLOGHOST:pf_hostname} %{DATA:pf_program}(?:[%{POSINT:pf_pid}])?: %{GREEDYDATA:pf_message}" }
# OPNsense
# pfSense - Enable/Disable the line below based on firewall platform
match => { "message" => "%{SYSLOGTIMESTAMP:pf_timestamp} %{DATA:pf_program}(?:[%{POSINT:pf_pid}])?: %{GREEDYDATA:pf_message}" }
# pfSense
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
mutate {
rename => { "[message]" => "[event][original]"}
remove_tag => "Ready"
}
}
}
11-firewall.conf
filter {
if "pf" in [tags] and [pf_program] =~ /^filterlog$/ {
grok {
add_tag => [ "firewall" ]
patterns_dir => ["/etc/logstash/conf.d/patterns"]
match => ["pf_message", "%{PF_LOG_ENTRY}"]
}
# Change interface as desired
if [interface] =~ /^ixl3$/ {
mutate {
add_tag => [ "WAN" ]
}
}
# Change interface as desired
if [interface] =~ /^bge0$/ {
mutate {
add_tag => [ "DEV" ]
}
}
# Change interface as desired
if [interface] =~ /^ixl0$/ {
mutate {
add_tag => [ "SYNC" ]
}
}
# Change interface as desired
if [interface] =~ /^ixl1$/ {
mutate {
add_tag => [ "LAN" ]
}
}
# Change interface as desired
if [interface] =~ /^ixl2$/ {
mutate {
add_tag => [ "MGM" ]
}
}
mutate {
add_field => { "[event][dataset]" => "firewall"}
update => { "[direction]" => "%{[direction]}bound" }
update => { "[network][type]" => "ipv%{[network][type]}" }
}
}
}
50-outputs.conf
output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "pf-%{+YYYY.MM.dd}"
}
}
These are all of the customizations.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/3ilson/ansible-pfelk/issues/4#issuecomment-600765465,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEA2HR5HEYOIL3244AFNBCDRIEAQ5ANCNFSM4LMRUJPQ
.

Give this a try (update with the corresponding firewall IP addresses):
01-inputs.conf
input {
udp {
port => 5140
}
}
filter {
#Adjust to match the IP address of pfSense or OPNsense
if [host] =~ /<IP_ADDRESS>/ {
mutate {
add_tag => ["pf", "firewall-1", "Ready"]
}
}
if [host] =~ /<IP_ADDRESS>/ {
mutate {
add_tag => ["pf", "firewall-2", "Ready"]
}
}
if [host] =~ /<IP_ADDRESS>/ {
mutate {
add_tag => ["pf", "firewall-3", "Ready"]
}
}
##############################
if "pf" in [tags] {
grok {
# OPNsense - Enable/Disable the line below based on firewall platform
#match => { "message" => "%{SYSLOGTIMESTAMP:pf_timestamp} %{SYSLOGHOST:pf_hostname} %{DATA:pf_program}(?:[%{POSINT:pf_pid}])?: %{GREEDYDATA:pf_message}" }
# OPNsense
# pfSense - Enable/Disable the line below based on firewall platform
match => { "message" => "%{SYSLOGTIMESTAMP:pf_timestamp} %{DATA:pf_program}(?:[%{POSINT:pf_pid}])?: %{GREEDYDATA:pf_message}" }
# pfSense
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
mutate {
rename => { "[message]" => "[event][original]"}
remove_tag => "Ready"
}
}
}

The first firewall is a direct connection but the other two firewalls go through the first one to reach logstash. I'm not sure how to add an aditional tag like you're recommending. Most of my experience has been with beats so I'm still new to logstash. (meant 12pm PST above by the way).
Edit: The pf sense machines are official pfsense hardware by the way. Not sure if that makes a difference.

Thanks!  The hardware doesn't make a difference.  Give the proposed configured a try and let me know if it works.
Can you elaborate on the network (i.e. are the three firewalls on the same network [<IP_ADDRESS>/16]).  If they are on separate networks and traversing through a router we'll have to adjust the configuration.
Andrew

One firewall is in the same datacenter as the pfelk server (also acts as the gateway and firewall for the pfelk server).  The two others are in a different datacenter so I have their public IPs in the config.

Is there a way for me to explain a little more in depth privately?

Sure what platform works best for you?

I'm good with whatever. I've got discord, twitter, slack, mattermost, etc. What works best for you?

@a3ilson actually email would probably be best<EMAIL_ADDRESS>

Sent you a Google Hangouts invite

@skluthe, if my informations are correct, the problem is solved. If yes, this issue can be closed now.

Resolved the issues with @skluthe.  Had three firewalls with two passing through a router requiring a modified 01-inputs.conf to ingest multiple firewall logs from single IP address (i.e. referenced port numbers vs firewall IP instance).


kahan3 and kahan4 for extended precision

This template is for bug reporting. For general questions about the simulator, please create a new discussion at https://forum.devsim.org
Describe the bug
The kahan3 and kahan4 functions are typically use in the Poisson equation so that small and large carrier densities and dopant can added and subtract with additional precision.  It can also applied to the evaluation of the electron and hole carrier current model.
https://en.wikipedia.org/wiki/Kahan_summation_algorithm
For standard double precision this extends 15 digits of decimal precision to almost the level of quadruple precision.
When extended precision was implemented in devsim, it was decided that the kahan summation would be use regular addition with the quadruple precision numbers.
I propose using the same kahan summation algorithm on the quadruple precision numbers, when the extended precision mode is enabled.
To Reproduce
A large bandgap material can easily result in underflow, even when using quad precision.  This is since quad precision only gives about 34 digits of decimal precision.  By using the Kahan summation, the precision is approximately doubled and so the simulation may be more accurate.
Expected behavior
In extended precision mode, the kahan3 and kahan4 functions should give better precision than quad precision.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

implemented in version 2.1.0


global region does not support different resolutiosn

https://github.com/SCECcode/pycsep/blob/d13f74f0c7e44bb10f5d3758392edd8bb1e84796/csep/core/regions.py#L208
Creating new global_regions fails when prompting dh greater than 0.1, because it provides spatial cells outside the globe range (e.g. 180.1 lon). It has to do with passing to cleaner_range a prescribed end of 179.9lon, 89.9 lat.

@pabloitu is this issue still a problem. i can make a fix before the v0.6.1 release if that's the case.


Proposal: Add get() method to Atoms

This one may be a little controversial, and I respect that you might have thought of this and ultimately preferred only having the .value getter. I personally prefer .get() as it nicely mirrors .set(...) and I honestly have found the Xoid API to be a little surprising without it.
However, this goes a little beyond personal preference because without a stable .get() method, we have been required to pass a new function to useSyncExternalStore every time, which means we must pay the small penalty of scheduling a layout effect to re-check the snapshot on every render. It's easy to see this in the shim here (as well as for useSyncExternalStoreWithSelector here), and the same is true for the real React hook (see here).
So, ultimately I think it's worth having .get() for the slight performance benefit (it adds up for hundreds of components relying on atoms) and to satisfy some folks' personal preferences (I'm sure I won't be the only one). 😀

Thanks for taking the time consider this! Yes, we can at minimum use atom[INTERNAL].get for useSyncExternalStore but I think beyond nomenclature preferences, there may be similar other use cases that pop up for users where they may prefer to have a function.
I have nothing against leaving .value getter/setters. I know Preact Signals uses them and therefore there maybe compat and familiarity reasons to have those as well. Just like there are two ways to set a value (.set and .value setter), I think it'll be ok to have the same analog for getting the value.
I totally get the concern about atom.get() vs get(atom). I'm a little less enthusiastic about atom.read() considering we have atom.set(), and I wonder if instead you should canonicalize create(read => read(atom)) instead as I think it makes more sense that way actually. However (I am sorry to bring this up), I will admit that I'd personally prefer implicit dependencies that Solid, Preact, Legend, etc. so we could just do create(() => atom.get()) and it just works, then we could have atom.peek() for avoiding the implicit dependency (like Preact and Legend). Yes, it's a little more magical but IMHO much better DX because devs are way less likely to make a mistake.

Just for fun and personal learning, I took a quick crack at what implicit dependency tracking might look like in xoid (for create and effect): https://github.com/appden/xoid/compare/get-method...implicit-dep-tracking
I assume this is probably not the direction you want to go, but I gotta say I do prefer it and think it's a developer experience win. I will be curious to hear what you think. 😀

Hi @appden you had great points in this PR. Back then, I was hesitant to have get and .get, and I wasn't planning to make use of implicit tracking in xoid, in any way. Fast forward to now, both of my views have changed. I want to say that both implicit dependency tracking and the .get method will be a thing in the next versions. You're obviously a more experienced developer and it took a little bit of time for me to truly grasp the advantages of the stuff such as implicit tracking.
After this comment of yours, I have applied this to the docs actually.

I wonder if instead you should canonicalize create(read => read(atom)) instead as I think it makes more sense that way actually.

Also, a little bit after that, I have implemented a side-package. I was a bit busy with a other things, so I failed to mention this to you: https://github.com/xoidlabs/xoid/tree/main/packages/reactive
It implements computed, watch, reactive around xoid. Now, both after examining VueJS in depth, and experimenting with alternative APIs, I have noticed that I can add computed, watch, reactive as totally opt-in separate exports (to the main package xoid) for people who want to have a signal-like experience. Right now, I have a WIP branch (https://github.com/xoidlabs/xoid/tree/shave-off-2) that implements those. Summary of the most important changes:

create will be renamed to atom. create will remain in the next few versions, but we'll get rid of it until v1.0.0 with a JSDoc deprecation notice.
Atoms are going to have a .get method (that does not track dependencies, only .value will do that)
For implicit-tracking style, there will be computed, watch, reactive, toReactive, toAtom (This last one brings the need to rename create to atom).
The bytesize cost of import { atom } from 'xoid' will be even smaller than the current version, probably under 0.9kB gzipped, and importing them all will be around 1.5kB.
inject and effect functions are going to be exported from the package root, not xoid/setup, and they're now not limited to usage inside UI frameworks.

Sorry for answering this too late, and not sharing the advancements that occurred in the meantime. This is the shape of xoid's current vision. It's not limiting itself to be a Redux-like, non-magical library. It's going to be a@vue/reactivity-like package, but with more emphasis on minimalism and framework interoperability, way smaller, with better tree-shaking. I'm curious to hear what you think.

Hi @onurkerimov, I really appreciate the kind words, thanks!

It implements computed, watch, reactive around xoid.

This looks like great idea!

create will be renamed to atom. create will remain in the next few versions, but we'll get rid of it until v1.0.0 with a JSDoc deprecation notice.

Good call renaming to atom!

Atoms are going to have a .get method (that does not track dependencies, only .value will do that)

I respectfully don't agree that .value and .get() should have different behavior. I actually think .value should just be dropped (unless there's a compat story with Preact signals) to keep things simpler.

For implicit-tracking style, there will be computed, watch, reactive, toReactive, toAtom (This last one brings the need to rename create to atom).

❤


Update CI setup

This project used Travis but apparently never migrated to the new variant which means the CI now doesn't work.
We should fix that.
Personally, I'd just add GH actions for which I can send a PR.

Should it use something provided by Eclipse? I have no idea how that works, just wondering. GH Actions are simplest for sure :-)

Sounds good then! :-)


Why isn't my parser a hidden function?

Summary of the new feature / enhancement
When I list available commands in my generated module using get-command -module <newmodule>, the functions I use for parsing is available as PowerShell functions as well...
Shouldn't those be hidden from export by only exposing the Commands defined in the json file using Export-ModuleMember?
Proposed technical implementation details (optional)
No response

Hi @DennisL68 -- Thank you for the issue.  You raise an interesting point.  First, you can control this in PowerShell a couple of ways today.  In a module .psm1 you can use the Export-ModuleMember as described here: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/export-modulemember?view=powershell-7.3
However, Crescendo created a module manifest (.psd1) that provides these controls with FunctionsToExport. Here are the docs: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_module_manifests?view=powershell-7.3#functionstoexport
The interesting point you raised - should we pre-populate the FunctionsToExport for you -- There are some drawbacks to this, such as accidentally hiding functions that you may wish exposed.  We decided to leave control up to you - as it is in PowerShell, to decide which functions you want exported and which ones you want hidden.

Yes, but I can't think of any reason why the function specified as the output parser should be made public for the user of the command produced?
Now, I am aware of the feature of not overwriting the PSD when rebuilding the Crescendo-module, so that will of course work.

Thank you for the feedback!


Time "Noting"

As a User I want to write down my start time but not commit it to personio.
I want to see this start time later at the day when I commit my hours.

I see two possible solutions here.
Either we store the values for 24h or alternatively we build functions to submit just a start / and just an end time.
Unfortunately I think that the only option we have is to store the values because the API requires a start and a end date.

Option 1 is the way to go.
For storing we could use Raycasts Caching implementation, that way we don't have to deal with any file operations.

@marcjulianschwarz Is this issue closed with your last comit?

@Boosteblume, no but you can use parts of it to implement this feature.


Updated Lesson 0

Latest update to Lesson 0, minor changes including answers to questions and enabling cloud dataset

oops yes sorry, removed

View entire conversation on ReviewNB

okay, updated to use sexidecimal and removed the conversion in the text. added text to express your second point as well.

View entire conversation on ReviewNB

okay

View entire conversation on ReviewNB

fixed

View entire conversation on ReviewNB

okay

View entire conversation on ReviewNB

That merge conflict was not reconcilable with my git skills, so I've merged your changes through a new PR