feature request: silence output using config

I originally asked this as a question on StackOverflow but the lack of response and some digging has lead me to believe that this is not possible. Here's the original question (copy/paste):

I would like to know if there's a configuration option to tell webpack to only log the "important information" to the terminal. Pretty much just errors and warnings, not all of this:

There's just so much output! Would love to suppress the common stuff and only have webpack output the warnings/errors. Would like a solution for webpack, webpack-dev-server, and karma-webpack.
Note: I tried noInfo: true and quiet: true but that didn't seem to do the trick.

I've dug around the code a bit and I don't think that there's anything in webpack or webpack-core to silence the output based on the config I give it (though it looks like webpack-dev-server does support this). I would really like to silence output for my tests so I can keep noise to a minimum.
Note: Keeping webpack: bundle is now VALID or INVALID I think would still be valuable. It's just the info about everything that was built is noisy.

:+1:
I would also like that very much as I use webpack to build my integration tests.
Having a watcher compile and run the tests on every file change comes with a lot of unnecessary console output, making the test results harder to read
This might also be solved by LogLevel:NONE as proposed in this issue #476

+1, having nodemon, post-css and other build drowned in 200lines of webpack verbosity is not nice =(

:+1: This is essential. Certain output is not relevant to all users. There should be an option to change the verbosity level.

+1

#1323 might help?

https://github.com/webpack/webpack-dev-server/issues/68

I'd love to see this as well.

Passing chunks:false and chuckModules:false in the stats object solves this. https://webpack.github.io/docs/node.js-api.html

stats.toString({chunks:false})

hsinha's solution reduced my build output to 1 line! :+1:

@kentcdodds Is stats.toString({chunks:false}) enough for you?

Works for me!

Looks like it's working for me. Thanks for the help!

For others looking at this, I actually prefer configuring it in my webpack config and I also prefer the 'errors-only' option. So my webpack config has this:
{
  devServer: {
    stats: 'errors-only',
  },
}

Thanks!

+1 for stats.toString({chunks:false}) solution.

@kentcdodds what else options can we have on devServer.stats?

Here's the relevent code. Looks like the acceptable preset values are: none, errors-only, minimal, normal, verbose and otherwise you can specify your own object:
{
	hash: false,
	version: false,
	timings: false,
	assets: false,
	chunks: false,
	modules: false,
	reasons: false,
	children: false,
	source: false,
	errors: false,
	errorDetails: false,
	warnings: false,
	publicPath: false
}

@kentcdodds Thanks very much, very informative.

stats: 'errors-only' works for me when using WebPackDevServer:
new WebpackDevServer(webpack(webpackConfig), {     publicPath: webpackConfig.output.publicPath,     stats: 'errors-only',     hot: true   })

@TangHao1987's solution also works with webpack-dev-middleware, which I'm using with BrowserSync.

For anyone looking to silence the verbose output in the Relay examples (like relay-treasurehunt), this worked for me:

open "server.js"
search for "stats: {colors: true}"
change it to "stats: {chunks:false}"

Is there a way to supress all these messages also for webpack (and not just for webpack-dev-server)?

@IAMtheIAM I tried it, but it helps only for the dev server, not the build.

@mik01aj would you mind posting how to pass that option when running through karma?

+1

All of the possible options should really be in the documentation

All of the possible options should really be in the documentation

Agreed. Would you like to do that? It's really easy to update the documentation :+1:

@ebenoist I don't use Karma... You can always file an issue in your karma webpack plugin (or webpack karma plugin, whatever)

@mik01aj sorry I bumped here from the karma thread and must have gotten lost on the way. If there is a way to silence chunks in the webpack config without using a cli flag and/or the webpack devserver I'd be happy to document the solution.

@ebenoist in your entry karma.config.js try this:
files: [ ... ],
plugins: [ ... ],
...
webpackMiddleware: {
  stats: {
    chunks: false,
  },
},

Note that you can use all the options @IAMtheIAM mentioned above. Hope this helps.

@mjw56 thanks this is exactly what I needed. I didn't realized I'd have to configure the middleware in this case. I appreciate your help!

I've slightly tweaked the documentation to draw attention to chunks: false here: https://webpack.github.io/docs/node.js-api.html

the best options:
  stats: {     colors: true,     cached: false   }
only show changes

Just for reference, here is the documentation for the stats option: https://webpack.js.org/configuration/stats/

And if you tried all solutions above and it does not work. Check devServer again , it might you FORGET to delete the previous stats object .. and this is what happen for me  :
	devServer: {
           stats: {
		    errors: false,
		    errorDetails: false,
		    warnings: false,
		    publicPath: false
		},
		contentBase: 'build',
		historyApiFallback: true,
		progress: true,
		stats: 'errors-only', // <-- ⚠ I forgot to remove this which override the first stats which whant i want
		host: HOST,
		port: PORT,
	}

The above options didn't work for me on latest, I needed to add maxModules: 0
This is nearly silencing output for me:
stats: {
            assets: false,
            cached: false,
            cachedAssets: false,
            children: false,
            chunks: false,
            chunkModules: false,
            chunkOrigins: false,
            colors: false,
            depth: false,
            entrypoints: false,
            errors: true,
            errorDetails: true,
            hash: false,
            maxModules: 0,
            modules: false,
            performance: false,
            providedExports: false,
            publicPath: false,
            reasons: false,
            source: false,
            timings: false,
            usedExports: false,
            version: false,
            warnings: false
}

This isn't fully working for me.
Even after setting stats: 'none', I'm still getting the following outputted:
Project is running at http://<IP_ADDRESS>:8080/
webpack output is served from /

I really really want to suppress this, because I'm hosting webpack-dev-server in a docker container, which maps the port to a different port, and I don't want to confuse the user by printing two different port numbers to the output.
Is this worthy of an issue?

I have set stats: false
But....
 46% building modules 301/332 modules 31 active ...e_modules/rxjs/operators/skipWhile.js 46% building modules 302/332 modules 30 active ...e_modules/rxjs/operators/skipWhile.js 46% building modules 302/333 modules 31 active ...e_modules/rxjs/operators/skipUntil.js 46% building modules 302/334 modules 32 active ...odules/core-js/modules/_to-integer.js 46% building modules 302/335 modules 33 active ...de_modules/rxjs/operators/skipLast.js 46% building modules 302/336 modules 34 active ...dules/urijs/src/SecondLevelDomains.js 46% building modules 302/337 modules 35 active ...ww/app/node_modules/urijs/src/IPv6.js 46% building modules 303/337 modules 34 active ...ww/app/node_modules/urijs/src/IPv6.js 46% building modules 304/337 modules 33 active ...ww/app/node_modules/urijs/src/IPv6.js 46% building modules 305/337 modules 32 active ...ww/app/node_modules/urijs/src/IPv6.js 46% building modules 305/338 modules 33 active ...www/app/node_modules/sifter/sifter.js 46% building modules 306/338 modules 32 active ...www/app/node_modules/sifter/sifter.js 46% building modules 307/338 modules 31 active ...www/app/node_modules/sifter/sifter.js 46% building modules 308/338 modules 30 active ...www/app/node_modules/sifter/sifter.js 46% building modules 308/339 modules 31 active ...pp/node_modules/urijs/src/punycode.js 46% building modules 308/340 modules 32 active ...p/node_modules/rxjs/operators/skip.js 46% building modules 308/341 modules 33 active ...node_modules/rxjs/operators/single.js 46% building modules 308/342 modules 34 active ...modules/rxjs/operators/shareReplay.js 46% building modules 308/343 modules 35 active .../node_modules/rxjs/operators/share.js 46% building modules 308/344 modules 36 active ...dules/rxjs/operators/sequenceEqual.js 46% building modules 308/345 modules 37 active ...de_modules/core-js/modules/_shared.js 46% building modules 308/346 modules 38 active ...p/node_modules

It is just part of the output, what can I do?

@tom10271, are you using ProgressPlugin?

I finally found a way to (nearly) silence the output in<EMAIL_ADDRESS>in 2022! I leave it here to anyone who is interested.
Add this to your webpackConfig:
devServer: {
  devMiddleware: {
    stats: {
      assets: false,
      chunks: false,
      hash: false,
      modules: false,
      source: false
    }
  }
}

This should do the deal

I finally found a way to (nearly) silence the output in<EMAIL_ADDRESS>in 2022! I leave it here to anyone who is interested.

not work

@suanmei You can use it https://webpack.js.org/configuration/other-options/#level


"Maximum Production" problem of codechef

Aim
I want to add the code for "Maximum Production" problem of codechef (July Challenge 2021)
Contest ended on July 12th
Details
Problem name : Maximum Production
Problem Code : EITA
Problem link : https://www.codechef.com/JULY21C/problems/EITA
Please assign me this issue
LGM-SOC Participant
Programming language
C++

[ ] C
[x] C++
[ ] Java
[ ] Python

@Amit366 @ravikr126 @Ayush7614 Please assign this issue to me under the label LGM-SOC

@Amit366 @ravikr126 @Ayush7614 Please assign this issue to me under the label LGM-SOC for python


Autocomplete: No placeholder "up" animation

Bug, feature request, or proposal:
Bug
What is the expected behavior?
There should be animation for placeholder going up when autocomplete input is focused
What is the current behavior?
Placeholder just jumps up without animation. There is down animation though.
What are the steps to reproduce?
Issue is present in docs example: https://material.angular.io/components/component/autocomplete
What is the use-case or motivation for changing an existing behavior?
Behavior should be consistent.
Which versions of Angular, Material, OS, browsers are affected?
Angular 4.0.1, Material 2.0.0-beta.3, Chrome
Is there anything else we should know?

You can track #3992 for progress on this


Improving the "Google Translation" in VueJs/ControlFlow

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 🎉


Default field value to last submitted form

I think I'm right that ODK doesn't currently have functionality to specify that a field's default value should be inherited from the last form submitted?  If so it strikes me as a very useful feature to add to handle fields such as batch/event IDs that stay the same for a while until the next group.  If you have e.g. hundreds of forms to submit it saves a lot of time and reduces risk of typo errors.  Is this something you'd consider building in?

No. This requires a lot of information about the meaning of a field. And raises questions with the security of encrypted forms if some or all of their fields might be cached for use as defaults in a subsequent form.
External applications can populate this information for your specific use case, or barcodes scanned from paper-based documentation can be used to simplify the data-entry of this information.


Pushing tasks over?

Is there a way to implement "pushing a task over"? For example, rather than showing up underneath, it would be great if there was also a way to push all other tasks over (to the right) when adding a task at the beginning of the calendar.

Good idea, I will try to implement soon.
Thanks for the feedback!


add .editorconfig file

Noticed there was no .editorconfig file, and this repo uses 4 spaces. Not sure what other style guides this repo follows, but did an approximation.

Coverage remained the same when pulling 30702d5ef7ef20f946dd7147160174dd6d077f3f on misejs:editorconfig into 786819fd79c388127f75cce970ffdb885157af60 on Matt-Esch:master.

lgtm.


fix: Update README.md with the correct status page links

Description

This PR fixes all the broken status page links in the README.md file.
What type of PR is this? (check all applicable)

[ ] 🍕 Feature
[x] 🐛 Bug Fix
[x] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Related Tickets & Documents

Fixes Issue #21
Mobile & Desktop Screenshots/Recordings

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[x] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[ ] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
Once we have merged this PR, there should not be any more broken links to the status page in the repository's README.md file. However, there is one more place where this link needs to be updated, and that is the About section of the repository.
See Screenshot below:

[optional] What gif best describes this PR or how it makes you feel?

Not sure why the Netlify actions fail. @brandonroberts / @bdougie any ideas? I'm also not familiar with this repo super well: seems that all the recurrent cron actions are failing: https://github.com/open-sauced/status/actions
We should look into that so the status site is up to date

The Netlify actions are failing because it expects apackage.json to deploy this site but there isn't one here.

The Netlify actions are failing because it expects apackage.json to deploy this site but there isn't one here.

This was an oversight, I can fix. The status page was put together by our MLH fellow last year, and hasn't been touched in awhile.

seems that all the recurrent cron actions are failing

Yup, probably the uptime bot is using his GH_PAT that's why the actions are running successfully in Deadreyo account and all the statuses shown in the readme (this repo's readme) point to his actions

