Gap detector repeat

closes #2813
degan6 did all the work in #2872 but it looks like that PR got abandoned for some reason. All I've done here is take that branch and fix the indentation.

It's been a while since anyone has updated this. Is this issue still alive?

Yes, I would still like to get this merged. This PR hasn't been updated in a while because it hasn't been reviewed, so no changes have been requested.

Maybe we could ping someone with write access to get their attention.

Is there a reason we're still using Travis CI on this? I think I remember seeing somewhere that Circle CI is the way to go nowadays. Would this pass Circle CI?
Mind you, I'm just trying to get this issue handled and closed. I'm doing triage on this repo.


[ENHANCEMENT] Apply RabbitMQ classic queue version 2

Claimed to be better than version 1 cf:

https://www.rabbitmq.com/blog/2023/05/17/rabbitmq-3.12-performance-improvements#classic-queues-massively-improved-classic-queues-v2-cqv2
https://www.rabbitmq.com/blog/2023/05/17/rabbitmq-3.12-performance-improvements#312-cqv1-vs-cqv2

Before (all classic queues v1)

After (all classic queues v2)

Better performance overall (p99 805ms vs 914ms).
SELECT p99 1874ms vs 2049ms
UNSELECT p99 1420ms vs 1755ms

IE ensure this is not a breaking change.

Sadly this is a breaking change (queue purge is needed).
I would add a configuration to avoid this breaking change e.g. for the older James versions.


Add a commit and sync option

The github app has a commit and sync option which lets you save all changes (automatically staged) and sync them (pulling and pushing automatically as required).
It'd be great if you could add such an option as it'd make committing changes much quicker. Thanks!

+1 for this feature. I've been trying to figure out how to chain together commands, as shown in #174 but the only reason I'm doing it is because I want to do exactly what you're suggesting


Use hex encoding by default in kontrol show

With, https://github.com/runtimeverification/kontrol/pull/503 we add support for the hex encoding in the view-kcfg TUI. In addition to this, there is also the --use-hex-encoding flag that will enable the hex encoding in kontrol show.
Now the next step is to set the hex encoding active by default, replacing --use-hex-encoding with --no-use-hex-encoding.
In addition to this, I can confirm that the use of the hex encoding in pretty_print does not interfere with the kontrol show --to-module feature, used in CSE.

output should be encoded as strings?
(with --use-hex-encoding))

(without --use-hex-encoding)

Initial implementation was done in https://github.com/runtimeverification/kontrol/pull/688, however, it is still missing a few things:

leaving integer constants as they are, e.g., 32 instead of 0x1000000000000000000000000;
preserving aliases such as maxUint256
changing default values in functions


SAKIII-5030 reset upload form when image has finished loading

https://jira.sakaiproject.org/browse/SAKIII-5030

Squashed and merged


Bug: HTTP requests not traced in Network tab of the Developer Tools

Windows 10 Pro (64-bit)
GraphiQL App v0.7.2
Steps to reproduce:

open GraphiQL.app
open View menu > Toggle Developer Tools (or Ctrl+Alt+i), then select Network tab
create a new Query tab with:

GraphQL Endpoint: https://swapi.graph.cool
Method: POST
Query: (something as simple as) {allFilms{id}}

then hit the Play button

The date appears in the result panel, but at the same time nothing shows up in the Network tab, except in my case a request to a static bundle (probably the magnifier icon from the Documentation Explorer tab on the right I opened just thereafter).

Confirming it works on v0.7.0

This still seems to be an issue v0.7.2. Any updates?

Network capture does not work on Windows


Clarify "invited" on users admin page and add "invited" admin page

The "invited" filter on /all-users is kind of confusing. It looks like it will allow you to see users that have been invited, but actually it just lets you see users that have joined and were invited (even if they were invited after they joined, which is a whole other confusing thing). I'm not really sure what a good way of clarifying this would be, but it seems useful to do. Any ideas?
It also seems to make sense to have a separate admin view that shows all Invites and whether they converted to signed up users. It seems like it could be a handy thing and probably not that hard if it were based on similar code to the all-users.

Hey @anthonymayer! Telescope has changed a lot in the past months, and there is a new React-based version, Telescope Nova (intro video). If you know Crater, it runs on it.
The Legacy version is no longer supported, I'm closing this issue. The package invites is disabled by the way, but if you feel able to create a package for that, go for it 👯
I invite you to check the new version, it's awesome!
Happy hacking! 🚀
Ps: by the way, don't hesitate to join the Slack to ask any question, you are welcome! 👍


ScratchJR doesn't load Fedora

After install Scratch in a clean fedora installation, Scratch doesn't load with error message:
(ScratchJr:5986): Pango-ERROR **: 21:10:46.280: Harfbuzz version too old (1.4.2)

Might try building from source and then upgrading the electron inside it?

when I update the dependencies, the activity is opened with no actions and without image or color background.
If you could help me I can make a PR with the updated libraries

I can use with new libraries. I keep the versions of localization and sql.js and I update main.js

Let me know if you want the pull request (Y)

Any help on making it work ? I use Linux Mint 20 and have the same problem

I build this compressed file
are only the executable files, you could try if work for you


Fixed typos in doc links

Do you need me to create an issue before little things like this?

No just the PRs are fine. Thanks!


feat(data frame): Expose .data_view_info() for @render.data_frame object

Fixes #1351
Fixes #1345
Fixes #1378
Related to https://github.com/posit-dev/py-shiny/issues/1345#issue-2271580277
Related discussion https://github.com/posit-dev/py-shiny/issues/1345#issuecomment-2101178383 with @pstorozenko
Also exposes:

.input_column_filter()
.input_column_sort()

Final solution:
Expose .data_view_info() reactive value which returns DataViewInfo which is defined as
class ColumnSort(TypedDict):
    col: int
    desc: bool

class ColumnFilterStr(TypedDict):
    col: int
    value: str

class ColumnFilterNumber(TypedDict):
    col: int
    value: tuple[float, float] | tuple[float, None] | tuple[None, float]

ColumnFilter = Union[ColumnFilterStr, ColumnFilterNumber]

class DataViewInfo(TypedDict):
    sort: tuple[ColumnSort, ...] # sorted column info
    filter: tuple[ColumnFilter, ...] # filtered column info

    rows: tuple[int, ...]  # sorted and filtered row number
    selected_rows: tuple[int, ...]  # selected and sorted and filtered row number

After Friday discussion: drop DataViewInfo, instead add rows as another accessor on the renderer. Also, input_cell_selection rows should be ordered the way the user sees it.


Add git short hash to end of version string if not building a release version

It would be really nice if the version string reported by rclone --version included the short git hash it is built from if the build is of a development version.  This of course assumes that the build is being done from a git checkout, but I think that should be possible to verify as part of the build process.
Currently the version strings are simply v1.35-DEV rather than something like v1.35-DEV-6bad0ad which makes it hard to verify exactly what the version being used is.  I think this would also help ensure that you know exactly what is being used in bug/problem reports from people who are using beta or development versions to test specific fixes.

You'll find the release builds (the betas and the release) are built like that.
However if you build with go install or go build I don't think there is any way to get the git version into the build.
I changed the Makefile in f7252645ba8cd1844a20cad982c8fc2d9dc3c035 so that if you just run make you'll get an rclone with the correct version number.

This looks answered. If there is any other question, please feel free to ask on the forums.


NEXT-37303 - Add coverage to CI

Adds coverage reporting to the CI
Unfortunately GitHub is not able to display covered lines in the diff viewer, unlike GitLab. So Instead I came up with the following solution:

every PR gets a comment with

an overview of the total repository coverage
a link to download the complete HTML report, that includes all the details like which lines are covered

Increases the coverage and code cleanup
Additionally I did some code cleanup + written more tests for the already existing code.

ToDo: increase coverage + code cleanup

Let's get these changes merged for now. I will keep the ticket still in progress and do a follow up PR with further tests 🙂 .
But before writing further tests I want to experiment with a bigger refactor: I want to try removing async from the codebase, as it has the potential to reduce the complexity quite a bit and is one less (complex) topic to learn. It's still unclear to me if that refactor works out but it's better to try it sooner than later. Points that need an answer:

Can the non-async code also be as cleanly written?
Is there a big performance hit by going with a normal thread pool approach?


fix(sunburst): Use metric label from verbose map

SUMMARY
Use metric labels from verbose map.
TESTING INSTRUCTIONS
Create a sunburst chart with saved columns as primary or secondary metric.
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[x] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Thanks for showing the starburst chart so much love :D


Leverage eventing-kafka field of config-kafka in consolidated channel and source as defaults

Problem
Distributed channel uses some info available in config-kafka: https://github.com/knative-sandbox/eventing-kafka/blob/master/config/channel/distributed/300-eventing-kafka-configmap.yaml
Specifically, receiver, dispatcher and kafka.
Perhaps not all but some of these would also be applicable for consolidated channel as the defaults.
FInding out what's applicable is also part of this ticket.
Persona:
Which persona is this feature for?
Exit Criteria

Some data in eventing-kafka of config-kafka also used in consolidated channel
Documents updated

Time Estimate (optional):
How many developer-days do you think this may take to resolve?
Additional context (optional)
Doing the same for sarama field of config-kafka: https://github.com/knative-sandbox/eventing-kafka/issues/298

/close
Duplicated by 405


Manual map doesn't work

I tried rebuilding the project with “buildoptions { ‘/Zc:threadSafeInit-’ }”, but it still crashes on L::OpenFile(CS_XOR(L “asphyxia.log”)) in core.cpp. (I used precmake to create .sln)
Console is empty, debugger is useless because of the manual map :P
Please Help

#67


TST: refactored Excel reader tests

This PR implements more flexible Excel (spreadsheet) reader tests. The work was originally part of the larger but unsuccessful PR #9070.
This PR includes:

Excel reader base class tests to facilitate adding the similar tests for other readers
not all Excel file formats (xls, xlsm, xlsx) had a corresponding test file. This PR adds the missing ones. Consequently, all Excel data files are now tested against all 3 Excel file formats.
rename test to test1 (for xls, xlsm, xlsx extensions) for consistency with test2..4 test data files. This also means that before merging (but after Travis has ran the tests) the URL of Excel test file test1.* has to be changed from davidovitch/pandas to pydata/pandas in pandas/io/tests/test_excel.py at line 378.

can you report the number of tests on current master (for the excel stuff) and number on this branch. Trying to figure out if anything is left out.

With this PR I have the following:
# pandas/io/tests/test_excel.py
Ran 283 tests in 9.364s
OK (SKIP=10)

and with pydata/pandas@9bdae60eca392877a0fbca4e671466f28bc8a0d9 I get:
# pandas/io/tests/test_excel.py
Ran 242 tests in 6.969s
OK (SKIP=10)

I have 10 skipped tests with openpyxl=1.8.6 being indicated as incompatible (the same for both this PR and pydata/pandas@9bdae60eca392877a0fbca4e671466f28bc8a0d9). With openpyxl=2.2.4 I get failures that I haven't look into yet, but I also get these failures with pydata/pandas@9bdae60eca392877a0fbca4e671466f28bc8a0d9. These failures are most likely due to my system since Travis is not complaining about them, but I will have to investigate this further to figure out what exactly is going on.

