Swipe behaviour of the side menu comes in all screens.

New Issue Checklist
I have read the guidelines for contributing and I understand:

[x] My issue is happening in the latest version of SideMenu.
[x] My issue was not solved in the README.
[x] My issue can not be answered on stackoverflow.com.
[x] My issue is not a request for new functionality that I am unwilling to build and contribute with a pull request.
[x] My issue is reproducible in the demo project.

Issue Description
Swipe behaviour of the side menu comes in all screens, not able to exclude the unwanted screens.
May be it's because of the same navigation stack, but there should be an option to avoid the swipe feature in some screens.
SideMenuManager.default.menuEnableSwipeGestures is not working.
NB : This issue only comes with the viewcontrollers that's pushed from the side menu integrated controller and not on the presented viewcontrollers.

It's very unlikely this is a SideMenu bug. If you're adding gestures to a navigation controller, it will be shown on all screens within that navigation controller. menuEnableSwipeGestures is only for menu dismissal.

So @jonkykong what's the best way to prevent this swipe gesture on all screens? For example after the menu is closed, I don't want the user to be able to pull it open again by swiping from the left.

Actually, it seems this code removes the gestures, if called in viewDidLoad.
self.navigationController?.view.gestureRecognizers = nil


Added aurora gotcha regarding load issues

I'm unable to get confirmation from anyone else who's using Aurora for large MySQL datasets. This would be a massive issue for AWS to jump on if confirmed. I suggest closing this PR pending confirmation.

I'm going to close this for now; please reopen if it can be substantiated.


Add relay

Typically we pull relays from an API that monitors which ones are online. Which pulls relays from profile lists.


Detaching a node from its parent on drag start produces unexpected positions. (v11 only)

Describe the Bug
I have an app where I want the node I'm dragging to be positioned relative to (0,0). This is because my app has a "drag preview" feature where it will move nodes and often times, the preview will move the parent and therefore the dragging node. (Keeping track of where the parent moves is often inconvienient)
As such, I delete parentId in onNodeDragStart, however this leads to inconsistent movement if the parent moves during the drag.
Your Example Website or App
https://codesandbox.io/p/sandbox/reactflow-dragparent-bug-mlsxzx
Steps to Reproduce the Bug or Issue
In this codesandbox, there is a parent node and a child node. The parent node moves every 2 seconds, and the child node moves with it. Once you drag the child node, its parentId is deleted and the nodes are updated. Ideally, it should no longer have its positioned influenced by its parent.

Drag the child node. This will delete the parentId from the child.
Notice that while dragging, when the parent moves, the former child now moves opposite the parent, even though it is no longer a child of it.
Also notice that if you keep the drag held down but don't move the node, its position won't move opposite the parent until you move it. This likely means that the drag/drop code has a reference to the parent that doesn't get updated.

Expected behavior
I expect that once I delete parentId from the child and update the nodes, its position will no longer be influenced by its parent in any way.
Screenshots or Videos
https://github.com/xyflow/xyflow/assets/54917619/935c954e-4adf-462b-b89b-c3bc7127fa4f
Platform

OS: macOS M1
Browser: Safari, Chrome
Version: 17.4.1, 124.0.6367.118