Let's merge this, and focus on the other quick fixes separately


audio tsne files no longer available

Running the download.sh script in the data folder of ml4a guides does not download anything called Vintage Drum Machines and the link provided in the notebook is 404
Audio T-SNE

Same issue

same issue

Anyone landing here, it's still in the git history: https://github.com/ml4a/ml4a/blob/f83082e46b148e29d129f655d3218bc3cf1dd5c1/notebooks/audio-tsne.ipynb

Anyone landing here, it's still in the git history: https://github.com/ml4a/ml4a/blob/f83082e46b148e29d129f655d3218bc3cf1dd5c1/notebooks/audio-tsne.ipynb


[8.x] Allow comparing custom casted attributes and their original values

This PR solves a problem described in #34724.
Why
The problem is that we don't know how to compare custom casted attributes with their original values. Thus, when a custom casted attribute value is accessed or set, a caster is cached in classCastCache property, the result of its set() method is merged into attributes property. But the result of set() may differ from the attribute's original value even if the attribute hasn't been changed. Then if we call getDirty() on the model we get the wrong result.
The simplest example of such behaviour is decimal number formatting. Suppose we have a amount DB column created by the following migration statement:
$table->decimal(32, 18);

Also, we have DecimalCast class:
use Decimal\Decimal;

class DecimalCast implements CastsAttributes
{
    protected $precision;

    public function __construct($precision = 8)
    {
        $this->precision = $precision;
    }

    public function get($model, string $key, $value, array $attributes)
    {
        return new Decimal((string) $value, $this->precision);
    }

    public function set($model, string $key, $value, array $attributes)
    {
        if ($value instanceof Decimal) {
            return $value->toFixed($this->precision);
        }

        return (new Decimal((string) $value))->toFixed($this->precision);
    }
}

and a model:
class Foo extends Model
{
    protected $casts = [
        'amount' => DecimalCast::class,
    ];
}

