Fix last_changed() and set_last_changed() for MutUntyped

Objective
Continuation of #7560.
MutUntyped::last_changed and set_last_changed do not behave as described in their docs.
Solution
Fix them using the same approach that was used for Mut<> in #7560.

bors r+


Fork package to @wikimedia

Major version change is overdue, and reflects that we've switched to
Maki 7 icons.
Updates the package metadata to reflect that we've forked hard.

I would like to approve this. :+1: Can be merged right away in my opinion.


Performancetweaks/august2016

This is the PR corresponding to this issue...
https://github.com/RoaringBitmap/RoaringBitmap/issues/117

Coverage decreased (-1.0%) to 83.037% when pulling bd4f13633ea2a364fd9dd65411acd5b793a31c7f on performancetweaks/august2016 into 427d5b84b95943f6addb5fe6f74664e4d37010d1 on master.

LGTM
I'm checking the coverage decrease before merging.

Coverage decreased (-0.6%) to 83.43% when pulling 1e7a1b42ea1b23c204639885c5aa793870f3b0e9 on performancetweaks/august2016 into 427d5b84b95943f6addb5fe6f74664e4d37010d1 on master.

Coverage increased (+0.1%) to 84.128% when pulling 866010affd40fa107a74ed995f54a8141459c1af on performancetweaks/august2016 into 427d5b84b95943f6addb5fe6f74664e4d37010d1 on master.


Nested packages won't work

Steps to Reproduce
The idea here is to create a package that will evolve along with one or more applications that use it. The logical course of action is to create a nested package inside an application so we can modify and debug the package while the application evolves, also, keeping the dependencies of this package apart from the application's dependencies, even share the package along different teams as a git submodule.

Create a new Flutter project with flutter create...
Inside the application's lib folder, create a new Flutter package with flutter create --template=package
Add the package as path dependency in the application's pubspe.yaml
Change the application sample code to use the Calculator sample code created in the package to add +1 to the counter state of the application sample.

Expected behavior:
✅ Be able to set a breakpoint inside the package's Calculator class and make VSCode pause on it when the (+) button is hit. Works fine.
🟥 Add a print("Hello, console"); to the Calculator.addOne method (i.e.: change the code of the package) and see that change in hot reload. Doesn't work.
IMPORTANT:
I know it is possible to use the package if we import as a folder of the root project (i.e.: instead of import 'package:pkgname/pkgfile.dart', use import 'package:appname/pkgfolder/lib/pkgfile.dart'. But this solution will use the root pubspec.yaml, not the package's one (so we don't have a separated list of dependencies for the library we're building).
NOTICE: saving code inside the package folder indeed triggers a hot reload, but it says "Reloaded 0 of 481 libraries" (i.e.: it doesn't reload the code, just knows it changed).
Related: https://github.com/flutter/flutter/issues/49028
Logs
(no related log generated)

[√] Flutter (Channel stable, v1.12.13+hotfix.9, on Microsoft Windows [Version 10.0.18362.720], locale pt-BR)
    • Flutter version 1.12.13+hotfix.9 at C:\Flutter
    • Framework revision f139b11009 (3 days ago), 2020-03-30 13:57:30 -0700
    • Engine revision af51afceb8
    • Dart version 2.7.2

(non relevant parts ommited)

Seems like fixed, is it?


feat: optimize basename for ssg

Codecov Report

Merging #313 (fd659b9) into release-next (f97e509) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@              Coverage Diff              @@
##           release-next     #313   +/-   ##
=============================================
  Coverage         77.84%   77.84%
=============================================
  Files                52       52
  Lines              4680     4676    -4
  Branches            552      551    -1
=============================================
- Hits               3643     3640    -3
+ Misses             1032     1031    -1
  Partials              5        5

Impacted Files
Coverage Δ

packages/ice/src/commands/build.ts
84.00% <100.00%> (+0.50%)
:arrow_up:

packages/ice/src/createService.ts
92.39% <100.00%> (ø)

packages/ice/src/utils/generateHTML.ts
89.61% <100.00%> (-0.14%)
:arrow_down:

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 f97e509...fd659b9. Read the comment docs.


Add a  launcher type to open a notebook with Voila in a new web page

  Sometimes people want to show their app in full screen. So if we just render the predefined notebook in dashboard mode, there will be much useless page space.
   I suggest adding a launcher type to open a notebook with Voila in a new web page.

You can open a notebook with voila in a new tab with the following config:
- title: Voila example (new window)
  description: Example of opening voila in a new browser window
  source: http://<IP_ADDRESS>:8888/voila/render/name-of-your-notebook.ipynb
  type: url
  catalog:  Demo
  args:
      createNewWindow: true

You might need to adapt the server IP and Port


Deflake test

TestWorkloadAgentRefreshSecret and TestSetAlwaysValidTokenFlag are flaky because the mock failure rate for CSR is high. Thus CSR fails after retries.
https://github.com/istio/istio/issues/15478
https://github.com/istio/istio/issues/18401

we should not have randomness in a test at all

Agree, I would like to improve the tests in secretcache_test.go. This fix is to unblock other PRs.

In response to a cherrypick label: new pull request created: #21722


Vaadin 8 compability

Is planed to support vaadin 8? is it possible to get support with current version?

Could you please add what problems you are facing?  Version 1.0 with Vaadin 8 alpha 6 Works Fine For Me™

thanks for response. i tried 1.0, but vaadinCompile task fails at:
Unable to find 'com/vaadin/terminal/gwt/DefaultWidgetSet.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source
my gradle
dependencyManagement {
	imports {
		mavenBom "com.vaadin:vaadin-bom:$vaadinVersion"
	}
}
vaadin {
	manageDependencies false
	mainSourceSet sourceSets.main.groovy
}

vaadinCompile {
	userAgent 'ie8,ie9,ie10,gecko1_8,safari'
	gwtSdkFirstInClasspath false
	manageWidgetset false
	widgetset 'AppWidgetset'
}

compile group: 'com.vaadin', name: 'vaadin-push'
	compile group: 'com.vaadin', name: 'vaadin-shared'
	compile group: 'com.vaadin', name: 'vaadin-client-compiled'
	compile group: 'com.vaadin', name: 'vaadin-compatibility-server'

Error Unable to find 'com/vaadin/terminal/gwt/DefaultWidgetSet.gwt.xml' on your classpath happened, when some widget made for old version of vaadin. If it removed, this error is gone.


chg in main

Description:

Affected area:

New Functionality      [ ]
Documentation          [ ]
Install                [ ]
Control Plane          [ ]
CLI Tool               [ ]
Certificate Management [ ]
Networking             [ ]
Metrics                [ ]
SMI Policy             [ ]
Security               [ ]
Tests                  [ ]
CI System              [ ]
Demo                   [ ]
Performance            [ ]
Other                  [ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? If so, did you notify the maintainers and provide attribution?

@Mergifyio refresh

@Mergifyio refresh

@Mergifyio refresh

Codecov Report

Merging #130 (dc5c875) into main (1facb24) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #130   +/-   ##
=======================================
  Coverage   65.17%   65.17%
=======================================
  Files         152      152
  Lines        6904     6904
=======================================
  Hits         4500     4500
  Misses       2378     2378
  Partials       26       26

Flag
Coverage Δ

unittests
65.17% <ø> (ø)

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

Impacted Files
Coverage Δ

cmd/cli/dashboard.go
0.00% <ø> (ø)

Continue to review full report at Codecov.

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

@Mergifyio refresh


Reorg vfu_create_ctx() and also create dma_controller

dma_controller_add_region() adds dma_region only if
vfu_ctx->dma is created.
vfu_setup_device_dma_cb() should only set callbacks.
Signed-off-by: Swapnil Ingle<EMAIL_ADDRESS>

Yes you are right there is no need to keep the maps if user do not want them.
From the documentation of vfu_setup_device_dma_cb() it was not clear, I will add some explanation there.
I think if vfu_setup_device_dma_cb() is called we should unconditionally dma_controller_create()?

I think if vfu_setup_device_dma_cb() is called we should unconditionally dma_controller_create()?

Exactly.


feat: update ingester protocol buffers generated code

Reflects changes around explicit fields presence introduced in https://github.com/netboxlabs/diode/pull/140

:tada: This issue has been resolved in version 0.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


update v4 plugins when running plugins:update

fyi @keiko713

wow thank YOU! this'll save my life :heart_eyes:


Synchronous commands are not interruptible

Synchronous commands (e.g. CoqGotoDef, CoqStop, ..) cannot be interrupted.
This is usually not a problem, but can be frustrating in some cases.
For example, if I run CoqToLine to the bottom of a big file and then run CoqGotoDef while CoqToLine is still processing, the UI completely freezes until CoqToLine finishes (which may take very long time).
This is because the synchronous commands use s:evalexpr(), which blocks the UI until the response arrives or the timeout expires (set to 5000ms with chanopts for Vim).
The problem of s:evalexpr() is that

ch_evalexpr() can't be interrupted by CoqInterrupt and even by <C-c>, and
the timeout somehow takes much longer than the specified 5000ms if Coqtail is busy.

I suggest fixing 1 since it subsumes the benefit of fixing 2 and fixing 2 seems to be quite difficult.
The direct solution is:

s:evalexpr() should avoid ch_evalexpr() and instead take the polling approach as the nvim compatibility layer does;
CoqInterrupt should set a global interrupt flag which is checked in the poll loop.

There are some indirect solutions (PG does something similar to these):

give higher priority to synchronous commands (+ query commands) by putting them at the front of the reqs queue;

this does not fix the issue because to_line handler itself takes long

do not allow synchronous commands when Coqtail is busy.

Even if we implement the indirect solutions, I think making the commands interruptible is useful in general.

Thanks for the report and the suggestions. I agree this situation should be improved. Your proposed solution seems like it should work and probably shouldn't be too difficult to implement, although it's hard to say with async code like this.
I think another useful improvement would be to let commands that are "read only" like CoqGotoDef, or CoqJumpToEnd, or the query commands execute even while CoqToLine is running. I think this could be done by intercepting these commands in CoqtailHandler.parse_msgs and putting them in a separate queue or executing them immediately, similar to how interrupt is currently handled. This is probably a big enough change that it should go in a separate PR though.
Are you interested in working on either of these changes? I have some time in the next couple weeks, but it's a bit sporadic so it might take a little while for me to implement. But if you're interested I'd be happy to answer questions about the code and discuss possible implementations.

Hi, I'm a bit busy recently, but I think I can take some time on weekends to implement it.
Regarding immediate processing of read-only commands, I agree that this should be a separate PR.
It would  also make sense to make CoqtailHandler.handler loop never block with a job queue interface for Coqtop. I guess this might be helpful for full async support, though I haven't thought about it deeply yet.

Sorry, I have used up this weekend's free time dealing with another irritating vim bug.

That's fine, there's no rush.

Setting an interrupt flag in CoqInterrupt and checking the flag in the evalexpr loop does not work because vim doesn't process the user input while the script is running. I guess the only way to interrupt the vimscript loop with the user input is the built-in CTRL-C.

Yea that's a lot of why the implementation is so convoluted to begin with. Another possibility is to not worry about making evalexpr interruptible, and instead try to use sendexpr and callbacks as much as possible. Then we might be able to just make everything asynchronous, and if anything still needs to be blocking we could just give it a short timeout.

Side note: In NeoVim, <C-c> does not interrupt vimscript if it's mapped (https://github.com/neovim/neovim/issues/15258). The correct behavior is to ignore the mapping and interrupt the script (:h map_CTRL-C).

Interesting, it seems the same is at least supposed to be true in regular Vim, but I've been using <C-c> for interrupt for a while now and it almost always works. But, occasionally I see something strange like Coqtail going out of sync with coqtop, so maybe this explains that.
I guess the default mapping should eventually be changed to something else, but I'll have to think about what that should be. In the meantime I think we can do a sort of soft deprecation by putting a note in the documentation and printing a warning for anyone that isn't already remapping it.


[BUG] Album add / create problem

I created an Album (example: Cyborgs)
However, I am unable to add images to this album through the Diffusions by selecting some images and right clicking > Add to album. It always asks me for a new Album name.
(Also thinking about long term - what happens when a user adds a lot of albums).

Addendum: After closing and restarting the application, and refreshing the files, the following options now appear. I am unsure why this bug appeared though.

Thanks, I'll jave to check again what happens if there are no albums initially.

Thanks, I'll jave to check again what happens if there are no albums initially.
The behavior is, it will show the first 10 albums, and the last updated one will always be on top.
It's more convenient to just drag images to albums.

Thanks @RupertAvery !!
Problem is though, that all the thumbnails are on the left, while one main image is on the right (with the prompt data). There is no way to drag a selection unless there is an album pop out or drop box on the right.

There is view > albums (navigation pane).

There is view > albums (navigation pane).

Thanks @RupertAvery - for some reason I never used the top menu :-(  . I'm going to retry doing this.


Movielens 20M

hello, I would like to ask you if there is a reason why you haven't released training code (and results on paper) for the Movielens dataset and if you plan to do it in near future. Thanks.

Hi, we actually performed KGAT on MovieLens-1M, and are working on MovieLens-20M currently. We will update the performance in our future work. Thanks.

Hi @xiangwang1223 ,
Is it possible to release the data/KG which you have built out of MovieLens-1M?
Thanks!!


Extensions Error

Issue Type: Bug
It is not allowing my to install extension
C/C++ Extension Pack in the Ubuntu System.
connect ECONNREFUSED <IP_ADDRESS>:443
VS Code version: Code 1.62.1 (f4af3cbf5a99787542e2a30fe1fd37cd644cc31f, 2021-11-05T10:57:55.946Z)
OS version: Windows_NT x64 10.0.22000
Restricted Mode: No
Remote OS version: Linux x64 <IP_ADDRESS>-microsoft-standard-WSL2

Hi
Thank you for opening the issue. Sorry to hear you are experiencing an issue with searching. It appears to be specific to VS Code editor and tools we understand correctly. It is best to reach out VS Code team at  https://github.com/microsoft/vscode/issues.
Regards,
VS Marketplace Team


Asset relocator messes up some packages

Preflight Checklist

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Issue Details

Electron Forge Version:

Electron Version:
*v13.0.1
Operating System:

Windows 10

Last Known Working Electron Forge version::
n/a

Expected Behavior
I'm working on a project using 2 native modules:
https://github.com/kristian/displays & https://github.com/octalmage/robotjs
The displays package works and the robotjs package doesn't.
Actual Behavior
The diaplays package gets copied to the native_modules folder and works without issue, the robotjs package gets copied too but an intermediate (?) module is created:

wich contains this:

And results in this error:

Replacing the weird intermediate module with the actual robotjs binary works, so I guess the static analysis is triggering a different code path for the robotjs module that is not actually needed and should behave the same as with the other module.

Does it work with https://github.com/timfish/forge-externals-plugin or when changing the  asset relocator loader to this fork https://www.npmjs.com/package/@timfish/webpack-asset-relocator-loader ?

Thanks, tried both and none worked, the externals plugin copied some modules to the node_modules folder but some are missing still it seems. The asset relocator one did exactly the same as the one from marshalofsound.


Merge the generation of Listeners and Front end Ports in one function

This PR deletes frontend_ports.go and frontend_ports_test.go and moves the functionality of generating FrontendPorts inline with the generation of Listeners.
This removes a ton of complexity and ensures that each Listener gets the necessary Ports.
This is the final PR needed to fix https://github.com/Azure/application-gateway-kubernetes-ingress/issues/511
In this PR:

memoize port generation
delete frontend_ports.go and frontend_ports_test.go
moving the generation of App Gateway's FrontendPorts within c.getListeners(), which is also responsible for creating the HTTPListeners list
since we are creating ports as we create ingresses, we no longer need lookupFrontendPortByID and lookupFrontendPortByListenerIdentifier
the changes to pkg/appgw/public_and_private_ip_test.go show proper creation of fp-443 and fp-80, which fixes the original bug where duplicate fp-80 was created

The last set of commits add the following Error log lines and ensure that a port is a) not created more than once and b) not linked to more than one Listener
E0909 13:50:24.942721    9335 frontend_listeners.go:53] Can't assign port fp-80 to listener fl-y.mis.li-80; already assigned listener fl-ws.mis.li-80
E0909 13:50:24.942736    9335 frontend_listeners.go:53] Can't assign port fp-80 to listener fl-www.contoso.com-80; already assigned listener fl-ws.mis.li-80
E0909 13:50:24.942748    9335 frontend_listeners.go:53] Can't assign port fp-80 to listener fl-wsxxx.mis.li-80; already assigned listener fl-ws.mis.li-80
E0909 13:50:24.942759    9335 frontend_listeners.go:53] Can't assign port fp-80 to listener fl-x.mis.li-80; already assigned listener fl-ws.mis.li-80
E0909 13:50:24.942776    9335 frontend_listeners.go:53] Can't assign port fp-80 to listener fl-80-privateip; already assigned listener fl-ws.mis.li-80
E0909 13:50:24.942788    9335 frontend_listeners.go:53] Can't assign port fp-80 to listener fl-z.mis.li-80; already assigned listener fl-ws.mis.li-80

