Autocorrect language name typos (like Git does for commands)

From @muuvmuuv on October 29, 2018 7:10
Describe the feature
I have started working more with the Unibeautify CLI and had noticed that it is really hard to understand how it is working. I started with unibeautify index.js -l javascript, then I saw that I need to flag the file with -f and after a talk with @stevenzeck (See: unibeautify-cli/issues/103) I had to letter javascript correctly. So the correct way was unibeautify -f index.js -l JavaScript.
This is IMHO,  a little bit to difficult for the most users because not every developer knows the correct lettering of every language. I think we need to make this case intensitive. The corresponding lines are LanguageManager.ts#L18 and LanguageManager.ts#L25
Copied from original issue: Unibeautify/unibeautify#208

From @lassik on October 29, 2018 7:57
I agree. We haven't done a lot of work on the CLI yet. Hopefully the pace is picking up soon :)

From @Glavin001 on October 29, 2018 13:43
I think your reasoning makes sense.
I would prefer to keep the name to be correct and exact. However, I also want the user experience to be better. How about for the time being we make autocorrect / recommendations to the user like git does? See https://stacktoheap.com/blog/2015/11/01/git-autocorrect-feature/ for example.
$ git psuh
git: 'psuh' is not a git command. See 'git --help'.

Did you mean this?
  push

My proposal:

[x] All documentation is properly cased (i.e. JavaScript not javascript)
[x] .unibeautifyrc file language keys should be properly cased

[ ] When provided a configuration file with incorrectly spelt languages, Unibeautify should not automatically work, however, it should try to recommend to the user what changes should be made (i.e. javascript ==> JavaScript)

[ ] Unibeautify CLI should recommend to the user when -l <language> is not found, find the best match

From @muuvmuuv on October 30, 2018 8:1
@Glavin001 love that idea! 🎉

From @Glavin001 on October 30, 2018 22:0
🎉 Awesome! I'm open to receiving a Pull Request to Unibeautify CLI which reports an error to the user for incorrectly spelt language names and then recommends similarly spelt languages for the user to fix.
I'm open to suggests on the message format. We can discuss in the PR.
For example:
$ unibeautify -f index.js -l javascript
Language 'javascript' is not found. Did you mean "JavaScript"?

Right now we're waiting for unibeautify.beautify() to return the error Cannot find language..
We can either handle it within the catch or we can search for the language before we try to beautify.  We'll need to add a method to unibeautify to find the exact language so it's available in the API.
Or should we modify LanguageManager.getLanguage() to include a suggestion in the return?

@Glavin001 @muuvmuuv @lassik any opinions on the above?

I wouldn't use an exception handler for this - seems a bit of a hack because we'd have to bounce back from the exception handler into the core for a second time.
IMHO it would be best for the CLI to pass a function (closure/callable) to the Unibeautify core. The function would be called in case the language doesn't match, and would suggest a more appropriate language using whatever criteria it wants. The function could take 2 arguments:

the user-supplied language that didn't match
a list of all available languages in Unibeautify core

What do you think?

Letting the CLI search for the language before beautifying would also be fine in in my opinion. Maybe the simplest.

@stevenzeck let’s try searching for language before, as suggested above.


skeleton stage 2 support for 'zig build'

Initial port of the 'zig build' logic from the stage 1 compiler to the
stage 2 compiler sans code generation and BUILD_INFO support.
Hope this is useful.  Thought I'd get the ball rolling.

Sweet, thanks!
If you're looking for more places to contribute to the self-hosted compiler, I think the first step is finishing the tokenizer and parser.

std/zig/tokenizer.zig
std/zig/parser.zig

