Regression: libfunty expecting libm in #![no_std] even with default-features disabled

I am unable to get this crate to compile in a #![no_std] environment due to the linker failing to locate various floating point functions provided by libm.
Here is my Cargo.toml entry:
bitvec = { version = "1", features = ["atomic", "alloc"], default-features = false }
and the linker errors:
= note: rust-lld: error: undefined symbol: fmaxf
          >>> referenced by f32.rs:692 (/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/num/f32.rs:692)
          >>>               funty-da8ab0dd9fd4a525.funty.49932917-cgu.2.rcgu.o:(core::f32::_$LT$impl$u20$f32$GT$::max::h473bee7476e3f8c8) in archive /home/alex/Development/kernel/target/x86_64-bare/debug/deps/libfunty-da8ab0dd9fd4a525.rlib

          rust-lld: error: undefined symbol: fminf
          >>> referenced by f32.rs:712 (/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/num/f32.rs:712)
          >>>               funty-da8ab0dd9fd4a525.funty.49932917-cgu.2.rcgu.o:(core::f32::_$LT$impl$u20$f32$GT$::min::h61b16a3857045f2f) in archive /home/alex/Development/kernel/target/x86_64-bare/debug/deps/libfunty-da8ab0dd9fd4a525.rlib

          rust-lld: error: undefined symbol: fmax
          >>> referenced by f64.rs:708 (/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/num/f64.rs:708)
          >>>               funty-da8ab0dd9fd4a525.funty.49932917-cgu.0.rcgu.o:(core::f64::_$LT$impl$u20$f64$GT$::max::hddf19d8f0ae889a3) in archive /home/alex/Development/kernel/target/x86_64-bare/debug/deps/libfunty-da8ab0dd9fd4a525.rlib

          rust-lld: error: undefined symbol: fmin
          >>> referenced by f64.rs:728 (/home/alex/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/num/f64.rs:728)
          >>>               funty-da8ab0dd9fd4a525.funty.49932917-cgu.0.rcgu.o:(core::f64::_$LT$impl$u20$f64$GT$::min::h931702728a5b659b) in archive /home/alex/Development/kernel/target/x86_64-bare/debug/deps/libfunty-da8ab0dd9fd4a525.rlib