@chris-b1 can you have a look here

Added a couple comments, overall approach seems pretty reasonable.

@chris-b1 does this sufficiently address your comments?

@davidovitch pls squash.

ok, going to merge this, @chris-b1 you will prob need to rebase your excel pr

merged via https://github.com/pydata/pandas/commit/98b3a5df5b8919eeeabd025b872bfc9c2e3721c3
thanks!

@jreback: Sorry, was too late for squashing and correcting one small thing: the URL of the renamed test file was still pointing my repo instead of pydata/pandas. See PR #11009.

I fixed this in my other PR when I rebased.
On Sep 5, 2015 3:14 PM, "David Verelst"<EMAIL_ADDRESS>wrote:

@jreback https://github.com/jreback: Sorry, was too late for squashing
and correcting one small thing: the URL of the renamed test file was still
pointing my repo instead of pydata/pandas. See PR #11009
https://github.com/pydata/pandas/pull/11009.
—
Reply to this email directly or view it on GitHub
https://github.com/pydata/pandas/pull/10964#issuecomment-137990573.

ah ok, great. I'll close the PR.


record-view-add-components

Created record view component and recordbox/record instrutciton sub components.


RTT fails with ABI versions 1.1 and some 1.0

The accepted ABI version is currently a subset of ABI version 1.0.  This is problematic since EOSIO.CDT will produce ABIs that are ABI version 1.1 and will cause failure when try to use RTT.  The ABI has have a fair amount of manual editing to get it to work with RTT, but even with that some ABIs still fail with various exceptions even though the ABI appears to be correct.

A couple of findings so far:

The JSON produced by cleos when pushing an action is not directly consumable by the RTT CLI tool for a couple of reasons. One, it expects a top-level transaction element containing the transaction object rather than the transaction object itself being the top-level. Two, the action data in the JSON is already in a serialized form when output by cleos so the RTT does not know how to handle that.

A number of contracts tested had problems due to containing invalid YAML in the metadata. This occurs mainly in cases where the summary metadata contains variables to be interpolated. the { } surrounding the variables is being processed by the YAML parser as an alternative dictionary syntax rather than a simple string. In this case, the entire string should be surrounded with ' ' or " ". For example:

Invalid: summary:A contract between {{ user1 }} and {{ user2 }}
Valid: summary:"A contract between {{ user1 }} and {{ user2 }}"
Accepted answer on this Stackoverflow question has a nice summary:
https://stackoverflow.com/questions/19109912/do-i-need-quotes-for-strings-in-yaml
The may be some other problems still related to ABI version but the above explained most of the problems we've encountered. Will continue some more investigation, but if some additional details on the exact errors or the differences between 1.1 and 1.0 could be provided that would be a big help.

