How to setup ng2-translate to Angular2+WebPack starter kit?

How to setup ng2-translate to Angular2+WebPack starter kit (https://github.com/AngularClass/angular2-webpack-starter) ?
Could you provide all steps?

I would like a bit of help with this too.  When I try and create the static loader inside app/index.ts:
import {TRANSLATE_PROVIDERS,
  TranslateService,
  TranslateLoader,
  TranslateStaticLoader} from 'ng2-translate/ng2-translate';
import {provide} from '@angular/core';
import {Http} from '@angular/http';

// Application wide providers
export const APP_PROVIDERS = [
  AppState,
  provide(TranslateLoader, {
    useFactory: (http: Http) => new TranslateStaticLoader(http, 'assets/i18n', '.json'),
    deps: [Http]
  }),
  TRANSLATE_PROVIDERS,
  TranslateService
];

it doesn't init TranslateLoader properly.  I get this error in the console:
zone.js:101 GET http://localhost:3000/i18n/en.json 404 (Not Found)scheduleTask @
it ignores the 'assets/i18n' configuration and I'm guessing the entire provider initialization

@maxkarpovets @dvulanov I don't use the starter kit but steps are the same.
If you have the latest version of the kit you can avoid the step 2.

import in your vendors file import 'ng2-translate';
You need to copy the i18n json files to assets folder using webpack, I use CopyWebpackPlugin

new CopyWebpackPlugin([             {                 from: helpers.root('src', 'public', 'i18n'), // replace with your folder                 to: 'assets/i18n'             }         ])

getting error,
browser_adapter.ts?9397:78 EXCEPTION: Error: Uncaught (in promise): Template parse errors:
The pipe 'translate' could not be found

https://github.com/akveo/ng2-admin/issues/8#issuecomment-222619802

Hello
@maxkarpovets @dvulanov
I try to prepare a small example, that you can see on: https://github.com/juliovg/ng2-translate
I don't know what is wrong, can you help me?
My error is something like:
VM12832:77 TypeError: Cannot read property 'annotations' of undefined
at ReflectionCapabilities.annotations (eval at  (vendor.js:237)
Really thanks

Hello everybody, i need your help: @maxkarpovets @dvulanov @sliker @ocombe
I try to prepare a small example, that you can see on: https://github.com/juliovg/ng2-translate
I don't know what is wrong, can you help me?
My error is something like:
VM12832:77 TypeError: Cannot read property 'annotations' of undefined
at ReflectionCapabilities.annotations (eval at (vendor.js:237)
Really thanks

From my original query @sliker noted that you have to ensure your ./i18n is copied into the asset folder, but webpack starter kit already ensures that everything in assets is copied over to dist build.
https://github.com/ocombe/ng2-translate/issues/122 addressed the issue.  Remove TRANSLATE_PROVIDERS from the bootstrap or it will override with a default loader.
Simply removing this ensures that the translate files are sources properly.

Hi @dvulanov I don't understand
i leave my main.ts like this:
import {Http, HTTP_PROVIDERS}               from '@angular/http';
import {Component, Injectable, provide}     from '@angular/core';
import {TranslateService,
TranslatePipe, TranslateLoader,
TranslateStaticLoader}              from 'ng2-translate/ng2-translate';
import {bootstrap}                          from '@angular/platform-browser-dynamic';
bootstrap(AppComponent, [
HTTP_PROVIDERS,
provide(TranslateLoader, {
useFactory: (http: Http) => new TranslateStaticLoader(http, 'assets/i18n', '.json'),
deps: [Http]
}),
TranslateService
]);
@Component({
selector: 'app',
template:
{{ 'HELLO' | translate:{value: param} }}
    ,
pipes: [TranslatePipe]
})
export class AppComponent {
param: string = "world";
constructor(translate: TranslateService) {
    var userLang = navigator.language.split('-')[0]; // use navigator lang if available
    userLang = /(fr|en)/gi.test(userLang) ? userLang : 'en';

    // this language will be used as a fallback when a translation isn't found in the current language
    translate.setDefaultLang('en');

    // the lang to use, if the lang isn't available, it will use the current loader to get them
    translate.use(userLang);
}

}
but i don't understand why i should delete TRANSLATE_PROVIDERS ?
I updeted my repository, can you send the solution ?
really thanks

@juliovg
I'm not sure why you need to remove TRANSLATE_PROVIDERS past the explanation that #122 gives.  But it worked for me.  Are you still having issues?  Your setup looks fine to me.  Although, personally I haven't tested my setup using params.

TRANSLATE_PROVIDERS is just a preset for a default configuration, but if you use a different path for the static loader, then you need to use the full bootstrap config instead of TRANSLATE_PROVIDERS.
I hope that answer your questions !

@ocombe I have pretty much follow every step and spend 2 days trying to figure out an issue I have. steps I followed are:

npm installed ng2-translate

import ng2-translate (vendors.ts)

TRANSLATE_PROVIDERS (added to APPLICATION_PROVIDERS)

provide(TranslateLoader, {
useFactory: (http: Http) => new TranslateStaticLoader(http, 'assets/i18n', '.json'),
deps: [Http]
}),
TranslateService (added to bootstrap function)

TranslatePipe (added to APPLICATION_PIPES)

/i18/en.json - es.json

My issue is that the content type for the requested .json file with the translations is set to:

Content-Type:text/html; charset=UTF-8

I'm building a MEAN app with https://github.com/datatypevoid/vulgar which is based on A2 & Webpack startkit. Express is set to be serving static files in asset directory as:

app.use(express.static(__dirname + '/dist'));

i18 directory is succesfully copied into dist/
please help me!!

Nevermind, must have been too tired and just found out it was a typo in my folder named i18 missing the "n"..

@sliker Thank you so much for your help. It took me so much time to find a solution to the problem.

@dvulanov It only works when it is on the top level for me too.
"EXCEPTION: Response with status: 404 Not Found for URL:
http://localhost/[mywebsitename]/assets/i18n/fr.json"
It doesnt insert the [distFolderName] between [mywebsitename] and "assets/i18n/fr.json"
In my app.module.ts
        {             provide: TranslateLoader,             useFactory: (http: Http) => new TranslateStaticLoader(http, 'assets/i18n', '.json'),             deps: [Http]         },
I looked at #122 too, didnt help. I have used the CopyPlugin as suggested by @sliker and it does copy all the files to the distribution folder. Problem is using the public path to point to the dest folder.

This is my app.module.ts
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { HttpModule, Http } from '@angular/http';

export function HttpLoaderFactory(http: Http) {
    return new TranslateHttpLoader(http, "i18n/", ".json");
}

@NgModule({
    bootstrap: [ AppComponent ],
    declarations: [
        AppComponent,
        HomeComponent
    ],
    imports: [
        UniversalModule, FormsModule, TranslateModule.forRoot({
            loader: {
                provide: TranslateLoader,
                useFactory: HttpLoaderFactory,
                deps: [Http]
            }
          }),// Must be first import. This automatically imports BrowserModule, HttpModule, and JsonpModule too.
        RouterModule.forRoot([
            { path: '', redirectTo: 'home', pathMatch: 'full' },
            { path: 'home', component: HomeComponent },
            { path: '**', redirectTo: 'home' }
        ])
    ]
})
export class AppModule {}

imported  Translate service in my ts file and rest of the code:

    constructor(private translate: TranslateService) {
        translate.addLangs(['en', 'esp']);
        translate.setDefaultLang('en');

        let browserLang: string = translate.getBrowserLang();
        translate.use(browserLang.match(/en|esp/) ? browserLang : 'en');

coming to my template
{{'Translater' | translate}}

    <select #langSelect (change)="translate.use(langSelect.value)">
        <option *ngFor="let lang of translate.getLangs()" [value]="lang" [selected]="lang === translate.currentLang">{{ lang }}</option>
    </select>

And i18n folder contains en.json fr.json files.
"EXCEPTION: Response with status: 404 Not Found for URL:
What was my mistake ?
FYI: i  installed only ngx-translate

Update and add i18n to .angular-cli.json:
e.g.
"apps": [
{
"root": "src",
"outDir": "dist",
"assets": [
"assets",
"favicon.ico",
"i18n"
],


Could nasbench2_pred.py be run on multiple GPUs?

I find parser.add_argument('--gpu', type=int, default=0, help='GPU index to work on') in nasbench2_pred.py. But could I run it on multiple GPUs in order to save time?

You could manually run different comments with different --gpu, --start and --enc.


UofT-DSI | Deep Learning - Lab

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
Completed lab exercies
What did you learn from the changes you have made?
Understood each learning topics
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
No
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
No
How were these changes tested?
Checked the code and QA
A reference to a related issue in your repository (if applicable)
No
Checklist

[Y] I can confirm that my changes are working as intended

Completed lab 1,2,3,5,6 questions are updated as a copy of doc, and lab 4 is updated in the original lab doc


Remote inspector not updated when adding new "navpoly" to "NavigationPolygonInstance"

Godot version:
3.2.2-stable_x11.64
OS/device including version:
Linux Mint 20 Cinnamon
Issue description:
Creating a Navigation2D system entirely in script, I noticed while debugging that when giving a NavigationPolygonInstance a new "navpoly", the remote inspector is not updated. It still says "[empty]" even after setting the "navpoly" property. UPDATE: The property is correctly set, and works just fine - it just doesn't show up in the inspector.

Steps to reproduce:
Try this bit of GDScript in the "_ready()" function in the main node of a new project:
# Create a Navigation2D node.
var navigation_2d : Navigation2D  = Navigation2D.new()
navigation_2d.name = "Navigation2D"
add_child(navigation_2d)

# Add a NavigationPolygonInstance to it.
var navigation_polygon_instance : NavigationPolygonInstance = NavigationPolygonInstance.new()
navigation_polygon_instance.name = "NavigationPolygonInstance"
navigation_2d.add_child(navigation_polygon_instance)

# Create a NavigationPolygon inside of the NavigationPolygonInstance.
navigation_polygon_instance.navpoly = NavigationPolygon.new() as NavigationPolygon

IIRC several similar issues exist, just with different resource types?

Duplicate of https://github.com/godotengine/godot/issues/28353 (same cause).


List all accounts in the service

As a user
I need to view a list of all accounts in the service
So that I can access and review the account information of other users or for administrative purposes
Details and Assumptions
The account service contains information about multiple user accounts, including customer names and addresses.
Users with appropriate permissions, such as administrators or authorized personnel, should be able to access and review the list of all accounts.
Viewing all accounts can be useful for tasks like user management, support, or auditing.
Acceptance Criteria:
Given I have the necessary permissions or role to view all accounts
When I access the "List All Accounts" feature in the service
Then the system should display a comprehensive list of all user accounts
And for each account, it should provide essential details, including the user's name and address
And I should have the option to filter or search for specific accounts based on criteria, such as name or address
And I should be able to navigate to individual account details by clicking on an account from the list


Picture Node: Network timeout

First of all I would like to say thank you and best from Germany👍
My cameras are abroad so I am using a VPN which works fine with http-access to cameras via Firefox and iVMS-4200.
Current issue: The picture node's attempt to connect to a camera leads to a timeout.
topic: ""
errorDescription: "network timeout at: http://192.xxx.xxx.xxx/ISAPI/Streaming/channels/101/picture"
payload: true

Hello,
I think i should increase the timeout. I’ll do it sofort, so you can try.

V 1.0.6 is out. The timeout is not 15 seconds. It should suffice.
Let me know. Thanks.

Great, that's performance👏
Just waiting that Nod Red is offering the V 1.0.6 in menu "Palette".

V 1.0.6 installed but it's still saying timeout.
Anything I should configure in the camera maybe?
Cameras I have: DS-2CD2T63G0-I8 AND DS-2CD2T85FWD-I8

Hmmmm... 15 seconds should be enough. The heartbeat fails as well some seconds later.
What appens if you copy the URL of the first debug message, pasting it into web browser?

And... can you issue a node -v command in a node-red console and tell me if you’ve at least Node v10.0.0 installed?

Other than that, have you enabled the Isapi/CGI option in the camera?

What appens if you copy the URL of the first debug message, pasting it into web browser?: Works fine. I see the picture.
Result from node -v command: v12.20.0

There is only the CGI thing. Can you check it?

No success after activating CGI
Time between calling URL and picture: < 1 second

After installing the v1.0.6 have you restarted nodered?
If yes, how about changing the authetication from “digest” to “basic” in the config node and restart node-red?

Yes, I have restared Node Red as requested
Node: Changed authentication from “digest” to “basic”: Still timeout

Tried yet with my VPN and all is fine.

Strange 😊
I am running Node Red on a Raspberry Pi in my home network
And I have another instance running on DS720+ VMM (see issue #2)

Do you maybe have WIFI and Ethernet both active on your PI?
You could disable the WIFI to see if it fixes the issue.

Pi: I am using a LAN / PoE-Hat. WiFi is not active.

Ok, let me do some more checks tomorrow, once in office. I'll try to ditch into this issue. It's for sure related to some other timeout... I'll keep you posted.

👏 Thanks

PS: in the meantime, revert to digest authentication ;-)

Raspberry / Browser: Not yet tested
My 3rd test-environment: DS-720+ with Node Red running in Docker: Node Installation works fine / no connection to cams.

Hi Georg.
Is nodered on docker able to reach the internet or you vpn? You should be sure thath the Raspi and nodered on synologi are able to reach other end of your vpn.

Hi Georg.
Is nodered on docker able to reach the internet or you vpn? You should be sure that the Raspi and nodered on synologi are able to reach the other end of your vpn where your cams resides.

Will verify that until tomorrow and I think you are completely right.

Georg?

Hi, have thought through the infrastructure and realised that the problem lies here. Certainly not in your software.
Working on establishing a VPN Site-toSite connection from my Fritz!Box in Germany to my Site abroad (UniFi USG).

Good luck. I ended up using opnSense on both ends to do a reliable openvpn connection. I had the same as you, fritzbox and usg.

Yes, I am facing the same trouble. I am close to saying good bye to my FB6590 and buy a Dream Machine Pro for Bremen.
How does your VPN infra (HW) look like?

Hi Georg,
I have a star configuration. Due to the fact that my internet connection at home doesn't have a fixed IP, i bought a cloud subscription from Hetzner.com (or .de, i cannot recall now) for ca. Euro 3,00/Month with fixed IP. I istalled an opnSense firewall on this machine. OpnSense has OpenVPN client/Server built in. This machine works as OpenVPN Server.
Then for my home, i've installed a VM on my QNAP, with opnSense as firewall as well, with openVPN client to the Hetzner cloud machine. This give me a fixed IP for my home. My primary firewall is obviously the opnSense on the Hetzner cloud machine (because it "sees" my home's internal IP subnet, that is routable as well!).
At home of the mather of my wife (alone, because the father died 'cause of Coronavirus), i installed a super very good Telkonika router (it has two SIM slots and it can connect to a WAN as well , working as OpenVPN client: https://teltonika-networks.com/it/product/rutx11/). This Teltonika router is connected to a Fritzbox (working only as modem and a DECT server for phones in his house). This teltonika router connects with the Hetzner cloud machine as well, so from my home, i'm able to connect to the entire subnet of my wife's mother's home.
My only Unifi gears are switches and Access Points. Unifi routers are way so limited for my needs.

Thanks for the detailed description👍

Hi Giovane,
i see that the launch of REOLINK's new 4K RLC-810A and 510A is ongoing. Both got person and vehicle detection.
Do you think you can develop nodes?

Hi Georg,
nope sorry. I develop only for gears i own. I own only hikvision stuffs!

I See. Otherwise I would maybe send you a Reolink.

Giovane, buon Natale!
Just thought I'll let you know that I will get a DS-2CD2645FWD-IZS very soon.
So if you think that some testing would be from benefit for your projects then very welcome.

Hi Georg
Wow, good! I’m sure they work flawlessy with hokvision-ultimate!

I'm very sure of that too👍

DS-2CD2645FWD-IZS is working well.
Should come up now in the compatibility list.

DS-2CD2645FWD-IZS is working well.
Should come up now in the compatibility list.

Thank you. If you click “connect” in the config window, it will be automatically added here
www.supergiovane.it:8080/?read=true&md=noCD&fw=no

Thank you. If you click “connect” in the config window, it will be automatically added here
www.supergiovane.it:8080/?read=true&md=noCD&fw=no


About the loss: reg loss and cls loss

Hi!Thanks for sharing your code！
When I tried to retrain the model, I found that the reg loss gradually dropped to negative numbers, while the cls loss first went down and then rose rapidly and finally remained around 1.75.Although the minADE indicator is declining, whether cls loss has a training abnormality？
Thank you !

I have the same question

I have the same question


Failed at step EXEC spawning /usr/local/bin/k3s: Permission denied

This problem puzzled me the whole day...

/usr/local/bin/k3s is a directory, can not be execute
cd k3s && ./k3s.bin -server

@wkclz  love you boody


Migrations fail on PostgreSql

Describe the bug
The migration process fails due to incorrect sql syntax.
To Reproduce
Steps to reproduce the behavior:

Set database type as PostgreSql, set the connection string.
Run the application
See error

Expected behavior
Application starts without errors.
Additional context
List of migrations to fix:

M20240502101400
M20240501134700
M20240501141100
M20240502101000
M20240506113900

We encountered an issue while testing this item. The migration issue we encountered is mentioned on this item #1632. Therefore, I am adding this item to the backlog until the issue is resolved. This will allow us to close the release 35 sprint 2


fix: Fix incorrect processing of Json, remove unused fields

Pull Request
Description
While executing functional tests, the next error was detected:
27-06-2024 07:28:44.440 [main] INFO  com.lpvs.service.LPVSQueueProcessorService.queueProcessor - PROCESS Webhook id = 3
27-06-2024 07:28:44.441 [LPVS::6] INFO  com.lpvs.service.LPVSQueueService.processWebHook - Processing webhook ID: 3, attempt: 1 for PR: https://github.sec.samsung.net/SOSHUB/LPVS-test/pull/1753
27-06-2024 07:28:47.715 [LPVS::6] ERROR com.lpvs.service.LPVSQueueService.processWebHook - Can't authorize commentResults() com.google.gson.stream.MalformedJsonException: Expected ':' at line 1 column 1859 path $.url_stats.
See https://github.com/google/gson/blob/main/Troubleshooting.md#malformed-json

Reason: incorrect processing of "url_stats" field in Json.
Current PR is fixing this issue.
Also, I removed unused fields from the ScanossJsonStructure class.
Type of change
Please delete options that are not relevant.

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Code cleanup/refactoring
[ ] Documentation update
[ ] This change requires a documentation update
[ ] CI system update
[ ] Test Coverage update

Testing
Testing via UTs.
Checklist:

[X] My code follows the style guidelines of this project
[X] My code meets the required code coverage for lines (90% and above)
[X] My code meets the required code coverage for branches (80% and above)
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[X] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes

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

Please upload report for BASE (main@0db1b06). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #542   +/-   ##
=======================================
  Coverage        ?   92.55%
  Complexity      ?      529
=======================================
  Files           ?       48
  Lines           ?     1733
  Branches        ?      208
=======================================
  Hits            ?     1604
  Misses          ?       64
  Partials        ?       65

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


integrations: use lazy static to define Regular expressions.

This is a follow up to https://github.com/leptos-rs/leptos/pull/1133
The code change is in the same function, but I think separating activities in to mico PRs  is better as when reverting code ... allow for more fine-grained control
RegEx::new() is surprisingly expensive, so I think the "Compute Once" pattern should always be used.

generate_route_list is typically just called once during server startup to create the list of Leptos-handleable routes that's passed into the Actix router.
I think lazy_static is a small enough overhead that this is reasonable to add; and it certainly guards against the possibility of accidentally using generate_route_list in more scenarios in the future and recompiling the regex.

This PR is a few hours old and already out of date!
Yesterday rust 1.7 was released, and the third part crate "lazy_static" was stabilised in core.
My preferred solution NOW is to insist on 1.7 as the min version of rust, thereby cutting out a dependency.
I appreciate this will lead to a policy change and/or a major path version bump.
I appreciate Insisting on 1.7 will be disruptive in the short term  and not for everyone  and so I am about to file a new issue, so the wider community can comment on the disruption.
lazy_static and the 1.7 release is discussed here.
https://www.youtube.com/watch?v=_hNOTQRip1Q

The next action is to rewrite when we don't need to pull in lazy_static
Its a minor point, and the PR will be disruptive,


Full german part

Hello,
thanks for the great addon!
I've added the full German part and tested and optimized it over the past few days.
It works pretty well.
Should I see errors in the future, I will post an update.
Regards
Fyler
Tags.zip

I pushed out German localization recently. Can you verify if the latest changes work correctly ?
There has been 3-4 iterations of German localization that I’m hesitant for another iteration without confirming it is an actual problem in the latest code

I have had a confirmation that german does work in v2.50. Closing the issue please reopen if there are still issues

flyer74 tags are better then the actual tags.lua you can download ... german here ... i posted curseforge as user veganmachtkrank then it leads me here after i read comments .. it works like a charm just sayin

The original tags are unfortunately very rudimentary and incomplete and only led to a few results.
The Germans use many abbreviations and have many names for some dungeons.
Typing errors are also common.
I took all of this into account in tests that lasted for days and included it in the tags.
I posted the tags here in the hope that German-speaking players can also benefit from the great add-on.


[Style] Enhance Age Calculator Page

What's the style idea?
We need to improve styling of the container for age calculator page(such as Adding shadows). Along with styling I wish to add some prompt text that can be displayed when a negative age is drawn.

Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[X] I am a SWOC'24 contributor.

Code of Conduct

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

Proceed @Nikitakandwal


Difference in log files

There a small discrepancy in the log files. I've noticed that there a small differences between the log files, particularly in default.log and proxy_host-x.log. The small difference that I can see is that the HTTP response in the proxy_host_x.log is repeated eg
[17/Jul/2021:14:23:43 +0000] - 204 204 - GET https hello.website "/index.php/204" [Client <IP_ADDRESS>] [Length 0] [Gzip -] [Sent-to <IP_ADDRESS>] "Mozilla/5.0 (Android)" "-"
While in  default.log
[04/Jun/2021:20:32:39 +0000] 444 - GET https <IP_ADDRESS> "/" [Client <IP_ADDRESS>] [Length 0] [Gzip -] "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36" "-"
Which makes a bit more sense

In the case of the proxy host, the HTTP response of received from the upstream is also printed (it's the first one).


Build recipe yaml directly

This adds some "fallback" behavior if a recipe.yaml is found but no pixi.toml next to it.
We just default to the pixi-build-rattler-build backend.
I am currently testing with:
[project]
authors = ["Wolf Vollprecht<EMAIL_ADDRESS>channels = ["conda-forge"]
description = "Add a short description here"
name = "build-recipe"
platforms = ["osx-arm64"]
version = "0.1.0"
preview = ["pixi-build"]

[package]

[build-system]
dependencies = []
# note this is unused garbage but currently necessary
build-backend = "bla"
channels = [
    "https://prefix.dev/pixi-build-backends",
    "https://prefix.dev/conda-forge"
]

[tasks]

[dependencies]
bzip-two = { path = "./recipes/bzip-two" }

and a recipe.yaml that looks like:
package:
  name: bzip-two
  version: 1.0.8

For sure, but maybe you guys can check if this is going in the right direction :)

For sure, but maybe you guys can check if this is going in the right direction :)

Seems like a useful default for sure!

For sure, but maybe you guys can check if this is going in the right direction :)

looks like a reasonable direction to me!

 We determined that that is a bug - we should not take the "parent" channels but rather take the channels of the thing we're building.
So this should go away, but IMO that is a follow up PR we should do.
I would argue we can merge this as is now, and then iterate further.

Let's add a proper test once the pixi.toml works properly without a build system and package.


Adjustments in the table component

Description
When using the table on a screen, I ended up noticing some things that are interesting to adjust.

Apply background color to the table, so that way it will not transparent, because, depending on the background color of the page, it may look strange or even not contribute to contrast colors;
When there is no data for a cell, add a dash (-). (This function may be optional for the developer to call).

These observations speak out about pagination as used in the table:

When using pagination, the table is issuing two event calls to the page, causing twice call for listing route;
Pagination is not accepting 0 as the value of total items. Not displaying any pagination button.

Expected Behavior

That the table rows have defined colors, including base colors such as neutral-1 (from the Ion color library). The same goes for the "No data" message;
Autocomplete option with dash (-) when there is no data in any cell;
Issue only one event call per action on the table;
Show pagination buttons disabled when total is 0.

Screenshots

We need a discussion with design team about this.


tests: localhost name lookup takes 1sec on Windows in github actions

This was found in PR #1250: on windows (Github Actions) the lookup for localhost takes 1 second.
This is because:

Windows retries connect() with a timeout
the machine has IPv6 and IPv4 but Testserver only binds the port on IPv4
the test clients connect to "localhost"

This combination leads to every test first spending 1 second trying to connect to localhost on IPv6 (this fails because the server is only IPv4). Eventually connect() succeeds on IPv4.
I would be nice if we could have the test servers bind the port on both IPv4 and IPv6 but unfortunately socketserver.TCPServer does not seem to support IPv6 before 3.8. This works on later versions:
class DualServer(six.moves.socketserver.TCPServer):
    address_family = socket.AF_INET6

# this leads to serving on both INET4 and INET6
server = DualServer(('::', 0), SimpleHTTPRequestHandler)
server.serve_forever()

I think the correct choice at the moment is to just use "<IP_ADDRESS>" instead of "localhost" in the tests (clients) -- this should mean we don't waste time trying IPv6. Maybe Teodora wants to fix this there but I'm filing this so we don't lose track.

last windows builds are >2 minutes faster :+1: :+1: thanks @sechkova


HTTP PayLoad Size Limit Support

Describe the feature request
Istioctl support limit the http payload size , and return the 413 status code .
In our production environment , we sometimes need to limit the request payload size to protect the server side. So we think maybe istio can cover this?
Describe alternatives you've considered
At now , we want to expand the fault inject or HTTPMatchRequest feature , may be add an condition action ?
Additional context
Or is there any other ways to get our goals?

Hi @pxzero, do you have any updates on this ? Because I'm facing the same question and would like to know how to if such feature is available, thank you


Validate ordering assumption in mergeMatrix

the current implementation of mergeMatrix assumes that pe2 is "before"
pe-- but does not thing to actually ensure or enforce that this is the
case. This means if there is overlap we can get dupe points. For
example (with the test case in the PR):
--- FAIL: TestTricksterHandler_mergeMatrix (0.00s)
    --- FAIL: TestTricksterHandler_mergeMatrix/0 (0.00s)
    	handlers_test.go:542: Mismatch
    		actual={success {matrix a =>
    		1.5 @[0.001]
    		1.5 @[0.002]
    		1.5 @[0.001]}}
    		expected={success {matrix a =>
    		1.5 @[0.001]
    		1.5 @[0.002]}}

This is likely the cause for a variety of "dupe points" or other
out-of-order points problems.
This change still assumes that the 2 series are "in order", if we wanted to not rely on that at all we'd need a more complete merging/sorting implementation like that in promxy
Fix #92

Nice!  Thanks for tracking this down, and helping expand the test cases. I really appreciate it!


fix(alert & notifications chrome): no focus-visible indicator

[ ] Chrome does not display a focus-visible indicator on the "Information", "Special Icons (Black)" and "Example for dismissible alert" notification when tabbing through the page.

[ ] All alerts should have the same style, a black background and standard text in HCM (this likely improves the focus situation)


Can't inject JWT in Instance call ?

Hi there,
I have my DicomWeb server accessible through a reverse proxy using a JWT auth mechanisme, so I need to inject the Authorization Bearer in the requests going from OHIF.
I did this
servers: {
dicomWeb: [
{
name: "Orthanc",
wadoUriRoot:
"/api/wado",
qidoRoot:
"/api/dicom-web",
wadoRoot:
"/api/dicom-web",
qidoSupportsIncludeField: true,
imageRendering: "wadors",
thumbnailRendering: "wadors",
enableStudyLazyLoad: true,
requestOptions : {
auth: (options) => { return Bearer ${token}}
}
}
]
},
It is working properly to get the /series /metadata APIs but does not work for the /instances/{UID}/frames/1 API.
The outgoing request do not includes au authorization header for Instance fetching while it is OK for series and metadata,
How can I set the token to be included in every http request of OHIF ?
thanks for help,
Best regards,
Salim

Dear @swederik , I compiled OHIF with success, but in this compiled version I don't even have the authorization token anymore even in the /series /metadata APIs that were working with the script tag (sources downloaded yesterday,
4.2.13 version)
at least the MPR is now working well with tbe built version ^^
Best regards,
Salim

@salimkanoun FYI i find that getting metadata and getting images controls from different loaders (RetrieveMetadataLoaderAsync and cornerstoneWADOImageLoader)
i solved this issue by adding my auth headers in these loaders

Hello @salimkanoun, I'm having trouble finding it, but it appears others have hit this issue. I believe we're pulling the config and setting the headers for those requests here:
https://github.com/OHIF/Viewers/blob/709f14708e2b0f912b5ea509114acd87af3149cb/platform/viewer/src/config.js#L45-L60
It may not be setup correctly, or it's possible bundling or a different extension accidentally blows out the configuration or creates a duplicate loader at some point.

thanks @dannyrb for this input
@web2ls could you share your config sample to inject the jwt in these two loader ?

@salimkanoun
metadata loader placed here:
platform/core/src/studies/services/wado/retrieveMetadataLoaderAsync.js
client.headers = Object.assign(client.headers, getMyOwnAuthHeaders());
this.client = client;
and image loader placed here:
platform/viewer/src/config.js
`if (headers.Authorization) {
      xhr.setRequestHeader('Authorization', headers.Authorization); // native OHIF headers
  }`

`const oncoreHeaders = getOncoreAuthHeaders();` // custom headers

`for (let key in oncoreHeaders) {
  xhr.setRequestHeader(key, oncoreHeaders[key]); // rewrite it
}`

maybe related to https://github.com/OHIF/Viewers/issues/1736

@Diex It is clearly the exact same issue

oh I see...
what I tried so far:

Using a proxy configuration for adding Authorization token on request.
Using custom header as @web2ls said

In both cases I have the same result:
no images loaded.
output trace ends with:

Timepoint data retrieval
dicomweb-client.es.js?f399:873 search series of study 1.2.840.1137<IP_ADDRESS>96.1570895568.1
dicomweb-client.es.js?f399:903 retrieve metadata of series 1.2.840.1137<IP_ADDRESS>96.1570895684.8

and a new error:
checkPropTypes.js?e034:20 Warning: Failed prop type: Invalid prop fallbackComponent of type function supplied to OHIFErrorBoundary, expected a single ReactElement.
seems unrelated to me but you never know.

@salimkanoun if you try @web2ls solution you need to be sure you do not have
cornerstoneExtensionConfig: {}, in your own configuration settings. In that case cornerstoneWADOImageLoader.configure() in config.js will be skipped.

@salimkanoun have you ever fixed the issue?


I cannot connect the database

Hello, tell me how to connect the database to the program, and where to find it

Hi, can you give a little more detail of what error message you are getting? I am using MySQL for the database and I control it using XAMPP. The database is live now for you to try.
email me at<EMAIL_ADDRESS>with screenshots, it might make it easier to solve the problem.

The problem is that I did not find the file that needs to be connected to the database

Can you please answer, it is very necessary(

hi @jgaspar10
i had a glance on project you provided. followed steps as suggested in readme file. program give error in database configuration. kindly provide .sql extract file so that i can import in workbench.

Hi, sorry for the late reply.
I will have a look and get back to you, I’m very busy at the moment.
On Tue, 25 Jul 2023 at 06:00, Rushi091997 @.***> wrote:

hi @jgaspar10 https://github.com/jgaspar10
i had a glance on project you provided. followed steps as suggested in
readme file. program give error in database configuration. kindly provide
.sql extract file so that i can import in workbench.
—
Reply to this email directly, view it on GitHub
https://github.com/jgaspar10/Student-Management-System/issues/1#issuecomment-1649127569,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOXPKSU3CVKL5MHG2B4B2ULXR5HIJANCNFSM6AAAAAAXMEKJ5Y
.
You are receiving this because you were mentioned.Message ID:
@.***>

Can you please answer, it is very necessary(

The server is online now, I had it off in XAMPP. Try it now and see it it fixed your issue.

hi @jgaspar10 i had a glance on project you provided. followed steps as suggested in readme file. program give error in database configuration. kindly provide .sql extract file so that i can import in workbench.

The server is online now, I had it off in XAMPP. Try it now and see it it fixed your issue.


Fix parallel test

Multiprocessing test is broken on master.  All tests are categorized as serial.  This fixes it.

@stefanseefeld, would you like to comment on this?

These changes look good. (I assume they were needed to fix issues with the hsa test suite ?)

@stefanseefeld, the changes is needed because everything were running in serial all the time.  The others are fixes because there were undefined symbols and PEP8.

Hmm, I wonder how that happened. When I worked on this code initially, it did run (the non-SerialSuite tests) in parallel. Not sure what specific change broke that.
But anyhow, I'm glad to see it work now. :-)
Thanks for the fix !


MRTK ScrollingObjectCollection doesn't work correctly

Hi,
I'm building a ScrollingObjectCollection, but the objects inserted in the list do not scroll correctly.
I noticed that when I put the objects in the container before playing scene the scroll object works well.
If instead I insert the objects in runtime, the container shows only the first objects and by activating the scroll they are not scrolled even though the objects are present. I mean, the scroll is activated, but trying to scroll, the animation always returns me to the first objects. Also, after added the objects into grid i applied the UpdateCollection() method.

Setup:

Unity Version 2019.4.24f
MRTK Version v2.7.2

Target Platform:

HoloLens 2

The object setups are:

Originally posted by @xandrew94x in https://github.com/microsoft/MixedRealityToolkit-Unity/issues/10333#issuecomment-979039880

Hi @xandrew94x, is this in the editor or on device?

Hi @polar-kev , I noticed that the problem is both on device and on the editor.

Components should be configurable from code at runtime so this is definitely a bug @xandrew94x. Thanks for filing.

Hi @xandrew94x, could you try calling ScrollingObjectCollection.UpdateContent() after modifying the collection? That should solve the problem you are facing.

Thanks for the reply @polar-kev and @MaxWang-MS.

Components should be configurable from code at runtime so this is definitely a bug @xandrew94x. Thanks for filing.

Maybe it is.
it's like if the methods don't interact with the object.

Hi @xandrew94x, could you try calling ScrollingObjectCollection.UpdateContent() after modifying the collection? That should solve the problem you are facing.

I made several tests.
I tried calling ScrollingObjectCollection.UpdateContent () and GridObjectCollection.UpdateCollection () after inserting the elements. Alternating the methods or entering both. I also tried calling these methods before and after inserting new objects.
(Objects within the grid, if any, are deleted and re-added)

If instead I insert the objects in runtime, the container shows only the first objects

I'm seeing the same issue with the GridObjectCollection's UpdateCollection() call via script. To work around this, I'm using a coroutine to delay the call by an additional frame when updating the collection during Awake/Start.

Hi @xandrew94x and @Schroedingers-Cat, I have tried but failed to reproduce the issue you mentioned. In my testing both SOC and GOC are correctly updated after calling UpdateContent() and UpdateCollection() respectively. If you are still encountering this issue, please provide us with more information (a min repro will work the best). Thanks.

Hi @MaxWang-MS, here you can find a sample repo where the issue happen.
The code simply clears and fills the list every n seconds. You can set the waitingTime from the editor. Also I inserted a flag to change from method UpdateContent() to method UpdateCollection().
@Schroedingers-Cat  Thanks for the answer. I tried also with a Coroutine method, but the problem persists. Furthermore, my task does not include updating only during Awake/Start.

I am looking solution for this. I instantiated buttons and called updatecontent and updatecollection through script. I can scroll when i change mask mode auto while it's running in unity editor but can't really scroll any other way.

is there any fix for this issues at this point?

Wasn't able to find a workaround. Still not usable.

We appreciate your feedback and thank you for reporting this issue.
Microsoft Mixed Reality Toolkit version 2 (MRTK2) is currently in limited support. This means that Microsoft is only fixing high priority security issues. Unfortunately, this issue does not meet the necessary priority and will be closed. If you strongly feel that this issue deserves more attention, please open a new issue and explain why it is important.
Microsoft recommends that all new HoloLens 2 Unity applications use MRTK3 instead of MRTK2.
Please note that MRTK3 was released in August 2023. It features an all new architecture for developing rich mixed reality experiences and has a minimum requirement of Unity 2021.3 LTS. For more information about MRTK3, please visithttps://www.mixedrealitytoolkit.org.
Thank you for your continued support of the Mixed Reality Toolkit!

I had this problem as well. As a kind of workaround it works somewhat well if you keep the object collection game object deactivated by default, instantiate the prefabs first and then activate the game object after everything is instantiated.

I found a workaround that works for my problem. It's a combination of the before-mentioned fixes but I still wanted to mention it.
Original problem: The elements in the GridObjectCollection would not update correctly and were displaced, although I called GridObjectCollection.UpdateCollection().
The fix for that was to call GridObjectCollection.UpdateCollection() in a Coroutine, effectively waiting a frame to call it after having updated the children of the GridObjectCollection.
That fixed the issue of displaying, but now I couldn't scroll properly.
My fix for that was to call ScrollObjectCollection.UpdateContent() also from the Coroutine and after GridObjectCollection.UpdateCollection(). This works for me, hopefully for you as well.

void someFunc()
{
    .....
    // Remove Children from GridObjectCollection
    // Add new Children to GridObjectCollection
    m_ScrollCollection.MoveToIndex(0); // Scrolls to the top [optional]
    StartCoroutine("InvokeUpdateCollection");
}

private IEnumerator InvokeUpdateCollection()
{
    yield return null;
    m_GridCollection.UpdateCollection();
    m_ScrollCollection.UpdateContent();
}


Bug with instancing/particle demo

Particle demo is broken

I have probably the same issue - when commenting out the instances in the Particle Demo and just displaying the single cone node, I just see weird artefacts.

I have probably the same issue - when commenting out the instances in the Particle Demo and just displaying the single cone node, I just see weird artefacts.

Hm, this was fixed after the bug was reported, but the issue wasn't closed.
If all instances are commented and it is just the master node, then there shouldn't be anything displayed.
This demo is currently working for me. Although it actually has a bug with the cone orientations.

Hm, this was fixed after the bug was reported, but the issue wasn't closed.
If all instances are commented and it is just the master node, then there shouldn't be anything displayed.
This demo is currently working for me. Although it actually has a bug with the cone orientations.

But it says sciView.addNode(master); in the demo, why should it not be displayed?
Here is how the demo without the instances looks like for me (you also see how the view turns black here in between):
https://user-images.githubusercontent.com/708121/103703226-73734900-4fa7-11eb-9920-73130cfd545a.mp4
.. should I create a new issue or just stay here?

But it says sciView.addNode(master); in the demo, why should it not be displayed?
Here is how the demo without the instances looks like for me (you also see how the view turns black here in between):
https://user-images.githubusercontent.com/708121/103703226-73734900-4fa7-11eb-9920-73130cfd545a.mp4
.. should I create a new issue or just stay here?

It does have sciView.addNode(master). Off the top of my head, I don't know what variable is checked (I think this is within the Renderer) to see if it is an "instance master" but if the node is an instance master, then the Node itself is not rendered but its instances are rendered.
Two things to check:

if you comment out sciView.getFloor().setVisible(false); then does the screen go black.
if you comment out master.getInstances().add(n); then do you get the glitchy rendering?

It does have sciView.addNode(master). Off the top of my head, I don't know what variable is checked (I think this is within the Renderer) to see if it is an "instance master" but if the node is an instance master, then the Node itself is not rendered but its instances are rendered.
Two things to check:

if you comment out sciView.getFloor().setVisible(false); then does the screen go black.
if you comment out master.getInstances().add(n); then do you get the glitchy rendering?

Yes, you are absolutely right, the black screen just comes from the floor becoming invisible. So that's not an example of the black screen described in the other issue, I take that back.
Commenting out only master.getInstances().add(n); also creates the glitches.
Ok, it has to do with the material - they disappear if I comment out master.setMaterial(mat);.
If I understand it correctly a node is an instance master if it has instances attached to it (val instanceMasters = sceneObjects.filter { it.instances.size > 0 } in the OpenGLRenderer) so when I commented out the instances it was rendered as a normal node.

Yes, you are absolutely right, the black screen just comes from the floor becoming invisible. So that's not an example of the black screen described in the other issue, I take that back.
Commenting out only master.getInstances().add(n); also creates the glitches.
Ok, it has to do with the material - they disappear if I comment out master.setMaterial(mat);.
If I understand it correctly a node is an instance master if it has instances attached to it (val instanceMasters = sceneObjects.filter { it.instances.size > 0 } in the OpenGLRenderer) so when I commented out the instances it was rendered as a normal node.

Ok, cool, this is getting closer.
One other thing to try is running https://github.com/scenerygraphics/scenery/blob/master/src/test/kotlin/graphics/scenery/tests/examples/advanced/MultiBoxInstancedExample.kt which uses a different shader (but still one that supports instancing)
Next, is it using the OpenGLRenderer or the VulkanRenderer? I did just now check with both renderers and both work for me. However, it is quite possible that there are more issues with the OpenGLRenderer than with the VulkanRenderer, because it is less preferred and gets tested less frequently.
The other question would be what video card/driver are you using?

Ok, cool, this is getting closer.
One other thing to try is running https://github.com/scenerygraphics/scenery/blob/master/src/test/kotlin/graphics/scenery/tests/examples/advanced/MultiBoxInstancedExample.kt which uses a different shader (but still one that supports instancing)
Next, is it using the OpenGLRenderer or the VulkanRenderer? I did just now check with both renderers and both work for me. However, it is quite possible that there are more issues with the OpenGLRenderer than with the VulkanRenderer, because it is less preferred and gets tested less frequently.
The other question would be what video card/driver are you using?

On Linux and Java 8, sciview always uses the OpenGlRenderer. I switched to OpenJDK 11 (where the VulkanRenderer is picked by default without commenting anything out) and the glitches are gone, but the viewer freezes my system for a couple of seconds now and then when moving around, making it quite hard to interact with it at all.
I ran the MultiBoxInstanceExample with OpenJDK 11 and this is what it prints to the console at the beginning:
[main] INFO VulkanRenderer - Loaded Deferred Shading (Deferred Shading, with HDR postprocessing and FXAA)
[main] INFO VulkanDevice - Physical devices:
[main] INFO VulkanDevice -   0: Nvidia GeForce MX150 (DiscreteGPU, driver version 450.320.128, Vulkan API 1.2.133) (selected)
[main] INFO VulkanDevice -   1: Intel Intel(R) UHD Graphics 620 (KBL GT2) (IntegratedGPU, driver version 20.0.8, Vulkan API 1.2.131)
[main] INFO VulkanDevice -   2: Nvidia GeForce MX150 (DiscreteGPU, driver version 450.320.128, Vulkan API 1.2.133)
[main] INFO VulkanDevice -   3: Intel Intel(R) UHD Graphics 620 (KBL GT2) (IntegratedGPU, driver version 20.0.8, Vulkan API 1.2.131)

It started with 0 FPS and crashed soon after with a SIGSEGV.

On Linux and Java 8, sciview always uses the OpenGlRenderer. I switched to OpenJDK 11 (where the VulkanRenderer is picked by default without commenting anything out) and the glitches are gone, but the viewer freezes my system for a couple of seconds now and then when moving around, making it quite hard to interact with it at all.
I ran the MultiBoxInstanceExample with OpenJDK 11 and this is what it prints to the console at the beginning:
[main] INFO VulkanRenderer - Loaded Deferred Shading (Deferred Shading, with HDR postprocessing and FXAA)
[main] INFO VulkanDevice - Physical devices:
[main] INFO VulkanDevice -   0: Nvidia GeForce MX150 (DiscreteGPU, driver version 450.320.128, Vulkan API 1.2.133) (selected)
[main] INFO VulkanDevice -   1: Intel Intel(R) UHD Graphics 620 (KBL GT2) (IntegratedGPU, driver version 20.0.8, Vulkan API 1.2.131)
[main] INFO VulkanDevice -   2: Nvidia GeForce MX150 (DiscreteGPU, driver version 450.320.128, Vulkan API 1.2.133)
[main] INFO VulkanDevice -   3: Intel Intel(R) UHD Graphics 620 (KBL GT2) (IntegratedGPU, driver version 20.0.8, Vulkan API 1.2.131)

It started with 0 FPS and crashed soon after with a SIGSEGV.

@frauzufall it is weird that both your GPUs appear twice, can you gist the output of vulkaninfo please? There might be something fishy there.
If MultiBoxInstancedExample crashes, does it produce a hs_err_pid[1-9*].log file? If yes, could you please post that?

@frauzufall it is weird that both your GPUs appear twice, can you gist the output of vulkaninfo please? There might be something fishy there.
If MultiBoxInstancedExample crashes, does it produce a hs_err_pid[1-9*].log file? If yes, could you please post that?

@frauzufall your freezing issue sounds exactly like an issue that I've had in the past. It never fully went away, only became mostly better through driver updates. For example, I get brief freezes at launch time pretty consistently. During runtime I don't really get freezes anymore, but I would get them when essentially anything changed within the scene.
The key to making it better was upgrading to version 455.38 (in general the 455 series) driver.
However, these issues really trouble me in terms of accessibility of sciview. In the past you would just revert to OpenGLRenderer when things performed poorly on the VulkanRenderer, but as you see it now has bugs with instancing.

@frauzufall your freezing issue sounds exactly like an issue that I've had in the past. It never fully went away, only became mostly better through driver updates. For example, I get brief freezes at launch time pretty consistently. During runtime I don't really get freezes anymore, but I would get them when essentially anything changed within the scene.
The key to making it better was upgrading to version 455.38 (in general the 455 series) driver.
However, these issues really trouble me in terms of accessibility of sciview. In the past you would just revert to OpenGLRenderer when things performed poorly on the VulkanRenderer, but as you see it now has bugs with instancing.

@kephale yes, updating to a 455 driver makes the freezes go away. So just to sum up in my case sciview needs to be executed with Java 11 and Nvidia 455. That should probably be documented somewhere.. I can look into the OpenGLRenderer if that's helpful.

@kephale yes, updating to a 455 driver makes the freezes go away. So just to sum up in my case sciview needs to be executed with Java 11 and Nvidia 455. That should probably be documented somewhere.. I can look into the OpenGLRenderer if that's helpful.

@skalarproduktraum let me be more precise, it crashes when I close the script interpreter window.
vulkaninfo.txt
hs_err_pid16484.log
The files were created after the driver update, here is the current output on the console:
[main] INFO VulkanDevice - Physical devices:
[main] INFO VulkanDevice -   0: Nvidia GeForce MX150 (DiscreteGPU, driver version 455.180.64, Vulkan API 1.2.142) (selected)
[main] INFO VulkanDevice -   1: Intel Intel(R) UHD Graphics 620 (KBL GT2) (IntegratedGPU, driver version 20.0.8, Vulkan API 1.2.131)
[main] INFO VulkanDevice -   2: Nvidia GeForce MX150 (DiscreteGPU, driver version 455.180.64, Vulkan API 1.2.142)
[main] INFO VulkanDevice -   3: Intel Intel(R) UHD Graphics 620 (KBL GT2) (IntegratedGPU, driver version 20.0.8, Vulkan API 1.2.131)

@skalarproduktraum let me be more precise, it crashes when I close the script interpreter window.
vulkaninfo.txt
hs_err_pid16484.log
The files were created after the driver update, here is the current output on the console:
[main] INFO VulkanDevice - Physical devices:
[main] INFO VulkanDevice -   0: Nvidia GeForce MX150 (DiscreteGPU, driver version 455.180.64, Vulkan API 1.2.142) (selected)
[main] INFO VulkanDevice -   1: Intel Intel(R) UHD Graphics 620 (KBL GT2) (IntegratedGPU, driver version 20.0.8, Vulkan API 1.2.131)
[main] INFO VulkanDevice -   2: Nvidia GeForce MX150 (DiscreteGPU, driver version 455.180.64, Vulkan API 1.2.142)
[main] INFO VulkanDevice -   3: Intel Intel(R) UHD Graphics 620 (KBL GT2) (IntegratedGPU, driver version 20.0.8, Vulkan API 1.2.131)

@frauzufall maybe we can make a screen sharing session these days? I'd like to get to the bottom of this 👍

@frauzufall maybe we can make a screen sharing session these days? I'd like to get to the bottom of this 👍

@skalarproduktraum bump

This issue has diverged a lot from the original bug report. I've confirmed that the particle demo is working currently. I'm closing this issue but we can reopen if these issues happen again.


iox-#1655 Add DeleterType template parameter to cxx::unique_ptr

Signed-off-by: Simon Hoinkis<EMAIL_ADDRESS>Pre-Review Checklist for the PR Author

[x] Code follows the coding style of CONTRIBUTING.md
[x] Tests follow the best practice for testing
[x] Changelog updated in the unreleased section including API breaking changes
[x] Branch follows the naming format (iox-123-this-is-a-branch)
[x] Commits messages are according to this guideline

[x] Commit messages have the issue ID (iox-#123 commit text)
[x] Commit messages are signed (git commit -s)
[x] Commit author matches Eclipse Contributor Agreement (and ECA is signed)

[x] Update the PR title

Follow the same conventions as for commit messages
Link to the relevant issue

[x] Relevant issues are linked
[x] Add sensible notes for the reviewer
[x] All checks have passed (except task-list-completed)
[x] All touched (C/C++) source code files from iceoryx_hoofs are added to ./clang-tidy-diff-scans.txt
[ ] Assign PR to reviewer

Notes for Reviewer

This prevents the misuse described in #1655 by introducing DeleterType as a 2nd template paramter to cxx::unique_ptr

This approach is similar to the one in the STL, a DefaultDeleter was not added on purpose as we don't use the heap and the user should instead explicitly write it's own deleter, which could also be delete ptr.

Checklist for the PR Reviewer

[ ] Commits are properly organized and messages are according to the guideline
[ ] Code according to our coding style and naming conventions
[ ] Unit tests have been written for new behavior
[ ] Public API changes are documented via doxygen
[ ] Copyright owner are updated in the changed files
[ ] All touched (C/C++) source code files from iceoryx_hoofs have been added to ./clang-tidy-diff-scans.txt
[ ] PR title describes the changes

Post-review Checklist for the PR Author

[ ] All open points are addressed and tracked via issues

References

Closes #1655

@elfenpiff @elBoberido Thanks for the review!
You are right, even if T and D have exactly the same type, having a reset(T* ptr) method may lead to situations where a ptr and deleter which don't belong together might be mixed as depicted in this comment.
I don't know why the STL designed the API like this, but I agree that we should change this to avoid misuse.
What's currently implemented:
template <typename T, typename D> // No DefaultDeleter
class unique_ptr
{
  // .. snip ..
}

// Avoids assigning `cxx::unique_ptr`s with different `DeleterTypes`
auto ptr1 = iox::cxx::unique_ptr<Foo, DeleterType1>(&myObject1, myDeleter1);
auto ptr2 = iox::cxx::unique_ptr<Foo, DeleterType2>(&myObject2, myDeleter2);

ptr1 = std::move(ptr2);

However, this wouldn't be a problem as myDeleter2 can be called before the move, if we use the same deleter signature for all cxx::unique_ptr.
My proposal going forward:

Keep the 2nd template parameter because it's more idomatic and gives the users more flexibility e.g. adding cv-qualifiers
Do not implement a DefaultDeleter to force users to explicitly reason about it (iceoryx is targeting heap-free development anyway, hence delete ptr wouldn't make much sense)

Two options for solving the remaining issue:

Remove cxx::unique_ptr::reset(T* ptr) and recommend users to use the move assignment operator instead
Change the signature to cxx::unique_ptr::reset(cxx::unique_ptr&& ptr), which would then call operator=(cxx::unique_ptr&& ptr)

I would tend to got for option 2) for convenience of the users.
@ymarcov What are your thoughts on this topic? Do you have any other nifty ideas?

My proposal going forward:

Keep the 2nd template parameter because it's more idomatic and gives the users more flexibility e.g. adding cv-qualifiers

The deleter takes the ownership of the memory which the pointer is pointing to and the unique_ptr always provides a pointer to a non const type. What kind of cv-qualifier can you then set here? Make the pointer const (not part of the signature so irrelevant). Make the underlying type constant - compile failure.
I think I do not understand what you want to achieve here and why it should be idiomatic.

Do not implement a DefaultDeleter to force users to explicitly reason about it (iceoryx is targeting heap-free development anyway, hence delete ptr wouldn't make much sense)

I support this.

Two options for solving the remaining issue:

Remove cxx::unique_ptr::reset(T* ptr) and recommend users to use the move assignment operator instead

Possible, but why not the discussed solution where the user has to provide the new deleter to the new pointer as second argument. So cxx::unique_ptr::reset(T* ptr, const DeleterCallback & deleter)

Change the signature to cxx::unique_ptr::reset(cxx::unique_ptr&& ptr), which would then call operator=(cxx::unique_ptr&& ptr)

Are you aware that this method is already implemented and called release?

@mossmaurice

@ymarcov What are your thoughts on this topic? Do you have any other nifty ideas?

I think it's important to minimize the mixing of different styles in one codebase, and it may be that I have a different style and therefore it's not so relevant here, but in any case here are some thoughts:

Some problems can be classified as "mistypes". If these can be avoided it's a good thing, but one should also look at the price of solving any particular problem in a certain way, i.e. the trade-off. For me if you reduce the likelihood of mistypes for one certain API call from 10% to 5% or maybe less, but you make 80% of all of its usages take on more boilerplate, I would probably not go for this trade-off, personally. You guys know better than me though if this is the case here or not.
Leaving it up to the user to figure out how to store and release a pointer you're providing him with is basically a violation of RAII. APIs should avoid returning "ownerless" handles in the first place. If generic types such as unique_ptr, which are provided for generic (i.e. not specialized) use cases, do not handle the subtleties of the use case very well, then some kind of a proper type should be provided that handles ownership for a special handle. This type should be simple, straightforward, and thoroughly unit-tested, which takes care of its correctness. Then, all usages of this type should work seamlessly, without requiring extra alertness, nor boilerplate or formalisms, from the user of the API.

Just my 2 cents.

@mossmaurice
As a side note, I'm not too big on ambiguity in APIs. If you have a type called unique_ptr, it should be as identical as possible (if not fully identical) to the STL, where nowadays it is one of the most foundational and frequently used building blocks. If anything is asking for trouble and mistypes, it is having different subtle characteristics for an identically named type such as this.

@ymarcov @mossmaurice

As a side note, I'm not a fan of ambiguity in APIs.

In general you are right and we started with the idea that you could always transfer your code from the STL to iceoryx and it would still compile. After a while we saw all the little weaknesses in the API which could lead to undefined behavior or easy misuse and then we started to adjust some minor things to solve those problems. Also getting rid of exceptions or heap leads inevitable to API changes.
Let's stay at this particular example. You come from the STL and would like to use iceoryx you will encounter some compile time failures.

The unique_ptr is no longer nullable. But then you will suddenly get rid of all the bugs throughout the code where you accessed an empty unique_ptr. Furthermore, no more null checks so your code becomes faster and less complex. If you would like to have a nullable unique_ptr you can always use the optional.
We somehow implemented the polymorphic allocator idea in a simplistic way with the deleter callable. Yes the user has to think about where to release it's resource, but since we are aiming for the safety critical use case a default heap deleter makes no sense. The memory is coming from some custom deleter like shared memory, publisher or for dynamic types from an internal allocator.

We are clearly aiming for the safety critical case and do not intend to be used as generic STL. So our paradigm is a safe API first and then take care of performance (but do not get me wrong, performance is still an important issue).
With the STL performance is the highest priority which can bring some serious drawbacks. Some examples:

std::optional does not reset its state after move but std::unique_ptr does, so in one class if ( myOptional ) is undefined but in if ( myUniqueptr) it is.
std::vector iterators are valid after move but invalidated when a std::string is moved
Our just take a look at the condition variable or mutex where other languages already have much safer concepts which we already adapted in our hoofs library (see smart_lock for instance which behaves like a rust mutex)

We try to be as consistent as possible on all levels and restrict the API maybe a bit but the user gains a safer uniform usage from it - sometimes even with performance increase. And we are defined! Move means that the source is in a defined state and this goes for so many more API adjustments.
But as with every API, it is not perfect and sometimes our changes open the door for another flood of bugs which we didn't think of so I appreciate your input very much! We have to always challenge our ideas and concepts.

@ymarcov Thanks for sharing your thoughts! :pray:
@elfenpiff Re

What kind of cv-qualifier can you then set here?

Although, being the owner sometimes unique_ptrs are not allowed to change the memory. For example in the Subscriber:
https://github.com/eclipse-iceoryx/iceoryx/blob/5870d172746a93460f59f34690fb9bb6f286dd73/iceoryx_posh/include/iceoryx_posh/internal/popo/subscriber_impl.inl#L44-L45

Are you aware that this method is already implemented and called release?

release is not the same as reset. release just releases the ownership and does not call the deleter, whereas reset calls the deleter and then replaces the managed object (like operator=(cxx::unique_ptr&& ptr)).
Conclusion:

Only use one template param T, but derive cv-qualifier for it with add_const_conditionally_t from T
Remove reset and recommend users to use the move assign operator instead

Closing this PR as it is super-seeded by #1707


Promote most H3 headings to H2 to make internal toc more useful

Fixes #27480
Internal review URL
The fist commit moves the 7.0 moniker block to the top of the file, so to avoid a confused diff it's best to review the commits separately.

@rafikiassumani-msft list is too long now

some of these need to be H3's under the right H2

some of these need to be H3's under the right H2

What do your red and yellow marks mean?

What do your red and yellow marks mean?
possible grouping

Environment and Ports could be under Configurations?

If we make them H3s under Configuration they won't show up in the in-page TOC, which only shows H2s.

@rafikiassumani-msft @BrennanConroy -- Issue #27480 asked for an in-page menu with links to H2 and H3 headings. The docs build system automates creating an in-page TOC for H2 headings only, so this PR at present provides a comprehensive in-page TOC by changing most H3s to H2s. That makes for a very long and flat TOC.
From looking at the internal review site do you think that long TOC addresses the request in #27480 or would you rather go back to a more hierarchical H2/H3 structure with a much shorter in-page TOC?
Or would you prefer a comprehensive hierarchical in-page TOC -- which would have to be created and maintained manually and would take up a lot of screen space at the top of the file?

@tdykstra Can the in-page TOC be divided into two or three sections of identical height? for example: |Tocs1|Tocs2|Tocs3 ?

Yes if we build it manually.

@tdykstra can the in-page TOC be divided into two or three sections of identical height? |Tocs1|Tocs2|Tocs3 ?

I feel like that will be better. It will be right there in the user's face as soon as they land on the page.

I feel like that will be better. It will be right there in the user's face as soon as they land on the page.

It won't for many, probably most. If the window is wide enough, you only get the top 4

It's a terrible UI that most ignore. cc @guardrex

I'm collecting 👍 on the issue asking management to PLZ REVERT back to showing the full topic ToC ...
https://github.com/MicrosoftDocs/feedback/issues/3770

It won't for many, probably most. If the window is wide enough, you only get the top 4

We're not talking here about the automatically generated flat in-page TOC, we're talking about manually creating a multi-column hierarchical TOC.

It won't for many, probably most. If the window is wide enough, you only get the top 4

We're not talking here about the automatically generated flat in-page TOC, we're talking about manually creating a multi-column hierarchical TOC.

We try to avoid custom/manual TOCs because

duplication of automatic
inconsistent with most of learn.microsoft.com
High maintenance costs, especially for rapidly evolving features

This is what it looks like on tablet sized devices

We can make an exception if we think it's justified.

This is what it looks like on tablet sized devices

The content under "In this article" would be much shorter since it would only have H2s and there wouldn't be a need to promote everything to H2.

This is what it looks like on tablet sized devices

The content under "In this article" would be much shorter since it would only have H2s and there wouldn't be a need to promote everything to H2.

And all the custom links will break with .Net 8

We try to avoid custom/manual TOCs because

duplication of automatic
inconsistent with most of learn.microsoft.com
High maintenance costs, especially for rapidly evolving features

And all the custom links will break with .Net 8
We can make an exception if we think it's justified.

I tested the Columns Markdown extension with a manual TOC and it doesn't work well with a hierarchical list. It works well for a flat list; the columns even rearrange themselves in response to window width changes. A wide window example is shown below, with H2 headings in bold but not indenting H3s. This approach does show everything right there in the user's face as soon as they land on the page. But it has all the disadvantages noted by @Rick-Anderson above, besides not clearly showing the hierarchy of the article headings. To limit the amount of maintenance required we could make only the H2s links, showing plain text for the H3s.
This is just a sample showing formatting -- actual H2s and H3s would be different, and the text would be links:

The merge conflicts are a complete disaster. I don't think there's any way to salvage this work. @tdykstra  should we close this PR?

should we close this PR?

Yes


🐛 Bug Report: Backstage Plugin Sentry "No implementation available for apiRef{plugin.sentry.service}"

📜 Description
I installed the Sentry plugin. When exporting the $SENTRY_TOKEN and running the dev mode locally, I get the error message

No implementation available for apiRef{plugin.sentry.service}

There are no log messages other than the GET requests from my browser in the Backstage logs.
If using MockSentryApi as per instructions, it works fine. But that also registers an API Ref via packages/app/src/apis.ts.
👍 Expected behavior
It should show the Sentry data. If for some reason credentials are wrong, it should still render the page (and not a full-page error overlay), and logs should indicate a failed API communication attempt.
👎 Actual Behavior with Screenshots

👟 Reproduction steps
Installed the plugin following instructions on https://github.com/backstage/backstage/blob/patch/v1.14.0/plugins/sentry/README.md
📃 Provide the context for the Bug.
No response
🖥 Your Environment
$ yarn backstage-cli info
OS:   Darwin 22.5.0 - darwin/arm64
node: v18.12.1
yarn: 3.2.3
cli:  0.22.8 (installed)
backstage:  1.14.0

Dependencies:
  @backstage/app-defaults                         1.3.1
  @backstage/backend-app-api                      0.4.3, 0.4.4
  @backstage/backend-common                       0.18.5, 0.19.0
  @backstage/backend-dev-utils                    0.1.1
  @backstage/backend-plugin-api                   0.5.2, 0.5.3
  @backstage/backend-tasks                        0.5.2, 0.5.3
  @backstage/backend-test-utils                   0.1.37
  @backstage/catalog-client                       1.4.1, 1.4.2
  @backstage/catalog-model                        1.3.0, 1.4.0
  @backstage/cli-common                           0.1.12
  @backstage/cli-node                             0.1.1
  @backstage/cli                                  0.22.8
  @backstage/config-loader                        1.3.0, 1.3.1
  @backstage/config                               1.0.7, 1.0.8
  @backstage/core-app-api                         1.8.0
  @backstage/core-components                      0.13.1, 0.13.2
  @backstage/core-plugin-api                      1.5.1, 1.5.2
  @backstage/dev-utils                            1.0.15
  @backstage/errors                               1.1.5, 1.2.0
  @backstage/eslint-plugin                        0.1.3
  @backstage/integration-aws-node                 0.1.3, 0.1.4
  @backstage/integration-react                    1.1.13
  @backstage/integration                          1.4.5, 1.5.0
  @backstage/plugin-analytics-module-ga4          0.1.0
  @backstage/plugin-app-backend                   0.3.46
  @backstage/plugin-auth-backend                  0.18.3
  @backstage/plugin-auth-node                     0.2.14, 0.2.15
  @backstage/plugin-catalog-backend-module-github 0.3.0
  @backstage/plugin-catalog-backend               1.10.0, 1.9.1
  @backstage/plugin-catalog-common                1.0.13, 1.0.14
  @backstage/plugin-catalog-graph                 0.2.30
  @backstage/plugin-catalog-import                0.9.8
  @backstage/plugin-catalog-node                  1.3.6, 1.3.7
  @backstage/plugin-catalog-react                 1.6.0, 1.7.0
  @backstage/plugin-catalog                       1.11.0
  @backstage/plugin-events-node                   0.2.6, 0.2.7
  @backstage/plugin-github-actions                0.5.18
  @backstage/plugin-home                          0.5.2
  @backstage/plugin-kubernetes-common             0.6.3
  @backstage/plugin-org                           0.6.8
  @backstage/plugin-permission-backend            0.5.20
  @backstage/plugin-permission-common             0.7.5, 0.7.6
  @backstage/plugin-permission-node               0.7.8, 0.7.9
  @backstage/plugin-permission-react              0.4.12, 0.4.13
  @backstage/plugin-proxy-backend                 0.2.39
  @backstage/plugin-scaffolder-backend            1.15.0
  @backstage/plugin-scaffolder-common             1.3.0, 1.3.1
  @backstage/plugin-scaffolder-node               0.1.4
  @backstage/plugin-scaffolder-react              1.4.0
  @backstage/plugin-scaffolder                    1.13.1
  @backstage/plugin-search-backend-module-catalog 0.1.1, 0.1.2
  @backstage/plugin-search-backend-module-pg      0.5.6
  @backstage/plugin-search-backend-node           1.2.1, 1.2.2
  @backstage/plugin-search-backend                1.3.1
  @backstage/plugin-search-common                 1.2.3, 1.2.4
  @backstage/plugin-search-react                  1.6.0
  @backstage/plugin-search                        1.3.0
  @backstage/plugin-sentry                        0.5.4
  @backstage/plugin-user-settings                 0.7.3
  @backstage/release-manifests                    0.0.9
  @backstage/test-utils                           1.3.1
  @backstage/theme                                0.3.0, 0.4.0
  @backstage/types                                1.0.2, 1.1.0
  @backstage/version-bridge                       1.0.4

👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

Small update, just upgraded to Backstage 1.15.0, error still happens.

Update: I figured out that I have to manually register the plugin in apis.ts. The documentation shows how to do that for the mock, but not for production. Maybe you could add this to the documentation.
  createApiFactory({
    api: sentryApiRef,
    deps: {
      configApi: configApiRef,
      discoveryApi: discoveryApiRef,
      identityApi: identityApiRef,
    },
    factory: ({ configApi, discoveryApi, identityApi }) => {
      return new ProductionSentryApi(
        discoveryApi,
        configApi.getString('sentry.organization'),
        identityApi,
      );
    },
  }),

There is another error when following the README examples. Setting up the route leads to a routeRef error. This time, I could not figure out whether/where there is any manual config missing, or whether that is a genuine error.
I just added the suggested entity route
        <EntityLayout.Route path="/sentry" title="Sentry">
          <EntitySentryContent />
        </EntityLayout.Route>

and am seeing this error:

@david-christ We followed the documentation as it is and were able to install the plugin at one go.
Did you add proxy and organization name in app-config.yaml?

@grvpandey11 yes, we did add the app-config parameters 😕

@david-christ can you try adding sentryPlugin to the list of plugins in the createApp call and see if that fixes some issues?
You might have packages/app/src/plugins.ts where you can just export it like we have in the main repo or you can add it here as an element in an array here

@benjdlambert thanks for your response. Our layout is that same pattern as in backstage. I have added the plugin to packages/app/src/plugins.ts, without success. /catalog/default/component/my-component/sentry still shows the same error.


type checking for custom event listening

When I define the emits with the defineEmits<{(event: 'custom-event', param: number): void}>() syntax, then doing v-on:custom-event="handler" on an element that emit("custom-event"), the problem is handler currently can be anything except null, undefined, and a function that accepts more parameters (or different parameters). It can be more useful if the type checking for v-on:custom-event="handler" behaves exact like in an assignment statement where it will reject values that doesn't match with its signature (param: number): void.

If I understand correctly, we have do this already?

Sorry, let me rephrase it better. Currently, it works for the following situations:

null
undefined
function with more params
function with different params

BUT, to make this practical, we need it to report error on these following situations too (which aren't currently working):

a number
a string
an object
an array

If you have @custom-event="1" for example, it will not report the error. (which should be)

This is the correct behavior, because this is expression and vue compile it to @custom-event="$event => (1)".

oh yeah, I totally forgot about that. Thanks for the quick replies.


ceylon tool for changing version

this tool would change a module version of an existing module, for instance:
ceylon version my.module 1.1

this changes the module.ceylon of my.module as well as the other module that import my.module .

I guess you could use this to just update dependency versions as well?

what about this?
http://ceylon-lang.org/documentation/current/reference/tool/ceylon/subcommands/ceylon-version.html

Already exists ;)

oh nice!!! thanks :-)

There is even a quick assist for this in the IDE @vietj :-)

even in Intellij ?

In Eclipse.


能否汉化菜单栏-插件包。

能否汉化菜单栏-插件包。Mac下现在就是菜单栏-插件包没有汉化，可以汉化吗？

插件千千万，何时才是头
------------------ Original ------------------
From<EMAIL_ADDRESS>Date: Fri, Apr 28, 2017 02:33 PM
To<EMAIL_ADDRESS>Cc<EMAIL_ADDRESS>Subject: [chinakids/atom-simplified-chinese-menu] 能否汉化菜单栏-插件包。 (#40)
能否汉化菜单栏-插件包。Mac下现在就是菜单栏-插件包没有汉化，可以汉化吗？
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Added event for initialization

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] I have read the CONTRIBUTING.md document.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

[ch2066]

[ch2066]

Nice! I think that solves it. Perhaps we could also edit the docs/book/misc/usage-analytics.md to reflect this change? Other than that, should be set to merge

Good idea, added the missing event.


Update types.go

updates in comment section

Codecov Report

Merging #154 into master will increase coverage by 0.12%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #154      +/-   ##
=========================================
+ Coverage   54.77%   54.9%   +0.12%
=========================================
  Files          42      42
  Lines        1581    1581
=========================================
+ Hits          866     868       +2
+ Misses        653     651       -2
  Partials       62      62

Impacted Files
Coverage Δ

cmd/probe/udevprobe.go
62.03% <0%> (+1.85%)
: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 011acfd...d613795. Read the comment docs.

Signed-off-by: sijith<EMAIL_ADDRESS>


Updates for sales tax

Hello @ksigler7,Thanks again for the PR! We appreciate your contribution and look forward to                                              continued collaboration. Thanks!                                             Team SendGrid DX


Dockermkdbfix

closing in favor of https://github.com/content-services/content-sources-backend/pull/31


Implement Factory for Creating Optimizely::Project instances to Avoid Passing in a Large Number of Positional Arguments

Feature request

The constructor for Optimizely::Project expects 10 positional arguments. This is pretty unwieldy because it's hard for a caller to remember which argument is which. It also requires a bunch of nil values to be passed in if only some of the non-default values are desired.
It would be helpful to introduce a factory that takes in keyword arguments as input and constructs the Project instance. Since there are probably existing callers, we can't remove the constructor with positional arguments.
Motivation
The motivation is included above in the summary.

I opened this for the wrong repository!


Fix some typos in the troubleshooting documentation

Fix some typos and rewrites a few sentences for more clarity in the troubleshooting documentation.

Wow, thanks for all of these! Merged.


Update some unstable docs

Some minor updates.

@bors: r+

:pushpin: Commit f703d3b237b6b6c21796fa56bcf487a0c6da1ba7 has been approved by alexcrichton

:hourglass: Testing commit f703d3b237b6b6c21796fa56bcf487a0c6da1ba7 with merge 7d2b578bc3b64a16932a26ecc3f7256dd14a7c58...

:sunny: Test successful - checks-azure
Approved by: alexcrichton
Pushing 7d2b578bc3b64a16932a26ecc3f7256dd14a7c58 to master...


500 error using LibMan

When my page requests any scripts brought in from libman, I get a 500 error response, with no other information.
This is an Asp.Net Core app running in Service Fabric.
To Reproduce
Steps to reproduce the behavior:

Using ASP.NET Core 2.1.1 & Service Fabric 3.3.624.
Enable libman and add jquery and/or bootstrap to the libman.js file.
Reference any of the files from a web page.
500 error is returned.

Expected behavior
I would expect that I get the file back being requested, with a 200 response.

We periodically close 'discussion' issues that have not been updated in a long period of time.
We apologize if this causes any inconvenience. We ask that if you are still encountering an issue, please log a new issue with updated information and we will investigate.


Increment version for keyvault releases

Increment package version after release of azure-keyvault-keys

/check-enforcer override


AWS lambda Runtime: "nodejs18.x" support

The current "base.schema.json" has not been updated to support the "nodejs18.x" lambda runtime even though is currently AWS recommended runtime version (as they finally bundled it with the AWS SDK for JavaScript v3).
Current error message:
[cfn-lint] E3030: You must specify a valid value for Runtime (nodejs18.x). Valid values are ["dotnet6", "dotnetcore1.0", "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", "go1.x", "java11", "java8", "java8.al2", "nodejs", "nodejs10.x", "nodejs12.x", "nodejs14.x", "nodejs16.x", "nodejs4.3", "nodejs4.3-edge", "nodejs6.10", "nodejs8.10", "provided", "provided.al2", "python2.7", "python3.6", "python3.7", "python3.8", "python3.9", "ruby2.5", "ruby2.7"]
https://docs.aws.amazon.com/lambda/latest/dg/lambda-nodejs.html?icmpid=docs_lambda_rss

cfn-lint is used for validation.  Make sure to update it using pip install --upgrade cfn-lint


Dselans/overwatch

This is a WIP for graceful component shutdown/startup.

So, the current list of where we're at and what's left:

director.go (DONE)

runDistributeListener (DONE)
runStateListener (DONE)
collectCheckStats (DONE)
runCheckConfigWatcher (DONE)

alerter

run

cluster

runDirectorMonitor
runDirectorHeartbeat
runMemberHeartbeat
runMemberMonitor

manager

run

state

runReader
runDumper

event (should we shut it down?)

runWorker (multiple instances)

All that should be left is cluster now which is arguably the most complex.

This is a pretty massive PR that touched (nearly) every component.
In short, this PR introduces the overwatch component. Overwatch is responsible for:

listening for alerts from components about dependency failures
starting/stopping components (such as cluster, manager, etc) until the failed dependency recovers
monitoring the dependency to make sure it comes back to life. When it does, it'll start all of the components back up.

The implementation is similar to what vulcand is doing when it encounters etcd problems.
This PR includes a good chunk of cluster.go and overwatch.go tests (cluster.go being the loudest when it began failing due to etcd watch errors).
The general approach was to utilize go-director for loopers (thanks @relistan) and context to cancel watches. This makes it fairly straightforward to test as well.
I'll go ahead and merge this, followed by some docs and then a version bump/release.


Improve alert styling

Check out https://chakra-ui.com/docs/components/alert

Also get rid of the x button, just click on it to close it

Done in #416


Use JsonProperty

I've been trying to get Blazor to use custom property names using the Newtonsoft.Json 'JsonProperty' attribute but so far cannot find a way to make it work. If I create an initial Blazor WebAssembly using the template and modify the 'WeatherForecast' class to...
`public class WeatherForecast
{
public DateTime Date { get; set; }
public int TemperatureC { get; set; }

[JsonProperty("sum")]
public string Summary { get; set; }

public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);

}`
The summary is no longer displayed in the grid even though I can see the data with a 'sum' field in the response. Is this not supported, a bug or have I failed to configure it correctly?

Well, you have to use JsonProperty attribute in System.Text.Json.

Thanks Berrysoft, but when I use the attribute '[JsonPropertyName("sum")]' the response json uses "summary" and not "sum", and the UI fails to load the summary details.

Sorry, but I cannot reproduce it. I'm using Blazor Client-side 3.1 preview.

Thank you for filing this issue. In order for us to investigate this issue, please provide a minimalistic repro project (ideally a GitHub repo) that illustrates the problem.

I've just pushed a basic project to: https://github.com/NevTheDevsCodeLab/JsonPropertIssue.
You will notice the 'Summary' column of the grid is blank and yet in the response the 'sum' field is present, so for some reason the client's view model's summary field isn't being bound.

@NevTheDevsCodeLab I delete the Newtonsoft.Json dependency, install System.Text.Json to BlazorApp_JsonPropertyIssue.Shared, change JsonProperty to JsonPropertyName, and delete AddNewtonsoftJson in Startup.cs. Then it works.
Note that blazor only uses System.Text.Json, therefore you cannot use Newtonsoft.Json in the server project.

Thank you for the information Berrysoft. I'm pleased to say I now have it working as expected.


typo: propeties -> properties

Minor typo in alt-text

@nschonni : Thanks for your contribution! The author, @aczechowski, has been notified to review your proposed change.

Thanks @nschonni for catching this
#sign-off


improve URL address parsing

hi!
still like it very much :) few more observations
extracting URL has some limitations. i understand it is mostly problem that man page authors take various approaches to write in URLs (some enclose in <>, some add spaces around, some do nothing), but some URLs could be better guessed, i hope.
eg. wget(1)

URL is not complete, even though it is enclosed in <> (extraction ends before '&')
You  are  welcome  to  submit  bug reports via the GNU Wget bug tracker (see <https://savannah.gnu.org/bugs/?func=additem&group=wget>) or to our mailing list<EMAIL_ADDRESS>

URL includes sentence closing dot ('.'), which is almost never case with "real" URLs. comma ',' is never included in URLs.
Example: if the downloaded file /foo/doc.html links to /bar/img.gif (or to ../bar/img.gif), then the link in doc.html will be modified  to  point  to  http://hostname/bar/img.gif.
or
For  instance,  if  you  specify  http://foo/bar/a.html  for  URL,  and  Wget  reads  ../baz/b.html  from  the  input  file,  it  would  be  resolved  to http://foo/baz/b.html.

have a nice day!

cool, thanks!
...funnily enough, i was just reading Against tmp and see compiler complain... ;)

Thank you very much for the bug report. The fix was trivial.

...funnily enough, i was just reading Against tmp and see compiler complain... ;)

Yeah, I couldn't find an easy way to create and open a temporary file using tmpfile(), write to it, close it, and then get its filename and pass it as an argument to groff. The C API is a bit weird some times. So, I used tempnam() instead, which produces the compiler warning.
This is hardly "dangerous". I mean, it's a manual page viewer. That said, I'm sure we'll find a way fix it in the next iteration.


[BUG] Slider Max Value Field causes slider to extend past the visual bounds

Describe the bug
The slider component starts with a min value of 0 and a Max Value of 1. The slider will work as expected until you change the Max Value to something more than 1.
To reproduce
Steps to reproduce the behavior:

Open a new scene in Unity that contains the CanvasSlider prefab from MRTK
Change the Max Value on the Slider component to 10
Press play in Unity
Drag the slider
Observe that you can drag the slider past the visual indicators (even off of your canvas object)

Expected behavior
I would expect the Max Value to just change the values of the slider from 0-MaxValue without it going past the visual bounds.
It should act the same as going from 0-1.
Screenshots
Slider showing the bounds of the object.

Slider showing that you can go PAST the bounds

Your setup (please complete the following information)

Unity Version 2022.3.4
MRTK3 - 1.0.5

Target platform (please complete the following information)

Magic Leap

@Alzaro Hi, thanks for logging the bug.  This bug was fixed in the old repo as part of this pull request:  https://github.com/microsoft/MixedRealityToolkit-Unity/pull/11742
I verified that the version here in the new repo contains the fix.  Please update and report back if you still have problems.
Thanks!


GatewayWorker status command is not working

$ php start.php start -d
$ php start.php status   <<<< I can see the server status information
But second day, I can't see anything about status,why?
[centos@ip-172-31-13-63 GatewayWorker]$ php start.php status
PHP Warning:  Module 'mcrypt' already loaded in Unknown on line 0
PHP Warning:  Module 'msgpack' already loaded in Unknown on line 0
Workerman[start.php] status

Try command strace php start.php status.
You can see all system calls of the script. That may show why status not work.


Add protocol call for 3D print when on win10

All Windows 10 (across all devices) will be supported. You can "protocol activate" for a 3d print today using a 3MF file. For example, use Windows + R and activate the following URL: com.microsoft.builder3d://catalog3d.azurewebsites.net/catalog/bulldozer.3mf
It should be straight forward to integrate this in JavaScript like below:
window.open("com.microsoft.print3d://catalog3d.azurewebsites.net/catalog/bulldozer.3mf");
For testing, you can create a 3MF form other formats using an online tool: http://aka.ms/tools3d
To support Balylon.js, we will be adding full GLTF 2.0 support to the next release of 3D Builder. You will be able to protocol activate with any GLTF file and prepare your content for a 3D Print.


Automated Package Upgrade

:tada: This PR is included in version 19.0.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 19.0.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Seems like targeted process exit is not detected?

Ok, so pretty sure that I'm using the tool wrong, but I haven't yet figured out what my misunderstanding is. The following minimal example is with the latest master.
In one shell session I start sleep 10m. In another I start
sudo ./honggfuzz -f ./corpus/ -s -p "`pidof sleep`" -- echo "foo"

The UI shows the target correctly: Target : [13085] 'sleep 10m'.
If I then sudo pkill sleep the fuzzing still continues ‒ even though the process is gone ‒ and there is no crash detected. Appending --exit_upon_crash when invoking honggfuzz also doesn't help.
Instead of sleep 10m I have an HTTP server running and instead of echo "foo" I have a curl which forwards the data to the server.
Am I wrong assuming that SIGKILL/SIGTERM should be counted as a "crash"?

Given that the -p mode has been removed from honggfuzz (in favor of the honggfuzz net driver, and persistent modes), closing this.


cli: fitconv remove unnecessary sync.Pool

strings.Builder typically stays on stack, there is no need to use sync.Pool

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

Project coverage is 100.00%. Comparing base (ba0f09e) to head (2c075b8).

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #361   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           41        41
  Lines         3707      3707
=========================================
  Hits          3707      3707

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