Calculate dominant colour

Is it possible to extract prominent colours or single dominant colour using sharp ?

Hello Refik, thanks for raising this topic here. I've been toying with the idea of adding a "stats" feature to expose various calculations based on pixel values and this feature would fit in that category.
This could include any derived data where all the pixel values have to be decompressed so will be much slower than inspecting the uncompressed header data.
We can probably use the histogram binning features of libvips for dominant colours, although I think we'd need to perform quantisation of these values to make them useful.
In the meantime, for those who like to live dangerously, there's the unsupported https://github.com/lovell/attention

This can be done in conjunction with the smartcrop.js module (basically edge detection) to first identify the most important part of the image. This will eliminate cases where a single background colour dominates.

Would be great to have this feature :+1:
Is there any trick to achieve this with current sharp features ?

Yes, and getting the number of colors would be useful too. (For example for distinguishing whether an image is a logo or a photo.)

I like the sound of the stats idea. I still rely on attention for focus region and focus point too (mainly point) - it's amazing, I really haven't found a comparable alternative. It'd be great to see these things ported under utilities perhaps?
I noticed sharp now uses libvips internal cropping methods - does this mean region/point could be exposed somehow?

@homerjam Yes, we could now use vips_smartcrop for a smart extract, where only a width and height are required as input params and the top/left coords of the crop are made available as output parameters. If you're interested, please create a new issue and we can use that to track progress.

Any update? <3

A coworker gave me this idea as a workaround, i think it works, just not sure about its efficacy versus, say, using attention library.
  const res = await fetch(url)

  const contentType = res.headers.get('Content-Type')
  const contentLength = res.headers.get('Content-Length')

  const pipeline = sharp()
  res.body.pipe(pipeline)

  const [dominantColor, isOpaque] = await Promise.all([
    getDominantColor(pipeline),
    getOpaque(pipeline)
  ])

function getDominantColor (pipeline) {
  return pipeline
    .resize(5, 5)
    .crop(sharp.strategy.attention)
    .toBuffer()
    .then(buffer => {
      return sharp(buffer)
        .stats()
        .then(stats => {
          measure()
          console.log('getDominantColor stats', stats)

          const { channels: [r, g, b] } = stats

          return [
            Math.round(r.max),
            Math.round(g.max),
            Math.round(b.max)
          ]
        })
    })
}

Hi. I've been having to the same problem and if you want to get the dominant color returned as an image a simple solution is just setting blur(1000) on it.
const buffer = await new Promise((resolve, reject) => {
      sharp(path.resolve(__dirname,'image.jpg'))
      .resize(3, 3, {
        fit: 'cover',
        position: sharp.strategy.entropy,
      })
      .blur(1000)
      .toBuffer((err, buffer, info) => {
        if (err) reject(err)
        resolve(buffer.toString('base64'))
      })
    })