When the model is retrieved from DB, its amount attribute will have 18 decimal places. But the caster can format the attribute with other decimal places (maybe 18 places isn't necessary for every model). Then we can have a situation when the original value is<PHONE_NUMBER>00000000000 and the value after calling caster set method is<PHONE_NUMBER>0 (8 decimal places instead of 18). And when we call getDirty() on the model we get ['amount' => '123.45600000'] instead of empty array.
Solution
The newly created ComparesCastableAttributes interface handles the comparison of current and original attribute values. HasAttributes::originalIsEquivalent checks if an attribute is class castable and the caster implements ComparesCastableAttributes interface. If so, it calls compare method passing current and original attribute's values.
Now we can improve our caster:
class DecimalCast implements CastsAttributes, ComparesCastableAttributes
{
    protected $precision;

    public function __construct($precision = 8)
    {
        $this->precision = $precision;
    }

    public function get($model, string $key, $value, array $attributes)
    {
        return new Decimal((string) $value, $this->precision);
    }

    public function set($model, string $key, $value, array $attributes)
    {
        if ($value instanceof Decimal) {
            return $value->toFixed($this->precision);
        }

        return (new Decimal((string) $value))->toFixed($this->precision);
    }

    public function compare($value, $originalValue)
    {
        $value = new Decimal((string) $value);
        $originalValue = new Decimal((string) $originalValue);

        return $value->equals($originalValue);
    }
}

Now model getDirty() method returns empty array unless we really modify amount attribute.

OK so I'm re-reading the original issue and am a little confused. The set method should return an array of raw key / values that are primitive types that can be directly stored in the database. But your set method returns a key with a value of a Decimal instance (which I assume is later cast to string or float or something?). Why are not returning the primitive type this eventually resolves down to as your set array value?

@taylorotwell Thank you for your review. Seems like I misread the docs. Yeah, I've just fixed my cast and now it behaves correctly.
I close both issue and PR.


Add new M-mode CSRs

This PR adds the misa, mvendorid, marchid, mimpid, mhartid, mscratch and mconfigptr, bringing the completion of #561 a little bit closer. Other than mscratch, all of the other added CSRs are read-only.

Looks like we need another toolchain update.


Add: Native Erasure Coding Support

I modified the structure of hops-erasure-coding adding hops-erasure-coding-project to respect the structure of hadoop, otherwise some of the relative path set by hadoop-project for testing were wrong.

Jenkins retest this please.

Jenkins retest this please.

Jenkins retest this please.

Jenkins retest this please.


Client - view con note

As a client I should be able to view the con note from the web site

As a client I am able to view the con note from the website, once the delivery has been complete and the packages unique identifier is scanned a copy of the con note is sent to one of On the Spots DATABASES, which is also linked to allow clients to view this information.

Depends on #34

Is this basically tracking a package? @Smurfenstein

no, this is what the receiver will sign to confirm receipt of the goods. It is then uploaded so the sender can see who signed for the package. It contains the addresses, package details, fragile or dangerous goods indicators. A lot of consignment notes are still hand written by the senders, but if the courier is using a digital device they can have the receiver sign that and auto generate a con note.

Okay, thanks


[Edit User profile] 'Телефон' field accepts more than 9 required numbers

Environment: Windows 11 Home, browser: Google Chrome 124.0.6367.119
Reproducible: Always
Build found: "commit 7ca68b4"
Preconditions

The site https://oos.dmytrominochkin.cloud/#/ is opened
User is registered as Parent/SP
'Кабінет користувача' is opened

Steps to reproduce

Go to 'Особиста інформація'
Click on 'Редагувати' button
Enter more than 9 numbers in  'Телефон' field

Actual result
'Телефон' field accepts more than 9 numbers
Expected result
System doesn't allow to enter more than 9 numbers in 'Телефон' field

We can't fix this bug, because the number input is international, so we cannot limit the number to only 9 digits.


How to avoid writing signature in CaptionText?

Hi,
I am using Xamarin Forms and was able to writing signature in CaptionText, how to prevent this?

As of today, the entire signature area is writeable. I will investigate an option to clip the signature so that it doesn't allow writing over the labels/buttons

I spent some time thinking about this and I am adding some features in the next version that may be useful. In v2.0 there will be a "chrome-less" signature pad which can be used. I don't think there will be an option to clip the signature around existing buttons. If this is desired, you can always change the button text or background color which will obscure the underlying signature.
As was mentioned in the linked (#61) issue, you can do something like:

You may set ClearText to empty string so it does not display on the pad and add a CLEAR SIGNATURE button below the pad.


BlazePoseCpuCalculator crashing

I've tried using the code from Mediapipe.Net.Examples.FaceMesh with BlazePoseCpuCalculator (after adding necessary medipipe / graphs and modules folder) on Windows 10, and I get the following exception

Where can I find a working example for this calculator?

@Speykious do you have a working example for BlazePoseCpuCalculator?

As I said, the example you just tried is supposed to be working, so effectively we don't have a fully working one.

We made the examples synchronous and also fixed a critical memory leak. Maybe you could try again now?

The issue is not fixed.

Yes, I use discord. What's the server?

Here it is.
Welcome :)

From what I can repro, I think we're sending something and MP is returning something, but it's not getting it.

The exact bug:

if we allow the calculator to return empty frames, then as more images are added to the input stream, an internal error occurs.

        protected override ImageFrame SendFrame(ImageFrame frame)
        {
            using ImageFramePacket packet = new ImageFramePacket(frame, new Timestamp(CurrentFrame));
            Graph.AddPacketToInputStream(INPUT_VIDEO_STREAM, packet).AssertOk();

            ImageFramePacket outPacket = new ImageFramePacket();
            System.Console.WriteLine($"Queue size: {framePoller.QueueSize}");
            if (framePoller.Next(outPacket))
                return outPacket.Get();
            else
                return frame;
        }

on the other hand, if we trap framePoller.Next(outPacket) inside of a while loop, it gets completely stuck.

        protected override ImageFrame SendFrame(ImageFrame frame)
        {
            using ImageFramePacket packet = new ImageFramePacket(frame, new Timestamp(CurrentFrame));
            Graph.AddPacketToInputStream(INPUT_VIDEO_STREAM, packet).AssertOk();

            ImageFramePacket outPacket = new ImageFramePacket();
            System.Console.WriteLine($"Queue size: {framePoller.QueueSize}");
            while (!framePoller.Next(outPacket))
                Thread.Sleep(1);

            return outPacket.Get();
        }


v2.0 vs v1.0 results dynamic explanation

Hi All,
Also it would be good to have some high level explanation of few very visible changes in results of v2.0 at April 12th vs Report 13 (v1.0 at March 30th):

significant descrease of % of total population infected estimate mean for Italy and Spain;
dropping of Rt estimate post lockdown below 1 for most of countries.
If it s mainly due to new data or model improvements

thx and rgds
Slava

Hi @d-Slava  the improvements are attributed to both more data which means more signal and some model improvements. You can look at new model in the technical document we have in the repository.


Markers for projects that support .NET Core?

Hi,
I would like to suggest some sort of marker for projects that have current support for asp.net core.
As many projects are in the early stages of adding support, there might be a need for two markers to distinguish between full support and beta support.
Thoughts?
@pleb edited to add missing body

I think it's a good idea. My only concern would be bring the current list items up to date

@pleb Markers for support of .NET Core Console would be welcome too.

:thought_balloon: I guess it should simply be .net core

@rogersachan thoughts about 650dc8d?

Definitely what I meant, and seems to cover both ground on marking which supports what out.

@quozd @vladen @Jeffiy @devkhan - your chance to have input on this

"Partial Support" instead of "beta support" might be a better term.
Also, is it possible to automate this? For example, by visiting the project pages using GitHub's API and parsing the README for nuget links and then using the nuget API to check if the package exists for .NET Standard moniker. This won't cover all projects but many of them and plus, we can add a CI check to automatically do this for every PR in future.

https://github.com/Awesome-Windows/Awesome does something similar with icons. I think it would be even easier if the icons are in front of an entry, that way you can quickly scan trough the list without adjusting your eyes in the horizontal direction.

Icons 👍

Yep Icons seems like an elegant way to address this

I would also venture to say we consider .NET Core as "supported" only if it works with 1.0+ there were libraries that were updated to work with RC1 and RC2 that don't work with Core 1.0.

Ok, so I guess all we need now is a suit of icons. Anybody handy with making icons?

Icons by Mike Rowe:
.net: https://thenounproject.com/itsmikerowe/icon/74711/
core: https://thenounproject.com/itsmikerowe/icon/75368/ (cause you can use atom-like editors (vscode))
free: https://thenounproject.com/itsmikerowe/icon/384006/
paid but free for oss: https://thenounproject.com/itsmikerowe/icon/394845/
paid but oss itself: https://thenounproject.com/itsmikerowe/icon/394839/
proprietary: https://thenounproject.com/itsmikerowe/icon/384012/
paid & proprietary: https://thenounproject.com/itsmikerowe/icon/394837/

I think as part of this, if a project is known to work in .net core via an imports entry, maybe it would be nice to include that as well.
Also, many projects don't have core support, but have open tickets for it. A link to those tickets should be provided in the same column when a library didn't have core support.

So, as of now most of the projects (except very-very old and not very supported and Windows specific) do support .NET Core. Because of that it makes no sense to have any additional markers or something like that. For that reason I'm closing the issue but feel free to raise your opinion if you experience different situation and have other ideas.

The close makes sense here, although it might be interesting to list supported TFMs in the index.


[$500] Web - Remove member from workspace does not hide workspace's rooms on that member account when he's offline

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

Action Performed:

Login with account A and B on two browsers/devices
Create a workspace with A and B (A is admin)
Create a room for that workspace
Verify that on B, the workspace rooms & channels appear
On B, close App
On A, remove B from the workspace
On B, re-open App
Verify that the workspace's rooms & channels does not disappear
Workaround
The rooms/channels only disappears when B clicks on each of them

Expected Result:
The workspace's rooms/channels disappear immediately on App opening when he's previously removed from that workspace.
Actual Result:
The workspace's rooms/channels does not disappear on App opening when he's previously removed from that workspace. Instead it requires manual navigation to each room/channel to be removed.
Workaround:
Unknown
Platforms:

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

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.41-2
Reproducible in staging?: n/a
Reproducible in production?: n/a
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/f6316c06-43f4-4e2d-ad93-4357a77ccdec
Expensify/Expensify Issue URL:
Issue reported by: @tienifr
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1689313795202979
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01c726371d1e861cb4
Upwork Job ID:<PHONE_NUMBER>394501632
Last Price Increase: 2023-09-21

Proposal
Please re-state the problem that we are trying to solve in this issue.
User can still see the workspace chat even when he's removed from the workspace while he's offline.
What is the root cause of that problem?
This problem doesn't happen before, that's because earlier the OpenApp API is called whenever we load the page again. This will populate all the policies and reports data, and will not show stale data.
However, after this PR, we no longer call OpenApp on page load for performance reason (because OpenApp fetches all the data so it's slow), we only call ReconnectApp if the user was already logged in before.
After the user is removed from the workspace and the user loads the page, the ReconnectApp only sends back "set workspace to null", not "set reports and reportActions related to this workspace to null" (as the Pusher will send if the user opens the app at the time).
So that's the root cause. This not only happens when the the user is removed from the workspace and the user loads the page, it also happens when the user is re-added to the workspace and loads the page, the default chat reports will not show (because it's not sent back in ReconnectApp)
What changes do you think we should make in order to solve the problem?

We need to fix the back-end to return correct report and reportActions data in ReconnectApp for the following case:

The user is removed from the workspace and the user loads the page: should set report and reportActions of the workspace-related reports to null.
The user is re-added to the workspace and loads the page: should send workspace-related reports and reportActions data.

For existing users which have incorrect data in Onyx due to this, and to be future-proof, we can add logic in https://github.com/Expensify/App/blob/60f48175c9e3342ef192d878218820e5ed5a76cd/src/libs/ReportUtils.js#L2022 to return false if the report is associated to a workspace and that workspace is no longer available. This will work for both default rooms and user-created rooms.

What alternative solutions did you explore? (Optional)
In 2, another solution is in the Onyx.connect for policy data, if we see the policy is set to null, we'll remove the associated report data from Onyx.

I couldn't reproduce this on the latest build, closing for now.

Reopening after watching @tienifr's more recent video recording.
https://github.com/Expensify/App/assets/5997400/4dff3561-bf73-4e04-93de-545fa67d322f

For now I can't reproduce this issue due to the problem with workspace invitations described here: https://expensify.slack.com/archives/C049HHMV9SM/p1695627542846449 - I need to wait until it's resolved.

I've finally reviewed the proposal from @kbecciv and I think it does make sense. In the proposal we need to update BE first so I think we should go Internal for now to get an opinion from the BE engineer.
cc: @sakluger

I've added the internal label on @burczu's recommendation. @marcochavezf are you able to work on the backend piece of this so that we can move forward with the external piece?

Sure, I will checking the backend implementation during the week. Seems it could be an edge case where we're not including the null reports in the ReconnectApp as stated in the proposal

@marcochavezf I'm not sure if you were just saying that you were happy to work on the backend piece, or if you were also endorsing a solution. Can you confirm if @tienifr's solution works?

Ah I mean that I can work on the backend piece. In this case I think the backend implementation should be done first.

Issue not reproducible during KI retests. (First week)

Interesting, sounds like this may have somehow gotten fixed. @marcochavezf any idea why it's not reproduceable anymore?

There have been many policy changes recently from other wave initiatives that probably fixed this by side effect, I think it's a good thing that's not reproducible anymore.

Not reproducible anymore

Okay then, closing!


[Package Issue]: Mozilla.Firefox and TimKosse.FileZilla.Client

Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
No applicable update found.
Brief description of your issue
winget states "Installed package is not available from any source" when the application is installed and in Add/Remove programs.
I'm required to run winget install  and it will reinstall the same version already installed and at that point report it as an upgradable package.
I verified the uninstall GUID was at least the same before and after running winget install
These are the only packages we have experienced this with and have replicated it on multiple computers.
Steps to reproduce
Manually install Filezilla
winget export list
It will report it as not available
winget install TimKosse.FileZilla.Client
It will not report it as available for upgrade
Actual behavior
Mozilla.Firefox and TimKosse.FileZilla.Client are not detected as upgradable applications if previously manually installed.
Expected behavior
Mozilla.Firefox and TimKosse.FileZilla.Client should be detected and installed and upgradeable packages without having to reinstall them with winget install
Environment
Windows Package Manager v1.3.1741
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.19044.1766
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.18.1741.0

Screenshots and Logs
No response

The manifests may not yet have the "AppsAndFeatures" entry data to help with matching. I looked at FileZilla and didn't see it in the latest version.
The Firefox manifest has entries, but we don't handle multiple entries well yet.

FileZilla: We're missing the User Scope even tho it installs in Program Files as User
Firefox: We might don't have you locale?
Currently we only have 55 Firefox Installers https://github.com/jedieaston/winget-pkgs/blob/103eb5f81d9540174ea0db9fbdb991502544c896/manifests/m/Mozilla/Firefox/102.0.1/Mozilla.Firefox.installer.yaml
However, Firefox can actually be installed in 490+ different ways https://github.com/microsoft/winget-pkgs/blob/5ad76d876f094490983683d3142fb7365efb7779/manifests/m/Mozilla/Firefox/100.0/Mozilla.Firefox.installer.yaml which the pipeline does not support.
Also in the future please make one issue for one package so we can point a PR to that specific Issue =)

Thank you for the manifest explanation.
I am now less ignorant and will view the manifests for this information. I do see how there are so many Firefox installers and the current offline installer doesn't appear to be in the manifest.
I'll split the requests in the future and just didn't have an understanding that the issue was not related.
Thanks again.

Would you mind telling us your desired locale? We can easily add more locales as they are needed since we don't know the max cap the pipeline can take as it

What I seem to be seeing is that each time I download the EXE installer from Mozilla's offline installer page I am getting an installer with a different InstallerSha256 hash.
This doesn't seem to happen with the MSI installer.
Mozilla's download page: https://www.mozilla.org/en-US/firefox/all/#product-desktop-release
Which browser would you like to download: Firefox
Select your preferred installer: "Windows 64-bit"
InstallerURL: https://download.mozilla.org/?product=firefox-latest-ssl&os=win64&lang=en-US&_gl=1j1fjep_gaODA0MDA1Njk0LjE2NTY3MDcxODU._ga_MQ7767QQQW*MTY1NzY0OTg0OC4zLjEuMTY1NzY1MDM1Ni4w
This just looks like why I wasn't finding the Sha256 in the manifest.
I do not need this resolved or a workaround. If needed I would use the MSI which is in the manifest.
Thank again for your help with the manifests.

Ahh, if you compare the urls from the Manifest and the one you found you can see the urls we use are from a archive
https://download-installer.cdn.mozilla.net/pub/firefox/releases/
Also i think i know of your issue, you want en-US, however your computer locale is something we do not inside of the manifest.
@denelon this is tiny annoyance i've noticed, i keep installing en-US however nb-NO keeps getting installed.

@OfficialEsco are you doing it with "--locale en-US" or is it incorrectly detecting the system locale?
I think we need more documentation on which place we're detecting default locale from.

It does it when you do Winget upgrade --all, it installs the System Locale instead of the already installed Package Locale which can cause some annoyance


add client provider

 that can put the client into react's context

