Single repo single cluster

Dear reviewer, you may see many new files. Do not feel overwhelmed.
The files from profile/ directory are bootstrap values for different cloud providers
The files from tests/ directory are represent more sophisticated configuration, which gives us more coverage while validating templates.
Files from both  profile/ and tests/ are validated during the docker build
You may see that some part of configuration is repeated. I did not decide to extract common parts yet, as schema for some charts strongly depend on cloud provider now.
You may also see that some chart values are mandatory, these are mostly secrets values for which we automatically derived yet - maybe we can't.
The rest of the changes removes multi cluster awareness.
Lastly, I am still doubting if clusters.yaml is needed. I left it for now.
#384

Files from both profile/ and tests/ are validated during the docker build
You may see that some part of configuration is repeated. I did not decide to extract common parts yet, as schema for some charts strongly depend on cloud provider now.

that is very heavy...we should limit testing 3x or more same templates

You may also see that some chart values are mandatory, these are mostly secrets values for which we automatically derived yet - maybe we can't.

Derived values should not be configurable of course

Lastly, I am still doubting if clusters.yaml is needed. I left it for now.

Please remove it and add the values to settings.yaml

I really like this setup, looks like a big improvement in simplifying. I have a few questions.

Why do we remove the ability to validate/check on a cluster basis with the --cluster parameter? (Or replace it with --profile?)
tests=$(ls .test | xargs) refers to a .test file I assume, but I don't see it...
How can we prevent this runtime getting out of hand... AFAIK it has m^n inner loops (1) every profile 2...m) every nested file in a env/ folder m+1...n) every nested key in values-schema.yaml?

Indeed, we need to cover templates 1x if possible. I propose one set that checks everything not depending on provider, then running 3 provider profiles targeting ONLY the manifests that might contain provider dependent logic. How to target only that I don't know, but I think we have to come up with a list manually. I now see:

-l pkg=-cert-manager
-l pkg=-external-dns
-f helmfile.d/helmfile-60.teams.yaml
?

What do you think? Make a new PR for that and deliver this I first I guess. What @j-zimnowoda built now is probably not adding to the build time we had before. Right Jeho?

if this is all then awesome!
Just the splitting up of the profiles is now unwanted imo. Please read my comments.

I didn't think about profiles in the very beginning of refactoring. While performing my job I realised that there are so many cloud specific settings that they have to be bootstrapped according to the cloud vendor. Now it is much easier to start working with values, because a user is asked to fill only configuration relevant to a cluster from a given cloud provider.
If you are still concerned then I can present you a demo to show how easy it is to  start with otomi now.

Indeed, we need to cover templates 1x if possible. I propose one set that checks everything not depending on provider, then running 3 provider profiles targeting ONLY the manifests that might contain provider dependent logic. How to target only that I don't know, but I think we have to come up with a list manually. I now see:

-l pkg=-cert-manager
-l pkg=-external-dns
-f helmfile.d/helmfile-60.teams.yaml
?

What do you think? Make a new PR for that and deliver this I first I guess. What @j-zimnowoda built now is probably not adding to the build time we had before. Right Jeho?

There are tests for each profile. So it adds to build. Instead of 1 values test we run 4 tests.

that is very heavy...we should limit testing 3x or more same templates
Working deployment has priority. Me and @Morriz agreed that we will optimise test execution later.
Please remove it and add the values to settings.yaml
Me & @Morriz agreed on simple a list with urls to otomi dashboard instead of complex clouds object within clusters.yaml file.

I really like this setup, looks like a big improvement in simplifying. I have a few questions.

Why do we remove the ability to validate/check on a cluster basis with the --cluster parameter? (Or replace it with --profile?)
tests=$(ls .test | xargs) refers to a .test file I assume, but I don't see it...
How can we prevent this runtime getting out of hand...? AFAIK it has m^n inner loops:

(1) every profile
(2...m) every nested file in an env/ folder
(m+1...n) every nested key in values-schema.yaml

Thanks @svatwork, I will to answer your questions:

With this change there will be configuration for only one cluster. Therefore --cluster argument is not needed anymore.
It relates to .tests directory - I check this directory is added now
I do not see this inner loops. Please call me and clarify

can you confirm this is is done @j-zimnowoda ? I would like to merge it if it is ready ;)


Is there a way to get the Window Size/Position created by InspectorPlugin?

A part of my game involves doing something on clicking anywhere in the game.
However, clicks on the egui inspector window count as clicks in the game and are caught by my clicking system. I'd love to find a way to exclude clicks within the window from getting picked up by that system.
I thought maybe I could get the coordinates of the window and it's size and do some filtering myself with basic math, but I haven't been able to find a way to get the egui window coords or window size created by the InspectorPlugin. Am I missing something or is there no way to get that data?

Thank you! That worked exactly as I had hoped with this simple code
let hovering_over_egui = egui_context.ctx_for_window_mut(WindowId::default()).is_pointer_over_area();


Turbo navigator feedback

Three minor things and one major thing. Feel free to cherry-pick any commits to your branch or merge if all commits are good!

a code comment that I could've added to the original PR
protocol conformance to use PathConfigurationIdentifiable
renaming Navigation to TurboNavigation
removing Turbo enum as it's creating a collision with the framework

The last point requires a bit of explanation: if an app that imports Turbo (the framework) has a class/struct with the same name as a turbo class/struct the compiler is unable to disambiguate which class/struct should be used.
For example, let's say the Demo app has a class named Session. Turbo has a class named Session too. In theory, there's no collision because they both exist in different namespaces. In order to use the app's Session, you'd explicitly declare it as DemoApp.Session. In order to use Turbo's, you'd say Turbo.Session.
However, since there exists an enum named Turbo, the compiler cannot disambiguate between:

Turbo.Session (trying to call class Session from framework Turbo)
Turbo.Session (trying to access a case or property from enum Turbo).

We should avoid naming classes/structs the same as the framework. If we're set on keeping the enum (which I don't like), we should at least rename it to something else.
I noticed Strada is doing this too. We need to fix it there too.
Let me know what you think!

That last issue with the namespace is actually complicated to solve. I'll table that one for now, so please don't merge the branch as-is. I can open up a new one or you can cherry pick the other commits from here!

Everything but the Turbo -> TurboConfig rename looks good to me. Can you please remove that change? Then I'll merge in your PR into my branch.

Everything but the Turbo -> TurboConfig rename looks good to me. Can you please remove that change? Then I'll merge in your PR into my branch.

Of course! I'll do it today.


Haxe4: OpIn

It seems that the CI configuration have to be updated for Haxe 4

@AxGord Since I am not actively using Haxe recently. I wonder if you can maintain a new Haxe 4 branch of this library. I can grant the maintainer permission of this repository to you.

@Atry Yes, I can maintain Haxe 4 branch.

@AxGord Could you adjust the CI configuration for Haxe 4 before merging?

@AxGord I created an organization for this project.


How do I read? transport? png file from js to rust(wasm)

Summary
I don't know how to read png file at rust(wasm).
I want to know it because I will make apng maker on wasm web application.

An image may be represented as an ArrayBuffer in JS. For example, we can create a png from a canvas context using toBlob() method with 'image/png' type. Blob has a method arrayBuffer(). Finally, we can have
let data = new Uint8Array(arrayBufferFromBlob);
wasm.processImage(data);

where in Rust it will look like
#[wasm_bindgen(js_name = processImage)]
pub fn process_image(data: Vec<u8>) {
   let result = image::load_from_memory_with_format(&data, image::ImageFormat::PNG);
   ...
}

Docs link for load_from_memory_with_format

@ibaryshnikov
Thank you for this solution.
Can I also use this to return image buf from rust to js?

I think that @ibaryshnikov has this covered, and yes @poccariswet you can also return a Vec<u8> or a Uint8Array


[MM-24436]- Add a threshold from bottom for new messages toast

Summary
Changed the buffer value to be considered from bottom for the toast message

Ticket Link
Fixes https://github.com/mattermost/mattermost-server/issues/14904
JIRA https://mattermost.atlassian.net/browse/MM-24436

Thanks @sridhar02 for the pull request!
Per the CONTRIBUTING.md file displayed when you created this pull request, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
This is a standard procedure for many open source projects. Your form should be processed within 24 hours and reviewers for your pull request will be able to proceed.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

/check-cla

@sridhar02 Hey, BUFFER_TO_BE_CONSIDERED_BOTTOM is used for determining if the scroll view is at the bottom. we give a 10px buffer and still consider it as bottom.
This value is used for various states like if user is at the bottom and he receives a new message, view is auto scrolled to the bottom. Now with this change even if user is 999px he is autoscrolled to the bottom.
The way to implement is to have a look at toast_wrapper code which has a mock for archive toast which takes 1000px value into consideration.
Hope this helps. You can reach out to me incase of questions