Some addition info. Have found that the ABI causing these error also contained Mustache syntax errors in some contract text. Primarily around the conditionals. The correct syntax is {{#if ...}} whereas some places contain {{if ...}}. There were also references to a non-existent if_variable_exists helper. This is unnecessary as a simple {{#if var}} performs the expected action.

Is there will be some improvements for 1.1v supporting?


Add hitSlop prop

Thanks for the PR.  Something to consider is that there is another TouchableOpacity:
https://github.com/peacechen/react-native-modal-selector/blob/5820e30b5d58112f361090192d84e7c78bdbc3f3/index.js#L160
and a TouchableWithoutFeedback:
https://github.com/peacechen/react-native-modal-selector/blob/5820e30b5d58112f361090192d84e7c78bdbc3f3/index.js#L187
Should the same hitSlop be passed to those as well?  Or should each have its own unique hitSlop?

Passing it to the options would lead to overlapping touch areas. Not sure I see what the TouchableWithoutFeedback is for.

Since there are other Touchables, please rename the prop to something more descriptive such as openButtonHitSlop.  In addition to describing which component it applies to, it allows for the addition of a future hitSlop prop on the other Touchables if that's desired.

Thanks @MattyK14 👍


Worked the first time when loading one character

Hi there,
Thanks for the work. When first setting it up and launching it, I just went in with my #1 acc. It worked. I then tried tabbing to the loader to open #2. That one "timed-out" when connecting to battlenet sending me to the offline screen. The issue isn't the one of "wrong credentials" because now my #1 does the same (the one I already got in-game with on its own).
Tried launching it through the bnet client, it asked for a capcha and ten the regular way worked.
The loader-way, even with 1 or 2 acc's, doesn't. Is this just a matter of temp ban/cool-off period for logging in without the client?

It works now. Probably needed cooling off.

It seems for some people it sometimes asks for Captcha codes. I don't recall ever having to have done one so not too sure what causes it.
In a slightly related noted, I have noticed when there's too many failed authentication attempts to a particular region then you can get a temporary lock out for a short period of time. During which, you can't connect in with any account.


Ctrl+V to paste sometimes deletes text

Pasting copied text over selected target text actually deletes the text instead.  This only seems to happen if the line containing the selected target text is using Typescript string interpolation.
For example, suppose I have the following function in a .ts file:
  function reportBug(): void {
    console.log(`${Date.now()} [MyClass.someFunction] - Some source text to copy.`);
    console.log(`${Date.now()} [MyClass.someFunction] - Some destination for copied text.`);
  }

If I select and copy the text "Some source text to copy.", select the text "Some destination for copied text.", then hit Ctrl+V to paste, I expect:
  function reportBug(): void {
    console.log(`${Date.now()} [MyClass.someFunction] - Some source text to copy.`);
    console.log(`${Date.now()} [MyClass.someFunction] - Some source text to copy.`);
  }

But instead I get:
  function reportBug(): void {
    console.log(`${Date.now()} [MyClass.someFunction] - Some source text to copy.`);
    console.log(`${Date.now());
  }

If I hit hit Ctrl+Z after the paste, it seems to undo some deletion and show what I pasted.
If however my original function did not include the interpolation placeholder:
  function reportBug(): void {
    console.log(`[MyClass.someFunction] - Some source text to copy.`);
    console.log(`[MyClass.someFunction] - Some destination for copied text.`);
  }

Then the paste works as expected.
VS Code info:

Version: 1.65.2 (system setup)
Commit: c722ca6c7eed3d7987c0d5c3df5c45f6b15e77d1
Date: 2022-03-10T14:33:55.248Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.19042

- Steve

Thanks! Would mind sharing a gif or video of what you see?

Hello -
Sure, see the attached short clip.  In it I select the text "Some source text to copy." in line 4 and hit Ctrl+C to copy.  Then I select the text "Some destination for copied text." in line 5 and hit Ctrl+V to paste.  Instead of replacing the selected text with the copied text, it appears to actually delete all the text up to and including the closing curly brace for the interpolation placeholder.  If I hit Ctrl+Z to 'undo', then line 5 does match line 4 as I would expect.  It seems two operations are happening and stored in the undo stack - the paste (which works correctly), then an unexpected trim of the string.
Let me know if you need any more information!
https://user-images.githubusercontent.com/102807231/161307508-58b1f835-ba5f-4ec2-967e-a6c42c284abe.mp4

Hi,
I also have been affected by this issue when working on TypeScript projects.
Version: 1.66.0 (system setup)
Commit: e18005f0f1b33c29e81d732535d8c0e47cafb0b5
Date: 2022-03-30T05:50:14.623Z
Electron: 17.2.0
Chromium: 98.0.4758.109
Node.js: 16.13.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.18363
All other extensions were disabled.

Hello! Thanks for your help with this. Just wanted to add the issue persists with vscode on mac
Version: 1.66.2
Commit: dfd34e8260c270da74b5c2d86d61aee4b6d56977
Date: 2022-04-11T07:49:20.994Z (1 wk ago)
Electron: 17.2.0
Chromium: 98.0.4758.109
Node.js: 16.13.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 21.3.0
I have the same behavior as jonasska  where undo brings the pasted content back.

Duplicate of Microsoft/TypeScript#48006


[FEAT] Add an API to style shape/edge without CSS

Depends on https://github.com/process-analytics/bpmn-visualization-js/issues/1030

Duplicate with https://github.com/process-analytics/bpmn-visualization-R/issues/13


AttributeError: 'str' object has no attribute 'close'

from mtcnn.mtcnn import MTCNN
detector = MTCNN(weights_file="/path/to/mtcnn_weights.npy")

I want to provide weights file while instantiating MTCNN object because I want to make an executable of my code using pyisntaller, but above code gives me AttributeError.
Traceback (most recent call last):
  File "main.py", line 8, in <module>
    detector = MTCNN(weights_file=MTCNN_PATH)
  File "/usr/local/lib/python3.6/dist-packages/mtcnn/mtcnn.py", line 205, in __init__
    weights_file.close()
AttributeError: 'str' object has no attribute 'close'

How do I solve this issue can someone please provide the solution or workaround of it
Thanks in advance...

What version of MTCNN are you using? you might need to upgrade it to the latest:
pip install --upgrade mtcnn

@ipazc Thanks for the support
I was using MTCNN v0.0.9 then upgraded to 0.1.0 which solves the problem


Cursor does not blink

Your Windows build number: Microsoft Windows [Version 10.0.18362.86]
What you're doing and what's happening:
Run Windows Terminal (Preview) and it started with cmd.exe. The cursor is not blink as in original console.
What's wrong / what should be happening instead:
The cursor does not blink.

This is a known issue at the moment - conhost has a timer for specifically blinking the cursor, but there's no such timer in the Terminal currently.
I don't think this would be terribly difficult for someone to dig their hands into.

I have a blinking cursor working. Right now it just blinks all the time, but it should probably stop in certain circumstances, such as when typing or moving the cursor. Am I missing anything?

I've implemented the following behavior:

When the window is unfocused, the cursor goes away. This is consistent with both conhost and PowerShell, however some terminals like ConEmu leave the cursor on when the window is unfocused.
When a key is pressed, the cursor is shown and the timer is restarted. This is what ConEmu does. conhost is similar, but it seems to just show the cursor and not restart the timer, which makes it a little jitterier when testing both methods side by side. I still can't figure out what PowerShell is doing. Either way, I prefer this behavior and haven't noticed any significant performance impact in my testing.

Any other edge cases to cover?

Edit: The PowerShell and cmd hosts seem to have different behaviour, and I can't figure out what the PowerShell host is doing (it seems to blink the cursor really fast when a key is held down?)

Both powershell and cmd should have the same behaviour as they share the same host: conhost. That said, powershell is managed code and cmd is native, so you're probably seeing more jitter and flickering due to the overhead of CLR interop.

Here's a comparison between cmd, PowerShell and Windows Terminal, rapidly pressing k and then holding down j. Powershell's behaviour still seems pretty strange, but then again most people don't pay attention to cursor blinkage as much as I have been in the past few hours.

Anyway, I'm going to clean up a bit and make a PR.

Throwing my 2 pence in, the cursor should not blink, but remain visible when a key is being held down and text is being entered into the console.  It would prevent a user typing in whilst the timer controlling the visibility is currently set to hidden.

This is how it works now. When you type, the timer gets reset and the cursor is visible.

I'm on Windows 10.19041, Terminal Preview 1.4.2652.0. I have a weird issue where the cursor blinks in PowerShell and cmd but not in WSL (Ubuntu 18.04 WSL2). Since there is a possibility that this might be a config issue I did not want to open a new issue, has anyone else experienced this and/or managed to fix it? It appears in zsh, sh and bash; with and without tmux attached.

I don't know what neovim is, but I'm experiencing this now with zsh and Ubuntu 20.04. PowerShell still blinks.

I don't know what neovim is, but I'm experiencing this now with zsh and Ubuntu 20.04. PowerShell still blinks.

Exactly the same here. Is there any update or new info to this? Tks

Same issue here making Windows Terminal impossible to use. Won't know if terminal has hanged if I don't see the cursor blinking.

@Anutrix in all likelyhood, you're seeing #11411, which should be fixed in 1.13. This original issue is years old, so if you're seeing something like it, it's definitely not due to the same root cause as this thread 😉

Any updates on this? The cursor still doesn't blink in WSL/Bash.

As advised by @zadjii-msft I created a new ticket here https://github.com/microsoft/terminal/issues/13381.


cFE core services can create files FM can't delete

Describe the bug
A few commands to the cFE core services, and possibly some cFS applications, are able to create files that cannot then be moved, renamed, deleted, or otherwise by FM. One example is EVS_WRITELOG2FILE (CFE_EVS_FILE_WRITE_LOG_DATA_CC). This command (and all others that take filenames in the cFE core) don't check the validity of a filename; they simply pull the filename from the command and call OS_creat() or OS_open() immediately.
FM, on the other hand, calls CFS_IsValidFilename() to check for validity of provided filenames in all commands. So, if a command like EVS_WRITELOG2FILE is used to create a file with an invalid filename, FM cannot then access that file in any way.
To Reproduce
Steps to reproduce the behavior:

Use EVS_WRITELOG2FILE to create a log file in /ram with a ? in its filename.
Attempt to delete this file with FM.

Expected behavior
I would expect that no cFE application, or cFE itself, should be able to create files with invalid filenames.
My suggested fix, and how we've fixed this in our local copies of cFE and OSAL, is to move the CFS_IsValidFilename() function into the OSAL, and have all OSAL file API functions perform the check before operating on files. This guarantees that nothing above the OSAL can create a file with an invalid name.
Code snips

EVS creation of log data files without validating filename
FM check on valid filenames
cfs_lib filename validation

System observed on:

Capella flight computer
OS: FreeRTOS 9.0.0
Versions: cFE 6.5.0, OSAL 4.2.1 (plus in-house FreeRTOS port), cfs_lib 2.2.0, FM 2.5.2

Additional context
This is another one we discovered accidentally operationally. One of our operators created an EVS log with a question mark in the name, and then we realized that we couldn't do anything with that file with FM. We ended up patching the filename check in cfs_lib with MM so it would allow for us to delete the file.
Reporter Info
Mike Stewart, Capella Space.

I do concur that all filename validation should be done in OSAL.  The CFS apps/library should not introduce a more restrictive filename pattern.   This is a problem with FM/CFS lib, not CFE though.
However I don't think OSAL API needs to be extended.  OSAL already does checks as part of any file operation.  If any OSAL call that accepts a filename is passed an invalid file name, that call should fail.   I'm not sure what value a separate validation call would add, because I don't think the app response/handling would be any different.
I would recommend to move this bug against FM.  The group managing the CFS apps should consider deprecating/removing this extra validation.  Just pass the filename to OSAL and let OSAL reject it if it is not valid.

That works too! I wasn't sure where to file this one since there's a lot of pieces involved. :smile:  Should I close this issue and open a new one on FM?


React JS Project

Hi, I want to add this project! This Project is a Simple React Project which demonstrates the following:

Creating a Component in React
Making HTTP calls
Communicating between parent and child component
Using Bootstrap along with React
Using Basic Routing in React

Please assign me so that I can work on this issue @chicken-biryani @Ayushparikh-code

https://github.com/Ayushparikh-code/Web-dev-mini-projects/pull/115
This can be linked and be closed!


Proposal template

Create a template that will be visible under https://github.com/ansible/molecule/issues/new/choose for proposals as suggested by @decentral1se in https://github.com/ansible/community/issues/427#issuecomment-480248952
Shamelessly stolen from https://github.com/ansible/proposals/
Signed-off-by: John Barker<EMAIL_ADDRESS>

Lets see how this goes.

It lives: https://github.com/ansible/molecule/issues/new/choose

:fire:


Check duplicate names

 when inviting a reviewer, check if name and first name are similar to an existing user (includes RR)


what is the image augmentation strategy while training on current demo release?

hello,thanks for your fabulous work.I wonder what augmentation strategy was using when training on current release demo network?i noticed there are some tiny changes from current training strategy and the mentioned one in original paper.
Original paper seems not mentioning any augmentation,like just input 224x224 images into network,while current one use 176x176 and implement random cropped and mirrored.I wonder what augmentation strategy was using when training on current release demo network?and if it has go through some kind of cropping,where is the image cropped from?is it crop from the image that central crop from imagenet then resize to 256x256 , or just crop from original image from imagenet  which has arbitrary resolution?
Please help me if you have free time,thanks!

I used random crops (176 out of 256) and flipping in the original paper. It was trained in caffe, a long time ago now

@richzhang  Thanks for you reply! Do you know how were those 256x256 images come from? i'm not sure is central cropped from an arbitrary size image then resize to 256x256,or directly resize an arbitrary size image to 256x256,it seems like second option is a little bit weird cause it change the ratio of image.


chore: migrate from standard to neostandard

This is built on #3102.
After updating those dependencies, standard was the only dep bringing in anything deprecated. I read https://github.com/standard/standard/issues/1948#issuecomment-2138078249 and opted to migrate to neostandard following the instructions here: https://github.com/neostandard/neostandard?tab=readme-ov-file#migrate-from-standard

LGTM once rebased


Better json parsing for jokeapi response parsing

The current parsing method is crap for the jokeapi. Fix it

Done


nixpkgs-unstable channel on nixos.org lags significantly behind git

Issue description
https://nixos.org/channels/nixpkgs-unstable redirects to
https://d3g5gsiof5omrk.cloudfront.net/nixpkgs/nixpkgs-18.09pre143801.5ac6ab091a4 ,
which is at 5ac6ab091a4 (Jun 24)
while git channel https://github.com/NixOS/nixpkgs-channels/tree/nixpkgs-unstable is at 14a9ca27e69e33ac8ffb7 (Jul 1)
I'd expect them to be in sync (except maybe for a short delay updating the mirrors).

Maybe https://github.com/NixOS/nixpkgs/issues/43015 is related?  Doesn't explain why all of the sudden it uses a build from 6/24.

Back in sync now, was probably a temporary issue.


Another table and inline code issue

Inline code in tables can't escape backtics like they can outside of tables.
``Test` | passes``

| Table | Test     |
| ----- | ------- |
| Broken | ``Test` | fails`` |

You can see it only accepts a surrounding backtic of 1.  Then it splits on the pipe.  The rest is lost because the table is only 2 columns wide.

Test` | passes

Table
Test

Broken
`Test

I do have intentions of looking into the reason why and providing a fix when I get time.

I guess I don't under stand this design.  Maybe someone can fill in the gaps.
So this doesn't work (a real world example I am trying to use -- just showing some regex):

Works
Doesn't

``` ``[!"#$%&'()*+,-./:;<=>?@[\]^_`{
}~]`` ```

This is extremely limited as you can only show grave accents in an table's inline code block if all accents have a pairs.  Now I a sure there was some reasoning here, I just don't understand it.  What is more, I figured that I could probably put it in an html code block, but the html code block was split as well.
I am not sure why we alter the behavior in tables.  I feel like it should capture just as it would outside of tables.  I understand we are treating backticks as a special case in tables. But I don't understand the additional requirement of only if all grave accents are paired is it acceptable.  This is jarring for a user as the rules have clearly changed inside a table.  I feel like the row should be processed with a normal code pattern and then split.  We are already parsing code patterns special in tables, we might as well do it proper.
Before I put in work, I want to know if allowing normal backtick logic would be rejected; I don't want to waste time.  As it stands, I am simply forced to throw out my entire table simply and do raw html tables as Python Markdown can't handle an odd number of grave accents in a table, and I am afraid a pull to fix this might be rejected.

@facelessuser, yes, normal markdown inline markup should work in tables just the same as it does outside of tables.
Now for some background: My personal opinion is that tables are a part of the HTML that should be represented as raw HTML and not have any Markdown equivalent (I believe this opinion aligns with John Gruber's thinking on the matter). Of course, not everyone agrees (nor should they). That said, I threw together the Table extension just so our "extra" would have feature parity with PHP's "extra". However, that was long before most Markdown parsers had extensions (Python-Markdown was the first to offer a third-party API AFAIK). It is not so important to have that feature parity with PHP's "extra" today. In fact, it appears that my extension was a little incomplete. Search closed issues and you will find numerous requests to add features to the extension, which I always have said no to. My position has been that if you don't like the way it works, use a third party extension (of which there are a few) or build your own.
When the issue was recently reported with code spans in tables, I almost closed it with the same response. However, it was a fair report (something that should clearly work was not working). And when someone provided a fix that appeared to address the issue, I just accepted it. Maybe I shouldn't have (I believe it is this patch which you are struggling to understanding). But with my lack of interest in the feature, I have no motivation to work on a solution.
I see two possible solutions moving forward:

Someone provides a better patch which addresses the issue without making any changes to the intended syntax or adding any features. Then, when version 3.0 is released, it gets broken out into its own package which someone else can take up and maintain.

Nothing happens to the 'included' table extension. A third party package becomes the standard and with the release of 3.0, the 'included' table extension is discarded.

Thanks for the background. I like simple table support in Markdown, but I also do prefer raw HTML if doing complicated tables.
I'll take a look at it sometime soonish and see if I can sort it out.  I'm not sure of the thinking behind the latest approach.  I almost would have preferred it to keep breaking on pipes then trade pipes for another bug that then still fails on pipes in other circumstances.  I feel like this should be able to be fixed; I guess I'll know better when I get around to digging in.


Add deprecation warning to readme

@leonlan the RL4CO authors are writing new code that uses the download functionality, which is something we have already deprecated. It's probably good to be a bit more explicit about this in our documentation/README. Could you have a look?

So pretty

LGTM! Merging it in.


Proper CSV Serializer

The existing CSV serializer does not properly format CSV data. This needs to be updated.

Completed in #211


Error: chequebook init: tx fee (1.42 ether) exceeds the configured cap (1.00 ether)

Due to the congestion of the link, I need to use larger Gasprice but my geeth prompts me this error.
Error: chequebook init: tx fee (1.42 ether) exceeds the configured cap (1.00 ether)

How can I handle this problem? Is there a configuration to be modified

https://github.com/ChainSafe/ChainBridge/issues/623


chores: migrate to go-gremlins organization

Migrated the repository to go-gremlins organisation.

Codecov Report

Merging #55 (870fbfc) into main (6160bb7) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #55   +/-   ##
=======================================
  Coverage   86.59%   86.59%
=======================================
  Files          10       10
  Lines         552      552
=======================================
  Hits          478      478
  Misses         58       58
  Partials       16       16

Flag
Coverage Δ

unittests
86.59% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

cmd/gremlins/main.go
50.00% <ø> (ø)

coverage/coverage.go
100.00% <ø> (ø)

mutator/internal/tokenmutant.go
65.71% <ø> (ø)

mutator/mutator.go
86.30% <ø> (ø)

mutator/workdir/workdir.go
68.42% <ø> (ø)

report/report.go
100.00% <ø> (ø)

Continue to review full report at Codecov.

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


Added new units and aliases - updated units.json

New units added - Mbpd and cf/bbl
new alias added for cubic foot, cubic foot per day and kilo ft3

Hi Team,
Can you please help me why the build failed?
Thanks,
Akash

Closing this PR. Raising a new one for same changes with correct formatting


Write up a README for CEIC on all the parts of their site

Should cover:

Domain registry
Web hosting
Github repository that powers live site
Tree Rat CMS

https://docs.google.com/document/d/1sxIVO9DMjVQNVB8UbpozKnZK9xuYnb7IM4ohz7kjGXY/edit?usp=sharing


ELT errors should not remove the singer_state payload

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/168
Originally created by @mbergeron on 2018-11-20 13:41:08

Meltano will update the current job using the latest output of a target to payload->'singer_state' in the meltano.job table.
When an error occurs, the payload->'error' key should be updated. The current behavior is wrong because it overwrites the complete payload instead of adding the error key, thus the progress made in the current run will be forgotten.
This is needed for the incremental ELT process to work when an error happens.

View 3 previous comments from the original issue on GitLab


clarify underlying types

What is the issue?
Discord Reference for context
Request:

I'm thinking I might have a lack of conceptual understanding for the underlying types. It might be cool to have docs answering questions like

When would I want to use/pass dagger.Directory vs dagger.DirectoryID
What does each of these represent when it comes to GQL? Prior versions would print the GQL, but I'm not sure how to access that right now.
What do these types represent when it comes to the underlying buildkit execution?

@marcosnils @crjm maybe this context could be incorporated into the API playground experience too?

@mircubed  It would be great, but right now the doc is generated from the schema programmatically. We could try to add context in our own implementation of the Playground when we stop leveraging on the GraphiQL component we are using right now.
I think adding comments in the schema would be an easy way to add context though, but don't know how feasible it is. @aluzzardi

@crjm @marcosnils do you think we can add this context to the docs now as an FYI in the GraphQL docs?

I think this is related to best practices and how-to guides, is it something we should delegate to the core team @marcosnils? I don't have the knowledge to answer these questions yet.

Reading the original discord thread, the root cause is a confusing DX in the early versions of the Go SDK, specifically with chaining. I added quotes from the original request above to make this more apparent.
The Go SDK has since greatly improved in this area, in particular you don't need to access DirectoryID yourself anymore, chaining is done directly. So I would consider this issue solved.


net.socket.select: failed (qemu/mps2_an385)

Describe the bug
See https://github.com/zephyrproject-rtos/zephyr/runs/7721882961?check_suite_focus=true
tests/net/socket/tcp/net.socket.tcp (mps2_an385:tests/net/socket/tcp/net.socket.tcp) failed.
Error log:
START - test_v4_msg_waitall

    Assertion failed at WEST_TOPDIR/zephyr/tests/net/socket/tcp/src/main.c:203: test_context_cleanup: (wait_for_n_tcp_contexts(0, TCP_TEARDOWN_TIMEOUT) not equal to 0)
Not all TCP contexts properly cleaned up
 FAIL - test_v4_msg_waitall in 0.200 seconds

Expected behavior
A clear and concise description of what you expected to happen.
Impact
Blocks CI

Likely related to https://github.com/zephyrproject-rtos/zephyr/issues/48608

I'd say we disable other time-sensitive network tests on this platform as well, until https://github.com/zephyrproject-rtos/zephyr/issues/48608 is resolved. I'll send a PR.


API Documentation pages do not allow providing written feedback

URL(s) with the issue:
All pages in the document including:
https://www.tensorflow.org/api_docs/python/tf
Description of issue (what needs changing):
Right now, there is no simple means to provide feedback on the generated documentation aside from a thumbs up/thumbs down and limited multiple choice selection, making such feedback hardly useful. The API documentation at this stage is far too terse in many locations making it hard to use or unusable. It would make far more sense to allow written commentary to be collected against each page so that periodically, the software developers for each component could read the commentary and add necessary code comments to address the issues raised by people attempting to use the code.
Given that this is tensorflow machine learning documentation, it might even be possible to do natural language processing to extract common themes where people are running into issues.
The current system, like the angular documentation does seem like a conscious effort to avoid taking input from users and that really should not be the case.

/cc @lamberta @MarkDaoust @theadactyl

@rmothukuru What is tensorflower? I could not see a description in google search or in repos with that name.

@lonerzzz,
Sorry for the confusion. Tensorflower means Google Engineer, working on Tensorflow.

Yeah, it's "TenaorFlow-er" not "Tensor-Flower 🌸" .
IIRC the site used have this feature, and it was just too hard to turn into actionable feedback beyond what we already knew from the ratings. Plus we have plenty of bugs in this queue already, we don't need a whole new queue.
We encourage you to use the ratings, we check that signal.
If you have more specific feedback (it sounds like you do), raise a bug like this one, or send us a PR with a fix.

If you are using the ratings and pull down options , it would still make sense to have a larger set of selectable options as the set now is incomplete for communicating problems.


Inconsistent view of nodes in cilium-agent (cilium node list returns deadline exceeded)

General Information

Cilium version (run cilium version)
Client: 1.7.12 56653039c 2020-12-03T16:11:41-08:00 go version go1.13.15 linux/amd64
Daemon: 1.7.12 56653039c 2020-12-03T16:11:41-08:00 go version go1.13.15 linux/amd64

Kernel version (run uname -a)
Linux ip-10-xx-yy-zz 5.4.0-1032-aws #33-Ubuntu SMP Wed Dec 9 17:13:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Orchestration system version in use (e.g. kubectl version, Mesos, ...)
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.3", GitCommit:"1e11e4a2108024935ecfcb2912226cedeafd99df", GitTreeState:"clean", BuildDate:"2020-10-14T18:49:28Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.8", GitCommit:"ec6eb119b81be488b030e849b9e64fda4caaf33c", GitTreeState:"clean", BuildDate:"2020-03-12T20:52:22Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}

Link to relevant artifacts (policies, deployments scripts, ...)

Generate and upload a system zip:

cilium-142-244.tar.gz
How to reproduce the issue
At this point steps are not manual. We use a in-house kubernetes rolling-update controller to recycle nodes older than a configured age. To reproduce this issue, we set the nodes' maxAge to 20 mins.
The symptom showed up as one of the cilium etcd cluster node not coming up. The "check-dns" container inside it was unable to resolve its own dns entry, and hence the etcd pod was stuck in "Init" state.
On further debugging, it was found that the DNS Query packets were able to reach coredns pod from the originating node, and while the coredns pod was responding back with DNS Query response, it never made it back to the originating node.
The likely reason for this is that the cilium-agent on the coredns node had incorrect bpf tunnel entries and hence it was not able to route the response packet. The "cilium bpf tunnel list" showed no entry for the originating node.
"cilium monitor --drop" showed no dropped packets on originating or terminating node.
It was also found that "cilium node list" command was timing out on the terminating node, which is likely the cause of the inconsistent nodes state in the cilium-agent. Later it was found that few other nodes also had inconsistent view of k8s nodes and "cilium node list" was also timing out on those nodes.
Manual invocation of the following command also timed out on such nodes:
curl -v --unix-socket /var/run/cilium/cilium.sock http://localhost/v1/cluster/nodes
*   Trying /var/run/cilium/cilium.sock:0...
* Connected to localhost (/var/run/cilium/cilium.sock) port 80 (#0)
> GET /v1/cluster/nodes HTTP/1.1
> Host: localhost
> User-Agent: curl/7.68.0
> Accept: */*
>

Once we find a definite list of steps to reproduce it, the issue will be updated.

Seems like the goroutines handling the http://localhost/v1/cluster/nodes API are getting blocked on a node entry mutex which is already locked by some other routine.
The serving routine gets blocked on "entry.mutex.Lock()" in the code below:
// GetNodes returns a copy of all of the nodes as a map from Identity to Node.
func (m *Manager) GetNodes() map[node.Identity]node.Node {
m.mutex.RLock()
defer m.mutex.RUnlock()
nodes := make(map[node.Identity]node.Node)
for nodeIdentity, entry := range m.nodes {
	entry.mutex.Lock()
	nodes[nodeIdentity] = entry.node
	entry.mutex.Unlock()
}

return nodes

}

Seems like the goroutines handling the http://localhost/v1/cluster/nodes API are getting blocked on a node entry mutex which is already locked by some other routine.

Later the following goroutine tries to acquire the linuxNodeHandler.mutex and gets blocked after getting a node update event from the KV store:
(dlv) bt
 0  0x0000000000431300 in runtime.gopark
    at /usr/local/go/src/runtime/proc.go:305
 1  0x0000000000441ea0 in runtime.goparkunlock
    at /usr/local/go/src/runtime/proc.go:310
 2  0x0000000000441ea0 in runtime.semacquire1
    at /usr/local/go/src/runtime/sema.go:144
 3  0x0000000000441c07 in sync.runtime_SemacquireMutex
    at /usr/local/go/src/runtime/sema.go:71
 4  0x000000000046db5c in sync.(*Mutex).lockSlow
    at /usr/local/go/src/sync/mutex.go:138
 5  0x0000000001cd470d in sync.(*Mutex).Lock
    at /usr/local/go/src/sync/mutex.go:81
 6  0x0000000001cd470d in github.com/cilium/cilium/pkg/datapath/linux.(*linuxNodeHandler).NodeUpdate
    at /go/src/github.com/cilium/cilium/pkg/datapath/linux/node.go:429
 7  0x0000000001ac2dbe in github.com/cilium/cilium/pkg/node/manager.(*Manager).NodeUpdated.func1
    at /go/src/github.com/cilium/cilium/pkg/node/manager/manager.go:378
 8  0x0000000001abf8c7 in github.com/cilium/cilium/pkg/node/manager.(*Manager).Iter
    at /go/src/github.com/cilium/cilium/pkg/node/manager/manager.go:149
 9  0x0000000001ac0fae in github.com/cilium/cilium/pkg/node/manager.(*Manager).NodeUpdated
    at /go/src/github.com/cilium/cilium/pkg/node/manager/manager.go:377
10  0x0000000001ac3319 in github.com/cilium/cilium/pkg/node/store.(*NodeObserver).OnUpdate
    at /go/src/github.com/cilium/cilium/pkg/node/store/store.go:62
11  0x0000000001899792 in github.com/cilium/cilium/pkg/kvstore/store.(*SharedStore).onUpdate
    at /go/src/github.com/cilium/cilium/pkg/kvstore/store/store.go:236
12  0x0000000001899792 in github.com/cilium/cilium/pkg/kvstore/store.(*SharedStore).updateKey
    at /go/src/github.com/cilium/cilium/pkg/kvstore/store/store.go:447
13  0x000000000189a5b2 in github.com/cilium/cilium/pkg/kvstore/store.(*SharedStore).watcher
    at /go/src/github.com/cilium/cilium/pkg/kvstore/store/store.go:515
14  0x000000000045f501 in runtime.goexit
    at /usr/local/go/src/runtime/asm_amd64.s:1357

This locks the mutex for one of the nodes entry in the pkg/node/manager/manager.go map for nodes. This leads to the condition described at https://github.com/cilium/cilium/issues/14746#issuecomment-768117930

More updates:
The root cause is that there is a goroutine which have locked linuxNodeHandler.mutex while the second goroutine wants to acquire it:
Goroutine 98 - User: /usr/local/go/src/syscall/asm_linux_amd64.s:53 syscall.Syscall6 (0x47b9fa) (thread 21877) [select 447760h17m52.429242149s]
	 0  0x000000000047b9fa in syscall.Syscall6
	     at /usr/local/go/src/syscall/asm_linux_amd64.s:53
	 1  0x00000000007ea4b3 in golang.org/x/sys/unix.recvfrom
	     at /go/src/github.com/cilium/cilium/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go:2291
	 2  0x00000000007e84b4 in golang.org/x/sys/unix.Recvfrom
	     at /go/src/github.com/cilium/cilium/vendor/golang.org/x/sys/unix/syscall_unix.go:307
	 3  0x0000000000b014db in github.com/vishvananda/netlink/nl.(*NetlinkSocket).Receive
	     at /go/src/github.com/cilium/cilium/vendor/github.com/vishvananda/netlink/nl/nl_linux.go:632
	 4  0x0000000000b009fc in github.com/vishvananda/netlink/nl.(*NetlinkRequest).Execute
	     at /go/src/github.com/cilium/cilium/vendor/github.com/vishvananda/netlink/nl/nl_linux.go:425
	 5  0x0000000000b4c883 in github.com/vishvananda/netlink.neighHandle
	     at /go/src/github.com/cilium/cilium/vendor/github.com/vishvananda/netlink/neigh_linux.go:185
	 6  0x0000000000b4c2d4 in github.com/vishvananda/netlink.(*Handle).neighAdd
	     at /go/src/github.com/cilium/cilium/vendor/github.com/vishvananda/netlink/neigh_linux.go:120
	 7  0x0000000001cd6ef5 in github.com/vishvananda/netlink.(*Handle).NeighSet
	     at /go/src/github.com/cilium/cilium/vendor/github.com/vishvananda/netlink/neigh_linux.go:95
	 8  0x0000000001cd6ef5 in github.com/vishvananda/netlink.NeighSet
	     at /go/src/github.com/cilium/cilium/vendor/github.com/vishvananda/netlink/neigh_linux.go:89
	 9  0x0000000001cd6ef5 in github.com/cilium/cilium/pkg/datapath/linux.(*linuxNodeHandler).insertNeighbor
	     at /go/src/github.com/cilium/cilium/pkg/datapath/linux/node.go:609
	10  0x0000000001cd872f in github.com/cilium/cilium/pkg/datapath/linux.(*linuxNodeHandler).nodeUpdate
	     at /go/src/github.com/cilium/cilium/pkg/datapath/linux/node.go:720

The above goroutine is blocked on receiving the response from the netlink socket after executing neighAdd logic.
Later the following goroutine tries to acquire the linuxNodeHandler.mutex and gets blocked after getting a node update event from the KV store:
(dlv) bt
 0  0x0000000000431300 in runtime.gopark
    at /usr/local/go/src/runtime/proc.go:305
 1  0x0000000000441ea0 in runtime.goparkunlock
    at /usr/local/go/src/runtime/proc.go:310
 2  0x0000000000441ea0 in runtime.semacquire1
    at /usr/local/go/src/runtime/sema.go:144
 3  0x0000000000441c07 in sync.runtime_SemacquireMutex
    at /usr/local/go/src/runtime/sema.go:71
 4  0x000000000046db5c in sync.(*Mutex).lockSlow
    at /usr/local/go/src/sync/mutex.go:138
 5  0x0000000001cd470d in sync.(*Mutex).Lock
    at /usr/local/go/src/sync/mutex.go:81
 6  0x0000000001cd470d in github.com/cilium/cilium/pkg/datapath/linux.(*linuxNodeHandler).NodeUpdate
    at /go/src/github.com/cilium/cilium/pkg/datapath/linux/node.go:429
 7  0x0000000001ac2dbe in github.com/cilium/cilium/pkg/node/manager.(*Manager).NodeUpdated.func1
    at /go/src/github.com/cilium/cilium/pkg/node/manager/manager.go:378
 8  0x0000000001abf8c7 in github.com/cilium/cilium/pkg/node/manager.(*Manager).Iter
    at /go/src/github.com/cilium/cilium/pkg/node/manager/manager.go:149
 9  0x0000000001ac0fae in github.com/cilium/cilium/pkg/node/manager.(*Manager).NodeUpdated
    at /go/src/github.com/cilium/cilium/pkg/node/manager/manager.go:377
10  0x0000000001ac3319 in github.com/cilium/cilium/pkg/node/store.(*NodeObserver).OnUpdate
    at /go/src/github.com/cilium/cilium/pkg/node/store/store.go:62
11  0x0000000001899792 in github.com/cilium/cilium/pkg/kvstore/store.(*SharedStore).onUpdate
    at /go/src/github.com/cilium/cilium/pkg/kvstore/store/store.go:236
12  0x0000000001899792 in github.com/cilium/cilium/pkg/kvstore/store.(*SharedStore).updateKey
    at /go/src/github.com/cilium/cilium/pkg/kvstore/store/store.go:447
13  0x000000000189a5b2 in github.com/cilium/cilium/pkg/kvstore/store.(*SharedStore).watcher
    at /go/src/github.com/cilium/cilium/pkg/kvstore/store/store.go:515
14  0x000000000045f501 in runtime.goexit
    at /usr/local/go/src/runtime/asm_amd64.s:1357

This locks the mutex for one of the nodes entry in the pkg/node/manager/manager.go map for nodes. This leads to the condition described at https://github.com/cilium/cilium/issues/14746#issuecomment-768117930

NetLink Request contents for netlink.(*Handle).neighAdd:
(dlv) print req
*github.com/vishvananda/netlink/nl.NetlinkRequest {
NlMsghdr: golang.org/x/sys/unix.NlMsghdr {Len: 48, Type: 28, Flags: 1285, Seq: 2599, Pid: 0},
Data: []github.com/vishvananda/netlink/nl.NetlinkRequestData len: 3, cap: 4, [
...,
...,
...,
],
RawData: []uint8 len: 0, cap: 0, nil,
Sockets: map[int]*github.com/vishvananda/netlink/nl.SocketHandle nil,}
(dlv) p req.Data
[]github.com/vishvananda/netlink/nl.NetlinkRequestData len: 3, cap: 4, [
*github.com/vishvananda/netlink.Ndmsg {Family: 2, Index: 2, State: 128, Flags: 0, Type: 0},
github.com/vishvananda/netlink/nl.RtAttr {
RtAttr: ("golang.org/x/sys/unix.RtAttr")(0xc0022ddb40),
Data: []uint8 len: 4, cap: 4, [10,93,161,188],
children: []github.com/vishvananda/netlink/nl.NetlinkRequestData len: 0, cap: 0, [],},
github.com/vishvananda/netlink/nl.RtAttr {
RtAttr: ("golang.org/x/sys/unix.RtAttr")(0xc0022ddb80),
Data: []uint8 len: 6, cap: 106, [18,144,211,109,214,137],
children: []github.com/vishvananda/netlink/nl.NetlinkRequestData len: 0, cap: 0, [],},
]
(dlv) p req.RawData
[]uint8 len: 0, cap: 0, nil

NetLink Request contents for netlink.(*Handle).neighAdd:
(dlv) print req
*github.com/vishvananda/netlink/nl.NetlinkRequest {
NlMsghdr: golang.org/x/sys/unix.NlMsghdr {Len: 48, Type: 28, Flags: 1285, Seq: 2599, Pid: 0},
Data: []github.com/vishvananda/netlink/nl.NetlinkRequestData len: 3, cap: 4, [
...,
...,
...,
],
RawData: []uint8 len: 0, cap: 0, nil,
Sockets: map[int]*github.com/vishvananda/netlink/nl.SocketHandle nil,}
(dlv) p req.Data
[]github.com/vishvananda/netlink/nl.NetlinkRequestData len: 3, cap: 4, [
*github.com/vishvananda/netlink.Ndmsg {Family: 2, Index: 2, State: 128, Flags: 0, Type: 0},
github.com/vishvananda/netlink/nl.RtAttr {
RtAttr: ("golang.org/x/sys/unix.RtAttr")(0xc0022ddb40),
Data: []uint8 len: 4, cap: 4, [10,93,161,188],
children: []github.com/vishvananda/netlink/nl.NetlinkRequestData len: 0, cap: 0, [],},
github.com/vishvananda/netlink/nl.RtAttr {
RtAttr: ("golang.org/x/sys/unix.RtAttr")(0xc0022ddb80),
Data: []uint8 len: 6, cap: 106, [18,144,211,109,214,137],
children: []github.com/vishvananda/netlink/nl.NetlinkRequestData len: 0, cap: 0, [],},
]
(dlv) p req.RawData
[]uint8 len: 0, cap: 0, nil

Looks like disabling node-port disables NeighDiscovery, and avoids this condition to happen.
So possible work-arounds are:

Disable node-port
Install cilium in kube-proxy replacement mode (requires us to use kops 1.18+)

Can somebody confirm?

Looks like disabling node-port disables NeighDiscovery, and avoids this condition to happen.
So possible work-arounds are:

Disable node-port
Install cilium in kube-proxy replacement mode (requires us to use kops 1.18+)

Can somebody confirm?

These issues are related and might provide a work-arround:
https://github.com/vishvananda/netlink/issues/613
https://github.com/cilium/cilium/issues/14710
https://github.com/vishvananda/netlink/pull/614/files

These issues are related and might provide a work-arround:
https://github.com/vishvananda/netlink/issues/613
https://github.com/cilium/cilium/issues/14710
https://github.com/vishvananda/netlink/pull/614/files

Even with using a version of netlink with a default timeout, we're seeing Cilium agent block on a linuxNodeHandler.mutex with the holder of the mutex waiting on input from the netlink socket.
We're currently working on extending the Cilium agent's liveness probe so that it fails when one of those mutexes is held for a long time.

This issue should be resolved by https://github.com/cilium/cilium/issues/14710.

Even with using a version of netlink with a default timeout

@johngmyers Are you refering to https://github.com/vishvananda/netlink/pull/614? Could you provide a stacktrace of the goroutine? /cc @ArthurChiao

@brb Here is the stacktrace of the goroutine that got stuck using a forked cilium 1.7.13 with the patch vishvananda/netlink#614 applied
  Goroutine 138 - User: /usr/local/go/src/syscall/asm_linux_amd64.s:53 syscall.Syscall6 (0x47b9fa) (thread 137468) [select 448062h10m14.804349352s]
	 0  0x000000000047b9fa in syscall.Syscall6
	     at /usr/local/go/src/syscall/asm_linux_amd64.s:53
	 1  0x000000000047b1e3 in syscall.recvfrom
	     at /usr/local/go/src/syscall/zsyscall_linux_amd64.go:1618
	 2  0x00000000004774ef in syscall.Recvfrom
	     at /usr/local/go/src/syscall/syscall_unix.go:273
	 3  0x0000000000473b6c in syscall.NetlinkRIB
	     at /usr/local/go/src/syscall/netlink_linux.go:71
	 4  0x0000000000642aa8 in net.interfaceTable
	     at /usr/local/go/src/net/interface_linux.go:17
	 5  0x0000000000641c24 in net.InterfaceByName
	     at /usr/local/go/src/net/interface.go:157
	 6  0x0000000001cda652 in github.com/cilium/cilium/pkg/datapath/linux.(*linuxNodeHandler).insertNeighbor
	     at /go/src/github.com/cilium/cilium/pkg/datapath/linux/node.go:601
	 7  0x0000000001cdc300 in github.com/cilium/cilium/pkg/datapath/linux.(*linuxNodeHandler).nodeUpdate
	     at /go/src/github.com/cilium/cilium/pkg/datapath/linux/node.go:741
	 8  0x0000000001ce0b96 in github.com/cilium/cilium/pkg/datapath/linux.(*linuxNodeHandler).NodeValidateImplementation
	     at /go/src/github.com/cilium/cilium/pkg/datapath/linux/node.go:1204
	 9  0x0000000001ac9b4a in github.com/cilium/cilium/pkg/node/manager.(*Manager).backgroundSync.func1
	     at /go/src/github.com/cilium/cilium/pkg/node/manager/manager.go:282
	10  0x0000000001ac6787 in github.com/cilium/cilium/pkg/node/manager.(*Manager).Iter
	     at /go/src/github.com/cilium/cilium/pkg/node/manager/manager.go:149
	(truncated)

The lock call happens in NodeValidateImplementation and never returns. I believe vishvananda/netlink#614 do not solve issue such as above where func not returning is not using vishvananda's netlink package.

https://github.com/cilium/cilium/blob/v1.7.13/pkg/datapath/linux/node.go#L591, as pointed out by @Ewocker and shown in the above stack strace, Cilium 1.7.13 is using vanilla net package instead of vishvananda/netlink, so https://github.com/vishvananda/netlink/pull/614 doesn't solve the above case.

This has been fixed in 1.{8,9,10}. Closing the issue.


Move chart-operator (-resources) to giantswarm namespace

Towards: https://github.com/giantswarm/giantswarm/issues/1902.
Regarding #64.
Since our own tiller will live in the giantswarmnamespace, chart-operator and its resources should do too.

CI / e2e is exepcted to fail, but will get fixed with #64.


Update pronouns for new hubot

Updated the current pronoun references to a new hubot to be neutral for gender inclusivity. Github's Hubot may identify as male due to his programming, but new Hubots have no gender associated and, I propose, should remain neutral unless programmed otherwise by their respective authors.

+1

+1

++

This makes sense to me. I left one line comment about word choice, but this otherwise looks good to merge.

@technicalpickles Thanks, I updated the language to match.


Incorrect handling of exceptions in websocket handlers

I've encountered a couple of issues in how Blacksheep handles exceptions during the execution of a WebSocket handler. I'd like to discuss them and propose a solution.
I see two problems:

If an HTTPException is raised before accepting the connection, current behavior is to close the connection, and then try to close it again. This is incorrect and leads to RuntimeError: Unexpected ASGI message 'websocket.close', after sending 'websocket.close'.
If an HTTPException is raised after accepting the connection, Blacksheep closes the connection, sending the HTTP code to the ASGI server. This is incorrect too, and leads to websockets.exceptions.ProtocolError: invalid status code for Uvicorn and Exception: invalid close code 403 (must be 1000 or from [3000, 4999]) for Daphne. Anyway, one should not use HTTP error codes as WebSocket error codes (shame on me I guess 😿 ).

After reading the ASGI spec and comparing various scenarios using Blacksheep, FastAPI , Uvicorn, and Daphne, my thinking is that there's not much sense handling exceptions in WebSocket handlers at all. The ASGI server will do this anyway, adding the appropriate information to the closing message.
Why?

(An excerpt from the ASGI spec about the websocket.close message)
If this is sent before the socket is accepted, the server must close the connection with a HTTP 403 error code (Forbidden), and not complete the WebSocket handshake; this may present on some browsers as a different WebSocket error code (such as 1006, Abnormal Closure).
If this is sent after the socket is accepted, the server must close the socket with the close code passed in the message (or 1000 if none is specified).

Hovewer, to make Authentication/Authorization work more smoothly, I would propose to handle 401 and 403 errors by simply closing the connection (which in turn will make the ASGI server send 403 to the client, as this errors are raised by the auth framework before the WebSocket handler has a chance to call accept()). Any other exception will be left unhandled, propagating to the ASGI server and leaving a log entry.
Basically, I think that Application._handle_websocket should look like this:
ws = WebSocket(scope, receive, send)
route = self.router.get_ws_match(scope["path"])

if route is None:
    return await ws.close()

ws.route_values = route.values

try:
    return await route.handler(ws)
except HTTPException as exc:
    if exc.status in [401, 403]:
        return await ws.close()
    raise

This is probably not flawless too, but at least that's better than what we have now. This is just my humble perspective on this issue, so I'll be happy to discuss it!

Hi @Klavionik
Sorry for replying so late here. I see your point and I like your idea. I will give it a try and check.
PS. I removed the get_ws_match method because I didn't like the inconsistency of having a dedicated method only for WS and also didn't want to add methods for each kind of verb / request.

I tried your suggestion and the integration test checking support for built-in authentication and authorization (test_websocket_auth) fail with an internal server error. I'll take a look at this;
----------------------------------------------------------- Captured stderr call ------------------------------------------------------------
DEBUG:    = connection is CONNECTING
DEBUG:    < GET /websocket-echo-text-http-exp HTTP/1.1
DEBUG:    < host: <IP_ADDRESS>:44556
DEBUG:    < upgrade: websocket
DEBUG:    < connection: Upgrade
DEBUG:    < sec-websocket-key: DUpISl5JgpcIaKd8mGDmdg==
DEBUG:    < sec-websocket-version: 13
DEBUG:    < sec-websocket-extensions: permessage-deflate; client_max_window_bits
DEBUG:    < user-agent: Python/3.11 websockets/11.0.2
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "~/projects/github/blacksheep/venv/lib/python3.11/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 254, in run_asgi
    result = await self.app(self.scope, self.asgi_receive, self.asgi_send)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/projects/github/blacksheep/venv/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/projects/github/blacksheep/blacksheep/server/application.py", line 769, in __call__
    return await self._handle_websocket(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/projects/github/blacksheep/blacksheep/server/application.py", line 735, in _handle_websocket
    return await route.handler(ws)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "~/projects/github/blacksheep/blacksheep/middlewares.py", line 6, in middleware_wrapper
    return await handler(request, next_handler)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/projects/github/blacksheep/blacksheep/server/authentication/__init__.py", line 19, in authentication_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "~/projects/github/blacksheep/blacksheep/middlewares.py", line 6, in middleware_wrapper
    return await handler(request, next_handler)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/projects/github/blacksheep/blacksheep/server/authorization/__init__.py", line 82, in authorization_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "~/projects/github/blacksheep/blacksheep/middlewares.py", line 6, in middleware_wrapper
    return await handler(request, next_handler)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/projects/github/blacksheep/blacksheep/server/compression.py", line 101, in __call__
    response = ensure_response(await handler(request))
                               ^^^^^^^^^^^^^^^^^^^^^^
  File "~/projects/github/blacksheep/blacksheep/server/normalization.py", line 556, in handler
    return ensure_response(await method(request))
                           ^^^^^^^^^^^^^^^^^^^^^
  File "~/projects/github/blacksheep/itests/app_2.py", line 155, in echo_text_http_exp
    raise BadRequest("Example")
blacksheep.exceptions.BadRequest: Example
DEBUG:    > HTTP/1.1 101 Switching Protocols
DEBUG:    > Upgrade: websocket
DEBUG:    > Connection: Upgrade
DEBUG:    > Sec-WebSocket-Accept: jrES4ownYHGcQRjZGgWKWZeQbF4=
DEBUG:    > Sec-WebSocket-Extensions: permessage-deflate
DEBUG:    > date: Sun, 26 Nov 2023 08:49:27 GMT
DEBUG:    > server: uvicorn
INFO:     connection open
DEBUG:    = connection is OPEN
DEBUG:    = connection is CLOSING
DEBUG:    > CLOSE 1000 (OK) [2 bytes]
DEBUG:    = connection is CLOSED
DEBUG:    ! failing connection with code 1006
DEBUG:    x half-closing TCP connection
DEBUG:    ! failing connection with code 1006
--------------------------------------------------------- Captured stderr teardown ----------------------------------------------------------
ERROR:    closing handshake failed
Traceback (most recent call last):
  File "~/projects/github/blacksheep/venv/lib/python3.11/site-packages/websockets/legacy/protocol.py", line 959, in transfer_data
    message = await self.read_message()
              ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/projects/github/blacksheep/venv/lib/python3.11/site-packages/websockets/legacy/protocol.py", line 1029, in read_message
    frame = await self.read_data_frame(max_size=self.max_size)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/projects/github/blacksheep/venv/lib/python3.11/site-packages/websockets/legacy/protocol.py", line 1104, in read_data_frame
    frame = await self.read_frame(max_size)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "~/projects/github/blacksheep/venv/lib/python3.11/site-packages/websockets/legacy/protocol.py", line 1161, in read_frame
    frame = await Frame.read(
            ^^^^^^^^^^^^^^^^^
  File "~/projects/github/blacksheep/venv/lib/python3.11/site-packages/websockets/legacy/framing.py", line 68, in read
    data = await reader(2)
           ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/streams.py", line 726, in readexactly
    raise exceptions.IncompleteReadError(incomplete, n)
asyncio.exceptions.IncompleteReadError: 0 bytes read on a total of 2 expected bytes

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "~/projects/github/blacksheep/venv/lib/python3.11/site-packages/websockets/legacy/server.py", line 248, in handler
    await self.close()
  File "~/projects/github/blacksheep/venv/lib/python3.11/site-packages/websockets/legacy/protocol.py", line 766, in close
    await self.write_close_frame(Close(code, reason))
  File "~/projects/github/blacksheep/venv/lib/python3.11/site-packages/websockets/legacy/protocol.py", line 1232, in write_close_frame
    await self.write_frame(True, OP_CLOSE, data, _state=State.CLOSING)
  File "~/projects/github/blacksheep/venv/lib/python3.11/site-packages/websockets/legacy/protocol.py", line 1205, in write_frame
    await self.drain()
  File "~/projects/github/blacksheep/venv/lib/python3.11/site-packages/websockets/legacy/protocol.py", line 1194, in drain
    await self.ensure_open()
  File "~/projects/github/blacksheep/venv/lib/python3.11/site-packages/websockets/legacy/protocol.py", line 935, in ensure_open
    raise self.connection_closed_exc()
websockets.exceptions.ConnectionClosedError: sent 1000 (OK); no close frame received
INFO:     connection closed
INFO:     Shutting down
INFO:     Waiting for application shutdown.
INFO:     Application shutdown complete.
INFO:     Finished server process [17044]
INFO:     Shutting down
INFO:     Waiting for application shutdown.
INFO:     Application shutdown complete.
INFO:     Finished server process [17043]
INFO:     Shutting down
INFO:     Waiting for application shutdown.
INFO:     Application shutdown complete.
INFO:     Finished server process [17039]

---------- coverage: platform linux, python 3.11.0-final-0 -----------
Coverage HTML written to dir htmlcov

Hi @Klavionik
I am trying to resolve the issue and this is start to be annoying for me. If I do like the ASGI specification mandates, something goes wrong and I get this exception:
https://github.com/encode/uvicorn/issues/1910
There they concluded it is not a problem inside uvicorn, but I doubt that conclusion is correct because I am doing exactly like the specification you linked and getting that error.

Hey, I'm sorry for the late reply too! I'm quite busy with the new job these days.
I'm afraid to say that the fix included in 2.0.1 doesn't really work. :( Both issues I described in the first message still present and I was able to reproduce them.

The issue with closing the WS connection twice left, because there is no return inside the exception handling code.
I believe that the server mentioned in the spec is the ASGI server like Uvicorn, not an ASGI application like Blacksheep. We should not call ws.close with an HTTP exception code (like I did in the past and you did in the fix). Both Uvicorn and Daphne are not happy about it.

I see that the code I suggested breaks some integration tests - I believe this is due to 2 reasons.

except HTTPException should be replaced with except UnauthorizedError with no check for status code.
test_websocket_auth[websocket-echo-text-http-exp] test should probably be changed or deleted.

In short, my idea was to raise on any error and let the ASGI server handle this, except for potential authorization errors coming from the authorization framework (that's why I was trying to check for 401 and 403 statuses, that was a wrong move apparently).
@RobertoPrevato If you don't mind, I'll try to implement a PR to support my idea including a test suite in the next few days. Sorry again for keeping you waiting.

@Klavionik I suspected it might not work to resolve the case you opened. But I tried your recommendation to simply raise exception, and that wasn't working neither because it wouldn't be result in 500 Internal Server Error in all cases. This is not correct because even before accepting a Web Socket, there are legit use cases for other kinds of responses. Like: the client didn't provide proper input and should receive 400 Bad Request response, etc.

I see your point, no worries! :) I'll try to figure something out and then we'll discuss it and iterate until it's done.
For now I managed to take FastAPI, Quart and Litestar and run several tests.
FastAPI raises every exception (both before and after accept) and doesn't even allow the ASGI server to send 403 in response.
Litestar silences every exception. It closes the connection normally (making the ASGI server send 403) if the exception is raised before accept and closes the connection with code 4500 if the exception is raised after accept.
Quart both raises the exception and closes the connection normally, no matter if it's raised before or after accept.
Don't know how it helps us, just wanted to check with others and find some common ground. Apparently there isn't any at all. :)


notes-up: unstable-2020-12-29 -> unstable-2.0.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for notes-up is: "Markdown notes editor and manager designed for elementary OS"
meta.homepage for notes-up is: "https://github.com/Philip-Scott/Notes-up"
meta.changelog for notes-up is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/lp404hqrw2fdah4nd8c49apnng75vl11-notes-up-unstable-2.0.2/bin/com.github.philip-scott.notes-up passed the binary check.

/nix/store/lp404hqrw2fdah4nd8c49apnng75vl11-notes-up-unstable-2.0.2/bin/.com.github.philip-scott.notes-up-wrapped passed the binary check.

2 of 2 passed binary check by having a zero exit code.

0 of 2 passed binary check by having the new version present in output.

found unstable-2.0.2 with grep in /nix/store/lp404hqrw2fdah4nd8c49apnng75vl11-notes-up-unstable-2.0.2

found unstable-2.0.2 in filename of file in /nix/store/lp404hqrw2fdah4nd8c49apnng75vl11-notes-up-unstable-2.0.2

directory tree listing: https://gist.github.com/88e5cde0eb0987c7e118dad21358ad62

du listing: https://gist.github.com/697fabff2a93c6b8b268f52db0e00e33

Rebuild report (if merged into master) (click to expand)

6 total rebuild path(s)

2 package rebuild(s)

2 x86_64-linux rebuild(s)
2 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
2 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
notes-up
pantheon.notes-up

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/lp404hqrw2fdah4nd8c49apnng75vl11-notes-up-unstable-2.0.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A notes-up https://github.com/r-ryantm/nixpkgs/archive/74f3bc3aa4b99ca8c4ed6b618f163ba706690fdd.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/lp404hqrw2fdah4nd8c49apnng75vl11-notes-up-unstable-2.0.2
ls -la /nix/store/lp404hqrw2fdah4nd8c49apnng75vl11-notes-up-unstable-2.0.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

notes-up
pantheon.notes-up

Maintainer pings
cc @davidak @bobby285271 for testing.

This is a downgrade.

2.0.6 is out, I will handle this later.

Diff: https://github.com/Philip-Scott/Notes-up/compare/2ea9f35f588769758f5d2d4436d71c4059141a6f...2.0.6, the most major change includes:

Switch from cmake to meson
Rename everything to the new AppID

Note that for PDF export there is https://github.com/Philip-Scott/Notes-up/issues/375 and it is not a regression introduced in 2.0.6.


React 16 compatability

Use 'prop-types' package instead of React.PropTypes
Use createReactClass from create-react-class instead of React.createClass
Update some require statements to import
Updated dependencies (fixes issues with latest MetroBundler and moment)

Anyone want to merge this? I'm sure this is preventing people from upgrading RN.

PLASE!!!

same issue. can anyone please merge? thanks.

@FaridSafi @cooperka can you merge this when you get a chance please?

Tested and verified, thanks for the ping @jterps08. Released in v0.1.1.


New v1 install not creating repos

I setup a new fresh install using the v1.0 plugin on ruby2.1.5 - the UI integration seems to work, the config test page is all green. User keys are added to gitolite but no repos are created nor listed in the config.
Compared to a migrated install (which also does not work!) I still see "Redmine:Git" as class name in the repositories table.
I dont know what am I doing wrong as my installs always need a lot of tweaking till they work - what distribution with what ruby/rails versions can you recommend?

Tried also on a fresh bootstrapped wheezy following this howto
http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_2_integrated_with_Gitolite_2_on_Debian_Wheezy_with_Apache_and_Phusion_Passenger
with same result - logs are fine but no repos are installed.

what distribution with what ruby/rails versions can you recommend?

Environment:
  Redmine version                2.6.1.stable
  Ruby version                   2.1.5-p273 (2014-11-13) [x86_64-linux]
  Rails version                  3.2.21
  Environment                    development
  Database adapter               Mysql2
SCM:
  Subversion                     1.6.17
  Mercurial                      2.2.2
  Git                            <IP_ADDRESS>
  Filesystem
  Xitolite                       <IP_ADDRESS>
Redmine plugins:
  redmine_bootstrap_kit          0.2.0
  redmine_git_hosting            1.0-devel
  redmine_sidekiq                2.1.0

Sudo version is 1.8.5p2 (but I don't think we should care of it now)
Debian Wheezy 7.8
Gitolite v3.6.2-12-g1c61d57

I don't use Passenger. I find the installation a bit complicated. I prefere Puma.
In the same idea, I don't use Redmine Debian package to install Redmine but a dedicated user with RVM and Redmine inside. This is then easier to keep Redmine updated.
https://jbox-web.github.io/redmine_git_hosting/guide/redmine-installation/

oliwel, look at this - http://stackoverflow.com/questions/22255742/getting-ruggednetworkerror-on-connect
(you have error with gitolite-rugged compilling - missing libssl-dev )

Hello!
Same problem here. Redmine doesn't create git repo with creating new project. Could you help, please?
Here is what in redmine (development mode) log:
Project Load (0.3ms)  SELECT projects.* FROM projects WHERE projects.id = 182 LIMIT 1
Setting Load (0.1ms)  SELECT settings.* FROM settings WHERE settings.name = 'enabled_scm' LIMIT 1
Repository Load (0.4ms)  SELECT repositories.* FROM repositories WHERE repositories.project_id = 182 AND (identifier = '' or identifier is null)
(0.2ms)  COMMIT
(0.1ms)  BEGIN
RepositoryGitExtra Exists (0.2ms)  SELECT 1 AS one FROM repository_git_extras WHERE repository_git_extras.repository_id IS NULL LIMIT 1
(0.2ms)  ROLLBACK
Completed 422 Unprocessable Entity in 403.4ms
ActiveRecord::RecordInvalid (Validation failed: repository can't be blank, repository has already been taken):
activerecord (3.2.21) lib/active_record/validations.rb:56:in save!'   activerecord (3.2.21) lib/active_record/attribute_methods/dirty.rb:33:in save!'
activerecord (3.2.21) lib/active_record/transactions.rb:264:in block in save!'   activerecord (3.2.21) lib/active_record/transactions.rb:313:in block in with_transaction_returning_status'
Redmine environment: https://www.dropbox.com/s/8gvu2ed2yhnj46n/Screenshot 2015-02-17 18.26.35.png?dl=0
Git version: <IP_ADDRESS>
Gitolite version: 3
and everything is green on ConfigTest Tab in Redmine Git Hosting Plugin

Seems like it doesn't insert any record into "repositories" table...

I just installed empty redmine (with existing gitolite) and issue still exists...
Could you assist please? At lest tell me how can I find more logs?

Seems I found the problem in here: #344
I've updated redmine_git_hosting to devel branch and seems it works
so just discard everything above and close that task )

@oliwel Any news?

Well, I dont see much help towards the problem here - the base system works and as redmine does at users to the gitolite I assume that the connector is working. What about the difference in the "class name"? Is this intended or a bug?
Is there any option to get some more debug info from the system? I already set "hooks in debug" mode but as the systems seems simply not to find the repos, the only thing I see is "silence".
Might you be willing to look at the system yourself? I can set up a test and provide ssh access.

Might you be willing to look at the system yourself? I can set up a test and provide ssh access.

Can you please send me them to<EMAIL_ADDRESS>

Can I close it? :)

I hope so - I need some time to migrate my prod systems but I can reopen the ticket if the problem persists. Might you post the solution here for Follow Ups?

Enable Xitolite repositories in Administration -> Settings -> Repositories


The below 2 extension(s) in workspace recommendations have issues: robertohuertasm.vscode-icons (not found in marketplace) shinnn.stylelint (not found in marketplace)

VSCode Version: 1.47
OS Version: macOS 10.15.6

Steps to Reproduce:

Does this issue occur when all extensions are disabled?: Yes/No

what is the problem?

What causes this？

The workspace you are using has two extension recommendations that cannot be found in the vscode marketplace.  Some more information about extension recommendations here, https://code.visualstudio.com/docs/editor/extension-gallery#_workspace-recommended-extensions.

VS Code does not have any info about the old names hence cannot be redirected.
Only way is to update workspace recommendations with new names.


Scroll highlight text within integrated terminal

VSCode Version: Code 1.3.0 (e724f269ded347b49fcf1657fc576399354e6703, 2016-07-07T16:52:42.674Z)
OS Version: Darwin x64 15.5.0

Problem:
Unable to highlight and copy content that is longer than viewable terminal window.
Steps to Reproduce:

Launch integrated terminal
Produce text within the terminal that requires you to scroll to see all of it.
Scroll to the top with mouse
Click to highlight from the top
Continue to highlight all the content by scrolling down
You will be unable to scroll to capture all of the content

Expected behavior:
Should be able to scroll with highlighted content to the bottom of the terminal window.

Duplicate #9958


Feature: docker image

It would be very useful to have a docker image.

Just to run the CLI command, correct?

@S1SYPHOS yes. My Dockerfile:
FROM python:2.7.16

COPY . /usr/src/myapp

WORKDIR /usr/src/myapp

Build:
docker build -t scribus-generator:0.1 .
Example:
docker run -it --rm -v ./docs:/usr/src/myapp/docs -w /usr/src/myapp scribus-generator:0.1 python ScribusGeneratorCLI.py docs/tpl.sla -c docs/data.csv -n file_%VAR_id%

thanks. added to the wiki: https://github.com/berteh/ScribusGenerator/wiki/Docker-image-for-ScribusGenerator


API Request Count Optimizations

Overview

Closes https://github.com/indexed-finance/circuit-breaker/issues/21
Adjust optimizer settings for multicall to reduce deployment cost
New multicall contract: 0x1e91D7b9C052a4e07D4704a0D749A4Eeb68A1a79

TODO

Deploy new multicall contract to mainnet [done]
Update multicall non-simulated test to include the new bundle functionality [done]
Update documentation to reflect new multicall contract

This has been running in production for about a month now and no issues have been discovered.


[curl] Fix SSL on iOS

Enables secure transport SSL backend on iOS.
When CURL_CA_BUNDLE is set (defaults to /etc/ssl/cert.pem) curl sets it as CA for every request, but on iOS this file is missing and curl's sectransp SSL implementation can't deal with it, failing the request completely.
This change makes CURL_CA_BUNDLE to be unset, much like CURL_CA_PATH so that sectransp uses system CA store.
Describe the pull request

What does your PR fix?

Fixes curl  SSL support on iOS

Which triplets are supported/not supported? Have you updated the CI baseline?

all , no

Does your PR follow the maintainer guide?

yes

If you have added/updated a port: Have you run ./vcpkg x-add-version --all and committed the result?

yes

This makes sense to me. Thanks for the improvement!


[per-OS Packages] Error if adding --platform, when excluded_platforms is defined

Summary
Background:
for a package, platforms and excluded_platforms should be defined mutually-exclusively.
Previously, we were being "clever" by dropping "excluded_platforms" when a user
does devbox add <package> --platform <platform>. But I think we should:

Ensure the user explicitly makes the change to their devbox config.
Be consistent with how the inverse is handled: using --exclude-platform when platform is defined.

How was it tested?
added testscript unit-tests

Current dependencies on/for this PR:

main

PR #1373   👈

This comment was auto-generated by Graphite.


Can you please add "parent" and "parents" methods to branch?

Hi,
I'm trying to get all parents of the active branch, but I can't find any way to do this in current code.
That's why I have to hack the script:
branch.parent = function() {
  var result;
  for_each_branch(function(br) {
    var children = br.children, i, len;
    if (children) {
      for (i = 0, len = br.children.length; i < len; i++) {
        if (_.isEqual(children[i], branch)) {
          result = br;
          break;
        };
      }
    }
  });
  return result;
};
branch.parents = function() {
  var current = branch, results = [];
  while (true) {
    if (current = current.parent())
      results.unshift(current);
    else
      break;
  }
  return results;
}

But my hack depends on underscore.js because of the deep comparison, you can implement it by yourself. Thanks!

Can't this be handled by the consumer using:
function getAllAncestors(branch){
  let ancestors = [];
  while(branch.parent){
    ancestors.push(branch.parent);
  }
  return ancestors;
}

getAllAncestors(currentBranch);

Reopen if I am missing something.


build error

./run.sh hello
error: failed to load manifest for workspace member /home/greysoft/temp/koi/crates/kreflect
Caused by:
failed to read /home/greysoft/temp/koi/crates/kreflect/Cargo.toml
Caused by:
No such file or directory (os error 2)
cp: не удалось выполнить stat для 'target/wasm32-unknown-unknown/release/examples/hello.wasm': Нет такого файла или каталога
cp: невозможно создать обычный файл 'web_build/kwasm.js': Нет такого файла или каталога
Path [/home/greysoft/temp/koi/web_build] does not exist!

I suspect the issue is that kreflect's Cargo.toml file was lowercased as cargo.toml for some reason, which is non-standard.
I've pushed a fix: https://github.com/kettle11/koi/commit/e9281e8219fa553b9d88c11b6505e7e5cf27c781
Let me know if this works!

Ok, the simplest mistake, I didn’t notice it myself, I thought that everything was complicated

Thanks for reporting! I would have never noticed otherwise because I'm using a case-insensitive operating system.


julia_18-bin: add darwin support

Description of changes
As in #181772.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

So why are the tests disabled?

@ninjin I uploaded the test log here. I don't see any major issue with numerical functions in 1.18, since all linear algebra tests pass. Also, the first error actually comes from download.

Shouldn't network related tests be automatically disabled when there's no network access, just like the source builds?

I don't think this is the case. #181772 also included a patch for this.

@ofborg build julia_18-bin

The channels test is once again flaky on aarch64-linux, maybe disable it unconditionally (what we are already doing with the source build) while you are at it.


RestClientProvider should include additional status code classifiers

We can get the full set of 20x status codes from the _inputClient.Operations.

To clarify, we should only add the classifiers that the client requires.


1.62.0 version does not show plot in the center of the plot viewer canvas

The plot viewer does not show the plot in the center of the canvas. I need to zoom out a lot to bring the plot back in the center.

Dupe of #7523


trackClick implementation for Composable onClick functions that take parameters

Is your feature request related to a problem? Please describe.
In the Compose SDK, com.datadog.android.compose.trackClick cannot be used for Composables that take an onClick with parameters, such as ClickableText which has a function signature:
@Composable
fun ClickableText(
    ...
    onClick: (Int) -> Unit
)

If we try to use it, there's a type mismatch:
@Composable
fun ClickableTextWithTrackedClicks(
    onClick: (Int) -> Unit
) {
    ClickableText(
        ...
        onClick = trackClick(targetName = "Test") { TODO() } // Type mismatch here, as (Int) -> Unit is expected
    )
}

Because trackClick is also a @Composable, it doesn't seem like there's a way to wrap it in a lambda.
eg. If we wished to print the Int parameter
    ClickableText(
        ...
        onClick = { i: Int ->
            println(i)
            trackClick(targetName = "Test") {}.invoke() // Can't be invoked because we're not in a `Composable` context
        }
    )

Describe the solution you'd like
An implementation of trackClick that accepts a generically typed onClick lambda parameter such as:
@Composable
fun <T> trackClick(
    targetName: String,
    onClick: (T) -> Unit
): (T) -> Unit {
    val onTapState = rememberUpdatedState(newValue = onClick)
    return remember(targetName, attributes) {
        TapActionTracker(targetName, attributes, onTapState)
    }
}

// This will require a separate mplementation of TapActionTracker as well
internal class TapActionTracker<T>(
    private val targetName: String,
    private val attributes: Map<String, Any?> = emptyMap(),
    private val onTap: State<(T) -> Unit>,
    private val rumMonitor: RumMonitor = GlobalRum.get()
) : (T) -> Unit {

    override fun invoke(param: T) {
        // RUM code
        onTap.value.invoke(arg)
    }
}

Hello @socksinbed! Thanks for reporting the issue, we will try to improve this API indeed.


Reorg styles

Did not add or delete anything that wasn't already there. Just moved stuff around to be in a consistent format as indicated in the issue.
Fix #130
Test URLs:

Before: https://main--merative2--hlxsites.hlx.page/
After: https://reorg-styles--merative2--hlxsites.hlx.page/

merging to wrong repo 😅


Use argv[0] for usage output

Usage messages traditionally use this as it contains the path that the
user provided to run the executable (e.g. rustfmt instead of
/usr/local/bin/rustfmt).

Thanks!


Android targets [WIP]

Basic support for building Crystal apps targeting Android.

[x] armeabi: arm-unknown-linux-androideabi
[ ] armeabi-v7a
[ ] arm64-v8a
[ ] x86 (?)
[ ] x86_64 (?)

Glue for ANativeActivity and other Android NDK API (ANativeWindow, event listeners/dispatchers, JNI, ...) to build Android aware applications will eventually come as an external shard.

I'm just going to now call you the "porting wizard". :)

@kirbyfan64 Julien Portalier

@kirbyfan64 Julien Portalier

Well that explains it all :O

to build Android aware applications will eventually come as an external shard.

I think these shards are relevant here:

https://github.com/ysbaddaden/java.cr
https://github.com/ysbaddaden/android.cr

This appears to have stalled out. What is needed to get this QA'd and merged? There is a lot of value here. It also seems to me that this would also help in the effort to get crystal on iOS as well.

what is needed to get this QA'd and merged?

Running (and fixing) the std_spec on Android for the current target.
Generating bindings (and testing) other android targets (e.g. arm64).

iOS is quite different, but basically that doesn't change much than adding a target to Crystal. Except that iOS requires special fixes for the ARM ABI.

Closing for the time being. Regenerating C bindings is boring, and some additions such as VaList made it harder :(

Is this still in progress or is it abandoned? I see that the incoming fork has commits as recent as March 2019 (less than three months ago).

Hello, has there been any progress here?

Nobody is working in android precisely. @jhass has done some progress to add arm64 CI to avoid going backwards in the progress to that. Other than that, no.

Thanks for the update. Is there anything we can do to accelerate the process?

Sure, you can contribute :) pull requests welcome!

I'm kinda new to LLVM and stuff, but doesn't it's bitcode get compiled on Android too?

Producing bytecode for the usual Android architectures is not the problem, the task is ABI compatibility and porting the standard library.

Damn right
The hardest part of porting the stdlib will probably be the LLVM module

What LLVM module?

What LLVM module?

The LLVM module available at the top-level

That should just work when the ABI is implemented properly.


Tamper/vibration sensor warning before Alarm Trigger

Checklist

[X] I checked for similar existing requests (both open and closed) before posting.
[X] My request is generic, other users may benefit from it too.

Proposal
Add the ability to set a treshold for how many time a tamper/vibration sensor should be activated within a time limit before it triggers alert.
Additional info
The other day i had a bird flying into my window and set the alarm off, it could be nice if a single bump wouldn't trigger the alarm.

From my point of view, this is an issue caused by the sensor, rather than the alarm (it seems too sensitive and I suppose this is not configurable).
I think (at least for now) it's better to solve such customizations externally from Alarmo, rather than adding extra complexity to it.
If you want to filter out glitches, you can use a template sensor as middleware.
Check the delay_on setting, you can use it to configure how long the vibration sensor needs to be ON before the template sensor goes ON.
Obviously, you should swap the actual vibration sensor with the template sensor in Alarmo, to make it effective.

That is for sure one way to solve it, I was "just" thinking that with thresholds options like that, you could also have the ability to make the siren make a short bip if the sensor was activated to warn intruders that this window is protected.
but template sensors, and some node-red flows with siren bips will do for now. thanks for responding. :)