fixed in https://github.com/capaj/use-graphql-request/commit/36489520892698ba9feecd030f68f0d2581e6daa


Can I create a User offline and then create a Task?

I have a requirement to create a User offline, generate an ID (uuid) locally, and then create a Task. Can this requirement be met without considering server synchronization data?
😯

Yes, why not? What have you tried?


golf code

Challenge Golf Code has an issue.
User Agent is: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36.
the test is okay
I don't know what is the matter

My code:

function golfScore(par, strokes) {
  // Only change code below this line
  if(strokes==1){
    return "Hole-in-one!";
  }else if(strokes <=par-2){
    return "Eagle";
  }else if(strokes==par-1){
    return"Birdie";
  }else if (strokes==par) {
    return "par";
  }else if (strokes==par+1){
    return "Bogey";
  }else if (strokes==par+2){
  return "Double Bogey";
  }else if (strokes>=par+3){
    return "Go Home!";
  }else{

  return "Change Me";
  // Only change code above this line
  }
}
// Change these values to test
golfScore(5, 5);

@NadaH please check the case of each golf phrase. You'll need to code the phrases precisely as they are in the instructions. If you get stuck with a challenge in the future, please first ask questions to the Help Room. Happy coding!


Selections can be removed when Select2 is disabled

Allow to disable "close" button when option is disabled. Simply works.

I was just able to confirm the issue related to this, but I don't agree that removing the icons is the best way to guard against this. The check should really be happening in the remove handler, which should always be ignored if the component is disabled.


MFA from Microsoft

I need to develop the login in a test automation, where there is authentication in the second factor (oauth2) from Microsoft(Microsoft Authenticator).
I searched in several places, I didn't find any documentation or examples about oauth2.
Kindly, has anyone ever needed to implement something similar? Any libraries to recommend?

I have no idea. This issue tracker is for bug reports and enhancement requests and questions should be asked on our Slack, Forum, or other such support channel.


package.json的license和实际的license不一致哦

Indeed. npm created ISC by default. Changing it to MIT: 56409993a0e1af1a6269a092ff64f7ae90295b64
Thanks for spotting the issue.


Mysql2::Error: BLOB/TEXT column 'session_hash' used in key specification without a key length...

Hi, I'm using this awesome plugin, but I've encountered a little problem when doing the migration, the mysql2 gem returns:
Mysql2::Error: BLOB/TEXT column 'session_hash' used in key specification without a key length: CREATE  INDEX poly_session_index ON impressions (impressionable_type, impressionable_id, session_hash)
I've found a stackoverflow with an anwser about this error: http://stackoverflow.com/questions/1827063/mysql-error-key-specification-without-a-key-length
I'm already dont know how can I fix this whitout creating other problems when using this plugin. This error was ocurred to anyone else, or just me ?
Thanks in advance.
Ruby 1.9.2p290
Rails 3.1.1
Linux Mint (Ubuntu) 11.10
MySQL2 gem

working on a fix for this right now.  I am changing the column to a string (varchar).  As far as I can tell, Rails will not generate a session id longer than 255 chars.  Should have an update pushed later today.  If you are in a hurry, you can download this file, change it and run the migration manually:
https://github.com/charlotte-ruby/impressionist/blob/master/lib/generators/impressionist/templates/create_impressions_table.rb

v1.0.1 has been pushed to rubygems with a fix for this.  Let me know if it is working now.  You will have to rollback all the migrations that were run with the impressionist install

Awesome dude, this fixed the issue well, good work and thanks for the quickly response.


[HUDI-6683] Added kafka key as part of hudi metadata columns for Json & Avro KafkaSource

Change Logs
This changes add capability to add kafka message key as part of hudi metadata columns for JsonKafkaSource & AvroKafkaSource
For context : https://github.com/apache/hudi/issues/9391
Impact
Describe any public API or user-facing feature change or any performance impact. : NA
Risk level (write none, low medium or high below) : None
If medium or high, explain what verification was done to mitigate the risks.
Documentation Update : None
Describe any necessary documentation update if there is any new feature, config, or user-facing change

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

Contributor's checklist

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

Hi @danny0405 , if all looks good, can we merge this PR ?
Please let me if any other action item.

Hi @danny0405 , if all looks good, can we merge this PR ? Please let me if any other action item.

Have re-triggered the tests.

Hi @danny0405 , if all looks good, can we merge this PR ? Please let me if any other action item.

Have re-triggered the tests.

tests are success for CI @danny0405

Thanks for the nice feedback @hussein-awala , maybe you can fire a separate PR to address it.


Add project Description

As summary in Course las so it doesn't took lot of place from notebook, [user experience]


Support commas in URLs

Currently Claudia will throw an error when commas are put into URLs, but they're allowed characters on some websites (e.g. https://share.here.com/r/52.39952,13.04787,Potsdam/52.51607,13.37699,Berlin)

Cool, thanks


Fix Vector's Bounce Reflect

Fixes Vector 2 and 3 bounce and reflect methods to match gdscript
//C++
Vector3 v = Vector3(0.003606, -0.081427, -0.045547);
Vector3 n = Vector3(0, -1, 0);
Vector3 b = v.bounce(n);
Vector3 r = v.reflect(n);

Vector2 v2 = Vector2(0.003606, -0.081427);
Vector2 n2 = Vector2(0, -1);
Vector2 b2 = v2.bounce(n2);
Vector2 r2 = v2.reflect(n2);

Godot::print("V3Bounce");
Godot::print(b);

Godot::print("V3Reflect");
Godot::print(r);

Godot::print("V2Bounce");
Godot::print(b2);

Godot::print("V2Reflect");
Godot::print(r2);

#GDScript
var v = Vector3(0.003606, -0.081427, -0.045547)
var n = Vector3(0, -1, 0)

var b = v.bounce(n)
var r = v.reflect(n)

print("V3Bounce")
print(b)
print("V3Reflect")
print(r)

var v2 = Vector2(0.003606, -0.081427)
var n2 = Vector2(0, -1)

var b2 = v2.bounce(n2)
var r2 = v2.reflect(n2)

print("V2Bounce")
print(b2)
print("V2Reflect")
print(r2)

will print
c++
V3Bounce
0.003606, 0.081427, -0.045547
V3Reflect
-0.003606, -0.081427, 0.045547
V2Bounce
0.003606, 0.081427
V2Reflect
-0.003606, -0.081427

gdscript
V3Bounce
(0.003606, 0.081427, -0.045547)
V3Reflect
(-0.003606, -0.081427, 0.045547)
V2Bounce
(0.003606, 0.081427)
V2Reflect
(-0.003606, -0.081427)

I used the math fix from
Co-Authored-By: Bruno Campos<EMAIL_ADDRESS>

When you look at the code in the godot core:
https://github.com/godotengine/godot/blob/master/core/math/vector2.cpp#L195
https://github.com/godotengine/godot/blob/master/core/math/vector3.h#L462
You'll see it does calculate the reflect while the bounce is just the negative of that, which is fine.
It looks like the original problem was that the reflect code the vertex's were swapped around.
There is an argument for making sure they are exactly the same to prevent confusion however if I read the code right I think the way you calculate bounce and inverse that for reflect will have the exact same result so should be fine IMHO

I think it would be pertinent to have the computation in the reflect method, and bounce call negative reflect. Not only to be more in line with godot core as pointed out previously, but vector reflection is an established mathematical operation while as far as I can tell "bounce", being the opposite of the reflection, is found only in godot.
I also recommend matching the variable name for the normal vector across the 4 changed functions. I propose either p_vec or p_normal.

I'll create a new pull with the proposed changes

Sorry I am new to both git and c++. I updated it to be closer to godot core and updated names to be the same. I wanted to make it match perfectly to godot core but the statment from godot core doesnt work. It fails with Vector3.hpp(242): error C2677: binary '*': no global operator found which takes type 'const godot::Vector3' (or there is no acceptable conversion)
this works p_normal * 2.f this fails 2.f * p_normal

Long story short it has to do with overloaded operators. I'd recommend leaving it in the order I originally wrote it.
Also may I ask why are you adding a negative at the begging of the return in the reflect function? Not saying you should change it, just asking

It does solve the problem, Im pretty sure travis fails because of my messy commit, I think I just need to squash or rebase my commits?
if we try out the current solution it works, the values from gdscript and c++ match each other.
c++
V3Bounce
0.003606, 0.081427, -0.045547
V3Reflect
-0.003606, -0.081427, 0.045547
V2Bounce
0.003606, 0.081427
V2Reflect
-0.003606, -0.081427

gdscript
V3Bounce
(0.003606, 0.081427, -0.045547)
V3Reflect
(-0.003606, -0.081427, 0.045547)
V2Bounce
(0.003606, 0.081427)
V2Reflect
(-0.003606, -0.081427)

You are right. Seems like a problem with your commits.
Try rebasing the last two into a single one, if it doesn't work try rebasing all three of them

and it still fails, I wonder if it has to do with a missing and extra space

I'm not familiar with clang format, but try removing the float declaration in include/core/Vector3.hpp.
Change:

return -(*this - p_normal  * this->dot(p_normal) * 2.f);

for:

 return -(*this - p_normal  * this->dot(p_normal) * 2.0);

This PR addresses #370 (just commented to make Github see they are linked and show an icon on the issue)

You can make it exactly like Godot by forward-declaring reflect and defining it after operator*. I gave it a try and it works fine.

Looks equivalent to Godot's implementation so I guess that's good to merge.


Consolidate flow json spec

Description
Consolidate json spec following https://github.com/netobserv/network-observability-console-plugin/pull/383
Dependencies

n/a
Checklist
If you are not familiar with our processes or don't know what to answer in the list below, let us know in a comment: the maintainers will take care of that.

[ ] Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix (in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes).
[ ] Does this PR require product documentation?

[ ] If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs.

[ ] Does this PR require a product release notes entry?

[ ] If so, fill in "Release Note Text" in the JIRA.

[ ] Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc.

[ ] If so, make sure it is described in the JIRA ticket.

QE requirements (check 1 from the list):

[ ] Standard QE validation, with pre-merge tests unless stated otherwise.
[ ] Regression tests only (e.g. refactoring with no user-facing change).
[x] No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team).

@skrthomas I fixed the InterfaceDirection xref issue that makes your PR fails https://app.travis-ci.com/github/openshift/openshift-docs/jobs/609884831

/approve


Add spinner docs infrastructure

This pull request introduces documentation infraestructure for spinner. Key changes include the addition of a detailed docs/index.md file, configuration for the MkDocs documentation site, and updates to the pyproject.toml to include necessary dependencies.
Currently, the documentation is hosted using GitHub Pages at Spinner Documentation.
TODO