Would it be possible to feature-gate off the floating point parts of libfunty (I'm assuming this crate does not use floating point 😄 )?

Floating point functions continue to be my long-standing nightmare. Thank you for bringing this to my attention; while I do test against freestanding targets, it looks like you're using one I haven't seen before?
I haven't tried to demangle those symbols, but I would guess that they're trying to reach core::f32::<impl f{32,64}>::{max,min}, which forward to core::intrinsics::{max,min}numf{32,64}. These don't have any target gating on them, which means those intrinsics are always available and should always try to link against some implementation, either in libm or in the ongoing compiler-intrinsics work.
I can look into putting more gates in funty, but since right now it follows the existing core/std distinction for known targets, I would guess that funty just happened to be a symptom of something else going on with your target? I'm uncertain.
I think the fastest immediate resolution for you would be to vendor funty locally and just delete the floating-point sections. You're right, bitvec doesn't use them.


Mat-chip-list with required option always shows error

Reproduction
Use the chip list input example, add a formcontrol and a required input. (based on the chip-list.spec.ts)
Steps to reproduce:

Prerequisite: Chip list with a form control and it is marked required. See this Stackblitz
Focus on field
Focus out
Field is marked required in an error state
Add a new chip
Field is still marked required in an error state

Expected Behavior
Field marked as Valid whenever there is a chip. Marked as Invalid and the error is shown when there are no chips in the list.
Actual Behavior
Once the field has lost focus, the error state is always shown, independently of the number of chips present.
Environment

Angular: 8.2.14
CDK/Material: 8.2.3
Browser(s): Chrome 78
Operating System (e.g. Windows, macOS, Ubuntu): Windows

Any comments? I cannot make my form validation without a patch or workaround for this.

@jelbourn,
Could you please take a look at this? Thanks!

@hodossy Thanks for this issue. I think you might be a bit confused here. The chip list's control value represents "selected" chips and not chips in the list. Related: https://github.com/angular/components/issues/8801


[4.1] Make CopyForwarding more conservative about shrinking lifetimes.

Merge the two commits required to fix a miscompile:
rdar://problem/39209102 [SR-7354]: Swift 4.1 Regression: EXC_BAD_ACCESS for Optimized Builds in Xcode 9.3

@swift-ci test.

CCC Information:
Explanation: CopyForwarding was aggressively shrinking a value's
lifetime, assuming certain SIL conventions. This optimization has not
changed in years, but recent SILGen/PredictableMemOps changes have
exposed new SIL patterns that don't follow the assumed conventions for
reference ownership. The safe immediate solution is to add a whitelist
to the optimization to identify only the known good patterns. This
does not make the optimization generally safe, but does rule a broad
category of issues that have just cropped up in the 4.1 release.
Scope of Issue:	This bug has already been indenpentantly reported by users twice.
Risk: The fix disables an optimization. It is only relevant at -O. The
fix cannot change the behavior of the optimization other than to
suppress it in some cases. The fix is a effectively a whitelist to
identify safe patterns. It's possible that the implementation of that
whitelist could assert, but isn't likely.
Nominated Reviewers: @gottesmm
Testing: Two radars included separate reduced test
cases. Additionally, I added several unit tests.
Bug: rdar://problem/39209102 [SR-7354]: Swift 4.1 Regression: EXC_BAD_ACCESS for Optimized Builds in Xcode 9.3
and rdar://problem/39242494 Undefined behavior in simple optimized code with mutating function

@swift-ci nominate.

Build failed
Swift Test OS X Platform
Git Sha - b5a65555bc7e7dd6314acfd6160f021457ad2ea0


[CALL_API].credentials is not supported

In the documentation, it talks about [CALL_API].credentials being an acceptable option but when I try and set it to 'same-origin', it fails on the isRSAA check with an error... Error: Actions may not have an undefined "type" property. Have you misspelled a constant?
Fails on the isRSAA check.
function apiMiddleware({ getState }) {
  return (next) => (action) => {
    const callAPI = action[CALL_API];
    if (!isRSAA(action)) {
      return next(action);
    }

Here is my action...
import {CALL_API} from 'redux-api-middleware';

const getUsers = (data) => {
  return {
    [CALL_API]: {
      endpoint: '/api/users',
      method: 'GET',
      credentials: 'same-origin',
      types: ['REQUEST', 'SUCCESS', 'FAILURE']
    }
  };
};

export default {
  getUsers
};

Looking through your code I can see no mention of the credentials property. I also see no mention in your tests. Is it because your documentation is wrong or am I doing something wrong?

Ok I worked out that the credentials support is in the beta version which is not the version that installs with npm install.

@tdfairbrother thanks for the update.
Its since then been released as v1.0.0 on NPM.


Implement Connection from CN to BN. (TBD Details on how to select a BN)

Just a note, I do not believe we need to concern ourselves about how a CN selects a BN.

That's up to the CN, and that system may use any mechanism desired
In most cases, selecting a BN is more of a human decision than a software decision.  In most cases it comes down to contracts, costs, reliability, and other judgement factors (or lack thereof).

Personally, I expect most CN's will just use a list of references (e.g. nodeID in an address book, IP address, or similar) that is configured locally and private to that consensus node.


Added animated gifs to API objects, improved link formatter, and more…

… fixes to get Blazot provider working again.

Thank you for the continued support!  I'm happy to add these to TagzApp


Tooltip hide non-collapsed data mistakenly when using stacked barchart with shared + inverseOrder tooltip

Codesandbox
https://codesandbox.io/s/stacked-bar-chart-inverse-tooltip-order-bug-bm390
Explanation
This bug happens if you use the combination of stacked bar chart + tooltip.shared = true + tooltip.inverseOrder = true. And when you toggle some data set off and hover over the bar chart. I'll not show any data in the tooltip at all.
Not reverse tooltip (default)

tooltip.inverseOrder = true

From my digging, I found out that the problem lies in the function DOMhandling
from this function call, we pass t as the index of the label without inversing so in this case, the order of looping is inverse so it starts the loop from series-2 (disabled) then series-1.
https://github.com/apexcharts/apexcharts.js/blob/0ee4c5ee3f69818acf94bcc5a43dc7dded7e600f/src/modules/tooltip/Labels.js#L119-L134
then the function runs to here. It checks if it found collapsedSeriesIndices (contains 1 because non-inverse series-2 data is 1) containing the current index or not. We got the index of 1 with the series-1 data because the order is inverse. So it matches then it also set the display style to none
https://github.com/apexcharts/apexcharts.js/blob/0ee4c5ee3f69818acf94bcc5a43dc7dded7e600f/src/modules/tooltip/Labels.js#L261-L266

What is the behavior you expect?
The tooltip should show the data that's not toggled off.

What is happening instead?
The tooltip doesn't show any data at all.

What error message are you getting?
no error message

Thanks for reporting, I confirm the issue.
Will be addressed soon.


Scour as a library

Hello there,
For some reasons, I'm using Scour as a library.
It works almost as expected, but I get an error with the following code :
import sys
from scour.svg_regex import SVGPathParser
from scour.scour import sanitizeOptions, serializePath

#path2d = "\n".join(sys.stdin.readlines())
path2d = 'M 10,30 A 20,20 0,0,1 50,30 A 20,20 0,0,1 90,30 Q 90,60 50,90 Q 10,60 10,30 z'
pathData = SVGPathParser().parse(path2d)
options = sanitizeOptions()
print(serializePath(pathData,options))

Traceback (most recent call last):
  File "C:\dev\projects\Woolf\tools\vanillapath2d\vanillapath2d.py", line 29, in <module>
    print(serializePath(pathData,options))
  File "C:\programs\python3\lib\site-packages\scour-0.38.2-py3.9.egg\scour\scour.py", line 2898, in serializePath
  File "C:\programs\python3\lib\site-packages\scour-0.38.2-py3.9.egg\scour\scour.py", line 2898, in <genexpr>
  File "C:\programs\python3\lib\site-packages\scour-0.38.2-py3.9.egg\scour\scour.py", line 2926, in scourCoordinates
  File "C:\programs\python3\lib\site-packages\scour-0.38.2-py3.9.egg\scour\scour.py", line 2989, in scourUnitlessLength
NameError: name 'scouringContext' is not defined

Perhaps we should be able to change the value of scouringContext from the outside world.
The ability to use scour from another code could be really useful.
Thanks a lot,
Regards

Oh that was easy,
I managed to get this working like this 👍
#import sys
from decimal import Context
from xml.dom.minidom import getDOMImplementation
from scour import svg_regex
from scour import scour

scour.scouringContext = Context(prec=5) # digits
scour.scouringContextC = Context(prec=5) # cdigits

scour._num_bytes_saved_in_path_data = 0
scour._num_path_segments_removed = 0

#path2d = "\n".join(sys.stdin.readlines())
path2d = 'M 10,30 A 20,20 0,0,1 50,30 A 20,20 0,0,1 90,30 Q 90,60 50,90 Q 10,60 10,30 z'

impl = getDOMImplementation()
dt = impl.createDocumentType('svg', '-//W3C//DTD SVG 1.1//EN', 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd')
doc = impl.createDocument('http://www.w3.org/2000/svg', 'svg', dt)

svg = doc.documentElement
svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg')
svg.setAttribute('version', '1.1')
svg.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink')
node = doc.createElement('path')
node.setAttribute('d', path2d)
svg.appendChild(node)

options = scour.sanitizeOptions()
scour.cleanPath(node, options)

print(node.getAttribute('d'))

pathData = svg_regex.SVGPathParser().parse(node.getAttribute('d'))
print(scour.serializePath(pathData,options))

The fact scour is available as a library is really helpful

Oh that was easy,
I managed to get this working like this 👍
#import sys
from decimal import Context
from xml.dom.minidom import getDOMImplementation
from scour import svg_regex
from scour import scour

scour.scouringContext = Context(prec=5) # digits
scour.scouringContextC = Context(prec=5) # cdigits

scour._num_bytes_saved_in_path_data = 0
scour._num_path_segments_removed = 0

#path2d = "\n".join(sys.stdin.readlines())
path2d = 'M 10,30 A 20,20 0,0,1 50,30 A 20,20 0,0,1 90,30 Q 90,60 50,90 Q 10,60 10,30 z'

impl = getDOMImplementation()
dt = impl.createDocumentType('svg', '-//W3C//DTD SVG 1.1//EN', 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd')
doc = impl.createDocument('http://www.w3.org/2000/svg', 'svg', dt)

svg = doc.documentElement
svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg')
svg.setAttribute('version', '1.1')
svg.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink')
node = doc.createElement('path')
node.setAttribute('d', path2d)
svg.appendChild(node)

options = scour.sanitizeOptions()
scour.cleanPath(node, options)

print(node.getAttribute('d'))

pathData = svg_regex.SVGPathParser().parse(node.getAttribute('d'))
print(scour.serializePath(pathData,options))

The fact scour is available as a library is really helpful

Great to hear you could solve your issue!
It's true that nobody thought about making individual optimization functions of scour available to other tools.
There are some plans to come up with a stable public API (see #119 and #121), however this API would still not expose the function you wanted to use, so we might to have to think about this in more detail.

Great to hear you could solve your issue!
It's true that nobody thought about making individual optimization functions of scour available to other tools.
There are some plans to come up with a stable public API (see #119 and #121), however this API would still not expose the function you wanted to use, so we might to have to think about this in more detail.


MSID: 89212 Version: 2 DOI: 2<IP_ADDRESS>6001

[PLACE MANUSCRIPT AND EDITOR DETAILS HERE WHEN AVAILABLE] See step 3
[PLACE PDF URL HERE WHEN AVAILABLE] See step 7
Step 1. Inform bioRxiv
Who can help: @QueenKraken, @nlisgo, @scottaubrey

[x] Manuscript is in data hub index (https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=89212)

Step 2. Create preview of manuscript
Who can help: @fred-atherden, @nlisgo, @scottaubrey

[ ] Manuscript is available for preview (https://prod--epp.elifesciences.org/previews/89212v2)

[ ] Trigger import for staging: https://prod--epp.elifesciences.org/import
[ ] Sync data folder with s3://prod-elife-epp-data/data
[ ] Trigger import for staging: https://staging--epp.elifesciences.org/import
[ ] Sync data folder with s3://staging-elife-epp-data/data
[ ] Pull request created to enhanced-preprint-data
[ ] Post link to pull request below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-manuscript
Step 3: Awaiting public reviews and QC
Who can help: Production team

[ ] QC passed or QC not needed

Who can help: Editorial team

[x] Public reviews available on sciety (https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>6001)
[x] Manuscript and editor details at the top of this issue (Supplied by Editorial team)
[ ] Reviews returned by EPP - https://prod--epp.elifesciences.org/api/reviewed-preprints/89212/v2/reviews

Example
"msas": "Genetics and Genomics", "Neuroscience"
"msid": "84628"
"version": "1"
"preprintDoi": "10.1101/2<IP_ADDRESS>4241"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."

"Reviewed Preprint posted": "2023-01-02"
"Sent for peer review": "2022-10-28"
"Posted to bioRxiv": "2022-11-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>4241v1")

Editors:
Reviewing Editor
Michael B Eisen
University of California, Berkeley, United States
Senior Editor
Michael B Eisen
University of California, Berkeley, United States

Step 4: Modify manuscripts.json (no PDF)

[ ] Reviewed preprint is published to EPP (https://elifesciences.org/reviewed-preprints/89212)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[ ] Request that a doi be registered

[ ] Post link to #enhanced-preprint comment below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]

Instructions to modify manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/publish-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/334/files
Once the pull request is merged in it should be available a few minutes later.

Request that a doi
Post the following in #enhanced-preprint:
@Fred can you register a doi for https://elifesciences.org/reviewed-preprints/89212

Step 5: Awaiting search reindex

[ ] Reviewed preprint is avaliable on journal homepage (https://elifesciences.org)

The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.

Additional info
If needed, the jenkins pipeline to reindex search can be triggered sooner.
https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 6: Published! Request PDF generation

[ ] Post the link to the PDF url at the top of the issue

[ ] Post link to #enhanced-preprint comment below

#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]
Post the following to the #enhanced-preprint on slack:
@Ryan Dix-Peek please can you generate a PDF for https://elifesciences.org/reviewed-preprints/89212

Step 7: Introduce PDF to data folder and git repo

[ ] PDF is avaliable at https://github.com/elifesciences/enhanced-preprints-data/raw/master/data/89212/v2/89212-v2.pdf

Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-pdf
Step 8: Add PDF url to manuscripts.json

[ ] Reviewed preprint PDF is available for download (https://prod--epp.elifesciences.org/reviewed-preprints/89212)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[PLACE LINK TO PULL REQUEST HERE]

Instructions to add PDF url to manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/add-pdf-url-to-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/397/files
Once the pull request is merged in it should be available a few minutes later.

Step 9: Done!

[ ] Kettle is on!

Nicely spotted @rkcook312. I reckon let's proceed with this one as is.


Command line Build is broken

I noticed that the status page was not working any more and the output of build.ps1 was:
Unable to find version '1.1.0' of package 'Microsoft.CodeAnalysis.Analyzers'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.Common'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.CSharp'.
Unable to find version '1.2.0' of package 'System.Reflection.Metadata'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.CSharp.Workspaces'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.Workspaces.Common'.
The 'System.Linq 4.0.0' package requires NuGet client version '3.0' or above, but the current NuGet version is '2.8.60717.93'.
The 'System.Resources.ResourceManager 4.0.0' package requires NuGet client version '3.0' or above, but the current NuGet version is '2.8.60717.93'.
Unable to find version '2.2.0-beta1-build3239' of package 'xunit'.
Unable to find version '2.2.0-beta1-build3239' of package 'xunit.assert'.
Unable to find version '2.2.0-beta1-build3239' of package 'xunit.core'.
Unable to find version '2.2.0-beta1-build3239' of package 'xunit.extensibility.core'.
Unable to find version '2.2.0-beta1-build3239' of package 'xunit.extensibility.execution'.
Unable to find version '2.2.0-beta1-build1144' of package 'xunit.runner.visualstudio'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.VisualBasic'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.VisualBasic.Workspaces'.
Unable to find version '1.1.0' of package 'Microsoft.CodeAnalysis.Analyzers'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.Common'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.CSharp'.
Unable to find version '1.2.0' of package 'System.Reflection.Metadata'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.CSharp.Workspaces'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.Workspaces.Common'.
The 'System.Linq 4.0.0' package requires NuGet client version '3.0' or above, but the current NuGet version is '2.8.60717.93'.
The 'System.Resources.ResourceManager 4.0.0' package requires NuGet client version '3.0' or above, but the current NuGet version is '2.8.60717.93'.
Unable to find version '2.2.0-beta1-build3239' of package 'xunit'.
Unable to find version '2.2.0-beta1-build3239' of package 'xunit.assert'.
Unable to find version '2.2.0-beta1-build3239' of package 'xunit.core'.
Unable to find version '2.2.0-beta1-build3239' of package 'xunit.extensibility.core'.
Unable to find version '2.2.0-beta1-build3239' of package 'xunit.extensibility.execution'.
Unable to find version '2.2.0-beta1-build1144' of package 'xunit.runner.visualstudio'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.VisualBasic'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.VisualBasic.Workspaces'.
Unable to find version '1.1.0' of package 'Microsoft.CodeAnalysis.Analyzers'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.Common'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.CSharp'.
Unable to find version '1.2.0' of package 'System.Reflection.Metadata'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.CSharp.Workspaces'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.Workspaces.Common'.
The 'System.Linq 4.0.0' package requires NuGet client version '3.0' or above, but the current NuGet version is '2.8.60717.93'.
The 'System.Resources.ResourceManager 4.0.0' package requires NuGet client version '3.0' or above, but the current NuGet version is '2.8.60717.93'.
Unable to find version '2.2.0-beta1-build3239' of package 'xunit'.
Unable to find version '2.2.0-beta1-build3239' of package 'xunit.assert'.
Unable to find version '2.2.0-beta1-build3239' of package 'xunit.core'.
Unable to find version '2.2.0-beta1-build3239' of package 'xunit.extensibility.core'.
Unable to find version '2.2.0-beta1-build3239' of package 'xunit.extensibility.execution'.
Unable to find version '2.2.0-beta1-build1144' of package 'xunit.runner.visualstudio'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.VisualBasic'.
Unable to find version '1.2.1' of package 'Microsoft.CodeAnalysis.VisualBasic.Workspaces'.
Failed to restore required NuGet packages, aborting!

Switching to a newer version of nuget fixed this.

The NuGet executable is downloaded if it's not found in the .nuget folder during a build. I believe deleting that file will cause it to download the latest version.

The link we use does not download the latest version. This one works.


feature_request 增加可选推送渠道

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
请求适配pushplus推送加渠道推送
Describe the solution you'd like
A clear and concise description of what you want to happen.
通过pushplus推送加文档中心适配推送渠道
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
暂时没有
Additional context
Add any other context or screenshots about the feature request here.

在计划中。

已提交增加pushplus通道的PR #153


registry/cache/cache.go  appear Deadlock

go-micro/registry/cache/cache.go

This is old code. It has since been updated. Please pull 1.11.1 or master.

Code already 1.11.1

This is the code in 1.11.1 https://github.com/micro/go-micro/blob/c8d71e051adc848ce711e0085f47448ed138e8ad/registry/cache/rcache.go
It does not match your code

lock in 182 must be RLock() and released after c.cache[res.Service.Name]

mutex := new(sync.RWMutex)
mutex.Lock()
mutex.RLock()
mutex.RUnlock()
mutex.Unlock()
This logic will not deadlock?

Thank you


Adding a set of static triples not present in the relational database

I managed to access our database content through SPARQL over the Java API like shown here:
https://github.com/ontop/ontop-api-examples/blob/master/src/main/java/org/semanticweb/ontop/examples/books/QuestSesame_R2RML_Example.java
Now I face the need to add some static triples not present in the relational database. A workaround looks like:
[
    rr:logicalTable       [
        rr:sqlQuery  "SELECT 'Kurze Beschreibung' AS lang_de, 'Short Description' AS lang_en FROM any_table LIMIT 1;"
    ];
    rr:subjectMap         [
        rr:template  "http://dd.rdf#shortDescription" ; rr:termType rr:IRI
    ] ;
    rr:predicateObjectMap [
        rr:objectMap [ rr:column "lang_de" ; rr:language "de" ; rr:termType rr:Literal ; rr:datatype xsd:string ] ;
        rr:predicate dd:propertyLabel
    ] ;
    rr:predicateObjectMap [
        rr:objectMap [ rr:column "lang_en" ; rr:language "en" ; rr:termType rr:Literal ; rr:datatype xsd:string ] ;
        rr:predicate dd:propertyLabel
    ]
] .

Are there better ways to insert additional triples to the SesameVirtualRepo?
Both targets — ABox and TBox — may be of interest here.
Or execute SPARQL queries over multiple sources?

To make it more "static" I now use rr:constant and rewrote the above R2RML snippet:
[
    rr:logicalTable [
        rr:sqlQuery "SELECT 1 FROM INFORMATION_SCHEMA.TABLES LIMIT 1;"
    ] ;
    rr:subjectMap [
        rr:constant "http://dd.rdf#shortDescription"
    ] ;
    rr:predicateObjectMap [
        rr:predicateMap [ rr:constant dd:propertyLabel ] ;
        rr:objectMap [ rr:constant "Kurze Beschreibung" ; rr:language "de" ]
    ] ;
    rr:predicateObjectMap [
        rr:predicateMap [ rr:constant dd:propertyLabel ] ;
        rr:objectMap [ rr:constant "Short Description" ; rr:language "en" ]
    ]
] .

which can be written more concise using the constant shortcut properties (rr:subject, rr:predicate):
[
    rr:logicalTable [
        rr:sqlQuery "SELECT 1 FROM INFORMATION_SCHEMA.TABLES LIMIT 1;"
    ] ;
    rr:subject "http://dd.rdf#shortDescription" ;
    rr:predicateObjectMap [
        rr:predicate dd:propertyLabel ;
        rr:objectMap [ rr:constant "Kurze Beschreibung" ; rr:language "de" ]
    ] ;
    rr:predicateObjectMap [
        rr:predicate dd:propertyLabel ;
        rr:objectMap [ rr:constant "Short Description" ; rr:language "en" ]
    ]
] .

This looks quite ok, but raises two small issues regarding the SQL statement:

the it.unibz.krdb.obda.parser.SQLQueryDeepParser complains about the query not being simple enough:

The following query couldn't be parsed. This means Quest will need to use nested subqueries (views) to use this mappings. This is not good for SQL performance, specially in MySQL. Try to simplify your query to allow Quest to parse it. If you think this query is already simple and should be parsed by Quest, please contact the authors.
SQLQueryDeepParser "The following query couldn't be parsed."

indeed trying to make it simpler fails, because the valid statement SELECT 1; is rejected

Hi,
there are 3 possibilities you can follow:

To improve the performance, you can add classes, properties and individuals to the ontology.
For example:
<owl:DatatypeProperty rdf:about="http://dd.rdf#shortDescription"  <rdfs:label>Kurze Beschreibung@de</rdfs:label> </owl:DatatypeProperty>
You can write the triple as

    rr:logicalTable [
        rr:sqlQuery "SELECT 1 FROM INFORMATION_SCHEMA.TABLES;"
    ] ;
    rr:subject "http://dd.rdf#shortDescription" ;
    rr:predicateObjectMap [
        rr:predicate dd:propertyLabel ;
        rr:objectMap [ rr:constant "Kurze Beschreibung" ; rr:language "de" ]
    ] ;
    rr:predicateObjectMap [
        rr:predicate dd:propertyLabel ;
        rr:objectMap [ rr:constant "Short Description" ; rr:language "en" ]
    ]
] .

You can use SPARQL federation to execute SPARQL queries, having two endpoints: one with ontop and one with a traditional triplestore where you can add the additional triples.

Hi @JensPiegsa, i am closing the issue now but free feel to reopen the issue if you still have problem


Missing support for tax numbers

AF - Afganistan
AG - Antigua and Barbuda
AI - Anguilla
AM - Armenia
AO - Angola
AW - Aruba
BA - Bosnia and Herzegovina
BB - Barbados
BH - Bahrain
CK - Cook Islands
CW - Curacao
FJ - Fiji
GA - Georgia
GD - Grenada
KI - Kiribati
SC - Seychelles

Netherland TIN https://www.oecd.org/tax/automatic-exchange/crs-implementation-and-assistance/tax-identification-numbers/Netherlands-TIN.pdf

@teebu When I look at the NL BSN and the PDF they appear to be the same.  Both have the same 9,8,7,6,5,4,3,2 sum factor validation. I did also find that BSN on the government of NL website indicates that it's used for tax purposes along with this document.
https://expatax.nl/bsn-citizen-service-number-your-dutch-tax-identification-number/

The BSN uses something called Elfproef is Dutch for 11-proof, while the TIN uses the checksum with weights.
The elfproef uses mod 11 and checks if its 0. While the checksum method uses the checkdigit for validation.
Something I found here:
https://www.npmjs.com/package/elfproef, https://github.com/MrLuit/elfproef/blob/master/src/index.ts
They both seem to produce same results but are different methods to get there.
Microsoft has them both 9 digits, except BSN is with space format, and TIN no spaces
https://learn.microsoft.com/en-us/microsoft-365/compliance/sit-defn-netherlands-tax-identification-number?view=o365-worldwide
https://learn.microsoft.com/en-us/microsoft-365/compliance/sit-defn-netherlands-citizens-service-number?view=o365-worldwide

Fliping this around.  What are you looking for, the "problem" with OECD is that it only lists the identification number (BSN) for individuals.  I think you're fishing for the entity (corporation) tax identifier.  This article might help.
https://business.gov.nl/starting-your-business/registering-your-business/lei-rsin-vat-and-kvk-number-which-is-which/
It might be that you're looking for the RSIN Rechtspersonen en Samenwerkingsverbanden Identificatie Nummer.


Change Color CoreUI

Hi,
how can i change the primary color for CoreUI template?
I want to change the variables, but i do not know how.
Thanks

@Luismij Right now, we use CDN URLs of coreui. If you want to change the colors then you should install coreui with npm package and then you will be able to override their scss and that's how you can do it.
Maybe you will need to use laravel mix and then include the final output to app.blade.php.

@mitulgolakiya can you be more specific with the instructions?
Thanks

@Luismij maybe this can help: https://coreui.io/v1/docs/getting-started/options/


Repair SD card Filesystem Extension

With the change to 64-bit base image of RaspiOS the filesystem extension to the full capacity or the users sd card is not working correctly. To be fixed for final release.

Here I just extracted the script from raspi-config.
Tested ok with the 64bit pure debian image: https://github.com/openoms/joininbox/blob/master/scripts/standalone/expand.rootfs.sh

The problem was not with the expand itself - the baseimage name changed and so it was not correctly triggered.
Just merged the fix - so this should now be ready for v1.7 release and final testing.

Ok multiple test show that the filesystem is now expanding corretly. Closing the issue.


Enable arm64 builds for Linux

We should build and release arm64 bits for linux as well so that user who want to try arm64 crc linux binary should able to use it.

Since machine-driver-libvirt cannot be cross-built, the situation is better wrt our RPM builds than admin-helper and crc (see https://github.com/crc-org/admin-helper/issues/53 for example).
We already build RPMs for multiple arches, and the binaries in these RPMs are for the correct arch.
So we only need to release arm64 binaries, they are already built correctly as far as I can tell.
The libvirt XML generated  by machine-driver-libvirt may contain hardcoded x86-specific features though. This needs to be fixed if that is the case.


Inconsistent results with dart booster

I am getting inconsistent predictions using dart booster if I save it to file and then load again.
Using other boosters I have consistent predictions and all work as should.
I am using:

Linux 4.17.5-1-ARCH
Python 3.6.6
xgboost 0.72.1
numpy 1.14.5

import xgboost as xgb
import numpy as np

data = np.random.rand(10,1)
labels = np.random.rand(10,1) > 0.5
train = xgb.DMatrix(data, label=labels)
predict = xgb.DMatrix(np.random.rand(1,1))

param = {'booster': 'dart',
         'silent':'1'}
bst = xgb.Booster()
bst = xgb.train(param.items(), train)
bst.save_model("xgb_test.bin")

for i in range(0,10): #run load model and prediction ten times to see difference
    bst = xgb.Booster()
    bst.load_model('xgb_test.bin')
    new_value = bst.predict(predict)
    print(new_value)
    if i == 0:
        last_value = new_value
    if last_value != new_value:
        raise SystemExit

Related posts: #3015, #1426.
The predict() method drops trees randomly even when you're not training. You'd need to explicitly set ntree_limit=10 (for 10 iterations) so that no tree gets dropped:
for i in range(0,10): #run load model and prediction ten times to see difference
    bst = xgb.Booster()
    bst.load_model('xgb_test.bin')
    new_value = bst.predict(predict, ntree_limit=10)
    print(new_value)
    if i == 0:
        last_value = new_value
    if last_value != new_value:
        raise SystemExit


Spanish content

Description

Translate README.md and the first two tutorials of the education toolkit to Spanish.

Next Steps

Community translation of the Introduction to Transformers tutorial by Lewis.
The community will contribute translations and additional relevant material, for example, a tutorial on how to contribute using git. Useful as a first step to (1) contributing to Hugging Face and (2) working with repositories on the Hugging Face Hub.

FYI @osanseviero. Seems ready to me :)

Thanks a lot for adding the first translation of the toolkit! This will serve as a great template for others to follow :)
Since we might get several future translations, what do you think about re-structuring the repo by language, e.g. have a folder called tutorials with the tree structure:
tutorials
├── en
└── es

If you and @osanseviero agree, we could add a table of the languages along the lines of what I did in the course repo here: https://github.com/huggingface/course
(Feel free to copy what you need)

I agree with this separation! I can apply this,

Yes, @lewtun is the expert in this so let's go with his recommendation

@osanseviero muchas gracias por tu feedback. Aplicaré esto en siguietnes textos  :)

Thanks guys! :D Merged.


Use AST transformations to import generated services and hooks

This pull request uses the AST transformations to import new services and hooks. This should make importing much more solid and also throw more descriptive errors when the code changed so much that adding the code is not possible.

The tests are still not great though.

Oh I didn't see this earlier. I'll take a look in 30 minutes.

Generated app, services and hooks are now being tested as well.

tested locally with a bunch of dbs. :shipit:


[CELEBORN-1667] Fix NPE & LEAK occurring prior to worker registration

What changes were proposed in this pull request?
As title
Why are the changes needed?
This PR  addressed the memory leak problem of worker nodes before registration and the NPE issue that occurs when PushDataHandler is accessed during the initialization process.

Does this PR introduce any user-facing change?
NO
How was this patch tested?
Pass GA

Can you explain how this NPE exception happens?

Can you explain how this NPE exception happens?

When a worker object is initialized, pushServer and fetchServer will be created first and provide services. When receiving a request, the server determines whether the handler is ready by checking registered. In the original implementation, although registered is assigned a value, the handler may still not be ready. The code after registered is assigned a value may not have been executed completely. Generally, the more EventLoopGroup threads there are, the greater the probability of this occurrence. In this PR, we place the assignment of registered at the end, which can avoid this situation.

Can you explain how this NPE exception happens?

When a worker object is initialized, pushServer and fetchServer will be created first and provide services. When receiving a request, the server determines whether the handler is ready by checking registered. In the original implementation, although registered is assigned a value, the handler may still not be ready. The code after registered is assigned a value may not have been executed completely. Generally, the more EventLoopGroup threads there are, the greater the probability of this occurrence. In this PR, we place the assignment of registered at the end, which can avoid this situation.

I see, Thanks!


px4flow testing,pixhawk running LPE,always reject altitude control under 1.4.0rc2 and 1.4.0 rc3

Hello
I am testing px4flow(no GPS) on pixhawk which running LPE.But always reject altitude control.
Firmware version: v1.4.0rc2, also tested in latest v1.4.0rc3;I tried setting SYS_MC_EST_GROUP =1 and  LPE_GPS_ON = false.
In addition,position control also failed under LPE under v1.3.3 and above.
expecting for you help,thanks!
As comparason, LPE can work without problem under both altctl and posctl in v1.3.1. same device and same testing environment.
@iZhangHui @rolandash@eflyinghi@jgoppert

should @jgoppert

@dengzhijie Please try 1.4.0 rc4, that has my latest updates to LPE. Also I just spent a lot of time improving the documentation for flow with LPE, so please visit the webpage here and see if it helps you: http://dev.px4.io/flow_lidar_setup.html

@jgoppert We tested v1.4.1 today(there was no firmware package of v1.4.0 rc4),but the problem seems was not solved,We followed your advice to view the document and setting SYS_MC_EST_GROUP =1 and LPE_GPS_ON = false(no GPS connected, only flow attached),but it did not work.
I also tested the case when GPS and flow are all disconnected. ALTCTL still rejected.
The only success is when GPS connected, then ALTCTL / POSCLT both work.
Is the same situation on your side? any advices
Thanks.
@rolandash @iZhangHui @eflyinghi

Forgetting to say that  ALTCTL/POSCTL  both works under v1.3..4 when using flow only and no GPS.

Can you attach a log?

@jgoppert We've solved the problem of  ALTCTL rejecting today ，and it was caused of the version of qgc which not saved the param of  LPE_GPS_ON rightly,and when I changed another version of qgc,the param was saved collectly.My qgc sierial number is v2.9.7b-369-g25a4502.
Really thank to your help!

hi
We have some unknown problems to compile your code and we would be pleased if you could help us to fix it.
I have dealt with the problem of Position Control Mode actually the system rejects this mode.
We do not have GPS and want to run the Position Control with optical Flow Sensor.
We cannot find the LPE-GPS-on in Qground to turn it off, so how can we turn off the GPS?
We set the sys_group in LPE mode but again it rejects the position control mode. Do you know the reason?
Pixhawk version 2


Add jtx cpp test for account_objects RPC (RIPD-1230)

Port of account_objects-test.js to jtx with added tests

bob account setup and rpc invoke
error condition tests; no account, non-existant account, bad seed
combined unstepped testcase then stepped with limit/marker

The badSeed test fails. See note in Jira

made a few comments - looks good to me.

[Current coverage][cc-pull] is 70.03% (diff: 100%)

Merging [#1787][cc-pull] into [develop][cc-base-branch] will increase coverage by 0.13%

@@            develop      #1787   diff @@
==========================================
  Files           861        862     +1
  Lines         67809      67883    +74
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          47398      47539   +141
+ Misses        20411      20344    -67
  Partials          0          0

[][cc-pull]

Powered by Codecov. Last update [cb7d0b5...c260943][cc-compare]
[cc-base-branch]: https://codecov.io/gh/ripple/rippled/branch/develop?src=pr
[cc-compare]: https://codecov.io/gh/ripple/rippled/compare/cb7d0b508d1aa2996bb66f3d5a579c6a3ebf1baa...c26094350f7392ee650d49ad9ef27efc68182f9c?src=pr
[cc-pull]: https://codecov.io/gh/ripple/rippled/pull/1787?src=pr

Merged as 64f2576fc829df379cdc31921e99b7e8f55b05f0 and 348e65074e8498f7c8153c05bde796363f8b2a09


Release v1.0.0

Version to be released

v1.0.0
Checklist

[x] Verify a cloud-sdk-go release with the same version has been made. https://github.com/elastic/cloud-sdk-go/pull/184
[x] Update the cloud-sdk-go dependency. https://github.com/elastic/ecctl/pull/358
[x] Update VERSION environment variable in the Makefile and generate changelog. https://github.com/elastic/ecctl/pull/350
[ ] Execute the release.
[ ] Create release branch for documentation.
[ ] Modify the conf.yaml file in the docs repository to add the release branch.
[ ] Run a full doc rebuild.
[ ] Celebrate :tada:

@karencfv can you please provide with the bits download link + sha sum doc link so I can update marketing?

Heya @Kushmaro, You can find that information here https://github.com/elastic/ecctl/blob/master/notes/v1.0.0.md
Just a heads up that we've not actually released anything yet, so those links will be broken

Yep, @karencfv I know :) Just want to be able to stage the links for marketing

ecctl has been released as part of the 2.6.0 release!


Decide on front end library

Background
As part of rebuilding BridgeMap, we would need something to render the frontend. We want to decide on which approach to use.
Feel free to explore other options. Suggested list:

[ ] React
[ ] NextJS
[ ] Gatsby

Some things to keep in mind

Easy to change SEO meta tags
Must be free
Must have good docs/stack overflow reference
Learning opportunity

Outcome

[ ] List of pros and cons of each option
[ ] Which one you think we should go with?

References

 Design specification doc

Deadline: 1st June 2021

React
Best fit for: Lots of state management and DOM manipulation.
PROS

Easy to Learn, Easy to Use
Reusable Components
personal interest as I would like to progress my understanding and ability
backed by a strong community (ecosystem is great)
we already have the knowledge so it will scale quicker
good for volunteers as there are lots of jobs in React.

CONS

Set up can take time
issues with SEO

however, there are external plugins you can use

Vue
Best fit for: prototypes, keeping the focus on the UI and integration demand
PROS

Tiny size - if we think it’s mostly going to be a small app with not that much
Easy to learn
Reactive two-way data binding

CONS

language barrier

lots of docs in Chinese?

Reactivity complexity

having two way binding gets complex

Lack of experienced developers
https://www.altexsoft.com/blog/engineering/pros-and-cons-of-vue-js/

Gatsby
PROS

It is blazingly fast!
It is a modern site generator: You can build websites using it
for React Yes, it works with React.
Great documentation
Good for SEO

CONS

Increasing build times

As the content in your website increases, the build time also increases. This is not only disappointing during development, but also consumes time during deployment. So if you want to build a site that changes often, Gatsby is not recommended.

Completely Dynamic website

If your website is completely a Dynamic one, then I would recommend you to go with similarly advantageous technology such as Next.js .Gatsby is more suitable for Blogs, portfolios, landing pages and other websites with lesser dynamic activities.

difficult to develop in windows (?) (this was a comment on a thread, not sure how legit this is)

Decided on using nextJS


Other Spline interpoloations?

Okay, so we implemented B-spline, which is pretty cool. As I've dug deeper, I realize that all methods have strengths and weaknesses.

Obviously, linear doesn't always have smooth curves. When using simple piecewise, each piece has no context of other pieces, but this can also be an advantage at times.

Bezier, which we dropped, roughly follows the path of color points, but a change in one point affects the entire curve. Not really practical, which is why we've now dropped it.

B-spline gives really smooth curves and actually uses a sliding window for piecewise Bezier curves (is the best way I can describe it). It follows colors much closer but doesn't directly run through all colors. This is mainly because we are using the color points as "control points", so the data points are not precisely the same.

B-spline (Proper...natural? Not sure what to call it) would require us to calculate the control points such that they yield our points as the data points. In this one we use the relationship between the control points and the data points to calculate better control points:

This draws the lines right through our points, which is great, but we now have an overshoot issue, not to mention even more overhead to calculate proper control points.  I may throw this up as an experimental approach in ColorAide Extras...maybe. I'll have to see generally how practical it is overall. The overshoot is kind of an annoying issue.

Lastly, we are left with some monotonic. These approaches greatly reduce overshoot and allow for a smoother, tighter interpolation. I imagine there is more overhead for such an approach, but I am yet to explore this route.

There are, of course, other approaches as well, such as Catmull-Rom Curves, and other various algorithms. I may dig into some of these for fun and see how they compare to some other approaches.
There is no strong need to implement any or all of these, and definitely no rush. I'd like to take my time and explore and evaluate these. I think, right now, that B-spline provides a nice alternative to piecewise. We'll finish cleaning up the processing of undefined values in a sane way, and I think we'll have a pretty decent alternative. It will, of course, have more overhead than linear, but mainly that is upfront, pre-calculation work.

For fun, here is a more natural B-spline:

Though, as seen in the image above, it passes right through the points, but it does have an overshoot. This can be seen below as well. The white tries to transition to yellow but overshoots out of the gamut. Unfortunately, gamut mapping doesn't cope too well in this particular spot, so this creates a bit of a break.

Monotonic spline from SAO/NASA: https://adsabs.harvard.edu/full/1990A%26A...239..443S. Seems surprisingly easy to understand. Should be nice to experiment with.

Instead of coercing a b-spline into a natural curve, by recalculating the control points, we can probably do a CatMull Rom curve. Matrix approach here: http://www2.cs.uregina.ca/~anima/408/Notes/Interpolation/Parameterized-Curves-Summary.htm.
Catrom seems to do just as well.

As far as colors go, I can't see a reason not to clamp the colors, or to allow otherwise. The only exception would be if we ever allowed "closed" interpolation, but that would just connect the end back to the beginning.
We were able to get extrapolation to handled in a sane way. Here is Catmull-Rom extrapolating when its boundaries are reached. Ignore the title, it is indeed Catmull-Rom.

Of course, this would require a user to specifically enable it:
Color.interpolate(['red', 'blue', 'green'], method='catrom', extrapolate=True)

This says nothing as to whether extrapolating such an interpolation is helpful or not, but I wanted to make sure when we allow extrapolation with mixing and interpolating that we could make it work with splines.

I'll look into monotonic splines more when I have time. I want to get out what I already have. I need to focus on some other projects.

I think the issue is the monotonic spline monotonic to? In all the examples I've seen, that is to the Y axis...but we are dealing with many colors in 3-D (x, y, z) space (or more). Is there a generalized way to do this? Or are we chasing our tail? I'm okay not bothering with monotonic if we cannot generalize an approach, or waiting to see if someone else knows how to do this properly. I think it would be neat to have, but not a necessity to have. To be honest, only linear interpolation is needed, the rest of the spline implementations are nice to have.

Closing this one in favor of a monotonic specific issue as we've addressed other splines of interest already.


HDDS-5836. [Multi-Tenant] Use Ranger java client.

What changes were proposed in this pull request?

Add implementation of MultiTenantAccessController using the Ranger client instead of HTTP REST calls.
Remove the MultiTenantAccessController REST implementation for now. If the Ranger client turns out not to be ready yet we can finish the REST implementation and continue using it.
Add an InMemoryMultiTenantAccessController for testing that simulates Ranger by storing state in memory.
Add/modify operations in MultiTenantAccessController to support only our current needs from Ranger.

What is the link to the Apache JIRA
HDDS-5836
How was this patch tested?

[x]  Test of interface and builders added using the in memory controller.
[x]  Running the tests in a live secure cluster using the Ranger client controller.

Converting to draft while we debug some Recon dependency errors and update Jar report.

Thanks @errose28 and @aswinshakil for working on this!


Support fetching logs & artifacts from CircleCI

Closes #124.
TO DO:

[ ] Address rate limiting
[ ] Check whether vcs field is present in pipelines for scheduled & manually-triggered runs
[ ] Properly handle expired artifacts
[ ] Properly handle expired logs
[x] Update README
[ ] Update con/tinuous-inception config (for use after this PR is merged)

Codecov Report

Merging #164 (8dc68e1) into master (3deb066) will increase coverage by 0.15%.
The diff coverage is 69.31%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##           master     #164      +/-   ##
==========================================
+ Coverage   67.61%   67.76%   +0.15%
==========================================
  Files          10       11       +1
  Lines         985     1331     +346
  Branches      208      247      +39
==========================================
+ Hits          666      902     +236
- Misses        265      375     +110
  Partials       54       54

Impacted Files
Coverage Δ

src/tinuous/__init__.py
100.00% <ø> (ø)

src/tinuous/__main__.py
53.47% <ø> (+1.38%)
:arrow_up:

src/tinuous/circleci.py
68.40% <68.40%> (ø)

src/tinuous/config.py
85.36% <73.68%> (-2.38%)
:arrow_down:

src/tinuous/base.py
80.36% <100.00%> (+0.24%)
:arrow_up:

src/tinuous/github.py
52.29% <100.00%> (-1.84%)
:arrow_down:

src/tinuous/state.py
100.00% <100.00%> (ø)

I am trying this branch with the following tuned up config for bids-specification:
(tinuous-dev-dev) datalad@smaug:/mnt/datasets/datalad/ci/bids-specification-trycircle$ cat tinuous.yaml
repo: bids-standard/bids-specification
vars:
  path_prefix: '{year}//{month}//{day}/{type}/{type_id}/{commit[:7]}/{ci}-'
  common_path: '{path_prefix}{wf_name}-{number}-{common_status}/'
ci:
  github:
    paths:
      logs: '{common_path}'
      artifacts: '{common_path}'
      releases: 'releases/{release_tag}'
  circleci:
    paths:
      logs: '{common_path}/{job_name}/{step}-{index}.txt'
      # logs: '{prefix}/{wf_name}/{number}/{job_name}/{step}-{index}.txt'
      # artifacts: '{prefix}/{wf_name}/{number}/{job_name}/artifacts/'
# since: 2022-07-18T00:00:00Z
since: 2023-04-26T00:00:00Z
types: [cron, pr, push, manual]
datalad:
  enabled: true
  cfg_proc: text2git

which fails with requiring `job_number` somewhere
create(ok): 2023/04/26/push/pull%2f1476/5168e13/circleci-search_build-6226-incomplete (dataset)
2023-04-27T14:27:56-0400 [INFO    ] datalad: Refresh progress bars
2023-04-27T14:27:56-0400 [INFO    ] datalad: Clear progress bars
action summary:
  add (ok: 6)
  create (ok: 1)
  run (ok: 1)
  save (ok: 3)
2023-04-27T14:27:56-0400 [INFO    ] datalad: Refresh progress bars
2023-04-27T14:27:56-0400 [INFO    ] tinuous: Downloading logs for job 18197, step 103-0 to 2023/04/26/push/pull%2f1476/5168e13/circleci-search_build-6226-incomplete/build_docs/103-0.txt
2023-04-27T14:27:56-0400 [INFO    ] tinuous: Downloading logs for job 18197, step 1023-0 to 2023/04/26/push/pull%2f1476/5168e13/circleci-search_build-6226-incomplete/build_docs/1023-0.txt
Traceback (most recent call last):
  File "/home/datalad/miniconda3/envs/tinuous-dev-dev/bin/tinuous", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/datalad/miniconda3/envs/tinuous-dev-dev/lib/python3.11/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/datalad/miniconda3/envs/tinuous-dev-dev/lib/python3.11/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/datalad/miniconda3/envs/tinuous-dev-dev/lib/python3.11/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/datalad/miniconda3/envs/tinuous-dev-dev/lib/python3.11/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/datalad/miniconda3/envs/tinuous-dev-dev/lib/python3.11/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/datalad/miniconda3/envs/tinuous-dev-dev/lib/python3.11/site-packages/click/decorators.py", line 38, in new_func
    return f(get_current_context().obj, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/mnt/datasets/datalad/ci/tinuous-dev/src/tinuous/__main__.py", line 117, in fetch
    for obj in ci.get_build_assets(
  File "/mnt/datasets/datalad/ci/tinuous-dev/src/tinuous/circleci.py", line 135, in get_build_assets
    for job in self.get_jobs(wf.id):
  File "/mnt/datasets/datalad/ci/tinuous-dev/src/tinuous/circleci.py", line 78, in get_jobs
    yield Job.parse_obj(item)
          ^^^^^^^^^^^^^^^^^^^
  File "pydantic/main.py", line 526, in pydantic.main.BaseModel.parse_obj
  File "pydantic/main.py", line 341, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 1 validation error for Job
job_number
  field required (type=value_error.missing)

BTW, feel welcome to troubleshoot on smaug

git location: /mnt/datasets/datalad/ci/tinuous-dev/
source ~/miniconda3/etc/profile.d/conda.sh; conda activate tinuous-dev-dev
temp location where I am messing with it is /mnt/datasets/datalad/ci/bids-specification-trycircle and I just run tuned up tools/cron_job there

@yarikoptic Please rerun with tinuous --log-level DEBUG fetch so I can determine what URL tinuous is processing.

here is what I see at the end
2023-04-27T14:47:38-0400 [DEBUG   ] urllib3.connectionpool: https://circleci.com:443 "GET /api/v1.1/project/gh/bids-standard/bids-specification/18199 HTTP/1.1" 200 None
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18199, step 0-0 already downloaded to 2023/04/26/push/pull%2f1476/e69f942/circleci-search_build-6227-success/build_docs/0-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18199, step 99-0 already downloaded to 2023/04/26/push/pull%2f1476/e69f942/circleci-search_build-6227-success/build_docs/99-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18199, step 101-0 already downloaded to 2023/04/26/push/pull%2f1476/e69f942/circleci-search_build-6227-success/build_docs/101-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18199, step 102-0 already downloaded to 2023/04/26/push/pull%2f1476/e69f942/circleci-search_build-6227-success/build_docs/102-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18199, step 103-0 already downloaded to 2023/04/26/push/pull%2f1476/e69f942/circleci-search_build-6227-success/build_docs/103-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18199, step 104-0 already downloaded to 2023/04/26/push/pull%2f1476/e69f942/circleci-search_build-6227-success/build_docs/104-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18199, step 105-0 already downloaded to 2023/04/26/push/pull%2f1476/e69f942/circleci-search_build-6227-success/build_docs/105-0.txt; skipping
2023-04-27T14:47:38-0400 [DEBUG   ] urllib3.connectionpool: https://circleci.com:443 "GET /api/v1.1/project/gh/bids-standard/bids-specification/18201 HTTP/1.1" 200 None
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18201, step 0-0 already downloaded to 2023/04/26/push/pull%2f1476/e69f942/circleci-search_build-6227-success/check_links/0-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18201, step 99-0 already downloaded to 2023/04/26/push/pull%2f1476/e69f942/circleci-search_build-6227-success/check_links/99-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18201, step 101-0 already downloaded to 2023/04/26/push/pull%2f1476/e69f942/circleci-search_build-6227-success/check_links/101-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18201, step 102-0 already downloaded to 2023/04/26/push/pull%2f1476/e69f942/circleci-search_build-6227-success/check_links/102-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18201, step 103-0 already downloaded to 2023/04/26/push/pull%2f1476/e69f942/circleci-search_build-6227-success/check_links/103-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18201, step 104-0 already downloaded to 2023/04/26/push/pull%2f1476/e69f942/circleci-search_build-6227-success/check_links/104-0.txt; skipping
2023-04-27T14:47:38-0400 [DEBUG   ] urllib3.connectionpool: https://circleci.com:443 "GET /api/v2/pipeline/f443550d-c2c3-4682-8664-1c1f5a96370f/workflow HTTP/1.1" 200 None
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Found pipeline 6226 with 1 workflow(s)
2023-04-27T14:47:38-0400 [DEBUG   ] urllib3.connectionpool: https://circleci.com:443 "GET /api/v2/workflow/55053b83-660e-4b06-8e62-e30be2aed688/job HTTP/1.1" 200 None
2023-04-27T14:47:38-0400 [DEBUG   ] urllib3.connectionpool: https://circleci.com:443 "GET /api/v1.1/project/gh/bids-standard/bids-specification/18198 HTTP/1.1" 200 None
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18198, step 0-0 already downloaded to 2023/04/26/push/pull%2f1476/5168e13/circleci-search_build-6226-success/build_docs_pdf/0-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18198, step 99-0 already downloaded to 2023/04/26/push/pull%2f1476/5168e13/circleci-search_build-6226-success/build_docs_pdf/99-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18198, step 101-0 already downloaded to 2023/04/26/push/pull%2f1476/5168e13/circleci-search_build-6226-success/build_docs_pdf/101-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18198, step 102-0 already downloaded to 2023/04/26/push/pull%2f1476/5168e13/circleci-search_build-6226-failed/build_docs_pdf/102-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18198, step 103-0 already downloaded to 2023/04/26/push/pull%2f1476/5168e13/circleci-search_build-6226-success/build_docs_pdf/103-0.txt; skipping
2023-04-27T14:47:38-0400 [DEBUG   ] urllib3.connectionpool: https://circleci.com:443 "GET /api/v1.1/project/gh/bids-standard/bids-specification/18197 HTTP/1.1" 200 None
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18197, step 0-0 already downloaded to 2023/04/26/push/pull%2f1476/5168e13/circleci-search_build-6226-success/build_docs/0-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18197, step 99-0 already downloaded to 2023/04/26/push/pull%2f1476/5168e13/circleci-search_build-6226-success/build_docs/99-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18197, step 101-0 already downloaded to 2023/04/26/push/pull%2f1476/5168e13/circleci-search_build-6226-success/build_docs/101-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18197, step 102-0 already downloaded to 2023/04/26/push/pull%2f1476/5168e13/circleci-search_build-6226-success/build_docs/102-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18197, step 103-0 already downloaded to 2023/04/26/push/pull%2f1476/5168e13/circleci-search_build-6226-incomplete/build_docs/103-0.txt; skipping
2023-04-27T14:47:38-0400 [INFO    ] tinuous: Logs for job 18197, step 1023-0 already downloaded to 2023/04/26/push/pull%2f1476/5168e13/circleci-search_build-6226-incomplete/build_docs/1023-0.txt; skipping
Traceback (most recent call last):
  File "/home/datalad/miniconda3/envs/tinuous-dev-dev/bin/tinuous", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/datalad/miniconda3/envs/tinuous-dev-dev/lib/python3.11/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/datalad/miniconda3/envs/tinuous-dev-dev/lib/python3.11/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/datalad/miniconda3/envs/tinuous-dev-dev/lib/python3.11/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/datalad/miniconda3/envs/tinuous-dev-dev/lib/python3.11/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/datalad/miniconda3/envs/tinuous-dev-dev/lib/python3.11/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/datalad/miniconda3/envs/tinuous-dev-dev/lib/python3.11/site-packages/click/decorators.py", line 38, in new_func
    return f(get_current_context().obj, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/mnt/datasets/datalad/ci/tinuous-dev/src/tinuous/__main__.py", line 117, in fetch
    for obj in ci.get_build_assets(
  File "/mnt/datasets/datalad/ci/tinuous-dev/src/tinuous/circleci.py", line 135, in get_build_assets
    for job in self.get_jobs(wf.id):
  File "/mnt/datasets/datalad/ci/tinuous-dev/src/tinuous/circleci.py", line 78, in get_jobs
    yield Job.parse_obj(item)
          ^^^^^^^^^^^^^^^^^^^
  File "pydantic/main.py", line 526, in pydantic.main.BaseModel.parse_obj
  File "pydantic/main.py", line 341, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 1 validation error for Job
job_number
  field required (type=value_error.missing)

@yarikoptic Try now.

that works!

with the above config it seems to incorrectly organize -- places PRs as e.g. `push/pull%2f1476` instead of under `pr`
(tinuous-dev-dev) datalad@smaug:/mnt/datasets/datalad/ci/bids-specification-trycircle/2023/04$ find -iname circle*
./26/push/master/77066b3/circleci-search_build-6230-success
./26/push/master/9210f6e/circleci-search_build-6223-success
./26/push/master/9210f6e/circleci-search_build-6223-failed
./26/push/master/cf1175d/circleci-search_build-6229-success
./26/push/pull%2f1476/b3d8927/circleci-search_build-6228-success
./26/push/pull%2f1476/e69f942/circleci-search_build-6227-success
./26/push/pull%2f1476/e69f942/circleci-search_build-6227-failed
./26/push/pull%2f1476/5168e13/circleci-search_build-6226-success
./26/push/pull%2f1476/5168e13/circleci-search_build-6226-failed
./26/push/pull%2f1476/5168e13/circleci-search_build-6226-incomplete
./26/push/pull%2f1476/0df6f6d/circleci-search_build-6225-success
./26/push/pull%2f1476/0df6f6d/circleci-search_build-6225-failed
./26/push/pull%2f1476/0df6f6d/circleci-search_build-6225-incomplete
./26/push/pull%2f1476/baf6517/circleci-search_build-6224-success
./26/push/pull%2f1476/baf6517/circleci-search_build-6224-failed
./26/push/pull%2f1476/baf6517/circleci-search_build-6224-incomplete
./26/push/pull%2f1333/b4cccf4/circleci-search_build-6222-success
./26/push/pull%2f1333/b4cccf4/circleci-search_build-6222-failed
./27/push/pull%2f919/91b39fd/circleci-search_build-6231-success
./27/push/pull%2f919/91b39fd/circleci-search_build-6231-failed

so I guess {type}, and {type_id} aren't worked out correctly.

@yarikoptic I believe those runs were on a branch named pull/1476, which tinuous sanitizes as pull%2f1476.

no need to suspect -- easy to check that it was a PR:

https://github.com/bids-standard/bids-specification/pull/1476
for github we have it on that date:

$> ls -l ./26/pr/1476
total 0
drwxr-sr-x 1 datalad datalad 130 Apr 27 13:31 0df6f6d/
drwxr-sr-x 1 datalad datalad 130 Apr 27 13:31 5168e13/
drwxr-sr-x 1 datalad datalad 124 Apr 27 13:31 b3d8927/
drwxr-sr-x 1 datalad datalad 130 Apr 27 13:31 baf6517/
drwxr-sr-x 1 datalad datalad 130 Apr 27 13:31 e69f942/

@yarikoptic So do you want tinuous to do anything different here?

yes -- as I have mentioned above  for the freshly added circle ci seems to not correctly assign {type} and {type_id} leading PR logs to be saved  to push/pull%2f1476 instead of under pr/1476 as it should have.

ah, gotcha.  I think there should be some way to gather that information more explicitly. E.g. in v1 I see that for /recent-builds endpoint https://circleci.com/docs/api/v1/index.html#recent-builds-for-a-single-project it returns smth like
    "pull_requests": [{
        "head_sha": "8139060f4d1f6ff617ac49f8afb2273c4fee2343",
        "url": "https://github.com/circleci/circleci.com/pull/2347"
    }],

chatgpt was not helpful (dreaming), found them also be listed in curl https://circleci.com/api/v1.1/project/:vcs-type/:username/:project?limit=20&offset=5&filter=completed -H "Circle-Token: <circle-token>"  ...
in the https://circleci.com/docs/api/v2/index.html#operation/triggerPipeline I found
branch | string
The branch where the pipeline ran. The HEAD commit on this branch was used for the pipeline. Note that branch and tag are mutually exclusive. To trigger a pipeline for a PR by number use pull//head for the PR ref or pull//merge for the merge ref (GitHub only).
so may be the suggestion you have is based on this , but then I wonder how would it differ if there is indeed a branch with that name!?
Also within v2 in https://circleci.com/docs/api/v2/index.html#operation/getPipelineById it seems that vcs contains smth like
"review_id": "123",
"review_url": "https://github.com/CircleCI-Public/api-preview-docs/pull/123",

so may be trigger itself isn't enough and indeed should/could be combined with data from other fields to decide if a PR?

@yarikoptic Do you know how the BIDS repository set up running CircleCI on PRs?  The only option I can find for PR builds on CircleCI is the "Only build pull requests" option, but when I try it, the API still lists the PR head branch rather than pull/NUMBER as the branch name.  Moreover, the build still happens on the PR head commit rather than on an autogenerated merge commit like GitHub Actions does it, so I do not think it should actually be considered a PR build.

apparently I have access to configs there!

this is what I see in "advanced settings"

any particular other page to look at? we can do zoom session after dandi meetup and navigate it together

https://github.com/bids-standard/bids-specification/pull/1477 comes from rwblair-patch-1 not in a fork.  For that one indeed we do not have pull/ "branch":
(tinuous-dev-dev) datalad@smaug:/mnt/datasets/datalad/ci/bids-specification-trycircle$ ls -l 2023/04/27/pr/1477/7e72709/
total 0
drwxr-sr-x 1 datalad datalad   74 May  1 14:51 'github-Label PRs-17-success'
drwxr-sr-x 1 datalad datalad 1374 May  1 14:52  github-schemacode_ci-2288-success
drwxr-sr-x 1 datalad datalad  416 May  1 14:52  github-Validation-818-success
(tinuous-dev-dev) datalad@smaug:/mnt/datasets/datalad/ci/bids-specification-trycircle$ ls -l 2023/04/27/push/rwblair-patch-1/7e72709/
total 0
drwxr-sr-x 1 datalad datalad 122 May  1 14:54 circleci-search_build-6232-success

so we can't rely on branch name to be sufficient to tell that it was for a PR, although circle ci does report back to that PR in https://github.com/bids-standard/bids-specification/pull/1477 . Might be worth checking if it appears as a PR within recent builds and how far "recent builds" go. May be it would be sufficient (even though v1)?

@yarikoptic Seeing as CircleCI build commits on PRs the same way as it builds pushes — i.e., by building the commit from the repository rather than by autogenerating a merge commit — I do not believe CircleCI's "PR builds" should count as PR builds.  They're just "push" builds that happen to belong to a PR branch.

They're just "push" builds that happen to belong to a PR branch.

ok, probably you are right and indeed it is what it is... would then may be nice to have a note on that aspect somewhere in https://github.com/con/tinuous/pull/164/files#diff-7b3ed02bc73dc06b7db906cf97aa91dec2b2eb21f2d92bc5caa761df5bbc168fR242

@yarikoptic Note added: 47daabc


[Bug] Fixing Broken Links in Contributing Guidelines

Describe the bug
There are several links in the contributing guidelines that lead to 404 errors. Mainly the documentation links, but also links to the bug tracker and a gif maker for Linux users
To Reproduce
Steps to reproduce the behavior:

Go to https://github.com/ageddesi/Mocked-API/blob/dev/CONTRIBUTING.md
Click on any of the links from the screenshot below
See 404 error

Expected behavior
We expect the links to lead to the page in which the guidelines are describing
Screenshots

Desktop (please complete the following information):

OS: [Windows 10]
Browser [Edge]
Version [106.0.1370.42]

Additional context

I would like to update the docs link to match the readme and point it to: https://api.mocked-api.dev/
It seems like byzanz for Linux has been archived and no longer update. I would propose updating the link to Peek, which is distributed on many official package repositories: https://github.com/phw/peek
I would fix the broken url to the bug tracker link
And I would update all the "open an issue" links to point to this new url that has allows user to choose bug or feature and contains prefilled guidelines: https://github.com/ageddesi/Mocked-API/issues/new/choose

Thanks for finding all these issues :)

Can I be assigned to this? Would like to start contributing :)


Fix issue 14863 - CLOCK_BOOTTIME should be optional to support <2.6.39 kernels

https://issues.dlang.org/show_bug.cgi?id=14863
I realized, MonoTime.currTime is already checking for 0 and asserting (and any use of 0 for ticksPerSecond will have a divide by zero error anyway), we should simply defer to that. I made a note in the code so people don't add the asserts back in later.
This still doesn't eliminate a segfault for anyone who actually uses CLOCK_BOOTTIME on an unsupported system, since assert(0) turns into halt statement, but that is really a separate issue.

thx


Translate mode without using keyboard

I suggest you develop translate mode without using keyboard.
Here is my pseudo-code:
if (mouse hover over word AND mouse doesn't move 2 seconds)
  show popup translate

if (mouse moved)
  hide popup

It would be million times easier than pressing Ctrl button.
Many users dream of it.
Really.

I'm happy to hear it!

done in v3, thanks for your advice.


2022-10-10 - KDB Project Call Meeting Agenda

Date
Monday, October 10, 2022 - 9:30am ET / 2:30pm UK
// Second Monday of every month
Attendees

Fullname
Affiliation
GitHub Username

Meeting notices

FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact<EMAIL_ADDRESS>with any questions.

FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

(5 min) Convene, roll call, welcome new people.
[ ] Display FINOS Antitrust Policy summary slide
[ ] Review Meeting Notices (see above)
(5 min) Approve previous meeting minutes.
(5 min) vscode-q updates?
(5 min) Kdb Studio updates / discussion.

Feature to copy symbols without backtick?
Kdb Studio documentation / FAQ maintainer?

(5 min) qPython : Making the GitHub repo PR only?

Hasty fix for vulnerability was done using "Edit" feature while undercaffeinated:

https://github.com/finos/qPython/blob/main/.github/workflows/publish.yml
Can I have the Edit button warn me that I really should submit a PR?

Closed the Whitesource ticket.

https://github.com/finos/qPython/issues/8

(5 min) Pointers to organizing / cataloging related input / output tables in ML projects?

Any overlap with existing "data marts" for kdb+?
Can FINOS shop around the idea of an MLOps Project to other members?

FINOS All Community Call on Wednesday 26th October at 3pm BST / 10am EST - @mcleo-d

(5 min) CCLA / ICLA status / questions?
(5 min) Videos featuring TimeBase and kdb+ are out!

https://resources.finos.org/znglist/industry-discussion-timebase-ce-kdb-and-front-end-development-with-perspective/
Strangely doesn't come up if I search for "kdb" from https://resources.finos.org/ .
Also doesn't turn up when searching the FINOS channel on YouTube.

https://www.youtube.com/c/FINOS

(5 min) Any takeaways from: 2022-09-15 - KX LIVE: Breakthrough to Real-time Data Analytics in the Cloud ?

https://www.tickettailor.com/events/kx1/729530

(5 min) Any new FINOS activity that might be of interest to kdb+ community?
(5 min) AOB, Q&A, Adjourn.

Anybody played with j901 for iOS?

https://apps.apple.com/us/app/j901/id1483497239

KDB Project Booth at Open Source in Finance Forum on 8th December in NYC - @mcleo-d
Linux Foundation OpenSSF Maintainer and Team Training Interest - https://openssf.org/training/courses/ - @mcleo-d

WebEx info
Webex

https://finos.webex.com/finos/j.php?MTID=me61719ca3c3295a7cc76762d78392bc3

Dial-in and Project Materials

US: +1-415-655-0003 US Toll
UK: +44-20319-88141 UK Toll
Access code: 2704 417 0390
GitHub Repos:

https://github.com/finos/kdb
https://github.com/finos/kdb-studio

Wiki Page:

https://finosfoundation.atlassian.net/wiki/spaces/DT/pages/329383945/kdb+Project

KDB Metrics on FINOS

https://metrics.finos.org/goto/033b15c80f0d08cab70f40f4358932f6

Hello

Hi :fox_face:

Hello

Howdy!

hi


update Dry::Types::Int to Dry::Types::Integer and ROM::SQL::Types::Int to ROM::SQL::Types::Integer

@flash-gordon hope this help 😄

Is this a breaking change? 😅

@solnic I hope not is just an internal change. 😄

rom-sql in master depends on dry-types 0.13. This means master broke compatibility with 2.x in any case

Ahh ok so I guess this can be just merged in


Update required Node version to v18

This package still works on Node 18. I just bumped the version number so it will install properly.

Related to #2


Add Heartland Community College

Name: Heartland Community College
URL: https://www.heartland.edu/
Address:
1500 West Raab Road
Normal, Illinois 61761-9446
United States of America

URLs for IT-related long term courses:
https://www.heartland.edu/computerScience/
https://www.heartland.edu/documents/pathways/AS_StudentPlan.pdf

Proof of official email domain for students:
Login page: https://mail.google.com/a/my.heartland.edu
Student portal leading to the login page: https://d29qfhnzl4hc38.cloudfront.net/index.html
Student handbook referencing the email domain: https://www.heartland.edu/studentHandbook/

@t0astt Thank you for your patience while waiting for a review and processing your request. Pull request merged. Please start applying for JetBrains educational subscription at https://www.jetbrains.com/shop/eform/students in an hour, to allow the changes to propagate through JetBrains systems.


Initial implementation

We have decided to use Fresh as our framework.

Unfortunately, I have already run into quite an annoying problem with the first thing I tried. :/
I've wanted to import our styles from @datenanfragen/components.
Fresh itself doesn't have SASS support, but I've managed to implement that myself fairly easily using the following in fresh.config.ts[^hack]:
[^hack]: Bit of a hack, but fresh.config.ts is included from both dev.ts and main.ts and I wasn't sure whether I should modify those, since there is also an upgrade script that might change those? shrug
import { compileAsync as compileSass } from 'npm:sass@1';

const styles = await compileSass(new URL('styles/main.scss', import.meta.url).pathname);
await Deno.writeTextFile('static/styles.gen.css', styles.css);

That works fine so far. However, now I want to import the stylesheet from our components package. Usually, we would do that like this:
@import<EMAIL_ADDRESS>
That, perhaps unsurprisingly, doesn't work. The generated CSS is identical to the SCSS, the import statement is just copied over.
That is understandable. With Node, that file is in<EMAIL_ADDRESS>relative to the package.json. With Deno, there is neither a package.json nor a node_modules folder, so how would it know where to find the file.
Instead, the imported NPM modules end up—globally—in ~/.cache/deno/npm/registry.npmjs.org.
First problem: There is no install step. Modules aren't installed if you just add them to the import map. They are only installed when they are first used. But of course, that is built with JS in mind—as far as I can tell, you would have to import something from the module for that to happen.
But let's gloss over that problem for now. That should be easy enough to work around.
I also tried importing the CSS file from JS (i.e. import css from 'npm:@datenanfragen/components@1.0.0/dist/index.css';).
That failed because @datenanfragen/components depends on a GitHub-version of a package:
error: Error in<EMAIL_ADDRESS>parsing version requirement for dependency: brutusin-json-forms@https://github.com/brutusin/json-forms

Invalid npm version requirement. Unexpected character.
  https://github.com/brutusin/json-forms
  ~

Caused by:
    0: Invalid npm version requirement. Unexpected character.
         https://github.com/brutusin/json-forms
         ~
    1: Unexpected character.
         https://github.com/brutusin/json-forms
         ~

I solved that problem by importing from 'https://esm.sh/<EMAIL_ADDRESS>instead (esm.sh is a CDN specifically designed to transpile modules into a Deno-compatible format).
But that still didn't help, because Deno cannot currently import non-JS files:
error: Expected a JavaScript or TypeScript module, but identified a Unknown module. Importing these types of modules is currently not supported.
  Specifier: https://esm.sh/<EMAIL_ADDRESS>    at file:///home/benni/coding/JS/tweasel/platform/fresh.config.ts:3:17

Next idea: The sass module has loadPaths option to tell it where to load imported file from. But how do we find the folder where the module is installed? I really don't want to manually construct the path based on the user's cache directory. That seems very prone to breaking.
By name, import.meta.resolve sounded useful, but alas that only returns what you have written in the import map (so, npm:@datenanfragen/components@1). Not helpful to us.
Unfortunately, I didn't find any remotely clean method of getting the location of index.css.
I also checked whether there are any examples for using Bootstrap from Fresh/Deno since that is also uses Sass. But everything I found either imported the transpiled CSS from a CDN (https://medium.com/frontendweb/how-to-use-bootstrap-with-a-fresh-framework-fc73b14ef7f9, https://github.com/Octo8080X/fresh-bootstrap/blob/main/src/plugins/plugin.ts) or vendored it (https://github.com/officialrajdeepsingh/fresh-bootstrap/blob/main/static/bootstrap.min.css).

I'm not sure how to continue from here, to be honest. For one, I'm kind of out of ideas as for how to solve this issue.
But that's not my main problem. Much more importantly, I am quite concerned that I ran into this annoying of a problem this quickly. We did of course expect some struggles using Deno in a project that has heavy prior Node.js baggage. But I've now wasted quite a lot of time unsuccessfully solving this problem and that was literally the very first non-trivial thing I tried to do at all. :(
I do still very much like many of the ideas and decisions behind Deno and Fresh, especially after now having had a proper read of their documentation. But I am very worried that this is going to be a huge time sink if we continue using Fresh. And I'm afraid, we really can't afford that right now.

If we did want to consider something else, I noticed that Astro also has islands: https://docs.astro.build/en/concepts/islands/
I haven't used that before and haven't evaluated it further, but I do think that is is quite mature and, well, Node-based…

Well, getting the CSS to work was certainly a lot less painful in Astro.

I'll unfortunately have to make TypeScript a little less strict that I would like to until https://github.com/edgedb/edgedb-js/issues/1031 is fixed.


(dr-autosync)merge region hang for 28min after replication mode change from sync_recover to sync

Bug Report

What version of TiKV are you using?

master
What operating system and CPU are you using?

Steps to reproduce

cluster topo:
12 tikv, 6 in primary dc and 6 backup
primary dc: zone1: tikv1-peer and tikv7-peer zone2: tikv2-peer and tikv8-peer, zone3: tikv3peer and tikv9-peer
Backup dc: zone4: tikv4-peer/tikv10 zone5: tikv5/tikv11, zone7: tikv6/tikv12
Cluster data: 39G, 58 region

step 1. 2024/05/25 19:03:35 set max-store-down-time 5m
step 2. 2024/05/25 19:36:29 down tikv4/tikv5, make cluster switch to async mode
step 3. 2024/05/25 20:06:48 up tikv4/tikv5, yes cluster switch to sync_recovery mode
step 4. 2024/05/25 20:06:58 down tikv5
step 5. 2024/05/25 20:29:14 check down peer = 6

What did you expect?
down peer should return to 0 at step 6.
What did happened?
One region hang at merge region for 28min， that's why it can't be added peer.
Check tikv log, found the merge was skipped for the following reason.
[2024/05/25 20:30:59.605 +08:00] [WARN] [peer.rs:4519] ["skip proposal"] [error_code=KV:Raftstore:Unknown] [err="Other(\"[components/raftstore/src/store/peer.rs:4213]: log gap too large, skip merge: matched: 0, committed: 0, last index: 71, last_snapshot: 68\")"] [peer_id=606] [region_id=163] [thread_id=83]

here is the pd log:
[2024/05/25 20:06:54.688 +08:00] [INFO] [operator_controller.go:510] ["add operator"] [region-id=163] [operator="\"merge-region {merge: region 163 to 167}

/assign @Connor1996
/severity major

cc @BornChanger


Support table driven tests from a file.

Be useful if we couod easily load test data for table driven tests from json or csv.

Good idea. This might be useful in some real world scenrios. Maybe we can abstract away the concrete data source, so that adapters for any type of data source are possible.

CSV Source is added in 3.0.0 RC1


after switch from id to uuid get 500 from server for teams which test data

Got 500 for teams NullByte,
GET /api/v1/teams/{uuid}
DELETE /api/v1/teams/{uuid}

I suppose that it's problem with no migrated university id because that missing when request teams
[{"avatar_url":"https://robohash.org/hackersx","description":"Specialized in network attacks and defense","id":"1aa58e0d-2da0-4f33-b578-37f571c5fa53","name":"HackersX","social_links":""},{"avatar_url":"https://robohash.org/codered","description":"Expert in cryptography and steganography","id":"f5706bf1-0ba3-4881-a91f-e1cb91691906","name":"CodeRed","social_links":""},{"avatar_url":"https://robohash.org/nullbyte","description":"Skilled in web security and binary exploitation","id":"3d2c3e68-dd9f-4836-a29d-ba22db9ba024","name":"NullByte","social_links":""},{"avatar_url":"https://robohash.org/keva","description":"some","id":"b0fa10c3-bec2-4457-b93d-1a0b961d1911","name":"keva","social_links":"keva.su","university":"Томский государственный университет систем управления и радиоэлектроники"}]

Message in a log
WARN msg="pq: update or delete on table \"teams\" violates foreign key constraint \"team_history_team_id_fkey\" on table \"team_history\"" handler=DeleteTeamHandler

fixed with added test


WEB-875: [Android] Show dialog on bootstrap when preference has not been set

📲 What
Show the consent management dialog on bootstrap when a user has not set consent preferences.
🤔 Why
Consent management
🛠 How
We show the dialog if:

There is no consent preference saved in shared preferences
The feature flag is on for the user

The consent preference cannot be dismissed unless a user selects allow or deny
👀 See

📋 QA

Make sure you are on staging
Open app, dialog should appear on bootstrap

Story 📖
WEB-875: [Android] Show dialog on bootstrap when preference has not been set

Ran the linter and the DiscoveryViewModelTest locally 🟢


Update Helm release jellyfin to v5.1.0

This PR contains the following updates:

Package
Update
Change

jellyfin
minor
5.0.0 -> 5.1.0

Renovate configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Renovate Ignore Notification
As this PR has been closed unmerged, Renovate will now ignore this update (5.1.0). You will still receive a PR once a newer version is released, so if you wish to permanently ignore this dependency, please add it to the ignoreDeps array of your renovate config.
If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.


DO NOT MERGE! Fast Forward stable to bc22811a6254093c849436a7275be650716b2390.

This PR will be merged automatically once checks are successful.

This change is

Jenkins job mixer/postsubmit passed

Jenkins job mixer/e2e-suite passed


handle user interruption (CTRL+C)

Currently, if the user stop the application while running add or start commands, the aenthill.json is not in a correct state. We should rollback to previous state.

Complicated actually: we should also watch for all files changes in current directory.
I'll reopen this issue if we find a better solution.


openapi 3.1 - add support for defining schema type as a list

In Open API 3.0, the Open API schema type field could only be a single string value.
In Open API 3.1, the Open API schema type field can be an array of string values.
This is especially useful when defining enums that are backed by multiple types.
Take the following TypeSpec example:
enum PetType { asString: "dog", asNumber: 1}

Our Open API 3.0 emitter will emit an error because enum can be a number or a string, but Open API schemas only support a single type. (Side note: could we support this via anyOf with multiple enum subschemas for Open API 3.0?)
With Open API 3.1, we could emit this valid schema (which our Json Schema emitter already does):
PetType:
  type:
    - string
    - number
  enum:
    - dog
    - 1

est: 5


Multiple Directionrenderer

Hi good day is there a way that your Direction renderer can have multiple directions like from point A to B then to C and so on, please help me sir.

The issues section of GitHub is strictly for talking about features/bugs/etc.
I would take a look at the API docs first:
https://developers.google.com/maps/documentation/javascript/directions

Similar question but want to render multiple routes when the 23 waypoint limit for a single route is exceeded. I've managed to do this in plain html/js before using multiple directionsRenderers with setMap to the same map object but can't do it in react, at least not by using multiple DirectionsRenderer components. Has anyone done this? help greatly appreaciated.

hi @myleftshoe, were you able to solve it?

@camillegachido. I abandonned this project years ago and don't remember much about it. What I do remember though is that it successfully rendered multiple routes each with more than 23 waypoints. So if you are asking if the 23 waypoint limit can be worked around the answer is/was yes, whether I ended up using react and this lib I honestly can't recall. :(


Replace serde with nanoserde?

How would you feel about replacing serde with the lighter-weight https://github.com/not-fl3/nanoserde for json serialization?

I may put together a PR then! I really like vial and I use it for https://finger.flounder.online/ -- I'm thinking of using it for a more substantial project I have planned too
Another project I wanted to put on your radar is nanotemplate:
https://git.sr.ht/~jpastuszek/nanotemplate
I'm using it as a templating engine in one of my projects as an alternative to horrorshow

@alexwennerberg: Got the PR? Interested in seeing such a replacement in practice...

@Zireael07 for nanoserde? sadly no, I've been caught up with my day job

Added nanoserde support in 766c5af9c40b9de61edc5ff3499135bc95469a44, while also keeping Serde available if people want it.


Feature Request: An efficient way to update WasmEdge's version

Is your feature request related to a problem? Please describe.
When WasmEdge has released a new version, we should ensure everything in this doc uses the latest version of WasmEdge.
There are 12 files that need to be synced with the latest version of WasmEdge. It would be complex to maintain all 12 files.
Describe the solution you'd like.
Can we think of a simple way to update the version of WasmEdge? For example, we can first set a general parameter called {{ wasmedge_version }}. Then we update ``{{ wasmedge_version }}` equals the latest version of WasmEdge. Finally, all the docs are using the same and lastest version of WasmEdge.
This would be much easier to update WasmEdge's version. Any feedback is welcome.
Describe alternatives you've considered
No response
Additional context.
No response

Can we think of a simple way to update the version of WasmEdge? For example, we can first set a general parameter called {{ wasmedge_version }}. Then we update ``{{ wasmedge_version }}` equals the latest version of WasmEdge. Finally, all the docs are using the same and lastest version of WasmEdge.

Yes it's a good approach I was thinking of a build step where it scans all files and replaces that word with a version number specified using sed[0] or other similar tool.

https://www.gnu.org/software/sed/manual/sed.html

I do not have any idea about what could solution be, but am happy to help if I could!

@alabulei1 Are the docs not going to be updated for different versions/releases? If we are, then we can easily change the variable value at any time. Please correct me if I have misunderstood the feature.

Can we think of a simple way to update the version of WasmEdge? For example, we can first set a general parameter called {{ wasmedge_version }}. Then we update ``{{ wasmedge_version }}` equals the latest version of WasmEdge. Finally, all the docs are using the same and lastest version of WasmEdge.

Yes it's a good approach I was thinking of a build step where it scans all files and replaces that word with a version number specified using sed[0] or other similar tool.

https://www.gnu.org/software/sed/manual/sed.html

This sounds good! A tool like this can reduce human errors

@alabulei1 Are the docs not going to be updated for different versions/releases? If we are, then we can easily change the variable value at any time. Please correct me if I have misunderstood the feature.

@hydai @juntao What do you think?

Yup something like-

Could be very useful for onboarding developers!

@alabulei1 Are the docs not going to be updated for different versions/releases? If we are, then we can easily change the variable value at any time. Please correct me if I have misunderstood the feature.

@hydai @juntao What do you think? I think we use this way when 1.0 is released.

The 0.x series changes API a lot between versions, and it would be better to have it right now. As you can see here, we already split the API reference during different versions.

Just to add on:

Source: https://docusaurus.io/docs/versioning

The 0.x series changes API a lot between versions, and it would be better to have it right now. As you can see here, we already split the API reference during different versions.

We can tag this version for now and set disableVersioning and enable it in future.

I find how to pass env var in docusarus V2. This will fix this issue faster. https://stackoverflow.com/questions/61127010/how-to-pass-env-var-to-docusaurus-v2

@flows_summarize

@flows_summarize

@flows_summarize


chore: bdd-gh-1583463336 to 0.0.1

chore: Promote bdd-gh-1583463336 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


BusyBox build error

Describe the bug
BusyBox build error prevents building the image.
Host configuration
Linux kernel: 5.15.80-1-lts
Arch: x86_64
Distro: Arch Linux
Reproduction details
Run:
 ./scripts/build_toolchain
make

Result:
ln: unable to access '/home/max/tilck/toolchain2/i386/busybox/busybox': No such file or directory

Although I didn’t notice any problems when I first started the script, and busybox even downloaded.
If you call:
 ./scripts/build_toolchain --help

You can see:
download_gcc_toolchain (*)          [ installed ]
download_cmake (*)                  [ skipped   ]
build_gnuefi (*)                    [ installed ][ i386 x86_64 ]
build_mtools (*)                    [ installed ][ host_x86_64 ]
build_zlib (*)                      [ installed ][ i386 ]
build_busybox (*)                   [ error     ]

Hello @turbocat2001, could you please attach the toolchain2/i386/busybox/build.log file ?

@turbocat2001 I see an error message in Russian:

/home/max/tilck/toolchain2/i386/busybox/scripts/Kbuild.include:83: *** Рекурсивная переменная «PATH» ссылается сама на себя (в результате).  Останов.

Thanks to Google Translate:

The recursive variable "PATH" refers to itself (as a result). Stop.

Therefore, the problem seems to be that you have a bad value for $PATH. Check it yourself, or copy-paste it here.

Closing this because it's a bug in user's environment.

@vvaltchev And again, excuse me, my PATH variable was corrupted.


[BUG] The menu button in the "Articles" blog under the "Power Of Knowledge Blogs" section  does not respond on clicking❗⚠

Description
On clicking on the menu button in the articles of the "Power Of Knowledge Blogs" section of the website, the button does not send any response. It may be an issue because any action has not been assigned to this button.
Expected behavior:
A clear and concise description of what you expected to happen.
Actual behavior:
A clear and concise description of what actually happened.
Reproduction Steps

Open "https://akshitagupta15june.github.io/Moksh/index.html".
Click on "Power of Knowledge Blogs" in the navbar of the website.
Scroll Down to "Articles" section and click on "READ" on the first or the third article.
Click on the menu button.

Expected result:
On Clicking on the Menu button in the Articles, the button should respond and give us the options to navigate to different parts of the website.
Actual result:
On Clicking on the Menu button in the Articles, the button does not show any result, or the button does not show any response.
Screenshots
https://github.com/akshitagupta15june/Moksh/assets/127319225/773b7bb0-1c6d-481f-881a-659a9458fcbd
Additional Information
Device (please complete the following information):

OS: Windows 11
Browser :BRAVE
Version : 2H22

Additional context:
I can fix this problem by adding a small drop-down menu which helps the user to navigate to a different part of the website.
THANK YOU,
Sayantan Choudhury
GSSOC'23 Contributor

Blogs UI is changed, pl wait as those changes will be merged soon.