That doesn't sound very dominant? Sounds more like an avarage value. Checkout https://jariz.github.io/vibrant.js/ for a better grasp of what's "dominant" (it's got a very subjective definition.)

This vips issue might be helpful: https://github.com/libvips/libvips/issues/259

color-thief functionality looks to be what I'd be interested in if possible to support.Uses quantization producing a list(~20 elements) of colours ordered by count, with dominant being the most used colour in the image.
In my use-case it's for a placeholder background colour that the source image would have a fade-in transition effect on. Looking at vibrant.js it doesn't seem to an appropriate/reliable type for getting that colour result.

Commit c42de19 adds the following API, which uses the 3D histogram technique with 4096 (16^3) RGB bins.
const { dominant } = await sharp(input).stats();
const { r, g, b } = dominant;

This will be in v0.26.0.

Thanks!

v0.26.0 now available.

Is there is a way to get a palette as I might need to ignore some dominant color (mostly white or black)?

Is possible to extract the top 5 dominant colors from the image with Sharp? Using the stats.dominant I just get one color. I need to get the Palette as https://jariz.github.io/vibrant.js/ does. This is possible with Sharp?

Is possible to extract the top 5 dominant colors from the image with Sharp? Using the stats.dominant I just get one color. I need to get the Palette as https://jariz.github.io/vibrant.js/ does. This is possible with Sharp?

If you read the thread you'll find the answers

Hello everyone, I am using sharp for printing textiles and am also intersted in making palette. I have played with some algorithms for making palettes. One of the algorithms I found very interesting is the octree color quantization: https://observablehq.com/@tmcw/octree-color-quantization.
I think it would perfectly fit the problem detailed by the author (except I managed to make only 4 dominant color. the algorithm is a bit complex to change for me to make it supports 20 differents colors.
With this algorithm, do you think it could be possible to modulate with brigthness, saturation, and hue each pixel with different parameters depending on the distance of pixel that need to be changed with the color palette?
Exemple:
I have image I with 700 000 pixels. I found 3 main colors [{r:255,g:100,b:50},{r:0,g:30,b:50},{r:70,g:90,b:150}].
I then calculate the squared distance of the original pixel {{r:30,g:55,b:90}with each palette color: distances=[(255-30)^2+(100-55)^2+(50-90)^2,(0-30)^2+(30-55)^2+(50-90)^2,(70-30)^2+(90-55)^2+(150-90)^2]which equals to [54250,3125,6425] which means the second color from the palette is near the original pixel:
I then apply a modulate function depending on specific parameters [{hue: 50}, {hue:90,saturation:1.05},{hue:40}] since the second pixel from the palette is nearest I apply those parameters {hue:90,saturation:1.05} onto the pixel.
Does sharp supports this types of operations?


Homebrew update not allowing sudo

Hello
Since the last update of Homebrew there is an error about Homebrew not allowing the usage of sudo
TASK [geerlingguy.homebrew : Where is the cache?] ******************************
fatal: [local]: FAILED! => {"changed": false, "cmd": ["/usr/local/bin/brew", "--cache"], "delta": "0:00:00.272510", "end": "2018-09-06 14:55:17.341289", "msg": "non-zero return code", "rc": 1, "start": "2018-09-06 14:55:17.068779", "stderr": "Error: Running Homebrew as root is extremely dangerous and no longer supported.\nAs Homebrew does not drop privileges on installation you would be giving all\nbuild scripts full access to your system.", "stderr_lines": ["Error: Running Homebrew as root is extremely dangerous and no longer supported.", "As Homebrew does not drop privileges on installation you would be giving all", "build scripts full access to your system."], "stdout": "", "stdout_lines": []}

Homebrew version: 1.7.3
Role version: 2.6.0
Do you have an idea on how to fix this?
Thank you!
Matthéo

It sounds like you are using privilege escalation when you shouldn't be.
Are you passing -b or --become on the command-line?
Are you setting become: yes or become: true on the play that executes the Homebrew role?
Can't do that with Homebrew.

@elliotweiser
Oh yes you're right I was using ansible_become: yes in my inventory... My bad!
Thank you for the tip and the quick answer!


Verify challenges

Final part of #1646, this PR adds the beamer check verify-challenges command.
Coverage:

as docs changed, you should adapt your doc change

as docs changed, you should adapt your doc change

Yeah, will rebase, thanks for the note. :+1:


enhancement change default value of rpc related

configs
Bdbje elect timeout is 30 seconds, so we enlarge thrift_rpc_timeout_ms and txn_commit_rpc_timeout_ms to 60s.
BTW: enlarge bdbje_lock_timeout_second from 1 to 5.
Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


PhpRendererStrategy should be able to handle an event w/o a response

ViewEvent#getResponse() may return null, but PhpRendererStrategy#injectResponse() didn't handle that case.

I wasn't sure what to test for since I just expect the method not to throw an error. Please let me know if I should change the test.

What should I do about the PHPUnit incompatibility? (expectException()/setExpectedException())

@MidnightDesign

What should I do about the PHPUnit incompatibility?

At the moment zend-view still using PHPUnit 4.5.

@froschdesign So I shouldn't do anything and the failing builds are OK?

@MidnightDesign I've merged other commits today that upgrade the PHPUnit install; as long as your new test passes, it's fine.

Thanks, @MidnightDesign


Feature request: Support public query

Similar requests

[X] I have searched and found no existing similar requests

How are you using Studio?
No response
What problems are you trying to solve?
The constraint to have the query only editable by the owner (update/delete) is quite restrictive in certain cases. Especially when we want to have a query being able to be worked on by multiple users. As such, we can allow configuring the query as public. This is the first step in achieving what we need, we also would like to have some sort of optimistic/soft locking mechanism so as to avoid conflicts during query edition

We need to be careful here. The goal of Legend Query is creating a playground, it's never meant to be turned into a strictly regulated space where we introduce SDLC, or ownership of queries. The latter is especially tricky because it implies authentication, and entitlement management, which by itself is hard to generalize.

Describe the solution you would like to see implemented

[ ] Either use owner == null --> isPublic or add a new field isPublic: Boolean[0..1] to Query shape, when the query isPublic = true, whoever can update/delete the query
[ ] API If public, everybody can edit/delete the query
[ ] API the first time we create a query if the user is null -> query is made public
[ ] API Allow to search for public query only
[ ] UI Support searching for public/non-public queries (how about also in import public queries in service editor?)
[ ] UI Support setting query as public/non-public when saving/creating a query

Describe alternatives you have considered
No response
Documentation, Design, Adoption, Migration Strategy
No response
Contribution

[ ] I would like to work on this feature

This is needed at a time we are not clear about the strategy to introduce SDLC around query. Now that we have made the decision to do https://github.com/finos/legend-studio/pull/1488 - i.e. take Service as the SDLC-fied query. We no longer need to do this, hence closing this issue


Please clarify this information?

It talks about SCOPE of the URIs:
"./Device/Vendor/MSFT and ./User/Vendor/MSFT
Required. The root node for the NodeCache object. Supported operation is Get. This configuration service provider is used for enterprise device management only. This is a predefined MIME type to identify this managed object in OMA DM syntax. Starting in Windows 10, version 1607 the value is com.microsoft/<version>/MDM/NodeCache."
What specifically do you mean by this last sentence, is it misplaced entirely?
Starting in Windows 10, version 1607 the value is com.microsoft/<version>/MDM/NodeCache.
This needs to be clarified. The data does not appear to match the listing in the article. Value? Value of what?!  The preface of the paragraph is talking about SCOPE of the URI,and then talks about value, but seems to intimate a path update??
Lost.
Help!? thanks!

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

ID: 8acbb6a2-add6-98e1-7670-472b114f7e42
Version Independent ID: 787a0834-ec2b-2dfb-3b41-d31830a8c49d
Content: NodeCache CSP
Content Source: windows/client-management/mdm/nodecache-csp.md
Product: w10
Technology: windows
GitHub Login: @MariciaAlforque
Microsoft Alias: maricia

@officedocsbot assign @mypil

@Tdiwestyguy - Thank you for submitting feedback.
I will get this issue over to the Win10 ITPro writing team for investigation.
Thank you for reporting and making the docs better. Much appreciated.
I made a note to request the team to update this when the work is complete.

@Tdiwestyguy - From our understanding, the issue has been resolved but it may take a few days for the merged content to appear in the article. If you feel it hasn't been resolved, please re-open this issue.
Thank you for your contribution to make the docs better! Much appreciated!

@officedocsbot close


new_tab rfc should have for_open param

Another plugin consideration: I'm thinking about plugin and editor lifecycle. Currently if we open a file, we send a new_tab followed by an open rpc. If we create a new file, we only send new_tab.
I would like there to be a lifecycle event that predictably happens once for each newly opened buffer. If that buffer is being opened, this should be called when the open operation has completed; if the buffer is new it should probably be called when the Editor is instantiated.
One of the things that would occur in this method (per my current sketch of an implementation) is that the plugin catalog would generate a data structure representing the loaded and loadable plugins and available methods/commands/menu items/etc available in this buffer. As things are currently implemented, this would always have to be generated twice in the case of a file being opened, because there's no way of knowing if a new_tab is for a new buffer or for opening an existing file.
Let me know if I'm missing anything obvious. (Also: non-obvious).

I'm sympathetic, though maybe don't understand perfectly why this is needed.
One thing to keep in mind: somewhere on the roadmap, I want to implement fully async loading. This would be an astonishing win for file-open latency with large files; you'd see the head of the file instantly no matter how large the file is, and basically only the scrollbar would animate (I consider animating the scrollbar to be a good visual indicator of loading progress). That said, it's not going to be anytime soon on the roadmap because it adds quite a bit of complexity. In particular, it complicates the notion of when file loading is "done" (especially from the perspective of plugins). For a pure syntax highlighting plugin, it would be great to start the highlighting work immediately and display those results. However, for something like a lint tool, you'd want to wait til loading is complete, to prevent the tool from seeing a truncated version of the file.

I would consider this issue superseded by #191; the larger issue here was that the current implementation of creating vs opening files didn't provide a clear place for any file_open notification we might want to send to a plugin.
Async open would be nice to have. I think sending a began_open with the first chunk of file and then a final did_open on success would be acceptable?
I'm going to close this, but I'll open one for async file opening.


track2 release armeventhub

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to CHANGELOG.md are included.
[ ] MIT license headers are included in each file.

/azp run prepare-pipelines

/azp run go - armeventhub - ci

/check-enforcer override


Don't disable the window control buttons in nav bar

When the nav bar is in a disabled state, the close button at minimum, and probably the minimize and full screen buttons in addition, should not be disabled. Otherwise you can't close the app with those buttons if the server fails.

absolutely, I missed that when reviewing that pr. Everything should be disabled, except those three buttons.


How to get the data of the selected rows?

For now, I use the selected_row_indices to get the corresponding rows of pandas dataframe, but after clicking the column head to sort data, using selected_row_indices can't get the corresponding rows of df. Is it possible to get the data of the selected rows, not just the indices?
Thanks.

Reposted and answered in https://community.plot.ly/t/how-to-get-the-data-of-the-selected-rows-of-dash-table-experiments/8439.


Very weird webrtc playback issue

Describe the bug
Pulling rtsp stream from camera(in h264 codec) and pushing rtmp to srs without any transcoding, webrtc can not play, but exectuting a snapshot on camera will make webrtc playback work, if clicking on play button on webrtc page, the playback will stop again
Version
srs:v5.0-b6 in docker.
To Reproduce

launch srs docker
use ffmpeg to pull rtsp stream from camera and push to a rtmp url which srs is serving
open webrtc webpage provided by srs, playback is not working(for rtc player and WHEP tab)
use ffmpeg to get a snapshot of camera with same rtsp url
the webrtc player suddenly becomes alive
click play button on web page again, the playback stops and keeps loading forever
the data stream in chrome://webrtc-internals/ is always on for both good and bad cases, the difference is codec info is missing for bad cases, besides, the corresponding rtmp url is always playable in vlc player

Expected behavior
webrtc should be working.
Screenshots
webrtc player stuck.

no video recognized in chrome

after a snapshot on camera, video is recognized without restarting anything

Additional context
snapshot command reference:
ffmpeg -re -rtsp_transport tcp -i rtsp://xxx -y -f mjpeg -t 0.001 r13-snap.jpg

attach client info and stream info here, no much difference between good case and bad case
{
"code": 0,
"server": "vid-397379i",
"service": "69433079",
"pid": "1",
"streams": [
{
"id": "vid-a29251x",
"name": "R13_M_CamW",
"vhost": "vid-b434177",
"app": "live",
"tcUrl": "",
"url": "/live/R13_M_CamW",
"live_ms":<PHONE_NUMBER>794,
"clients": 2,
"frames": 35950,
"send_bytes": 308609887,
"recv_bytes": 303813236,
"kbps": {
"recv_30s": 2035,
"send_30s": 1937
},
"publish": {
"active": true,
"cid": "c60b7q46"
},
"video": {
"codec": "H264",
"profile": "Main",
"level": "3.1",
"width": 1280,
"height": 720
},
"audio": null
}
]
}
{
"code": 0,
"server": "vid-397379i",
"service": "69433079",
"pid": "1",
"clients": [
{
"id": "9997v5i7",
"vhost": "vid-b434177",
"stream": "vid-a29251x",
"ip": "<IP_ADDRESS>",
"pageUrl": "",
"swfUrl": "",
"tcUrl": "",
"url": "/live/R13_M_CamW",
"name": "R13_M_CamW",
"type": "rtc-play",
"publish": false,
"alive": 262.46,
"send_bytes": 68099516,
"recv_bytes": 142311,
"kbps": {
"recv_30s": 4,
"send_30s": 1936
}
},
{
"id": "c60b7q46",
"vhost": "vid-b434177",
"stream": "vid-a29251x",
"ip": "<IP_ADDRESS>",
"pageUrl": "",
"swfUrl": "",
"tcUrl": "rtmp://<IP_ADDRESS>:1935/live",
"url": "/live/R13_M_CamW",
"name": "R13_M_CamW",
"type": "fmle-publish",
"publish": true,
"alive": 1373.21,
"send_bytes": 4291,
"recv_bytes": 348432993,
"kbps": {
"recv_30s": 2014,
"send_30s": 0
}
}
]
}

attach more screenshots of webrtc:
switch rtsp source from good one to problematic one, seems key frame is missing at start up

looks like key frame is not recognied correctly for some rtsp source

recorded 2 mp4 files by ffmpeg pulling rtsp stream from 2 cameras, bad.mp4 means webrtc cannot render properly, but both can be played with vlc or normal mp4 players
good.mp4
https://github.com/ossrs/srs/assets/6480394/e7a4abbd-bcdb-4489-a40b-8def8e1e8b1a
bad.mp4
https://github.com/ossrs/srs/assets/6480394/617914dd-6730-4290-b112-5a51afb5d7a6

I believe this issue is caused by the video content from your RTSP camera. Therefore, the best solution is to use ffmpeg to transcode your video stream. For example, you can pull the RTSP stream with ffmpeg and then transcode it to RTMP to publish to SRS. It is a straightforward conversion, but it should work very well.
Please note that when you transcode a stream with ffmpeg, you should disable the B-frames. You can simply use the baseline profile because WebRTC does not support B-frames.


Window popup

Add Popup Windows to my project

Desktop and mobile popup windows using JavaScript and CSS, when the viewer click or tap on a project button, the popup window is displayed.

Hi @emarkees,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.

Invalid Code Review Request

Kindly use Microverse Readme template and make sure all the sections exist in yours and placeholders are replaced with your project and personal data. Only optional section is FAQ.   This is crucial to have a professional and instructive repository. 👌
Please set up linters for JavaScript like you did for HTML and CSS. You should have already done it before on mobile navigation project. Check this link to remember.

Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.

@huseyinbiyik kindly state where corrections are to be made as you reasons for the decline are not clear

Okay, I updated the link. If you can open this link on Chrome or any Chromium, it will highlight the related area.

Okay, I updated the link. If you can open this link on Chrome or any Chromium, it will highlight the related area.

what exactly do you want me to correct as it still unclear to me

Please update your linter file with this one. You need to add ESLint which linting your JavaScript.

For you Readme file, please add Future Features and at least add one feature in it.

Thanks for the recommendation 🙇


larger fftsize error

@Jonathan-LeRoux ，this repo helps me a lot，the speed of lws is noticeably faster then Griffin-Lim，but when I try to set larger fftsize , it doesn't work .
Not sure if I did it correctly，but when _fftsize=512 , everything is ok !
import lws
import numpy as np
import librosa

y, sr = librosa.load("6.1.wav",sr=16000)
_hop_length=128;_win_length=512;_fftsize=1024;
lws_processor=lws.lws(_win_length, _hop_length, mode="speech",stft_opts={'perfectrec':True,'fftsize':_fftsize})
X = lws_processor.stft(y)
X0 = np.abs(X)
X1 = lws_processor.run_lws(X0)
X2 = lws_processor.istft(X1).astype(np.float32)
librosa.output.write_wav("istft.wav", X2, sr)

Error log:
Traceback (most recent call last):
  File "test.py", line 39, in <module>
    X2 = lws_processor.istft(X1).astype(np.float32)
  File "lws.pyx", line 481, in lws.lws.istft
    return istft(S,self.fshift,self.swin,self.stft_opts)
  File "lws.pyx", line 192, in lws.istft
    signal[fshift*s+x_ran]+= iframe * np.squeeze(swin)
ValueError: operands could not be broadcast together with shapes (512,) (1024,)

Hi,
Thanks for pointing this out. You're right, there is a bug in the istft code at line 107, it should be fftsize - len(swin) instead of fftsize-fsize.
I'll try to push a change in the next few days. Can you compile from source in the meantime?

Hi @Jonathan-LeRoux
I modified the code in line  107. and compiled it from source
But the output of istft  is getting worse

Original ： origin.wav
Lws, fftsize=1024, fftsize - len(swin) :  lws_bad.wav
Lws, fftsize=512, fftsize - fsize：lws_good.wav

Hi @xuerq
Sorry for the long delay in looking into this issue. After giving it more thought, I think the problem is due to the fact that the code currently relies on symmetries in the analysis/synthesis windows which no longer hold when zero-padding.
I need to update the code to deal with the general case where no particular symmetries are assumed. The downside is that the code will be slower, because more computations will be needed. Note also that, because of the zero-padding, more bins will likely need to be included in the approximation, leading to yet another increase in computations.
I thought I also had a bug in the online_lws implementation because it applies similar code with windows that are asymmetric, but I believe that in those particular cases, because we don't consider future frames, only the part of the code that is still valid is being used... Nonetheless, I'll double-check I get the same results when I'm done writing the code that doesn't make any symmetry assumptions.

Actually, my colleague John Hershey suggested a clever and simple fix: do the zero-padding symmetrically on the left and the right... I'll give it a try.

I uploaded a new version of the code (and updated it on pypi).
Can you give it a try?


browserify tips

Hi Yosh 👋
Thank you so much for introducing me to the world of browserify. I'm new to writing JavaScript and this is the simplest way I've found to working with npm. I'm kinda confused about transforms. Can you help me understand?
How do I pass multiple transforms via cli? Is it needed to pass both if I'm using sheetify plus nanohtml?

@frekyll hey!
Glad you're enjoying Browserify!
There's two ways of passing transforms: -t will transform your source code, but not dependencies. -g will transform all code that's compiled. The latter is useful when for example minifying or running other optimizations.
You can pass multiple transforms by passing -t or -g multiple times. You indeed need to do some setup to get Sheetify + Nanohtml optimizations going.
To make the setup easier we've built bankai, a one-stop tool to build browserify apps. It should work reasonably well, and do most things you might want to do.
I hope this is helpful!

@yoshuawuyts Yep, this is very helpful. Thank you!


Highlight Trending link correctly

Highlight Trending link when on the Trending page and subpages and
remove highlighting from Explore when on Trending pages.
Fixes issue #705

@bfred-it added in the catch, forgot you could treat them like a chained promise, thanks!

But you'll still need an if otherwise it'll be null.classList.remove(...)

Fixed.

Thanks @busches!


Update the weight metadata on EndpointSlices

Fixes #18628

@sftim - this is ready for review. The https://www.redhat.com/en/blog/dont-lick-cookie effect was pretty strong on this one considering it was a single character change in a line you already pointed  out to. :grin:


memory leak caused by PinnedArray

Reporting a bug

[x] I have tried using the latest released version of Numba (most recent is
visible in the release notes
(https://numba.readthedocs.io/en/stable/release-notes-overview.html).
[x] I have included a self contained code sample to reproduce the problem.
i.e. it's possible to run as 'python bug.py'.

class PinnedArray has no __del__ function, so when memhostalloc allocates memory and passes it the pointer, that pointer will never be freed when the PinnedArray object is deleted.
see: https://github.com/numba/numba/blob/main/numba/cuda/cudadrv/driver.py#L2077
example:
import numba.cuda
import psutil
import os
import numba

proc = psutil.Process()
for i in range(10):
    print('memory before alloc: ', proc.memory_info().rss)
    f = numba.cuda.pinned_array(200000000)
    print('memory before del: ', proc.memory_info().rss)
    del f
    print('memory after del: ', proc.memory_info().rss)

i see now that numba.cuda.current_context().reset() fixes it. this isn't documented, though

You shouldn't need to reset the context just to get your memory back though! :-)
The implementation of pinned_array() indeed looks wrong - I don't think it's even using PinnedArray, but if it did then the PinnedArray instance would (or should have) been constructed with a finalizer to free the memory when it's been garbage collected.

yeah, i noticed the finalizer after i had posted this issue and didn't look further into it...

Isn't this behavior expected because how the cuda Context defer deallocations?

Isn't this behavior expected because how the cuda Context defer deallocations?

The problem is that we're not even registering a finalizer when calling pinned_array() - so it's expected that a deallocation occurs eventually, but it's just never occurring in this case.


Debugger: On stopping event, Code does display any source location if top stack frame does not have source information.

The issue: If the top stack frame does not have source information, the debugger fails to show a current location (even if another stack frame does have source information).
I came across this issue while using the new C# debugger for .NET Core: https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp
In C#, when stopping on an unhandled exception, the top stack frame is often in "non-user code" and the frame is either "[external code]" or a frame in OS code that the user will not have source info for. Example:

In this file, I found that when the debugger receives a stopping event, it is hard coded to set the 0th frame as the current frame:
this.setFocusedStackFrameAndEvaluate(callStack[0]);
this.openOrRevealEditor(callStack[0].source, callStack[0].lineNumber, false, false).done(null, errors.onUnexpectedError);

Prior to calling setFocusedStackFrameAndEvaluate or openOrRevealEditor, the debugService should walk it's callstack looking for a frame that has valid source information. The first frame it finds should be passed to setFocusedStackFrameAndEvaluate and openOrRevealEditor.
Additionally: I found that if a debugAdapter does not provide source information for a frame, VS Code creates a default Source object for the stack frame:
return new StackFrame(data.threadId, rsf.id, rsf.source ? new Source(rsf.source) : new Source({ name: 'unknown' }), rsf.name, rsf.line, rsf.column);

This issue is that a default Source objects sets source available to true:
	constructor(public raw: DebugProtocol.Source) {
		this.uri = raw.path ? uri.file(raw.path) : uri.parse(Source.INTERNAL_URI_PREFIX + raw.name);
		this.available = true;
	}

I believe that if a debugAdapter does not provide source for a frame, VS Code should not mark a stack frame as having source available.

@weinand

@chuckries If a stack frame does not have source information, the debugger UI cannot "infer" a location from some other frame by "walking its callstack looking for a frame that has valid source information". That would be too much guessing in a language agnostic UI.
So if you need this behaviour, just implement it in the debug adapter.
From your screenshot I do not really understand what is missing?
@isidorn could you please look into the issue of "default Source objects sets source available to true"

The issue is that when the exception goes unhandled and the debugger stops, it does not set the current location.
In this image I have just stopped but I do not know where I am.

After selecting the ConsoleApplication.... frame it looks like this:

I believe that the location seen in the second screenshot should be the behavior when the debugger stops on the exception. The debug adapter should not control this sort of UI feature. It simply hands back a callstack. It is up to the UI to determine from those stack frames which should be set as the active frame. If there is no source info availalbe in frame[0], but there is source info available in frame[1], why would the debugger not set frame[1] as the active frame with the green arrow? The green arrow signifies that this is the current source location for the active frame, but it is not the current IP.

Hi Chuck,
I still cannot see the relevant information in your stackframes.
Could you try to make the Call Stack viewlet wider so that we can see the right hand side of it.
Like this:
<EMAIL_ADDRESS>
“The debug adapter should not control this sort of UI feature.”

This is not really true.
The debug adapter is an adapter between a debugger API and the VS Code debugger UI.
The VS Code debug protocol is a protocol for serving the VS Code debugger UI (and nothing else). It is not a protocol for serving any other tool.
The VS Code debugger UI is debugger and language agnostic, that means that the debug adapter has to control how types, values and the structure of variables is presented in the UI. The same is true for other areas of the protocol.
Thanks,
--andre
From: Chuck Ries<EMAIL_ADDRESS>Reply-To: Microsoft/vscode<EMAIL_ADDRESS>Date: Friday 11 March 2016 at 20:30
To: Microsoft/vscode<EMAIL_ADDRESS>Cc: André Weinand<EMAIL_ADDRESS>Subject: Re: [vscode] Debugger: On stopping event, Code does not display current location if top stack frame does not have source information. (#4027)
The issue is that when the exception goes unhandled and the debugger stops, it does not set the current location.
In this image I have just stopped but I do not know where I am.
[mage]https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcloud.githubusercontent.com%2Fassets%2F6598594%2F13713069%2F07ae6c4c-e77c-11e5-8335-ce3b79c3e820.png&data=01|01|aweinand%40microsoft.com|6991af3700b64f0e8eb808d349e3989d|72f988bf86f141af91ab2d7cd011db47|1&sdata=ijBXNyIpCWvxS16NYvm36b%2B67QY4zOrO1yvQ3Iwh2xg%3D
After selecting the ConsoleApplication.... frame it looks like this:
[mage]https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcloud.githubusercontent.com%2Fassets%2F6598594%2F13713097%2F2ecd4e38-e77c-11e5-9ffb-c6602216eed9.png&data=01|01|aweinand%40microsoft.com|6991af3700b64f0e8eb808d349e3989d|72f988bf86f141af91ab2d7cd011db47|1&sdata=TlwfvqF53zShZ8NvEhUKGpuFAQD8J1a9IrRjpenuEV8%3D
I believe that the location seen in the second screenshot should be the behavior when the debugger stops on the exception. The debug adapter should not control this sort of UI feature. It simply hands back a callstack. It is up to the UI to determine from those stack frames which should be set as the active frame. If there is no source info availalbe in frame[0], but there is source info available in frame[1], why would the debugger not set frame[1] as the active frame with the green arrow? The green arrow signifies that this is the current source location for the active frame, but it is not the current IP.
—
Reply to this email directly or view it on GitHubhttps://github.com/Microsoft/vscode/issues/4027#issuecomment-195512145.

I still cannot see the relevant information in your stackframes.
Could you try to make the Call Stack viewlet wider so that we can see the right hand side of it.
Like this:

“The debug adapter should not control this sort of UI feature.”

This is not really true.
The debug adapter is an adapter between a debugger API and the VS Code debugger UI.
The VS Code debug protocol is a protocol for serving the VS Code debugger UI (and nothing else). It is not a protocol for serving any other tool.
The VS Code debugger UI is debugger and language agnostic, that means that the debug adapter has to control how types, values and the structure of variables is presented in the UI. The same is true for other areas of the protocol.

@chuckries after having had dinner, I think I understand now what the problem is. You are not talking about the CALL STACK viewlet (as your first screenshot suggested), but you are referring to the stack frame indication in the editor. You are missing the yellow (or green) line where the exception occurs. Yes, that's a bug.
I thought you were missing the source and line information from the stack frames in the CALL STACK viewlet.

I apologize for not being clear. It seems like you understand my issue now. Thanks!
I simply dug into the code and tried to figure out why the stack frame indication was not being set correctly, and it is from the hard coding of 0 in

@chuckries nice catch and a good investigation - thanks! Also when you figure out everything on your own like now feel free to submit a PR.

Excellent! Has the behavior changes regarding a debug adapter providing a stack frame with a null Source field?

Yes, if the top stack frame has a null Source field we will focus the first stack frame with a proper Source field.

I understand that, but I discovered a secondary issue while investigating this that StackFrame's are never created with null Source fields. Here you can see that if a null Source is provided by the debug adapter, the StackFrame will be created with a default Source object that has its name field set to uknown. I believe this was done so that the callstack viewlet willl display the string "unkown" when a stackframe does not have have a source field, but this will interfere with setting the current stack frame.

I can confirm that even with this change I am not seeing the current stack frame get set correctly because my debug adapter returns a null Source for the stackframe and code is creating non null default source object. I am having trouble debugging code with code however using current master.

Can this be reopened or should I file another issue?

@chuckries good catch, I will fix this tomorrow.

any time before next release is fine, but tomorrow is great! thanks!

Giving to @weinand to verify, also @chuckries let us know if it still does not work for you

Looks great! Thanks!


[BUG]

Bug Description
obi2ahbm_adapter.sv..   if byte access 24bits , bridge don't split 2 trans

hi @MikeOpenHWGroup and @shanshuixiangyi - the CVE2 supports misaligned on the OBI interface, so it is very well possible that the bridge has this bug -

Thanks @davideschiavone, I have removed the question label and this is now officially a bug!  :wink:
Hi @shanshuixiangyi, do you have an example test-program to exercise this?

risc-v load store uint can transmit red select in the pitcture. but bridge can't support this byte condition.  I have modified the rtl to support this condition. I am learning how to submit code and then make a fix commit using Git.

I am learning how to submit code and then make a fix commit using Git.

Thank you very much @Jiahua-Gong!  I notice that the CONTRIBUTING file for this repo is not complete (I will fix that).  In the meantime, please review CONTRIBUTING.md in CORE-V-VERIF, especially the Contributor Agreement section.


Add Timeout param for requests

Sometime, some requests fail because of a too short timeout.
We need to increase this timeout as we need : make a new param to set right timeout.

Trello card: [#221] Add Timeout param for requests

Timeout variable added for SaagieApi client, documentation edited


This fixes ~most of them.

Friendly ping @jewlofthelotus

Friendly ping for this PR @jewlofthelotus


Enable ImGui for Android

Describe your changes
This PR is to enable the usage of ImGui on Android builds.  It only supports touch input for the time being.
The existing ImGui test menu has been enabled for Android, and can be used to test out this functionality.
Issue ticket number and link
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[x] I have checked readme and add important infos to this PR (if it needed).
[x] An improved cpp-test/lua-test is not needed (explain why not, thanks).

Nice work


Empty normalization?

I try to normalize following structure:
_data := map[string]interface{} {
	"@context": map[string]interface{}{
		"as": "https://www.w3.org/ns/activitystreams",
	},
	"id": "http://friendica2.local/activity/e6f33173-9381-86bb-c047-4f5c7be22380",
	"type": "Follow",
	"actor": "http://friendica2.local/profile/rjaklic5",
	"object": "http://friendica.local/profile/rjaklic15",
	"instrument": map[string]interface{}{
		"type": "Service",
		"name": "Friendica 'Red Hot Poker' 2020.03-1338",
		"url": "http://friendica2.local",
	},
	"to": []string{"http://friendica.local/profile/rjaklic15"},
}

but without success. All I get is an empty string. Any ideas why?
I am using following function to Normalize.
func Normalize(doc map[string]interface{}) (interface{}, error) {
	proc := ld.NewJsonLdProcessor()
	options := ld.NewJsonLdOptions("")
	options.Format = "application/n-quads"
	options.Algorithm = "URDNA2015"

	normalizedTriples, err := proc.Normalize(doc, options)

	return normalizedTriples, err
}

@rokj I suspect the issue is in your context definition. The only term you define is "as". All the other terms in your document will be ignored at the expansion stage on normalisation. As a result, the output is empty. A good way to debug complex operations like normalisation is to apply expansion to your JSON-LD document first. Most problems are at that stage. And the quickest way to do it is to use JSON-LD playground.

I got it working with:
_data := map[string]interface{} {
	"@context": "https://www.w3.org/ns/activitystreams.jsonld",
	"id": "http://friendica2.local/activity/e6f33173-9381-86bb-c047-4f5c7be22380",
	"type": "Follow",
	"actor": "http://friendica2.local/profile/rjaklic5",
	"object": "http://friendica.local/profile/rjaklic15",
	"instrument": map[string]interface{}{
		"type": "Service",
		"name": "Friendica 'Red Hot Poker' 2020.03-1338",
		"url": "http://friendica2.local",
	},
	"to": "http://friendica.local/profile/rjaklic15",
}


Feature: network option to disable rpc request validation

Related to #1173
Add a network option to disable rpc request validation for the comparaison between block hash of logs and traces results

Hi @KONFeature thanks for opening, appreciate the quick action.
We just merged #1175 and released it in 0.6.16. That PR adds the specific block hash values to the validation error message, which should make it much easier to identify what's going on + report the bug to the RPC provider. My hunch is that this is a casing issue.
For context - if we added custom logic to accommodate every non-compliant RPC provider behavior, we would likely introduce a bug OR ingest/cache invalid data. We've found that the only sane approach is to stay pretty disciplined about adhering to the specs. Hope you can understand our stance on this.
Regarding this config option - if we allow invalid data, a different validation (further along in the control flow) will likely fail and crash the app anyway.


Add snippet files for connector use cases

Purpose

Add files with code snippet use cases in connectors. Connectors taken into consideration are FTP, SMB, JMS, StoreForward, SAP, AmazonSQS, AmazonS3, Gmail, GSheet, JDBC, MongoDB, and Salesforce.

resolves #385

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


sound source

How do I change sound source?
Whan I change headset in POE, this doesn't copy to Mercury Trade.
Even after restarting the pc.
When I put the old headset in the pc, it works.

MercuryTrade here is discontinued. Feel free to try a community fork version here: https://github.com/Morph21/MercuryTrade-Community-Fork
It's possible to change sounds.
Also different headset is not an issue on POE or MT side, check your system settings for solving sound issues

MercuryTrade here is discontinued. Feel free to try a community fork version here: https://github.com/Morph21/MercuryTrade-Community-Fork
It's possible to change sounds.
Also different headset is not an issue on POE or MT side, check your system settings for solving sound issues


Pair1: Test and implement datetime work unit

For the work unit picked in #13,  "Add TranspilingTestsCases for your work unit and gradually add implementaions. Try to cover all conceivable inputs, edge cases and exceptions (if in doubt, refer to the Python documentation and follow their API specification). Finally, make yourself familiar with the VOC guidelines regarding code documentation and code style and follow them closely in your implementations. "
Submit PR as with code review instructions! (i.e., how to run tests, what to look for, and so on).
Some documentation in code was more or less copied from Python (since it should mirror it anyways)

Closed by #37

After talking to Davide it was okay to omit resolution.


ci: downgrade codecov action to v3

It seems that v4 is having some teething problems - coverage is no longer being uploaded due to the lack of a token, and it seems like at least some people are getting 500s even when they do provide a token (https://github.com/codecov/codecov-action/issues/1248).
Let's start by downgrading to a known working version, and go from there.
Relates to #784

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 60.92%. Comparing base (b28c1c8) to head (01cb733).
Report is 35 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #871      +/-   ##
==========================================
+ Coverage   59.78%   60.92%   +1.13%
==========================================
  Files         136      144       +8
  Lines       11268    11808     +540
==========================================
+ Hits         6737     7194     +457
- Misses       4102     4138      +36
- Partials      429      476      +47

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Scala Code is not properly Highlighted

Scala Code not always is being well-displayed. Rob Norris has provided useful feedback around this issue. Here a couple of examples with different hightlight themes (default and color-brewer):

As you can see, the comment starting with // guessing loop with … is not well-interpreted since the keyword with is being highlihted, and it shouldn't.
CC @tpolecat

Related, non-code blocks are being highlighted. Maybe it's trying to auto-detect the language or something?

Ok I made my repo public. https://github.com/tpolecat/tuco … modules/doc is where the source is. Follow the link from the README to the published site. Thanks!


Add support for Web Share Target API

I want to know whether /when it works on iOS.
Installed progressive app needs to be listed in "Share to..." menu.

Duplicate of https://github.com/Fyrd/caniuse/issues/4670.


version of nodemcu to use

I'm new to electronics,but have all the components to create this setup except the nodemcu version 3(I have nodemcu version 2).
will there be a problem if i use version 2?

I looked at the specs for NodeMCU V2, it should be fine. Even the GPIO pins seem similar. The hardware may be a bit slower but that shouldn't be an issue.
If you do try into issues, let me know. Also be sure to ask in the original repo here: https://github.com/scottlawsonbc/audio-reactive-led-strip
I haven't done much testing with NodeMCU but a ton of people in the original repo have. Good luck! Here's the comparison that I found over on reddit (https://www.reddit.com/r/esp8266/comments/9q3314/nodemcu_v1_v2_v3_size_and_pinout_comparison/)


cant find any good example tutorial  ,correct me if iam doing wrong

With formal knowledge  in  creating custom search engine for one of my project i managed to make it work
idk this is the right way to use it if not please  advise
i have multiple models with one common field row_no in each .
first installed meilisearch  using curl and run on <IP_ADDRESS>:7700   then i added this module using composer and published  and
created indexes and imported all data
from given code samples search is from individual model  since i have multiple models and want to use single search function
i found    meilisearch /meilisearch-php   as useful   and added  a dropdown to select facet during search  and i change index dynamically on selected facet
$client = new Client('http://<IP_ADDRESS>:7700', 'key');
        $index = $client->index($index);

this is working as expected   but is there any simple way without using  meilisearch /meilisearch-php
api and cdn are not fit for me  and i don't like to include node modules in this simple project
any alternatives ?

Hello @NatBLida68!
I'm not sure to really understand your usecase.
Are you using the Laravel Scout extension (= this repo)?
This repos already uses meilisearch/meilisearch-php so I'm not sure to get why you don't want to include it. Sorry if I miss something.
If your issue is to update the MeiliSearch settings using this repo, you might want to check this wiki -> https://github.com/meilisearch/meilisearch-laravel-scout/wiki/Indexes-settings-using-model
Sorry again if I miss something, tell me if I'm not clear enough 🙂

@curquiza  sorry I'm new here and still learning coding  ,   at first yes I'm using this repo  (the scout extension)   but in my project  i have included  this repo (meilisearch-laravel-scout) and meilisearch/meilisearch-php  separately  and  for importing data iam using  Searchable trait and  scout:import  this is only where this repo have use .   and then for searching purpose i iam using MeiliSearch\Client from meilisearch/meilisearch-php   with this code  ```
$client = new Client('http://<IP_ADDRESS>:7700', 'mykey');
$index = $client->index($index);
$hits = $index->search($key)->getHits();
i have to make sure it is the right way to do this ,   that is do i have to add meilisearch-php  separately  or this repo have included it

@curquiza   thanks for helping


[NetAppFiles] Update azure-mgmt-netapp version to 6.0.0

Description

Update azure-mgmt-netapp dependency to version 6.0.0 and additions from that version added.
Testing Guide

History Notes

[NetAppFiles] az netappfiles account ad add: Added new optional parameter named encrypt-dc-connections
[NetAppFiles] az netappfiles volume export-policy add: Added missing optional parameters kerberos5_read_only, kerberos5_read_write, kerberos5_i_read_only, kerberos5_i_read_write, kerberos5_p_read_only, kerberos5_p_read_write, has_root_access, chown_mode

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

NetAppFiles

According to our internal discussion "Problem with last Python SDK", Python 3.6 support should be brough back by the SDK.

Hi @jiasli, yes correct. A new release for the SDK was created few hours ago with Python 3.6 support. I have updated the dependency and all checks are now running green.


[android] Ad display UX revision / SDK updates + Integrations

[ ] Do not display interstitials after resuming the app, even if it's been hours, it's just a shitty experience that pisses people off. Only show interstitials after actual sustained engagement
[ ] Update all existing SDKs to their latest versions
[ ] Test that all existing SDKs/Adapters are working as expected
[ ] Possible Facebook Ad SDK integration
[ ] Remove poorly performing SDKs/Adapters

Added all to Project: https://github.com/frostwire/frostwire/projects/8
2020 Monetization Optimizations

Remove poorly performing SDKs/Adapters

@kad3mlia: would you have any feedback with respect to this item?
Should I procede ro remove any existing SDKs/Adapters or leave as is?

When can we expect Frostwire 3.0?


files with no text shouldn't be written to the file library

will require some nasty business with the jobs talking to one another.
(Or maybe the job that checks for text can kick-off the file-library-writing job, iff it succeeds.)

Hmm. The file library writing job (generate_document_metadata.rb) maybe should be combined with generate_page_index.rb so that

we can get the page count (which requires init'ing an extractor, and interfacing with JPedal or PDFBox or whatever) only once
we can not write to the workspace if the pdf is scanned.

8501baf


Reduce the maximum size of input splits in Flink to better distribute work

In the current implementation of file sources, the Flink runner will try to fix the size of input splits using the formula source estimated size / parallelism. Most of the time, the resulting desired split size will be much larger than the size of files read by this source.  In that case each individual file becomes full split, and the number of splits is larger than parallelism.
This creates an issue when the size of individual files varies a lot. At Spotify we commonly read datasets stored on GCS where individual files range from a few Mb to 1 or 2 Gb. Because of this, work distribution is sub-optimal because some workers will be consuming larges splits while other worker consume smaller splits.
This PR limits the maximum size of each split to 128Mb (configurable), which is a decent tradeoff between balancing work and limiting the overhead of consuming splits. I believe Dataflow uses the same strategy.
In our test on real workflows, we measured an improvement in execution time (and therefore resource consumption) of up to 20%. Of course the overall improvement varies a lot from one workflow to another, but we never encountered a case where performances where noticeably degraded.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

If I understand correctly, you're setting this cap to reduce the ratio between the largest and smallest shard? This seems a reasonable workaround to handle pathologically bad situations.
(BTW, the way that Dataflow handles this is that it is not limited by the initial splitting, but rather creates further splits dynamically when some workers have finished their chunk and others have substantial work left to do. This is especially handy when sources are not byte based (or the processing is not evenly spread out among the bytes).)

Thanks for the review @robertwb.  I made the suggested changes and also changed the option to be in Mb directly for easier config.

Thanks. Looks good.


fix: add node_env env var to frontend

Changes proposed in this pull request

adds production nodeEnv to frontend

Context

fixes https://github.com/interledger/rafiki/issues/2592
Depends on ~~https://github.com/interledger/helm-charts/pull/27~~ https://github.com/interledger/helm-charts/pull/35 Will need to merge that first.
Checklist

[ ] Related issues linked using fixes #number
[ ] Tests added/updated
[ ] Documentation added
[ ] Make sure that all checks pass
[ ] Bruno collection updated

To be perfectly honest, this is not needed, since default value is set to production in helm-charts repository. I suppose that we can just close this PR?


Implements reading excludes from project tsconfig

I'm submitting a...

[x] Feature

Description
This PR improves the process of build by including some configs from default tsconfig.json of the project.
For now I just implemented exclude but we may merge any other items.
In some project there are demos or other stuff that should not be included in dist folder after building the library. By this feature we can achieve this matter.
I also added a new launch to debug the project easier with the experiment debug feature of chrome.
Did some cleaning up and stuff that they're not really worth mentioning.
Does this PR introduce a breaking change?

[x] No

Hi @aminpaks,
oh cool! If i understand correctly a project-specific tsconfig is optional?
Initially, I had some thoughts on what to do with configurations for tsc/ngc ... I am a little bit in two minds: on the one side, it's good to add a project-specific config by the user. On the other side, there are some configurations which need to be set by the tool and cannot be given by the user.
What do you think?

Hi @dherges,
To me it's better as much as possible to give the developer more options, but we can check on top of all of these to not break the build process. For example we can parse the configs and merge those that are correct and needed. One of these is exclude which I already proposed and a good one isstrickNullCheck or noImplicitAny which are very important to build a aot compatible lib. typescript has a function to parse tsconfigs which would me my option to go with.
At the end there are only few items that ng-packagr cares to replace to get things done.

That's the point.
When I decided for the opinionated approach, I thought it's better to provide reasonable, commonly accepted default configs rather than giving too much configuration options.
When this project started, it was all about "how can we reduce the amount of custom configuration?"
You are making a good point and the configuration option should be available. What you are saying, I agree. I am not convinced about about the How?
I'd like to think about it again ... right now, I prefer two things:

provide a default configuration in the tsconfig.ngc.json, if it's reasonable and a well-accepted best practice (noImplicitAny, strictNullCheck ?)
add a custom exclude property to ng-package.schema.json, if the developers should be able to configure and customize the setting

You see that the rollup config is build from the lib.externals property. With rollup, we don't expose the configuration file directly ... I think we should keep it the same with the tsconfig.

The part that I disagree is duplicating the tsconfig, if developer has enabled all possible/suitable options in their root tsconfig.json why we create another file? I don't think it's intuitive. Externals is another story, and won't fit in this discussion.
I strongly suggest to keep things as native as possible. If you wanna make things easier for developer add a new item in ng-package.json then merge tsconfig.ngc.json with that one and at the end make sure that main options for ngc are properly set.

Can we find a reasonable convention for the default tsconfig.ngc.json in ng-packagr?
Are noImplicitAny and strictNullChecks recommended for Angular? I have seen usages of the two ... I have seen projects not using it. Do you have any resource (a talk from a conference, a blog post, ...) about this?

I quickly skipped through Jasen Aden's video. He's not using it. Angular CLI does it neither in their tsconfig

Apparently you don't get the point. noImplicitAny is necessary for AOT compilation.


Face login - other password are lose

If I login with face, mail clients once more ask me about password. The same with other programms with saved passwords.
How can I disable only face login to system ? Or maybe how to repair above problem ?

I found solution !! :) https://fun.kyco.de/2011/12/25/finger-print-reader-vs-encrypted-home/
sudo cp /etc/pam.d/common-auth /etc/pam.d/common-auth-pass-only
comment line with howdy in /etc/pam.d/common-auth-pass-only
then edit /etc/pam.d/lightdm
and change include common-auth -> common-auth-pass-only


"Move Line Up" and "Move Line Down" with multiple selections

After making multiple selections, "Move Line Up" (Ctrl Cmd Up) and "Move Line Down" (Ctrl Cmd Down) works only on the last selected line, instead it should move all the lines.

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

Thanks for the feedback everyone! However, all these +1s and :+1:s are just adding noise, so to minimize that I'm going to lock this issue for now – we may unlock it once someone starts working on this enhancement to get further feedback.

This has been fixed in #8232 (thanks to @lpommers and @abe33) and should be available in the next Atom beta or the Atom 1.2.0 stable release.

Clarification: 1.3.0 stable since it was merged into 1.3.0-dev. 1.2.0-betaN is already out.


Language support

I have seen your effort which is no doubt excellent.
I want to ask that which languages this tool can handle? or any language  written in English alphabets lexicon?
Please guide. I am interested in German and Urdu in addition to English.

MLRTVC currently only handles English well. The language support is a work in progress. The main obstacle is writing code to normalize transcripts containing numerals, which is a challenging problem:

It is the year 2022 --> It is the year twenty twenty-two
The price is $1.23 --> The price is one dollar and twenty-three cents
Pi is approximately 3.14 --> Pi is approximately three point one four
1,234,567 or 1234567 --> One million two hundred thirty-four thousand five hundred sixty-seven

Our code has some basic number processing combined with inflect to perform this normalization. It is not perfect but gives the desired result most of the time. Unfortunately, inflect is only available in English so we don't have a solution for the other languages. While I am not working on this problem, I have suggested to process numbers in English and translate the output.
If you do not require number support, you can support most languages by adjusting the symbol list. Tacotron is proven to support German though I am not aware of an existing model for Urdu. There might be some more adjustments needed for right-to-left languages, such as flipping the input sequence so the model sees the input from left to right.


Finalize QA Data Reqs

Open in MURAL
CAMD 3-PI Roadmap - EPA CAMD Business Suite - ECMPS and AMPD

No longer needed. This will be handled by Manage QA data epic #211


Warnings when disabling LOG, MCUBOOT_SERIAL and SERIAL_CDC_ACM

We have nrf52840_dongle board (resp. a Laird USB Adapter without JTAG access) where we want to run a minimalistic 2nd stage bootloader (after the pre-installed Nordic bootloader).
To minimize the flash footprint, we need to disable LOG, how ever this leads to the 2 following warnings and we did not find a ways to avoid this:
warning: LOG_DEFAULT_LEVEL (defined at subsys/logging/Kconfig.filtering:13) was assigned the value
'0' but got the value ''. Check these unsatisfied dependencies: LOG (=n).

warning: The choice symbol LOG_MODE_MINIMAL (defined at subsys/logging/Kconfig.mode:45) was selected
(set =y), but no symbol ended up as the choice selection.

Also we want to disable the MCUBOOT_SERIAL but again this leads to the following 2 warnings (only in conjunction with USB_DEVICE_VID=xxxx):
warning: BOOT_SERIAL_DETECT_PORT (defined at
/opt/zephyrproject-v2.6.0/bootloader/mcuboot/boot/zephyr/Kconfig:511) was assigned the value
'GPIO_1' but got the value ''. Check these unsatisfied dependencies: MCUBOOT_SERIAL (=n).

warning: BOOT_SERIAL_DETECT_PIN (defined at
/opt/zephyrproject-v2.6.0/bootloader/mcuboot/boot/zephyr/Kconfig:518) was assigned the value '6' but
got the value ''. Check these unsatisfied dependencies: MCUBOOT_SERIAL (=n).

Also we always get following warning despite SERIAL_CDC_ACM should be disabled by default:
warning: The choice symbol BOOT_SERIAL_CDC_ACM (defined at
/opt/zephyrproject-v2.6.0/bootloader/mcuboot/boot/zephyr/Kconfig:489) was selected (set =y), but no
symbol ended up as the choice selection.

proj.conf:
# MCUboot config
CONFIG_MCUBOOT_SERIAL=n

# Log
CONFIG_LOG=n
CONFIG_UART_CONSOLE=n
CONFIG_CONSOLE_HANDLER=n

# USB device stack
#CONFIG_USB_DEVICE_VID=0x1545

# USB Device Support
CONFIG_USB_CDC_ACM=n

Is there a proper way to solve/suppress those warnings?

I will take a look at the mcuboot serial settings.
Regarding the logs: the problem may be that the default level overrides the level you select for MCUBOOT, this may be similar to the problem I identified while investigating https://github.com/zephyrproject-rtos/zephyr/issues/35821, comment https://github.com/zephyrproject-rtos/zephyr/issues/35821#issuecomment-888319376.


Aggressive autocomplete

See https://groups.google.com/forum/#!topic/codemirror/4DdSFqAlr1s (main : http://jsfiddle.net/u26mK/8/ )
And SO : http://stackoverflow.com/questions/13744176/codemirror-autocomplete-after-any-keyup

done already


[Rancher2] Tracking issue: Questions on API metrics

Creating a tracking issue for JIRA-4276 such that the docs team will try and assist in answering the questions a customer has posed (in bold):

“We use the Rancher API to obtain cluster-level metrics and we have some observations”
Number of used pods: /v3/clusters/ There re allocatable->pods and capacity->pods values. For pods, they are identical even though we have pods deployed in the cluster. So my question is what is the definition of those 2 values?  Is capacity minus allocatable equivalent to the number of deployed pods?

CPU requests: /v3/clusters/ The requested->cpu value does not match the sum of cpu requests I am extracting using the cluster monitoring via Prometheus. I am comparing the Rancher API value with sum(kube_pod_container_resource_requests_cpu_cores{}) and the latter is always a few cores higher. Can you suggest why there is a discrepancy? Is there any documentation I can review to understand how the Rancher API value is determined?

@cbron, please review as discussed in Slack; JIRA filed for the above questions. We are just trying to provide a response to the customer on these questions only.


Summarize the gaps and challenges with Concourse pipeline

As a Spring user, I'd like to understand the current gaps and challenges leveraging the concourse pipeline for PCF deployments.
Acceptance:

It would be ideal for me to review the list of pros/cons
I'd also be interested in any known gaps and workarounds to make a spring-cloud project work seamlessly
Any other general concerns and/or feature requirements that we need to bring it up with the Concourse team

I would prefer not to write about pros and cons cause I'm really biased (I prefer to code my projects instead of configure them via YML) so let's focus on the gaps & workarounds ;)
GAPS & WORKAROUNDS

.m2 is not cached. Each time you have to download the whole internet. Of course the same relates to Gradle.

create a docker image with .m2 and pass around env variables to change the maven local / copy the maven local from Docker image to ~/.m2 for the current build. Of course this doesn't scale and is a hack, not a proper solution.

No artifacts are able to be stored after the build. I understand that the idea of Concourse is to be stateless but for example JUnit results are not parsable - you can't see why a build was broken

I'm actually dumping all surefire-reports files to the output of a job. It's awful but at least you can then see why a build was broken

you can't pass parameters between jobs

e.g. the pipeline version needs to be pushed as a file on a branch (e.g. https://github.com/marcingrzejszczak/github-webhook/blob/version/version) . That's the trick that @making taught me ;)
I had to merge 2 steps into a single step cause I can't pass any params (here in one step I deployed the apps to CF and wanted to pass the properties with the URLs of the apps to the next step)

The UI in the docker-compose is buggy (sometimes you can't even see any output) - that's why I ended up with using the fly CLI only.

Great! This summary is good to start the conversation. I will close this for now.


Enable setting batch size in add_columns

Default batch size for lance may cause OOM depending on the size of a row and available system memory

Yes, we should make this configurable.  However, in the meantime, you can use LANCE_DEFAULT_BATCH_SIZE for spots where we don't make it configurable.

Is num_threads configurable via an environment variable as well?

nvm, looks like it is via LANCE_IO_THREADS

There is also a LANCE_CPU_THREADS.  The difference between LANCE_IO_THREADS and LANCE_CPU_THREADS is described in more detail here.


Beta - HTML/HTML5: Introduction to HTML5 Elements - Guide Page 404 Not Found

Challenge Name

https://beta.freecodecamp.org/en/challenges/basic-html-and-html5/introduction-to-html5-elements
Issue Description

When selecting the 'Get Hint' button, it re-directs you to the guides but there is no guide page for this challenge.
Returns Page not found.
https://guide.freecodecamp.org/certificates/introduction-to-html5-elements
Browser Information

Browser Name, Version: Chrome 64.0.3282.186 64-bit
Operating System: Windows 10 Pro 64-bit
Mobile, Desktop, or Tablet: Laptop
Your Code

Screenshot

Reason for close, see  https://github.com/freeCodeCamp/freeCodeCamp/issues/16817


Delay July 2023 patch releases for July 19

We discussed it on Slack that we want to delay July 2023 patch release for a week (to July 19) as we still have some important PRs to merge (such as bump to Go 1.20) and we want to give enough time for tests results to soak in.
I also postponed the cherry-pick deadline as we plan on merging additional PRs.
Reference: https://kubernetes.slack.com/archives/CJH2GBF7Y/p1689013512945219
/assign @cpanato @Verolop @jeremyrickard
cc @kubernetes/release-engineering
/hold
we're still waiting a confirmation from Google Build Admins

/lgtm

SGTM, let's also send a note to k-dev

/unhold

The change has been announced on relevant Google Groups: https://groups.google.com/a/kubernetes.io/g/dev/c/A_hz52m4GUA/m/pWo7tJ0_BAAJ


ReferenceError: DEV is not defined

Describe the bug
SQUARE SDK 28.0.1 has the below error coming randomly. I think, it comes if the API request gets failed.
2023-06-22T15:16:02.582Z error in process ReferenceError: DEV is not defined
2023-06-22T15:16:02.583Z     at new ApiError (/usr/src/app/node_modules/square/dist/cjs/errors/apiError.js:47:17)
2023-06-22T15:16:02.584Z     at /usr/src/app/node_modules/@apimatic/core/lib/http/requestBuilder.js:371:23
2023-06-22T15:16:02.585Z     at DefaultRequestBuilder. (/usr/src/app/node_modules/@apimatic/core/lib/http/requestBuilder.js:176:50)
2023-06-22T15:16:02.585Z     at step (/usr/src/app/node_modules/tslib/tslib.js:193:27)
2023-06-22T15:16:02.586Z     at Object.next (/usr/src/app/node_modules/tslib/tslib.js:174:57)
2023-06-22T15:16:02.587Z     at fulfilled (/usr/src/app/node_modules/tslib/tslib.js:164:62)
2023-06-22T15:16:02.588Z     at processTicksAndRejections (node:internal/process/task_queues:96:5)
Expected behavior
API errors should be handled cleanly.
To Reproduce
Steps to reproduce the bug:

Create environment in your machine so that API call fails.

Screenshots
If applicable, add screenshots to help explain the bug.
Square SDK version
28.0.1
Additional context
It works fine if I retry the api call.

Hey @techgyani,
Thanks for bringing this to our attention!
Which API are you calling when this happens? And is this while using Production or Sandbox?

@zenmasterjobo I am using production API of Square. It is happening randomly when calling  list-payout-entries.

Hey @techgyani -
Just wanted to let you know that we have found a fix for this and are looking to patch it in soon. However it might end up that this fix goes out with our next SDK release on July 20th. Thanks for your patience!
Cheers!

Thank you @zenmasterjobo

Is there a fix for this for v27? Thanks!

@danhilltech
Hi - sorry this fix was implemented and exists in v29.0.0
Please consider upgrading versions - but there is a reason you cannot, I would be interested to know what breaking change may be stopping you

Closing as issue is resolved in v29.0.0
Please re-open if issue persists

Thanks! We can't easily upgrade as v28 (API version from June 2023)
introduces a whole new subscription interface with phases etc. Been working
with the subscriptions team on it, but for now we need to stay behind that
version.
On Mon, Aug 7, 2023 at 12:29 PM Jordan Bergero @.***>
wrote:

Closed #134 https://github.com/square/square-nodejs-sdk/issues/134 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/square/square-nodejs-sdk/issues/134#event-10026441347,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGWDPX7AMXDHHUGRIYLPQTXUEJVJANCNFSM6AAAAAAZRIFGO4
.
You are receiving this because you were mentioned.Message ID:
@.***>


[HUDI-4406] Support Flink compaction commit write error resolvement to avoid data loss

Change Logs
Currently CompactionCommitSink commit or rollback logics doesn't take the writestatus error under consideration (only consider null writestatus), which actually will cause data loss when compacting the delta commit log files into the new versioned data files.
eg. org.apache.hudi.io.HoodieMergeHandle#writeRecord will lead to data loss from log files due to Exceptions.
  protected boolean writeRecord(HoodieRecord<T> hoodieRecord, Option<IndexedRecord> indexedRecord, boolean isDelete) {
    Option recordMetadata = hoodieRecord.getData().getMetadata();
    if (!partitionPath.equals(hoodieRecord.getPartitionPath())) {
      HoodieUpsertException failureEx = new HoodieUpsertException("mismatched partition path, record partition: "
          + hoodieRecord.getPartitionPath() + " but trying to insert into partition: " + partitionPath);
      writeStatus.markFailure(hoodieRecord, failureEx, recordMetadata);
      return false;
    }
    try {
      if (indexedRecord.isPresent() && !isDelete) {
        writeToFile(hoodieRecord.getKey(), (GenericRecord) indexedRecord.get(), preserveMetadata && useWriterSchemaForCompaction);
        recordsWritten++;
      } else {
        recordsDeleted++;
      }
      writeStatus.markSuccess(hoodieRecord, recordMetadata);
      // deflate record payload after recording success. This will help users access payload as a
      // part of marking
      // record successful.
      hoodieRecord.deflate();
      return true;
    } catch (Exception e) {
      LOG.error("Error writing record  " + hoodieRecord, e);
      writeStatus.markFailure(hoodieRecord, e, recordMetadata);
    }
    return false;
  }

And it's known that StreamWriteOperatorCoordinator has related commit or rollback handle process.
So this pr will:
a)  Also add writestatus error as rollback reason for CompactionCommitSink compaction rollback to avoid data loss
b) Unify the handle procedure for write commit policy with its implementions, as described in org.apache.hudi.commit.policy.WriteCommitPolicy, which is consolidated with that of StreamWriteOperatorCoordinator.
c) All control whether data quality or ingestion stability should be in high priority through FlinkOptions#IGNORE_FAILED.
And, we suggest that FlinkOptions#IGNORE_FAILED be false by default to avoid data loss.
d) Optimize and fix some tiny bugs for log traces when commiting on error or rolling back.
Impact
To help avoid compaction data loss due to caught write errors.
Risk level (write none, low medium or high below)
If medium or high, explain what verification was done to mitigate the risks.
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change

The config description must be updated if new configs are added or the default value of the configs are changed
Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
ticket number here and follow the instruction to make
changes to the website.

Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

@danny0405 would you pls help see this pr for avoiding data loss during compaction due to some write errors such as non-thrown exceptions ?

@danny0405 would you pls help see this pr for avoiding data loss during compaction due to some write errors such as non-thrown exceptions ?

What kind of exceptions in your production caused the write handle to encounter exceptions then ? And what would you want to do when you encounter that ?

@danny0405 would you pls help see this pr for avoiding data loss during compaction due to some write errors such as non-thrown exceptions ?

What kind of exceptions in your production caused the write handle to encounter exceptions then ?

@danny0405 Just as described in the opening part，we have encountered data loss during compaction. And after analyzing the code below and validating it online, we found that some Exceptions are catched during HoodieMergeHandle#writeRecord, then the writing handle process is interrupted, and only marked as failures in WriteStatus, therefore causes data loss from delta logs to data files. The exceptions might be like IOException from HoodieFileWriter#writeToFile, HoodieUpsertException, and so on.
  protected boolean writeRecord(HoodieRecord<T> hoodieRecord, Option<IndexedRecord> indexedRecord, boolean isDelete) {
    Option recordMetadata = hoodieRecord.getData().getMetadata();
    if (!partitionPath.equals(hoodieRecord.getPartitionPath())) {
      HoodieUpsertException failureEx = new HoodieUpsertException("mismatched partition path, record partition: "
          + hoodieRecord.getPartitionPath() + " but trying to insert into partition: " + partitionPath);
      writeStatus.markFailure(hoodieRecord, failureEx, recordMetadata);
      return false;
    }
    try {
      if (indexedRecord.isPresent() && !isDelete) {
        writeToFile(hoodieRecord.getKey(), (GenericRecord) indexedRecord.get(), preserveMetadata && useWriterSchemaForCompaction);
        recordsWritten++;
      } else {
        recordsDeleted++;
      }
      writeStatus.markSuccess(hoodieRecord, recordMetadata);
      // deflate record payload after recording success. This will help users access payload as a
      // part of marking
      // record successful.
      hoodieRecord.deflate();
      return true;
    } catch (Exception e) {
      LOG.error("Error writing record  " + hoodieRecord, e);
      writeStatus.markFailure(hoodieRecord, e, recordMetadata);
    }
    return false;
  }

And what would you want to do when you encounter that ?

What we want to do has been detailedly described in the opening part as a) -> d).
Compaction completed commit will actually be regarded as the snapshot and affect the latest file slices, so it's better to take the writestatus errors under consideration when deciding to commit or rollback for compaction (Just as the StreamWriteOperatorCoordinator done for deltacommit showed below).
In a word, compaction commit with errors should be rolled back, warned and retried for next schedule if we think data quality is more important than job stablility.
org.apache.hudi.sink.StreamWriteOperatorCoordinator#doCommit
  private void doCommit(String instant, List<WriteStatus> writeResults) {
    // commit or rollback
    long totalErrorRecords = writeResults.stream().map(WriteStatus::getTotalErrorRecords).reduce(Long::sum).orElse(0L);
    long totalRecords = writeResults.stream().map(WriteStatus::getTotalRecords).reduce(Long::sum).orElse(0L);
    boolean hasErrors = totalErrorRecords > 0;

    if (!hasErrors || this.conf.getBoolean(FlinkOptions.IGNORE_FAILED)) {
      HashMap<String, String> checkpointCommitMetadata = new HashMap<>();
      if (hasErrors) {
        LOG.warn("Some records failed to merge but forcing commit since commitOnErrors set to true. Errors/Total="
            + totalErrorRecords + "/" + totalRecords);
      }

      final Map<String, List<String>> partitionToReplacedFileIds = tableState.isOverwrite
          ? writeClient.getPartitionToReplacedFileIds(tableState.operationType, writeResults)
          : Collections.emptyMap();
      boolean success = writeClient.commit(instant, writeResults, Option.of(checkpointCommitMetadata),
          tableState.commitAction, partitionToReplacedFileIds);
      if (success) {
        reset();
        this.ckpMetadata.commitInstant(instant);
        LOG.info("Commit instant [{}] success!", instant);
      } else {
        throw new HoodieException(String.format("Commit instant [%s] failed!", instant));
      }
    } else {
      LOG.error("Error when writing. Errors/Total=" + totalErrorRecords + "/" + totalRecords);
      LOG.error("The first 100 error messages");
      writeResults.stream().filter(WriteStatus::hasErrors).limit(100).forEach(ws -> {
        LOG.error("Global error for partition path {} and fileID {}: {}",
            ws.getGlobalError(), ws.getPartitionPath(), ws.getFileId());
        if (ws.getErrors().size() > 0) {
          ws.getErrors().forEach((key, value) -> LOG.trace("Error for key:" + key + " and value " + value));
        }
      });
      // Rolls back instant
      writeClient.rollback(instant);
      throw new HoodieException(String.format("Commit instant [%s] failed and rolled back !", instant));
    }
  }

So we suggest to use FlinkOptions#IGNORE_FAILED for both delta_commit's and compaction commit's  commitOrRollback policy. Otherwise, we will still unexpectedly encounter data loss even though FlinkOptions#IGNORE_FAILED set false.

@danny0405  hi, are there any further improvements or supplements needed for this pr? Or if you will, maybe we could have a discussion offline about it.

@hudi-bot run azure

@danny0405 @yuzhaojing : gentle reminder about this PR as well. marked as critical for now. So, would appreciate if we can review it. no activity for quite sometime now.

@nsivabalan it will be appreciated much if you can help me push on this PR.
In fact it has been made me puzzled bacause quite several of my PRs stayed there for a long time. Just will been answered sometimes or not and then ignored.

@danny0405 could we review this pr? It has been here for a long time.
Its purpose is clear that we should include errors/exceptions wrapped in compaction write status into rollback policies.

@danny0405 : is this still a valid patch. can you follow up. if not, close it out

@danny0405 @yuzhaojing could you help review this pr? It has been here for a long time.
Its purpose is clear that we should include errors/exceptions wrapped in compaction write status into rollback policies.
Otherwise, it will still be committed even if this compaction has met with some data loss exceptions.

I see there are so many code refactoring in the patch, can we have a quick fix in CompactionCommitSink and left the refactoring to maybe another PR?

@danny0405 @yuzhaojing could you help review this pr? It has been here for a long time.
Its purpose is clear that we should include errors/exceptions wrapped in compaction write status into rollback policies.
Otherwise, it will still be committed even if this compaction has met with some data loss exceptions.

I see there are so many code refactoring in the patch, can we have a quick fix in CompactionCommitSink and left the refactoring to maybe another PR?

@danny0405 Already removed the refactoring part, and also added it to ClusteringCommitSink for the same reason.

Thanks for the contribution, reviewed and attach a patch here: 4406.zip
You can apply the patch with cmd:
git apply xxx.patch

Thanks for the contribution, reviewed and attach a patch here: 4406.zip
You can apply the patch with cmd:
git apply xxx.patch

applied and commit updated, pls review it once more

The failed test case TestHoodieTableFactory#testTableTypeCheck is unrelated with this patch and I test it locally to pass, would merge the PR soon ~


wiggle: emit a metadata module containing witx document

Over in Lucet, we'll be using some wiggle-adjacent proc macros to generate bindings to wasi-common. I'd like to make the witx document that wiggle used available in wasi-common's public interface so that I can generate the bindings straight from there, eliminating the possibility of getting our wires crossed.
The biggest issue I have with this PR is that it means all users of wiggle will have to take a witx runtime dependency that they otherwise may not need. In order to avoid this, wiggle emits the new metadata behind a new feature flag wiggle_metadata that consumer crates can opt-in to. As a result, we had to add the witx dependency to wasi-common, but its able to be optional if wasmtime doesnt want to use it. I haven't used cargo features as a library author before, or in a proc macro context, so I'd like to ask @alexcrichton for feedback if I did this right.

I can do those tweaks, sure. Do they mean that some consumers of wasi-common will get to skip the witx runtime dep, but over in lucet-wasi i can pass a feature flag in the right place

Sorry fat finger


TPCH Special Part 4

Adds exchange source cleanup.

Hi, @oerling. We are testing TPCH benchmark on Prestissimo and discovered that Q3, 5, 8, 9, 21 were slow on hash joins. I believe this PR should be really helpful in addressing the issue we encounter. It seems that there are a few build errors with this PR. May I ask if you are planning to address them?


[E2B-455] When you cancel the custom sandbox build in the middle, you get a connection timeout error when you try agian

Start building custom sandbox
Cancel once the build starts
Try building again right away

From SyncLinear.com | E2B-455

I wanted to mention that cancelling the e2b build locally after uploading the required files does not cancel the building process running on our infrastructure.
The template will finish building in the background.
I think this error is because you cannot start building the same template until the previous build finishes.


remove unneeded code

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

Merging [#122][cc-pull] into [master][cc-base-branch] will decrease coverage by 3.06%

@@             master       #122   diff @@
==========================================
  Files            26         25     -1
  Lines          2846       2473   -373
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           2573       2160   -413
- Misses          273        313    +40
  Partials          0          0

Powered by Codecov. Last update [7398ded...23f26e1][cc-compare]
[cc-base-branch]: https://codecov.io/gh/CyberReboot/vent/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/CyberReboot/vent/compare/7398ded57a47d0638cda3867a64216299b768c04...23f26e1de81306eb4e67aeca099e2d2eb35a6962?src=pr
[cc-pull]: https://codecov.io/gh/CyberReboot/vent/pull/122?src=pr


x/exp/apidiff: Incorrect behaviour with user defined type constraints

What version of Go are you using (go version)?

$ go version
go version go1.20.2 darwin/amd64

Does this issue reproduce with the latest release?
Yes.
Also reproducible with master.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/mjivrajani/Library/Caches/go-build"
GOENV="/Users/mjivrajani/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/mjivrajani/gocode/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/mjivrajani/gocode"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.20.2"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
GOWORK=""
CGO_CFLAGS="-O2 -g"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-O2 -g"
CGO_FFLAGS="-O2 -g"
CGO_LDFLAGS="-O2 -g"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/r7/f6kyp7vs0sv90105pjh1t8340000gp/T/go-build3338208334=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
We run apidiff as part of our CI in kubernetes/utils.
Recently https://github.com/kubernetes/utils/pull/243 was merged which introduced a type constraint called ordered.
(comparable is what was hoped to be used but since we weren't able to bump to go1.20 back then, we couldn't use it just yet)
apidiff ran successfully in the CI for that PR since it was a new and compatible addition, and hence deemed to be compatible.
However, it now fails to run against itself.
Reproducer:
git clone git@github.com:kubernetes/utils.git && cd utils
make verify-apidiff

What did you expect to see?
apidiff runs successfully when run against no new changes.
What did you see instead?
FAIL: k8s.io/utils/set contains incompatible changes:
- KeySet: changed from func(map[E]A) Set[E] to func(map[E]A) Set[E]
- New: changed from func(...E) Set[E] to func(...E) Set[E]
- Set: changed from Set[E ordered] to Set[E ordered]

Potential Reason
I see that apidiff was recently updated to support generics: https://go-review.googlesource.com/c/exp/+/411076
However, as part of this change, we check that 2 named types have an identical type parameter list:
https://github.com/golang/exp/blob/2e198f4a06a1643ba6d13f4823bebb46216bcb41/apidiff/correspondence.go#L209-L211
The issue that arises here is that since constraints are considered named types, and we are using types.Identical for comparison here, they are defined to be identical if they are part of the same type declaration, and since we now essentially end up with the same type but in two different packages (old and new), and hence are not identical.
See here: https://go.dev/play/p/z4AHbUXWA3D
However, on the other hand, if we used something like comparable as the type constraint instead of defining our own, things work fine since we no longer end up in the 2 package situation.
See here: https://go.dev/play/p/4X2t3TOx-UR

CC @jba

Thank you for the clear reproduction.

Thank you @jba!
Verified that this fixes the issue:
❯ make verify-apidiff
GO111MODULE=on ./hack/verify-apidiff.sh -r master
Inspecting API of master...
Comparing with master...
Ignoring internal package k8s.io/utils/internal/third_party/forked/golang/golang-lru
Ignoring internal package k8s.io/utils/internal/third_party/forked/golang/net
❯ echo $?
0


Unable to import name 'Box' from 'deep_utils'

Even with a trained custom model of version yolov5-v6.1 I am not able to resolve the error. Could you please provide details of your python env and other requirements? Thanks

Thanks to @MadanMl , I can solve the same problem. Colab users can navigate to the parent directory of '/content' and find the files mentioned via '/usr/local/lib/python3.9/dist-packages/..'

Thanks to @MadanMl and @SurimJang ,If you encounter such an error in the virtual environment, locate the file in the virtual environment. Mine is:
/lib/python3.9/site-packages/deep_utils/utils/box_utils/init.py
uncommenting the "from .boxes import Box, Point" line


Identify - clicking page number button only brings you back to top of page

From https://forum.inaturalist.org/t/page-navigation-isnt-working-in-identify/11466 I can replicate.

Go to /identify
Click on any of page numbers at the bottom of the page.
Browser goes back to top of page, no new observations load.

Console in FF:

Thanks, minor typo at https://github.com/inaturalist/inaturalist/commit/02e832d3ad5dfbc13eb0b5e763cd3f7e18229427#diff-1e115b3e17e85bc55b1fb8b664468097R3


'React/RCTBundleURLProvider.h' file not found

Hi there,
I am using react-native 0.61.5 and when I add use_frameworks! to the Podfile I am getting the build error 'React/RCTBundleURLProvider.h' file not found in AppDelegate.m

Hi @VitaliiK91,
Unfortunately we can't reproduce.
Here's the commands we ran:
npm install -g react-native@latest
react-native init AwesomeProject
cd AwesomeProject/

npm install pushy-react-native --save
react-native link pushy-react-native

nano ios/Podfile # inserting use_frameworks! right below use_native_modules!

cd ios && pod install
open *.xcworkspace # and build & run the project (which succeeded)

Please make sure you add use_frameworks! right beneath use_native_modules.

Hi @pushy-me , I was able to build the iOS app after updated to the latest XCode project. Thanks!


Introduce Aba::Batch class

Functionality was moved from Aba class. Aba class should contain only a public API for any operations while dealing with ABA flat files. Operations like preparing, creating or parsing ABA flat files should be implemented in dedicated classes. This change also allows introducing a class for parsing ABA flat files while keeping clear structure of gem files.

I wonder if this gem will ever do more than generate an ABA flat file which makes the Batch abstraction/refactor more of a nicety. Either way, I like the distinction. :+1:
I've added a note in the tests and since this is a breaking change (modifies the public API), the version needs to be bumped up to 1.3.2.

@trev
I'm currently working on functionality for parsing ABA flat files for my company and they have just approved opensourcing it. This PR is just preparation for upcoming PRs and it's a lot easier, for everyone who is interested, when it's done in small and more readably PRs rather that in one big PR which changes lots of things :wink:
As of changing the version, following semver.org we are still under 1.0.0 so I believe we are allowed to make breaking changes :hammer:. What do you think of bumping current version to 0.4.0 and following version with parsing flat files to 0.5.0 ?

Great stuff @kiela! Yah I complete missed that test and agree with the versioning.


Support "config.factoryAddress" to create tokens using a custom factory

Support "config.factoryAddress" to create tokens using a custom factory
Mark token contract methods as virtual (to allow overriding in a child contract)
Retry indefinitely for errors during event processing (particularly to solve transient failures in retrieving ERC721 token URI)

The URI issue was called out here: https://github.com/hyperledger/firefly-tokens-erc1155/issues/114 (but no separate issue filed in this repository)

I tested the retry loop by deploying an ERC721 with a broken "tokenUri" method. It retries forever as expected, with no good way to recover other than deleting the subscription and restarting the token connector. It's very quiet about it (token connector logs the error, but gives no outside feedback).
Another angle could involve actually crashing the container (potentially after a few retries), so it would show up as unhealthy to any reporting tools.

I'm going to scope out the event loop retries for now. They're not critical path for the main target of this PR, and it seems like they warrant some more exploration on their own.


IETF BCP 9 and similar references not fetched

References like IETF BCP 9 (https://xml2rfc.tools.ietf.org/public/rfc/bibxml-rfcsubseries/reference.BCP.0009.xml) do not appear to be fetched by relaton.
The RFC XML of these uses referencegroup tags, containing other RFC XML references. Treat these as bibitems with "includes" relations to their component bibitems.

@opoudjis isn't this correct fetching IETF BCP 9?
pry(main)> require 'relaton_ietf'
=> true
pry(main)> item = RelatonIetf::IetfBibliography.get 'IETF BCP 9'
[relaton-ietf] ("IETF BCP 9") fetching...
[relaton-ietf] ("IETF BCP 9") found BCP 9
=> #<RelatonIetf::IetfBibliographicItem:0x007fa5a08e9408
...
pry(main)> item.docidentifier[0].id
=> "BCP 9"

Huh, I must have looked at the wrong file. Ok, closing, sorry.

@opoudjis but I think we should use the https://xml2rfc.tools.ietf.org/public/rfc/bibxml-rfcsubseries source as a BCP, FYI, and STD source. I believe it's more reliable using XML sources instead of scraping HTML pages. And relaton-ietf doesn't fetch FYI and STD references yet. Do you agree?

Treat these as bibitems with "includes" relations to their component bibitems.

@opoudjis Now relation type is "merges". Are you sure we need to change it to "includes"?

I think we should use the https://xml2rfc.tools.ietf.org/public/rfc/bibxml-rfcsubseries source as a BCP, FYI, and STD source. I believe it's more reliable using XML sources instead of scraping HTML pages.

Fully agree, can you make a ticket for that?

And relaton-ietf doesn't fetch FYI and STD references yet.

I think we should fetch those too, can you help make a ticket for that too?
Thanks!

Fully agree, can you make a ticket for that?

@ronaldtse I can use this ticket, can't I?

Thanks @andrew2net !

Sorry I didn't get to this, and yes, merges, and yes, that source should indeed be used.


⚠ Jenkins Plugins Artifactory has degraded performance

In 96f91d9, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1799 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 072f744 after 4 hours, 29 minutes.


No way to unpause AudioPlayer

Seems there is no unpause because clicking play starts from the beginning and clicking pause again does nothing.

This is true in the example, but calling play() or playRecording() after pausing should work. Let me know if it doesn't!

I am using AudioPlayer.pause() with mp3s. Then AudioPlayer.play(); does nothing and AudioPlayer.play(path); starts a song at the beginning.

OK, I'll take a look at this soon!

+1 I also just noticed this

I'll be looking at this later today.

I'm about to submit a PR that solves this problem and adds some other audio player manager functionality.

pull #25 addresses this issue by adding an unpause method

#25 is merged. Thanks @LennonR!


Add meaningful unit tests

We should test eg. parsing / deserialization logic + general business logic which does not rely on IO

Note echoed from #38 - we need to mock registry interactions so we can test local logic independently of it.

I think this is something I am interested in tackling.

Solved


feat: support wait as a function

This adds support for wait from asyncio in CPython.  wait is helpful because it allows for specifying the return_when behavior - so you can run multiple async and get a value back when the first succeeds or raises, or when all have completed.  It also makes the timeout an optional behavior.
In an attempt to keep the weight of this change low, the other functions for waiting in funcs.py have been refactored to reuse this new function as a basis

Going to mark this as a draft.  I think I can get tests running and tests would make me far more confident if changes like this.


The z-index attribute is not effective!!!

https://stackblitz.com/github/Joepocalyptic/nuxt-particles?file=playground%2Fapp.vue
I found that in the project
FullScreen:{
Enable: true,
ZIndex: -1
}
invalid
There is no z-index attribute in style

you have to delete:
background: {   color: {     value: '#000'   } },

There is a bug. The owner have no time to fix it, at this time.
I hope he will get back to me soon when he was fixing it.