[ ] Update the documentation color scheme
[ ] Add new documentation pages

@rodrigo-ceccato and @leiteg any suggestions for a color palette for the documentation and the landing pages?


Attempt to establish a new IDBDatabase connection after InvalidStateError

Hi guys :)
First of all, sorry if these codes look a bit rough. The PR is created just to get some feedbacks from you guys on general idea here. If it sounds, then I will iterate on it more and deliver a more complete version.
The PR attempt to solve an issue related to InvalidStateError on Chrome browser. From production logs, we observe that Chrome's IDBDatabase connection isn't always stable throughout the whole web session; sometimes it just got closed for some unidentified reasons.
While there might be an issue with Chrome's indexedDB, I think it is also reasonable for the client (in this case, local forage) to handle abnormal connection state error.
The codes here try to re-establish a new connection when InvalidStateError occur during the db transaction. What do you guys think?

Thanks for this PR. I will try to review during the weekend. In the mean time, could you please try fixing the code styling errors that Travis CI complains about?


Feat functionality

This PR will add code for the functionality of the quiz,
Now users can play the quiz.
In this PR, 255 additions 69 deletions lines of code

some files are only index.js that contains only 5 to 6 lines of code

Please review this PR and give your feedback

Live URL

Code looks subtle and clean .
Suggestion :- Naming for component like OtherPagesLink can be more specific .

Thanks for suggesting this, Abhishek. I will see if I can name it something else.
And also, thanks for reviewing.

Thank you for reviewing.


Gracefully React to Empty Arguments

Right now, when an blank argument is passed, the program does not handle the situation properly. It is best if it aborts the program and tells the reason why to the user.

Finished through this commit


Restrict Access to QA/QC Dashboard: BCeID Users Removed, IDIR Users Only

About the Roadmap Item
This change involves removing access to the QA/QC dashboard for BCeID users and restricting it to internal users with IDIR credentials only. This decision aims to enhance security and ensure that sensitive internal fields and columns within the dashboard are only accessible to authorized personnel.
Additional Context

Context item 1
Context item 2

Hi @Keegnan  is this open for open source developers to contribute too?


cross compile for android on  mac os

the log is
xingzhaolong@xzl:~/third_party/SOURCE/NNPACK$ ndk-build
[x86] Compile++      : convolution-inference-alexnet-test <= alexnet.cc
......

[x86] Compile        : nnpack_test_ukernels <= winograd-f6k3.c
[x86] StaticLibrary  : libnnpack_test_ukernels.a
[x86] Compile        : fourier_reference <= aos.c
In file included from jni/../jni/../src/ref/fft/aos.c:3:
jni/../include/nnpack/complex.h:3:10: error: 'complex.h' file not found with <angled> include; use "quotes" instead
#include <complex.h>
         ^~~~~~~~~~~
         "complex.h"
jni/../jni/../src/ref/fft/aos.c:12:22: error: use of undeclared identifier '_Complex_I'
        float _Complex w0 = CMPLXF(t[0 * t_stride], t[1 * t_stride]);
                            ^
jni/../include/nnpack/complex.h:6:39: note: expanded from macro 'CMPLXF'
        #define CMPLXF(real, imag) ((real) + _Complex_I * (imag))
                                             ^
jni/../jni/../src/ref/fft/aos.c:13:22: error: use of undeclared identifier '_Complex_I'
        float _Complex w1 = CMPLXF(t[2 * t_stride], t[3 * t_stride]);
                            ^
jni/../include/nnpack/complex.h:6:39: note: expanded from macro 'CMPLXF'
        #define CMPLXF(real, imag) ((real) + _Complex_I * (imag))
                                             ^
jni/../jni/../src/ref/fft/aos.c:18:20: warning: implicitly declaring library function 'crealf' with type 'float (_Complex float)'
      [-Wimplicit-function-declaration]
        f[0 * f_stride] = crealf(w0);
                          ^
jni/../jni/../src/ref/fft/aos.c:18:20: note: include the header <complex.h> or explicitly provide a declaration for 'crealf'
jni/../jni/../src/ref/fft/aos.c:19:20: warning: implicitly declaring library function 'cimagf' with type 'float (_Complex float)'
      [-Wimplicit-function-declaration]
        f[1 * f_stride] = cimagf(w0);
                          ^
jni/../jni/../src/ref/fft/aos.c:19:20: note: include the header <complex.h> or explicitly provide a declaration for 'cimagf'
jni/../jni/../src/ref/fft/aos.c:29:22: error: use of undeclared identifier '_Complex_I'
        float _Complex w0 = CMPLXF(t[0 * t_stride], t[1 * t_stride]);
                            ^
jni/../include/nnpack/complex.h:6:39: note: expanded from macro 'CMPLXF'
        #define CMPLXF(real, imag) ((real) + _Complex_I * (imag))
                                             ^
jni/../jni/../src/ref/fft/aos.c:30:22: error: use of undeclared identifier '_Complex_I'
        float _Complex w1 = CMPLXF(t[2 * t_stride], t[3 * t_stride]);
                            ^
jni/../include/nnpack/complex.h:6:39: note: expanded from macro 'CMPLXF'
        #define CMPLXF(real, imag) ((real) + _Complex_I * (imag))
                                             ^
........
                                             ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2 warnings and 20 errors generated.
make: *** [obj/local/x86/objs/fourier_reference/jni/__/src/ref/fft/aos.o] Error 1

I feel that the way Ninja  compiled is not  transparent for me
I meet the same problem in a docker linux env.

I try the cmake method.
Assume the nnpack directory to $NNPACK
step one:
Download the android.toolchain.cmake  to $NNPACK/
step two:
Add the following code on the head of  $NNAPCK/CMakeLists.txt
if(CMAKE_TOOLCHAIN_FILE)
get_filename_component(CMAKE_TOOLCHAIN_FILE_NAME ${CMAKE_TOOLCHAIN_FILE} NAME)
find_file(CMAKE_TOOLCHAIN_FILE ${CMAKE_TOOLCHAIN_FILE_NAME} PATHS ${CMAKE_SOURCE_DIR} NO_DEFAULT_PATH)
message(STATUS "CMAKE_TOOLCHAIN_FILE = ${CMAKE_TOOLCHAIN_FILE}")
endif()

step three:
$ cd $NNPACK
$ mkdir android_build
$ cd android_build
$ cmake .. \
 -DCMAKE_TOOLCHAIN_FILE=../android.toolchain.cmake   \
-DANDROID_ABI="armeabi-v7a with NEON"  \
-DANDROID_NATIVE_API_LEVEL=android-92  \
-DANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-4.9   \
-DANDROID_STL_FORCE_FEATURES=OFF \
-DCMAKE_INSTALL_PREFIX=./install  \

$ make -j `nproc`
$ make install

build armv8:
cmake .. \
 -DCMAKE_TOOLCHAIN_FILE=../android.toolchain.cmake   \
-DANDROID_ABI="arm64-v8a"  \
-DANDROID_NATIVE_API_LEVEL=android-92  \
-DANDROID_TOOLCHAIN_NAME=aarch64-linux-android-4.9   \
-DANDROID_STL_FORCE_FEATURES=OFF \
-DCMAKE_INSTALL_PREFIX=./install  \

but it has the following problem:
Scanning dependencies of target nnpack_reference_layers
[ 11%] Building C object CMakeFiles/nnpack_reference_layers.dir/src/ref/convolution-output.c.o
[ 13%] Building C object CMakeFiles/nnpack_reference_layers.dir/src/ref/convolution-input-gradient.c.o
[ 16%] Building C object CMakeFiles/nnpack_reference_layers.dir/src/ref/convolution-kernel.c.o
[ 18%] Building C object CMakeFiles/nnpack_reference_layers.dir/src/ref/fully-connected-output.c.o
[ 20%] Building C object CMakeFiles/nnpack_reference_layers.dir/src/ref/max-pooling-output.c.o
[ 23%] Building C object CMakeFiles/nnpack_reference_layers.dir/src/ref/softmax-output.c.o
[ 25%] Building C object CMakeFiles/nnpack_reference_layers.dir/src/ref/relu-output.c.o
In file included from /Users/xingzhaolong/third_party/SOURCE/NNPACK/include/nnpack/activations.h:25:0,
                 from /Users/xingzhaolong/third_party/SOURCE/NNPACK/src/ref/relu-output.c:3:
/Users/xingzhaolong/third_party/SOURCE/NNPACK/include/nnpack/arm_neon.h: In function 'vld1q_f32_f16':
/Users/xingzhaolong/third_party/SOURCE/NNPACK/include/nnpack/arm_neon.h:46:4: warning: implicit declaration of function 'vcvt_f32_f16' [-Wimplicit-function-declaration]
    return vcvt_f32_f16((float16x4_t) vld1_u16((const uint16_t*) address));
    ^
/Users/xingzhaolong/third_party/SOURCE/NNPACK/include/nnpack/arm_neon.h:46:25: error: 'float16x4_t' undeclared (first use in this function)
    return vcvt_f32_f16((float16x4_t) vld1_u16((const uint16_t*) address));
                         ^
/Users/xingzhaolong/third_party/SOURCE/NNPACK/include/nnpack/arm_neon.h:46:25: note: each undeclared identifier is reported only once for each function it appears in
/Users/xingzhaolong/third_party/SOURCE/NNPACK/include/nnpack/arm_neon.h:46:38: error: expected ')' before 'vld1_u16'
    return vcvt_f32_f16((float16x4_t) vld1_u16((const uint16_t*) address));
                                      ^
/Users/xingzhaolong/third_party/SOURCE/NNPACK/include/nnpack/arm_neon.h: In function 'vld1q_f32_f16_aligned':
/Users/xingzhaolong/third_party/SOURCE/NNPACK/include/nnpack/arm_neon.h:50:25: error: 'float16x4_t' undeclared (first use in this function)
    return vcvt_f32_f16((float16x4_t)
                         ^
/Users/xingzhaolong/third_party/SOURCE/NNPACK/include/nnpack/arm_neon.h:51:5: error: expected ')' before 'vld1_u16'
     vld1_u16((const uint16_t*) __builtin_assume_aligned(address, sizeof(float16x4_t))));
     ^
/Users/xingzhaolong/third_party/SOURCE/NNPACK/include/nnpack/arm_neon.h: In function 'vst1q_f16_f32':
/Users/xingzhaolong/third_party/SOURCE/NNPACK/include/nnpack/arm_neon.h:55:4: warning: implicit declaration of function 'vcvt_f16_f32' [-Wimplicit-function-declaration]
    vst1_u16((uint16_t*) address, (uint16x4_t) vcvt_f16_f32(vector));
    ^