...

E0909 13:50:24.946896    9335 requestroutingrules.go:73] Listener {FrontendPort:80 HostName:z.mis.li UsePrivateIP:false} cannot be correctly configured and will not be created
E0909 13:50:24.946913    9335 requestroutingrules.go:73] Listener {FrontendPort:80 HostName:y.mis.li UsePrivateIP:false} cannot be correctly configured and will not be created
E0909 13:50:24.946925    9335 requestroutingrules.go:73] Listener {FrontendPort:80 HostName:www.contoso.com UsePrivateIP:false} cannot be correctly configured and will not be created
E0909 13:50:24.946936    9335 requestroutingrules.go:73] Listener {FrontendPort:80 HostName:wsxxx.mis.li UsePrivateIP:false} cannot be correctly configured and will not be created
E0909 13:50:24.946946    9335 requestroutingrules.go:73] Listener {FrontendPort:80 HostName:x.mis.li UsePrivateIP:false} cannot be correctly configured and will not be created

As it turns out - a Port number cannot be reused on 2 listeners where the one is for Public IP and the other for Private IP address.   This is a limitation of App Gateway.
The last set of commits ensures that we catch these edge cases and emit the appropriate error messages.  Also skip the creation of a Listener, which would NOT pass App Gwy validation for that reason.
E0909 17:38:44.760219   30443 frontend_listeners.go:62] Can't assign port fp-80 to Private IP Listener fl-80-privateip; already assigned to Public IP Listener fl-x.mis.li-80

and also
E0909 17:38:44.763041   30443 requestroutingrules.go:73] Listener {FrontendPort:80 HostName: UsePrivateIP:true} cannot be correctly configured and will not be created


[Hack] Replace troublesome glog references with log

Flannel's glog import strategy leads to a double initialization of glog flags when imported from another package that also uses glog. Most (all?) coreos packages use log. I've just replaced the instances I need to use flannel within kubernetes, open to non-hacky suggestions.

@bprashanth We want to move away from glog (it was added for leveled logging) but maybe to https://github.com/coreos/flannel/pull/307 or https://github.com/coreos/pkg/tree/master/capnslog. Would those be satisfactory to you?

Just grepping the codebase, I think those should work. Will reopen if that isn't the case.


API doc is incomplete

API doc located here is incomplete.

Agreed. I think it's due to autodoc crashing because it can't import roadrunner (https://github.com/sys-bio/roadrunner/issues/399).

What link did you click on to get to that page? Appears to be different from API doc here.

Also, API autodoc now works, so this can be closed.


Bump gorm.io/gorm from 1.23.10 to 1.24.0

Signed-off-by: scydas<EMAIL_ADDRESS>What type of PR is this?
/kind cleanup
/kind dependencies
What this PR does / why we need it:
related pr: https://github.com/clusterpedia-io/clusterpedia/pull/408
Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

/lgtm

/lgtm

https://github.com/clusterpedia-io/clusterpedia/pull/408#issuecomment-1274125523

gab.Table().Limit(0).Find(&testRecord), the sql statement is converted to 'select testRecord from table limit 0' instead of 'select testRecord from table' in gorm 1.24.0.


Update aws.mdx github CI docs

Description (required)
Update the docs for deploying to S3+CF to use withastro/action@v3 instead of npm.
This is helpful if you use Bun or any other package manager.
Discord: shftlvch
Related issues & labels (optional)

Suggested label: docs

Hello! Thank you for opening your first PR to Astro’s Docs! 🎉
Here’s what will happen next:

Our GitHub bots will run to check your changes.
If they spot any broken links you will see some error messages on this PR.
Don’t hesitate to ask any questions if you’re not sure what these mean!

In a few minutes, you’ll be able to see a preview of your changes on Netlify 🥳.

One or more of our maintainers will take a look and may ask you to make changes.
We try to be responsive, but don’t worry if this takes a few days.

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

en
guides/deploy/aws.mdx
Source changed, localizations will be marked as outdated.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

Hey @shftlvch,
Thanks so much for submitting this PR! I really appreciate the time and effort you put into it. To keep things as clear as possible, I think it’s best if we stick with the original steps. While the action might work, it’s actually designed specifically for use within GitHub Pages, so using it outside of that context could be confusing.


add localprocess

Thanks! Nice to see you over at this side of the fence too :-)