@sudheerDev can u recheck the PR, i have changed the logic to toast_wrapper component and changed related test cases related to toast_wrapper.

minor change, not even a blocking one

@sudheerDev @sridhar02 is this ready for re-review?

@esethna yes, this PR is ready for the re-review.

@esethna if there is an issue with the PR, mention it, I will try to resolve it.

@jgilliam17 @sridhar02 as mentioned above I'm seeing the banner appear briefly before disappearing when the scroll to bottom is <1000px. I'd expect not to see the banner at all. cc// @sudheerDev
https://i.gyazo.com/8727efd2508a0180e69f8fb94ace842a.gif

@esethna yes, I can reproduce now. I missed that first time around.
For me it reproduce only when manually marking posts as unread (using post menu option or alt+click),

mark few posts as unread
leave the channel
return to the same channel again
environment: reproduces on both macOS and Windows

Not able to reproduce the flashing toast if opening a channel when new messages are posted by other users.

@sudheerDev @esethna, I am not able to reproduce the issue in my local environment but I am able to see the issue in the URL given above using the mm-cloud-bot, I have also observed this in my local environment when i make messages as unread i am not able to see this message with orange color new message. I think this the line due to which we are getting the above issue of flashing of the toast under <1000px.

@sridhar02 I can replicate this locally as well. I guess you were not able to replicate because you are marking same user messages as unread which does not show up the new messages line.
Can you add couple of messages in the channel from a different user an then try?

@sridhar02 is this ready for review again?

@sridhar02 is this ready for review again?

I am stuck with the bug, I am not able to find out the cause, can you help @sudheerDev?

@sudheerDev can you help provide some guidance here, I'm seeing the same brief banner flash issue when marking a post as unread and then switching away and coming back to the channel. https://github.com/mattermost/mattermost-webapp/pull/5828#issuecomment-664535263

@sridhar02
The mark as unread follows a different path in getDerivedStateFromProps You can check the couple of comments regarding the code flow for mark as unread
        if (props.atBottom !== null) {
            // show unread toast on mount when channel is not at bottom and unread count greater than 0
            if (typeof showUnreadToast === 'undefined') {
                showUnreadToast = unreadCount > 0 && props.initScrollOffsetFromBottom > THRESHOLD_FROM_BOTTOM;
            }

            if (typeof showMessageHistoryToast === 'undefined' && props.focusedPostId !== '') {
                showMessageHistoryToast = props.initScrollOffsetFromBottom > THRESHOLD_FROM_BOTTOM || !props.atLatestPost;
            }

            // show unread toast when a channel is marked as unread
            if (props.channelMarkedAsUnread && !prevState.channelMarkedAsUnread && !prevState.showUnreadToast) {
                showUnreadToast = props.initScrollOffsetFromBottom > THRESHOLD_FROM_BOTTOM;
            }

            // show unread toast when a channel is remarked as unread using the change in lastViewedAt
            // lastViewedAt changes only if a channel is remarked as unread in channelMarkedAsUnread state
            if (props.channelMarkedAsUnread && props.lastViewedAt !== prevState.lastViewedAt) {
                showUnreadToast = props.initScrollOffsetFromBottom > THRESHOLD_FROM_BOTTOM;
            }
        }

I changed the mark as unread paths to take into account THRESHOLD_FROM_BOTTOM (1000px) as well and as all. of these cases has props.atBottom !== null as common i changed that too.
Can you update the PR. with the changes and check if this works for you?

@sudheerDev I have checked with the logic, it is working fine now, can you review it now and I have removed unnecessary code.

@sridhar02 Hey, Eric and I tested the spinmint and both of us still some weird issues, Let me check that again. Can you test the spinmint as well and see if everything is in order?

Removing the test server for maintenance purposes. Please add the label again if you need it. Sorry for any inconvenience.

@sudheerDev I have checked the application, I am not able to find any edge cases, toast for unread and marking as unread are working fine I think. are you able to find any edge cases for the toast, if found them what are they?

@sridhar02 Changes seem. to work fine for me on spimint now 🤷♂ . @jgilliam17 Can you test the PR again?

I am seeing one new issue, where toast appears sometimes on the second try, not first

On the PR server login as sysadmin and visit Town Square (notice all the posts are from user1)
Scroll to the top and mark the first, top most, post as unread <- New message line, but no toast
Open a different channel and return to Town Square <- toast is present
Scroll to the bottom to clear the toast
Repeat step 2.  <- toast is now present when marking the same post as unread

@sudheerDev Can you please confirm if this is the expected behavior? I know we discussed this previously, sorry I can't remember if we came to a consensus. Thank you.

That is not expected, Thoughts @esethna

@jgilliam17 I am not able to repro the above steps. I see the toast in step 2 & 5 as expected

@jgilliam17 I am not able to repro the above steps. I see the toast in step 2 & 5 as expected

Thank you Eric - I'll re-test.

Thank you @sridhar02
Tested, looks good to merge.

No longer able to reproduce the issue mentioned previously (toast appearing only on 2nd attempt)
Flashing toast previously reported is also no longer reproducing
Verified new message toast shows when user's scroll position in center channel is 1000px or more from the bottom.

@sridhar02 Hey Thanks for working on the feature, in future try to avoid force pushing the commits. Like in this case QA reviews are done and i see commit history changed and it would be hard to judge if you made any new changes after that

/cherry-pick release-5.29

Cherry pick is scheduled.


[ MB-14723 ] Going from snakecase to kebobcase

Jira ticket for this change
Summary
This involves going from underscores to dashes, or snakecase to kebobcase, in
our API paths.
Setup to Run Your Code
Run lint-yaml-with-spectral swagger/admin.yaml and compare it to the last
successful run on the default branch. The number of errors/warnings should be
going down.

Messages

:book:
:link: MB-14723

  Generated by :no_entry_sign: dangerJS against 08c7c2f1d12e5d0f0de54ac650521ac5f6e267df


FlushNontrivialResolveCacheToDatabase error messages