/Users/xingzhaolong/third_party/SOURCE/NNPACK/include/nnpack/arm_neon.h:55:4: error: can't convert between vector values of different size
/Users/xingzhaolong/third_party/SOURCE/NNPACK/include/nnpack/arm_neon.h: In function 'vst1q_f16_f32_aligned':
/Users/xingzhaolong/third_party/SOURCE/NNPACK/include/nnpack/arm_neon.h:60:5: error: can't convert between vector values of different size
     (uint16x4_t) vcvt_f16_f32(vector));
     ^
make[2]: *** [CMakeFiles/nnpack_reference_layers.dir/src/ref/relu-output.c.o] Error 1
make[1]: *** [CMakeFiles/nnpack_reference_layers.dir/all] Error 2
make: *** [all] Error 2

Which NDK version do you use? Version r15c should work.

It's r14b,  i will try r15c, thanks .

I test the r15c version NDK, the problem still exists.

The aarch64-linux-android-4.9 toolchain doesn't support NEON-FP16 intrinsics. Clang toolchain will work.

Clang toolchain works for me, many thanks


[Blob]ARM migration

azp run python - storage - tests

/azp run python - storage - tests

/azp run python - storage - tests

/azp run python - storage - tests

I'm pretty sure the failed 1 test is just flaky

I'm pretty sure the failed 1 test is just flaky, I clicked rerun and it took 33 min already...

do we know why is it flaky? i.e. is it problem with test code or do we have a bug (race) or there's eventual consistency happening on the service side?

It should be eventual consistency, as the blob_tier_inferred is None, if it happens frequently we can add sleep time to test (put it in doc). For now as the test have passed I will merge the pr.
            blob_ref = blob.get_blob_properties()
            self.assertIsNotNone(blob_ref.blob_tier)
>           self.assertTrue(blob_ref.blob_tier_inferred)
E           AssertionError: None is not true

I'm pretty sure the failed 1 test is just flaky, I clicked rerun and it took 33 min already...

do we know why is it flaky? i.e. is it problem with test code or do we have a bug (race) or there's eventual consistency happening on the service side?

It should be eventual consistency, as the blob_tier_inferred is None, if it happens frequently we can add sleep time to test (put it in doc). For now as the test have passed I will merge the pr.
            blob_ref = blob.get_blob_properties()
            self.assertIsNotNone(blob_ref.blob_tier)
>           self.assertTrue(blob_ref.blob_tier_inferred)
E           AssertionError: None is not true

sleep or better polling with timeout.
good to merge, please create work item to improve that test.


fix: Updating the 'Building Lampray' doc internetisaiah

Since you're currently storing docs using the repo Wiki, feel free to simply copy+paste my edits and dismiss this PR.
Changes

I removed docs from the .gitignore so I could store my file there.
I added docs/building.md which is an update to the existing building doc. This includes:

Adding explicit minimum recommended for each dependency.
Reformatting dependencies into a simple table.
Separating each stem into it's own line for better reading.

Hey @CHollingworth ,
Made some changes here, although I'm not 100% sure how to fix the issues with the PR. The CONTRIBUTING.md doc says to prepend "Fix:" to PR titles, however when I did that, it didn't seem to fix my issue?
Anyways, let me know if you have any questions!

Fix will need to be lower case, ill modify contributing now

Fix will need to be lower case, ill modify contributing now

Great. Checks passed now. ✅

Also, let me know how you feel about migrating the wiki to the docs directory instead. If so, I can download the wiki as a zip and create a quick PR that just moves everything over as is.
I can update the links on the README and CONTRIBUTING.md to point to this new location as well.
This would allow people to submit edits directly to the docs rather than you copy+pasting each time.
Just let me know either way!

I wouldn't mind at all along as its easy to navigate
On Fri, 29 Dec 2023, 22:24 isaiah robinson, @.***>
wrote:

Also, let me know how you feel about migrating the wiki to the docs
directory instead. If so, I can download the wiki as a zip and create a
quick PR that just moves everything over as is.
I can update the links on the README and CONTRIBUTING.md to point to this
new location as well.
This would allow people to submit edits directly to the docs rather than
you copy+pasting each time.
Just let me know either way!
—
Reply to this email directly, view it on GitHub
https://github.com/CHollingworth/Lampray/pull/113#issuecomment-1872370489,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARGLQVJBLPCT72J45OFYWRDYL47IXAVCNFSM6AAAAABBG6V3F6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZSGM3TANBYHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

@CHollingworth , cool. I'll add it to this PR tomorrow (when I have time), then you can review and merge 👍🏽 . I'll tag you when its ready!

Hey @CHollingworth : just a little update. I rewrote all the existing docs and moved them to the new docs directory. Tomorrow I'm going to:

Final grammar/spelling check
Verify all links work
Tweak the README.md to point to the new docs instead of the wiki
(Possibly) create some sub-directories in docs for better organization, but we'll see 🤔

Anyways, once I do that, I'll tag you! But in the meantime, feel free to review my work so far for content accuracy 👍🏽

Hey @CHollingworth ,
Sorry for the delay! Here's the commit with all the changes so you can see what it'll look like for end-users on GitHub:
https://github.com/CHollingworth/Lampray/blob/aedfd3b7a7807cb5bd61965a205cccb00e91e72c/README.md
This is ready for review. Feel free to request changes or merge 👍🏽

I will pop in with some of my thoughts, starting with README.md. I will try to get to other files in additional comments as I go through the files.
README.md

I feel like we should should keep the Running Requirements section on the readme in some form. This is the first page users might see, and they may need to install some of that software (specifically p7zip-full or an equivalent providing a valid 7z.so file). If we remove that from the readme, I expect we would get some people not realizing that they are missing required software.
I think the "Quick Start" section would be confusing for users just trying to run the application, as you mention downloading the latest release, a binary, but also talk about building Lampray from source. I think that section should focus on getting new users up and running, so I think that it should talk about software requirements (ie p7zip), and downloading the latest binary from the latest release section and possibly how to run it.

Building Lampray could be moved to its own section in the readme for people who are looking for guidance there (or just keep a quick blurb to the separate page you made regarding building, ie: "For building Lampray, see [your link]").
It may still be worth mentioning here that .rar files are not currently supported, just to address potential issues of users trying to use .rar mods.

I would think @CHollingworth would want to keep the "Support" section where he had his ko-fi link, but ultimately that is up to him.

Building Lampray (docs/building-lampray.md)
Instead of saying to download the latest release for the code, I would think people building from source would typically want to clone the repo. I think that you should update that text to reflect that, or I suppose we could have both:

Clone this repo:
git clone https://github.com/CHollingworth/Lampray.git
or download the source from the latest release

For building the application, I think it could be worth mentioning the setup.sh and build.sh scripts that are included in the repository. I typically build the project using the build.sh script myself. For example:

Building
You can likely use the included setup.sh script to grab dependencies and then build the application with the build.sh script.
Alternatively, you can build from source by following these directions:
[your directions]

I don't think the 7z stuff is relevant to building, so I would either remove that section, or at least have it link to the relevant spot in docs/customizing-lampray.md. It may also be worth mentioning the potential 7z issue and link to that page as well in the README, as it could be a somewhat common issue/oversight for users.

Customizing Lampray (docs/customizing-lampray.md)
Users do not need to build Lampray from source, as we provide a binary for each release, so you could probably remove that Prerequisites section. I would also suggest removing references to Build in paths on this page, as typical users will not have built Lampray from source, and will not have files in a "Build" directory (instead, they should be looking for their Lamp_Data directory).
I had looked at changing some wording for the 7z stuff as well in #107. I think what you have is good, I would just like to suggest maybe including this text to let users know that they likely don't need to do anything with it:

If your system has 7zip available, Lampray will usually find it and use it automatically.

So it could maybe read something like:

7z is required to use Lampray. Lampray will usually be able find the 7z.so file from your installation automatically, and will use it without your intervention. If your 7z.so utility is located in a non-standard location, you will need to manually set the path to 7z.so in Lampray.
To do this, go to your Lampray path (for example ~/Lampray/Lamp_Data/Config/) and open config.mdf in a text editor.
Find and replace the following line with the path to 7z.so on your system.
<bit7zLibaryLocation>/usr/lib/p7zip/7z.so</bit7zLibaryLocation>

FAQ (docs/frequently-asked-questions.md)
Ideally, we should either list the dependencies again for the "Lamp will not open" section, or link to the page listing dependencies users need to run Lampray
For the "Pressing Deploy does nothing and mods aren't installed" section, you should update the link talking about 7z to the relevant section on docs/customizing-lampray.md.

Lampray Docs (docs/lampray-docs.md)
I think this seems fine for now.
Managing mods (docs/managing-mods.md)
Again, I would remove references to the Build directory.
I think this:

Setting the path to Steam

Should be changed to:

Setting the your game paths

Then, instead of "At the top of the window, select Lampray > Steam Directory", it should probably read something like:

At the top of the window, select the game you want to mod from the "Game Selection" option, then open that top menu again and select the "Game Configuration" option. Set the paths listed on this page to the correct directories. For Baldurs Gate 3, you need to set both the Steam directory and the AppData directory.

Under "Adding mods", we support both .zip and .7zip, so please add .7zip to your note.
We should probably have a section regarding deployments, which should mention that users need to deploy to apply any enabling or disabling of mods (or added to another section if it makes more sense, the point mentioning that you need to deploy after disabling mods to actually remove them):

Deploying
When you have enabled or disabled mods, you will need to go through the deploy process again to apply the changes.

Mod Types (docs/about-lampray/mod-types.md)
What you have in this section applies specifically to Baldurs Gate 3, so that should probably be made clear somehow. Since each game could have its own set of mod types, we may want to change this page to be a general overview of the "mod type" concept, and then link to separate pages for each game we feel the need to mention. For example, we might want to move this Baldurs Gate mod type stuff to something like: docs/about-lampray/mod-types/bg3.md or docs/about-lampray/mod-types-bg3.md (not sure what makes the most sense for this), and have links to each of those files on this page.
For reference, right now Cyberpunk has, effectively, 1 mod type that is automatically selected. In this case, the user does not even need to select the mod type, and mods should install just fine. Right now, if they saw this section, they would likely be a bit confused and be looking for mod types that only show up for BG3

I think this should basically cover all the page and my main thought and issues right now.

Looks great, A few corrections im going to push through as ive noticed a few things that are incorrect for the current versions

Hey @SnazzyPanda ,
Overview
Thanks for the incredibly thorough review! Here are my overall thoughts:

Some of your suggestions should be implemented in this PR because the content/wording is inaccurate (i.e. building from source, cloning, etc.).
The suggestions related to content improvements/additions should be added through other PRs, as the main goal of this PR was to move the current wiki from the wiki location to the docs location and clean up some formatting/grammar.

Strategy
I'm definitely fine with implementing all of your feedback overtime, but to avoid this PR from becoming a giant docs project, I think it would be best to break your suggestions down into smaller/more manageable PRs. Here's what I'm thinking:
This PR

All README suggestions
All Building Lampray suggestions
Replacing references to Build directory (in managing mods and others).

Later PRs

Removing BG3 references from Mod Types
Adding more FAQs

Mod Types in that list are currently BG3 Exclusive, Other games wont have the same types, for example cyberpunk which only has one mod type.

Mod Types in that list are currently BG3 Exclusive, Other games wont have the same types, for example cyberpunk which only has one mod type.

Ok I'll make a quick fix then, to do this instead:
Directory:
docs
- mod-types
- - bg3.d

I think this organization/naming convention will be more scalable if in the future Lampray supports 10+ games each with their own mod types. This will prevent the main directory from getting too busy.
I'll tackle this in a sec 👍🏽

Hey @SnazzyPanda and @CHollingworth ,
Hope you're doing well today! I just pushed a commit with all the requested changes from the reviews.
Let me know if you have any questions or would like further changes 👍🏽

Just a couple minor tweaks. I think you have my main concerns addressed now.
I do think it would probably be good to separate the build dependencies from the run dependencies in the readme, but I am not sure how best to handle that at this time (do we want to try to give package names, install instructions, etc?), so that can likely be handled outside of this PR.

@SnazzyPanda I just pushed a commit with your requested changes. Thanks for leaving the inline comments, that was very helpful!
Please let me know if there's anything else you need from me 👍🏽

Hey @SnazzyPanda and @CHollingworth , just following up here to see if we can get this PR merged today or tomorrow. I'm gonna be out of town for a week or so and would love to get this wrapped up before then.
Let me know if there's anything you need from me!

I'll read through and merge tonight if I can.
On Wed, 17 Jan 2024, 21:08 isaiah robinson, @.***>
wrote:

Hey @SnazzyPanda https://github.com/SnazzyPanda and @CHollingworth
https://github.com/CHollingworth , just following up here to see if we
can get this PR merged today or tomorrow. I'm gonna be out of town for a
week or so and would love to get this wrapped up before then.
Let me know if there's anything you need from me!
—
Reply to this email directly, view it on GitHub
https://github.com/CHollingworth/Lampray/pull/113#issuecomment-1896712349,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARGLQVKMPIEZQQ3LV6SMYCTYPA4WNAVCNFSM6AAAAABBG6V3F6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJWG4YTEMZUHE
.
You are receiving this because you were mentioned.Message ID:
@.***>


Add intial kuttl deployment verification test

Change-Id: Icd00398b35a420b20ad40e4284177b06445e6391

/lgtm
Let's merge this and iterate with follow ups.


schema based slate plugins and more...

Goal was to provide schema-based forms for slate-plugins and to unify the plugin system even more, but i stumbled upon some troubles with material-ui etc. so i ended up refactoring and upgrading more than i wanted... so i am very sorry for the big Pull request and then non-atomic commits... But we have now some neat features:
feat the slate plugin itself now takes a customize function instead of an array of plugins. This makes it easier to customize it, but it's a BREAKING CHANGE:
Before: slate([plugin1, plugin2, plugin3])
After: slate(def => ({...def, plugins: [plugin1, plugin2, plugin3]})
feat: slate-plugin factories now take a schema, same as plugins made with
@react-page/create-plugin-materialui
The can render a custom form based on a jsonSchema.
The default link plugin now uses such a factory:
import createComponentPlugin from '../../pluginFactories/createComponentPlugin';
import React from 'react';
import { lazyLoad } from '@react-page/core';
const LinkIcon = lazyLoad(() => import('@material-ui/icons/Link'));

export type LinkData = {
  href: string;
  openInNewWindow?: boolean;
};

export default createComponentPlugin<LinkData>({
  type: 'LINK/LINK',
  object: 'inline',
  icon: <LinkIcon />,
  addHoverButton: true,
  addToolbarButton: true,
  schema: {
    type: 'object',
    required: ['href'],
    properties: {
      href: {
        type: 'string',
      },
      openInNewWindow: {
        type: 'boolean',
      },
    },
  },
  deserialize: {
    tagName: 'a',
    getData: el => ({
      href: el.getAttribute('href') || '',
      openInNewWindow: el.getAttribute('target') === '_blank',
    }),
  },
  Component: ({ children, data }) => {
    return (
      <a
        target={data.get('openInNewWindow') ? '_blank' : undefined}
        href={data.get('href')}
      >
        {children}
      </a>
    );
  },
});

very neat, isn't it? You want to allow your editor to add custom page links that store a pageId instead of a href? no problem now!
feat: slate plugin with controls (e.g. the link above) now allows to update the data (e.g. the href) and can be removed in the dialog
feat: @react-page/create-plugin-materialui functions are now more
similar to slate plugin factories, so they also return a function that
takes a customize function. this is a BREAKING CHANGE if you used that feature.
feat: plugin controls now render in white instead of black. That's actually a workaround, because the ThemeProvider from material-ui behaved very funky with the dark theme... The common slate-buttons are still black, though. Personally, i think white is better in this case. Also the left toolbar with all plugins is also bright and not dark.
feat: @react-page/ui now exports a default ui with Toolbar, Trash and DisplayMode-Buttons, to make it easier to setup. The motivation was to reduce the amount of Providers because i thought that they would mess with material-ui
BREAKING CHANGE:  <Trash />, <DisplayModeToggle /> and <Toolbar />  are no longer wrapped in a <Provider />. Use the new default export instead:
Before:
import { Trash, DisplayModeToggle, Toolbar } from '@react-page/ui';
// ...
<div>
    <Trash editor={editor} />
    <DisplayModeToggle editor={editor} />
    <Toolbar editor={editor} />
</div>,

new:
import EditorUi from '@react-page/ui';
// ...
  <EditorUi editor={editor} />

if you still want to have these elements separated, you can wrap them manually with a provider:
import { Provider, Trash, DisplayModeToggle, Toolbar } from '@react-page/ui';
// ...
<Provider editor={editor}>
    <Trash />
    <DisplayModeToggle />
    <Toolbar />
</Provider>,

internally, these components use the contextApi with a hook to get the editor. This might become handy in future iterations.
feat: redux has been upgraded to latest version
feat: material-ui has been updated to 4.3.3 and its now only defined in @react-page/ui and others use it as peer dependency if they depend on @react-page/ui
fix: broken in firefox because of https://github.com/ianstormtaylor/slate/issues/2978
fix: preventing blur now works through portals. This is handy if your slate plugins contain a portal (e.g. material-ui select-field uses a portal)
chore: fix some cross imports from libs
chore: fix some typescript compiler problems
chore: example has been updated to include a custom slate plugins
chore: typescript has been upgraded to 3.5.1. I had some funky problems with it, but it should now work more stable...

@fernandobandeira I know it sucks to review a pr like this, but can you give it a try? i will make better PRs in the future, but i got carried away by this one ;-)
it seems to work properly and i will test it more.
Also mind the smaller breaking changes, which should be documented. Also the documentation is updated (minus the api docs)

by the way, something is wrong with the push. It pushes properly, but it says it failed... that's why the failing check

Cool, I'll review it today, np about the size of the PR this happens in other communities frequently too I think this'll be a great addition to the library, I'll check why it's failing and commit a fix if it's needed. 👍

Cool, I'll review it today, np about the size of the PR this happens in other communities frequently too I think this'll be a great addition to the library, I'll check why it's failing and commit a fix if it's needed. 👍

i tagged the branch with a prerelease, so that we can try it out more easily. This does a push to npm, which works, but it shows in travis as failed and this updates also the travis-ci/push check here to beeing failed...


New Request : "Connect As"  Shortcut

System information:

Operating system (distribution) and version
DBeaver version
Java version
Additional extensions

Connection specification:

Database name and version
Driver name
Do you use tunnels or proxies (SSH, SOCKS, etc)?

Describe the problem you're observing:
I used to switch between users for a connection. It would be helpful if we have some shortcut/menu option to quickly change connection to new user
Steps to reproduce, if exist:
Right now the only option is hardcoded user and password in connection dialog.
Include any warning/errors/backtraces from the logs

It's possible using DBeaver profiles feature (available in DBeaver PRO) https://github.com/dbeaver/dbeaver/wiki/Authentication-DBeaver-profile


Question: How to Access Flask Server

Hey, first of all the app is amazing. I want to access only the flask server and call it through 'requests'. However, while digging in code, there are too many CONFIGS which I don't know about. I would be grateful to know how can I call it with requests through JS/python. Like what are the data I need to provide in the FORM while POSTING request.

There is already an API here, you can check the meaning of arg in Config at here


fix: Ability to modify request headers

fix #266

Hi @amannn, while I was adding test case I realised that the previous solution was not good enough as it implicitly set request headers, even in cases when it's not necessary. But the current implementation also looks not clean enough for me. I would like to hear you opinion.
P.s. Also I realised how long ago I wrote tests 😁

Looks great, thanks!
I've rebased your PR and fixed a lint issue. If tests pass, I'll merge this and I'll also publish a new RSC release rebased on top of this.

Thank you, it was a pleasure to contribute and communicate with you!

Thanks, the pleasure's all mine! 🙂
Here's the new RSC version (I think that's what you needed originally): 2.15.0-beta.3


pip-audit: 2.4.11 -> 2.4.12

Diff: https://github.com/trailofbits/pip-audit/compare/refs/tags/v2.4.11...v2.4.12
Changelog: https://github.com/pypa/pip-audit/releases/tag/v2.4.12
Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

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

1 package built:

pip-audit


[Event Request] Codeunit 8800 - OnAfterProcessReport

New event in codeunit 8800 Custom Layout Reporting, OnAfterProcessReport, no parameters needed, placed after CleanupTempFiles and before Output check in the ProcessReport function
procedure ProcessReport()

        CleanupTempFiles;
        //<< New
        OnAfterProcessReport();
        //>> New
        if not (SupressOutput or AnyOutputExists) then
            LogSimpleError(NoOutputErr);

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Add UT for ReadLineKEqualToV

Signed-off-by: jichenjc<EMAIL_ADDRESS>