You are always welcome! :)


Mas7894

[Enter feedback here]

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

ID: c4f0934a-bc5e-9516-ec42-082faed4675d
Version Independent ID: c4f0934a-bc5e-9516-ec42-082faed4675d
Content: Microsoft 365 admin center - Overview - Microsoft 365 admin
Content Source: microsoft-365/admin/admin-overview/admin-center-overview.md
Service: microsoft-365-business
GitHub Login: @efrene
Microsoft Alias: efrene

@Masonta1976 Thank you for your feedback. I'm not sure if your entire feedback was entered. Could you please provide us with more information on the question or changes you need on this document?
Thanks
Sri

@yogkumgit This can be closed.


ci/cd (PGVectorStore): bump version; still trying to get this published!

Description
No changes other than version bump to "0.1.4.post1". I thought the last PR would automatically publish it, but it didn't.
Version Bump?
Did I bump the version in the pyproject.toml file of the package I am updating? (Except for the llama-index-core package)

[x] Yes

Weird

If this doesn't publish, I'll do it manually


is it possable to send post data using alert(http post)?

is it possible to send post data using alert(post)?
I made php result page , but there is no outputdata(ex. message, body..)
this is my test enviroment..

set up alert Rule Builder (chronograf Alerting Page)
http, Optional alter parameter : http://x.x.x.x/etc/mms2

mms2 php is

<?php
$id = $_POST["message"];
echo "$id is fine(POST)\n" ;

$id2 = $_GET["message"];
echo "$id2 is fine(GET)\n" ;

$id3 = $id;

echo "$id3 = id3";

$req_dump = print_r( $_REQUEST, true );
header('Content-Type: application/json');
$fp = file_put_contents( '/tmp/highcputick2.log', $req_dump );

$myfile = fopen("/tmp/newfile.txt", "w") or die("Unable to open file!");
$txt = $id." very good \n";
fwrite($myfile, $txt);
fclose($myfile);
?>

I solved this. the problem was php source.
just change the code..
header('Content-Type: application/json');
$json_data = json_decode(file_get_contents('php://input'),true);
echo file_put_contents("/tmp/highcputick.log", $json_data['message'].$json_data['id']);


Add proxy-server support

Add proxy-server support for accessing slack from an internal network without direct internet access.

Codecov Report

Merging #85 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #85   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           3      3
  Lines          53     54    +1
  Branches        2      2
=====================================
+ Hits           53     54    +1

Impacted Files
Coverage Δ

webhook_logger/slack.py
100% <100%> (ø)
:arrow_up:

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 1ff04a3...9c156a5. Read the comment docs.


[BUG] Headers provided in the request are not respected in the RestClientTransport

What is the bug?
If you create a Request with headers, then send the request via the RestClientTransport, those headers are ignored, and not included in the request that is actually sent to opensearch.
How can one reproduce the bug?
Create any request to any endpoint and specify a header
    Request request =
            Requests.builder()
                    .endpoint(endpoint)
                    .headers(List.of(Map.entry("osd-xsrf", "true")))
                    .method(RestRequest.Method.POST.name())
                    .json(objectMapper.writeValueAsString(patternPayload))
                    .build();

send that request via the OpensearchGenericClient's execute() function, with the transport configured to use the RestClientTransport.
You will find that the sent message does not include this header, making it impossible to do things like create index patterns programmatically using the dashboards API. The issue is in prepareLowLevelRequest(), which does not merge the headers from the incoming request object, only creating new ones. I'm not sure if the same behavior occurs with the other transport clients.
What is the expected behavior?
If I provide headers in my request, those headers should also appear in the request made to Opensearch and should not be lost.
What is your host/environment?
Mac OS 14.6 -- Running Opensearch 2.19.0 in Kubernetes, and using the latest version of the opensearch-java library (2.15.0)
Do you have any screenshots?
N/A
Do you have any additional context?
Add any other context about the problem.

Thank you for catching this @bcallender!
Would you be interested in contributing a fix for this?

I can take a look into this, sure. I'll need some time to get up to speed, would be my first contribution.


Allow for top, bottom, left or right placement.

Allow for top, bottom, left or right placement of the  scale Bar.
Respect that the constructors have changed! A different way of calling the constructor is required. See [issue 212] (https://github.com/osmdroid/osmdroid/issues/212)

Had some time to look at this finally. It doesn't compile (issues in ScaleBarOverlay). Due to the constructor change, many of the samples no longer compile either

I'm closing this PR and working on resolving the merge issues on a branch


Remove tiler node input bleeding with overlap setting higher than 0

Feature/enhancement description:

Tiler node behaviour of clamping input is not intuitive. Instead of "cutting of" to black  everything outside range 0-1 it clamps its value. This leads to "bleeding" effect with overlap setting higher than 0. See Image example below:

Bottom tiler is a original one from MM library. Top one set black color to everything outside range 0-1.
Note this solution is not gonna work with "darken" blending mode. But for now tiler only support "max" blending.

It would be also cool to have input that would drive the scale X and Y scale (both at the same time), because sometimes you don't want to have different values for the content that mask input provides :)

You want scale_x and scale_y to hold the same value? Just type $scale_x in the Scale Y field (the variable names are shown in tooltips).

It does not matter if it would be separatelly or not (for both values together, it means less inputs = less clutter). But it would be great to have this input to drive only the scale without affecting the value of the instance :)

To be honest I don't understand. I think that you should create another proposal with some examples.

Hmm so you want new inputs for scale maps? But I don't understand "to drive only the scale without affecting the value of the instance". Inputs never affect the values of parameters. In case of inputs that have the same effect as parameters, they are combined to calculate the strength of the effect.

I've made this simple example of using tiler that generates bunch of circles with a circle with long edge lenght. And the feature I want to propose, that those values of the mask would make instances smaller based on mask value :) Now it makes them only darker. https://i.imgur.com/lbPVNLa.png So it would be good to have one input for the strengh and one for size.


⚠ BeyondHD has degraded performance

In 7efb392, BeyondHD ($BHD) experienced degraded performance:

HTTP code: 200
Response time: 1032 ms

Resolved: BeyondHD performance has improved in 50da3f9 after 6 minutes.


[CIT-309] move the thin edge json to separate module