Additional context
I've found node.parentId to be difficult because it's easiest for my nodes to be positioned relative to 0,0 for auto-layouting purposes. But occasionally, I want multiple nodes to be dragged along with another node automatically. Having a way to specify that a node should be dragged with another node, but still positioned relative to (0,0), would be helpful to my project and likely others.
This could be accomplished through an attribute like node.dragsWithId or node.disableRelativePositioning, though an attribute like this may present ergononic concerns. (React Flow v12 may already have features like this, I'm not too sure.)
I cannot reproduce this issue on v12.0.0-next.17, it appears to be working as expected there:
https://codesandbox.io/p/sandbox/reactflow-dragparent-bug-forked-4qnl5z

Thanks for the report! We already looked into this and it's quite complicated to support relative and absolute positioning.
Regarding your issue: In v12 you should not update nodes by mutating them but always create a new node object. Instead of
// 👇 this is bad, you should not do this
const child = newNodes.find((node) => node.id == "c");
delete child.parentId;
child.data.label = "no longer a child";
child.position.x = child.measured.x;
child.position.y = child.measured.y;
setNodes(newNodes);

you should do:
setNodes(nds => nds.map((node) => {
  if (node.id == "c") {
    return {
      ...node,
      parentId: undefined,
      position: child.measured,
      label: "no longer a child"
    }
  }

  return node;
}));


Minor updates to README.md files

Above changes have been implemented in the latest commit. Thanks folks.

LGTM


Localization not passed in to ResolveLink

The localization parameter is not always passed into ResolveLink even when it is available.
Our project utilises the DD4T REST provider, which requires that the publication/localization is available.
I have created a pull request (https://github.com/sdl/dxa-web-application-dotnet/pull/11) with a fix

Sorry for the late response; we were quite busy with getting a DXA 1.3 release out lately.
Although I agree it makes sense to pass down a Localization object (just because we can), I was wondering: couldn't you use the Localization/Publication ID which is part of the TCM URI?

Since DXA 2.0,  link resolving is largely done in the DXA Model Service.
The Link Resolver is still used for a few use cases:

Link resolving in (static) site maps
Language Selector (PageController.Resolve)

Adding a Localization parameter to the ILinkResolver interface would be a compatibility break. Since the Publication ID is available in the TCM URI (and thus a Localization object can be retrieved if really needed), this does not justify a compatibility break.


Transition between generated gesture

The segments we trained are all 4s long, and it is difficult to generalize to arbitrary length gestures by positional encoding alone.
MDM-based models that require time-awareness (arbitrarily long inference) require a smooth transition between the generated sequences. The following practices can be referred to:

Our approach is to add seed poses for smooth transitions.
Its follow-up work PriorMDM uses DoubleTake for long motion generation.
EDGE enforces temporal consistency between multiple sequences.

Yes, when I reproduced it later I remembered that there was a minor problem in this region, but it didn't seem to have much effect on the results. Also:

the length of last_poses is not 1, but n_seed, where the first 1 indicates the batch size and the second 1 extends the dimensions, which has no real meaning.
the follow-up DiffuseStyleGesture+ definitely fixed this, see: here.


Revisit the Overview of Entity Framework Core page

optionsBuilder.UseSqlServer won't work without adding reference to Microsoft.EntityFrameworkCore.SqlServer.  You'll get the "...does not have extension method..." error by intellisense.
Tested with

Microsoft.EntityFrameworkCore v3.1.8
Microsoft.EntityFrameworkCore.SqlServer v3.1.8.

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

ID: 1b15cd4c-9cba-c0e2-7618-7d621a3c5936
Version Independent ID: f4681bc6-57be-6e69-cad9-776ce64d93bd
Content: Overview of Entity Framework Core - EF Core
Content Source: entity-framework/core/index.md
Product: entity-framework
Technology: entity-framework-core
GitHub Login: @ajcvickers
Microsoft Alias: avickers

Triage: we should look at this page again and make sure it is clear how to get to working code for the provider being used.


Only the first 100 songs are randomized over in a big playlist

Describe the bug
Whenever I play a song from a big playlist and put shuffle on true, it will only randomize over the first 100 songs in the playlist. I don't know if this is a spotify API related issue or not but it would be nice if we could use shuffle over the entire playlist instead of the first 100 tracks.
To Reproduce

Open a big playlist (larger than 100 tracks)
Play the first song
Put shuffle on true (CTRL+S if you didn't change your keymaps)
Skip to the next track a few times and see that the selected song will always be in the range of the first 100 songs.

After not too much digging I found the following bug report from 2016 on a spotify community page. It seems this is a bug in the spotify API that has been around for a while. Maybe there is an easy workaround to simulate the desired behaviour still?

Just saw that this already has a closed issue where this was handled. So I'll close this.


Typescript error - Properties does not exist on type 'Request'.

@koa-better-modules/joi-router - 11.0.0
"koa": "^2.14.2",
"@types/koa": "^2.13.12",
Node version - 18.14.1
import { Context } from 'koa';
Accessing ctx.request.body, ctx.request.params giving below error
error TS2339: Property 'body' does not exist on type 'Request'.
Property 'params' does not exist on type 'Request'.
These Typescript errors were gone by switching to the package koa-joi-router, but this package has vulnerabilities.

Closing as types needed to be included as typeRoots in tsconfig.json


Error in description of outputs of rnn_decoder

rnn_decoder is described as follows:
def rnn_decoder(decoder_inputs, initial_state, cell, loop_function=None,
                scope=None):
  """RNN decoder for the sequence-to-sequence model.
...
Returns:
...
    states: The state of each cell in each time-step. This is a list with
      length len(decoder_inputs) -- one item for each time-step.

States output does not appear to have the length as the decoder inputs. For example, the following script --
import tensorflow as tf
from tensorflow.models.rnn import rnn_cell
from tensorflow.models.rnn import seq2seq
batch_size = 4
seq_len = 5
num_layers = 3
vocab_size = 26
rnn_size = 100
cell = rnn_cell.MultiRNNCell([rnn_cell.BasicLSTMCell(rnn_size)] * num_layers)
input_data = tf.placeholder(tf.int32, [batch_size, seq_len])
embedding = tf.get_variable("embedding", [vocab_size, rnn_size])
decoder_inputs = tf.split(1, seq_len, tf.nn.embedding_lookup(embedding, input_data))
decoder_inputs = [tf.squeeze(input_, [1]) for input_ in decoder_inputs]
outputs, states = seq2seq.rnn_decoder(decoder_inputs, cell.zero_state(batch_size, tf.float32), cell)
print "Length of states is {}, but length of decoder inputs is {}".format(len(states), len(decoder_inputs))

gives the following output:
Length of states is 6, but length of decoder inputs is 5

This is still true if you replace BasicLSTMCell with GRUCell.
Is it correct to say that the length of states is equal to one greater than the length of decoder inputs? Seems to be true from playing around with it. Is this a fencepost error, where the states include the zeroth state plus the state following each decoder input?

This api is about to change. From now on rnn() and its cousins will return just the very last state instead of a list of intermediate states.

Makes sense, that's how I've seen it used every time anyway. Thanks. I'll
close the issue.
On Wed, Jan 27, 2016 at 10:00 PM, ebrevdo<EMAIL_ADDRESS>wrote:

This api is about to change. From now on rnn() and its cousins will return
just the very last state instead of a list of intermediate states.
—
Reply to this email directly or view it on GitHub
https://github.com/tensorflow/tensorflow/issues/869#issuecomment-175997392
.


Milestone 0.4.0 Endgame

Schedule
End game master: @yaron2
End game buddy: @msfussell
This is the schedule for the 0.4.0 Release.
Special note: this release contains breaking changes in the API and introduces new functionality.
As such, in addition to the regular release notes that come out, it is important to have an item below that covers breaking changes and how to deal with them.
02/06  12pm PST code freeze for the release
02/13 Release date

[x] Code freeze at 12pm 02/06
[x] Create 0.4.0-rc release branches for Dapr runtime @youngbupark
[x] Create 0.4.0-rc release branches for CLI @youngbupark
[ ] Test and validate the release - run through samples, demos, review docs, E2E tests, manual testing, @yaron2 @Haishi2016 @amanbha @youngbupark @LMWF @msfussell @pruthvidhodda
[x] Test and validate the .NET SDK release v0.4.0-preview01 - run through samples, @amanbha
[x] Test and validate the .Java SDK release v0.2.0-rc-1 - run through integration tests and samples, @artursouza
[ ] Fix bugs
[ ] Manually upload Nuget packages. - @LMWF @amanbha
[ ] Create 0.4.0 release branches for Dapr runtime @youngbupark @yaron2
[ ] Create 0.4.0 release branches for CLI @artursouza @yaron2
[x] Create 0.4.0-preview01 .NET SDK @amanbha @LMWF
[x] Create 0.2.0-rc-1 Java SDK @artursouza @LMWF
[ ] Create release notes - CLI, Dapr, .NET SDK, Java SDK @yaron2
[ ] Verify breaking changes section in release notes @yaron2
[ ] Create 0.4.0 tag for docs and samples in the repos. @youngbupark @yaron2
[ ] Generate new Java docs based on the release version of the Java SDK and push to master. @artursouza
[ ] Release sample Docker images to GitHub artifacts @youngbupark @yaron2
[ ] Validate that the Release runtime images are pushed to Docker Hub @yaron2 @youngbupark
[ ] Update latest kubernetes install YAML for dapr init --kubernetes
[ ] Announcement email and Twitter post @msfussell

Breaking changes:

helm change from v2 to v3
support multi statestore api

Merge this pr - https://github.com/dapr/samples/pull/152 once we cut sample version.
cc/ @pruthvidhodda

Version update in docs - https://github.com/dapr/docs/pull/352

Hi, I don't see pushing updated helm chart on the task list... and obviously the previous one doesn't deploy the sentry - and despite containers are pushed to dockerhub helm chart is not pushed to the ACR.

Hi, I don't see pushing updated helm chart on the task list... and obviously the previous one doesn't deploy the sentry - and despite containers are pushed to dockerhub helm chart is not pushed to the ACR.

Normally we do this as part of the branch release which pushes the images. I updated with its own bullet..

Done!


Option to remove Feedback Assistant from beta images

There have been a few reports that the Feedback Assistant app is occasionally intrusive and causes problems with certain types of software tests that use AppleScript/GUI. I propose we add an attribute to remove the application altogether (or disable the server that launches the app). SIP does need to be disabled in order to remove the app, and I'm pretty sure this daemon is installed via software updates and/or enrolling in the developer seed with the macos beta package.
default['macos']['disable_feedback_assistant'] = boolean

We didn't see this issue with any of the Catalina betas - it seems Apple stopped having Feedback Assistant popup (although the application was still present in the betas). Will reconsider if the behavior returns in future betas.


Added banner

Coverage remained the same at 100.0% when pulling 3b925f254ff48d91561d6d115c956a559057ddb3 on ArgentumSunrise:master into 1d4156d6543cdde7ad387d354b4966829a9a0468 on ChrisCates:master.


Refactor sky regions

This changes the current sky regions to be simply regions that represent the same shapes as the pixel regions but with properties specified in world coordinates (e.g. a circle in an image with a center given by a skycoord) and for now this removes the sphericalskyregion functionality for circles (will add this back after). This is to address https://github.com/astropy/regions/issues/107
This also implements some of the missing area calculations, to_shapely, to_sky, etc and I've split up the docs into several sections and improved it in places.
You can preview the updated docs at: http://astropy-regions-astrofrog.readthedocs.io/en/latest/
I plan to then try and add the full spherical sky polygon and circle in a separate PR, but as-is this should now provide full compatibility/consistency with ds9.

@joleroi - here's the file I was using to run the integration test: https://www.dropbox.com/sh/pfh42u7mexazuo8/AABn40AUsgPB785g58FHZhiQa?dl=0

Just FYI for anyone looking at this, we still need to do some work to check that the ellipse and rectangle are correctly rotated (they appear to be 90 degrees off at the moment compared to ds9)

I think this is basically ready for review at this point. I need to find a better way to do the Point patch, but I think that can be fixed later. There are also some FIXMEs and TODOs but none are critical but more for future.

The docs restructuring looks good to me. The section that sticks out now even more as useless is "What next?". I guess it could be removed. Or rewritten, e.g. the obvious thing to do next is look at the API docs for details, so that could be mentioned.

Note that this now implements the change of ellipse parameters to width/height as discussed in https://github.com/astropy/regions/issues/86

@cdeil - I'll work on making sure we have proper test for all the rotations

One of the easiest ways to make sure that everything is consistent is to make plots like this:

I was wondering whether we might want to consider adding image tests to the test suite to test this kind of all-ecompasing plot? Or would people prefer that we really just compare numerical results? (no strong feelings, but just want to know before implementing anything)

I like this sort of visual test, but I would prefer that it be kept optional so that I can run the tests locally without getting popup windows and faster.

Ok - the main difficulty with testing this without plots is how to test e.g. that the shapely region is correct. I don't really want to have to write out all the array values for the ellipse edges. So what about adding a few image tests (keeping it to a minimum of one plot per shape), exclude axis labels (since that's usually what changes between matplotlib versions), making it so when tests are run the backend is set to Agg (can be done) to avoid pop-up windows? The tests should still be speedy.

Another possibility is to simply write out the exact ellipse vertex arrays to ASCII files (like we do for masks) but that produces less visual checks.

+1 to separate test for computations (e.g. contains) from plotting tests.
@astrofrog - you mention that it's difficult to write the test for the Shapely objects.
Why do we need large arrays / masks there?
Can't you assert on the data member parameters of the Shapely ellipse object, and maybe in addition call contains on ~ 3 well-chose points that are inside and outside and establish the ellipse orientation?

I was being lazy... I will implement proper tests, as I have some ideas on doing that efficiently

Ok, so if tests pass, I would suggest we merge this and we can always tweak things in future PRs. This one is getting a bit out of control. I've refactored the tests to move a lot of the common logic to common base classes, and I've made it so that we test our contains method against shapely for hundreds of points (which gives me more confidence). We could still add more tests but I would prefer to merge first and add these in separate PRs.

@cdeil - any objections to merging this now? I plan to work on further improvements, but this PR is getting a little out of hand and already implements the original refactoring plan  (we should get #130 merged soon too)

Sorry, I didn't know what I was supposed to merge. Merging now.
(we can do further review in master and everyone that has time can do follow-up issues or PRs)

@astrofrog - Thank you!!!!

@astrofrog This is a too-late comment, but I have a problem with the new API.  I have a set of regions that have been created as sky regions with no associated WCS: they are positions on the sky with circles around them representing regions of constant angular distance.  When I do reg.contains(coordinate), it make no sense at all to require a WCS.
While I agree with the original premise, since many regions are undefinable without an associated projection (e.g., rectangles), I expect other users to encounter this case commonly as well.  The workaround now is hideous: I have to create an arbitrary WCS from scratch.  Do you have any alternative suggestions, or ideas how we can make this more sensible?

We discussed this quite a bit, and my understanding is this:

There's very few sky regions where the shape (e.g. "contains") is well-defined without a WCS. I'm only aware of circle and polygon.
The plan is to bring that "true sky region" functionality back as separate classes.
Of course trying to add the "true sky region" case back into the existing circle and polygon sky region classes can be discussed again, but I think it's messy. In any case, there's some things that aren't so nice, e.g. the "true sky regions" aren't available in the DS9 serialisation format, i.e. DS9 just doesn't support them.

Yeah, it might only make sense to support those two regions, but we should.
In the circle case, the true sky region and WCS-based region approach should be equivalent, right?  Is it possible that the true sky region approach is also more computationally efficient?

I'm going to add back the 'spherical' circle and polygon in a future PR.

In the circle case, the true sky region and WCS-based region approach should be equivalent, right? Is it possible that the true sky region approach is also more computationally efficient?

No, a true spherical circle is not necessarily equivalent to the current approach, especially for images that span a large area of sky. But checking for points inside the true spherical circle might indeed be more efficient, though that remains to be tested.

In the circle case, the true sky region and WCS-based region approach should be equivalent, right?

For completeness: I guess this was discussed  in https://github.com/astropy/regions/issues/76

This PR splitting up the docs has a side effect of now the examples are failing, and the references in the narrative doesn't make sense (https://astropy-regions.readthedocs.io/en/latest/contains.html)

ref #263


Pf 48 validate language

Using npm package mongoose-id-validator we check if the language ID (alpha-2 code) in user actually exists. Throws error if the language doesnt exist.

Is this verification in case anybody tries to select a language, which actually does not exist in the DB?
From the UI I'll offer just the avaliable options, it means just which in the DB are.

I know you will just offer the available languages in UI - but it is still possible to set the ID directly from Mongoose (as a DB-Admin) - and of course a query can be manipulated by a malicous user. This just adds a layer of security.


Adds a workflow process to remove the alpha channel before pdiff

pdiff often produces lousy diffs based on the fact that it can't handle alpha transparency correctly. Trying this to see if it will improve things

Derp, the tests are failing because of this change (and also fail locally - the other failures for the last two days weren't failing locally, just on Travis) so I need to update the test to account for the ConvertAlphaWorkflow.


Fix #561 - Don't call requestAnimationFrame unless something has changed

Issue: Oni is always using the CPU, even when idle. This can be observed via task manager, taking up a small percentage of CPU.
Defect: Oni is always calling requestAnimationFrame, even if there are no changes from Neovim to render.
Fix: Only call requestAnimationFrame if there is an action or change from Neovim.

Fixes #561


Undefined bar: example

Sorry if this issue has been fixed elsewhere - I searched but I could not find it.
I have installed polybar using getdeb on linux mint. I have the example config file located in ~/.config/polybar/config. I try to run polybar with polybar example, but I get the error message "Undefined bar: example". Is there something I'm missing?

Did you change anything in the example config? Because it seems like the [bar/example] section is missing. Can you post the contents of the config file at ~/.config/polybar/config as well as the output of polybar -l info example.

@patrick96 Nothing in the config has been changed, no. The [bar/example] section remains intact.
The contents of the example config are as follows:
`;=====================================================
;
;   To learn more about how to configure Polybar
;   go to https://github.com/jaagr/polybar
;
;   The README contains alot of information
;
;=====================================================
[colors]
;background = ${xrdb:color0:#222}
background = #222
background-alt = #444
;foreground = ${xrdb:color7:#222}
foreground = #dfdfdf
foreground-alt = #555
primary = #ffb52a
secondary = #e60053
alert = #bd2c40
[bar/example]
;monitor = ${env:MONITOR:HDMI-1}
width = 100%
height = 27
;offset-x = 1%
;offset-y = 1%
radius = 6.0
fixed-center = false
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 3
line-color = #f00
border-size = 4
border-color = #00000000
padding-left = 0
padding-right = 2
module-margin-left = 1
module-margin-right = 2
font-0 = fixed:pixelsize=10;1
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
font-2 = siji:pixelsize=10;1
modules-left = bspwm i3
modules-center = mpd
modules-right = filesystem xbacklight volume xkeyboard memory cpu wlan eth battery temperature date powermenu
tray-position = right
tray-padding = 2
;tray-transparent = true
;tray-background = #0063ff
;wm-restack = bspwm
;wm-restack = i3
;override-redirect = true
;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev
;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev
[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-prefix-underline = ${colors.secondary}
label-layout = %layout%
label-layout-underline = ${colors.secondary}
label-indicator-padding = 2
label-indicator-margin = 1
label-indicator-background = ${colors.secondary}
label-indicator-underline = ${colors.secondary}
[module/filesystem]
type = internal/fs
interval = 25
mount-0 = /
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt}
[module/bspwm]
type = internal/bspwm
label-focused = %index%
label-focused-background = ${colors.background-alt}
label-focused-underline= ${colors.primary}
label-focused-padding = 2
label-occupied = %index%
label-occupied-padding = 2
label-urgent = %index%!
label-urgent-background = ${colors.alert}
label-urgent-padding = 2
label-empty = %index%
label-empty-foreground = ${colors.foreground-alt}
label-empty-padding = 2
[module/i3]
type = internal/i3
format =
index-sort = true
wrapping-scroll = false
; Only show workspaces on the same output as the bar
;pin-workspaces = true
label-mode-padding = 2
label-mode-foreground = #000
label-mode-background = ${colors.primary}
; focused = Active workspace on focused monitor
label-focused = %index%
label-focused-background = ${module/bspwm.label-focused-background}
label-focused-underline = ${module/bspwm.label-focused-underline}
label-focused-padding = ${module/bspwm.label-focused-padding}
; unfocused = Inactive workspace on any monitor
label-unfocused = %index%
label-unfocused-padding = ${module/bspwm.label-occupied-padding}
; visible = Active workspace on unfocused monitor
label-visible = %index%
label-visible-background = ${self.label-focused-background}
label-visible-underline = ${self.label-focused-underline}
label-visible-padding = ${self.label-focused-padding}
; urgent = Workspace with urgency hint set
label-urgent = %index%
label-urgent-background = ${module/bspwm.label-urgent-background}
label-urgent-padding = ${module/bspwm.label-urgent-padding}
[module/mpd]
type = internal/mpd
format-online =
icon-prev = 
icon-stop = 
icon-play = 
icon-pause = 
icon-next = 
label-song-maxlen = 25
label-song-ellipsis = true
[module/xbacklight]
type = internal/xbacklight
format =
label = BL
bar-width = 10
bar-indicator = |
bar-indicator-foreground = #ff
bar-indicator-font = 2
bar-fill = ─
bar-fill-font = 2
bar-fill-foreground = #9f78e1
bar-empty = ─
bar-empty-font = 2
bar-empty-foreground = ${colors.foreground-alt}
[module/backlight-acpi]
inherit = module/xbacklight
type = internal/backlight
card = intel_backlight
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #f90000
label = %percentage%%
[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #4bffdc
label = %percentage_used%%
[module/wlan]
type = internal/network
interface = net1
interval = 3.0
format-connected =
format-connected-underline = #9f78e1
label-connected = %essid%
format-disconnected =
;format-disconnected =
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-foreground = ${colors.foreground-alt}
[module/eth]
type = internal/network
interface = eth0
interval = 3.0
format-connected-underline = #55aa55
format-connected-prefix = " "
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%
format-disconnected =
;format-disconnected =
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
[module/date]
type = internal/date
interval = 5
date =
date-alt = " %Y-%m-%d"
time = %H:%M
time-alt = %H:%M:%S
format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5
label = %date% %time%
[module/volume]
type = internal/volume
format-volume =
label-volume = VOL
label-volume-foreground = ${root.foreground}
format-muted-prefix = " "
format-muted-foreground = ${colors.foreground-alt}
label-muted = sound muted
bar-volume-width = 10
bar-volume-foreground-0 = #55aa55
bar-volume-foreground-1 = #55aa55
bar-volume-foreground-2 = #55aa55
bar-volume-foreground-3 = #55aa55
bar-volume-foreground-4 = #55aa55
bar-volume-foreground-5 = #f5a70a
bar-volume-foreground-6 = #ff5555
bar-volume-gradient = false
bar-volume-indicator = |
bar-volume-indicator-font = 2
bar-volume-fill = ─
bar-volume-fill-font = 2
bar-volume-empty = ─
bar-volume-empty-font = 2
bar-volume-empty-foreground = ${colors.foreground-alt}
[module/battery]
type = internal/battery
battery = BAT0
adapter = ADP1
full-at = 98
format-charging =
format-charging-underline = #ffb52a
format-discharging =
format-discharging-underline = ${self.format-charging-underline}
format-full-prefix = " "
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = ${self.format-charging-underline}
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-foreground = ${colors.foreground-alt}
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750
[module/temperature]
type = internal/temperature
thermal-zone = 0
warn-temperature = 60
format =
format-underline = #f50a4d
format-warn =
format-warn-underline = ${self.format-underline}
label = %temperature%
label-warn = %temperature%
label-warn-foreground = ${colors.secondary}
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-foreground = ${colors.foreground-alt}
[module/powermenu]
type = custom/menu
format-spacing = 1
label-open = 
label-open-foreground = ${colors.secondary}
label-close =  cancel
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}
menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = power off
menu-0-1-exec = menu-open-2
menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot
menu-2-0 = power off
menu-2-0-exec = sudo poweroff
menu-2-1 = cancel
menu-2-1-exec = menu-open-0
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
[global/wm]
margin-top = 5
margin-bottom = 5
; vim:ft=dosini`
and the output of polybar -l info example:
`john@a0 ~ $ polybar -l info example
error: Undefined bar: example

Waiting for spawned processes to end
Reached end of application...
`

This is really weird, that shouldn't be happening. What are the contents of the $XDG_CONFIG_HOME and $HOME variables when you run polybar?
Also what's the output of polybar -vvv?

polybar -vvv yields this:
polybar 3.0.5
Features: +alsa -curl +i3 +mpd +network
X extensions: +randr (-monitors) -render -damage -sync -composite +xkb +xrm
Build type: None
Compiler: /usr/bin/x86_64-linux-gnu-g++
Compiler flags: -g -O2 -fdebug-prefix-map=/build/polybar-Ql3liE/polybar-3.0.5=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -Wall -Wextra -Werror -O2 -pedantic -pedantic-errors
Linker flags:  -Wl,-Bsymbolic-functions -Wl,-z,relro
As for the other things you mentioned, I'm not sure where to find that I'm afraid. Could you tell me how to find that?

Try echo $HOME and echo $XDG_CONFIG_HOME.

echo $HOME returns /home/username and echo $XDG_CONFIG_HOME returns nothing

I have managed to get it working. I removed everything and started again - thanks for your time everyone, much appreciated.

I think I know what is the problem.
I got same problem, and when I look on my .config/polybar/ I found there "config" but it was a directory.
When I remove this directory and copied config as a just file, it works :)


Buses can ignore lane arrows.  How about lane connectors, too, please?

The title says it all.  What else is there to say?  I really like the buses ignoring lane arrows.  i've found myself wishing buses could ignore lane connectors, too.

I believe it would be even better to allow setting additional lane connectors for busses (and maybe other types of vehicles too)


fix instructions for ubuntu to look for deb files

Signed-off-by: Andrew Hsu<EMAIL_ADDRESS>
Proposed changes
fix instructions for ubuntu to look for deb files
Unreleased project version (optional)

Related issues (optional)

/cc @johndmulhausen @mstanleyjones

Whoops, good call.


"Find all references" without tsconfig.json depends on which files are currently open

Something similar has been mentioned in https://github.com/microsoft/vscode-cpptools/issues/9444 and https://github.com/microsoft/vscode/issues/52127, among others.
As the title says, "Find all references" functionality depends on which files are open when there is no tsconfig.json in the folder root.
This can lead to sneaky issues with refactoring, where some references are missed and thus not properly updated.
Adding a tsconfig.json appears to fix this issue, but without one there should be some sort of warning - not the false impression that there are no references or an incomplete list of references which depends on open files.
Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.77.0 7f329fe6c66b0f86ae1574c2911b681ad5a45d63 x64
OS Version: MacOS 13.0 (22A380)

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.77.3. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

I don't think a minor update would make a difference here, seems unlikely :)

This sounds expected behavior: https://code.visualstudio.com/docs/languages/jsconfig#_why-do-i-need-a-jsconfigjson-file
To know when you're in this state, check the language status item:

We decided to show this info in a single place  instead of showing it in the UI for every operation. Even basic features like Intellisense would need to show this info otherwise and not having a project is often expected

@MaherJendoubi I actually searched for that specifically - something displaying the tsconfig status - and couldn't find it. I would suggest something like making it show "No tsconfig" to make it more visible in the bottom bar.

In the language status, just press the pin icon to make the current project config (or lack of config) show in the status bar:

I know your perspective may be different here, but as an experienced developer I have no idea what the "language status" is on your screenshot, nor would I have known that it could be pinned.
I think this should be obvious and not induce users in error (such as when showing incomplete code references with no notice of a missing tsconfig).


authentication: how to check local role

Me again :-|
I am still trying to get authentication to work.
These are the configured roles in my database apflora:

When I log in as user z this user gets role apflora_artverantwortlich as defined in the users table.
And it seems that login worked:

And the role is correctly reflected in the jwt token:

Role apflora_artverantwortlich was set up like this:
drop role if exists apflora_artverantwortlich;
create role apflora_artverantwortlich in group apflora_reader;
grant connect on database apflora to apflora_artverantwortlich;
grant all on schema apflora to apflora_artverantwortlich;
grant usage on schema public, basic_auth to apflora_artverantwortlich;
grant all on all tables in schema apflora to apflora_artverantwortlich;
grant all on all sequences in schema apflora to apflora_artverantwortlich;
grant all on all functions in schema apflora to apflora_artverantwortlich;
alter default privileges in schema apflora
  grant all on tables to apflora_artverantwortlich;
alter default privileges in schema apflora
  grant all on sequences to apflora_artverantwortlich;
alter default privileges in schema apflora
  grant all on functions to apflora_artverantwortlich;
grant apflora_artverantwortlich to authenticator;

For instance here the privileges on table usermessage:

Nonetheless I get this error when fetching usermessages after loging in:

Even though the token seems to have been passed correctly:

So what could be going wrong here?
I can imagine that PostgREST has not switched from user authenticator to user apflora_artverantwortlich.
These are the settings in postgrest.conf:
db-uri = "postgres://authenticator:authenticator-secret@localhost:5432/apflora"
db-schema = "apflora"
db-anon-role = "anon"
server-port = 4001
jwt-secret = "jwt-secret"

Being a complete noob when it comes to roles in postgres I have no idea how to check the role being used while above request for usermessage is run. How could I do this?

I realize that this issue is more likely to be caused by my noobnes in dealing with roles than a real issue in postgrest.
On the other hand: I have some experience in dealing with databases and postgres in general. And also in developing javascript apps. And seeing that postgrest would totally appeal to devs with my background (though not only) I might not be the only one to run into similar problems. Means: It might help some other people and reduce the number of issues if the docs could be changed so that I would have managed to get it right.
So here comes the carrot ;-)
I would be happy to try to enhance the docs if someone can help me to get this right.

@barbalex there is no "magic" inside that does the switching.
at the end of the day, postgrest is just a client that connects to the database and executes a bunch of queries. Almost all errors that you get are generated by the database (including this one).
what you need to do is enable query logging in your database, make the request using postgrest (which will run a few queries in a transction) then you take those queries and run them manually and see where the problem lies.
enable query logging:
perl -pi -e "s/#log_statement = 'none'/log_statement = 'all'/g" /var/lib/postgresql/data/postgresql.conf
switching the role jsut means executing set local ..... query, so if you see it in the logs, it means postgrest "has switched" roles.

@ruslantalpa thanks a lot. I will chew on that (I'm on Windows and have never used perl before) and come back to tell you how well I digested your friendly bone :-)

that is just a line to replace a string in a file, you cna always do it manually

Got it.
Problem is: the get calls are logged. But the post to /rpc/login not

that can't be, all the calls a re queries, the database does not have a notion of get/post

This is the log:
2017-10-12 13:54:46 GMT FEHLER:  keine Berechtigung für Relation projekt
2017-10-12 13:54:46 GMT ANWEISUNG:
	      WITH pg_source AS (SELECT  "apflora"."projekt".* FROM  "apflora"."projekt"    ) SELECT null AS total_result_set, pg_catalog.count(_postgrest_t) AS page_total, array[]::text[] AS header, coalesce(array_to_json(array_agg(row_to_json(_postgrest_t))), '[]')::character varying AS body
	      FROM ( SELECT * FROM pg_source) _postgrest_t
2017-10-12 13:54:48 GMT FEHLER:  keine Berechtigung für Relation message
2017-10-12 13:54:48 GMT ANWEISUNG:
	      WITH pg_source AS (SELECT  "apflora"."message".* FROM  "apflora"."message"  WHERE  "apflora"."message"."active" = 'true'::unknown   ) SELECT null AS total_result_set, pg_catalog.count(_postgrest_t) AS page_total, array[]::text[] AS header, coalesce(array_to_json(array_agg(row_to_json(_postgrest_t))), '[]')::character varying AS body
	      FROM ( SELECT * FROM pg_source) _postgrest_t
2017-10-12 13:54:48 GMT FEHLER:  keine Berechtigung für Relation usermessage
2017-10-12 13:54:48 GMT ANWEISUNG:
	      WITH pg_source AS (SELECT  "apflora"."usermessage".* FROM  "apflora"."usermessage"  WHERE  "apflora"."usermessage"."UserName" = 'z'::unknown   ) SELECT null AS total_result_set, pg_catalog.count(_postgrest_t) AS page_total, array[]::text[] AS header, coalesce(array_to_json(array_agg(row_to_json(_postgrest_t))), '[]')::character varying AS body
	      FROM ( SELECT * FROM pg_source) _postgrest_t

Sorry for the German.
And this is what happened on the network:

I would have expected to see something logged about that post to login that resulted in the token returned :-(

I realize the post to login happened in a separate schema but tho log covers the entire database, doesn't it?

Are there multiple logs? I am now looking at C:\Program Files\PostgreSQL\9.6\data\pg_log\postgresql-2017-10-12_072207

Also missing: Should the log not log postgrest connecting to the database?

Seems like restarting the postgresql service on windows was not enough. I am getting a second log-file now after rebooting windows. It's times are two hours off but it looks like it contains the correct logs.
The log is a little hard for me to understand. What seems clear is that after running the login function the role is set to anon instead of the role according to the users table.

Here is the log:
2017-10-12 14:23:37 GMT LOG:  Ausführen 0: BEGIN ISOLATION LEVEL READ COMMITTED READ WRITE
2017-10-12 14:23:37 GMT LOG:  Anweisung: set local role 'anon';set local "request.jwt.claim.role" = 'anon';set local "request.header.host" = 'localhost:4001';set local "request.header.connection" = 'keep-alive';set local "request.header.content-length" = '27';set local "request.header.accept" = 'application/json, text/plain, */*';set local "request.header.origin" = 'http://localhost:3000';set local "request.header.user-agent" = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36';set local "request.header.content-type" = 'application/json;charset=UTF-8';set local "request.header.dnt" = '1';set local "request.header.referer" = 'http://localhost:3000/Projekte?feldkontrTab=entwicklung&projekteTabs=tree&projekteTabs=daten';set local "request.header.accept-encoding" = 'gzip, deflate, br';set local "request.header.accept-language" = 'de-CH,de;q=0.8,en-US;q=0.6,en;q=0.4,es-CR;q=0.2,es;q=0.2,de-DE;q=0.2';
2017-10-12 14:23:37 GMT LOG:  Ausführen 1:
	       WITH pg_source AS (select * from "apflora"."login"("username":='z'::unknown,"pass":='secret'::unknown) )
	       SELECT
	         null::bigint AS total_result_set,
	         pg_catalog.count(_postgrest_t) AS page_total,
	         coalesce(array_to_json(array_agg(row_to_json(_postgrest_t))), '[]')::character varying as body
	       FROM (SELECT  "pg_source".* FROM  "pg_source"    ) _postgrest_t;
2017-10-12 14:23:37 GMT LOG:  Ausführen 2: COMMIT
2017-10-12 14:23:37 GMT LOG:  Ausführen 3: BEGIN ISOLATION LEVEL READ COMMITTED READ ONLY
2017-10-12 14:23:37 GMT LOG:  Anweisung: set local role 'anon';set local "request.jwt.claim.role" = 'anon';set local "request.header.host" = 'localhost:4001';set local "request.header.connection" = 'keep-alive';set local "request.header.accept" = 'application/json, text/plain, */*';set local "request.header.origin" = 'http://localhost:3000';set local "request.header.user-agent" = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36';set local "request.header.dnt" = '1';set local "request.header.referer" = 'http://localhost:3000/Projekte?feldkontrTab=entwicklung&projekteTabs=tree&projekteTabs=daten';set local "request.header.accept-encoding" = 'gzip, deflate, br';set local "request.header.accept-language" = 'de-CH,de;q=0.8,en-US;q=0.6,en;q=0.4,es-CR;q=0.2,es;q=0.2,de-DE;q=0.2';
2017-10-12 14:23:37 GMT FEHLER:  keine Berechtigung für Relation message

that's because you are not sending the correct authorization header
you are doing
Authorization: TOKEN
and the correct way is
Authorization: Bearer TOKEN

Hm. That does change the log but still does not work. The weird thing is that the following two get requests are not logged any more:
2017-10-12 16:26:42 GMT LOG:  Ausführen 0: BEGIN ISOLATION LEVEL READ COMMITTED READ WRITE
2017-10-12 16:26:42 GMT LOG:  Anweisung: set local role 'anon';set local "request.jwt.claim.role" = 'anon';set local "request.header.host" = 'localhost:4001';set local "request.header.connection" = 'keep-alive';set local "request.header.content-length" = '27';set local "request.header.accept" = 'application/json, text/plain, */*';set local "request.header.origin" = 'http://localhost:3000';set local "request.header.user-agent" = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36';set local "request.header.content-type" = 'application/json;charset=UTF-8';set local "request.header.dnt" = '1';set local "request.header.referer" = 'http://localhost:3000/Projekte?feldkontrTab=entwicklung&projekteTabs=tree&projekteTabs=daten';set local "request.header.accept-encoding" = 'gzip, deflate, br';set local "request.header.accept-language" = 'de-CH,de;q=0.8,en-US;q=0.6,en;q=0.4,es-CR;q=0.2,es;q=0.2,de-DE;q=0.2';
2017-10-12 16:26:42 GMT LOG:  Ausführen 1:
	       WITH pg_source AS (select * from "apflora"."login"("username":='z'::unknown,"pass":='secret'::unknown) )
	       SELECT
	         null::bigint AS total_result_set,
	         pg_catalog.count(_postgrest_t) AS page_total,
	         coalesce(array_to_json(array_agg(row_to_json(_postgrest_t))), '[]')::character varying as body
	       FROM (SELECT  "pg_source".*
I do not understand why that is so because they are definied in the sql code:
create or replace function apflora.login(username text, pass text)
returns basic_auth.jwt_token
  as $$
declare
  _role name;
  result basic_auth.jwt_token;
begin
  -- check username and password
  select basic_auth.user_role($1, $2) into _role;
  if _role is null then
    raise invalid_password using message = 'invalid user or password';
  end if;

  select basic_auth.sign(
      row_to_json(r), current_setting('app.jwt_secret')
    ) as token
    from (
      select _role as role,
      $1 as username,
      extract(epoch from now())::integer + 60*60*24*30 as exp
    ) r
    into result;
  return result;
end;
$$ language plpgsql;

you've pasted the log for login which is not the problem (the requests after it are the problem), then a printscreen of your browser which is irrelevant.
don't test your api with your full frontend. start making each request by hand (preferably curl) and see the log after each request

you've pasted the log for login which is not the problem (the requests after it are the problem)

The fact that the requests after login are now the problem is due to you telling me to add Bearer  before the jwt. Something I had initially done. But one of several things I had played around with and finally left wrong because authorization never got working. Thanks a lot for pointing that out!

don't test your api with your full frontend. start making each request by hand (preferably curl) and see
the log after each request

I now did that using the advanced rest client extension of chrome. And got a JWSError JWSInvalidSignature error.
I don't know why my log did not show anything. Maybe I should not have kept it open in the editor.
The error made me frown. I had seen that in the issues somewhere before. So I searched and found https://github.com/begriffs/postgrest/issues/977 where https://github.com/begriffs/postgrest/issues/977#issuecomment-329917367 points to the solution:

In v4.3 we require a secret of at least 32 characters

First of all: Thanks for helping me finally get over this issue that has cost me days of work. I really appreciate it.
The problem I face now is that in production a too short jwt is used now. This works as db-anon-role = "postgres" in postgrest.conf now. I know, I will sleep better once this is changed :-|
So I will have to find a way to provoke a new login when users connect with that jwt. Would be very thankful for pointers.
To prevent others from going down this lane I propose to add a sentence mentioning this fact to https://postgrest.com/en/v4.3/auth.html#jwt-generation.
Seems that @begriffs has done that already though, see https://github.com/begriffs/postgrest/issues/977#issuecomment-334943786

I opened a docs pull request to help clarify the 32-char minimum.

Also it is nice to see that the error returned will hopefully soon be much more helpful: https://github.com/frasertweedale/hs-jose/issues/46
@ruslantalpa Thank you very much for investing time to coach noobs like me with code full of errors to the right solution.

If you change the jwt secret, the only thing that would happen is the clients that have a token now would receive 401 unauthorized. I dont know how your frontend is built but in cases like this it should probably redirect to login. If you dont have this functionality, then first implement it in the frontend, push a new version, and after that when fronted can handle 401, upgrade postgrest and change the token

On 13 Oct 2017, at 13:17, Alexander Gabriel<EMAIL_ADDRESS>wrote:
you've pasted the log for login which is not the problem (the requests after it are the problem)
The fact that the requests after login are now the problem is due to you telling me to add Bearer before the jwt. Something I had initially done. But one of several things I had played around with and finally left wrong because authorization never got working. Thanks a lot for pointing that out!
don't test your api with your full frontend. start making each request by hand (preferably curl) and see
the log after each request
I now did that using the advanced rest client extension of chrome. And got a JWSError JWSInvalidSignature error.
I don't know why my log did not show anything. Maybe I should not have kept it open in the editor.
The error made me frown. I had seen that in the issues somewhere before. So I searched and found #977 where #977 (comment) points to the solution:
In v4.3 we require a secret of at least 32 characters
First of all: Thanks for helping me finally get over this issue that has cost me days of work. I really appreciate it.
The problem I face now is that in production a too short jwt is used now. This works as db-anon-role = "postgres" in postgrest.conf now. I know, I will sleep better once this is changed :-|
So I will have to find a way to provoke a new login when users connect with that jwt. Would be very thankful for pointers.
To prevent others from going down this lane I propose to add a sentence mentioning this fact to https://postgrest.com/en/v4.3/auth.html#jwt-generation.
Seems that @begriffs has done that already though, see #977 (comment)
I opened a docs pull request to help clarify the 32-char minimum.
Also it is nice to see that the error returned will hopefully soon be much more helpful: frasertweedale/hs-jose#46
@ruslantalpa Thank you very much for investing time to coach noobs like me with code full of errors to the right solution.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Yep, that seems to work. Thanks for great help!


Dependency Conflict?

System Details

FluentValidation version:  8.0.100
Web Framework version (eg ASP.NET Core 2.1, MVC 5, WebApi 2. Delete if not applicable): ASP.NET Core 2.1

Issue Description
Warning : Found conflicts between different versions of "Microsoft.AspNetCore.Http.Abstractions"
I Use FluentValidation.AspNetCore And Get This Warning Every Time I ReBuild My Project

Hi, this is not actually a problem with FluentValidation. It means that you have a version conflict in your project - another project or library within your solution is trying to bring in an older version of aspnetcore, but FluentValidation requires version 2.1
You will need to look through your dependency graph and find what’s causing the conflict.

Hi
Thanks For Reaching Out,
Solved.


create a font bitmap for debugging output in kernel

can probably remix the ideas found in here:
https://github.com/JSBattista/Characters_To_Linux_Buffer_THE_HARD_WAY/blob/master/display.c

this is done in https://github.com/stakach/crystal-kernel/blob/master/src/kernel/console/font.cr


Fix issue with visibility of modification in DNSCache and docs cleanup in SimpleLockManager

Fix #186
This is to based on discussions in the comments onwards
https://github.com/jmdns/jmdns/issues/186#issuecomment-2308543051
Related to potential lack of visibility of mutations in the entryLists between threads

@ivenhov if you change your first comment text in this thread to Fix #186 it will link this PR to the ticket

@ivenhov looks like you need to re-sign the commit

looks like you need to re-sign the commit

No need, all fine - the DCO check was only red because my change was added and GitHub uses a "co-authored" line on such commits.


Add Typescript type definitions

How would you feel about adding Typescript type definitions to these packages?

I also need types!!


mitmdump throw ImportError: No module named 'mitmproxy.script'

Steps to reproduce the problem:

Download mitmproxy binary from https://github.com/mitmproxy/mitmproxy/releases/download/v0.18.2/mitmproxy-0.18.2-linux.tar.gz
Extract and then run : ~$ ./mitmdump -T --host -s inline_script.py
mitmdump throw exception:

Script error: Traceback (most recent call last):
  File "/home/john/inline_script.py", line 1, in <module>
    from mitmproxy.script import concurrent
ImportError: No module named 'mitmproxy.script'

inline_scripy.py content:
from mitmproxy.script import concurrent

@concurrent
def request(context, flow):
   print("Request")

Any other comments? What have you tried so far?
I tried to install mitmproxy from pip. And rerun with inline_script.py: ~$ mitmdump -T -s inline_script.py
It runs normally.
System information
./mitmdump --sysinfo
Mitmproxy version: 0.18.2
Python version: 3.5.2
Platform: Linux-3.13.0-85-generic-x86_64-with-debian-jessie-sid
SSL version: OpenSSL 1.0.2j  26 Sep 2016
Linux distro: debian jessie/sid

This is a bug in the release builds.  Nothing uses mitmproxy.script.concurrent within mitmproxy itself, so PyInstaller doesn't include it in the packaged application.  If you don't need functioning HTTP/2 (I see you're on Ubuntu 14.04, whose provided openssl is too old to have ALPN, and thus you can't use HTTP/2), you can install mitmproxy via pip for functioning concurrency.

We can fix this by either adding from . import script to mitmproxy/__init__.py or by declaring it as a hiddenimport in pyinstaller. Exposing something useful in __init__.py might be useful anyway... @mitmproxy/devs, any preferences?

:+1: to from . import script in __init__.py

Declaring a hiddenimport might be better in light of #2470. Let's continue the discussion over there.


feat: kt-lint CI-Pipeline

Fixes Issue
Build a Ci pipeline for lint check. used Kt-lint for this
will provide all the linting issues when pull request raised. by any contributor.

Fixes issue #67

Changes proposed

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[ ] All new and existing tests passed.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

Screenshots

Demo video

Note to reviewers

@DevMehta1206 please fix the lint issues

@DevMehta1206 please fix the lint issues

@DevMehta1206 any updates?


Investigate Regression in Compilers-Unions

Our perf dashboard has a ~230ms regression on the compilers-unions benchmark starting at 4e33e0eb6c0e3173dbed1d4a825965f44b2b9e09 introduced in #49865.

I think you can just fix this if you check whether the target has the appropriate primitive-like flag for the literals you're checking.

I don’t quite understand—the target is always a weak object type here, never a primitive.

Hm - is it possible that it has to do with the use of isLiteralType which returns true if any given type in a union is a literal? So you may be doing the work of getting the apparent type of fairly large union types?

So, my assumption was that the perf impact was more likely to be due to actually performing more common-property checks, but the condition relation === comparableRelation && isLiteralType(source) is never actually true in Compiler-Unions, so if the benchmark is to be believed, the cost is solely due to calling isLiteralType(source) itself, which does not get the apparent type or anything expensive; it just does every((type as UnionType).types, isUnitType) over unions. We could try caching that bit on UnionType, but it seems odd that it’s really making that big of a difference here.

That's surprising. You don't really need to cache though because you'll re-enter the same branch where isRelatedTo will distribute across union types, right?

Let's see if #50423 fixes this.


Add a FAQ about Azure Private DNS zones being globally deployed

I understand that Azure Private DNS Zones are not bounded to a particular region. So they are resilient to regional disasters. However, I couldn't find an official reference confirming this.
Please add a FAQ related to the fact that Azure Private DNS Zones are deployed globally and they are resilient to regional disasters. Also, please clarify in the answer that if a regional disaster happens, Private DNS Zones can still be read and edited.
Thanks!

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

ID: 5a9fefae-13a3-95c4-b80c-ca5b765548be
Version Independent ID: c78810af-b35b-5eb6-32ad-e188e394014e
Content: Azure Private DNS FAQ
Content Source: articles/dns/dns-faq-private.md
Service: dns
GitHub Login: @rohinkoul
Microsoft Alias: rohink

@pacodelacruz , We have assigned this issue to the respective product owner for updating the doc accordingly.
@rohinkoul , Could you please provide your insights here?

Hi - I've assumed ownership of this article. I am reassigning the issue to myself. We currently have a large backlog of GitHub issues so I'm prioritizing these and working them as I am able.  Please reply to this thread if you are still experiencing an issue with the article that is referenced, or if you feel the issue can be closed now.  Thanks! #reassign:greg-lindsay

This is being tracked as internal content issue: 96224
#please-close


Disable Swift 6 language mode since it fails to build on Linux

Tests still do not compile with the latest Swift 6.0 snapshot, but the library is useable from other projects.

Cancelling this since there appears to be a concurrency fix that seems to work (unit tests pass). I'll test that a bit more and see if we can consider that solution instead, as it compiles with Swift 6 language mode enabled.


Update customize-analytical-workspace.md

Updates to use proper terminology for role-based security. The use of group may create misunderstandings given there are also user groups.

:white_check_mark: Organization membership check passed
Requester is not a member of the MicrosoftDocs organization.


Memory usage?

I'm looking at CachingPolicy and wonder if it could lead to excessive memory usage. You can specify how long something may be cached, and for a given command definition how many rows can be cached. But you can't specify how large the cache may become. So given enough different commands in a short enough timeframe, this could lead to an out of memory exception? Or am I misunderstanding how EFCache works?

If you are using the built-in memory cache then you are right - it can lead to excessive memory usage. You don't even have to send commands in a short time frame - stale entries are only detected when cached data for a key is requested (you can Purge the cache manually but it's specific to MemoryCache - typically you have a separate thread that is responsible for removing stale entries) so memory usage will grow.
In my opinion CachingPolicy is not part of the cache hence it does not know specifics of cache (including the size of the cache) - e.g. if you cached data in SqlServer how would/should cache policy know the size of the "cache"?
The built-in memory cache is very simple. You can replace it with your own implementation that has a more sophisticated eviction algorithm, contains a thread that periodically checks and removes stale entries, do not cache results if cache gets to big (or remove older entries to make room) etc.
I also don't recommend caching results for all queries/tables - you should pick tables whose results you want to cache rather than all tables.

Thanks for you answer. I've now made my own implementation of ICache, based on InMemoryCache, but using .NET's MemoryCache internally, because it allows me to set a maximum size.


checkpath tries to fix correct directory mode when using 7000 bits (set*id/sticky)

Hi all, I did not find an obvious issue template so I'm trying to be brief:
I'm using Alpine in an LXC and set up a custom service for the default runlevel. checkpath in start_pre() tries to fix the mode of a directory that is already set correctly. This happens every time.
"error" message:
 * Executing: /lib/rc/sh/openrc-run.sh /lib/rc/sh/openrc-run.sh /root/services/open-rc/init.d/docker-jenkins start
 * /home/jenkins: correcting mode
 ...

corresponding line in start_pre():
checkpath --directory --mode 2755 --owner jenkins:jenkins /home/jenkins

the directory:
# ls -l /home
drwxr-sr-x   16 jenkins  jenkins       4096 Dec  9 14:33 jenkins

It is not harmful, but this is not the expected behavior. Let me know if i can provide more data.

thx for the detailed report


Update connectors documentation to describe why sources have encoders and why sinks have decoders

This was raised by a third party user in https://github.com/WallarooLabs/wallaroo/issues/2466
A possible explanation that we could include the docus (perhaps with clearer code samples):
Wallaroo connectors work by using a two-process approach:

A user provided "Connector" process, which is responsible for pulling data from some user-specified source (e.g. kafka, a file, S3, etc. or even some combination), and using the Connector class's write method to send it to Wallaroo
On the Wallaroo side, there is a Connector Listener, which is responsible for receiving this data and routing it internally in Wallaroo to the correct computations.

What's in between these two components is a protocol that's internal to Wallaroo, and a TCP connection.
So if you had, say, a Connector that is following a log file, parsing log lines into objects, and sending those to Wallaroo, the following would have to happen:

Read a log line
2019-01-17 10:43:05.123456 INFO Main Server Was shut down!
Parse the log line into an object of attributes (glossing over the actual parsing logic):
log_event = {'event': 'info', 'timestamp': datetime.datetime.strptime('2019-01-17 10:43:05.123456', '%Y-%m-%d %H:%M:%S.%f'), 'entity': 'Main Server', 'action': 'shut down'}
Send the log to Wallaroo via the Connector instance
connector.write(log_event)
Inside the connector class, the user provided encoder function of the ConnectorSource is used:
This is where the Source encoder is used
payload = self._encoder.encode(message)
The payload is sent over TCP using Wallaroo's internal TCP framing protocol
A message + payload is received on the Wallaroo Listener (inside of the Wallaroo Cluster)
That message is decoded, and the payload is passed to the user provided decode function:
This is where the Source decoder is used
user_data = self._decoder.decode(payload)
The user_data is forwarded to the appropriate computation

The Sink Connector works in a similar way.

It's important to add a section about sources, comparing the different types of sources (TCP, ALO, internal-kafka, etc.) and how they interact with the different consistency guarantees.
Another thing that is important to document is how multiple sources behave, and how "disconnectnig and reconecting a TCP sender" can also result in the tail of the prior intearleaving with the head of the latter.


Regression around proc-macros which change signatures

I have a project (closed-source alas) which has a proc-macro where you write:
#[foo]
fn myfun() {
   ...
}

And the proc-macro changes that to:
fn myfun(x: &str) {
    ...
}

Since my last upgrade to Rust Analyser 2020-07-13, when I call such functions I get the message:
Expected 0 arguments, found 1

This code works fine if I do cargo build or cargo check, but Rust Analyser displays a persistent error message. I tried Rust Analyser Nightly and that still has the same issue.
This code worked fine a few weeks ago. In case it's relevant, I'm on Rust Nightly 2020-07-12. I upgraded the toolchain the day before the IDE, and it seemed to work fine for that day.

Attribute proc-macros are not yet implemented I believe.

This code worked fine a few weeks ago.

This error was implemented a few weeks ago.

So it's a case of Rust Analyser getting a new feature (detecting incorrect arity functions) which happens to play poorly with missing macros. Any advice on how to get around it until macros are implemented?

We're considering adding a separate toggle for these type-based diagnostics.

Thanks for the info. In my case I suspect the easiest thing to do to keep a good IDE experience is to make the macro not change the type signature - so make people write myfun(x: &str) explicitly. And I'll wait for this issue to be resolved to make it revert it back.


Will query and queryAll stay in the dom4 polyfill?

According to issue #30, query and queryAll have been removed from the spec.
Will they stay in the dom4 polyfill or will it reflect the spec and will they be removed at some point?

I don't know how many developers are using these methods, and it doesn't seem that removing them will give anyone anything, so a major version bump just for that doesn't seem to be worth, IMO.
Are those two methods disturbing you in some particular way?

On the contrary, I would very much like to keep them in the Dom4 polyfill.

I don't think I'm going to remove those utilities any time soon but if I do, it'll be a major breaking change so, same ver and code happily ever after ;-)

While I don't have a strong opinion here. I think these should be removed, because they are not part of a polyfill and should be added as utility methods in a separate DOM lib.

yeah, it will be removed but a major bump version only for that ain't happening.
It's flagged as deprecated now, might actually bump a patch and add the console.warn for those methods before the bump.
There's no need to break anything

Ok, I wait for next major version.
Because I don’t want useless and non standard code modyfing DOM in prod. 😢

Big issue, huh? 🤷♂
Tell me about the risks

Modifying prototype of DOM object is bad, cf. these articles:
http://perfectionkills.com/whats-wrong-with-extending-the-dom/
https://www.nczonline.net/blog/2010/03/02/maintainable-javascript-dont-modify-objects-you-down-own/
I can accept it for polyfill to resolve future standard.

2 - Dead code in prod. Heavier js without benefit.
The ideal case is requiring only used polyfill in my project
3 - My developers risk to use this deprecated functions…

Nothing in those articles applies here, the methods were already defined by specs and then deprecated so:

no risks for collisions, W3C doomed these two methods already, these won't be reused later on
extending the prototype is what this polyfill does all over. There's zero extra cost in having two extra methods
there is no death code because there are developers that use these methods. The current CDN is not used by you or your team, is used by many others and guess what, nobody ever had an issue.
the amount of JS you are saving is this one, which is 288 bytes gzipped. If 288 bytes is the problem of your Web site I think you should consider not using JS at all.

No developer risk to do anything. You have code reviews, you write tests, and you either know aboout these methods and the fact these do not exist anymore, or you read the README and you know these methods are deprecated.
Moreover, it looks like you didn't read the linked discussion so if all you can do to contribute is writing this:

Ok, I wait for next major version.
Because I don’t want useless and non standard code modyfing DOM in prod. :cry:

all I can say is: works for me, have a nice day

FYI query and queryAll have been removed from v2


Assetpath calculated incorrectly

Reference example for this bug:
https://github.com/Bubbit/polymerBuildTesting/tree/vulcanize
Bundled output in ./build/bundled/src/app-main/app-main.html:
<dom-module id="test-c" assetpath="">
Expected output in:
<dom-module id="test-c" assetpath="../../bower_components/test-card">
Note: the test-c.html file is imported by test-a.html which is imported by ./src/app-main.html, so this issue possibly manifests on nested imports only.

This particular issue was fixed by PR #408 and released as part of Vulcanize 1.15.3


Flux network stops working when i leave a chunk

If i leave the chunk it will stop transferring power.


Fix accuracy

A few fixes for accuracy and property obs, apologies for combining them

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@d8d4d54). Click here to learn what that means.
Patch has no changes to coverable lines.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##             main       #7   +/-   ##
=======================================
  Coverage        ?   34.67%
=======================================
  Files           ?        5
  Lines           ?      372
  Branches        ?        0
=======================================
  Hits            ?      129
  Misses          ?      243
  Partials        ?        0

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Schemas

auth_metadata.json
remove "jwks_uri", "revocation_endpoint", and "code_challenge_methods_supported" from required, as they are marked as optional according to the RFC8414 see https://tools.ietf.org/html/rfc8414#section-2

register_client_request.json & register_client_response.json
OpenID has added new response_types on top of oauh2.0 'code, token', they are 'id_token, id_token token, code id_token, code token, code id_token token, none'. Should they be added in the register_client_request & register_client_response schemas?  I think at least 'none' is needed to be added in the register_client_response.json as it is currently returning by the keycloak auth server after a successful client registration.
see https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html
see interesting article https://medium.com/@darutk/diagrams-of-all-the-openid-connect-flows-6968e3990660

jwks_response.json
x5c should be an array of string rather than just a string, as shown in RFC7517
see https://tools.ietf.org/html/rfc7517#section-4.7

token_response.json
Not sure whether "Bearer" or "bearer" should be used for token_type, the keycloak auth server is using "bearer"?  We can have both "Bearer" and "bearer" in the schema, and how about "BEARER"?
see https://tools.ietf.org/html/rfc6749#section-7.1

Hi Simon,  thanks for your comments.

The code_challenge_methods metadata field is required as the absence of the claim implies that PKCE is not supported: "If omitted, the authorization server does not support PKCE" (https://tools.ietf.org/html/rfc8414). Equally with the jwks_uri, if we are choosing to validate tokens based on JSON Web Keys then this will need to be defined in the metadata if it is going to be discovered dynamically.
To date we haven't really looked at OpenID Connect, due to it being an authentication protocol and not an authorization protocol. We could certainly add none, and any other OIDC response_types if we think that would be beneficial in using OTS auth servers.
This is valid, please feel free to put in a PR to make the relevant change.
The token should likely always be "Bearer" as given in https://tools.ietf.org/html/rfc6750. But I think allowing a case-insensitive match on the Resource Server side would be beneficial to ease interoperability.

yes I agreed, how about just removing the revocation_endpoint, as it is not a requiement for NMOS. And especially keycloak auth server does not retruning this information for the auth metadata.

back to no. 1,  some auth server may not be supporting PKCE, then the code_challenge_methods would be omitted from the response of the auth metadata, so adding PKCE or not while requesting authorization code should be down to the developer based on the present of 'code_challenge_methods'.  Therefore I don't think 'code_challenge_methods' should the required element in the auth_metadata schema.

Hi Simon, I agree that the "revocation_endpoint" field should be removed from being "required". Keycloak is a widely used authorization solution and it appears to handle revocation in an internal way. Perhaps altering it to "IF the revocation endpoint is present in the metadata then it MUST be used to revoke tokens ... etc etc"
With regards to the "code_challenge_methods" endpoint, due to PKCE now being recommended in the OAuth Best Common Practices, (https://tools.ietf.org/html/draft-ietf-oauth-security-topics-15#section-2.1.1) and it being supported by the majority of Auth Solutions (including Keycloak), I'd argue that we should not be supporting OTS Solutions that do not support PKCE, making this requirement valid.

Item #1 - PR in the works
Item #2,3,4 - Solved with merged PRs


Online ide?

Before the open source version of custom realms, there was an online IDE (with hosting). Will this come back or will there be a new version of the IDE or will there be no online IDE?

I don't think there will be an online IDE. It was convenient, but the hosting was relatively costly.
What are your thoughts about it?

You could use Contabo to host the servers. Wich is like $1 per GB RAM!
( I also use Contabo for all my projects )

Oh okay that's nice. I'll definitely consider it.
One thing I want to do is to add a command to the CLI, something like crx devserver which would automatically spin up a Spigot / Paper server on your computer and run your plugin, while you're coding it.
I think that would make it easy like the online IDE was.

Yeah. But some people don't know how to use NodeJS ect, but know how to use Custom Realmst (because before the open source version, they hadn't to bother about compiling ect (my English is not the best, but I hope you understand it))

We also could use AdinPlay, so users need to watch an ad to host their debug server ( for 60 minutes )

When will you send the code of the frondend? So I can also start working on the backend!

I am going to make my own version of CustomRealms. This is dead.


JSONC syntax highlight for internal settings.json

VSCode Version: Code 1.19.3 (7c4205b5c6e52a53b81c69d2b2dc8a627abaa0ba, 2018-01-25T10:36:34.867Z)
OS Version: Windows_NT x64 10.0.16299
Reproduces without extensions: Yes

STR:

Invoke "Preferences: Open User Settings" command or open settings.json file directly.
Observe chosen syntax is JSON, although this file is internally processed as JSONC.
If the file contains no // comment type one there and save.
Observe comment being highlighted as a syntactic error.
Change syntax to JSONC.
Observe no syntactic error highlight.
Close the editor.
Repeat step 1.

Expected outcome:
settings.json is opened as JSONC file, at least when opened for the second time.
Actual outcome:
settings.json is opened as plain JSON file every single time.

It is almost impossible not to run into this glitch (there is a comment line in the default config file, isn't there?), so I hardly believe it wasn't reported already (yes, I searched and found nothing).  If there is some easy workaround (like renaming the file or something), please pardon me and let me know (and take this report as a sign it wasn't communicated sufficiently).

I'm not able to reproduce this and it's surprising as the JSONC language definition has 'settings.json' is explicitly associated with jsonc: https://github.com/Microsoft/vscode/blob/2fbfa8d500d05706205ea12cd8dde6a8effc20c8/extensions/json/package.json#L61
Do you maybe have a user setting or any other extension that changes the file associations?

Ah, you are right, got "files.associations":{"*.json": "json"} buried in my settings, no clue why X|
Thanks a lot for the pointer and sorry for wasting your time.


Merge dev into main

Update main branch to changes done in the dev branch. These include:

(MAJOR) Migration to llvm
Simplified installation
Updated readme

Still need to update the readme

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@a14b6f8). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master      #13   +/-   ##
=========================================
  Coverage          ?   66.66%
=========================================
  Files             ?        1
  Lines             ?       48
  Branches          ?        0
=========================================
  Hits              ?       32
  Misses            ?       16
  Partials          ?        0

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


cant create indices from logstash

Problem description
Hi, I'm new for elk docker try to get log form nginx,  when i start elk can't find nginx log indices in kinaba. please help

Extra information

Stack configuration

Docker setup
docker-composer
version:'3.2'
services:
  elasticsearch:
    build:
      context: elasticsearch/
      args:
        ELK_VERSION: $ELK_VERSION
    volumes:
      - type: bind
        source: ./elasticsearch/config/elasticsearch.yml
        target: /usr/share/elasticsearch/config/elasticsearch.yml
        read_only: true
      - type: volume
        source: elasticsearch
        target: /usr/share/elasticsearch/data
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      ES_JAVA_OPTS: "-Xmx512m -Xms512m"
      #ELASTIC_PASSWORD: changeme
      # Use single node discovery in order to disable production mode and avoid bootstrap checks
      # see https://www.elastic.co/guide/en/elasticsearch/reference/current/bootstrap-checks.html
      discovery.type: single-node
    networks:
      - elk

  logstash:
    build:
      context: logstash/
      args:
        ELK_VERSION: $ELK_VERSION
    volumes:
      - type: bind
        source: ./logstash/config/logstash.yml
        target: /usr/share/logstash/config/logstash.yml
        read_only: true
      - type: bind
        source: ./logstash/pipeline
        target: /usr/share/logstash/pipeline
        read_only: true
    ports:
      - "5000:5000/tcp"
      - "5000:5000/udp"
      - "9600:9600"
    environment:
      LS_JAVA_OPTS: "-Xmx512m -Xms512m"
    networks:
      - elk
    depends_on:
      - elasticsearch

 kibana:
    build:
      context: kibana/
      args:
        ELK_VERSION: $ELK_VERSION
    volumes:
      - type: bind
        source: ./kibana/config/kibana.yml
        target: /usr/share/kibana/config/kibana.yml
        read_only: true
    ports:
      - "5601:5601"
    networks:
      - elk
    depends_on:
      - elasticsearch

networks:
  elk:
    driver: bridge

volumes:
  elasticsearch:

logstash/pipeline/logstash.conf
input {
    file {
        path => "/data1/log/nginx/access.log"
        start_position => "beginning"
        stat_interval => "2"
        codec => "json"
    }
}

## Add your filters / logstash plugins configuration here
filter {}
output {
    stdout {
       codec => "rubydebug"
    }
    elasticsearch {
        hosts => ["elasticsearch:9200"]
        index => "nginx-log-%{+YYYY.MM.dd}"
    }

    stdout {
        codec => json_lines
    }

docker-compose version 1.25.0, build 0a186604
docker-py version: 4.1.0
CPython version: 3.7.4
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

Docker logs
[2020-04-01T05:53:27,137][INFO ][logstash.runner          ] Starting Logstash {"logstash.version"=>"7.5.1"}
[2020-04-01T05:53:29,247][WARN ][logstash.monitoringextension.pipelineregisterhook] xpack.monitoring.enabled has not been defined, but found elasticsearch configuration. Please explicitly set `xpack.monitoring.enabled: true` in logstash.yml
[2020-04-01T05:53:31,604][INFO ][logstash.licensechecker.licensereader] Elasticsearch pool URLs updated {:changes=>{:removed=>[], :added=>[http://elasticsearch:9200/]}}
[2020-04-01T05:53:32,310][WARN ][logstash.licensechecker.licensereader] Restored connection to ES instance {:url=>"http://elasticsearch:9200/"}
[2020-04-01T05:53:32,599][INFO ][logstash.licensechecker.licensereader] ES Output version determined {:es_version=>7}
[2020-04-01T05:53:32,621][WARN ][logstash.licensechecker.licensereader] Detected a 6.x and above cluster: the `type` event field won't be used to determine the document _type {:es_version=>7}
[2020-04-01T05:53:33,052][INFO ][logstash.monitoring.internalpipelinesource] Monitoring License OK
[2020-04-01T05:53:33,058][INFO ][logstash.monitoring.internalpipelinesource] Validated license for monitoring. Enabling monitoring pipeline.
[2020-04-01T05:53:40,857][INFO ][org.reflections.Reflections] Reflections took 119 ms to scan 1 urls, producing 20 keys and 40 values
[2020-04-01T05:53:43,056][INFO ][logstash.outputs.elasticsearch] Elasticsearch pool URLs updated {:changes=>{:removed=>[], :added=>[http://elasticsearch:9200/]}}
[2020-04-01T05:53:43,175][WARN ][logstash.outputs.elasticsearch] Restored connection to ES instance {:url=>"http://elasticsearch:9200/"}
[2020-04-01T05:53:43,206][INFO ][logstash.outputs.elasticsearch] ES Output version determined {:es_version=>7}
[2020-04-01T05:53:43,208][WARN ][logstash.outputs.elasticsearch] Detected a 6.x and above cluster: the `type` event field won't be used to determine the document _type {:es_version=>7}
[2020-04-01T05:53:43,305][INFO ][logstash.outputs.elasticsearch] New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["//elasticsearch:9200"]}
[2020-04-01T05:53:43,532][INFO ][logstash.outputs.elasticsearch] Using default mapping template
[2020-04-01T05:53:43,711][WARN ][org.logstash.instrument.metrics.gauge.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.
[2020-04-01T05:53:43,742][INFO ][logstash.javapipeline    ] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>48, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50, "pipeline.max_inflight"=>6000, "pipeline.sources"=>["/usr/share/logstash/pipeline/logstash.conf"], :thread=>"#<Thread:0x495622e5 run>"}
[2020-04-01T05:53:44,006][INFO ][logstash.outputs.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"}}}}}}}
[2020-04-01T05:53:47,498][INFO ][logstash.inputs.file     ] No sincedb_path set, generating one based on the "path" setting {:sincedb_path=>"/usr/share/logstash/data/plugins/inputs/file/.sincedb_7fba6d859f7945f5117329f8e3af06bf", :path=>["/data1/log/nginx/access.log"]}
[2020-04-01T05:53:48,142][INFO ][logstash.javapipeline    ] Pipeline started {"pipeline.id"=>"main"}
[2020-04-01T05:53:48,514][INFO ][filewatch.observingtail  ] START, creating Discoverer, Watch with file and sincedb collections
[2020-04-01T05:53:48,667][INFO ][logstash.agent           ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
[2020-04-01T05:53:57,782][WARN ][logstash.outputs.elasticsearch] You are using a deprecated config setting "document_type" set in elasticsearch. Deprecated settings will continue to work, but are scheduled for removal from logstash in the future. Document types are being deprecated in Elasticsearch 6.0, and removed entirely in 7.0. You should avoid this feature If you have any questions about this, please visit the #logstash channel on freenode irc. {:name=>"document_type", :plugin=><LogStash::Outputs::ElasticSearch bulk_path=>"/_monitoring/bulk?system_id=logstash&system_api_version=7&interval=1s", hosts=>[http://elasticsearch:9200], sniffing=>false, manage_template=>false, id=>"7d7dfa0f023f65240aeb31ebb353da5a42dc782979a2bd7e26e28b7cbd509bb3", document_type=>"%{[@metadata][document_type]}", enable_metric=>true, codec=><LogStash::Codecs::Plain id=>"plain_c0f37282-acd3-424d-b350-f211dde6aa04", enable_metric=>true, charset=>"UTF-8">, workers=>1, template_name=>"logstash", template_overwrite=>false, doc_as_upsert=>false, script_type=>"inline", script_lang=>"painless", script_var_name=>"event", scripted_upsert=>false, retry_initial_interval=>2, retry_max_interval=>64, retry_on_conflict=>1, ilm_enabled=>"auto", ilm_rollover_alias=>"logstash", ilm_pattern=>"{now/d}-000001", ilm_policy=>"logstash-policy", action=>"index", ssl_certificate_verification=>true, sniffing_delay=>5, timeout=>60, pool_max=>1000, pool_max_per_route=>100, resurrect_delay=>5, validate_after_inactivity=>10000, http_compression=>false>}
[2020-04-01T05:53:58,200][INFO ][logstash.outputs.elasticsearch] Elasticsearch pool URLs updated {:changes=>{:removed=>[], :added=>[http://elasticsearch:9200/]}}
[2020-04-01T05:53:58,435][WARN ][logstash.outputs.elasticsearch] Restored connection to ES instance {:url=>"http://elasticsearch:9200/"}
[2020-04-01T05:53:58,502][INFO ][logstash.outputs.elasticsearch] ES Output version determined {:es_version=>7}
[2020-04-01T05:53:58,507][WARN ][logstash.outputs.elasticsearch] Detected a 6.x and above cluster: the `type` event field won't be used to determine the document _type {:es_version=>7}
[2020-04-01T05:53:58,633][INFO ][logstash.outputs.elasticsearch] New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["http://elasticsearch:9200"]}
[2020-04-01T05:53:58,741][INFO ][logstash.javapipeline    ] Starting pipeline {:pipeline_id=>".monitoring-logstash", "pipeline.workers"=>1, "pipeline.batch.size"=>2, "pipeline.batch.delay"=>50, "pipeline.max_inflight"=>2, "pipeline.sources"=>["monitoring pipeline"], :thread=>"#<Thread:0x5be775df run>"}
[2020-04-01T05:53:59,120][INFO ][logstash.javapipeline    ] Pipeline started {"pipeline.id"=>".monitoring-logstash"}
[2020-04-01T05:53:59,255][INFO ][logstash.agent           ] Pipelines running {:count=>2, :running_pipelines=>[:main, :".monitoring-logstash"], :non_running_pipelines=>[]}
[2020-04-01T05:54:00,761][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}

Thanks for sharing all the requested information @nathan-zhu 🙌 💯
In your Logstash input block, you're referencing a file inside /data1/log/..., but this file does not exist inside the logstash container. To access it, you have to make it available to Logstash by bind mounting the log directory into the Logstash container.
You can do this by adding a new volume inside the Compose file. For example:
# docker-compose.yaml

logstash:
    volumes:
      - type: bind
        source: /data1/log/nginx
        target: /data1/log/nginx
        read_only: true

ok, i got it, thanks for quick reply.  i will change it.

Let us know if that solves the issue.
In the future if you want to ship logs from external systems you could also look into Elastic Filebeat.

Closing. Feel free to reopen if the issue persists.

Hi, I am trying to import csv data to Logstash and I followed the steps described above but still not able to see anything in Kibana
docker-compose.yml
`version: '3.2'
services:
elasticsearch:
build:
context: elasticsearch/
args:
ELK_VERSION: $ELK_VERSION
volumes:
- type: bind
source: ./elasticsearch/config/elasticsearch.yml
target: /usr/share/elasticsearch/config/elasticsearch.yml
read_only: true
- type: volume
source: elasticsearch
target: /usr/share/elasticsearch/data
ports:
- "9200:9200"
- "9300:9300"
environment:
ES_JAVA_OPTS: "-Xmx256m -Xms256m"
ELASTIC_PASSWORD: changeme
# Use single node discovery in order to disable production mode and avoid bootstrap checks
# see https://www.elastic.co/guide/en/elasticsearch/reference/current/bootstrap-checks.html
discovery.type: single-node
networks:
- elk
logstash:
build:
context: logstash/
args:
ELK_VERSION: $ELK_VERSION
volumes:
- type: bind
source: ./logstash/config/logstash.yml
target: /usr/share/logstash/config/logstash.yml
read_only: true
- type: bind
source: ./logstash/pipeline
target: /usr/share/logstash/pipeline
read_only: true
- type: bind
source: ./SDI_test_Templates
target: /usr/share/logstash/SDI_test_Templates
read_only: true
command:
- --config.reload.automatic
ports:
- "5000:5000/tcp"
- "5000:5000/udp"
- "9600:9600"
environment:
LS_JAVA_OPTS: "-Xmx256m -Xms256m"
networks:
- elk
depends_on:
- elasticsearch
kibana:
build:
context: kibana/
args:
ELK_VERSION: $ELK_VERSION
volumes:
- type: bind
source: ./kibana/config/kibana.yml
target: /usr/share/kibana/config/kibana.yml
read_only: true
ports:
- "5601:5601"
networks:
- elk
depends_on:
- elasticsearch
networks:
elk:
driver: bridge
volumes:
elasticsearch:
`
logstash.conf
`input {
file{
path=>"/usr/share/logstash/SDI_test_Templates/ScarboroughSite.csv"
start_position => "beginning"
}
}
Add your filters / logstash plugins configuration here
filter {
csv {
separator => ","
columns => ["JCS ID","Program Name","Program Start Date","Program Exit Date","Client: Gender","Country of Origin","Postal Code"]
}
}
output {
elasticsearch {
hosts => "elasticsearch:9200"
index => "ScarboroughSite"
user => "elastic"
password => "changeme"
}
}
`
Then I just ran docker-compose down and docker-compose up to restart the container but I don't see any changes(data), am I missing anything? Thank you in advance!


Fix pre-commit ci

Fix #95

Assuming you've tested that it works?

Assuming you've tested that it works?

It work well on my PC.


How to Add cloudflare FULL SSL

I was trying to add cloudflare FULL SSL on wordpress, still getting ssl redirect loop, can you please add cloudflare ssl support?

Are you sure wordpress isn't the one redirecting? I've managed a few wordpress sites and worpress itself tends to store the absolute URL into the database. You may need to change the URL from the wordpress settings.
As long as you have https set on your webserver using an CA-signed certificate, enabling Cloudflare FULL SSL should work right out of the box.


[Flake] Bootstrap problems in storage emulator

https://source.cloud.google.com/results/invocations/c920c4fd-425f-4930-a75c-ff7ca4f5b407/targets
Says:
 4/35 Test #338: storage_curl_resumable_upload_session_integration_test ..........***Failed    0.23 sec
Running main() from gmock_main.cc
[==========] Running 6 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 6 tests from CurlResumableUploadIntegrationTest
[ RUN      ] CurlResumableUploadIntegrationTest.Simple
../../google/cloud/storage/tests/curl_resumable_upload_session_integration_test.cc:58: Failure
Value of: session
Expected: is OK
Actual: "Traceback (most recent call last):\n  File \"/usr/local/lib/python3.9/site-packages/flask/app.py\", line 1950, in full_dispatch_request\n    rv = self.dispatch_request()\n  File \"/usr/local/lib/python3.9/site-packages/flask/app.py\", line 1936, in dispatch_request\n    return self.view_functions[rule.endpoint](**req.view_args)\n  File \"/v/google/cloud/storage/emulator/emulator.py\", line 652, in object_insert\n    upload = gcs_type.holder.DataHolder.init_resumable_rest(flask.request, bucket)\n  File \"/v/google/cloud/storage/emulator/gcs/holder.py\", line 64, in init_resumable_rest\n    if len(request.data) > 0:\n  File \"/usr/local/lib/python3.9/site-packages/werkzeug/local.py\", line 347, in __getattr__\n    return getattr(self._get_current_object(), name)\n  File \"/usr/local/lib/python3.9/site-packages/werkzeug/utils.py\", line 90, in __get__\n    value = self.func(obj)\n  File \"/usr/local/lib/python3.9/site-packages/werkzeug/wrappers/base_request.py\", line 426, in data\n    return self.get_data(parse_form_data=True)\n  File \"/usr/local/lib/python3.9/site-packages/werkzeug/wrappers/base_request.py\", line 456, in get_data\n    self._load_form_data()\n  File \"/usr/local/lib/python3.9/site-packages/flask/wrappers.py\", line 98, in _load_form_data\n    from .debughelpers import attach_enctype_error_multidict\nImportError: cannot import name 'attach_enctype_error_multidict' from partially initialized module 'flask.debughelpers' (most likely due to a circular import) (/usr/local/lib/python3.9/site-packages/flask/debughelpers.py)\n"
 [UNAVAILABLE]
[  FAILED  ] CurlResumableUploadIntegrationTest.Simple (28 ms)

/cc: @vnvo2409 FYI

/cc: @vnvo2409 FYI

I think it maybe related to #5134. Let me take a look.

I think it maybe related to #5134. Let me take a look.

It's just a random flake. I don't see any problem with the emulator.
Let keep this issue open for some time to see if this flake will happen in the future.

It's just a random flake. I don't see any problem with the emulator.
Let keep this issue open for some time to see if this flake will happen in the future.

It just repeated:
https://source.cloud.google.com/results/invocations/1c1f0b28-a58c-42fa-9979-5f0d85644bca
Not to nitpick, but "random flake" is redundant. Anything that was consistent I would not call a "flake".  I think the behavior here probably depends on timing, system load, or how the OS decides to schedule things.  A single run will not reproduce it, one needs to run the test many times to see the issue (and then there is the question of how many times to run it after a fix to verify that it is actually fixed, but I am starting to digress on my statistics hobby).

It just repeated:
https://source.cloud.google.com/results/invocations/1c1f0b28-a58c-42fa-9979-5f0d85644bca
Not to nitpick, but "random flake" is redundant. Anything that was consistent I would not call a "flake".  I think the behavior here probably depends on timing, system load, or how the OS decides to schedule things.  A single run will not reproduce it, one needs to run the test many times to see the issue (and then there is the question of how many times to run it after a fix to verify that it is actually fixed, but I am starting to digress on my statistics hobby).

No recurrence for 90 days.  Closing.


Warn about missing space in doubleprecision, enddo, endif etc.

I don't know what the precise terminology is, but Fortran allows some two-word keywords such as double precision, end do, end if to be written without the space as doubleprecision, enddo, endif. I think omitting the space makes the code less readable and that should be an option to warn about (and ideally fix) such usage.

We agree! This is a duplicate of #66