clusterrole.rbac.authorization.k8s.io/kepler-clusterrole created
clusterrolebinding.rbac.authorization.k8s.io/kepler-clusterrole-binding created
serviceaccount/kepler-sa created
daemonset.apps/kepler-exporter created
service/kepler-exporter created
servicemonitor.monitoring.coreos.com/kepler-exporter created
clusterrole.rbac.authorization.k8s.io/prometheus-k8s created
role.rbac.authorization.k8s.io/prometheus-k8s created
rolebinding.rbac.authorization.k8s.io/prometheus-k8s created
+ kubectl rollout status daemonset kepler-exporter -n kepler --timeout 60s
Waiting for daemon set "kepler-exporter" rollout to finish: 0 of 1 updated pods are available...
error: timed out waiting for the condition
make: *** [Makefile:173: cluster-sync] Error 1

@SamYuan1990 @rootfs I saw some PR saying integration test flaky, seems I encounter this again
do we have any logs for the CI ? e.g the container status , container logs etc?

I don't think we're saving the logs right now, but we can get the logs and pod description if it fails and dump to stdot....
Although I'm not sure what the problem is, it could be timeout related
But before increasing the timeout we need to dump the logs when it fails for checking the root cause

clusterrole.rbac.authorization.k8s.io/kepler-clusterrole created
clusterrolebinding.rbac.authorization.k8s.io/kepler-clusterrole-binding created
serviceaccount/kepler-sa created
daemonset.apps/kepler-exporter created
service/kepler-exporter created
servicemonitor.monitoring.coreos.com/kepler-exporter created
clusterrole.rbac.authorization.k8s.io/prometheus-k8s created
role.rbac.authorization.k8s.io/prometheus-k8s created
rolebinding.rbac.authorization.k8s.io/prometheus-k8s created
+ kubectl rollout status daemonset kepler-exporter -n kepler --timeout 60s
Waiting for daemon set "kepler-exporter" rollout to finish: 0 of 1 updated pods are available...
error: timed out waiting for the condition
make: *** [Makefile:173: cluster-sync] Error 1

@SamYuan1990 @rootfs I saw some PR saying integration test flaky, seems I encounter this again do we have any logs for the CI ? e.g the container status , container logs etc?

github action has a debug mode, but I don't think the debug mode will logging k8s resources.
ref to
https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging
I suppose even if a step breaks in the middle will not allow us to download a middle file?

I suppose even if a step breaks in the middle will not allow us to download a middle file?

I think describe pod and logs pod should give at least some clue on what's going on here
if it's still working , then increase the timeout otherwise fix potential issue


Set variables in pipeline for use later [Open]

How can I assign a value to a variable in a task for use in another task?
I have a variable called vmPassword, I am generating a random password in the powershell task. I want to assign the value to this build variable for use in the following task to pass as a parameter to Azure resource manager deployment.

you can use the task.setvariable command
i would recommend setting it as a secret variable and then pass into the downstream task via a task input field using macro syntax, e.g. $(vmPassword)
it's on the backlog to add the commands into the main documentation on visualstudio.com. i'll ping appropriate folks offline to +1 that work.
please reopen if that doesn't solve your issue.

Doesn't seem to be working I am afriad.

Created a testvar in the variables section and assigned a value 'blah blah'
Added a commandline task that echos the value of $(testvar)
Added a powershell task that overwrites this value...

##vso[task.setvariable variable=testvar;]testvalue

Added a commandline task that echos the value of $(testvar)

Expected - The value of $(testvar) in step 4 should be printed as 'testval'
Actual - The value of $(testvar) in step 4 is printed as 'blah blah'
The powershell below, does not update the tesvar value to testvalue.
##vso[task.setvariable variable=testvar;]testvalue
Am i doing something wrong?

@ericsciple I don't have permissions to open the issue again, so tagging you directly here for notification.

@tarunaroraonline You need to call write-host or wrap in quotes to get the value to flow over STDOUT. # starts a comment in powershell. See the powershell-script-specific example near the top of the doc.

@ericsciple sorry i overlooked that. That indeed fixed the issue i had. I am able to update the value. +1 to provide an easier way for doing this from the UI.

@ericsciple I am also trying to do the same.
I am creating a variable in the azure pipeline and setting its value to 123.
Now what I want, I want to change its value from PowerShell.
Write-Host "##vso[task.setvariable variable=testvar]Abhinav"
Write-Host "No problem reading $(testvar)"
Instead of printing Abhinav it always prints 123.
My simple ask is how can I change the value of testvar from PowerShell?
Thanks in advance.

I'm here for the same reason as the comment above. How can I update a pipeline variable?
Essentially, I don't want to kick off my build if $(variable) hasn't changed since the last time it was run. I have a script at the very beginning of my pipeline that generates a hash; if $(compare.md5) matches, exit 1 to halt the job....if it doesn't match, update the pipeline variable and continue to next step.

we can change this pipeline variable through the REST API.
https://docs.microsoft.com/en-us/rest/api/azure/devops/release/definitions/update?view=azure-devops-rest-5.0
Please use above link to update the variable.

Thanks for the pointer, it seems only work within the same agent. When I try to prompt from the another agent within the same stage, the original value set under pipeline variable will be shown

you should potentially change the value at the end of a pipeline when youre sure it was successful

Try Write-Host "##vso[task.setvariable testvar=Abhinav]"


[feat] Update ltc_scrypt python module

Feature Request
Describe the Feature Request
The python script used for test is required a old python scrypt module. This modules doesn't look compatible with python3 (unless I am doing it wrong).
Describe Preferred Solution
Replace it by a python3 module like litecoin_scrypt (https://pypi.org/project/litecoin_scrypt/).
It is basically the same code but updated for python3. It keeps the same function name too.
Related Code
See
https://github.com/dogecoin/dogecoin/blob/master/qa/rpc-tests/test_framework/scrypt_auxpow.py#L16
I have been using some of the code for test purpose and replaced it by this python3 compatible scrypt lib. It worked great for me.
https://github.com/rllola/dogecoin-miner-rust/blob/feature/support-merge-mining/script/scrypt_auxpow.py
Additional Context
Python2 has been deprecated and it can be a bit of a headache if we need to install it in order to have this lib working. Updating it would make it a little bit easier for testing.
Those python tests are also a great starting point for dev who need to generate working outputs for debugging or testing. Being able to run it with the minimum amount of frustration is nice.

It works for me with python3, do you run qa/pull-tester/install-deps.sh? or try to use package manager?

I tried using pip install ltc_scrypt
This is the error message:
Collecting ltc_scrypt
  Using cached ltc_scrypt-1.0.tar.gz (7.0 kB)
Building wheels for collected packages: ltc-scrypt
  Building wheel for ltc-scrypt (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ikgg4ici/ltc-scrypt/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ikgg4ici/ltc-scrypt/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-_skm1yu1
       cwd: /tmp/pip-install-ikgg4ici/ltc-scrypt/
  Complete output (29 lines):
  running bdist_wheel
  running build
  running build_ext
  building 'ltc_scrypt' extension
  creating build
  creating build/temp.linux-x86_64-3.8
  x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I./ltc_scrypt -I/usr/include/python3.8 -c ./scryptmodule.c -o build/temp.linux-x86_64-3.8/./scryptmodule.o
  ./scryptmodule.c: In function ‘scrypt_getpowhash’:
  ./scryptmodule.c:9:5: error: unknown type name ‘PyStringObject’; did you mean ‘PySliceObject’?
      9 |     PyStringObject *input;
        |     ^~~~~~~~~~~~~~
        |     PySliceObject
  ./scryptmodule.c:15:5: warning: implicit declaration of function ‘scrypt_1024_1_1_256’ [-Wimplicit-function-declaration]
     15 |     scrypt_1024_1_1_256((char *)PyString_AsString((PyObject*) input), output);
        |     ^~~~~~~~~~~~~~~~~~~
  ./scryptmodule.c:15:33: warning: implicit declaration of function ‘PyString_AsString’ [-Wimplicit-function-declaration]
     15 |     scrypt_1024_1_1_256((char *)PyString_AsString((PyObject*) input), output);
        |                                 ^~~~~~~~~~~~~~~~~
  ./scryptmodule.c:15:25: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     15 |     scrypt_1024_1_1_256((char *)PyString_AsString((PyObject*) input), output);
        |                         ^
  ./scryptmodule.c: In function ‘initltc_scrypt’:
  ./scryptmodule.c:28:12: warning: implicit declaration of function ‘Py_InitModule’ [-Wimplicit-function-declaration]
     28 |     (void) Py_InitModule("ltc_scrypt", ScryptMethods);
        |            ^~~~~~~~~~~~~
  ./scryptmodule.c:29:1: warning: control reaches end of non-void function [-Wreturn-type]
     29 | }
        | ^
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for ltc-scrypt

Ah yes, please use the provided script. It compiles from source.

I am really confused now...
I don't understand why I can install litecoin_scrypt using pip install but for ltc_scrypt it only works by doing python3 setup.py install.
The two libraries are the same except for the binding.

The install script installs a verified source (by us), pip does not. We can change sources in a next release to also support the pip version and switch to a verified tag in whatever the source for the published litecoin_scrypt module is. That will solve your problem. For now though, the way to use the regression test suite is by running the supplied dependency install script. That's also what the CI does.
Is targeting this for 1.14.6 ok with you?

Ok I just understand what is the difference.
The one published here : https://github.com/langerhans/ltc-scrypt/archive/master.tar.gz
is the same as litecoin_scrypt but with the old module name ltc_scrypt.
I though you were running the test using python2 because I was looking for the package in pip. You are not tho.

Is targeting this for 1.14.6 ok with you?
That sounds good. It is really low priority tho. So you can even close this.

Let's just fix it - it has been a source of confusion for forever...

@rllola @patricklodder FYI, litecoin_scrypt from pip doesn't provide the same results for getPoWHash as ltc_scrypt

https://github.com/langerhans/ltc-scrypt/pull/1

@langerhans There's still a chance we could get this into 1.14.6, but we might have to reschedule it for 1.14.7. That's not a bad thing; the dep-installer script works just fine now.

Rescheduled for 1.14.7

This is becoming more urgent - the dependency no longer compiles with Python 3.10 that is shipped with Ubuntu 22.04 due to this error:
SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats

With #3080 merged, can we close this issue?

With #3080 merged, can we close this issue?

sgtm


Updating class category system

This makes a bunch of changes to the class category systems, such as allowing channel resets, class joins/leaves, and category deletions from the command interface. The current version all works based on autofinding, although I did add a config entry so we could store channel IDs/names in config.toml (although the autofinding works fine, and I think we might want to wait on the database to do it without autofinding).

You should probably run cargo fmt btw