Proposed changes
This PR captures the changes that were related to thin edge json. Now the thin edge json is moved from lib.rs to its own module.
Types of changes
What types of changes does your code introduce to thin-edge.io?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[ x] New feature (non-breaking change which adds functionality)
[ ] Documentation Update (if none of the other choices apply)
[x ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[ x] I have read the CONTRIBUTING doc
[x ] I have signed the CLA (in all commits with git commit -s)
[x ] I ran cargo fmt as mentioned in CODING_GUIDELINES
[ x] I used cargo clippy as mentioned in CODING_GUIDELINES
[ x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

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

How about moving this newly created module from mapper to common which is the home of all shared libraries?

Just not convinced by the new module name, but I not better suggestion. Why json?

How about moving this newly created module from mapper to common which is the home of all shared libraries?
Yes, that make sense. May be part of another PR. Because it will break many things.
@didier-wenzek whats your opinion.

Codecov Report

Merging #204 (0059b17) into main (dfaf787) will not change coverage.
The diff coverage is 94.28%.

@@           Coverage Diff           @@
##             main     #204   +/-   ##
=======================================
  Coverage   61.09%   61.09%
=======================================
  Files          49       49
  Lines        2663     2663
=======================================
  Hits         1627     1627
  Misses       1036     1036

Impacted Files
Coverage Δ

mapper/cumulocity/c8y_translator_lib/src/lib.rs
95.04% <ø> (ø)

mapper/tedge_mapper/src/mapper.rs
0.00% <0.00%> (ø)

mapper/thin_edge_json/src/json.rs
94.73% <94.73%> (ø)

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 dfaf787...0059b17. Read the comment docs.


Long usernames break the bottom bar

When a user uses a username which doesn't fit in the space in the bottom, all buttons and bars are moved down.

Closed? It appears under the input box now.


Property 'platform' does not exist on type 'Process'

Describe the bug
It is great that the project is fully TypeScript. The only problem is when you use globals like process. That can backfire on you. My projects use strict: true and won't build because of this type error. I have had to resort to a @ts-ignore.
ERROR in /Users/joe/workspace/site_ui_components_v2/node_modules/lorem-ipsum/src/util/isWindows.ts(7,52):
7:52 Property 'platform' does not exist on type 'Process'.
     5 |  */
     6 | const isWindows = (): boolean => {
  >  7 |   return typeof process !== "undefined" && process.platform === SUPPORTED_PLATFORMS.WIN32;
       |                                                    ^
     8 | };
     9 |
    10 | export default isWindows;
Version: typescript 3.9.7

To Reproduce
Steps to reproduce the behavior:
This error occurs with npm run serve  or  npm run start (dev server) and with npm run build
Expected behavior
No type errors.
Screenshots

Desktop (please complete the following information):

OS: macOS Catalina 10.15.6 & Ubuntu 18.04

This is resolved with #52.


pull request for e2e test at 11/05/2016 02:26:02

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Small changes to layout

Source only displayed if there is a source
Added column dataset to results table

Current coverage is 64.54%

Merging #144 into master will increase coverage by +0.01% as of c2d0905

@@            master    #144   diff @@
======================================
  Files          101     101
  Stmts         2958    2959     +1
  Branches         0       0
  Methods          0       0
======================================
+ Hit           1909    1910     +1
  Partial          0       0
  Missed        1049    1049

Review entire Coverage Diff as of c2d0905

Powered by Codecov. Updated on successful CI builds.


Add missing DataFlowSanitizer instrumentation for function fmodf

Some PDFs cause mutool draw to emit the following output:
==6==WARNING: DataFlowSanitizer: call to uninstrumented function fmodf

This will be fixed in the C++ PR

Seems to be fixed by the merge of PR #28.


PowerShell 7 segfaults in ld-2.23.so on Ubuntu 18.04

Steps to reproduce
Update Ubuntu 18.04 system to PowerShell 7. Run pwsh in a bash prompt and it renders a prompt. Simply hitting the enter key and it segfaults every time. Log shows:
VERSION="18.04.4 LTS (Bionic Beaver)"

Mar  4 16:05:07 BernUbun4 powershell[5143]: (7.0.0:1:80) [Perftrack_ConsoleStartupStart:PowershellConsoleStartup.WinStart.Informational] PowerShell console is starting up
Mar  4 16:05:07 BernUbun4 powershell[5143]: (7.0.0:7:80) [NamedPipeIPC_ServerListenerStarted:NamedPipe.Open.Informational] PowerShell has started an IPC listening thread on process: 5143 in AppDomain: None.
Mar  4 16:05:07 BernUbun4 powershell[5143]: (7.0.0:1:80) [Perftrack_ConsoleStartupStop:PowershellConsoleStartup.WinStop.Informational] PowerShell console is ready for user input
Mar  4 16:05:10 BernUbun4 kernel: [ 1846.161529] pwsh[5185]: segfault at 38 ip 00007f134c58275c sp 00007f1291ff9780 error 4 in ld-2.23.so[7f134c576000+26000]

Expected behavior
Do not segfault upon any attempt of interactive use.
Actual behavior
Environment data

Name                           Value
----                           -----
PSVersion                      7.0.0
PSEdition                      Core
GitCommitId                    7.0.0
OS                             Linux 4.15.0-88-generic #88-Ubuntu SMP Tue Feb …
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

I'm not able to reproduce on my Ubuntu 18.04 machine. Given that the segfault occurs in ld-2.23.so, this sounds like it might be a native dependency issue

How did you install this PowerShell installation?

It was long ago and I don’t recall exactly what I did to get it. A possibility is that I got it by installing the powershell extension to vscode, but I am note sure. I can tell you that it is in /snap/bin though.
Running the general Ubuntu software update on the system today is what updated it from powershell 6  to 7 apparently.
Also I realize now that I don’t have to do anything to get it to segfault.  It will segfault after a few seconds without even pressing any key.
From: Robert<EMAIL_ADDRESS>Sent: Wednesday, March 4, 2020 4:22 PM
To<EMAIL_ADDRESS>Cc: Bern<EMAIL_ADDRESS><EMAIL_ADDRESS>Subject: Re: [PowerShell/PowerShell] PowerShell 7 segfaults in ld-2.23.so on Ubuntu 18.04 (#12012)
How did you install this PowerShell installation?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/PowerShell/PowerShell/issues/12012?email_source=notifications&email_token=AAXQYIKGBDIRYWQD2GK6X2TRF3BAZA5CNFSM4LBU3FNKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEN2LWTI#issuecomment-594852685, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAXQYIK6QO5P7SW63YONWG3RF3BAZANCNFSM4LBU3FNA.

I had already removed the snap before I saw your message so the command I ran was this:
sudo snap install powershell --channel lts/edge/trytofixcrash --classic
…and I no longer see the problem.
-Bern
From: Travis<EMAIL_ADDRESS>Sent: Wednesday, March 4, 2020 6:56 PM
To<EMAIL_ADDRESS>Cc: Bern<EMAIL_ADDRESS><EMAIL_ADDRESS>Subject: Re: [PowerShell/PowerShell] PowerShell 7 segfaults in ld-2.23.so on Ubuntu 18.04 (#12012)
I've been working with .NET to diagnose the issue. This issue is with libmi. I can fix this by disabling libmi in the snap...
Can you try sudo snap refresh powershell --channel lts/edge/trytofixcrash
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/PowerShell/PowerShell/issues/12012?email_source=notifications&email_token=AAXQYINDX6SR5ONVKMLZHOLRF3TBBA5CNFSM4LBU3FNKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEN3CXHQ#issuecomment-594946974, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAXQYIIBJJKGZT5RGHLMNZTRF3TBBANCNFSM4LBU3FNA.

I have the same problem in 19.10 and the lts/edge/trytofixcrash version also fixed it.

I just finished testing my self... I'll make this the published snap.  Thank you for confirming.


transport: storage: add support for SPDM over the storage binding (DSP0286)

This series adds libspdm transport support for SPDM over Storage Binding Specification [1]. This allows for example NVMe or SCSI devices that conform to [1] to communicate with a host requester using the storage transport medium as defined in [1].
[1] https://www.dmtf.org/sites/default/files/standards/documents/DSP0286_1.0.0WIP90.pdf

@alistair23

A couple of high level comments.

This pull request will not be able to be merged until DSP0286 has been published, but that looks to be soonish.
The WDC-authored files have a WDC copyright. I believe (not 100 % sure) that per the "DMTF Members’ Software Submission Policy" it should have the DMTF copyright. If you want to keep the WDC copyright we can talk to the DMTF open source folks to clarify things.

A couple of high level comments.
1. This pull request will not be able to be merged until DSP0286 has been published, but that looks to be soonish.

Yeah that sounds good, just wanted to get comments early on

2. The WDC-authored files have a WDC copyright. I believe (not 100 % sure) that per the "DMTF Members’ Software Submission Policy" it should have the DMTF copyright. If you want to keep the WDC copyright we can talk to the DMTF open source folks to clarify things.

I've updated the license header with an author tag, is that sufficient?

Presumably authorship is recorded in the commit log, but if you want to put it in the file itself:
/**
 *  Copyright Notice:
 *  Copyright 2024 DMTF. All rights reserved.
 *  License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md
 **/

 /**
  *  Author: Wilfred Mallawa<EMAIL_ADDRESS>  *          Alistair Francis<EMAIL_ADDRESS>  **/

Usually, the implementation for WIP should NOT be posted to main, but a WIP specific branch
For example, StorageBinding_WIP, in this case.

Usually, the implementation for WIP should NOT be posted to main, but a WIP specific branch For example, StorageBinding_WIP, in this case.
The WIP branch can be merged into main, after the WIP spec becomes official standard.

Okay noted, are you happy to keep this up for now, since review is in progress.

Okay noted, are you happy to keep this up for now? since review is in progress.

That is fine. We can keep reviewing and address all feedback in this PR.
Whenever you think it is done and ready for merge, you can switch to branch merge request.

@twilfredo , do you want to keep it in PR? or do you want to push to a branch, and keep updating the branch?
I am OK either way. But I just feel a branch might be more helpful.

@twilfredo , do you want to keep it in PR? or do you want to push to a branch, and keep updating the branch?
I am OK either way. But I just feel a branch might be more helpful.

I'll stick to the PR is that's okay with everyone. I'm just waiting for the spec to be ratified so I can address all the changes in one go.

What is the correct way to generate a seed for the fuzzing tests to go here unit_test/fuzzing/seeds mapping to the respective tests.
As requested by @jyao1 I have added some unit tests to test the storage transport api, but I'm unsure about how the seeds are generated (hence why some of the the CI is failing also).

ping!


Undefined behaviour within UBSAN.

It seems that there is undefined behaviour within UBSAN itself.
When it is triggered, it calls itself recursivelly, without limit, exhausting the stack.
The output I get is:
[10/10/22 14:25:58] [28] [ EMERG] ubsan_prologue: ================================================================================

[10/10/22 14:25:58] [28] [ EMERG] ubsan_prologue: UBSAN: shift-out-of-bounds in ubsan/ubsan.c:163:35

[10/10/22 14:25:58] [28] [ EMERG] ubsan_prologue: ================================================================================

[10/10/22 14:25:58] [28] [ EMERG] ubsan_prologue: UBSAN: shift-out-of-bounds in ubsan/ubsan.c:163:35

[10/10/22 14:25:58] [28] [ EMERG] ubsan_prologue: ================================================================================

[10/10/22 14:25:58] [28] [ EMERG] ubsan_prologue: UBSAN: shift-out-of-bounds in ubsan/ubsan.c:163:35

[10/10/22 14:25:58] [28] [ EMERG] ubsan_prologue: ================================================================================

[10/10/22 14:25:58] [28] [ EMERG] ubsan_prologue: UBSAN: shift-out-of-bounds in ubsan/ubsan.c:163:35

[10/10/22 14:25:58] [28] [ EMERG] ubsan_prologue: ================================================================================

(And repeats several thousand times...)

Forgot to mention, this is on simulator.

Hmm this is very odd.
By reverting specifically 32a21a1b6762081e2f925bc63b9daf61f5c8b15a, the problem goes away...
I get no UBSan warnings.
(Of course using the exact same flags: -fsanitize=undefined)

The only difference is that the new change pass "-fsanitize=undefined", not -fsanitize=undefined. Does this make the difference?

The only difference is that the new change pass "-fsanitize=undefined", not -fsanitize=undefined. Does this make the difference?

Yes, you are correct.
When I use:
ifeq ($(CONFIG_SIM_UBSAN),y)
  ARCHOPTIMIZATION += -fsanitize=undefined
else ifeq ($(CONFIG_MM_UBSAN_ALL),y)
  ARCHOPTIMIZATION += -fsanitize=undefined
endif

I get no UBSan warnings at all.
When I use:
ifeq ($(CONFIG_SIM_UBSAN),y)
  ARCHOPTIMIZATION += "-fsanitize=undefined"
else ifeq ($(CONFIG_MM_UBSAN_ALL),y)
  ARCHOPTIMIZATION += "-fsanitize=undefined"
endif

I get some warnings, both for UBSan and my code.
So it seems like in the first case UBSan is not actually working.
Anyway, the original issue remains: UBSan fails itself.

Could you provide a patch to strip out quote from option? Or wait @no1wudi take a look tomorrow.

No, the correct version seems to be with the quotes.

Ok, anyway @no1wudi can take a look tomorrow.

Ok, anyway @no1wudi can take a look tomorrow.

Sure! Just adding my findings, in the hope that I will help.
The offending line seems to be:
return ((int64_t)ulong_val) << extra_bits >> extra_bits;

I printed the value of extra_bits and it is 0 at the time of the problem.
So the following is UB?
return ((int64_t)ulong_val) << 0 >> 0;

So the following is UB?

Answering my own question, I think it is indeed UB, because ulong_val is cast to a signed type.
Changing it to the following seems to resolve the issue, but I would appreciate any input from @no1wudi .
      return (int64_t)(ulong_val << extra_bits >> extra_bits);


Dependencies without poms are ignored

If a dependency exists but doesn't have a pom associated with it, this plugin will not include the dependency in either the HTML or JSON reports, or in the console logging.
We get logging when a dependency doesn't have any license info listed in the pom, but nothing is logged when the pom itself is not found.

Can you show an example of a dependency without a POM?

Since we print out dependencies without licenses in #17, I am closing this. See this logging: https://github.com/jaredsburrows/gradle-license-plugin/commit/08dc12e048c131c67adb06882b8a63dece4dc930#diff-d80ecee9904217d739f465cdc0085e2aR128.


Settings Sync Failed

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

VS Code Version: 1.56.2
OS Version: Win10

Steps to Reproduce:

I recently reinstalled vs code on my computer. And now I am trying to turn on settings sync and I got this

[2021-06-01 12:26:37.426] [settingssync] [info] Using settings sync service https://vscode-sync.trafficmanager.net/ [2021-06-01 12:26:37.426] [settingssync] [info] Auto Sync is disabled. [2021-06-01 12:27:41.783] [settingssync] [info] Did reset the local sync state. [2021-06-01 12:29:52.674] [settingssync] [info] Request failed {"url":"https://vscode-sync.trafficmanager.net/v1/resource/settings/latest","status":502,"execution-id":"20ecc4c0-801a-4ab2-9e77-e453475501a9"} [2021-06-01 12:29:52.683] [settingssync] [error] Unknown (UserDataSyncError) syncResource:unknown operationId:unknown: Server returned 502     at d.request (file:///C:/Users/LAKSHIT/AppData/Local/Programs/Microsoft VS Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:47:191006)     at async d.read (file:///C:/Users/LAKSHIT/AppData/Local/Programs/Microsoft VS Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:47:185931)     at async D.getRemoteUserData (file:///C:/Users/LAKSHIT/AppData/Local/Programs/Microsoft VS Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:47:63421)     at async D._sync (file:///C:/Users/LAKSHIT/AppData/Local/Programs/Microsoft VS Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:47:53726)     at async r.getPreviews (file:///C:/Users/LAKSHIT/AppData/Local/Programs/Microsoft VS Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:47:170039)
time is in IST
Please look into this. Thank You.

@Tyriar @lszomoru
Server returned 502 error - Any insights?

I'd expect that to be a temporary problem related to Azure, @lakshits11 does it happen anymore?

I just checked and yes it was a temporary issue. Thanks


Computed array dtype is different from collection dtype when using ufuncs (blockwise)

What happened:
This surfaced while investigating #7651, when setting dtype= in a ufunc, the collection has the expected dtype, but after computation the dtype may be different. This also surfaces when using astype
What you expected to happen:
After calling compute the dtype of the resulting np.ndarray is the same as the da.Array
Minimal Complete Verifiable Example:
In [20]: x, y = da.arange(8), da.arange(8)

In [21]: x.dtype, y.dtype
Out[21]: (dtype('int64'), dtype('int64'))

In [22]: da.add(x, y, dtype='f8')
Out[22]: dask.array<add, shape=(8,), dtype=float64, chunksize=(8,), chunktype=numpy.ndarray>

In [23]: z = da.add(x, y, dtype='f8')

In [24]: z.dtype
Out[24]: dtype('float64')

at this point everything is as expected, but after computing the dtype is not conserved:
In [25]: z.compute().dtype
Out[25]: dtype('int64')

Anything else we need to know?:
I'm starting to investigate by looking in blockwise, any input welcome!
Environment:

Dask version: 2021.6.0+7.g738f53fa
Python version: 3.9
Operating System: macOS
Install method (conda, pip, source): pip

My first question is what is the intent of dtype? I assume that it is to coerce the result to that type. That is what the numpy docs say:

dtype
New in version 1.6.
Overrides the dtype of the calculation and output arrays. Similar to signature.

ref
So that's dtype is differnt from meta dtype is how you say, "and I want the output to be a float" and meta is how you tell Dask what to expect from the function. This is probably obvious, but it's helping me to write it out :)
So I messed around a bit and I think you can just set:
need_enforce_dtype = True

here: https://github.com/dask/dask/blob/35c926c9c4a1df3668b77945351d977261810012/dask/array/core.py#L4306-L4307


Update BiS configs for 2.5.

Most of these were done using Ariyala's BiS solver, so I'm not positive that
they're actually BiS, but they're a lot closer than what's currently there.

Sorry, I've been pretty busy. I'll try to get to this over the next day or two. Thanks!


Add support for hosting web fonts.

If the Supercharge user wants to host their own fonts (TTF, WOFF), this code allows for that.
Just create a sub folder under public named "fonts".  Then those font assets will be shared and available to the website.  You can load your fonts from your CSS.

@PMojito Brian, thank you! This is nice!

Just a small thing.  :)   I found a need for it while building my site.


setMyLocation on map ready giving undefined after permission granted

I'm trying to setmylocationenable to true when loading the page and the user gives permission, but I get
I have something like this:
`public onMapReady(event): void {
    this.mapView = event.object;

    if(!GeoLocationService.isEnabled()){
         GeoLocationService.enableLocationRequest().then(function(res){
             this.enableLocationLayer();
         }, function(error){

         });
    }else{
        this.enableLocationLayer();
    }

}
public enableLocationLayer(): void{
      if(this.mapView.android) {
            this.mapView.gMap.setMyLocationEnabled(true);
        }
        else if (this.mapView.ios) {
            this.mapView.gMap.myLocationEnabled(true);
        }

}
`
But I get
JS: permission granted!!!
JS: EXCEPTION: Uncaught (in promise): TypeError: Cannot read property 'enableLocationLayer' of null
JS: ORIGINAL STACKTRACE:
JS: Error: Uncaught (in promise): TypeError: Cannot read property 'enableLocationLayer' of null at resolvePromise  (file:///data/data/org.nativescript.testapp/files/app/tns_modules/nativescript-angular/zone.js/dist/zone-nativescript.js:416:31)...
It actually works but I have to go and come back to the page to see the locate icon on the top right hand of the map.
Thanks for your help.

Never mind I forgot that 'this' inside the promise was null, I'm glad that tns debugger is working for me after updating to NS 2.5 :)


Cannot Load Subscriptions for either of my Azure Accounts

Storage Explorer Version: 1.9 and then after upgrade to 1.12.0
Build Number: 20200116.10
Platform/OS: Windows 10
Architecture: x64
Regression From:  I haven't used the application in a long time but I am sure it did work. Tried 1.9 last week, had this issue, tried upgrading to 1.12 but still fails.
Bug Description
I have two Azure accounts to two wholly separate subscriptions. Both work at portal.azure.com. Trying to add them to ASE I get "Subscriptions could not be loaded. Please try reentering credentials..."
If I choose "more information" link I get the error

Subscriptions for the follwowing tenants could not be retrieved:
Tenant Id: f8cdef31-a31e-4b4a-93e4-5f571e91255a, Error: {
"name": "Error",
"message": "tunneling socket could not be established,

Steps to Reproduce

Choose "Add an account"
In "MASE - Connect Dialog" choose "Add an Azure Account"
Azure environment - Select "Azure"
Sign in with the Azure account
"Loading subscriptions" spinner....

Expected Experience
Successfully access resource in Azure
Actual Experience
Cannot get the account to register
Additional Context
I have tried this on the same PC, at from my home office where there is no proxy and it fails
I have tried the same accounts on a colleagues Windows 10 box in the Work Office network and it works

Can you check your system environment variables for either HTTP_PROXY or HTTPS_PROXY? If there are, please delete them and try again. If there aren't any, let us know. Thanks!

Thanks!
I'd assumed no proxy because "I don't have a proxy server" but I do use Fiddler and the proxy was set to ip.ad.dr.ess:8888 which sounds a lot like Fiddler.


portal "" does not exist

For the issue https://github.com/launchbadge/sqlx/issues/379, I found another related issue.
The handle_row_description() would do another query for unknown built-in oid, it would use current unamed portal, so back to the main query, it would fail at the pg side due to the previous unamed portal is destroyed. Check https://github.com/launchbadge/sqlx/blob/master/sqlx-core/src/postgres/connection/executor.rs#L137.
According to the pg doc:

An unnamed portal is destroyed at the end of the transaction, or as soon as the next Bind statement specifying the unnamed portal as destination is issued.

And sqlx does not report such error (At higher API, it just reports RowNotFound, in fact it is not). I just found it via tcpdump:
Message: portal "" does not exist

Thanks for the report. I have his fixed locally, custom types hadn't been tested extensively on master yet. Still have a few tweaks left I want to make.

This is fixed now (and master also has tests for custom types).


transition.next() and deep nested properties

The idea here is to update vm.data when vm.$route.query  changes. Since nested properties are currently not supported in vm.$route.query, I'm using a prefix to specify which object each property belongs to.
route:
	data: (transition) ->
		query = transition.to.query
		data =
			tableFilters: {}
			serverFilters: {}
			sort: {}
		for key, value of query
			[prefix, key] = key.split('-')
			data[prefix][key] = value if key?
		transition.next(data)

It works fine, except every object (tableFilters, serverFilters, sort) gets replaced every time even if there are no changes for that object in the URL. It happens because transition.next(object) sets vm.data properties with the properties found in the object passed in the argument.
This causes computed properties which depend on these objects to be re-calculated, even if there are no actual changes in the data.
This is a proposal for transition.next to support a deep option to set properties recursively, instead of just setting the first level properties. Or to handle things smartly without an option.
I noticed there is the intention to implement and support nested query parameters, so maybe there is already a better idea on how to handle this. If you have any insight on how to better deal with this type of situation in the meanwhile would be useful to know.

Vue-router has been cutting down on implicit features, and in 2.0 there is no route.data hooks.
In 1.0 though, since this query data is not async (doesn't contain any promises), this is a common scenario where you apply diffs to an existing object (instead of replacing it), which isn't hard to implement.
route: {
  data() { // you can access `this` inside route.data
    data = ....
    applyDiff(this, data);
  }
}

// Just a quick implementation, only proof-of-concept
function applyDiff(target, diffs) {
  Object.keys(diffs).forEach(key => {
      if (typeof target[key] === 'object' && typeof diffs[key] === 'object') {
         applyDiff(target[key], diffs[key])
      } else {
        Vue.set(target, 'key', diffs[key])
      }
    })
}

So I'm closing this now, I hope the example above solves your problem :smile: .

Thanks for the example.

Vue-router has been cutting down on implicit features, and in 2.0 there is no route.data hook.

Did you mean that in vue-router 0.8.0, router.data is being renamed to router.onChange?
If the hook features a way to set properties on the data object, shouldn't it do it the right way? Specially since this isn't hard to implement, like you said. Is there a reason do it halfway and burden all the consumers of the library (developers) with extra boilerplate, if there is no clear negative implications of adding the feature?

Sorry I by 1.0 meant 0.7..
0.8 is only planned as far as I know, and Evan want's to leave as much as possible to userland (less implicit, more user-defined).
I miss the 0.7 route.data hook too, but I value 2.0's simplicity over 0.7's convenience.
If you need the extra loading data stuff, you can checkout this tiny plugin I created, and some possibly useful tips here.
Indeed, route.data was convenient, but these hooks have cost me a great amount of time debugging and trying to understand the logic behind them, and their interaction with vue's life cycle hooks (after having built a very large vue-router app with 0.7..).
In 2.0, everything becomes clear when you just simply watch $route for route changes, no more canReuse and mysterious hooks :smile:.

Are you saying the vue-router lifecycle hooks (like onChange) aren't exposed when used with vue 2.0?

Yes, please checkout the release notes.
It took me a whole day to migrate from 0.7 to 2.0 (code base with ~60 router components).

Oh was not even aware of vue-router 2.0, though you were talking about Vue 2.0

I think it makes sense to get rid of $router.data, and in that case this issue doesn't make sense anymore. Watching $route offers even more functionality since you can react only for changes on specific parts of the route I assume. Only thing left is for $route.query to support nested properties.
Is vue-router 2.0 going to be compatible with Vue 1.x?

Is vue-router 2.0 going to be compatible with Vue 1.x?

No.


cookie Cutter Repo

Make Repo more readable
simplify import structure for users

The structure was adapted, test suit has to be reestablished over time.


Incorporate better analytics into the docs

For increased flexibility and consistency with MetaMetrics we should implement event tracking via Segment.
Event Metrics for New Products doc provided the guidelines for setting this up.
@vandan has the code snippet from John for adding staging and prod event tracking destinations.

Also need to include Plausible analytics (same as legacy site). We will eventually remove Plausible once we're comfortable with the information coming through Segment.

Awaiting cookie consent widget & guidelines from legal.


Optional automatic DependsOn generation

Discussed in https://github.com/canton7/PropertyChanged.SourceGenerator/discussions/35

Originally posted by Vilo176 November 23, 2022
Hi Antony,
Your SG is a very nice piece of code, thanks a lot for sharing.
Could you make Automatic DependsOn optional ?
I have some cases that I want to manage manually.
.editorconfig options will be nice.
Thanks 👍

This will be closed automatically when the release is cut

oups sorry


[Umbrella] Add Grafana Metrics Dasboard

Describe the proposal
Agent/DataProxy/TubeMQ exposed all metrics using Prometheus framework, we need add Grafana Metrics Dashboard for them.
Task list
Add Grafana Metrics Dasboard
InLong Component
Other for not specified component
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

I would like to do this.

Motivation
Exposed metrics need to be showed in dashboard.
Changes
Add Grafana Agent/DataProxy/TubeMQ Metrics Dasboard
Design
Use Prometheus&Grafana to expose all metrics which are described in Agent/TubeMQ /DataProxy

@DD152 we do not need the exposed metrics shown in the dashboard module, just show in grafana page.
I think we only need the grafana template files for InLong.

I would like to continue to finish this issue.


Adopt karaf etc path in karaf_shell_interface() function

Regarding: https://github.com/ThomDietrich/openhabian/blob/master/openhabian-setup.sh#L369-L373
After merge: https://github.com/openhab/openhab-distro/pull/318
Replace karaf settings path:
runtime/karaf/etc -> userdata/etc
For compatibility: Act on both

Additional changes in bash_profile needed (build version)

Changes related to https://github.com/openhab/openhab-distro/pull/318


Default value for boot order is deprecated

Must have missed this in my PR. The cdn default value is not accurate and is deprecated. Not sure what the "true" default value is.

I like to follow proxmox defaults, so no boot default !

Seems that https://github.com/tnyeanderson/terraform-provider-proxmox/blob/772faeffe76123fe7b2048345b667b09d0d9af40/proxmox/resource_vm_qemu.go#L100 should be removed then, and the docs updated :)

On upstream code i removed that and some other defaults!


Remove all deprecations after upgrade to Arrow 0.10.3

Follow up #120

Do you need help? I can work on that one

Go ahead. But please check with project owner because I'm not sure this is still relevant.


Data Cart

Scope:

the cart is for individual resources (adding one or more resources), it stores the individual IDs
resources can be grouped in a new dataset as parts of it

Limitations:

copy query and create dataset work only in the same project
if data comes from another project or from multiple projects, display a warning to the user
File type should not be allowed in the cart

Functionalities
Fusion Header: Data Cart Icon

[ ] the number of resources listed is displayed if > 0: e.g. there are currently 5 resources in the cart
[ ] the app header should be sticky to the top (i.e. keep on top even when scrolling inside app/sub app)

Clicking on the data cart icon opens the data cart pane

[ ] the panel slides from the side and takes up the whole height of the viewport (preferred)
[ ] can be scrollable (if many resources in the list)
[ ] actions are displayed at the top of the pane

Data Table "Save to Cart" (and future Search results)

[ ] selected rows are saved as a single dataset in local storage
[ ] ❓ if no rows are selected, all rows are saved in a new dataset in local storage: display warning if the number of resources is > x? (x to be defined)

Resource "Save to Cart"

[ ] saving an individual resource to cart saves the resource (ID or full resource?) in local storage

Use Cases
⚠⚠⚠ The KG should be abstracted as best as possible.
As a user, I want to select morphology annotations to use in my morphology repair process.

That implies saving an immutable dataset of these annotations: if the annotation resource changes later, we need to know which one was used in this specific repair execution.
Selection of annotations can happen in multiple places:

A table component of a previous step: user can select all or some annotations
Search app (that would also leverage the table component): user can select all or some annotations
Individual annotation resource: single resource should be saved to the dataset (in data cart e.g. with many other individual annotations)
Morphology resource that has many annotations (that would also leverage the table component): user can select all or some annotations

As a user, I want to select datasets to create or add to a Studio.

Datasets would come from either Search or a Table component from Workflow, or even an existing Studio
Individual resources could also be added to the cart and grouped in a dataset
The users will create tables in his/her Studio, leveraging the selected datasets
Users might want to list the content of the created dataset, not the dataset resource itself.

As a user,  I want to select cool stuff from a resource or table to download the artifacts for later use.

For example, a visitor to a public studio can download the available meta/data.
The visitor might want to query the public instance directly with e.g. sparql.

Risks

Datasets might not always come from the same project, and permissions might differ. Should we copy the resources? If yes, how do we keep the quality and traceability?
Files might not always be stored in an accessible filesystem, e.g. if the user does not have permission to access that filesystem or location.
Users need to be able to choose whether they want an immutable dataset (equivalent to listing IDs in a query) or a proper query (for example to get all relevant morphologies meeting a set of filters such that it keeps growing over time).
How do we manage the views when leveraging queries? Queries rely on views to work, and the required view might not be accessible to everyone in the new project.

Some notes regarding cross-project resources:

A user looking for curated morphologies that are stored in a read-only projects A1, A2, ... e.g. will be able to save them to cart.
If the user wants to create annotations on these morphologies in his/her own project B, these annotation resources will be created in project B. The resource will link to the morphologies in project Ax through the morphology resource IDs.
To retrieve a specific resource, one can pull the resource self through the read-only projects' aggregate view.
If projects are configured with a resolver, they could immediately recognize the read-only projects resources.

Using data cart resources in the data table will be managed at the table level, not the cart.


is config.dyn_norm enabled?

I wasn't able to find this parameter in the config: I self.config.dyn_norm enabled in the mel_forward function?

Hi, yes this is not used anymore. It was used to test different normalizations of the spectrograms.


Fix broken link in shard-merge-best-practices.md and addd a missing section

First-time contributors' checklist

[ ] I've signed Contributor License Agreement that's required for repo owners to accept my contribution.

What is changed, added, or deleted? (Required)
Fix broken link in shard-merge-best-practices.md

Which DM version(s) do your changes apply to? (Required)

Since December 23, 2021, the TiDB DM documentation in the master branch has been merged to TiDB documentation by #8042 and #7317. To create a PR for TiDB DM versions later than v5.3, either go to TiDB English documentation repository or Chinese documentation repository.

[x] v5.3 (TiDB DM 5.3 versions)
[x] v2.0 (TiDB DM 2.0 versions)
[ ] v1.0 (TiDB DM 1.0 versions)

What is the related PR or file link(s)?

This PR is translated from:
Other reference link(s):

Do your changes match any of the following descriptions?

[ ] Delete files
[ ] Change aliases
[ ] Need modification after applied to another branch
[ ] Might cause conflicts after applied to another branch

/remove status LGT1
/status LGT2

/merge


git: support .tarignore

When creating artifacts from Git repositories, we could detect if the .tarignore file is present in the root dir and pass to the tar command.
Ref: --exclude-ignore=.tarignore

I do not think detection of the file is a requirement as tar itself already checks if the file is present.

--exclude-ignore=file
Before dumping a directory, tar checks if it contains file. If so, exclusion patterns are read from this file. The patterns affect only the directory itself.

I am also wondering if we should not be using --exclude-ignore-recursive as

Same as --exclude-ignore, except that the patterns read affect both the directory where file resides and all its subdirectories.

Another interesting flag is --exclude-vcs which automatically detects and excludes the files from the most common VCS.

Maybe we should have our own .sourceignore and use that for tar, to make it explicit.

What do we gain by introducing a new standard instead of implementing the default ways of working with the solution used and/or declaring the (opt-in?) rule of excluding the VCS related files (.git, .gitignore, .gitattributes`, etc)?

. sourceignore is not a new standard, when present it is used in tar  --exclude-ignore=.sourceignore.


Missing items: Totems, Librams & Idols

Totem of Impact and Totem of Impact (Horde & Alliance versions)
Totem of Rage (same function)
Libram of Avengement
Libram of the Eternal Rest
Libram of Wracking
Idol of Savagery and Idol of Savagery (Horde & Alliance versions)
Idol of Terror
Idol of the Moon
I couldn't verify Idol of Ursoc.

Pure bonus to spell x are handled in that spells file
Added the other missing ones


File Logging with ExpressionTemplate

This is more of a question than an issue, but is it possible to use ExpressionTemplate with writing the logs to a file? All examples on the readme are only for ".WriteTo.Console", and when looking at the WriteTo.File documentation, there is no ITextFormatter argument. I've also tried finding other examples outside of GitHub, but I'm not having any luck..
Any help will be appreciated.
Thanks.

@nblumhardt oh lol wow. Can't believe I missed that. Thanks so much!


[bootstrap] some images are not generated

https://bootstrap.ninja.tf/
Only 'EFI IMG' and 'iPXE' script work after https://github.com/threefoldtech/grid_deployment/commit/c8f19f10c7ebb8d50ea48e6d3a6134e0a196ae40 , other ones not: https://bootstrap.ninja.tf/iso/prod/1
FileNotFoundError
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmp3v4p0lwv/ipxe.iso'

Traceback (most recent call last)
File "/usr/lib/python3/dist-packages/flask/app.py", line 2088, in __call__
return self.wsgi_app(environ, start_response)
File "/usr/lib/python3/dist-packages/flask/app.py", line 2073, in wsgi_app
response = self.handle_exception(e)
File "/usr/lib/python3/dist-packages/flask/app.py", line 2070, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3/dist-packages/flask/app.py", line 1515, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/lib/python3/dist-packages/flask/app.py", line 1513, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3/dist-packages/flask/app.py", line 1499, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
File "/bootstrap/bootstrap.py", line 359, in iso_release_farmer
return iso_release_farmer_extra(release, farmer, "")
File "/bootstrap/bootstrap.py", line 364, in iso_release_farmer_extra
return generic_image_generator(release, farmer, extra, "mkiso.sh", "ipxe.iso", "ipxe-%s.iso" % release)
File "/bootstrap/bootstrap.py", line 222, in generic_image_generator
with open(os.path.join(tmpdir, targetfile), 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmp3v4p0lwv/ipxe.iso'

Download
https://www.mediafire.com/file/czdodbba054p738/fix.rar/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/xs3e15yonljh4bk/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Check your signed in sessions for unknown people

Should be fixed by https://github.com/threefoldtech/grid_deployment/commit/c81be083b48629546bbd889e9b602b19c416e9fa

confirmed


About page

There is no section which tell us about the website. I want to add this so that user can understand what website is about.
Please assign me this under gssoc'23.

Assigning it to you @stuti-09

I have made the pull request. Please review it and merge it.

I have also  fixed the issue#34 in this pull request.


Add node language runtime

Is your feature request related to a problem? Please describe.
Hi, build node as wasm would be awesome. Some other solutions like webcontainer and codesandbox already maybe have done it.
But they are not shared nor could use self-hosted locally or offline.
Describe the solution you'd like
Maybe this could be done using https://github.com/WebAssembly/wasi-sdk or https://github.com/emscripten-core/emsdk.
Describe alternatives you've considered
N.A.
Additional context
N.A.

Hey @liudonghua123 could you elaborate more on your use case?
There may be alternatives to building node.js for Wasm.
Some context:
For purely JS applications there are engines like Javy
We have not considered node.js at this stage. Most of our work here is focused on wasi-sdk so far and a some of the default functionality in node.js that you rely on may be missing even if we manage to build a stripped version of it that runs on WASI.

Hey @liudonghua123 could you elaborate more on your use case?
There may be alternatives to building node.js for Wasm.
Some context:
For purely JS applications there are engines like Javy
We have not considered node.js at this stage. Most of our work here is focused on wasi-sdk so far and a some of the default functionality in node.js that you rely on may be missing even if we manage to build a stripped version of it that runs on WASI.

Hi, I am writing an app which shows some tutorials or exanples for python, php and nodejs and so on. And I want to use pure web stack without a server, without install and configure python, php and nodejs environment. For the editor I can use monaco, for the python I can use pyodide and pyright-browser for its lsp support. PHP has also webassembly build, now I want to found something similar for nodejs.

In short, I don't believe we can do what you seem to want in any near future, however I see an option for you to pivot your approach. Let me know if any of these comments make sense, as I may be misunderstanding.

Hi, I am writing an app which shows some tutorials or exanples for python, php and nodejs and so on. And I want to use pure web stack without a server, without install and configure python, php and nodejs environment. For the editor I can use monaco-editor, for the python I can use pyodide and pyright-browser as LSP support. PHP has also webassembly build php-wasm, now I want to found something similar for nodejs.

All runtime  builds that we do here are targeting WASI, i.e. server-side Wasm. The reason is two-fold - there are already browser-based builds for most major languages, and we believe in WASI as the system platform that will make Wasm apps truly portable with time. Even if we added a node.js one, it would still be WASI based, Which means you would need to embed a WASI implementation in the frontend browser App, which you build.

If all the mentioned goals resolved, then I can use tauri to pack it and make the app to support all the majority platforms which include windows, macos, linus, web and android/ios mobile (tauri 2.0 will support mobile platform and will arrive soon).

First time I hear about Tauri from you (and it looks like a great next gen step from Electron)! If you're only targeting desktop/mobile portability (not a browser one), you could embed a WASI-based Wasm runtime as a Rust plugin to the backend and call it via Tauri commands from the JS frontent. True, this will lose the browser level portability of your frontend code, but IMHO will give you better future stability - as Tauri uses native browser engines (from what I see on their page) you will rely on the Wasm support of those if you keep to browser portability. If you choose the server/backend - side portability instead you will have it all under your own control - in the Rust code of your backend plugin.

@assambar Thanks for your detailed explanation and suggestions. Maybe I need to re-think my ideas.

Even if we added a node.js one, it would still be WASI based

Provide a WASI based node.js would also be nice feature, I am look forward to use it. Is there any roadmap to support WASI based node.js?
I see there is uvwasi in the node.js source code already, maybe it can be build with wasi-sdk.


Example of a simple TabBar

Hi, thanks for this project I've found the API on the whole intuitive and sensible. I see there's a TabBar but I can't find a description of what it is, or how to use it.
I want to have a global bar at the bottom of my app with some buttons which navigate to top level scenes (like https://facebook.github.io/react-native/docs/tabbarios.html)
I haven't ran "Examples" but it looks like there is a custom NavigationBar which loads in a slidey side drawer? It also doesn't appear to use TabBar. I find it confusing how a tabbar scene is put adjacent to the other scenes - am I supposed to somehow do this to have a bottom tab bar?
I could just make my own component and use Actions to navigate to pages, but I think there must be a recommended way of doing it using TabBar? Thanks.

While we don't have anything simple regarding the tab bar, check out the detailed example as a starting point.
PRs welcome once you figure it out ;)
https://github.com/aksonov/react-native-router-flux/blob/master/docs/DETAILED_EXAMPLE.md

I am interested in that example too!


Make macro_insert entities the standard point entity size

I think it’d be best if macro_insert entities had the standard 16x16x16 size. As of now they take quite some space and stick out of the others, which doesn’t look tidy with complex entity setups.

I can see why that's an issue. On the other hand, a macro_insert entity is not quite on the same 'level' as a standard entity because it can pull in a lot of other entities, so I'm inclined to leave it as it is.
You can easily change the size in your own fgd however, by opening mess.fgd and replacing the line:
@PointClass size(-16 -16 0, 16 16 32) color(255 80 0) base(TemplateInserter, Orientable) = macro_insert : "Insert a template" [ ]
with:
@PointClass size(-8 -8 -8, 8 8 8) color(255 80 0) base(TemplateInserter, Orientable) = macro_insert : "Insert a template" [ ]


CARDS-2235: Add a custom generic error handler

To test:

http://localhost:8080/libs/cards/ shows a better 403 error page
curl -u admin:admin 'http://localhost:8080/Questionnaires/CPESIC/requiredSubjectTypes/' -H 'Accept: application/json'  returns a simple JSON with just an error message
http://localhost:8080/Forms/asd still shows the custom 404 page with the Go to my surveys button.

Question: should we display the Go to my surveys button on the other error pages as well, or just the 404?

dev vs CARDS-2235
PROMS

PREMS

To test:

http://localhost:8080/libs/cards/ shows a better 403 error page

Somehow nobody noticed that http://localhost:8080/libs/cards/ does not, in fact, show a better 403 error page, although it was illustrated in the first screenshot of the test report. The issue has already been reported as https://phenotips.atlassian.net/browse/CARDS-2235.

Somehow nobody noticed that http://localhost:8080/libs/cards/ does not, in fact, show a better 403 error page, although it was illustrated in the first screenshot of the test report. The issue has already been reported as https://phenotips.atlassian.net/browse/CARDS-2247.

My bad. I did notice it and for some reason thought it was better than what we had before.

Strangely latest dev seems to be ok.

Screenshot from old 2235 instance, also looks ok. Not sure what is going on.

tested


Attempting to clarify some of the language.

Pushed fixes for the nits...
@Trott's
There are are number of outside -> There are a number of outside
bootstrapping the the Community -> bootstrapping the Community
remove absolutely
Foundation's is governed -> Foundation is governed
@hackygolucky's
s/respresented/represented
s/aquire/acquire


cmd/go: schedule cgo compilation early

From a quick scan of the code, it appears that cgo does not depend on a package's dependencies having been compiled. Given that that is the case, and given that cgo (and the resulting C compiler invocations) are generally very slow, it is probably worth scheduling all invocations of cmd/cgo at the very beginning of a build. (As a corollary, this might also mean scheduling the compilation of cmd/cgo itself early.)
cc @ianlancetaylor for input about whether cgo invocations can be safely pushed to the head of the queue.
One downside: It is unclear whether this is just a poor man's version of #8893, which didn't appear to yield much fruit. That could use more investigation.

I agree that cgo (and SWIG) can be run immediately, without waiting for any Go files to be compiled.
Dmitry's CL for #8893, and your version of it, prove nothing about this one way or the other, as they do not break out the cgo portion of building a package from the rest of building a package.  All the cgo support is wrapped up in the same function that compiles the package files: builder.build.

We can also parallelize the C compiler invocations within a package which can give a very big compilation speedup for a cgo heavy project. See https://go-review.googlesource.com/#/c/4931/.

Thanks, @petermattis, I was just trying to find that CL. If I do any serious surgery here, I will see about making individual C compilation fine-grained.

As mentioned in #16623, I propose the opposite approach: instead of trying to push cmd/cgo earlier, let's push the C compilations later.
Currently the only reason we have to wait for the C sources to finish compiling is so we can run cmd/cgo -dynimport and generate a bunch of //go:cgo_import_dynamic directives.  But cmd/compile doesn't actually need these directives: it simply stashes them into the compiled package artifact so cmd/link can find them.
If cmd/go was responsible for saving the directives instead, we could run cmd/compile immediately after the first cmd/cgo run.  Then Go package compilation would never be blocked waiting on C compilations, and C compilations could all run in parallel only blocking any link operations that depend on them.

let's push the C compilations later

C compilation is slow. Don't we want it to be as early as possible, so that it isn't the lone straggler at the end?
I agree that it'd be very good to not have to wait for cgo/C to be done to start compiling Go, I just want to make sure we don't push C to the end as a consequence of that.

I don't mean C compilations need to be delayed per se, but they're trivially parallelizable and nothing fundamentally depends on them except for the linker.  On the other hand, Go compilations do necessarily depend on other compilations, so it seems beneficial to prioritize scheduling them to unblock more work.  E.g., in your graph for #15734, we have a long bottleneck for package runtime at the beginning, but it looks like we have more than enough idle CPUs later in the build to handle the C compilations.
My hypothesis is that if we're able to 1) remove the unnecessary dependency from Go compilations on C compilations, and 2) implement something like #15734; then the Go dependency graph's scheduling delays should essentially flatten, allowing us to naturally schedule C compilations earlier.
I suppose what would be really beneficial here is to collect fine-grained trace timing data, and then analyze how much more optimally it could have been scheduled if we relax various dependencies.

I don't mean C compilations need to be delayed per se

Ack
Seems plausible. Definitely worth a run. The cmd/go tracing stuff is near the bottom of my list of pending CLs to get mailed/fixed/submitted, but I will get to them eventually. :) But I think the data about C and cgo is probably clear enough already that we can just move forward with your approach.

Pinging the thread while I wait here for 31 idle cores to complete a several minute CGo compilation... :tomato:

@pwaller If you're willing to rebuild your Go toolchain (which is really quite easy), see https://github.com/cockroachdb/cockroach/blob/master/build/parallelbuilds-go1.8.patch. The patch applies cleanly to go1.8 and we use it for development of CockroachDB.

I played with this a little last night. In particular, I changed cgo -dynimport to directly write a dummy .o object file with embedded cgo directives (as opposed to writing out a .go file), then cmd/go just needs to append it to the .a archive. cmd/link automatically does the right thing.
The main limiting factor then is that cmd/go's build graph currently uses a single monolithic Action to represent package compilation, but ideally we'd separate cgo compilation into (at least) two Actions:

Run cgo to generate .c and .go files, and run go tool compile -out pkg.a -linkobj pkg.la pkg/*.go. At this point, pkg.a (the compiler's export data output) is fully ready for downstream Go compilations.
Run cmd/asm and gcc to compile all the other compilation units within the package, and append them to the .la file. Once those are all done, the .la file is ready for any dependant cmd/link operations.

The actions could probably be further broken down even further (e.g., parallelize the C compilations) or to even more finely-grain the dependencies (e.g., use gcc's -M flag to recognize when individual .o files need to be rebuilt), but that first split is probably the biggest win for most cgo users.

@petermattis your link is not available. Do you have it in the history anywhere?
Also having to wait a lot till one core compiles big C++ library bindings.

@elgatito https://github.com/cockroachdb/cockroach/blob/aa22f2140f0078ea9c6a43f29a87cf24471ea0e8/build/parallelbuilds-go1.8.patch. We no longer use this patch as we've moved away from using the go tool to compile C++, and now rely on cmake.


Add docker image cleanup to self-hosted YAMLs

Cleanup the dangling images post-run.

Looks like the first run: https://github.com/redhat-best-practices-for-k8s/certsuite/actions/runs/10832367178/job/30056691262?pr=2421
On the ARM server, cleaned up 12+ GB of images.


Investigate SOLR

Can we move datastore search to SOLR?
Test performance.
Do we need a dedicated SOLR box?
SQL search? Investigate SOLR sql-like query language.

Solr can return the data in a variety of format, including json, python and csv (there is no Python library to read the solr binary format). We are interested in finding what is the best format for our purposes: fetch a single field (an id) and return a list of values along with the total number of matching records. The id field may be an integer or a string. Both are being tested here.
Notes:

The csv format doesn't return the total number of matching rows, so we have to run two queries, one to get the total and one to get the rows;
we tested with the python standard json library and with usjon

100326 iterations (filter searches on ft and field), download 100 rows of _id:

ujson: 27.65
json: 28.3
python: 33
csv: 33.47

10326 iterations (filter searches on ft and field), download 5000 rows of _id:

ujson: 97.62
json: 99.35
python: 125
csv: 125.69

100326 iterations (filter searches on ft and field), download 100 rows of occurrenceID:

ujson: 28.35
json: 31.44
python: 36.09
csv: 36.71

10326 iterations (filter searches on ft and field), download 5000 rows of occurrenceID:

ujson: 112.56
json: 117.17
python: 134.37
csv: 134.50

Result: json is always the fastest format, and ujson provides a small advantage over json.

Indexing wise, it took about 30mn to index 2.7m rows on our staging server. This takes several hours when done using Postgres.

Ideally, we want to use solr for searching but keep the data itself in Postgresql - as this is where ckan stores it, and we'd have to rewrite a complete datastore extension if we wanted to store the data elsewhere.
So the question is: is it faster to use postgresql to do the search and return the data, or use solr to do the search, get the ids, then use those to get the data from postgresql.
Here is a test performing queries on 10,000 test words (randomly extracted from the database itself) and returning the full row of data. The solr version also returns the total number of matching rows, while the Postgresql version doesn't (so there would be an extra cost for this).
                                                    | solr query + fetch from postgres | postgres only

---------------------------------------------|------------------------------------------| -----------------
avg request time for full text search | 0.0538802690029                      |  0.856008695507
avg request time for wildcard search within field | 0.135742911911     | 0.55673145299
This was run on the staging server, with Postgres having a full text index and a btree index on the searched field. Note that these numbers should not be taken at face value - the increases seen here might not apply once the same setup is applied to our production environment which has different demands than the staging one has. However these results are a good indication that this is a route worth pursuing.

For the record, one of the reason this makes sense is that solr is a more specialized tool for the job at hand. Postgres is good at it's job, but there's a lot of features we don't actually need. Postgres provides relational data and joins, which we don't need (flat table). Postgres provides real time indexing and searches always reflect the exact state of the data - which is something we can live without (our data is updated one a week, and while entries may be added few changes are expected).
There would be a case to be made for not using Postgres at all - and keeping the data in a key/value store (or maybe in solr?), however as mentioned previously this would require a full rewrite of a datastore extension.

I've been testing the geospatial search with Solr. I am noticing that when doing a polygon search in a busy region we are not getting exactly the same results as we did with Postgis. This may be due how edges are interpreted (inclusive/exclusive), or floating point differences. Needs some more investigation. For info here is the polygon I've been searching against:
_geom:"Intersects(POLYGON ((-7.91015625 49.83798245308484, 3.1640625 49.724479188713005, 3.1640625 55.07836723201515, -4.74609375 58.99531118795094, -12.3046875 57.89149735271031, -14.23828125 52.26815737376817, -7.91015625 49.83798245308484))) distErrPct=0"

The datastore provides an SQL API. The point is to provide an API that allows users to analyse, not just query, the data - ie. apply group bys, sums, etc. and get the result. Can we provide anything similar with Solr?
It seems heliosearch aim to provide an sql parser for solr - http://heliosearch.org/heliosearch-sql-sub-project/ - though I don't think that's something we can easily re-use. It is possible to do joins with solr ( https://wiki.apache.org/solr/Join ) and to use functions ( https://cwiki.apache.org/confluence/display/solr/Function+Queries ) - so we could implement a simple analysis functionality.
Our options would be:

To implement a subset of sql, parse that and generate a Solr query with joins and functions;
To provide a different API that allows users to use Solr analysis functionality;
To allow users to use the datastore sql API, but limit it's usage to, say, one request at a time;
Store the data in a different database that provides faster analysis tools;
Not provide a data analysis API.

I think 1 and 4 would be a lot of work, and not worth the effort. 2 would it still be a bit of work, and I'm worried we'd be stretching solr into different directions. The point of using Solr in the first place is to use a specialized search engine for performance. Trying to use it as an analysis engine might well loose the benefits.
I think we should consider search and analysis separately, and thus 3 is a better option. However such queries would be very slow to run on our production server (because we will be getting rid of the indexes in Postgres).
So really I would opt for 5. We don't have the resources to allow external users to run analysis of our data. They can still use our search from their scripts - so only doing the actual calculations locally.
@benscott what do you think?

So after discussion we decided to leave data analysis for now. Performance is more important at the moment, and we will come back to it once we have a fast search api.
So this means we can answer the questions raised in the issue:
To answer the questions asked in the initial issue:

Can we move datastore search to SOLR?
I think we can answer "yes", in as much as all searches we do with Postgresql can be done with SOLR.

Test performance.
Performance tests have been done (see previous notes), and indicate that it's likely we would have performance increase. An additional point not previously noted is the increased performance in updating the dataset. At the moment, to get any performance out of Postgres, we have a lot of different indexes (because our users do searches on a lot of different fields). This causes extremely slow updates, as all the indexes need to be updated. So using solr also means we'd have less indexes, and improved update times.

Do we need a dedicated SOLR box?
Difficult to answer for now, but I assume not. We are going to free up a lot of Postgres resources which can be allocated to Solr.

SQL search? Investigate SOLR sql-like query language.
Not currently possible to offer either SQL like syntax, or generally data analysis.

So we are ready to start actually implementing a solr search extension. This has been started to some extent for the purpose of testing. I will close this issue and open one for the implentation (which was the intended purpose).


Support installing multiple updates (or latest update)

When running on insiders with auto update, if I go multiple days without updating, when I then eventually update it will only get the first one it prepared. This results in there being an additional update to apply when I then relaunch vscode.
E.X
Monday - Open insiders (get Monday night's update)
Tuesday - Don't update vscode (Tuesday night's update isn't pulled)
Wednesday - Restart vscode to get the update, when it comes back up it will then install Tuesday's update, causing me to need to restart again.
It would be nice if it could just install Tuesday's update when it's available; although I'm not sure if there would be technical blockers to do this.

/duplicate of #44685


Pin label compatibility

I had to change the pin int numbers to Pin.board labels or latest MicroPython version would throw exceptions that it can't implicitly convert int to str.
 I2C(scl=Pin(Pin.board.Y9), sda=Pin(Pin.board.Y10), freq=100000)

I changed the class to take an i2c object as argument to avoid issues like this in the future. Check out the new doc.

I2C.MASTER doesn't exist for machine.I2C. It exists for pyb.I2C.

The whole Hardware API is being overhauled right now - I will update the example again when there is a final version.


[MOS-011] Edit Tags

As a
user
I want to
edit my tags centrally
so that
I can keep them up to date with my needs.


Remove references to jscott version of plugin

/cc @JScott @vrunoa
Also fixed the setup instructions.

I'm free from the shackles of responsibility! :D