At the bottom of std/zig/parser.zig there are "zig fmt" tests - that is, it tests tokenizing, parsing, and then rendering back again. This tests what will be the zig fmt command used to re-format code - so it preserves comments and up to 1 extra newline. So the test cases are in the canonical source form.
One big milestone for the self-hosted parser will be ability to parse and render all of std/* and test/*. I've been running std lib files through the parser, and then creating a "zig fmt" test case for the first parse error that occurs.
One thing going on right now is that the expression parsing code is kind of confusing. @thejoshwolfe had a cool idea for how expression parsing can work and then started an implementaion, but then got really busy, and I don't fully understand how it works. So I might rework it to be closer to the existing recursive descent design (except with a state machine instead of recursion).


Mobile navigation and re-skin

This PR brings

Hamburger menu
PAH logo (polish if polish language selected, english logo if any other language selected)
Makes theme more unified with PAH website theme
Fixes footer on mobile
Fixes flag display

A couple of styling polishing on small screen (tested on Chrome with iPhone5 emulation)
Menu overlapses logo:

Is it intended that not all items in menu are displayed one below another (Routes and Login are on the same line)

Routes list: items should take 100% of the available container width.

On desktop (900px width) menu goes too high and language switcher is displayed on top of it.
Maybe we could use grid for the menu on desktop?

This is navigation work not pages work of particular pages though. If they need to be restyles, let's make a separate task for it.
I am not sure why you are testing page on IPhone 5 - the target audience is users on android devices. If other devices need to be considered though, please make a separate task that specifies those so they can be addressed properly.

A couple of styling polishing on small screen (tested on Chrome with iPhone5 emulation)
Menu overlapses logo:

Is it intended that not all items in menu are displayed one below another (Routes and Login are on the same line)

Routes list: items should take 100% of the available container width.

On desktop (900px width) menu goes too high and language switcher is displayed on top of it.
Maybe we could use grid for the menu on desktop?

I test with Chrome emulator set to iPhone 5 because it's a preset with a small screen. As far as I know it's the only difference between presets, so I could use an older Samsung Galaxy phone as well.
It has to work very good on mobile first, so I still think these tweaks are required.


Pin go version, update ci workflow and bump controller_tool version

Currently we use the go version which is 1.21 in the ubuntu image from the runner. That probably will change soon and ci "probably" will start failing.

Thanks! Just one thing: in this case I'd split at least the part where we bump controller-gen and all the generated bits, and reword the commit title (and the PR title) as we are doing much more than advertised in the title / subject

Do i need to "update branch" from github(or from my local fork), so this PR to be ready to be merged?

Do i need to "update branch" from github(or from my local fork), so this PR to be ready to be merged?

nope, it's not required as we have merge queues activated. And even if we didn't have, the maintiners have that option so it's better to leave the choise to rebase to them (because there might be multiple prs to be merged, and the rebasing order might differ)

LGTM, sending to merge queue

Thanks! do you know why there are some borken github actions workflows around the generated files?

This is the publish workflow, so it could be that we have some difference there (such as the go version used?)


Files opened by "Copy to" get filenames mangled

See #3 for a discussion of "Copy-to" files.
Problem
When you open a file by "Copy to", a copy of the file is placed in /private/var/mobile/Containers/Data/Application/$SANDBOX_UUID/Documents/Inbox/. Say the file is foobar.txt.
If you don't do anything with that file, it will just sit there forever.
Then when you "Copy to" foobar.txt again, the new copy will be renamed to foobar-2.txt to avoid overwriting the old copy.
(Why would you "Copy to" the same file twice? For instance opening files from Google Drive only allows doing "Copy to", not "Open in", so if you want to open files from Google Drive in a Flutter app using file_picker_writable then you will encounter this issue.)
Proposal
The only workaround I can see is to delete the copied file when you're done with it. You can delete the file just fine: File.fromUri(Uri.parse(fileInfo.uri)).delete() will succeed. However it's not clear which files are safe to delete this way.
So I would propose a flag: isCopy or isLocalFile or something, to indicate that the file was copied rather than being accessed in-place.
Other solutions I don't like
Just delete all of Documents/Inbox
This seems like overkill. What about use cases where some such files should be retained?
Just delete if the file URI is within the app's sandbox
This is surprisingly cumbersome to do correctly: Using e.g. path_provider you can obtain the app's Documents folder, but the URI is slightly different due to symlinks (one starts with /var, the other /private/var; the former is symlinked to the latter).
final docsDir = await getApplicationDocumentsDirectory();
final realDocsDir = docsDir.resolveSymbolicLinksSync();
final filePath = Uri.parse(fileInfo.uri).toFilePath();
if (filePath.startsWith(realDocsDir)) {
  // File is in app's sandbox
}

So we need another Flutter plugin, a roundtrip through a platform channel, and to hit the filesystem, all to determine something that flutter_picker_writable already knows.

I also didn't realize that there is a Copy As with the document APIs on iOS, I thought it would be editable in place.. good to know.
Regarding flags: I think this is pretty similar to persistable - how about reusing it? it's basically the same thing? (It can only be read, and not written back.. and when we implement the proposed fix, we'd delete the file from the Inbox, it is also no longer readable)
I would guess from the name Inbox that we could also delete all of the files, because there shouldn't be any retained files anyway, those are only files which are copied there so they can be imported by the app. But I agree, it would be safer to only delete files we explicitly pass on..
To be honest, I think the file handling is generally a bit wrong right now with many left-over files by default.. Every operation should be take a callback within which the caller on the dart side has access to the file, and once the callback returns, the file is always deleted. So for example:
final result = await FilePickerWritable().readFileWithIdentifier(fileIdentifier, (fileInfo, file) async {
  // now we can access `file`
  final contents = await file.readAsString();
  return contents;
});
// now `file` is deleted again.

because the FileInfo.file right now should actually only be read from.. because it is just a copy in most cases (e.g. android content uris, ios urls). but nobody is deleting those files.
I could imagine a similar write operation which takes care of creating a temporary file the caller can use to persist changes..
await FilePickerWritable().writeFileWithIdentifier(fileIdentifier, (file) async {
  // now we can access `file`
  await file.writeString('lorem ipsum);
});
// now `file` is deleted again.

ie. the FileInfo would actually no longer have the file property, but it is only available while inside the callback..

Regarding flags: I think this is pretty similar to persistable - how about reusing it? it's basically the same thing? (It can only be read, and not written back.. and when we implement the proposed fix, we'd delete the file from the Inbox, it is also no longer readable)

If you're OK with this solution, I do think it's best. I was assuming that because the identifier is technically persistable (it just points to the "wrong" file) that you would prefer persistable: true. But that does violate the spirit and main use case of the plugin.
Actually it turns out you can't write to files in Documents/Inbox, so treating them as non-persistable seems like very much the right choice.

To be honest, I think the file handling is generally a bit wrong right now with many left-over files by default

You are properly using NSTemporaryDirectory to get tmp/; according to the docs:

Use this directory to write temporary files that do not need to persist between launches of your app. Your app should remove files from this directory when they are no longer needed; however, the system may purge this directory when your app is not running.
The contents of this directory are not backed up by iTunes or iCloud.

Since the OS will clean it up I think it's OK to leave them there. Also the user can delete FileInfo.file from Dart if they really want to.
It's just files in Inbox that need additional handling, and I think it's unreasonable to do so from the Dart side.

Every operation should take a callback within which the caller on the dart side has access to the file, and once the callback returns, the file is always deleted

ie. the FileInfo would actually no longer have the file property, but it is only available while inside the callback.

I understand and agree with your desire here, but I have to caution against this kind of API:

I don't think it's feasible to actually control the lifetime of the file: You can't prevent someone from grabbing it and retaining it within the callback, or adding it to a Stream (in fact one can recreate the old async-based API fairly easily by doing so). Callbacks may help communicate your intent, but they are also quite painful to work with.

You can achieve the same delete-on-return semantics with the current API: when the Dart-side MethodChannel call handler returns, the result is fed back to the platform-side. You can delete the file there if you really want.

I will open a new PR with:

persistent: false for Copy-to files
Deleting Inbox files after return from Dart

This was addressed by #3


Add link to book and paper pages

Absolute URLs are used so it works wherever the docs are hosted.

Thanks for the approval @kbajda  .. I dont have merge rights so @electrum or someone else has to chime in and merge. Then I think it goes live with the next release.

Thanks!


doris can support to limit the timeout of one sql execution

Is your feature request related to a problem? Please describe.
I want to pass a timeout to one query sql, just like 'select /+ max_execution_time(3000)/'. once time is out, the query will return a timeout exception to the caller and kill the query inside the doris cluster to protected doris from being hurt by this dangerous query.
Describe the solution you'd like
just like mysql, support the timeout in a query like   'select /+ max_execution_time(3000)/'
Describe alternatives you've considered
no
Additional context
no

Currently we do not support this kind of syntax.
You can use session variable like set query_timeout=60 to set a timeout for all queries in a session.


Push encryption to infrastructure

I noticed that the messages are being encrypted before being sent and then decrypted when they arrive. You can push encryption/decryption down into the infrastructure layer so that your business-level code doesn't need to deal with it.
There's a feature out of the box to encrypt individual properties on messages
There's a sample in the docs that shows how to hook into the NServiceBus pipeline to encrypt entire message bodies

thank you mike for recommendation.


fromDateTime() return type differs between V1 vs V2

Discussed this with @Jackie-Jiang , currently in V1 above function returns a long which means an expression like this
DATE_MINUTE_EPOCH > fromDATETIME('2023-02-01 00:00:00.000','yyyy-MM-dd HH:mm:ss.SSS')
where first col. type is Long (epochMillis) works without any issue. However in V2 return type for the function is Timestamp as such above expression has to be explicitly cast as BIGINT to make it work, i.e
DATE_MINUTE_EPOCH > cast(fromDATETIME('2023-02-01 00:00:00.000','yyyy-MM-dd HH:mm:ss.SSS') as BIGINT)
else it fails with a type cast error.
Filing this issue as a placeholder to discuss how should this be handled in V2 vs V1 behavior given the data type definitions are quite different.

@Jackie-Jiang Do you need help to analyse and fix it if it is an issue?

@GopsAB Yes. The root cause is that a lot of date time functions can only take TIMESTAMP as input. In V1, TIMESTAMP and LONG can be used interchangeable because the internal storage are the same. It is not the same case in V2 which is strong typed. Using LONG column as input can cause error during planning. IMO the correct fix should be to make sure all functions are SQL compatible, i.e. the return value matches the standard SQL definition

fromDateTime doesn't seem to be a standard SQL function that exists in other databases. I think it probably makes sense to unify the v2 behavior with v1 in this case - i.e., it should take a timestamp string as input and return a long representing milliseconds since epoch.


Update rubocop

Rubocop hasn't been updated in a long time, and that's not really a good thing.
This sequence of commits updates rubocop to be progressively less ancient. I'm making some suggested changes, but in other cases I'm intentionally disabling newer cops. I'd rather have a newer rubocop with some newer cops disabled, compared to an older rubocop which doesn't have any of the newer improvements. We can then incrementally enable newer cops; when we use a newer rubocop, there's a higher chance that there are better automations for those newer cops.
@dankohn @jdossett - let me know if this is crazy :-).

This makes sense to me David. :thumbsup:

Thanks! I am not going to squash and merge. That way, if something goes wrong, it will be much easier to do a binary search to narrow down what caused the problem. It's also easier to follow if each stage is its own commit.


VSCode freezes while scrolling through C++ code

Issue Type: Performance Issue
Frequencly vscode will just freeze for 2 seconds when browsing through the code. Nothing in particular is happening so I am not sure how to repro this. Some times it even pops up the message that the window is unresponsive and I have to close it and restart it.
VS Code version: Code 1.65.2 (c722ca6c7eed3d7987c0d5c3df5c45f6b15e77d1, 2022-03-10T15:36:26.048Z)
OS version: Linux x64 5.14.0-1027-oem
Restricted Mode: No
Remote OS version: Linux x64 5.14.0-1027-oem

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-10885H CPU @ 2.40GHz (16 x 2400)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onrasterization: disabled_softwareskia_renderer: enabled_onvideo_decode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 4

Memory (System)
62.52GB (19.59GB free)

Process Argv
--unity-launch --crash-reporter-id 6c529226-9ade-46f9-9f8f-605035834569

Screen Reader
no

VM
0%

DESKTOP_SESSION
ubuntu

XDG_CURRENT_DESKTOP
Unity

XDG_SESSION_DESKTOP
ubuntu

XDG_SESSION_TYPE
x11

Item
Value

Remote
Container

OS
Linux x64 5.14.0-1027-oem

CPUs
Intel(R) Core(TM) i9-10885H CPU @ 2.40GHz (16 x 2400)

Memory (System)
62.52GB (19.59GB free)

VM
0%

Extensions (12)

Extension
Author (truncated)
Version

bracket-pair-colorizer-2
Coe
0.2.2

remote-containers
ms-
0.224.2

remote-ssh
ms-
0.76.1

remote-ssh-edit
ms-
0.76.1

idl
myt
0.3.1

vscode-bazel
Baz
0.5.0

doxdocgen
csc
1.4.0

vscode-docker
ms-
1.20.0

cpptools
ms-
1.8.4

vscode-protolint
ple
0.6.0

vscode-yaml
red
1.5.1

vscode-proto3
zxh
0.5.5

(2 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492:30256859
pythonvspyl392:30443607
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscorecescf:30445987
pythondataviewer:30285071
vscod805cf:30301675
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
testflightcf:30433671
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
vsclayoutctrt:30451275
dsvsc009:30452663
pythonvspyt640:30450904
vscscmwlcmc:30438804
vscgsvidc:30447482
pynewfile477cf:30450039

Can you try to reproduce with our nightly insider builds? You can give our preview releases a try from: https://code.visualstudio.com/insiders/

@bpasero code-insiders for me opens and crashes immediately with no errors. Cannot repro with it.

Is there any way I can collect any data from my side?

Can you please follow the steps in https://github.com/Microsoft/vscode/wiki/Native-Crash-Issues to get at more details around the crash and attach the result here? Thanks!

@deepak1556 can you check on the provided crash, looks like it could originate from the Electron 17 update.

@evdenaxas are you running on wayland session ?

@deepak1556 I do not know what that is. So, no?

Can you provide the output of code-insiders --verbose

code_insiders.log

echo output: $XDG_SESSION_TYPE
x11

code-insiders --disable-gpu also crashes.

Can you provide the output of code-insiders --disable-gpu --verbose

Can you also check if the crash happens with snap installation of code-insiders ?


[Bug] array_range函数官方文档生成日期数组报错

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
执行select version()得到的版本是 5.7.99
What's Wrong?
执行的sql都是官方文档array_range函数给的示例

1、执行select array_range(10,20)没有问题

2、执行 select array_range(cast('2022-05-15 12:00:00' as datetimev2(0)), cast('2022-05-17 12:00:00' as datetimev2(0))) AS array_range_default;报错

What You Expected?
生成一个连续的日期数组
How to Reproduce?
No response
Anything Else?
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Which branch?


Parameter 'input' on the metadata restore CLI not working

Affected module
Does it impact the UI, backend or Ingestion Framework?

[x] backend

Describe the bug
On the CLI of metadata, when you try to do a restore from a mysql.sql backup file, it thows an error of invalid argument 'input'.
Just try to make a restore like:
metadata restore -u openmetadata_user -p openmetadata_password -h localhost -d openmetadata_db --input openmetadata_202210211148_backup.sql
And the error bellow occurs

Expected behavior
Like the docs here, it shold make the restore of the backup file.
Restoring OpenMetadata backup for localhost:3306/openmetadata_db...
Backup restored from openmetadata_202210211148_backup.sql

Version:

OS: Windows 10, on Ubuntu 20.04 on WSL2
Python version: 3.8
OpenMetadata version: 0.12.2
OpenMetadata Ingestion package version:  openmetadata-ingestion[docker] in /usr/local/lib/python3.8/dist-packages (<IP_ADDRESS>)

It was fixed.


add CAP_PERFMON, CAP_BPF, and CAP_CHECKPOINT_RESTORE

CAP_PERFMON and CAP_BPF were introduced in kernel 5.8: https://kernelnewbies.org/Linux_5.8#Introduce_CAP_BPF_and_CAP_PERFMON_security_capabilities
CAP_CHECKPOINT_RESTORE was merged on the master recently and will be available in the next version of the kernel. https://github.com/torvalds/linux/commit/124ea650d3072b005457faed69909221c2905a1f
The capability numbers are taken from https://github.com/torvalds/linux/blob/442489c219235991de86d0277b5d859ede6d8792/include/uapi/linux/capability.h#L373-L416

@syndtr PTAL

@syndtr Is this repo still maintained?


Radial Bar Chart

Description

The default plot/track direction of Radial bar chart is clockwise. Is there a way to change the direction to Anti-clockwise. I have tried to tweak startAngle and endAngle to see if I can achieve that but all effort made was futile. In Rechart(react.js chart library), this can easily be achieved by manipulating startAngle and endAngle.
Steps to Reproduce

Expected Behavior
Actual Behavior
Screenshots

Reproduction Link

I was also looking for the anti-clockwise Radial Bar Charts. Would it be possible to add that feature?


CF commands fail only on home router

Command
Any command, but at the moment,
cf login
What occurred
This problem began after I had been using CF successfully for weeks. I ran a CF push, and then ran it again after making a change in my app, only to find it was not working.
I can not run any CF commands on my home router, but it works on other networks. On my home network, I can still connect to CF using curl, like so:
$ curl https://api.run.pivotal.io/v2/info
{"name":"","build":"","support":"https://support.run.pivotal.io","version":0,"description":"Cloud Foundry sponsored by Pivotal","authorization_endpoint":"https://login.run.pivotal.io","token_endpoint":"https://uaa.run.pivotal.io","min_cli_version":"6.22.0","min_recommended_cli_version":"latest","api_version":"2.113.0","app_ssh_endpoint":"ssh.run.pivotal.io:2222","app_ssh_host_key_fingerprint":"e7:13:4e:32:ee:39:62:df:54:41:d7:f7:8b:b2:a7:6b","app_ssh_oauth_client":"ssh-proxy","doppler_logging_endpoint":"wss://doppler.run.pivotal.io:443","routing_endpoint":"https://api.run.pivotal.io/routing"}%

But CF does not work, like so
cf login

API endpoint> api.run.pivotal.io
FAILED
Error performing request: Get https://api.run.pivotal.io/v2/info: dial tcp: i/o timeout
TIP: If you are behind a firewall and require an HTTP proxy, verify the https_proxy environment variable is correctly set. Else, check your network connection.

What you expected to occur
CF would connect to the api and prompt me for my username and password
CLI Version
6.37.0+a40009753.2018-05-25
CC API Endpoint Version
I don't know, as I can't connect to Cloud Foundry.
CF Trace
$ cf login -a api.run.pivotal.io -v
API endpoint: api.run.pivotal.io

REQUEST: [2018-06-09T16:52:26-05:00]
GET /v2/info HTTP/1.1
Host: api.run.pivotal.io
Accept: application/json
Content-Type: application/json
User-Agent: go-cli 6.37.0+a40009753.2018-05-25 / darwin

FAILED
Error performing request: Get https://api.run.pivotal.io/v2/info: dial tcp: i/o timeout
TIP: If you are behind a firewall and require an HTTP proxy, verify the https_proxy environment variable is correctly set. Else, check your network connection.

Platform & Shell Details
Mac OSX High Sierra 10.13.1
shell is zsh 5.3 (x86_64-apple-darwin17.0)
Any other relevant information
Let me know what other information is needed!

hey @dzaharia1 could you provide us with more information?  Steps to reproduce, for example, or any other information that would help us understand the issue further. Thanks.

Hi @dzaharia1 we are closing this issue due to inactivity. Please do not hesitate to create a new issue/reopen this issue if this problem persists.

I know that this issue has been closed due to lack of response, but I am having the same issue and suspect others may as well. Following shows a lack of response to my request issued via cf cli:
$ cf login -a api.run.pivotal.io -v
API endpoint: api.run.pivotal.io
REQUEST: [2018-09-10T14:37:13-07:00]
GET /v2/info HTTP/1.1
Host: api.run.pivotal.io
Accept: application/json
Content-Type: application/json
User-Agent: go-cli 6.38.0+7ddf0aadd.2018-08-07 / darwin
FAILED
Error performing request: Get https://api.run.pivotal.io/v2/info: dial tcp: i/o timeout
TIP: If you are behind a firewall and require an HTTP proxy, verify the https_proxy environment variable is correctly set. Else, check your network connection.
I do get a response from that endpoint if I use curl:
$ curl https://api.run.pivotal.io/
{
"links": {
"self": {
"href": "https://api.run.pivotal.io"
},
"cloud_controller_v2": {
"href": "https://api.run.pivotal.io/v2",
"meta": {
"version": "2.121.0"
}
},
"cloud_controller_v3": {
"href": "https://api.run.pivotal.io/v3",
"meta": {
"version": "3.56.0"
}
},
"network_policy_v0": {
"href": "https://api.run.pivotal.io/networking/v0/external"
},
"network_policy_v1": {
"href": "https://api.run.pivotal.io/networking/v1/external"
},
"uaa": {
"href": "https://uaa.run.pivotal.io"
},
"credhub": null,
"routing": {
"href": "https://api.run.pivotal.io/routing"
},
"logging": {
"href": "wss://doppler.run.pivotal.io:443"
},
"app_ssh": {
"href": "ssh.run.pivotal.io:2222",
"meta": {
"host_key_fingerprint": "e7:13:4e:32:ee:39:62:df:54:41:d7:f7:8b:b2:a7:6b",
"oauth_client": "ssh-proxy"
}
}
}
}
My home internet access is provided by Comcast and my modem/router is a Netgear C6300. Any ideas on how to remedy this?

I am having the same issue on Mac High Sierra 10.13.6. It works if I run connect wifi through my phone but not with my home wifi (google wifi). I can wget the url https://api.run.pivotal.io and hit with browser. Please re-open this issue.

Hi @dangleton @dgrumm do you think the issues you are seeing is related to: https://github.com/cloudfoundry/cli/issues/1433? Could you please try our latest Edge binary to see if that fixes the issue?
@dzaharia1 if you resolved this issue, could you please let us know how/why you were experiencing the issue?

@abbyachau Using the edge binary solved the issue.

@dangleton thank you for confirming. @dgrumm apologies for the delay in response, please try the Edge binary to see if it resolves the issues you are seeing.
We plan on releasing CLI 6.40.0 soon, which will include this fix. Please follow the story marker to track progress. In the meantime, please do not hesitate to reach out should you have any questions. Thanks.


scrollOnSelect -- what is the intention

I am not sure what the expected behavior of scrollOnSelect is. Isn't it supposed to make sure the node is shown when it is expanded?
When expanding a node, I have two issues that this property does not seem to address:

When the node is at the bottom of the screen, the children are not visible after expansion and there is no hint that there is content below.

When the node is at the top of the screen, it expands upwards and goes out of view.

Not sure I understand. Can you attach a screen capture?


Support for custom resolvers with Hydra

❓ Questions
Hi,
With hydra and more generally omegaconf, it is possible to register new resolvers to apply custom functions directly within the YAML configuration. I can for example do the following:
from omegaconf import OmegaConf

def effective_lr(base_lr: float, batch_size: int) -> float:
    return base_lr * batch_size / 256

OmegaConf.register_new_resolver("effective_lr", effective_lr)

@hydra.main(...)
def main(cfg):
    ...

which enables me to put directly in my yaml file:
data:
    batch_size: 128
    ....
model:
    ...
    optimizer:
        _target_: torch.optim.Adam
        _partial_: true
        lr: ${effective_lr:${model.base_lr},${data.batch_size}}
    base_lr: 0.0003
    ...

However, when using Dora's hydra_main, this doesn't work anymore. Indeed when I use e.g. dora run, the first thing executed is main.get_xp and for some reason this function under the hood resolves the whole config, thus raising an InterpolationError since the custom resolver hasn't been registered yet.
The only workaround I found to resolve this issue consists in directly overriding hydra_main:
from dora import hydra_main

def my_hydra_main(config_name: str, config_path: str, extra_resolvers: Dict[str, Callable] = None, **kwargs):
    """Wrap your main function with this.
    You can pass extra kwargs, e.g. `version_base` introduced in 1.2.
    """
    extra_resolvers = extra_resolvers or {}
    for name, resolver in extra_resolvers.items():
        OmegaConf.register_new_resolver(name, resolver)
    return hydra_main(config_name=config_name, config_path=config_path, **kwargs)

@my_hydra_main(version_base="1.3",
            config_path="../configs",
            config_name="train.yaml",
            extra_resolvers={"effective_lr": effective_lr})
def main(cfg: DictConfig) -> Optional[float]:
    ...

This works quite well, however I'd have 3 questions:

Is it necessary to parse the config directly when calling main.get_xp() in Dora, since anyway the cfg arg of the DecoratedMain is not resolved? If yes, why?
Is there already a way to register custom resolvers while using Dora that I may have missed?
If no, should I consider doing a PR to replace hydra_main by my_hydra_main in next version? Since it only adds an optional arg that is not used by the original hydra_main, hopefully it shouldn't break anything.

Thanks a lot!

I'm wondering why not do it outside of my_hydra_main ? it doesn't seem like you are using any of the Hydra API to register new resolver, so you could have something like
def register_my_resolver():
    for name, resolver in extra_resolvers.items():
        OmegaConf.register_new_resolver(name, resolver)

@hydra_main(...)
def main(cfg):
    ...

register_my_resolver()

Note that the position of the call to register_my_resolver() doesn't actually matter, and could be before main(). I would tend to favor this option as this makes it clear from the code, that the registration of the resolvers will leak to any other call to OmegaConf, and I would tend to think a PR is not needed for that use case. Potentially an update to the README to show this pattern.
Regarding question 1., get_xp() needs to resolve the config because this is how the signature is actually derived. It will resolve the full config, compare it with the base config and build a delta. The hash of the delta is then the signature.

Indeed your solution works.
I initially tried something similar but since I put register_new_resolver() inside my if __name__ == '__main__': block it wasn't executed, which made me (wrongly) think that when using the dora command, only the piece of code inside hydra_main was executed.
Maybe mentioning this point in the README could be helpful, insisting on the fact that the register_new_resolver should be outside of the if __name__ == '__main__', which is a bit unusual.
Thanks a lot!


unauthorized: authentication required For pulling Tensor Flow Docker instance

Expected behavior
Actual behavior
Information about the Issue
Steps to reproduce the behavior

Start The kinematic and then select the TensorFlow instance
Click the download, we get the error "unauthorized: authentication required"

Please make sure that you've validated your account prior to pulling an image; this can be done by doing the following:

Login to cloud.docker.com
Click on Account Settings
Check and verify that your primary email has been verified

Tensorflow works only on python 3.5.x . You must have installed latest 3.6.x version.....Uninstall it and install 3.5.x.


test(transition-mode.spec.js): fix #8992

promote 'let next' to top
fix #8992

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[x] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[x] It's submitted to the dev branch for v2.x (or to a previous version branch), not the master branch
[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
[x] New/updated tests are included

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

Closing as irrelevant, as explained by @jkzing


Two clicks needed for cell to work

Sometimes two clicks on the cell are necessary for the item to be selected.
If we remove the key from DefaultListTile everything works fine but the widget wont scroll

Fixed on this commit


chore: Check the contracts are upgradeable

What does this PR do?
Adds a CI step to check if the contracts are upgradeable
Related ticket
Fixes #
Type of change

[ ] Chore
[ ] Bug fix
[ ] New feature
[ ] Documentation update

Check list

[ ] Unit tests for any smart contract change
[ ] Contracts and functions are documented

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

Comparison is base (a0d64e5) 93.52% compared to head (a0ca835) 93.52%.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev     #403   +/-   ##
=======================================
  Coverage   93.52%   93.52%
=======================================
  Files          18       18
  Lines         309      309
  Branches       68       68
=======================================
  Hits          289      289
  Misses         10       10
  Partials       10       10

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


crypto/x509: can't verify signature on RSA-PSS certificate requests it created

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

 $ $GODIR/bin/go version
go version devel go1.17-1108cbe60b Thu May 6 02:21:55 2021 +0000 linux/amd64

(Freshly compiled from master)
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
 $ $GODIR/bin/go env |sed "s,$HOME,\$HOME,"
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="$HOME/.cache/go-build"
GOENV="$HOME/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="$HOME/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="$HOME/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="$HOME/Documents/projets/misc/bug_go_pss/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="$HOME/Documents/projets/misc/bug_go_pss/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="devel go1.17-1108cbe60b Thu May 6 02:21:55 2021 +0000"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="$HOME/Documents/projets/misc/bug_go_pss/go/src/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3149370505=/tmp/go-build -gno-record-gcc-switches"

What did you do?
I created a RSA-PSS CertificateRequest and tried to check its signature.
Here is a simple test program : https://play.golang.org/p/TGNgUYvNH5o
It can also be reproduced with the tests from crypto/x509/x509_test.go :
From 6d9c39291cf2d3b6de10b0889d7d1baa72c81d93 Mon Sep 17 00:00:00 2001
From: Yoann Congal<EMAIL_ADDRESS>Date: Thu, 6 May 2021 11:39:29 +0200
Subject: [PATCH] crypto/x509: add test for RSA-PSS CertificateRequest

---
 src/crypto/x509/x509_test.go | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/crypto/x509/x509_test.go b/src/crypto/x509/x509_test.go
index 51dda16815..5314a99cf7 100644
--- a/src/crypto/x509/x509_test.go
+++ b/src/crypto/x509/x509_test.go
@@ -1390,6 +1390,7 @@ func TestCreateCertificateRequest(t *testing.T) {
 		sigAlgo SignatureAlgorithm
 	}{
 		{"RSA", testPrivateKey, SHA1WithRSA},
+		{"RSA-256-PSS", testPrivateKey, SHA256WithRSAPSS},
 		{"ECDSA-256", ecdsa256Priv, ECDSAWithSHA1},
 		{"ECDSA-384", ecdsa384Priv, ECDSAWithSHA1},
 		{"ECDSA-521", ecdsa521Priv, ECDSAWithSHA1},
--
2.20.1

What did you expect to see?
Program should display "OK" and the test should be OK.
What did you see instead?
Program panicked and test failed : csr.CheckSignature() returned an error instead of nil which would mean a verified signature.

I've tracked down the check that fail the verification : https://github.com/golang/go/blob/04cd717a269d94d3b3459a3aaf43bc71e3112b7a/src/crypto/rsa/pss.go#L132
132     // 4.  If the rightmost octet of EM does not have hexadecimal value
133     //     0xbc, output "inconsistent" and stop.
134     if em[emLen-1] != 0xbc {
135         return ErrVerification
136     }

I've checked the output of x509.CreateCertificateRequest against OpenSSL : It fails. So I bet that the bug is on the creation side.
 $ openssl req -verify -inform der < go_test.csr.der
verify failure
139692742198400:error:0407E086:rsa routines:RSA_verify_PKCS1_PSS_mgf1:last octet invalid:../crypto/rsa/rsa_pss.c:88:
139692742198400:error:0D0C5006:asn1 encoding routines:ASN1_item_verify:EVP lib:../crypto/asn1/a_verify.c:170:

It seems that rsa.SignPKCS1v15() is called instead of rsa.SignPSS().
Here is the backtrace got by step through crypto/x509.CreateCertificateRequest :
0  0x00000000004f2a72 in crypto/rsa.SignPKCS1v15
   at ./go/src/crypto/rsa/pkcs1v15.go:231
1  0x00000000004f5b46 in crypto/rsa.(*PrivateKey).Sign
   at ./go/src/crypto/rsa/rsa.go:149
2  0x00000000005561d4 in crypto/x509.CreateCertificateRequest
   at ./go/src/crypto/x509/x509.go:2646

I found a fix (https://github.com/golang/go/pull/46029). I just need to get the CLA signed (hence the draft status of the PR)

cc @FiloSottile @katiehockman

Hi! The CLA is now signed for the linked PR (#46029) but I don't know how to convince the bot to rescan the PR. Maybe someone on this issue can help?

... I just had to push new commits. All is ready to be reviewed/merged now.

Any news on that topic? https://go-review.googlesource.com/c/go/+/431916 fixes the issue but seems to be forgotten.

Any news on that topic? https://go-review.googlesource.com/c/go/+/431916 fixes the issue but seems to be forgotten.

I'm sorry but I don't have any :(
I've kept things updated here, at https://go-review.googlesource.com/c/go/+/431916 (as you found) and https://github.com/golang/go/pull/55153. I've tried to ping but without success. I'm now stuck because I don't know who to ping and how... (If anyone reading this, knows, please reply!)

@FiloSottile are you still the correct / latest assignee for this issue and can you please suggest how to proceed? Or is this information outdated?

@FiloSottile are you still the correct / latest assignee for this issue and can you please suggest how to proceed? Or is this information outdated?

gentle ping

Issue duplicated by https://github.com/golang/go/issues/65074

The new issue seemed to have contracted more attention then the old one.

The new issue seemed to have contracted more attention then the old one.

I've updated my PR description to tell its fixes both issues.


Password component

What:
New Password component to log in or set passwords.
It has two modes hidden (default, the password is hidden) and shown (the password is shown as plain text). A user can toggle between modes with an eye button.
Kudos to @dani-walnut for help

Why:
Closes #81
It is needed across our login pages for passengers, drivers, and companies. Plus for reset password web pages.

How:
The component is a stateful wrapper of the existing Input.
The approach to the component's accessibility is inspired by a [gov.uk recent article about their implementation of the password component].

Media:
The component page:

Video demo
Checklist:

[x] Add aria-controls to the button when #86 is merged
[x] Ready to be merged

I also added the VisuallyHidden component to be able to hide an element (usually, text) visually, but keep it visible for screen readers. This is a widely used pattern

Hey BTW, this can be a bit of a blocker but seeing your screenshot I think that the small variant is not properly vertically align with the input (at least is the perception I have with the icon on the right side). Can we take a look into that before merge?

I thought we agree to have this component rendered whenever Input type=password as defined #81 (comment)

We use <Input type="password" /> internally in the current solution so it is not possible in the current setup. If we want to have this alias, I will have to create a wrapper around the input and render Password or InternalInput component depending on the type passed.
Do we still want to do so and leave our users without the basic HTML password option?

Hey BTW, this can be a bit of a blocker but seeing your screenshot I think that the small variant is not properly vertically align with the input (at least is the perception I have with the icon on the right side). Can we take a look into that before merge?

@agonzalezUX @rafael-sepeda should I move it a couple of pixels down?

Do we still want to do so and leave our users without the basic HTML password option?

In my opinion we should have two components that can be used to show passwords. A) the <Input type="password" /> one, where we don't have the eye toggle and B) <PasswordInput /> which uses the input. It reduces complexity in the library and allows for more flexibility when using the library

In my side, I feel the Design system is made to make opinions and unify UI/UX, I don't think we should offer the flexibility but rather enforce the usage of the Password input we develop (I see it like "this is the way a input password looks in our ecosystem")

I think everything is good.
However, I have the feeling that in the default input the icon pops a bit too much, I know this is how its designed but maybe we could improve it, what do you think @rafael-sepeda ?
And also, in the disabled version I am not sure if the eye should also be rendered.... what do you think?
for the rest super <3

And also, in the disabled version I am not sure if the eye should also be rendered

At the moment, it is hidden:

About the type=password discussion in favor of Alexis I can say that we gain more by going this way. At the moment people update the library, they get the new password component with the eye and a11y in place.
IDK if we consider this a breaking change or not, though

I've tried to keep the best from both worlds:

if a user does <Input type="password" />, we render the <Password /> component
there is still a way to create a vanilla password input via <InnerInput type="password" />


[core] No way to read html5 available max resolution

Issue description
Since Raylib 5K jam is happening in HTML5 form on the itch.io platform, it shows a lack of functionality when it comes to reading the given embed area resolution.
I have a pixel art adaptive scaling solution but I can't utilize it on itch.io, because ScreenWidth shows only initially set window size. IsWindowResized() also doesn't seem to work even when enabling itch's fullscreen.
IsWindowFullscreen() also doesn't react to enabling fullscreen but that might be impossible to know.
Environment
HTML5 on itch.io
Issue Screenshot
Itch page was set for 1280x720 resolution but the game 640x360.

Code Example
void DrawScene(){
    const char* scr = TextFormat("Screen: %d, %d", GetScreenWidth(), GetScreenHeight());
    const char* rend = TextFormat("Render: %d, %d", GetRenderWidth(), GetRenderHeight());
    const char* mon = TextFormat("Monitor: %d, %d", GetMonitorWidth(GetCurrentMonitor()), GetMonitorHeight(GetCurrentMonitor()));
    const char* full = TextFormat("Is fullscreen: %s", IsWindowFullscreen() ? "true" : "false");

    DrawText(scr, 2, 2, 8, GRAY);
    DrawText(rend, 2, 12, 8, GRAY);
    DrawText(mon, 2, 22, 8, GRAY);
    DrawText(full, 2, 32, 8, GRAY);
}

Yeap, I'm aware of those limitations. Actually, itchio embeds the game into an iframe so it's even more difficult to control resize/fullscreen from the low-level C code. For those specific use cases, higher-level JS code would be required. That's out of the scope of raylib.
Still, you can set a framebuffer size in raylib, render to a RenderTexture at desired size and scale to default framebuffer, it will be displayed at that size in the itchio page.

I don't know how to use the framebuffer, but I'm utilizing Rendertexture for scaling.
static void Update(void){
    UpdateMusicStream(music);
    if (IsWindowResized()){
        screenWidth = GetScreenWidth();
        screenHeight = GetScreenHeight();
        colID = (colID +1) % 2;
        col = colID ? YELLOW : WHITE;
        UpdateResolution();
    }
    Draw();
}

static void Draw(void){
    const Vector2 orig = (Vector2){0.0f, 0.0f};
    // Viewport
    BeginTextureMode(viewport);
        DrawScene();
    EndTextureMode();

    // Window
    BeginDrawing();
        ClearBackground(col);
        DrawTexturePro(viewport.texture, *(Rectangle*)&viewRect, *(Rectangle*)&screenRect, orig, 0.0f, WHITE);
    EndDrawing();
}


AN-179: Rename request in config.triggers as rrp

I'm not 100% if this refactor should be merged to master or beta-protocol-revision. @bbenligiray
Docs update PR: https://github.com/api3dao/api3-docs/pull/220

master imo

Switched base branch to master, re-ran the tests and merging...


Fixes https://github.com/Polymer/core-dropdown/issues/11

Upstream is no longer maintained w/ Polymer 1.0. So I say merge this. It solves the issue just fine.

Sounds fine to me, can you also update the pubspec/changelog?

Ok, there we have it! Once merged, I'll close the issue #216 I opened to track this on our side.


Support custom placeholder for insert and update

When u want use some DataBase function in insert() and update() function, u can't do it.
To fix it, I added new class EasyPlaceholder which accept first param the placeholder and then some params for ? and ?*.
For example u want use NOW() function or something else...
$db->update('user', [
    'last_active' => new EasyPlaceholder("NOW()"),
    'sum' => new EasyPlaceholder("sum + ?", 10),
    'last_data' => new EasyPlaceholder("JSON_ARRAY(?*)", [ 1, 2, 3, "YES", true ])
];

I'm making this PR for expert review, and will follow-up with you once our SQL expert has a chance to dive in.


✨ Add Homepage News Section

Description
Fixes #54
Type of change

[x] Created a new section for displaying news articles.
[x] Designed individual news items with titles, content, and "Read More" buttons.

Screenshot (optional)

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Thia is good work, ATleast you are learning. Closing this pr as it is already done


Admin action do not show on mobile

I do not view the select for action in Google Chrome for Android

They are actually below the list view.


Fix install prlimit error

Issue # (if available):
.travis/install_prlimit.sh fails if ncurses lib is not present in ubuntu.
Description of changes:
Even though util-linux is configured --without-ncurses, running make is fails compiling more.c.
text-utils/more.c:256:11: fatal error: termcap.h: No such file or directory
 # include <termcap.h>
           ^~~~~~~~~~~
compilation terminated.
Makefile:8601: recipe for target 'text-utils/more-more.o' failed
make[2]: *** [text-utils/more-more.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/ubuntu/s2n/tmp/util-linux-2.25.2'
Makefile:10057: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/ubuntu/s2n/tmp/util-linux-2.25.2'
Makefile:4362: recipe for target 'all' failed
make: *** [all] Error 2

This fixes the error by ensuring libncurses5-dev is present.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request head (fix_prlimit@c875551). Click here to learn what that means.
The diff coverage is n/a.


mfrac@bevelled is deprecated and removed from Firefox

17058

 Quality gate: NA
Details

 Quality gate: NA
Details

 Quality gate: NA
Details

 Quality gate: NA
Details

 Quality gate: NA
Details

 Quality gate: NA
Details


The four hard problems in FuTIL: groups, holes, visible signals, and time

A brain-dump of various thoughts on groups, holes, and visible signals. I'm not yet sure how to fix these problems. Any solution of the form "Replace groups with components" needs to address some of these problems.
Groups
Motivation for Groups
The primary motivation for groups was to have an encapsulation for assignments that would compose nicely. Due to this, groups have the following properties:

Groups are (mostly) opaque. We don't know/care about the assignments they perform. The opaqueness means that the compiler assumes (almost) nothing about them.
Groups have a "calling convention". The only place groups relent on their opaqueness is the "go/done" interface which allows programs to pass control to/from them.
Groups can "borrow" the hardware cells from their parents. This means that (1) different groups can re-use the same cells, and (2) there is no need for alias analysis (port on components can create aliases).

Group != Components
From their conception, groups have been considered separate from components. The specified distinction between the two is that a component has a control program and owns cells while a group does not.
I'm not convinced that this is distinction is meaningful:
Same expressive power
Consider this group:
group foo {
  x.in = 1; x.write_en = 1;
  y.in = 1; y.write_en = x.done ? 1;
}

vs the component
component foo(x_done: 1) -> (x_in: 32, x_write_en: 1, y_in: 32, y_write_en: 1) {
  wires {
    group x { x_in = 1; x_write_en = 1 }
    group y { y_in = 1; y_write_en = 1 }
  }
  control { seq { x; y; } }
}

(Instead of owning an "x" and "y" cell, the component sends signals to another component)
Group enables are already "function calls"
We've thrown around the idea for an "invoke" control operator for invoking complex components. However, a group enable is already an invoke that takes no arguments. The reason groups need a "calling convention" in the first place is because they already approximating a component.

Compilation Holes
Compilation holes are a mechanism for FuTIL groups to interact with the control program.
Motivation for Holes
The primary motivation for holes was the desire to aggressively inline guards of enables in FuTIL programs and eliminate any extra registers.
By and large, our implementation of holes fails to do this. This is not because we've designed holes badly but because we didn't correctly think about combinational cycles when designing the interface.
I posit that every hole can be replaced by a named wire with zero overhead.

This is only true because of the current uses of holes. The various other proposals to add "input" and "output" holes tells the real story: holes are just ports. This is especially true because they cannot do anything that ports can't already.

Visible signals
Groups provide no guarantees about what signals are visible after they execute. #207 and various other discussions about combinational groups seek to make some signals visible conditioned on done signals.
This break groups' fundamental encapsulation guarantee. By making all signals invisible, groups allows the compiler to ruthlessly change anything and everything about the group. However, if a signal is visible across a group boundary, the compiler needs to be careful.
For example, consider:

Group A computes add0 and guarantees that add0.out is valid for the one cycle when A[done] is high.
Group B relies on this behavior and uses the signal add0.out in its body because it knows that it will be valid.

In this case, if a compiler wants to change add0.out to add1.out, it has to track all the uses of add0.out that come from A (but not any other group because add0 can be used by multiple groups) and change them. This amounts to alias analysis.

Time
Hardware design is fundamentally different from software design because it involves an explicit notion of time. FuTIL's complexity on the edges come from this problem
Two Notions of Time
There are two kinds of hardware circuits: combinational and sequential. This means that for any signal, we have to answer the question: When is this signal used? Now (in the current cycle) or later (in a future cycle).
These two are the only interesting possibilities to me because once you register a signal, it becomes easier to use it in the future.
The question at the heart of all discussions about signal visibility, operation chaining optimizations, etc., are about the nature of time in FuTIL. While groups, components, and control programs all operate with the assumption that there are time steps,
there are privileged primitives like add that take no time to execute. This property of the primitives leaks into everything else (some groups take no time) and breaks various assumptions.
So the question is why have this privilege?  Or rather, is there a way for us to always insert registers and use state and opportunistically eliminate it when we can?

Let's explore the idea of requiring every group to commit it's results (and thus banning combinational groups). Imposing this requirement allows groups to always be composable, but also puts the burden of synthesizability on the frontend because they have to make sure that every group generated is small enough.
To mitigate this, we need to be able to remove registers and merge groups. Consider the following program:
component main() -> () {
  cells {}
  wires {
    group X {
      add.left = 32'd1;
      add.right = 32'd1;
      a.in = add.out;
      a.write_en = 1'b1;
      add1[done] = a.done;
    }

    group Y {
      add2.left = add.out;
      add2.right = 32'd1;
      b.in = add2.out;
      b.write_en = 1'b1;
      do_add2[done] = b.done;
    }
  }
  control {
    seq { X; Y; }
  }
}

We want to merge the groups X and Y into a single group like so:
component main() -> () {
  cells {}
  wires {
    group single_add {
      add.left = 32'd1;
      add.right = 32'd1;
      add2.left = add.out;
      add2.right = 32'd1;
      b.in = add2.out;
      b.write_en = 1'b1;
      add1[done] = b.done;
    }
  }
  control {
    single_add;
  }
}

To be able to do this transformation, we need to prove a few things about the register a.

Prove that removing the register a does not have observable effects on state.

to prove this I think it's enough to show that a is written only once in X and read once in Y. You can relax the requirement to allow a to be written to before X, but it can't be read after X.

Prove that removing the reigster a does not have observable effects on ordering (control flow).

In particular if a.done is used as a guard in X in a place other than the [done] signal then you can't remove a.
I think it's enough to show that X[done] is high exactly when a.done is high.

If we have liveness information about registers alongside being able to prove how a register effects the internal control flow of a group then we can perform this optimization.
I think there are two questions from here to answer:

What are the situations that prevent this analysis from working?
Can we place restrictions on registers to simplify this analysis?

There is nothing to be done for this issue. The intellectual heritage of this discussion was:

The creation of the invoke primitive.
Precise understanding of the encapsulation properties of groups
The necessary connection between primitives, components, and groups (Leading to the adage, "If you solve a problem for one, you'll have to solve it for the other two")

At the time of writing, there are ongoing discussions on interfaces that more precisely track the visibility of signals. The origins of that discussion can be traced back to this issue.

There is nothing to be done for this issue. The intellectual heritage of this discussion was:

The creation of the invoke primitive.
Precise understanding of the encapsulation properties of groups
The necessary connection between primitives, components, and groups (Leading to the adage, "If you solve a problem for one, you'll have to solve it for the other two")

At the time of writing, there are ongoing discussions on interfaces that more precisely track the visibility of signals. The origins of that discussion can be traced back to this issue.


Sysprep Win10 Packer build to reset evaluation timer

seeing the same issue. Windows 10 license expired immediately after provisioning. Prefer to a way to build the machine from fresh copy of trial version win10 so that I can make a snapshot. Thanks.

For whatever reason, the Windows 10 sysprep only seems to be working on VMware at the moment. Not sure why this is the case yet.

This was fixed in #307. The trial timer resetting seems to be completely arbitrary - I can't tell when it's going to reset or not, but in any case users can manually reset the timer 3 times by running slmgr.vbs /rearm and rebooting the host.

Hi @clong. First of all, thank you so much for a great project! It works great and allows to save a lot of time.
Do you have any advice on how to deal with Win 10 VM that is rebooting every ~single hour? I see 'Windows License is expired' right after fresh provisioning of Win 10 - perhaps that's the root cause of the issue. I was trying to run manually 'slmgr /rearm' but it does not help. Could I get some advice?

Hi @cr0nx  - I think the only way around this is for me to build new packer images. I'm not entirely certain how the whole Windows expiration stuff actually works under the hood, especially in conjunction with sysprep. I'll try to get a new box out this weekend which should hopefully resolve the issue.

This should be fixed with the v1.4 boxes. You'll still have to slmgr /rearm when using VMware or VIrtualbox, though.


Axios validateStatus: () => true prevents axios interceptors from executing

RE: #2726 and #2806, setting validateStatus: () => true makes it impossible to intercept response errors at the axios level (e.g. for automatically retrying 401 responses with updated auth tokens, logging, etc.)
Perhaps catching exceptions thrown by the axios request/response and forwarding the response would offer greater flexibility. This way axios interceptors can still execute and the client can still handle failed responses.
I don't know if this covers all cases, but here's a possible implementation:
Original code:
getItemById(id: number): Promise<Item> {
    let url_ = this.baseUrl + "/items/{id}";
    if (id === undefined || id === null)
        throw new Error("The parameter 'id' must be defined.");
    url_ = url_.replace("{id}", encodeURIComponent("" + id));
    url_ = url_.replace(/[?&]$/, "");
    let options_ = <AxiosRequestConfig>{
        validateStatus: () => true,
        method: "GET",
        url: url_,
        headers: {
            "Accept": "application/json"
        }
    };
    return this.instance.request(options_).then((_response: AxiosResponse) => {
        return this.processGetItemById(_response);
    });
}

Updated code:
getItemById(id: number): Promise<Item> {
    let url_ = this.baseUrl + "/items/{id}";
    if (id === undefined || id === null)
        throw new Error("The parameter 'id' must be defined.");
    url_ = url_.replace("{id}", encodeURIComponent("" + id));
    url_ = url_.replace(/[?&]$/, "");
    let options_ = <AxiosRequestConfig>{
        // no more validateStatus: () => true,
        method: "GET",
        url: url_,
        headers: {
            "Accept": "application/json"
        }
    };
    return this.instance.request(options_).catch((_error: any) => {
        // if it's an axios error with response, forward the response for processing,
        // otherwise just throw because the process method won't be able to handle it anyway
        if (isAxiosError(_error) && _error.response) {
            return _error.response
        } else {
            throw _error
        }
  }).then((_response: AxiosResponse) => {
        return this.processGetItemById(_response);
    });
}

where isAxiosError is a simple type guard:
function isAxiosError(obj: any): obj is AxiosError {
    return obj.isAxiosError === true;
}

Can you create a PR with a fix? Similar to
https://github.com/RicoSuter/NSwag/pull/2806

Even with this change I'm not still not able to intercept responses using axios.interceptors.response. I'm using NSwag.CodeGeneration.TypeScript v13.6.1 to generate. My generated client looks identical (in structure) to the "Updated code" code block.

So I ended up getting it working by removing these lines from the generated code:
private instance: AxiosInstance;
this.instance = instance ? instance : axios.create();
And in my base class I have something like so:
export default class ClientBase {
    protected instance: AxiosInstance;

    constructor() {
        this.instance = Axios.create();
        this.instance.interceptors.response.use(
            (response) => response,
            async (error) => await handleError(error)
        );
    }
}

That way the usage of this.instance will still have a value in each of the classes inheriting ClientBase.

@bsell93 You can pass an axios instance into the client constructor as well. That way you can wire-up any interceptors on the axios instance outside of the client and avoid messing around with the generated code in case you need to re-generate it periodically.

@GordonBlahut I did think of that. The issue I had is that I have an interceptor that I want to run on every api call to check for 401 and will attempt to refresh the access token. I didn't want to have to pass in a new instance of axios into each instantiation of each client when they all needed the same interceptor.


Check if results differ if other sphere methods are used

Current implementation uses small sphere for sampling matrix.
We should evaluate whether repulsion724 gives better / same / different results.

Results were the same.


GitHub contributors NaN

I'm currently seeing the contributors badge on requests displaying NaN instead of a number.

I am too, and going to https://img.shields.io/github-auth to try and use the OAuth to increase rate-limit returns an error.

Looks okay now - Have you seen this again recently at all?

I saw it for a day or two then didn't check it regularly after that.  Do you think it's rate limiting?

It's possible, although I thought that the badge would show "inaccessible" in that case.

If this issue is still occurring, please ping the issue.


[Suggestion] Reskinned Cardboard Box called Gift Box

As title says, identical functionality but simply reskinned to look like a wrapped gift, perhaps ability to dye it?

Hi, I added this in 0.5.3, which released December 18th.. Although the "present" I released has just 1 slot. Currently there's only a red version but I might add more.


Enable Hot Module Reloading

This change would allow hot module reloading to work out of the box :)

Interesting, I'll have a look at that. I would have thought hot loading was covered by the webpack config but it has seemed not fully functional with the current setup.
Thanks :)


About antlr4 run with wasm

Hey, @mike-lischke antlr4wasm is a good idea, we also thought about it before, but no fact action. Do you benchmark the performance in the browser with it?

Currently it doesn't work yet, but once it does I will certainly compare the performance to what exists today (like antlr4ts).

@wewoor Finally I got everything to run and collected some performance numbers, including a discussion of the results. The WebAssembly target needs some improvements, however.


[core] added return codes to VERIFY

Changed measurement latency to actual latency time of the verifyRow step and now recording Status codes for verify operations.
Fixes #479

Thanks!


Multiple grid.appScope calls when used in cellTemplate

I want to be able to display the result of function in a cell and for this I've used grid.appScope as per the plnkr example found at http://plnkr.co/edit/xlnjrtpg9EuL0nOG1cZy?p=preview.
I noticed the $scope.myFn function is called 60 times for the first load of just 10 results and when you scoll the grid up and down the function gets repeatly called 1000s of time (you can see this in console).
In my case, I want the grid.appScope function to get data from an $http request which becomes problematic with the repeated calls.
Is there anyway to prevent the mutliple calls so each cell calls the grid.appScope function only once?
Are there any other solution other than using grid.appScope?

If you are using angular 1.3.* you could try out one time bindings. https://docs.angularjs.org/guide/expression (Look under One-time binding)
Weirdly enough though, when I try your plnk and none of the data is virtualized I still see thousands of calls when I scroll up. My demo: http://plnkr.co/edit/QT13I22GqF1Fsv3Ifo3L?p=preview

Tried one time binding http://plnkr.co/edit/5QF7TlM5qf6dWtrbEKd6?p=preview. It stopped the calls when scrolling but the function is still called 20 times for 10 rows. As mentioned before, I'm want to use Grid.appScope to get results from $http requests and these can be really slow in some cases(summing multiple thousands of rows from a database).
As for you demo, I can't see the difference between your and mine plnkr as the code looks exactly the same. Wrong link?

I was able to achieve what I want using a directive rather than grid.appScope as per the example: http://plnkr.co/edit/p9V8icvIwa7yzUHqD7Rz?p=preview. The directive controller is called once per cell.
It would be nice if the developers could take a look at the mutliple call issue with grid.appScope as I think users expects it to be called only once?

Thats not how watches work. They are designed to cause the DOM to update as soon as the data behind them changes. Someone else want to weigh in on this? @swalters @AgDude @c0bra

In the interim you could set cache: true on your $http call, but that definitely looks like WAY too many digests are happening during load and scroll. It will take some debugging to see why.

What version are you on?  There are definitely a lot of digests, that's been an ongoing problem, although I think a number of them went away in rc21 or rc22.
If I were doing an http call from a cell template, I'd be writing a cache into my function - so I'd only do the http call if I hadn't already cached the result.  That'd give you what you want.  Even if we were doing only the minimum digests, it'd still be more than the number of http calls you'd want - as we scroll we destroy and recreate cells, so at a minimum it'll do the http call once for each cell as you scroll down, then once again for each cell as you scroll up, and that's too many.

I'm using rc21. The plnkr examples I've given is pointing to http://ui-grid.info/release/ui-grid-unstable.js so it appears there were no change from rc21 to r22. Angularjs version is 1.3.14.

I'm using ui-grid v3.1.1 and still facing the same issue. Additionally, I've noticed that when I assign the columnDefs's field as a function, it's also called multiple times. After wrapping the data assignment inside $timeout, it helps a little.
$timeout(function() {
gridOptions.data = data; });
But the function is still called on each cell. Any update on this issue?


Issue with Code Loading the Semantic KITTI Dataset

Is the labels used in Semantic KITTI from the SemanticKITTI label data (179 MB) or from the labels in the SemanticKITTI voxel data (700 MB)? It seems that the code in kitti_dataset.py does not use the labels from the voxel data.
Additionally, the code in kitti_dataset.py  references poses.txt. Is this file from the Download odometry ground truth poses (4 MB) on the KITTI odometry benchmark page?

Hi @YuanZhao42, you're correct - the voxel data is used to generate panoptic labels. The kitti_dataset.py script only loads the extracted panoptic labels.
Regarding the poses.txt file from the KITTI dataset, it's not actually in use anymore; I should have removed it. It was initially used for testing scenarios where the input point cloud was an accumulation of several scans.
Apologies for the confusion -- I didn’t have enough time to fully clean up the code before releasing it.


'EntryVersion' object has no attribute 'save_url'

I think is a typo error on init.py at line 259 it says self.save_url and it should be just save_url

Maybe this is related to #58?

A fix for this was just uploaded to PyPI as v0.2.6. Can you give it a try and reopen this if it is still a problem? Thanks for the help tracking this down!


Removing DRM assets offline

hey, i wonder why you have to be connected (you issue a license request) when deleting protected content (you get an error and nothing is deleted)
store 'angle one - ... widevine'
go offline
try to delete it.
below is a link to our own drm content we tried to delete (online) and got 500 from our servers.. we are checking what's wrong with our servers (though they were ok with the request when we stored the data)
Thanks!
What version of Shaka Player are you using?: 2.3.2 uncompiled
Can you reproduce the issue with our latest release version?: yes
Can you reproduce the issue with the latest code from master?: didn't check
Are you using the demo app or your own custom app?: demo app
What browser and OS are you using?: chrome on mac
What are the manifest and license server URIs?:
https://shaka-player-demo.appspot.com/demo/#asset=https://cdnapisec.kaltura.com/p/2222401/sp/222240100/playManifest/entryId/1_f93tepsn/protocol/http/format/mpegdash/flavorIds/1_7cgwjy2a,1_xc3jlgr7,1_cn83nztu,1_pgoeohrs/a.mpd;license=https://udrm.kaltura.com/cenc/widevine/license?custom_data=eyJjYV9zeXN0ZW0iOiJPVlAiLCJ1c2VyX3Rva2VuIjoiZGpKOE1qSXlNalF3TVh4VHNNVzRJY1Z3eWtkVzliVkNjZmFhV3h1WC1nSjVvT2p1TGdxWkl6dnpIMDJGNkpVRlZSU2NyRS03b1l0dGw4MDRKbVhISVY3ZVdMQ0tLNnROT1JoSHpDS1F5N2duNUVXam5Gc0YyM2p0ZlE9PSIsImFjY291bnRfaWQiOjIyMjI0MDEsImNvbnRlbnRfaWQiOiIxX2Y5M3RlcHNuIiwiZmlsZXMiOiIxXzdjZ3dqeTJhLDFfeGMzamxncjcsMV9jbjgzbnp0dSwxX3Bnb2VvaHJzIn0%3D&signature=q8e0KRmDtcBn7AeCAu0iq74LGQ8%3D;lang=en-US;build=uncompiled

Releasing an offline license may involve a license exchange with the server.  We tell the CDM (through EME) that we want to remove a persistent license session, and the CDM may send us a license release message.  If so, we have to send it to the server and get a response to give back to the CDM.  Until that process is complete, the offline license sticks around.

@joeyparrish, thanks.
so i cannot delete it while i'm offline. Is it on the roadmap? maybe as part of the big change you are planing for the storage?

The ideal behavior, I think, would be that you can always delete the content while offline.  If the license still needs to be released, we should have some way of tracking licenses that need release and trying to release them once we are back online.
I'll mark this as an enhancement and rename it to that effect.  Thanks!

defiantly.. :)
cool! thanks.

@joeyparrish If I could chime in with an idea for when someone goes to implement this. It may be a good idea if license management is moved out of storage.
Right now we have a flag for whether or not the storage system needs to download a license and free a license. But if the app was to track this, it could just cache which licenses it needed to free next time it had a network connection. This level of control is not possible in storage.
It would also remove the need for storage to have logic about licenses at all. No need to make a request or free them. It just worries about the segments and manifests.

In Shaka v1, we used to require applications to manage the list of stored contents itself.  In the end, it seemed to be too big a burden on applications.  Because of this experience, I would prefer not to push license management onto applications.
Ideally, we could manage license release internally without creating additional APIs for the application and without requiring apps to track these themselves.  For streaming playback, we hide license management inside DrmEngine.  I don't see why it should have to be different for offline.
Obviously, we will need to design this, and it will impact the storage system in some way.  I've put this feature on the backlog for now, and we'll work out a design before we jump into implementation.

Released in v2.5.0-beta2.


New logger initialization in flexvol and provisioner + update the vendors

by mistake i put the commits for this ticket on the epic ticket https://github.com/IBM/ubiquity-k8s/issues/23


Include user/password for server-status page

Given the fact that sever-status page could be a security issue configure authentication for this page is necessary and even it is recommended. It would be great to include a user/password parameter and include it as part of the request to the apache server.

Thanks for th suggestion Juan!
Whitelist of the local IP is not enough?
On Fri, 10 Nov 2017 at 13:51, Juan D. Vega<EMAIL_ADDRESS>wrote:

Given the fact that sever-status page could be a security issue configure
authentication for this page is necessary and even it is recommended. It
would be great to include a user/password parameter and include it as part
of the request to the apache server.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Lusitaniae/apache_exporter/issues/29, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AADj1VrA8lKIJ8SQWnKHeGHcBNxCwPmYks5s1EbZgaJpZM4QZg4f
.

We  think that Whitelist if error prone and may cause a problem on ip reassination after node restarted.
I have been checking the source code and the Go http client and it seems like it is just one line.
What do you think?

I took a look over HaProxy exporter and it seems that it is actually supported by default.
We just need to document it. Would you like to do a PR?
If you want to test yourself, I did the following:
/etc/apache2/mods-enabled/status.conf
<Location /server-status>
        SetHandler server-status
        AuthType Basic
        AuthName "Restricted Files"
        AuthBasicProvider file
        AuthUserFile "/tmp/apachepasswd"
        Require user prom
</Location>

htpasswd -c /tmp/apachepasswd prom
. /apache_exporter -scrape_uri http://prom:prom@localhost:8888/server-status?auto
and it works

Sure, I will finish my task on Monday, so I can test and document it. I will open a PR with the update Readme on Monday. Thanks!

Issue addressed with additional documentation with PR #30.
Thanks for your contribution @jdvr!


Handle other exceptions when getting ros2 message definitions

Public-Facing Changes
Improve error handling when retrieving message definitions (ros2)
Description
The presence of action topics causes the bridge to crash:
terminate called after throwing an instance of 'std::invalid_argument'
  what():  Invalid package resource name: turtlesim/action/RotateAbsolute_FeedbackMessage

The reason why the exception is thrown, is because we assume that message files are located in the msg folder:
https://github.com/foxglove/ros-foxglove-bridge/blob/08ff9e522065a2c9998b0fbf2030d9e8fa363637/ros2_foxglove_bridge/src/message_definition_cache.cpp#L19
This PR for now only adds an additional exception handler that will simply log a warning. Proper action support will be implemented later on.
Fixes #60

I think implementing https://github.com/foxglove/ros-foxglove-bridge/issues/58 will get us closer to a proper fix for this as well.


Fix more floating promises

I'm liking this rule less and less every day. It's good in theory but in practice it leads to more code, that is less generic, for the same functionality.

Unhandled promise rejects indicate something is wrong though and I would rather we at least do something about them. Because right now seeing random "Unhandled Promise rejection" in the console popping up occasionally isn't helping anything. At least with the onUnexpectedError we get a stack trace to try and figure out where the rejection is happening.

Not getting a error in the console is a separate issue with Zone.js swallowing errors. vscode has a global error handler that runs the onunexpectederror function for unhandled errors already.

@aaomidi That was the zonejs stuff you were working on right? Did you ever make any more progress on figuring the solution out for that?
@anthonydresser It seems like it'd be fine to just mark them as tslint disable then if we determine that it's fine to just ignore them. But in general we should still be at least looking at instances where we aren't handling the promise rejections to make sure that it's expected and that we shouldn't be doing anything else. We already found some issues in the OE code because of how these were handled and it seems very likely there's more out there (and will continue to be more added) so forcing us to at least consider each instance doesn't seem like wasted effort to me.

What do you mean the code is less generic? What about handling promises makes the code less generic?
@Charles-Gagnon I have a PR out that removed the issue that broke the application. I'm not sure if I can just use the vscode error handler as a substitute because that caused a runtime failure.


Adding a scheme for encrypting additive shares

XOR shares are just addition in a group where |G| = 2 so adding those
will be easy enough.

Abandoning this one.


Account name and amount in header are blinking when navigating

When I go to different page in wallet header is blinking for a little moment (I assume while it's loading account data from node). Probably shouldn't blink when there is already data loaded from server.
Maybe there should be some very subtle indication of data loading (something like pulsating dot, definitely not full-blown spinner).

OK, I will handle it.
Also, we are using this loader in many other places, maybe you would like to change it something else? We can use something like on github when small loader bar appears on top. Or a similar solution?

We can use something like on github when small loader bar appears on top. Or a similar solution?

yes, I think something global and subtle like this is best match for most cases, but we need to sync with Jake on specifics


Better handling of page zoom / visibility of category links?

I normally have my browser's zoom level bumped up to about 120% or 130%.  When looking at the splash page for the new docs ( https://webpack.js.org/ ), I see two issues:

When viewed at 1920x1080 but with 120% or 130% zoom, the links in the upper-right corner ("Documentation", "Guides") are pushed off the right side of the screen
Even when at 100% zoom, those links are very hard to see.  The text is small, and the gray font color is too close to the white/light-gray background.

I would suggest moving those links to the upper-left so they stay in place, and also making the links more visible by increasing the font size and changing the font color.

Hoping to get started on some updates to the color scheme this weekend, and then various components throughout the site to increase contrast, see #285, so hopefully that will address the contrast issue.
Not sure I agree with moving the links though, it looks like the breakpoints are working fine even when zooming I wasn't able to get to a state where any links were hidden. @SpaceK33z what do you think? @markerikson would you be able to share a screenshot highlighting the issue?

I'm definitely +1 on changing the color schemes, the color scheme in #285 is definitely better and feels more "webpack-y" (and with that I mean that it matches more with the logo). I can give some feedback this weekend :).
About moving the links, even when zooming in it also worked fine for me. That said, moving it to the left might make a bit more sense because the sidebar is also on the left. Less mouse movement. But I'm fine with it either way.

Closing as the site has changed significantly since this was posted and we weren't able to reproduce the main issue. If anyone feels this is still a problem, feel free to re-open.


Add ability to pass raw SQL to onConflict()

Use Case
Postgres supports partial unique indices, which unfortunately require some extra work when writing INSERT ... ON CONFLICT queries against them:
INSERT INTO upsertable_table (value)
VALUES ('something')
ON CONFLICT (value) WHERE deleted_at IS NULL
DO NOTHING
RETURNING value, id

Note the WHERE deleted_at IS NULL portion; that's required so that PG can infer the correct unique index to use for conflict detection.
Unfortunately, knex doesn't support this: the onConflict() method expects either a column or columns, and explicitly wraps the formatted columns in parens (as expected): link to source. (So, trying to pass in, say, knex.raw('(value) WHERE deleted_at IS NULL') to onConflict() results in a broken query, because PG doesn't expect the parens to be wrapped around all of that)
Feature Requirements/API Proposal
It would be great to be able to use knex here even while specifying arbitrarily complex ON CONFLICT index expressions, by passing in a raw SQL string, and to have the typings updated to reflect that! (At least, it would be great if this was supported for Postgres; I have no idea if this has any value for other databases)
So, for example, the above query would look something like this, using knex:
const qb = knex('upsertable_table')
    .insert({ value: 'something' }, ['value', 'id'])
    .onConflict(knex.raw('(value) WHERE deleted_at IS NULL')) // new format!
    .ignore()

This proposal is not suggesting that onConflict() accepts a full query builder; that seems like it might not solve the problem, and might also cause other problems even if it did!

@newhouse @ariwbolton how did you solve it ? build everything with knex.raw instead?

@newhouse @ariwbolton how did you solve it ? used knex.raw for the insert query instead?

Yes, sadly I built what I needed using knex.raw...

I implements that, but in integration tests (and manual sql tests) a 'where' like you write dont work in the onConflict process. What is expected behavior (maybe I miss the point) ?
https://stackoverflow.com/a/44579804/1535159

Thanks!

Released in 1.0.2


Can't run the image correctly

I pull the image from docker hub, and run the following command as suggested:
docker run -it --privileged -p 8008:8008 -p 8009:8009 -p 8010:8010 owtf/owtf -e

but it gave the error message like this:
Failed to connect to bus: No such file or directory
[+] Postgres running on :
[+] OWTF db config points towards <IP_ADDRESS>:5432
[+] New database configuration saved
psql: could not connect to server: Connection refused
	Is the server running locally and accepting
	connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
psql: could not connect to server: Connection refused
	Is the server running locally and accepting
	connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Having SSL=true in postgres config causes many errors (psycopg2 problem)
sed: no input files
Restarting the postgresql service
[ ok ] Restarting PostgreSQL 9.5 database server: main.
 Please check ~/.owtf/db.cfg
[DB] invalid literal for int() with base 10: ''

seems something wrong with the postgres_entry.sh  script, could we fix this?

@MatthewShao does the latest fix work for you?

Yes, it works fine. Thanks!


Unable to save images in the k8s.io namespace

Description
I am trying to use nerdctl to save images from my K8s environment, like so:
$ sudo ./nerdctl -n k8s.io image save madhuakula/k8s-goat-poor-registry:latest -o my-image.tar
FATA[0000] failed to get reader: content digest sha256:3a34314e55b219b5b566ef6669bcd76307cfbe56e658e9dba9c777085704e7bb: not found

But I am getting the error above.
When I am doing the same thing on an image in the default namespace, it works fine.
$ sudo ./nerdctl image save ubuntu -o my-image.tar
Steps to reproduce the issue

sudo ./nerdctl -n k8s.io image save <image> -o my-image.tar

Describe the results you received and expected
I am expecting nerdctl to save an image when specifying the k8s.io namespace.
What version of nerdctl are you using?
$ sudo ./nerdctl version
Client:
 Version:	v1.7.4
 OS/Arch:	linux/arm64
 Git commit:	7b5f7e0d8f705ed4e54f7040512327e231433366
 buildctl:
  Version:	v0.12.3
  GitCommit:	438f47256f0decd64cc96084e22d3357da494c27

Server:
 containerd:
  Version:	1.6.24
  GitCommit:	61f9fd88f79f081d64d6fa3bb1a0dc71ec870523
 runc:
  Version:	1.1.9
  GitCommit:	v1.1.9-0-gccaecfc

Are you using a variant of nerdctl? (e.g., Rancher Desktop)
None
Host information
$ uname -ar
Linux minikube 6.5.11-linuxkit #1 SMP PREEMPT Wed Dec  6 17:08:31 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

I solved it by setting a snapshoterand then unpacked the image.


Fix attributes inheritance

For some reason, if you just return render function (and not JS object as a component),
attribute inheritance doesn't work.
Fix it by returning a normal Vue component with render function instead of a plain render function
Fixes https://github.com/jpkleemans/vite-svg-loader/issues/29

Hi, that's really great! How did you come up with it?
Thanks 👍

Thanks!
I was trying to fix this issue in different ways, and I noticed that it fixed itself once I returned a JS object with a render function instead of the render function itself.


Make preview/color picker area resizeable

Right now it’s very short and wide. I would love to be able to make it a bit taller and make the dimension display above a lot smaller.

Right now the panels aren’t resizable vertically. How would you feel about being able to collapse the box model? Maybe on collapse we can then make the preview a full square?

I would like both. So we can drag in between panels to resize them and also collapse the ones we don’t want/need.

Ok, I've been trying to avoid manually resizable panels. They tend to be fiddley for users, get into ugly states, add additional design complexity, etc. That being said, there's already an issue with the color section when it has > 10 colors.  I do like this pattern for colors (Figma):

(In Figma, you can't adjust section height but the whole sidebar is scrollable)
I'll give it some thought. Maybe just a toggle for the preview to switch between full square and the size it is now.


Pantheon updates 2021-12-17

Motivation for this change
Part of Pantheon 6.1 Jólnir updates (previous one at #150792).
Part of this PR will not be backported to stable. closes #144045.
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

The following content is machine generated and may contain invalid information.

pantheon.elementary-videos: 2.8.0 -> 2.8.1

Release on GitHub
Compare changes on GitHub

Comment
To inspect upstream changes

[ ] Deploy flatpak on release (#279)
[ ] Appdata: bump copyright (#280)
[ ] Fix data/meson.build (#288)
[ ] Flatpak: Allow Write Access to Library and Thumbnails Cache Folders (#284)
[ ] Update POTFILES
[ ] Release 2.8.1 (#290)

pantheon.wingpanel-indicator-notifications: 6.0.3 -> 6.0.4

Release on GitHub
Compare changes on GitHub

Comment
To inspect upstream changes

[ ] NotificationsMonitor: Asynchronously register the service (#235)
[ ] Release 6.0.4 (#236)

@ofborg test pantheon

Result of nixpkgs-review pr 151153 run on x86_64-linux 1

6 packages built:

pantheon.elementary-greeter
pantheon.elementary-videos
pantheon.wingpanel-indicator-notifications
pantheon.wingpanel-with-indicators
pantheon.xdg-desktop-portal-pantheon
wingpanel-indicator-ayatana


TimeFieldAdapter has methods which don't implement an interface.

These methods can be removed easily and can be replaced easily.

done


V2.1.358 release

Codecov Report

Merging #351 (9d20b1e) into V2.1.X (0614df3) will increase coverage by 0.20%.
The diff coverage is 73.03%.

@@            Coverage Diff             @@
##           V2.1.X     #351      +/-   ##
==========================================
+ Coverage   62.55%   62.75%   +0.20%
==========================================
  Files         245      246       +1
  Lines       19930    19956      +26
==========================================
+ Hits        12467    12524      +57
+ Misses       7463     7432      -31

Impacted Files
Coverage Δ

...ps/backend/periodic_tasks/cache_scope_instances.py
52.17% <0.00%> (-1.68%)
:arrow_down:

...backend/periodic_tasks/collect_auto_trigger_job.py
100.00% <ø> (ø)

apps/node_man/handlers/permission.py
29.32% <0.00%> (ø)

.../node_man/periodic_tasks/sync_agent_status_task.py
15.78% <ø> (-1.46%)
:arrow_down:

...node_man/periodic_tasks/sync_cmdb_biz_topo_task.py
71.83% <0.00%> (-0.40%)
:arrow_down:

...s/node_man/periodic_tasks/sync_proc_status_task.py
17.46% <ø> (-1.29%)
:arrow_down:

...ps/node_man/periodic_tasks/sync_cmdb_cloud_area.py
21.95% <14.28%> (-1.86%)
:arrow_down:

apps/node_man/periodic_tasks/clean_expired_info.py
44.44% <33.33%> (-2.93%)
:arrow_down:

...nd/periodic_tasks/update_subscription_instances.py
50.00% <50.00%> (ø)

apps/backend/subscription/views.py
45.38% <50.00%> (-0.01%)
:arrow_down:

... and 14 more

Continue to review full report at Codecov.

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


Is it possible to get down block size for BLOCK1

I am testing some firmware upload code where i add a large hex-string to the leshan server's GUI and do a write (on the firmware object). But Leshan sends of with a block size of 512 and I would like to get it down to 256 or 128. Base on the RFC 7959 the recommended approach is to respond with a ENTITY TOO LARGE response code and set the SIZE1 option to the size i prefer. Is this implemented in Leshan?  It just showed me a failure - "Unable to write resource /5/0/0 for abcde : 500 Invalid Response:Client [abcde] returned unexpected response code [4.13] for [WriteRequest...".
Is this a known issue or am I doing something wrong?

First at all:
Using a blockwise write request to /5/0/0 will show much more trouble, then using /5/0/1.
To your question:
The details of RFC7959 are not reflected in LWM2M 1.0.
So currently, this would not work "out of the box".
If to want to "patch", the mapping from LWM2M to CoAP is implemented in the module
"leshan-server-cf" and there in the class "CaliforniumLwM2mRequestSender.send's".
These methods are using a CoAP "Message Observer", which receives the CoAP Response in
buildResponse, there you can "catch the error code and adjust the "retry".
Though I only use /5/0/1, my "constrainded" client just provides its preferred blocksize using block2 in the request.

Leshan sends of with a block size of 512 and I would like to get it down to 256 or 128

You can configure the block size to use at startup but this will affect all resources and all devices.
See LeshanServerBuilder and NetworkConfig.
See PREFERRED_BLOCK_SIZE, MAX_MESSAGE_SIZE and MAX_RESOURCE_BODY_SIZE.
If you are using LeshanServerDemo you can use the californium.properties file to set that.

Base on the RFC 7959 the recommended approach is to respond with a ENTITY TOO LARGE response code and set the SIZE1 option to the size i prefer

Leshan uses the Californium "magical/transparent" block wise implementation. And this is not implemented. Maybe this should be added to californium.
About using coap blockwise to send firmware package, you should have look at this issue too : https://github.com/eclipse/leshan/issues/367#issuecomment-322714895.

I open an issue on scandium : https://github.com/eclipse/californium/issues/395

Question: is there any possibility for Californium to handle different block1 sizes on different connections - e.g. can one lwm2m device signal a small block size for the BlockLayer handling while another have a larger block-size. My thinking is that devices could have attributes that tell the LWM2M server what sizes to use for block1 as it is too late to tell when a large block already arrived. (I know this kind of is a Californium question - but as this thread moved over there also I guess it is still also relevant here).

So, what are you trying?
Finding out, that block1 from a LWM2M server (fat endpoint to constrained endpoint) has a lot of issues? Sure! If you want to collect all the issues, feel free to spent your time in finding them out.
If you want to use LWM2M for firmware updates successfully, I recommend to use "/5/0/1" and block2 :-).

is there any possibility for Californium to handle different block1 sizes on different connections.

No possibility if you're using transparent block-wised.

can one lwm2m device signal a small block size for the BlockLayer handling while another have a larger block-size

This works well with block2, for block1 we should implement #395.

My thinking is that devices could have attributes that tell the LWM2M server what sizes to use for block1 as it is too late to tell when a large block already arrived.

AFAK, the only thing  which looks like that in CoAP spec is what you described before ....
If you want working solution now, you should follow boaks' advice.
If you want to make work block1, propose a PR for californium because for now this is not the priority.

I am testing some firmware upload code where i add a large hex-string to the leshan server's GUI and do a write (on the firmware object). But Leshan sends of with a block size of 512 and I would like to get it down to 256 or 128. Base on the RFC 7959 the recommended approach is to respond with a ENTITY TOO LARGE response code and set the SIZE1 option to the size i prefer. Is this implemented in Leshan? It just showed me a failure - "Unable to write resource /5/0/0 for abcde : 500 Invalid Response:Client [abcde] returned unexpected response code [4.13] for [WriteRequest...".
Is this a known issue or am I doing something wrong?

would you give me a firmware upload  demo use 5/0/0? I can not get good idea. always get respose "Unable to write resource /5/0/0 for 4IP53OBZ0GGOORI : 400 Invalid request:Unable to convert hexastring [] to byte array for resource /5/0/0"

@joakimeriksson, just in case you're still interested in this. I created a PR about this : https://github.com/eclipse/californium/pull/1357