Currently the code for FlushNontrivialResolveCacheToDatabase always emits an error message when passing through the following code path when HostnameResolveMethod is anything other than none:
go/inst/resolve.go
212:func FlushNontrivialResolveCacheToDatabase() error {
214:            return log.Errorf("FlushNontrivialResolveCacheToDatabase() called, but HostnameResolveMethod is %+v", config.Config.HostnameResolveMethod)

go/logic/orchestrator.go
499:                                    go inst.FlushNontrivialResolveCacheToDatabase()

e.g.
ERROR FlushNontrivialResolveCacheToDatabase() called, but HostnameResolveMethod is cname
This appears once per minute in the log.
The function is always called and so regardless of which condition would be best to apply to this check, the message itself seems like it should be restricted to a specific log level, such as running in verbose or debug states, rather than being an error.

Agreed the error message should not be there. Let me dig into this, it's one of the older parts of the code and there was some reason for putting the logic there, I'm sure. I think.

Addressed by https://github.com/github/orchestrator/pull/547


Not working with esbuild/vite

Thanks for this cool lib!
I'm trying to use this lib in a frontend project using vite, when I build my project with esbuild I got the following error:
Illegal reassignment to import 'commonjsRequire'
file: C:/Users/xxx/node_modules/markdown-toc/lib/utils.js:10:0
 8: var utils = require('lazy-cache')(require);
 9: var fn = require;
10: require = utils;
    ^
11:
12: /**

Looks like require is a reserved word and can't be changed, so how to solve this?

In JavaScript, require is not reserved, however many bundling tools do things to make it seem like it is.
For webpack, the unlazy-loader transforms the pattern used in this utils.js file, so that require is not reassigned.
I'm not as familiar with vite (is it using esbuild?), but there might be a way to configure transformation plugins in a similar fashion. If there isn't a direct way to use a webpack plugin with vite, the unlazy-loader function could be wrapped in a way to adapter to vite.
I hope this helps, and if you try something that works (or almost works), please let us know.


Fetch and print datasources from a project is not working

I am trying to print (download eventually) thousands of datasources from a project, but it is not fetching. However, the code is working for workbooks.
Environment:

Tableau Server version : 2021.4.3
Python version: 3.10
TSC library version: latest

Here is my code:
with server.auth.sign_in(tableau_auth):
        all_projects = TSC.Pager(server.projects)
        request_option = TSC.RequestOptions(pagesize=1000)
        request_option.filter.add(TSC.Filter(TSC.RequestOptions.Field.ProjectName, TSC.RequestOptions.Operator.Equals, args.project))
        all_datasources, pagination_item = server.datasources.get(request_option)
        all_workbooks, pagination_item = server.workbooks.get(request_option)

       #following block is not working
        for datasource in all_datasources:
            print(datasource.id)
            #download DS
            print("\nDownloaded the file to {0}.".format(file_path))

       #following block is working
        for workbook in all_workbooks:
            print(workbook.id)
            #download WB
            print("\nDownloaded the file to {0}.".format(file_path))

Errors:
None

Project name is not a valid filter for datasources. https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_filtering_and_sorting.htm

How is it working for workbooks then? I don't see the project name as a filter for workbooks either in the link you shared. Prior to 2021 version of Tableau, my scripts used to work.

I guess then that the workbooks documentation is wrong in missing the project filter.
While passing the filter down to the Server would be the ideal way to get your filtered results, you can always filter manually.
(Additionally, the code that you used in your example would not necessarily fetch ALL results, just the first 1000)
Something like this:
project = server.projects.filter(name="My Project")
# Use a generator expression to be able to loop over datasources
all_datasources = (ds for ds in server.datasources.all() if ds.project_id == project.id)

for datasource in all_datasources:
    print(datasource.id)

Hmm.. that did not work either.
all_datasources = (ds for ds in server.datasources.all() if ds.project_id == project.id)
AttributeError: 'QuerySet' object has no attribute 'id'

Oops. It should be
project = server.projects.filter(name=“My project”)[0]

That worked. Thanks jorwoods.


Cannot use with registerMethod

Trying to convert an app that uses client.registerMethod and then client.methods to call the URI.  It doesn't seem to work with this package.

What errors are you getting or what exactly doesn't seem to work?

I don't remember off the top of my head... I switched to using request which handled the use case just fine.

Hm. Closing this one then.


have a problem in use zui

Hey, thank you for testing and contributing to wavesurfer.js!
Please make sure you can check all of these points below before opening an issue:
(You don't have to post this section)

[ ] I have checked the FAQ and it doesn't solve my problem.
[ ] I have checked the documentation and it doesn't solve my problem
[ ] I have searched for already open issues which desribe my problem.
[ ] The issue I'm having is related to and caused by wavesurfer.js, not by other software (which maybe packages and uses wavesurfer incorrectly) – In that case you should open the issue on the respective project pages.

Please make sure you provide the following information (if applicable):
Wavesurfer.js version(s):
Browser version(s):
Code needed to reproduce the issue:
(Please reduce your code as much as possible and only post the minimum code needed to reproduce the issue. A Code pen is an excellent way to share such code)
Use behaviour needed to reproduce the issue:

Hi @littleBoyGoing this ticket does not contain any information.


Update UI to folllow Discounts UI in Shopify

Update the pages component to follow Discounts UI in Shopify (not the Settings UI)
Do not save the title

Rebuilding UI using the example Shopify node js app. After it is done it will be migrated to the frontend folder before merging.


feat: multiple maps in category

Yay!
This was not Jaio. :)
All work done by @tricksurf and @ThisAMJ, only testing (and actually writing) was done on Jaio's PC.
But it goes under my account anyway sooooo whos the real winner here
Edit (with actual info:)
New mtrigger formatting:
sar_speedrun_cc_start "Concepts" map=st_a3_concepts|sp_a3_concepts action=split

Due to a git issue (idk bro), I redid it on 91c2f960463dc68dcf29d49c3eeecbd0071d0713


Feat: Improve Witnet errors decoding

WitnetParserLib is currently unable to decode Witnet errors containing float values. For instance: d827831851fb3fe6666666666666fb3fe6666666666666

It's the node who, in first place, maybe shouldn't be encoding floats :thinking:

Perhaps not when encoding errored result. For sure it would make life easier for WitnetParserLib, as it could assume (as it currently does) that parameterized errors would always be encoded as an array of unsigned 64-bit integers.

However, Witnet Explorer seems to handle correctly errors with float parameters, so changing the node to avoid encoding floats could require changes in the Witnet Explorer side.

Actually not. If we commit to using uint64 it will be able to decode it anyway, because it is using a generic CBOR decoder, and not expecting any specific types for the elements of the array.

In such case, +1 to force node to encode error parameters as array of unsigned integers.

Actually sounds like this topic could use a WIP better specifying encoding of RadonErrors.


Implement string translation for forms

#55 added string translation, but it's yet to be implemented in forms. To do so, the FormConfig struct would need to be changed to include names. A separate implementation may have to be done for forms, as STRING_MAP uses lazy_static! which I'm not sure will allow insertion into the hashmap at runtime or not.

Added in 5da1755.


Add ExtensionPreferences and WindowManager types

Thanks again for the updates you provided! I am only missing two exports, which I wanted to contributed in this PR.
// The WindowManager is currently not available
import { WindowManager } from "resource:///org/gnome/shell/ui/windowManager.js";

// Also the ExtensionPreferences class is currently missing and invaluable when implementing a preferences dialog for Gnome extensions
import { ExtensionPreferences } from "resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js";

@schnz Thank you!


Failed to apply migration for PostgreSQL

*** applying m150623_212711_fix_username_notnull
> alter column username in table {{%user}} to string(255) NOT NULL ...Exception 'yii\db\Exception' with message 'SQLSTATE[42601]: Syntax error: 7 ERROR:  syntax error at or near "NOT"
LINE 1: ...LE "user" ALTER COLUMN "username" TYPE varchar(255) NOT NULL
^
The SQL being executed was: ALTER TABLE "user" ALTER COLUMN "username" TYPE varchar(255) NOT NULL'
in /home/zelenskiy/ppc_dream_tool/vendor/yiisoft/yii2/db/Schema.php:628
Error Info:
Array
(
[0] => 42601
[1] => 7
[2] => ERROR:  syntax error at or near "NOT"
LINE 1: ...LE "user" ALTER COLUMN "username" TYPE varchar(255) NOT NULL
^
)

Hi @zevs-git,
Remove NOT NULL at line 19 in file vendor/dektrium/yii2-user/migrations/m150623_212711_fix_username_notnull.php file located at
Regards.

This issue has been fixed by this commit, you should update module.


Add constructor package primitives

Related: https://github.com/coinbase/rosetta-cli/issues/112
Changes

[x] Add new Construction API testing framework
[x] Add generate_key primitive
[x] Add derive primitive
[x] Add set_variable primitive
[x] Add tests for worker and processor

Pull Request Test Coverage Report for Build 4055

115 of 209 (55.02%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.8%) to 74.966%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

types/utils.go
0
8
0.0%

constructor/worker.go
56
76
73.68%

constructor/job.go
37
103
35.92%

Totals

Change from base Build 3914:
-0.8%

Covered Lines:
3875

Relevant Lines:
5169

💛  - Coveralls


Add sync youtube channel option somewhere on mobile

Right now you can get to it from the upload menu on full desktop mode, but that's not available in desktop. Show on Channels page or maybe in menu?

Also maybe somewhere on the channels page?


Error when process seeders

When run php artisan migrate:refresh --seed command, the DatabaseSeeder class does not exist error is displayed

i had this problem too. Was able to get around it by copying database/seeds/SettingSeeder.php and renaming it as DatabaseSeeder.php. Changed the class name to DatabaseSeeder. Then in my composer.json file make sure autoload, classmap includes the seeder folder, eg. (note i think i'm being redundant with the folders...just wanted to get it to work)
"autoload": {
"classmap": [
"database",
"app/Models",
"database/seeds",
"database/migrations"
],

Yeh, I did this to solve the problem. I think I'll send a push to update this inconsistency.
Tnx

Just need to run:
php artisan db:seed --class=SettingSeeder

@AgusRdz  for me, the problem this also is:

[ReflectionException]
Class SettingSeeder does not exist

this is work php artisan db:seed

Seeding: ConfigIssueEffortsTableSeeder
Seeding: ConfigPrioritiesTableSeeder
Seeding: IssueTypesTableSeeder
Seeding: ConfigStatusesTableSeeder

Hi @meredyk,
Can I close the issue?

Yes, please


dims of multi_residuals_images, thanks!

Dear author,
IF n_input_scans =2,
so  dims of proj_full  is 12? (x,y ,z ,r,e, x,y,z,r,e, residual1 ,resudual2)?
Is that right?
I'm so sorry to bother you. That's really confused me.

Thanks.

Not really, we only use the current frame with extra residual images.
If n_input_scans = 2, it will be (x, y, z, r, e, residual1, residual2), which you could find in our paper, section III.C.

Yes ,I think I got the meaning of the Section III. C.
So under the  e Section III. C.  If I use  n_input_scans=2
I just need to change the arcg_cfg.yaml ,    and the code in"class SemanticKitti(Dataset)", like below?
(line 4 and  10  or line 5? ) .

Dear author, I thought I have misunderstanding the code and code comments in lines 230,2301 234 235 236 &332. ( under the sequences of n_input_scans= 2)

in line 332, there is a "concat' operation, so If there is a looping in Line 236.
the dim of  'pro_full' will be added with( x, y,z, r,e,  x,y,z,r,e, ....). ? right ?

Dear author, I thought I have misunderstanding the code and code comments in lines 230,2301 234 235 236 &332. ( under the sequences of n_input_scans= 2)
in line 332, there is a "concat' operation, so If there is a looping in Line 236. the dim of 'pro_full' will be added with( x, y,z, r,e, x,y,z,r,e, ....). ? right ?

So under the sequences of n_input_scans= 2.
under my understanding of the paper Section III.C , I think I will use the line 230 + line 235?  but I got the data flow  about the "proj_full". it's dims is  confused.

In our method, we only use residual images but not full multiple scans.
We've however also tried to directly concatenate multiple scans together as you mentioned 230+235 and didn't get much improvement.
You could give it a try, and I only test it for two scans for an ablation which could be buggy for more scans.
I hope my answer helps.

在我们的方法中，我们只使用残差图像而不是完整的多次扫描。 然而，我们也尝试将多个扫描直接连接在一起，正如您提到的 230+235 并且没有得到太大的改进。
你可以试一试，我只对它进行两次扫描以进行消融测试，这对于更多扫描可能是错误的。
我希望我的回答有帮助。

In our method, we only use residual images but not full multiple scans. We've however also tried to directly concatenate multiple scans together as you mentioned 230+235 and didn't get much improvement.
You could give it a try, and I only test it for two scans for an ablation which could be buggy for more scans.
I hope my answer helps.

Dear author,
Maybe I misunderstand the  meanning of the " multi scan and multi residuals images"
I just want to follow the work in the section III.C  with use multi residual images.

So now  If I just  have the two residual images ,residual_1,residual_2,              just   look at the image,  like the code in line 243.
I dont need to change the Line 231& 236, just  only  change the  n_inupt_scans to 2 in  arch_cfg.yaml,  ?
If it is right ,I think I have understanding the meaning.!!!
thanks for bother you again.

Yes, if you only want to use residual images as what we used in our paper, you need then just change the config file.
可能中文沟通更容易一点，如果你只是想跟我们一样用当前帧的（x, y, z, r, e）加residual images。你只需要修改配置文件里面的n_input_scans就行了。
如果你想用多帧激光的信息（x1, y1, z1, r1, e1, x2, ..., e2）你可以用我们之前测试的代码230 + 235，但是这不是我所提的方法，我只测试过两帧的，对于多帧的情况可能会有问题。
希望我的回答是清楚的，如果你觉得有帮助，请帮我点个赞，谢谢！

谢谢您，终于理解了，finally,
thanks!!!!

请问一下，对于每帧生成8张残差图像的代码还没有开源是吗？我自己改了一下代码，但是和论文中8张残差图像的效果不太一样。


add crc64 sum

Coverage decreased (-1.4%) to 89.612% when pulling b18eac684ab79f444c4819c5cf79a96c1d7a3f0b on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.

Coverage decreased (-1.4%) to 89.612% when pulling b18eac684ab79f444c4819c5cf79a96c1d7a3f0b on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.

Coverage decreased (-1.4%) to 89.612% when pulling b18eac684ab79f444c4819c5cf79a96c1d7a3f0b on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.

Coverage decreased (-1.4%) to 89.612% when pulling b18eac684ab79f444c4819c5cf79a96c1d7a3f0b on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.

Coverage decreased (-1.09%) to 89.894% when pulling 000e7205e72bbeb844a423f229b785f90c2f545b on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.

Coverage decreased (-1.09%) to 89.894% when pulling 000e7205e72bbeb844a423f229b785f90c2f545b on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.

Coverage decreased (-1.09%) to 89.894% when pulling 000e7205e72bbeb844a423f229b785f90c2f545b on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.

Coverage decreased (-1.09%) to 89.894% when pulling 000e7205e72bbeb844a423f229b785f90c2f545b on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.

Coverage decreased (-1.09%) to 89.894% when pulling 000e7205e72bbeb844a423f229b785f90c2f545b on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.

Coverage decreased (-1.09%) to 89.894% when pulling 000e7205e72bbeb844a423f229b785f90c2f545b on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.

Coverage decreased (-1.0%) to 90.0% when pulling aab611b6867936708309790d2ce813bd89e9bc98 on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.

Coverage decreased (-1.0%) to 90.0% when pulling aab611b6867936708309790d2ce813bd89e9bc98 on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.

Coverage decreased (-1.0%) to 90.0% when pulling aab611b6867936708309790d2ce813bd89e9bc98 on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.

Coverage decreased (-1.0%) to 90.0% when pulling aab611b6867936708309790d2ce813bd89e9bc98 on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.

Coverage decreased (-1.0%) to 90.0% when pulling aab611b6867936708309790d2ce813bd89e9bc98 on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.

Coverage decreased (-1.05%) to 89.93% when pulling 0b0cf6b16d1f60444a76d9afeab00abbd8e6a62c on crc64 into 28ec53756dba73cca89d3c2131bb44626ce25ab3 on master.


Add some FigJam Components and Refactor

Hi Ilya,
nice package you and your contributers have coded here! I used this package for testing a Plugin, when I noticed that some Figma and FigJam components that I needed where not supported. Such as the StickyNode, the ShapeWithTextNode, the ConnectorNode, the TextSublayerNode and the BooleanOperationNode. For the later I added figma.union, -.intersect, -.subtract and -.exclude.
The stubs.ts file has gotten really large as well so I refactored most stubs into two different files called componentStubs.ts and styleStubs.ts. I also added two more component tests and a tsconfig.buid.json, so that linting would also works in the tests typescript files. It probably would make sense to add a prettier config as well, but I did not want to decide the rules on that.
A critique I might make myself on my additions is that it, while adding FigJam components it does not add the Figma.editortype and error throwing that might come with it. For my testing porpuse editorType errors that occur for example when creating the wrong component in the wrong mode - figma/figjam - where not relevant as I was not creating any components.
I hope you like my addition and agree with the refactor. If there is anything you don't like then I am happy to make a change. Otherwise I would be pleased if the package would support these components.

Thanks for merging so fast!


disconnect wallet

as a user, when i click the "disconnect wallet" option, i expect the wallet to be disconnected.
current flow

connect wallet
click the "disconnect wallet" option
see that my wallet was disconnected
refresh the page
expected: not to be connected again
actual: my wallet is connected to the app.

fixed in PR #732


chore: update min version to 1.21

Noticed this was still needed in #4383. Note we should also switch latest to 1.23, but I did not in this PR because the image has not been built yet.

I've reviewed the failed tests, and none appear related to the version update (capacity or server-side quota issues)


[Research] explore feasible options for search functionality

Crucial Decision Factors (ranked by priority):

User experience
Transparent data management policies
Self-hostability
Cost (should not cost >50 USD/mth, ideally should be free / ~10 USD/mth)

Consider options like:

Algolia
Apache Solr
MeiliSearch
ElasticSearch
Typesense

Also consider (with a pinch of salt) comparison tables from the various search solutions:

Typesense's blog on "Compare Algolia vs ElasticSearch vs Meilisearch vs Typesense"
MeiliSearch's blog on "Comparison to alternatives"

I will be taking this up, can assign to me?

consider using client-sided in-memory search options like

flexsearch
uFuzzy
minisearch

where the process would look something like:

fetch data from postgres => form a datastructure that is the minimum required to render the /search?q=<query> page
(ie. prof id, prof slug, review count etc)
load client-sided search script
index all results from 1a
search-as-you-type experience, from querying the client's in-memory mini search engine


Cannot queue anymore

After installing this extension and setting up my everywhere nodes, clicking "Queue Prompt" does nothing. I have to disable the extension in order to do anything.

can you look in your javascript console (f12) to see if there are any errors being reported? This is almost certainly a conflict with another custom node...

the same error, javascript console (f12）see that:
Uncaught (in promise) ReferenceError: structuredClone is not defined
at analyse_graph (use_everywhere.js:24)
at async ComfyApp.queuePrompt (app.js:2044)

Please check comfy is up to date.

I just updated everything and I'm still getting no joy. Browser console output below:

menu_auto_nest.js:21 just pass through.
rgthree.js:302 [rgthree] There was an error queuing nodes 574 TypeError: Cannot read properties of undefined (reading '1')
at use_everywhere.js:55:94
at Array.forEach ()
at use_everywhere.js:46:26
at Array.forEach ()
at analyse_graph (use_everywhere.js:40:51)
at async ComfyApp.queuePrompt (app.js:2044:16)
at async app.queuePrompt (rgthree.js:328:17)
at async app.queuePrompt (nodeMenu.js:54:13)
at async l.queuePrompt (InstallMissingModelsButton-ak7be-3i.js:1:2721)
at async Rgthree.queueOutputNodes (rgthree.js:298:13)
queueOutputNodes @ rgthree.js:302
await in queueOutputNodes (async)
callback @ menu_queue_node.js:21
inner_onclick @ litegraph.core.js:13935

Thanks, that's really helpful output. Looks like there is a compatibility issue with rgthree - I'll look into it.

I already had rgthree, before installing cg-use-everywhere.
They both are working, but after using F12, I noticed rgthree throws a lot of errors, in UE workflows.
I'm not sure if it's related.
The errors in the workflow go away, if I use the rgthree link fixer.
But if I run the workflow again and save the image, they will show up again in the new image workflow.

Can I check if this is still an issue? The original report was "Cannot queue anymore" - is that the case?
Also - was this with an old workflow (loaded from an image)? There is a known historical issue with the graph saved in the image having the UE links recorded as links but not in the nodes, which I'm pretty sure got resolved.

After updating everything, I had to recreate some nodes from scratch which ultimately lead to a working state. Thank you for the update!


Proposal status is coupled to "action.execute()"

This issue concerns non-bundled PlatformActions. I'm not sure if the same issue exists for other kind of actions.
Problem
We only mark a PlatformAction's proposal as PASSED when action.execute() is invoked (here). This assumes that the policy author calls action.execute() in the pass_policy block, which is not always the case. If the author does NOT call action.execute() in the pass_policy block, then the Proposal is stuck in proposed state forever.
Solution
We should decouple the proposal status from action execution and reversion. We can do this by immediately setting Proposal.status to passed when pass_policy is run, and failed when fail_policy is run. & removing this line which marks an action as passed when it is executed. With this, execution will be decoupled from the proposal status, and the proposal will be correctly marked "passed" when it passes, regardless of whether the policy author called execute() in the pass block or not.

Partially fixed with commit https://github.com/amyxzhang/policykit/pull/300/commits/29506626d94db1b70ce8b5f31fc704046b94f8d9, but we should stop calling "pass_action" from within "execute." Leaving this issue open for that work.

closed by https://github.com/amyxzhang/policykit/pull/387 and https://github.com/amyxzhang/policykit/pull/389


Locks in redis

Would be nice to have.

Any status on this?

In order to have locks, I've been working on a library that implements the redlock algorithm:
https://github.com/joanvila/aioredlock
There are things to improve there but I've been using it.

Sorry, no progress on this.
You can try suggested library or submit a PR

@lirsacc can you make a PR or share it in your repo please?

Sorry for the noise getting a PR up, but I ported over the redis-py implementation. It's pretty nice and short in asyncio!
Thanks for the library :)

I pulled out the code from my PR #573 into a standalone thing for anyone that may need this, hopefully I can archive it if/when we have support in aioredis: https://pypi.org/project/aioredis-lock/


HoloLens supported CSPs Page not shown in TOC

Hello,
The page https://docs.microsoft.com/windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2 is not shown in the table of contents. I am not that familiar with your docs structure but I believe that this should be listed somewhere.
Thanks,
-Evan   /   https://docs.microsoft.com/hololens/docs person

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

ID: 659d0469-51e7-bf41-6913-c249d05548b6
Version Independent ID: 7732d212-5328-9c03-7270-572146c074e8
Content: Policies in Policy CSP supported by HoloLens 2 - Windows Client Management
Content Source: windows/client-management/mdm/policies-in-policy-csp-supported-by-hololens2.md
Product: w10
Technology: windows
GitHub Login: @ManikaDhiman
Microsoft Alias: dansimp

Hi @evmill, Thanks for pointing this out. TOC is now updated with the correct filenames to display the Hololens 2 topic and other policies in Policy CSP topics. Thanks again for your valuable feedback!

@evmill Please let us know if you still have any question regarding the issue you have raised initially.
The issue is being closed since your question seems to be answered. Feel free to re-open this issue if you feel that it hasn't been answered or that there are further suggestions to improve the documentation itself.
Thanks.

I missed the initial mail. Yes this addition to the TOC is sufficient. Thanks so much for the update!!


[$250] Sage Intacct - Authentication error reappears after disconnecting from Sage Intacct

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: v9.0.37-0
Reproducible in staging?: Y
Reproducible in production?: N
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team
Action Performed:

Create a new workspace
Enable accounting
Navigate to accounting page > Connect to Sage Intacct > Upgrade to control > Continue with the setup
Enter invalid credentials when prompted
While it is trying to connect, navigate away and come back to accountings page (Important)
Wait for the authentication error to appear
Once the error appears click on the three dot menu and click on "Disconnect"

Expected Result:
The workspace is disconnected from Sage Intacct connection and the authentication error disappears
Actual Result:
The authentication error reappears after disconnecting from Sage Intacct connection
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/75e9a40c-1942-4b1b-98fd-31d9d6ef9a74

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021836478663874327079
Upwork Job ID:<PHONE_NUMBER>874327079
Last Price Increase: 2024-09-18

Issue OwnerCurrent Issue Owner: @parasharrajat

We think this issue might be related to the #wave-control

I think this is an app blocker and needs to be fixed on the front-end

I'm also not able to repro on web in staging 😕

Wondering if this is a similar root cause to https://github.com/Expensify/App/issues/49372#issuecomment-2358858265

Actually Im not able to reproduce either, going to demote as an app blocker.

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

I also can't repro this:
https://github.com/user-attachments/assets/f2525783-d129-4d85-911a-f330720908b0
@izarutskaya are there different steps to follow or can you re-test this?

I'm going to close this since nobody was able to repro


Persistent Playlist

Hi, thanks for your extension, this makes the Nebula site at least a little bit more usable...
I make heavy use of the playlist feature, adding all videos from a creator and watching them in reverse order, but unfortunately the "watch later" list is not persisted across sessions, which then requires me to assemble the list again if there are too many videos to watch in one session.
Could you maybe persist the playlist data to e.g. a cookie or local storage? Thanks!

Hi!
Cookies aren't a great place to store, but I think localStorage should work.I think only saving the latest should be enough.
Until then you can click the share button (upper right of the queue), open that url and bookmark it (or leave the tab open), that remembers the elements and position ;)

Thank you! :-)


Add Adobe Digital Editions v2.0.1

New versions of ADE uses a new DRM scheme,
it is not broken yet so we cannot reformat or
backup ebooks. Old version 2.0.1 is cracked and works
with every epub store.

@Slyneth Could you make any more required changes, then squash your commits.


proposal : datepicker add popup position in horizontal big input (Input 100%)

Reproduction
Use StackBlitz to reproduce your issue: https://stackblitz.com/edit/angular-xax8rg?file=styles.css
Steps to reproduce:

.mat-form-field-infix{
width:100% !important;
}
.mat-form-field{
display:block !important;
}

Expected Behavior
What behavior were you expecting to see?
The calendar should open at the position where the user had clicked at arrow icon.
Actual Behavior
What behavior did you actually see?
When the width of the input is 100% to make it responsive, calendar opened at the left.
Environment

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

It would be realy cool to have controll over https://github.com/angular/components/blob/master/src/material/datepicker/datepicker.ts#L479


Type error on query with select field (although query runs successfully)

Bug description
I'm having the following query:
const seasonDrivers = await prisma.seasonEntrantDriver.findMany({
  select: {
    driver: {
      select: {
        id: true,
        name: true,
        nationality: {
          select: {
            alpha2Code: true,
          },
        },
      },
    },
  },
  where: {
    year: currentSeasonYear,
  },
})

and although the query returns the expected results like:
[
  {
    "driver": {
      "id": "valtteri-bottas",
      "name": "Valtteri Bottas",
      "nationality": {
        "alpha2Code": "FI"
      }
    }
  },
  ..
]

I get a type error in Visual Studio Code on the top select part stating:
Type '{ driver: { select: { id: true; name: true; nationality: { select: { alpha2Code: true; }; }; }; }; }' is not assignable to type 'SeasonEntrantDriverSelect'.
  Types of property 'constructor' are incompatible.
    Type 'Function' is not assignable to type 'boolean | ConstructorArgs'.ts(2322)

which results in more type errors downstream as the seasonDrivers var cannot be typed anymore; which also means auto-completion is not working anymore.
Probably it is related to the constructor name used as field.
Note that however I can query my constructor table without any problems like
const constructors = await prisma.constructor.findMany({..})
so it is not a general problem to use the name constructor.
Even a similar query using a nested constructor field like below gives no type error at all:
const seasonConstructors = await prisma.seasonEntrantConstructor.findMany({
  select: {
    constructor: {
      select: {
        id: true,
        name: true,
        country: {
          select: {
            alpha2Code: true,
          },
        },
      },
    },
  },
  where: {
    year: currentSeasonYear,
  },
})

How to reproduce
.
Expected behavior
No response
Prisma information
Here is a part of the Prisma schema.
If needed I can share the full schema.
model Season {
  year                                   Int                                     @map("year") @id
  seasonEntrants                         SeasonEntrant[]                         @relation("SeasonEntrantsBySeason")
  seasonEntrantConstructors              SeasonEntrantConstructor[]              @relation("SeasonEntrantConstructorsBySeason")
  seasonEntrantTyreManufacturers         SeasonEntrantTyreManufacturer[]         @relation("SeasonEntrantTyreManufacturersBySeason")
  seasonEntrantDrivers                   SeasonEntrantDriver[]                   @relation("SeasonEntrantDriversBySeason")
  @@map("season")
}

model SeasonEntrant {
  year                                   Int                                     @map("year")
  season                                 Season                                  @relation(name: "SeasonEntrantsBySeason", fields: [year], references: [year])
  entrantId                              String                                  @map("entrant_id")
  entrant                                Entrant                                 @relation(name: "SeasonEntrantsByEntrant", fields: [entrantId], references: [id])
  countryId                              String                                  @map("country_id")
  country                                Country                                 @relation(name: "SeasonEntrantsByCountry", fields: [countryId], references: [id])
  seasonEntrantConstructors              SeasonEntrantConstructor[]              @relation("SeasonEntrantConstructorsBySeasonEntrant")
  seasonEntrantTyreManufacturers         SeasonEntrantTyreManufacturer[]         @relation("SeasonEntrantTyreManufacturerBySeasonEntrant")
  seasonEntrantDrivers                   SeasonEntrantDriver[]                   @relation("SeasonEntrantDriversBySeasonEntrant")
  @@map("season_entrant")
  @@id([year, entrantId])
}

model SeasonEntrantConstructor {
  year                                   Int                                     @map("year")
  season                                 Season                                  @relation(name: "SeasonEntrantConstructorsBySeason", fields: [year], references: [year])
  entrantId                              String                                  @map("entrant_id")
  entrant                                Entrant                                 @relation(name: "SeasonEntrantConstructorsByEntrant", fields: [entrantId], references: [id])
  seasonEntrant                          SeasonEntrant                           @relation(name: "SeasonEntrantConstructorsBySeasonEntrant", fields: [year, entrantId], references: [year, entrantId])
  constructorId                          String                                  @map("constructor_id")
  constructor                            Constructor                             @relation(name: "SeasonEntrantConstructorsByConstructor", fields: [constructorId], references: [id])
  engineManufacturerId                   String                                  @map("engine_manufacturer_id")
  engineManufacturer                     EngineManufacturer                      @relation(name: "SeasonEntrantConstructorsByEngineManufacturer", fields: [engineManufacturerId], references: [id])
  seasonEntrantTyreManufacturers         SeasonEntrantTyreManufacturer[]         @relation("SeasonEntrantTyreManufacturersBySeasonEntrantConstructor")
  seasonEntrantDrivers                   SeasonEntrantDriver[]                   @relation("SeasonEntrantDriversBySeasonEntrantConstructor")
  @@map("season_entrant_constructor")
  @@id([year, entrantId, constructorId, engineManufacturerId])
}

model SeasonEntrantTyreManufacturer {
  year                                   Int                                     @map("year")
  season                                 Season                                  @relation(name: "SeasonEntrantTyreManufacturersBySeason", fields: [year], references: [year])
  entrantId                              String                                  @map("entrant_id")
  entrant                                Entrant                                 @relation(name: "SeasonEntrantTyreManufacturersByEntrant", fields: [entrantId], references: [id])
  seasonEntrant                          SeasonEntrant                           @relation(name: "SeasonEntrantTyreManufacturerBySeasonEntrant", fields: [year, entrantId], references: [year, entrantId])
  constructorId                          String                                  @map("constructor_id")
  constructor                            Constructor                             @relation(name: "SeasonEntrantTyreManufacturersByConstructor", fields: [constructorId], references: [id])
  engineManufacturerId                   String                                  @map("engine_manufacturer_id")
  engineManufacturer                     EngineManufacturer                      @relation(name: "SeasonEntrantTyreManufacturersByEngineManufacturer", fields: [engineManufacturerId], references: [id])
  seasonEntrantConstructor               SeasonEntrantConstructor                @relation(name: "SeasonEntrantTyreManufacturersBySeasonEntrantConstructor", fields: [year, entrantId, constructorId, engineManufacturerId], references: [year, entrantId, constructorId, engineManufacturerId])
  tyreManufacturerId                     String                                  @map("tyre_manufacturer_id")
  tyreManufacturer                       TyreManufacturer                        @relation(name: "SeasonEntrantTyreManufacturersByTyreManufacturer", fields: [tyreManufacturerId], references: [id])
  @@map("season_entrant_tyre_manufacturer")
  @@id([year, entrantId, constructorId, engineManufacturerId, tyreManufacturerId])
}

model SeasonEntrantDriver {
  year                                   Int                                     @map("year")
  season                                 Season                                  @relation(name: "SeasonEntrantDriversBySeason", fields: [year], references: [year])
  entrantId                              String                                  @map("entrant_id")
  entrant                                Entrant                                 @relation(name: "SeasonEntrantDriversByEntrant", fields: [entrantId], references: [id])
  seasonEntrant                          SeasonEntrant                           @relation(name: "SeasonEntrantDriversBySeasonEntrant", fields: [year, entrantId], references: [year, entrantId])
  constructorId                          String                                  @map("constructor_id")
  constructor                            Constructor                             @relation("SeasonEntrantDriversByConstructor", fields: [constructorId], references: [id])
  engineManufacturerId                   String                                  @map("engine_manufacturer_id")
  engineManufacturer                     EngineManufacturer                      @relation(name: "SeasonEntrantDriversByEngineManufacturer", fields: [engineManufacturerId], references: [id])
  seasonEntrantConstructor               SeasonEntrantConstructor                @relation(name: "SeasonEntrantDriversBySeasonEntrantConstructor", fields: [year, entrantId, constructorId, engineManufacturerId], references: [year, entrantId, constructorId, engineManufacturerId])
  driverId                               String                                  @map("driver_id")
  driver                                 Driver                                  @relation(name: "SeasonEntrantDriversByDriver", fields: [driverId], references: [id])
  @@map("season_entrant_driver")
  @@id([year, entrantId, constructorId, engineManufacturerId, driverId])
}

Environment & setup

OS: macOS
Database: SQLite
Node.js version: v18.4.0

Prisma Version
prisma                  : 4.3.1
@prisma/client          : 4.3.1
Current platform        : darwin
Query Engine (Node-API) : libquery-engine c875e43600dfe042452e0b868f7a48b817b9640b (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli c875e43600dfe042452e0b868f7a48b817b9640b (at node_modules/@prisma/engines/migration-engine-darwin)
Introspection Engine    : introspection-core c875e43600dfe042452e0b868f7a48b817b9640b (at node_modules/@prisma/engines/introspection-engine-darwin)
Format Binary           : prisma-fmt c875e43600dfe042452e0b868f7a48b817b9640b (at node_modules/@prisma/engines/prisma-fmt-darwin)
Format Wasm             : @prisma/prisma-fmt-wasm 4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b
Default Engines Hash    : c875e43600dfe042452e0b868f7a48b817b9640b
Studio                  : 0.473.0

Hi @janpio thanks for adding this topic to the issue.
Looking ahead is this something Prisma will fix one day, or not (so better that I use an alternative name)

Just for reference , as per the example above I also have Constructor model.
To be able to query it, I had to do this as well:
prisma.constructor = prisma.Constructor

Not proud of it but it worked to be able to do prisma.constructor.findMany({}) etc.

@janpio yes I changed all constructor fields in my schema to konstructor ...
but of course I would love to change it back "one day" ;-)

@SevInf maybe a bit late, but I decided to rename my konstructor fields to constructor.
For a basic query this works 👍  but I noticed when querying relations this still gives issues...
E.g.:
const seasonEntrants = await c.var.f1db.seasonEntrant.findMany({
      ...pageableQueryOptions,
      where: {
        AND: [{ year: year }, pageableQueryOptions.where],
      },
      include: {
        constructors: {
          include: {
            tyreManufacturers: true,
            drivers: true,
          },
        },
      },
    });

this is my model:
model SeasonEntrantConstructor {
  year                 Int                             @map("year")
  season               Season                          @relation("season_entrant_constructor_year", fields: [year], references: [year])
  entrantId            String                          @map("entrant_id")
  entrant              Entrant                         @relation("season_entrant_constructor_entrant_id", fields: [entrantId], references: [id])
  seasonEntrant        SeasonEntrant                   @relation("season_entrant_constructor_season_entrant", fields: [year, entrantId], references: [year, entrantId])
  constructorId        String                          @map("constructor_id")
  constructor          Constructor                     @relation("season_entrant_constructor_constructor_id", fields: [constructorId], references: [id])
  engineManufacturerId String                          @map("engine_manufacturer_id")
  engine_manufacturer  EngineManufacturer              @relation("season_entrant_constructor_engine_manufacturer_id", fields: [engineManufacturerId], references: [id])
  tyreManufacturers    SeasonEntrantTyreManufacturer[] @relation("season_entrant_tyre_manufacturer_season_entrant_constructor")
  drivers              SeasonEntrantDriver[]           @relation("season_entrant_driver_season_entrant_constructor")

  @@id([year, entrantId, constructorId, engineManufacturerId])
  @@map("season_entrant_constructor")
}

Although executing the findMany does work and the correct data is returned, the side effect is that the const seasonEntrants is not typed anymore.

@SevInf should we re-open this issue, or create a new one?

@marceloverdijk, new issue, please

@SevInf I created a new issue https://github.com/prisma/prisma/issues/25261.
If needed I can supply more information, or even send my full Prisma model separately as test case.


add new private tag and save changes to orthanc server

hello,
I am new to ohif and I was wondering if there is a way to let the user add new private tag and then save the modified dicom image back to the orthanc server, or to save it back to the server as new dicom file and still keep the original ?
thank you

hello, I am new to ohif and I was wondering if there is a way to let the user add new private tag and then save the modified dicom image back to the orthanc server, or to save it back to the server as new dicom file and still keep the original ?
thank you

I don't think that's really within the scope of a dicom viewer.

Regrettably, the mentioned feature is not supported at present and is not included in our current plans. However, we would be delighted to review your pull request if you would like to contribute.


Better IntelliSense for TypeScript/JavaScript

From @donaldpipowitch on May 4, 2016 6:16

VSCode Version: 1.0.0
OS Version: OS X 10.11.4

I think IntelliSense could show more documentation than it currently does. Take the following example (concrete feature requests are marked with a leading "❤"):
/**
 * Add numbers!
 * @param a First number.
 * @param b Second number.
 */
function add(a: number, b: number): number {
  return a + b;
}

/**
 * This is a.
 */
const a = 1;

const c = add(a, 2);

/**
 * This is some object.
 */
interface SomeObject {
  /**
   * This is foo.
   */
  foo: string;
  /**
   * This is bar.
   */
  bar: string;
}

/*
 * This is an instance of some object.
 */
const someObject: SomeObject = {
  /**
   * Test.
   */
  foo: 'foo',
  bar: 'bar'
};

const foo2 = someObject.foo;

And now let us step through each statement and look if it could be improved.
1. Function signature
function add(a: number, b: number): number {

Hovering over add shows Add numbers!.
Hovering over a shows First number..
Hovering over b shows Second number..

Great. Everything works 👍
2. Function body
  return a + b;

Hovering over a shows First number..
Hovering over b shows Second number..

Great. Everything works 👍
3. Variable declaration
const a = 1;

Hovering over a shows This is a..

Great. Everything works 👍
4. Function call
const c = add(a, 2);

Hovering over c shows nothing.

This is expected. We have no description like for const a.
❓ However... it doesn't seem we can document return values from a function call properly. Adding * @return This is the sum. to the function add documentation shows the return annotation as part of the description. But it would be nice, if hovering over c would show This is the sum. instead.
If we'd add a description to const c like we did for const a (e.g. This is c.) and we add a proper @return annotation to function add it would be nice if IntelliSense would show both description when hovering over c: This is c. and This is the sum. (maybe with a small visual delimiter between both descriptions.).

Hovering over add shows Add numbers!.
Hovering over a shows This is a..

It would be nice, if it would also show First number..

Hovering over 2 shows nothing.

It would be nice, if it would show Second number..

❤  Request 1: It would be nice to show @return annotations correctly in IntelliSense.
❤  Request 2: It would be nice to additionally show @param and @return annotations alongside with descriptions of variable declarations or at least  as a fallback, if a variable has no own description.
5. Interface
interface SomeObject {

Hovering over SomeObject shows This is some object..

Great. Everything works 👍
6. Property in interface
  foo: string;

Hovering over foo shows This is foo..

Great. Everything works 👍
7. Object with interface
const someObject: SomeObject = {

Hovering over someObject shows nothing.

I'd expect to see This is an instance of some object..

Hovering over SomeObject shows This is some object..

❤  Request 3: It would be nice to show the description of an object using an interface.
8. Properties of an object with interface
  foo: 'foo',
  bar: 'bar'

Hovering over foo shows Test..

It could also show This is foo..

Hovering over bar shows nothing.

It could at least show This is bar..

❤  Request 4: It would be nice to additionally show property descriptions from an interface and descriptions of properties in a concrete object or at least  as a fallback, if the property of an object has no own description.
9. Using properties of an object with interface
const foo2 = someObject.foo;

Hovering over foo shows This is foo..

It could also show Test.. (💡 This was very surprising for me that IntelliSense used This is foo. instead of Test. here. However... best thing would be to show both.)

Hovering over foo2 shows nothing.

It looks like the the type is correctly inferred and it would be nice if the descriptions could be reused here, too. (E.g. Test. and This is foo.)

Hovering over someObject shows nothing.

It should show This is an instance of some object. (and could additionally show This is some object.).

❤  Request 5: When using properties of an object which are documented in the object itself and in the interface it would be nice if the description from the object declaration could be shown (because it is probably more custom to the current use case) or show both descriptions.
❤  Request 6: When types can be inferred it would be nice to infer descriptions, too.
Copied from original issue: Microsoft/vscode#6083

From @rozzzly on May 5, 2016 3:45
I'd like to see the hover tooltip get a bit of a makeover. I've been playing around with the extension api, but hover providers are pretty limited. It would be awesome if you could pass html, not just a MarkedString. I'm imagining hovering over a function and seeing a table of its params like you often see in online documentation. That be great! But at the very least.. recognise some more of the jsdoc tags. Pretty much anything besides @param just gets inlined in the "description", then the line breaks are removed and you end up with this jumbled mess.

Here are a few more things on my wishlist: @see autocompletion with click-to-follow. Also keep   jsdocs on imported symbols (right now anything you import via the es2015 syntax will only ever show "import MyClassName" upon hover.) And then, how about optionally allowing for seperate descriptions on a constructor and a class definition
foo.ts
/**
 * some text
 * @class Derp
 */
export class Derp {
    /**
     * builds a new Derp
     * @constructor
     * @param {string} name - the name of the person
     */
    constructor(name: string) {
        this.name = name;
    }
}

bar.ts
import { Derp } from './foo.ts';
     //   ^   hovering shows "some text"

const foobar = new Derp('rozzzly');
                //   ^    hovering shows "builds a new Derp"

if (foobar instanceof Derp) {
                  //   ^   hovering shows "some text"
    // ...
}

@donaldpipowitch @rozzzly thanks a lot for all the suggestions. I will move the issue to the TS team since VSCode leverage the tsserver to provide TS/JS smartness.

Thanks so far. One last request: hovering over an imported module statement could show the description of the corresponding package.json (just like if you hover over dependencies/devDependencies in your own package.json.
Current
// package.json
{
  "dependencies": {
    "express": "^4.13.4"
    // ^ hovering shows:
    //    "express
    //     Fast, unoptionated, minimalist web framework
    //     Latest version: 4.13.4"
  }
}

// foo.ts
import express from 'express';
                  //   ^   hovering shows: "module"

Better
// foo.ts
import express from 'express';
                  //   ^   hovering shows: "Fast, unoptionated, minimalist web framework" (maybe with version...)

There's one more thing that's been a bit lacking with IntelliSense. When a variable is defined to be of a certain interface and we are defining that object, there are no initial suggestions for the Object's keys until you type the first character -- even if you force-show autocomplete. When I'm defining an object from scratch and I don't remember what other keys it has defined it's been driving me nuts as I have been basically manually iterating through "a", "b", "c", "d"... initial letters to see what other keys I might have forgotten about. Here's what I mean:
interface Human {
  firstName: string;
  lastName: string;
  age: number;
}

let me: Human = { ... } // <---- when typing inside it would be awesome to see autocomplete for the properties even BEFORE we type the first letter

Another example would be destructing:
import React, { Component } from 'react';

/**
 * These are the props which can be passed to our component.
 */
export interface NameComponentProps {
  /**
   * This is the name of your user.
   */
  name: string;
}

/**
 * This component says _Hello!_ to your user.
 */
export class NameComponent extends Component<NameComponentProps, {}> {
  render() {
    this.props.name;
                 ^~~~~~| This is the name of your user.
                       | (property) NameComponentProps.name: string
    const { name } = this.props;
              ^~~~~~| const name: string

    return (
      <p className="name-component">
        Hello {name}!
      </p>
    );
  }
}

As you can see the documentation for  NameComponentProps.name isn't shown when we use destructing.

@niieani, completion is working for me with just ctrl+space, no need to type additional characters.

@mhegazy Indeed, this seems to be fixed now for TypeScript. Awesome. However the same problem is still present in autocompletion for JSON files. I've just filed a bug for VSCode: https://github.com/Microsoft/vscode/issues/7224.

To summarize this thread, the request here is for const to inherit the comments from their initialization sources and/or that of their type annotation. if this is not the case, please let me know what i am missing.
there are few open questions, what it mean for expressions in general? e.g. const x = condition ? foo() : bar() is the output the return comments on foo + the return comments on bar? just one of them? or none? what if the const has its own comments? what happens if it has a type annotation, and and an internalizer, which one should be picked?

what if the const has its own comments?

I'd probably introduce the concept of "multiple comments/descriptions". This solves several of the problems above. I wouldn't show all of them at once. Maybe two or so depending on available space and allow pagination in a bigger documentation view to see all of them if wanted.

looking at this again, I do think we really want to build another system to flow comments. the thing that flows through the system are types. if the function provides a special return type, e.g. a set of strings, or a set of numbers, i would recommend using a typedef to define the type and use that instead.

So this isn't wanted or is tracked elsewhere?


Proposal: libnetwork support for adding physical interfaces into container sandbox

Is there native libnetwork support for adding physical eth interfaces into sandbox?

No. Addition was recently proposed in https://github.com/docker/libnetwork/issues/1003

The proposal in #1003 was to add the physical interface to the bridge in the host namesapce. The request here is to add it to a sandbox/container namespace.
@sainath14 What use cause are you trying to accomplish with this ? Typically physical interfaces are shared by all containers and not tied to one particular container.

yes #1003 handles a different scenario.
Enabling physical interfaces into sandbox, we can look at the following usecases/benefits

Server configurations have multiple NICs. Certain container (container demanding high network performance) can be assigned a NIC and get the entire bandwidth of the interface instead of sharing the bandwidth of the adapter with other containers.

Server NIC configuration has SR-IOv. SR-IOv exposes the same physical NIC as multiple NICs to OS and application stack. Typical configuration could support 64 virtual functions. When containers use these physical interfaces, they can ping on underlay network (easing the complexity of vxlan/bridge management in large virtual networks). This also offloads the cpu from any additional processing involved for packet encapsulation and decapsulation.

Also provides flexibility to use SR-IOv virtual functions in place of software macvlan devices. In certian load scenarios, hardware based SR-IOv VFs can provide better bandwidth between containers compared to macvlan, especially when CPU is overloaded.

Comments are appreciated.

@mavenugo I saw this PR is referenced to in #1003 and that code freeze in place now for docker release. May I know when is the subsequent docker release so that I can plan accordingly?

Whenever it may happen, please also consider to fix bug #211411.

A nice blog on SR-IOv and SR-IOv NIC
http://blog.scottlowe.org/2009/12/02/what-is-sr-iov/
As part of this proposal, one of the usecases is to support a intrahost network created from sr-iov virtual interfaces inside the container sandbox
docker create network -d vfnet --subnet=<IP_ADDRESS>/24  --gateway=<IP_ADDRESS>  -o parent=bus.dev.func  vfnet100
This would let containers join into the network vfnet100 with the interfaces derived from Virtual functions (VFs) from the physical function (PF) device with bus.dev.func
Comments are appreciated on the idea and also specifically on the docker create network command options

Support needed too!
For SR-IOV, VF can be assigned to container by pipework from http://jason.digitalinertia.net/exposing-docker-containers-with-sr-iov/ However, it first need to start container and then invoke pipework script. If directly physical interfaces is supported things can be easier.

Any update on this proposal? Like @deathspeeder the only quite simple way was to use pipework. This would make a huge difference.


How to save the enhanced video?

Hi, the model output is Y channel,  could you please tell me how to save it  as an enhanced result shown in the paper?

You can combine the enhanced Y channel with the original U、V channels, such that the enhanced YUV frame can be generated.

Okay, thank you very much.


on MacOS13: >>zsh: no matches found:

System OS
MacOS
Python Version
3.10 (CPython)
Install Source
pip / PyPi
Install version / commit hash
4.0.0-rc.5
Expected Behavior vs Actual Behavior
Steps to reproduce - Ensure to include actual links!
I just installed the ffmpeg by homebrew and spotdl by pip on macos13.0.1 (22A400).
Traceback

\>>jackliu@JackLiudeMacBook-Pro Documents % spotdl download https://open.spotify.com/track/4h9wh7iOZ0GGn8QVp4RAOB?si=282f580bc4554fd9
\>>zsh: no matches found: https://open.spotify.com/track/4h9wh7iOZ0GGn8QVp4RAOB?si=282f580bc4554fd9

It's the same traceback when runing as a package
\>>jackliu@JackLiudeMacBook-Pro Documents % python -m spotdl https://open.spotify.com/track/4h9wh7iOZ0GGn8QVp4RAOB?si=282f580bc4554fd9
\>>zsh: no matches found: https://open.spotify.com/track/4h9wh7iOZ0GGn8QVp4RAOB?si=282f580bc4554fd9

Other details
No response

If you use Zsh terminal, put the URL in quotes, e.g.
spotdl "https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b"

Also your spotdl is outdated, latest version is 4.0.6


Multiple Twitter session in TwitterKit

Hello,
I have read this post in the twittercommunity, So is multiple twitter session supported in the android SDK ?
Thanks!!!

Anthor question is How can show a user info by the SDK ?

For the first question ,  What I want to do  is opening an oauth activity without login status. I make it by clear the web view cookies.

for the second question,  I found the solution in the demo .

For the first question ,  What I want to do  is opening an oauth activity without login status. I make it by clear the web view cookies.

for the second question,  I found the solution in the demo .


BuildStepsExecutionException while pulling by sha256 tag

Gradle Pluging Version -
 id "com.google.cloud.tools.jib" version "0.10.0"
Trying to pull image by using sha256 tag but getting this error
* What went wrong:
Execution failed for task ':jib'.
> com.google.cloud.tools.jib.plugins.common.BuildStepsExecutionException: Tried to pull image manifest for gcr.io/distroless/java11-debian11:sha256:7f93e0ca6b1f4c5b13b538c28227752c64cd284c7fe8bfc155d5c1e228d6a960 but failed because: Manifest with digest 'sha256:7f93e0ca6b1f4c5b13b538c28227752c64cd284c7fe8bfc155d5c1e228d6a960' has media type 'application/vnd.docker.distribution.manifest.list.v2+json', but client accepts 'application/vnd.oci.image.manifest.v1+json,application/vnd.docker.distribution.manifest.v2+json,application/vnd.docker.distribution.manifest.v1+json'. | If this is a bug, please file an issue at https://github.com/GoogleContainerTools/jib/issues/new

Image from
jib {
    from {
        image = "gcr.io/distroless/java11-debian11@sha256:7f93e0ca6b1f4c5b13b538c28227752c64cd284c7fe8bfc155d5c1e228d6a960"
    }
 }

The below one works
Image from
jib {
    from {
        image = "gcr.io/distroless/java-debian11:11"
    }
}

Hi @seasuresh, it seems like you have to select base images with the desired platforms from a manifest list in order to achieve this.
Here's an interesting read regarding this -> click here
Please let us know if there's anything else we can help you with. Happy Coding 👯