Document link with bug report?

From #471, There were many issues that came out of that test task. Many of them were on different PhET-iO wrappers. And sometimes (like for record/playback) they are the same wrapper but different link) I think for me it would helpful if the bug report can include the exact link used to produce the bug.
@KatieWoe what do you think about that? Is that alright? Something for the QA book?

Ok, but to clarify, if the issue is made in the sim's repo, is it ok to put those links in a public repo?

@zepumph, @KatieWoe, QA used to put links in the test matrix next to the test that failed. We could do that again for tests where issues are specific to certain links.

General wording in the above commit @zepumph

Ok, but to clarify, if the issue is made in the sim's repo, is it ok to put those links in a public repo?

That is a good point! If they are password protected, then maybe it ok? Let's double check with @samreid, but I think that in general these issues are often in phet-io/studio/phet-io-wrappers anyways.
@samreid do you think we should keep phet-io links (even when password protected) out of public issues?

In my opinion, it is OK to put password protected phet-io links in public issues.  However, we would need to be careful that those links aren't made (temporarily) public for client studies.  You may wish to double check with @kathy-phet about this policy.

I added it to the agenda Thursday.

from 02/06/20 phet-io meeting:
@kathy-phet is fine with password protected links in public issues.

@KatieWoe over to you for review. Does that sound good with you? Should this be updated in the QA book at all?

test comment
wanda

second test


Generate JWT workflow function

JWT generate handler with:

payload
headers
scope
cert

Also added UNIX strftime support to gval functions

Codecov Report

Merging #304 (898ffc8) into 2021.9.x (b441d86) will decrease coverage by 0.01%.
The diff coverage is 49.77%.

@@             Coverage Diff              @@
##           2021.9.x     #304      +/-   ##
============================================
- Coverage     43.22%   43.21%   -0.02%
============================================
  Files           776      781       +5
  Lines         70646    71564     +918
============================================
+ Hits          30539    30928     +389
- Misses        35877    36349     +472
- Partials       4230     4287      +57

Impacted Files
Coverage Δ

compose/rest/namespace.go
44.93% <0.00%> (ø)

compose/rest/page.go
61.94% <0.00%> (-0.56%)
:arrow_down:

compose/rest/record.go
70.00% <0.00%> (ø)

compose/service/values/validator.go
63.29% <0.00%> (ø)

pkg/codegen/afunc.go
0.00% <0.00%> (ø)

pkg/envoy/resource/resource_translation.go
80.95% <0.00%> (-8.53%)
:arrow_down:

system/service/settings.go
55.83% <0.00%> (-9.43%)
:arrow_down:

system/service/user_actions.gen.go
51.45% <0.00%> (ø)

system/types/auth_client.go
55.17% <ø> (+10.72%)
:arrow_up:

system/types/app_settings.go
53.52% <9.09%> (-0.77%)
:arrow_down:

... and 43 more

Continue to review full report at Codecov.

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


Authenticate requesting a certificate in "ng serve"

How to use config "requestCert" on Angular 13 running "ng serve" ?
Example in AngularJS:
var https = require('https');
https.createServer({
livereload: true,
key: fs.readFileSync(PATH_TO_KEY),
cert: fs.readFileSync(PATH_TO_CERT),
ca: fs.readFileSync(PATH_TO_CA),
requestCert: true,
rejectUnauthorized: true
}, app).listen(port);
On https://github.com/webpack/webpack-dev-server
--https-request-cert                      Request for an SSL certificate. Deprecated, use the server.options.requestCert option.
Maybe fix in https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/build_angular/src/webpack/configs/dev-server.ts L128 getServerConfig ?

Hi @marcelo1sampaio,
2-way PKI authentication is not supported. The dev-server is intended to be used for development purposes only.
Can you please elaborate what is your use-case for using 2-way PKI authentication during development?

Hi @alan-agius4,
Our development team uses PKI to authenticate even in the development environment. We already use this way in AngularJS. Now we are migrating to Angular13.
Maybe adding these options (ca and requestCert) will solve it.
Or do you know if we can configure another builder?
"serve": {
"builder": "@angular-devkit/build-angular:dev-server"
Tks


Fixes active cancellation for pending want requests

This PR fixes the active cancellation of pending want requests by adding the actual want list sends with the cancel flag set to true as part of block delivery, with accompanying tests.

I believe I have addressed your comments, @dryajov. I also attempted to pull cancellations as a separate primitive in BlockExcNetwork, though I think a bigger refactor is needed, perhaps hiding the cancel option from clients completely so that sendWantLists always maps into cancel = true, and sendWantCancellations always map to cancel = false.

OK, I've either performed the changes or attempted to justify why I didn't. Ready for the next round.


Unhelpful error types

As an example, when opening a Repository if the host cannot be found we get only a ListingRepositoryConfigFileFailed with no indication as to why this happened.
It would be nice if this type included information about the upstream errors that caused this (in this case probably opendal::Error at least).

I agree, the whole error handling situation is a bit cumbersome at this point and a rework is needed with the above-mentioned improvements. 👍🏽

We reworked and improved the RusticError API in https://github.com/rustic-rs/rustic_core/releases/tag/rustic_core-v0.6.0
In case there are still problems, feel free to reopen.


Add checker for MISRA C++:2008 rule 6-4-4

Hi,
It's first time I'm writing code with AST. I'm not confortable with addMatcher. It looks very powerfull but for now, I'm browsing manually the tree.
If you have any suggestion…

The cosmetic stuff looks good! Gonna have a more close look within the next few days.
Thanks!

Having trouble building the current version of LLVM - checking of the PR might take a little while longer.


Publish Library

Ciao!
First of all, this is a fantastic library, thank you for creating it!
I have a concern with the packaging though. As a user, I have had to download your git repo,   gradle build fancyaccodionview.aar and add it to my project like:
// project build.gradle
allprojects {
    repositories {
        flatDir {
            dirs 'src/main/libs'
        }
    }
}

// app build.gradle
dependencies {
    compile(name:'fancyaccordionview', ext:'aar')
}

But this is tedious. Most libraries choose to distribute their code using something like JitPack so user's can add your library simply by adding:
// app build.gradle
dependencies {
    implementation "com.android.support:multidex:1.0.3"
}

Are there any plans to publish this library publicly?

+1

published, thank you for your support


fix to work with recent pyvicare

Thanks for your contribution.
I did a broader "update stuff" PR with #5 which I'd hope should fix your issues.

thanks for your work
my main issue is the states, which are required to work with my gas boiler
i have pushed another PR
thanks again
Giulio


Default ABI version doesn't match SIP ones

PyQt-builder default abi versions doesn't match SIP ones 12 13

These have been updated but it doesn't actually matter if they are not set to the latest versions. If a project needs a specific minimum version then they should explicitly set it their pyproject.toml.

In fact the specification of any minor number is confusing, somewhat arbitrary and unnecessary. It should be left to SIP to decide on a default minor number - PyQt-builder only needs to provide a default major number (ie. 12 or 13).

See issue #28 for a better description and resolution of the problem.


Will it be more bedrock features?

Describe the idea
Making tipped arrows in the cauldron is awesome. And it could be better to see more bedrock features in JE, making it an equivalent to Bedrockify (Fabric)
Describe how you think this feature would fit in vanilla

Riptide deals range attack
Impaling deals more damage to any mobs in water
Trees with vines / fallen tree
Standing on a chest to prevent it from being opened
Frozen leaves in Snow Plains, etc.
Pistons can push chests, hoppers, etc.
Break cactus by placing a sign
Sugar Cane is able to be bonemealed
Fish drops bone
Map variant without compass
3D buoy for fishing rod
Potion of Decay
Infighting within illagers
Swimming motions of Drowned
Snow can fall like sand
Wither explodes on death
Blue wither skull can be deflected
Random potion in cauldron found in Witch Huts
HUD animation for Bad Omen / Hero of the Village
Persistant coordinate on HUD and its gamerule
PVP gamerule
Quick command button
BE-style UI with close button
Maybe some tweaks for better touchscreen controls? (in combination with boat-based android launchers) (or even launchers designed for PCs with touchscreens, if any)

I don't make this mod to port bedrock to java. I make this mod to add features I think belong in the game. Most of the features you suggested sound like things I have no interest in adding (and quite a few seem like random visual changes that are not even worth changing should I be interested). I'll look over the list again later though


Revert #873

This reverts commit c745ce3e18f05d80d1ce9b1e824f085906ae8ba7.
Logging did not work correctly after that commit.

CI gfxreconstruct build # 2252 running.


[PORT] Add 'ephemeral' as the list of options for Delivery Mode

Port this change from botbuilder-dotnet/master branch:
https://github.com/microsoft/botbuilder-dotnet/pull/3502

We are adding a new option for DeliveryMode on the Activity. This property is a string, and the code comment lists all of the possible values. I have updated the code comment to list the new value of 'ephemeral'.
Changed projects

Microsoft.Bot.Schema

Fixed via https://github.com/microsoft/botbuilder-js/pull/1856


i need help on this ive not been able to push into heroku

heroku keys:add
!    Heroku client internal error.
!    Search for help at: https://help.heroku.com
!    Or report a bug at: https://github.com/heroku/her
Error:       no implicit conversion of Fixnum into
Command:     heroku keys:add
Version:     heroku/toolbelt/3.43.2 (i386-mingw32)
Error ID:    2a0edd63559e4338b63ea67235c262a7

More information in C:/Users/USER/.heroku/error.log

@adesinaadewale What is the value of LOCALAPPDATA?  Feel free to mask the username if you do not feel comfortable sharing it.

THANKS RANSOMBRIGGS, it worked


String validator names may no longer have dashes

Laravel Version: 8.64.0
PHP Version: 8.0.10
Database Driver & Version: sqlite 3.36.0

Description:
Bug introduced in Validator::extend and Validator::replacer where the validator rule can no longer have a hyphen "-"
Here is working tested example that broke after composer update:
App Service Provider:
Validator::extend('mb-health', 'App\\Rules\MbHealth@passes');
Validator::replacer('mb-health', 'App\\Rules\MbHealth@message');

Livewire form rule:
'form.mbhealth'             => 'required|mb-health',
Now throws
BadMethodCallException
Method Illuminate\Validation\Validator::validateMbHealth does not exist.

To Make work now, all thats required is the following:
Validator::extend('mb_health', 'App\\Rules\MbHealth@passes');
Validator::replacer('mb_health', 'App\\Rules\MbHealth@message');

Livewire form rule:
'form.mbhealth'             => 'required|mb_health',
It appears now that there is some processing somewhere modifying the text validation strings and parsing them instead of just just matching keys to determine the validation rule. If this is the new intended behavior a note in the docs would be great.
Caught me by surprise.
Have a super day!

Hey there,
Can you first please try one of the support channels below? If you can actually identify this as a bug, feel free to open up a new issue with a link to the original one and we'll gladly help you out.

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

Thanks!


youtube-dl works when installed by Brew but not pipx

same version of youtube-dl across both
❌ doesn't work with pipx
$ youtube-dl --extract-audio --audio-format mp3 --audio-quality 0 https://www.youtube.com/watch?v=FFZj_Srj4eU

[youtube] FFZj_Srj4eU: Downloading webpage
ERROR: Unable to download webpage: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)> (caused by URLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)'),))

$ pipx list
venvs are in /Users/zach/.local/pipx/venvs
apps are exposed on your $PATH at /Users/zach/.local/bin
   package youtube-dl 2019.9.28, Python 3.6.1
    - youtube-dl

$ pipx uninstall youtube-dl
uninstalled youtube-dl! ✨ 🌟 ✨

✅ does work with brew
$ brew install youtube-dl
==> Summary
🍺  /usr/local/Cellar/youtube-dl/2019.09.28: 12 files, 2.1MB, built in 4 seconds

$ source $HOME/.bash_profile
 updating ~/.bash_profile at: Wed Oct  2 17:29:47 EDT 2019

$ youtube-dl --extract-audio --audio-format mp3 --audio-quality 0 https://www.youtube.com/watch?v=FFZj_Srj4eU
[youtube] FFZj_Srj4eU: Downloading webpage
[youtube] FFZj_Srj4eU: Downloading video info webpage
[download] Destination: The Clipse- Mr. Me Too-FFZj_Srj4eU.webm
[download] 100% of 3.44MiB in 00:01
[ffmpeg] Destination: The Clipse- Mr. Me Too-FFZj_Srj4eU.mp3
Deleting original file The Clipse- Mr. Me Too-FFZj_Srj4eU.webm (pass -k to keep)

I just tested this and it worked fine for me. That looks like an issue with youtube-dl and the libraries it uses. Try searching the web for that error. Here are a couple places to start
https://stackoverflow.com/questions/41691327/ssl-sslerror-ssl-certificate-verify-failed-certificate-verify-failed-ssl-c
https://github.com/ytdl-org/youtube-dl/search?q=urlopen+error+[SSL%3A+CERTIFICATE_VERIFY_FAILED]+certificate+verify+failed+(_ssl.c%3A749)>+(caused+by+URLError(SSLError(1%2C+'[SSL%3A+CERTIFICATE_VERIFY_FAILED]+certificate+verify+failed&type=Issues
https://stackoverflow.com/questions/46604114/python-requests-ssl-error-certificate-verify-failed

Totally agree with you that it's a youtube-dl thing.
The nut I couldn't crack was: how could the same version of youtube-dl exhibit disparate CLI behavior between brew and pipx?
btw pipx has been awesome to use so far, keep up the good work!

btw pipx has been awesome to use so far, keep up the good work!

Thanks, good to hear! 😄

The nut I couldn't crack was: how could the same version of youtube-dl exhibit disparate CLI behavior between brew and pipx?

My guess is they are using different python/site-packages. How does brew bundle and install youtuble-dl? It is likely not using the same interpreter that pipx is using.

My guess is they are using different python/site-packages. How does brew bundle and install youtuble-dl? It is likely not using the same Python interpreter being used to run pipx.

Good point. Time for some detective work. Not sure how soon I'll get to it though, so feel free to close this if you think it makes sense.

I am pretty sure this is something not directly related to pipx since I was able to run it on my mac, so I will close. Feel free to reopen if you find otherwise.

I just got the same error. it's got something to do with the ssl certs that come with a python install. this stackoverflow links to a package which helps some people by installing extra certs, but it didn't work for me: https://github.com/ytdl-org/youtube-dl/issues/4816.
maybe this helps too https://stackoverflow.com/questions/39356413/how-to-add-a-custom-ca-root-certificate-to-the-ca-store-used-by-pip-in-windows.
re-opening the issue just on a hunch, feel free to close if you still feel this can't be fixed in pipx itself

well nevermind I can't open it myself, that's not how github works. please do consider taking another look though


Externalize version number into a property

Externalize version number into a property

Not a fan of this approach, makes the pom look unusual with a property for the version, might cause problems downstream. There are more standard ways for changing the version on releases like - http://maven.apache.org/maven-release/maven-release-plugin/examples/update-versions.html

The release version references that are used in other places should be externalized so they can be generated by the build

Closing. Will switch all versioning to be driven from the Concourse semver resource.


what's the difference between Regressor and HMR?

what's the difference between Regressor and HMR?
they seems output same thing.

Basically the two network architectures are the same, but I used two separate classes for separate purposes.
The HMR is the one used for extracting static image features with the pretrained model weights. (only using the backbone)
The Regressor is used for training TCMR.
Actually the codes are little bit modified from VIBE, so you can check their codes too:)


Add prefixes for library ids

[x] I have verified there are no duplicate active or recent bugs, questions, or requests

[x] I have verified that I am using the latest version of Material Dialogs.

[x] I have given my issue a non-generic title.

[x] I have read over the documentation (before asking questions on how to do something).

Material Dialogs version: <IP_ADDRESS>

Hi! First of all thank you for this great library, I'm really enjoy using it, but today I had 2 hours trying to find out why my dialogs content not showing in my new project. It turns out thats because R.id.content id defined both in my project and in your library. Project resources have priority over library resources, so when dilog tries to find content TextView, nothing found and no content shown as result. I'll suggest you to either to use default android ids (android.R.id.content), or to use prefix for your ids (R.id.md_content) to prevent such problems on others.

https://github.com/afollestad/material-dialogs/releases/tag/<IP_ADDRESS>

Great job, thank you!


in operator narrowing (key in obj) doesn't work properly when key type is a string union

🔎 Search Terms
in operator narrowing union
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about type narrowing

⏯ Playground Link
https://www.typescriptlang.org/play?ssl=39&ssc=4&pln=20&pc=1#code/MYewdgzgLgBAYgeQQfQNIFECaBlGBeGAbQHIAzYgGhmJGIF0YBDCGUSKAbgFgAoN6eEjRZsyBADkAMpjHj0+ImXpMW-TrwCWYKAFMATqUbAd8ECBgBvXjBsxSALhjQ9WgObcetmCEfO3HgF9eXjUYXQECAAotAAcAVyhHODMYAB9LAIBKfAA+S2tbRBQMHAA6UhA9dCMAC0jIgGsdAE9svDyrTy9bDVIYRpaYLSGweKhs-hAAGx1SqZBXaNGEwibmukyPLyytwqES0QlpWXRyyurgOoHW3Pyu7qG+65GRsYnwCGnZ+cXYlbWNrsbDteAEPMEeAB6SFhPTNNxhcx6HQxPQgAAmcWMYRqJlRIAARjMALYwADuGigNScGmJMRmehgcQgJmAzB0EHsEOhrHZMAAjCEPrADvyFCRGJRqATlMxWMKPKFCQArMUECyMRzESVUAlamVg3iis5VWrPdp3Ly9fprF4q-nvSBfOYLSL21YtQGgzbcmFslkwABMQvYMAOgfF2qlxBlDDlakVwu8BOVEfVmuoksNPHDJoudVtFs6VqetuGKsDjs+MxdiwrHvWmxgPIAKrh9Gi9CwybiwENYBAaiA4lN0WBiFAqHKySZGMimRAEQADLRLmBgOdoilgVxOcxUxiwKkmGPEGD4mL6KDNJjAYwQFjokAc8ewGqMGKXsDe8FQv18gBmEMBAOADI1jFR5XYRNQxVMD0y1LMOGbGFQJgJ8OXXEBYDYKBGGGRgwBvNYWBAPo4KNEQALzM1Cw6AobGtZ5yxTACq2dH43VYhtARQx4YDbGAO0qFhhn9ExAyoY8+0pJwhxHdEYFxecoBSAkEn7dDnwgV8YAAQgMn8gA
💻 Code
// case 1
const KEYS1 = ['a', 'b'] as const;
const obj1 = {a: 'a', b: 'b'};
KEYS1.forEach(key => {
    if (key in obj1) console.log(obj1[key]);
});

// case 2
const KEYS2 = ['a', 'b'] as const;
const obj2 = {a: 'a'};
KEYS2.forEach(key => {
    if (key in obj2) console.log(obj2[key]); // TS errors when it shouldn't, as we are using `in` narrowing so that the 'b' property access doesn't happen
});

// case 3
const KEYS3 = ['b'] as const;
const obj3 = {a: 'a'}; // KEYS3 does not contain any keys of obj3
KEYS3.forEach(key => {
    if (key in obj3) console.log(obj3[key]); // if TS errors in case 2, then it should here too but it doesn't !!!
});

🙁 Actual behavior

in case 2  TS errors when it shouldn't, as we are using in narrowing so that there is no incorrect 'b' property access
in case 3 TS doesn't give any errors, when consistency disctates that it should if it did in case 2...

🙂 Expected behavior
Typescript shouldn't detect any errors in case 2. The type narrowing with the in operator ensures that we are only accessing properties that actually exist.
Additional information about the issue
No response

Possible duplicate of #43284, since you seem to be trying to narrow the key and not the object.
in operator narrowing is heuristic in nature and consistency isn't the main driving factor in how it works.  You have #15256 and #50666 which narrow the object type in different ways, none of which do anything to the key.

I think this is pointing out an implementation detail of #50666 where objects get narrowed with in if the LHS is a string literal but not if the LHS is a union of two string literals, and it doesn’t look obvious at first glance why those can’t be treated similarly. Minimal repro: https://www.typescriptlang.org/play?#code/CYUwxgNghgTiAEEQBd4HsBGArAXO74yA3ALABQoksCSqaAdiANIgCeeA5FB6ReNHEQp0jAPIAzACoB3NC1YBnTt3gAfeBww9y5AJbj4ACgbM28XfXxYAlPADe5eE6sA6KLwC+eg8bFTZ8grmlpg29o7OoW68zq4YnuRAA
declare let obj: object;
declare let oneKey: 'a';
declare let oneOfTwoKeys: 'a' | 'b';

if (oneKey in obj) {
    obj.a; // ok
}
if (oneOfTwoKeys in obj) {
    obj.a; // error
    obj.b; // error
}

I think the consistency that @barroudjo would like to see doesn’t necessarily hinge on narrowing the key type. You could imagine the second if statement narrowing the type of obj to Record<"a" | "b", unknown>—or { a?: unknown, b?: unknown } to avoid issues with exactOptionalPropertyTypes. I’m not sure if there’s a reason why something like this wasn’t considered... getting the feeling I could be missing something obvious though.

I'm actually surprised that oneKey in obj narrows at all, tbh.  I always assume the rule was that the LHS had to be an actual literal, not just literal-typed, as is the rule elsewhere:
declare let o: { foo?: string };
declare let k: "foo";

if (o[k]) {
    let v: string = o[k];  // error
}

Sorry to bump it, but I'd like to know if this is a bug, or an expected behavior of typescript.
If it's a bug I'll just use a hack and keep the code as close to this as possible, with a TODO comment explaining the situation and that we're waiting for the bug to be solved.
If it's the expected behavior, then I'll rack my brains to find a different solution ;-)

@andrewbranch thanks for the answer !


#516 feat(services) - Create/Edit resources

Closes #516
This PR add a Resources tab in service creation view
Moreover, it add Resources management in service Edit view

If we have a dropbox for memory in MB or GB, how can we display that if user have created a container with a non round MB value (like 54,57 MB) ?

Accept decimal inputs... 54.57MB is a valid input..
Rgds,
Neil Cresswell
On 12/09/2017, at 9:11 AM, Thomas Krzero <notifications<EMAIL_ADDRESS>wrote:
If we have a dropbox for memory in MB or GB, how can we display that if user have created a container with a non round MB value (like 54,57 MB) ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_portainer_portainer_pull_1163-23issuecomment-2D328659748&d=DwMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=RPFvpI_vbKtAPwQN3qlFGhZa9WqfVS1g6QxkbOcKOEw&s=zMgtFUfUBXB0Q-6DhiohNONbVjFp1sSuOWnPwM6JD24&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AWGrlUjBikIguOTy1ph3JXFgbd3SIpf-5Fks5shaH4gaJpZM4PEhL1&d=DwMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=RPFvpI_vbKtAPwQN3qlFGhZa9WqfVS1g6QxkbOcKOEw&s=WZBdyN_MaGCYfJ1FPh_DJIBXXOcGXvfAJeQXHiFShO0&e=.

Is something like that seems to be OK for the UX ?

OK I think you can review it
I'm waiting information on textual info too (now in portainer tooltips)

OK for all, just see my comment for col-sm-1

There is an issue about this unclear doc : https://github.com/moby/moby/issues/30222
The best documentation on this is probably the associated blog post (but it talks only for containers options, not services) : https://blog.docker.com/2017/01/cpu-management-docker-1-13/
We used services cpu limit/reservation here without any pb
Just to be clear, this what really happen :
Cpu reservation for containers
Before docker 1.12, we have 4 options to manage that :
--cpu-period
--cpu-quota
--cpuset-cpus
--cpu-shares
It was too complicated for user to understand that, so in docker 1.13, they introduced the --cpus options
From : https://docs.docker.com/engine/admin/resource_constraints

If you have 1 CPU, each of the following commands will guarantee the container at most 50% of the CPU every second.
Docker 1.13 and higher:
docker run -it --cpus=".5" ubuntu /bin/bash
Docker 1.12 and lower:
$ docker run -it --cpu-period=100000 --cpu-quota=50000 ubuntu /bin/bash```

Now for services (swarm mode 1.13 +)
In swarm-mode after 1.13, we got the --cpu-limit and --cpu-reservation flags
This values are in CPUs (like the --cpus for containers) : 0.25 means 1/4 of 1 CPU
This limit/reservation occurs for the task, like for the memory reservation/limit
In API (service create/update swarm-mode)
In the API, the value is an Integer in NanoCPU, so 0.25 is equivalent to 250000000 in API or in docker inspect
I think Portainer have to provide these flag in the more human format (the 0.25 CPU)
Docker documentation are not very clear on that, but it works like that

Agree, if we are adding cpu, we must make it human friendly.. eg _____ cpu's where the _____ area is a rotary dial which goes from 0.25 to 32 in .25 increments
Rgds,
Neil Cresswell
On 17/09/2017, at 5:14 PM, Thomas Krzero <notifications<EMAIL_ADDRESS>wrote:
There is an issue about this unclear doc : moby/moby#30222https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_moby_moby_issues_30222&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=PSYTeFggG93DWMgz0nYO48M51vrI76QK6iraxdJFYwE&s=mxd1knjOEDVb3TKVMK1BdFzjxuwnoWtt6Xl0PYkrkOs&e=
The best documentation on this is probably the associated blog post (but it talks only for containers options, not services) : https://blog.docker.com/2017/01/cpu-management-docker-1-13/https://urldefense.proofpoint.com/v2/url?u=https-3A__blog.docker.com_2017_01_cpu-2Dmanagement-2Ddocker-2D1-2D13_&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=PSYTeFggG93DWMgz0nYO48M51vrI76QK6iraxdJFYwE&s=jQS5nzwlG2UrruHG-3vpyOIrsUssLpiKX18RMN-kobA&e=
We used services cpu limit/reservation here without any pb
Just to be clear, this what really happen :
Cpu reservation for containers
Before docker 1.12, we have 4 options to manage that :
--cpu-period
--cpu-quota
--cpuset-cpus
--cpu-shares
It was too complicated for user to understand that, so in docker 1.13, they introduced the --cpus options
From : https://docs.docker.com/engine/admin/resource_constraintshttps://urldefense.proofpoint.com/v2/url?u=https-3A__docs.docker.com_engine_admin_resource-5Fconstraints&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=PSYTeFggG93DWMgz0nYO48M51vrI76QK6iraxdJFYwE&s=SH_GaRN_83VZ2mL-vxPfvmd7hKmcmiOIv-KtA0ECP8A&e=
If you have 1 CPU, each of the following commands will guarantee the container at most 50% of the CPU every second.
Docker 1.13 and higher:
docker run -it --cpus=".5" ubuntu /bin/bash
Docker 1.12 and lower:
$ docker run -it --cpu-period=100000 --cpu-quota=50000 ubuntu /bin/bash```
Now for services (swarm mode 1.13 +)
In swarm-mode after 1.13, we got the --cpu-limit and --cpu-reservation flags
This values are in CPUs (like the --cpus for containers) : 0.25 means 1/4 of 1 CPU
This limit/reservation occurs for the task, like for the memory reservation/limit
In API (service create/update swarm-mode)
In the API, the value is an Integer in NanoCPU, so 0.25 is equivalent to 250000000 in API or in docker inspect
I think Portainer have to provide these flag in the more human format (the 0.25 CPU)
Docker documentation are not very clear on that, but it works like that
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_portainer_portainer_pull_1163-23issuecomment-2D330033922&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=PSYTeFggG93DWMgz0nYO48M51vrI76QK6iraxdJFYwE&s=eqgHwRoaNxgXovK8GpnhpTyM32btKd-_CBs9D1IXRF4&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AWGrlTOyvEOEp1ZvZRpm2qfed7CHYD-2D-5Fks5sjPEAgaJpZM4PEhL1&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=PSYTeFggG93DWMgz0nYO48M51vrI76QK6iraxdJFYwE&s=olGHCpuLGHHuc6Xj7KcSv6j3wFDPMnLTDB4-6cNExt4&e=.

I agree as well, we need to have a simple UX for CPU limit & reservation.

OK I place cpu step to 0.25 with min=0 and max=32
I add a min=0 to memory as well
What can we do to better UX ?

What about using a slider + input combination ?

Are you talking about a input of type="range" ?
I don't know how mobile devices can manage that...

Yes, an input of type range combined with a text number input.
Something similar to:

You could have a look at https://github.com/angular-slider/angularjs-slider for an alternative to the simple type range input.
I'm not really sure about this tho, I'm just wondering if it may work. I think that a slider is touch friendly, tho I'll ping @ncresswell for his opinion on this.

OK I'll test that soon and keep it if it's good :D

Seems to work well, I code the createService view with the angularjs-slider without any problem
But service view is an other challenge. I think this lib doen't handle the ng-change attribute like we do before
If you can have a look, help appreciated
Thanx

@WTFKr0 any chance to rebase/re-open as another PR ? I can see the result of the previous commits and it's quite confusing to do a review right now.

It should be OK now, I just rebase and cherry pick your two commits

Thanks @WTFKr0 :+1:


Hope to add some new function

This program is good at the regular type of encryption，but it can't Identify some of the uncommon encryption methods, such as URL and ROT. If that function can be added this program will be better.
And thank you for create a such wonderful program

Hey @Martin-Winfred ! Ciphey can identify rot, but not URL encoding. I'll add it to the Big List of Things to do :tm:
https://github.com/Ciphey/Ciphey/issues/63
:smile:


[VL] Register row_constructor_with_null

What changes were proposed in this pull request?
Removes https://github.com/oap-project/velox/commit/556839d927ca77f4288ca89977dab70a7f9493d7 by registering row_constructor_with_null in Gluten.
https://github.com/oap-project/velox/pull/420
How was this patch tested?
Verified on Jenkins.

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_3499_time.csv
log/native_master_10_23_2023_157f42c08_time.csv
difference
percentage

q1
34.47
34.61
0.137
100.40%

q2
25.62
24.81
-0.815
96.82%

q3
40.14
39.90
-0.243
99.39%

q4
38.00
36.69
-1.315
96.54%

q5
71.17
71.34
0.165
100.23%

q6
7.33
8.69
1.360
118.55%

q7
87.72
87.86
0.139
100.16%

q8
86.40
84.29
-2.114
97.55%

q9
119.92
118.66
-1.256
98.95%

q10
54.42
53.69
-0.736
98.65%

q11
19.22
20.55
1.335
106.95%

q12
27.18
27.99
0.805
102.96%

q13
49.06
49.56
0.494
101.01%

q14
20.02
18.60
-1.425
92.88%

q15
32.89
33.02
0.136
100.41%

q16
16.16
16.27
0.105
100.65%

q17
101.12
102.04
0.919
100.91%

q18
147.23
147.35
0.112
100.08%

q19
18.27
16.60
-1.666
90.88%

q20
31.32
30.77
-0.544
98.26%

q21
225.19
226.90
1.710
100.76%

q22
13.30
13.32
0.013
100.10%

total
1266.18
1263.49
-2.682
99.79%


Data ...

Hi,
This is not an issues first of all...
My question is as you are taking data from nse's website, is that legal...????

Nope. It isn't legal. And that is why I have stopped working on it. Unfortunately I realized the legality terms after starting the project. I had to abandon it after I realized that it's illegal.
On the flipside, creating the API does not seem to be illegal, using it is. The legal terms say that

You may not conduct any systematic or automated data collection activities (including scraping, data mining, data extraction and data harvesting) on or in relation to our website without our express written consent.

This as far as I understand prevents us from actively scraping the website to extract data. Now we as developers are just providing the tool to do so. Whether or not you use this to scrape is on you.
I am no legal expert, but till I can get the legal aspects sorted, I will not work on this API. On that note, I have contacted them through e-mail, and in person. And have very politely been ignored.


info recursively support fast mode

Optimize info -r based on #3257

Codecov Report
Patch coverage: 61.11% and project coverage change: -0.01 :warning:

Comparison is base (7a9859d) 55.55% compared to head (71792bf) 55.55%.

:exclamation: Current head 71792bf differs from pull request most recent head 30df2b6. Consider uploading reports for the commit 30df2b6 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3296      +/-   ##
==========================================
- Coverage   55.55%   55.55%   -0.01%
==========================================
  Files         142      142
  Lines       33741    33884     +143
==========================================
+ Hits        18746    18825      +79
- Misses      13013    13065      +52
- Partials     1982     1994      +12

Impacted Files
Coverage Δ

pkg/meta/utils.go
55.51% <0.00%> (-9.49%)
:arrow_down:

pkg/vfs/internal.go
52.69% <40.00%> (-0.57%)
:arrow_down:

cmd/info.go
15.72% <41.66%> (+1.49%)
:arrow_up:

pkg/meta/tkv.go
71.24% <59.25%> (-0.41%)
:arrow_down:

pkg/meta/sql.go
59.55% <75.00%> (+0.50%)
:arrow_up:

pkg/meta/redis.go
66.75% <83.72%> (-0.07%)
:arrow_down:

pkg/meta/base.go
65.33% <94.11%> (+0.66%)
:arrow_up:

pkg/meta/tkv_badger.go
73.38% <100.00%> (ø)

pkg/meta/tkv_etcd.go
77.58% <100.00%> (ø)

pkg/meta/tkv_fdb.go
79.41% <100.00%> (ø)

... and 10 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


merge package from arlac77/npm-package-template

package.json

chore(package): update package.json from template

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


update web.config

azure storage
db config

Hi @usamemoment, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

I suggest you change your credentials right away, remove credentials from your fork's branch, rebase/squash your commits and do a push -force against your fork's branch to remove this info from history.


Reid for other objects

@CaptainEven thanks for sharing the code base had few queries

the current code base supports reid for only person ?
can we extend this reid principle to objects and vehicles also ? if so what all changes have to be made

Thanks in advance

@abhigoku10 The Repo supports multi-class ReID as many as the number of object classes you want to train.

@CaptainEven  I looked at the output format of each track object, it doesn't account for different categories:
save_format = '{frame},{id},{x1},{y1},{w},{h},{s},-1,-1,-1\n' The category id is fixed to -1
How do you make this multi-class?


🐛 [bug] - Cosmetic - Hyperlinks pointing to incorrect/different endpoints

📝 Description
The following URLs as mentioned in https://github.com/opendatahub-io-contrib/data-mesh-pattern#data-mesh-pattern are pointing to incorrect endpoints:
How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh -- Zhamak Dehghani, Thoughtworks
Data Mesh Principles and Logical Architecture -- Zhamak Dehghani, Thoughtworks
🚶 Steps to reproduce
Click on any of the following two URLs in https://github.com/opendatahub-io-contrib/data-mesh-pattern#data-mesh-pattern:
How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh -- Zhamak Dehghani, Thoughtworks
Data Mesh Principles and Logical Architecture -- Zhamak Dehghani, Thoughtworks
🧙♀ Suggested solution
[How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh] should(most probably) be linked to https://martinfowler.com/articles/data-monolith-to-mesh.html
[Data Mesh Principles and Logical Architecture] should(most probably) be linked to https://martinfowler.com/articles/data-mesh-principles.html

Hey @caldeirav , I can work on this issue.

Sure feel free to go ahead and correct this


Adding Calcite SQL Parser and make another entry point to query Pinot

Codecov Report

Merging #4387 into master will increase coverage by 9.66%.
The diff coverage is 77.12%.

@@             Coverage Diff              @@
##             master    #4387      +/-   ##
============================================
+ Coverage      55.7%   65.37%   +9.66%
  Complexity       20       20
============================================
  Files          1066     1068       +2
  Lines         55403    55562     +159
  Branches       7894     7926      +32
============================================
+ Hits          30865    36326    +5461
+ Misses        22150    16672    -5478
- Partials       2388     2564     +176

Impacted Files
Coverage Δ
Complexity Δ

...org/apache/pinot/common/utils/CommonConstants.java
45.65% <ø> (+15.21%)
0 <0> (ø)
:arrow_down:

.../pql/parsers/pql2/ast/BetweenPredicateAstNode.java
33.96% <100%> (ø)
0 <0> (ø)
:arrow_down:

...pql/parsers/PinotQuery2BrokerRequestConverter.java
87.37% <100%> (+2.67%)
0 <0> (ø)
:arrow_down:

...not/pql/parsers/pql2/ast/PredicateListAstNode.java
76.74% <100%> (ø)
0 <0> (ø)
:arrow_down:

...rEqualitiesToInClauseFilterQueryTreeOptimizer.java
93.33% <100%> (+1.33%)
0 <0> (ø)
:arrow_down:

...che/pinot/pql/parsers/pql2/ast/OrderByAstNode.java
83.33% <100%> (ø)
0 <0> (ø)
:arrow_down:

...attenNestedPredicatesFilterQueryTreeOptimizer.java
88.88% <100%> (+0.42%)
0 <0> (ø)
:arrow_down:

...inot/pql/parsers/pql2/ast/OutputColumnAstNode.java
95.12% <100%> (+19.51%)
0 <0> (ø)
:arrow_down:

...roker/requesthandler/BaseBrokerRequestHandler.java
77.95% <100%> (+67.41%)
0 <0> (ø)
:arrow_down:

...l/parsers/pql2/ast/RegexpLikePredicateAstNode.java
62.16% <100%> (ø)
0 <0> (ø)
:arrow_down:

... and 342 more

Continue to review full report at Codecov.

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


Main page with Items and Category Navigation Bar.

Create Main page with Items and Category Navigation Bar.

Discussed  to use material design :8ball:


fw.op(cmd, xml=True) the command cannot be longer than 4 sections

Describe the bug
I have a script calling fw.op() to run a panos cli but I found it failed with exception error. Here is my  command call.
    element_response = fw.op('clear session all filter ant-rule test_nat-a', xml=True)

Got below errors:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandevice/base.py", line 3469, in method
super_method(self, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pan/xapi.py", line 951, in op
self.__type_op(cmd, vsys, extra_qs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pan/xapi.py", line 974, in __type_op
raise PanXapiError(self.status_detail)
pan.xapi.PanXapiError:  clear -> session -> all -> filter -> nat-rule is invalid
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "prod_switch.py", line 62, in
element_response = fw.op('clear session all filter nat-rule test_nat-1', vsys=None, xml=True)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandevice/firewall.py", line 190, in op
return super(Firewall, self).op(cmd, vsys, xml, cmd_xml, extra_qs, retry_on_peer)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandevice/base.py", line 3606, in op
element = self.xapi.op(cmd, vsys, cmd_xml, extra_qs, retry_on_peer=retry_on_peer)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandevice/base.py", line 3486, in method
raise the_exception
pandevice.errors.PanDeviceXapiError:  clear -> session -> all -> filter -> nat-rule is invalid
If I change the command to 'show system info' it will be fine. Or if I change the command to anything to equal or less than 4 sections the command will run successfully, like 'xxx xxx xxx xxx'.
Expected behavior
Expecting the command to be executed without error.
Current behavior
Currently I received error like above.
Possible solution
it looks like a bug in xapi.py but not too sure.
Steps to reproduce

create a firewall object
fw = firewall.Firewall(HOSTNAME, USERNAME, PASSWORD)
run an operation command
fw.op('clear session all filter nat-rule xxx') or fw.op('show counter global filter delta yes')

Screenshots

Context
It failed my automation work flow.
Your Environment

Version used: PANOS 9.0.8
Environment name and version (e.g. Chrome 59, node.js 5.4, python 3.7.3): python 3.7.7
Operating System and version (desktop or mobile): MacOS laptop
Link to your project: not on github

show system info gets translated to:

The name of the NAT rule in the clear session all command that you entered has a non-tagged value, it looks like this:
test_nat-a
The .op() command that you used is probably generating this which is invalid:
<test_nat-a></test_nat-a>
I believe the issue is that the op() function is not handling values that are not contained within XML tags.  In order to resolve this issue the op() function would need to be aware of every command available on the firewall and where they use non-tagged values.
A workaround is to enter the command as XML like this so you can enter the non-tagged value:
rule = 'test_nat-a'
xml_command = '' + rule + ''
try:
results = firewall_object.op(xml_command, cmd_xml=False)
catch:
print('Exception occurred')

You must put non-keyword sections in double quotes. Like this:
element_response = fw.op('clear session all filter nat-rule "test_nat-a"', xml=True)


Don't copy nginx/httpd vhost options to service modules using nginx

Describe the bug
For instance services.jirafeau and services.dolibarr expose all of these options below services.X.nginx. There are a lot more cases that are trivial to find.
I think this is a bad practice and has the following downsides:

every nixos module and every option increases the evaluation time. In this case for no good reason. I think this is a cheap way to save a bit of this.
when searching for nginx options in configuration.nix(8), you have to skip numerous copies of the actual module until you're actually down at nginx. This is annoying.
That said, you can't just use one of the other modules to check which virtualHost options. E.g. dolibarr has altered the defaults of forceSSL and enableACME, so you can't trust other options that look like nginx options in the man page.
some of the options don't even make any sense: for instance no virtual host that reverse proxies a service should need globalRedirect.

Since I have an nginx bias, all of the above is written with focus on nginx. The same applies to modules exposing httpd's options, of course.
Expected "behavior"
IMHO this is a symptom of not understanding how merging inside the module system works (i.e. you can just define the relevant portions in your service.nix). Given the issues associated with this I'd suggest to

rip all of the options out and give a concise eval-error describing what to do instead (i.e. services.nginx.virtualHosts.${config.services.foo.hostName}.X).
provide examples in the option's descriptions and perhaps the manual on how to do it properly.
mention somewhere in e.g. the contribution docs that this is considered an anti-pattern.

cc @infinisil @roberth @aanderse @Guekka @NetaliDev @vtuan10 @melvyn2 @RaitoBezarius  for opinions.

Add a :+1: reaction to issues you find important.

I agree with this proposal. The current approach of exposing numerous options under services.X.nginx can indeed be confusing, especially for new users. I have experienced this confusion myself when searching for options while discovering NixOS.
However, we would need strict rules to get a clear documentation. Otherwise, we could end up with users writing a hardcoded virtualHosts:
services.nextcloud.enable = true;
services.nginx.virtualHosts.nextcloud = {}; // ...

This would obviously break if upstream changed the name of the virtual host.

On a broader scale, this pattern can be found very often within nixpkgs. Be it with nginx, redis, postgres... Each module can enable them and wrap their options or not.
Modules have no strict rules about what they can do or not. Why do some of them enable nginx/postgres/... for the user, whereas others require the user to enable these services themself? Usually, this comes down to the module requiring a specific config, but this is not always the case.
Ultimately, I'm wondering if we should require (through automation?) the documentation of each module to mention the other modules it configures. Something like

The nextcloud module configures nginx and redis. To modify default settings, use services.nginx.virtualHosts.${config.services.nextcloud.hostName} and services.redis.servers.${config.services.nextcloud.hostName}.

PS: out of curiosity @Ma27, any reason for pinging me, or did you just pick a random maintainer?

every option increases the evaluation time

Not wrong as a general rule of thumb, but it does not apply for options in un-evaluated submodules, and also not when _module.check = false. We might not want the latter, so here's a counterexample showing the prior.
--- a/nixos/modules/services/web-apps/jirafeau.nix
+++ b/nixos/modules/services/web-apps/jirafeau.nix
@@ -79,7 +79,7 @@ in
     };

     nginxConfig = mkOption {
-      type = types.submodule
+      type = throw "" types.submodule
         (import ../web-servers/nginx/vhost-options.nix { inherit config lib; });
       default = {};
       example = literalExpression ''

The above does break documentation, whose evaluation is cached anyway, so we can ignore that for the purpose of the example.
nix-repl> :b (nixos { fileSystems."/".device = "x"; boot.loader.grub.enable = false; documentation.enable = false; }).toplevel
...
This derivation produced the following outputs:
...

I could even build with throw "" mkOption there, but I don't want to give a false impression; don't have a good rule of thumb for when that works. Option tree handling is not optimal yet; see https://github.com/NixOS/nixpkgs/issues/291536.

Regardless, this pattern is wrong for a different reason. Option types are not guaranteed to be idempotent when their computed option values are reinterpreted as definitions (and then resolved and merged for the final nginx config). In fact it's easy to find an example where it goes wrong: all properties are lost, such as mkForce, mkBefore, etc.
The way to preserve all that and only merge once is to use types.deferredModule (sorry for the bad fragment; we should stop using definition lists imo), or such types as attrsOf (deferredModule), if needed.
This solves the semantic issue, and gets rid of the duplicated option docs.
(OT: you could recover them with deferredModuleWith { staticModules } if you ever needed to, and if it's ok to import that set of modules)

some of the options don't even make any sense

Impossible to prevent in general, but absolutely agreed for docs. deferredModule will only render e.g. nginxConfig, but no sub-options.
It does make sense to have little convenience options for common modifications, although that could become a bit too arbitrary and bloated too. Maintainers will have to strike a balance.

sounds good @Ma27
i especially agree strongly with the comments about documentation!
thanks for making this issue

PS: out of curiosity @Ma27, any reason for pinging me, or did you just pick a random maintainer?

I picked most of the people I could trace back with git blame who seemed to originally add this. I wanted to make sure that I'm not missing reasons to leave it that way.

However, we would need strict rules to get a clear documentation. Otherwise, we could end up with users writing a hardcoded virtualHosts:

Isn't the key for a virtualHost usually the domain it's served under?
My suggestion is to instruct people to do something like services.nginx.virtualHosts.${config.services.nextcloud.hostName} = { ... };. That way you won't need to worry about that.

Be it with nginx, redis, postgres... Each module can enable them and wrap their options or not.

Sure, modules can touch other modules and to a certain degree it's a good thing. For instance, for PHP applications you need some kind of reverse proxy that serves assets and forwards the correct prefixes to FPM, so it makes sense to configure it[1]. It usually makes sense to wrap this behind some kind of services.foo.postgresql.enable option to allow people to build environments where reverse-proxy/database/whatever lives on a different node.
That's not my point though: some kind of wrapping tailored to the service is OK. It's not OK though to expose every single option of a different service module (as discussed above). Sooner or later you'll need to touch these modules directly.

The nextcloud module configures nginx and redis. To modify default settings, use services.nginx.virtualHosts.${config.services.nextcloud.hostName} and services.redis.servers.${config.services.nextcloud.hostName}.

I think we'll need way more metadata fo rthi sto work. Because at the end of the day, nginx & redis touch other modules (i.e. systemd.services), so it needs to be defined what's actually interesting.
For now, I think it's OK to expose e.g. a hostName option and document in its description how the reverse-proxy can be modified.

Option types are not guaranteed to be idempotent when their computed option values are reinterpreted as definitions (and then resolved and merged for the final nginx config). In fact it's easy to find an example where it goes wrong: all properties are lost, such as mkForce, mkBefore, etc

Good point! I think I've seen an issue related to that already, but forgot to mention it originally. Thanks for adding this!

This solves the semantic issue, and gets rid of the duplicated option docs.

I'd argue that this approach is not desirable either:

Tools like nil get very far with providing completion, however deferredModule won't work here since there are "de-facto" no options defined below a deferredModule.
We'd still have combinations that don't make much sense (globalRedirect comes to mind) and I don't think that this should be exposed by a service module then. By using services.nginx for advanced configuration, it's clearer IMHO that you're now touching the reverse-proxy and not the application, so you need to make sure on your own that you do the right thing.

It does make sense to have little convenience options for common modifications, although that could become a bit too arbitrary and bloated too

Agreed. Some basics (in the case discussed here e.g. enable, hostName & max "upload" size may make sense) are good to have. For everything else I'd argue it's better to "forward" users to the relevant modules (i.e. nginx in this case).
[1] I should add that I have opinions about the nginx case in particular nonetheless: https://github.com/NixOS/nixpkgs/issues/277723


Far right content should be on grid column

https://www.carbondesignsystem.com/guidelines/typography/expressive/
and
https://www.carbondesignsystem.com/guidelines/typography/productive

Also needs a fix on the IDL site.


Failed to import transformers.integrations.bitsandbytes because of the following error (look up to see its traceback): CUDA Setup failed despite GPU being available. Please run the following command to get more information: python -m bitsandbytes Inspect the output of the command and see if you can locate CUDA libraries. You might need to add them to your LD_LIBRARY_PATH. If you suspect a bug, please take the information from python -m bitsandbytes and open an issue at: https://github.com/TimDettmers/bitsandbytes/issues

System Info
System Information

ComfyUI Version: v0.2.2
Arguments: E:\ComfyUI\ComfyUI-aki\ComfyUI-aki-v1.3\main.py --auto-launch --preview-method auto --disable-cuda-malloc
OS: nt
Python Version: 3.11.6 | packaged by conda-forge | (main, Oct  3 2023, 10:29:11) [MSC v.1935 64 bit (AMD64)]
Embedded Python: false
PyTorch Version: 2.3.1+cu118

Devices

Name: cuda:0 NVIDIA GeForce RTX 3080 Ti : cudaMallocAsync

Type: cuda
VRAM Total:<PHONE_NUMBER>8
VRAM Free:<PHONE_NUMBER>0
Torch VRAM Total: 0
Torch VRAM Free: 0

Reproduction
ComfyUI Error Report
Error Details

Node Type: Joy_caption

Exception Type: RuntimeError

Exception Message: Failed to import transformers.integrations.bitsandbytes because of the following error (look up to see its traceback):
  CUDA Setup failed despite GPU being available. Please run the following command to get more information:

  python -m bitsandbytes

  Inspect the output of the command and see if you can locate CUDA libraries. You might need to add them
  to your LD_LIBRARY_PATH. If you suspect a bug, please take the information from python -m bitsandbytes
  and open an issue at: https://github.com/TimDettmers/bitsandbytes/issues

Stack Trace

### Expected behavior

# ComfyUI Error Report
## Error Details
- **Node Type:** Joy_caption
- **Exception Type:** RuntimeError
- **Exception Message:** Failed to import transformers.integrations.bitsandbytes because of the following error (look up to see its traceback):

        CUDA Setup failed despite GPU being available. Please run the following command to get more information:

        python -m bitsandbytes

        Inspect the output of the command and see if you can locate CUDA libraries. You might need to add them
        to your LD_LIBRARY_PATH. If you suspect a bug, please take the information from python -m bitsandbytes
        and open an issue at: https://github.com/TimDettmers/bitsandbytes/issues
## Stack Trace

I have encountered the same problem as you. But I checked pip show pytorch CUDA and found that it was not installed, but when I used conda install, it prompted me that it had been installed. So I deleted the entire conda environment and installed the latest pytorch CUDA, and everything was fine.


[Suggestion] Quality-of-life improvements

Message decay & allow users with Manage Messages to use the delete button. I don't really want my channels to be flooded with eval results, so it would be nice if I could do something like /decay 30s to make them decay after 30 seconds or something like that. Also, it would be cool if users with the Manage Messages permission could always use the Delete button, just as a quick shortcut instead of having to mess around with right click menus.

Have added support for deleting via the button in the above commit. I'm afraid I'm not going to add /decay support - it's a lot of code (and state) to maintain for a relatively niche feature.


Context

Logwatch checks if there is a newer version for ClamAV available and if not it reports following:
    WARNING: Your ClamAV installation is OUTDATED!
    WARNING: Local version: 0.101.4 Recommended version: 0.102.1

I've learned that the only chance is to recompile ClamAV outside of the container and copy it back afterwards.

In worst case it can happen, that ClamAv doesn't work as expected and in consequence mails are not scanned properly.
Expected Behavior

Always updated ClamAV and avoid complaining logwatch mails.
Actual Behavior

Since its not update it reports something like
    WARNING: Your ClamAV installation is OUTDATED!
    WARNING: Local version: 0.101.4 Recommended version: 0.102.1

## Possible Fix
<!--- Not obligatory, but suggest a fix or reason for the issue -->

## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this issue include code to reproduce, if relevant -->
1.
2.
3.
4.

## Your Environment
<!--- Include as many relevant details about the environment you experienced the issue in -->
* Amount of RAM available:
* Mailserver version used:
* Docker version used:
* Environment settings relevant to the config:
* Any relevant stack traces ("Full trace" preferred):

<!--- Please remember to format code using triple backticks (`)
	  so that it is neatly formatted when the issue is posted. -->

<!---
## Possible answers to you issue
* ClamAV keeps restarting:
  https://github.com/tomav/docker-mailserver#requirements

* Email seen as spam:
  https://github.com/tomav/docker-mailserver/wiki/Configure-SPF
  https://github.com/tomav/docker-mailserver/wiki/Configure-DKIM

* Creating new domains and accounts
  https://github.com/tomav/docker-mailserver/wiki/Configure-Accounts

* Use a relay mail server
  https://github.com/tomav/docker-mailserver/wiki/Configure-AWS-SES
  The variable name can be used for other email servers.

* FAQ and tips
  https://github.com/tomav/docker-mailserver/wiki/FAQ-and-Tips

* And the WIKI
  https://github.com/tomav/docker-mailserver/wiki

* Open issues
  https://github.com/tomav/docker-mailserver/issues
-->

I'm afraid this is a wontfix in this case. I hope that it will be solved when we upgrade to Debian Buster. In the meantime we have the latest ClamAV that is supported by Debian Stretch. I've learned the hard way that it is a bad idea to try to use an unsupported version of ClamAV.
Perhaps we could suppress the warning somehow, but the real fix is to do the upgrade. There is nothing stopping us there except time.

It could also be that we need #1207 if the image you are pulling is outdated.

Folks, this may have started to become a serious problem. Past month I've built the image without issues, now I can't, the ClamAV step states it's outdated, then the freshclam tries to update database but always timeouts:
 => [5/40] RUN echo "0 */6 * * * clamav /usr/bin/freshclam --quiet" > /etc/cron.d/clamav-freshclam &&   chmod 644 /etc/clamav/freshclam.conf &&   freshclam &&   sed -i 's/Foreground false/Foreground true/g' /etc/clamav/clamd.conf &&  32.1s
 => => # Thu Feb 20 01:23:52 2020 -> ^Local version: 0.102.1 Recommended version: 0.102.2
 => => # Thu Feb 20 01:23:52 2020 -> DON'T PANIC! Read https://www.clamav.net/documents/upgrading-clamav
 => => # Thu Feb 20 01:23:52 2020 -> daily database available for download (remote version: 25728)
 => => # Thu Feb 20 01:24:22 2020 -> ^Download failed (28) Thu Feb 20 01:24:22 2020 -> ^ Message: Timeout was reached
 => => # Thu Feb 20 01:24:22 2020 -> ^getcvd: Can't download daily.cvd from https://database.clamav.net/daily.cvd
 => => # Thu Feb 20 01:24:22 2020 -> Trying again in 5 secs...

Maybe this will get solved when the Buster build arrives? Any expected timeline on that?
Regards.

I have no idea why it timeouts, I can access https://database.clamav.net/daily.cvd with curl without problems.

@oblitum I can download clamav updates, so I don't think your problem is general. Hopefully it works out if you try again later?
As for the buster release it is basically ready, but it needs testing and some documentation. If you want to be a test pilot you can get it from my docker repo (I don't have access to the docker builds for this project) or you can build it from the next branch in this repo.

@erik-wramner it simply stopped working, I tried it over more than two days span, can't get out of timeout. Also, I'm running it on RPi3 with ARMv8 (64bit, not ARMv7/32bit as usual). I had to apply some patches to master, but moving to next is another complication, I've also read some reports that some parts are not yet working.

I'm running it on RPi3

But building from x86-64 (with docker buildx).

I suspect that it tries to download the file (daily.cvd), but as my network speed is not great, it doesn't finish downloading (54 MB) as fast as freshclam expects.

You may not hit the issue because your network is faster than mine.

I found why this is happening:
❯ sudo rg -g freshclam.conf ReceiveTimeout /var/lib/docker/overlay2
/var/lib/docker/overlay2/dlsqvhnmg86xdfidpu9g9ua1i/diff/etc/clamav/freshclam.conf
18:ReceiveTimeout 30

It looks like standard clamav installation on Debian has this stupidly small timeout. I think this needs to be circumvented.

We can try and see if it helps, though 30 seconds as a read timeout seems reasonable for getting static files. It is not for getting the whole file but closer to time to first byte.

@erik-wramner I increased to 3600 and fixed my issue. Notice the problematic timeout is not regarding connection, but receive. I've left the connection timeout as-is, 30, but receive at 30s doesn't work on my network speed for a ~60MB file, and I checked network at that step, it was indeed continuously downloading the update, until it timeouts and it  enters a loop and gives up after 5 attempts.

I don't know the internals here, but normally the receive timeout is from a call to receive on a socket until the receive returns. It does not need to read the entire file, one single byte is enough (but more commonly you'll get one network packet at least). It doesn't matter if the file is 1 byte or 1000MB it just means receive will be called more times. In that context 3600 seconds is a very long timeout. FTP is different as the control connection may time out while the data file is read. Perhaps clamav is trying to read the files with FTP in your case?
What I'm trying to say is that 3600 seconds is a very long time for the program to hang if there is a network issue. Have you tried with a more moderate value? Perhaps 90 seconds is enough?

I don't think that's the issue, what you're describing doesn't fit the behavior. Doesn't it have to update the virus definitions? If it does, then it needs to download the file. The thing is, at least for me (and some other people if you google the error message), it starts to download that file and after half a minute it's canceled and starts again. Whether ReceiveTimeout should have meant another thing in thesis, I'm not sure, but I got that. Thing is that in practice, it's being associated to download time on I'm machine. I didn't see any mention for FTP in error message logs, I don't think it's being used (notice I've mentioned I used curl GET on the file).

So, sure 3600 is bad in case of an actual hang, but safe for download time. 90 is not bad for a hang, but is still unsafe for download time. It could possibly fix, because the download would happen to finish earlier.

FWIW, on my ArchLinux, the freshclam. conf doesn't have any of these timeouts set, and it works fine to get the updates.

There is probably a default value that is used if there is no explicit configuration. How long do you need for a successful download? 90 seconds is not a holy number, but 3600 is too much to make it into the default image. Perhaps we can make it a user option in some way.

I think an option is better, because the size of this update file is unknown upfront, to give you an idea, after the first 50MB download, iirc, it downloads another ~100MB update (meaning, it's not just one file). And I'm not sure how timeout is being used for each download.

This issue doesn't not happen in Buster.


dead link Docs > Operate

https://keda.sh/docs/1.5/operate/
The 404 page also lists links that just link back to itself.
dead link from the menu:

That's because it's only introduced in 2.0, will see if we can only show this for a given version but I'm not sure.

well well well, it works now ;)


Update PolicyReport to use template timestamp

Currently the timestamp in the PolicyReport is the time the report was filed. It'd make more sense to use the timestamp from the template's history.
Refs:

https://issues.redhat.com/browse/ACM-6921

Related Issue:  stolostron/backlog#<ISSUE_NUMBER>
Description of changes

/test "ci/prow/sonar-pre-submit"

/test sonar-pre-submit

/test sonar-pre-submit

/cc @jlpadilla @dislbenn

/approve


move bignum.h to test/

tied to #816

Works fine for me after #816. Gonna manually merge this for why ever github is not smart enough :/


More fixes

Whats Fixed:

Mobs don't insta-kill you now
World-gen surfaces no longer Swiss cheese (Cave gen back to how it behaved before JSON refactoring)
Fixed player able to interact with the world after death

Players now respawn after 100 ticks

Thanks, Matt!


[cmake]: Add inspec tests

hab pkg exec chef/inspec inspec exec /src/. --chef-license=accept -t docker://9575daeb13902b2e6fd41ef057351e0960fb7352b354cecedf5d04c7cdf7cdb6 --input-file /src/attributes.yml

Profile: Habitat Core Plan cmake (cmake)
Version: 0.1.0
Target:  docker://9575daeb13902b2e6fd41ef057351e0960fb7352b354cecedf5d04c7cdf7cdb6

  ✔  core-plans-cmake-works: Ensure cmake works as expected
     ✔  Command: `hab pkg path core/cmake` exit_status is expected to eq 0
     ✔  Command: `hab pkg path core/cmake` stdout is expected not to be empty
     ✔  Command: `DEBUG=true; hab pkg exec core/cmake/3.17.2/20200603132255 cmake --version` exit_status is expected to eq 0
     ✔  Command: `DEBUG=true; hab pkg exec core/cmake/3.17.2/20200603132255 cmake --version` stdout is expected not to be empty
     ✔  Command: `DEBUG=true; hab pkg exec core/cmake/3.17.2/20200603132255 cmake --version` stdout is expected to match /cmake version 3.17.2/
     ✔  Command: `DEBUG=true; hab pkg exec core/cmake/3.17.2/20200603132255 cmake --version` stderr is expected to be empty
  ✔  core-plans-cmake-exists: Ensure cmake exists
     ✔  File /hab/pkgs/core/cmake/3.17.2/20200603132255/bin/cmake is expected to exist

Profile Summary: 2 successful controls, 0 control failures, 0 controls skipped
Test Summary: 7 successful, 0 failures, 0 skipped
+ set +x
[7][default:/src:0]#

Updated test to parse pkg_version from the pkg_ident according to comment here


Use 'native' k8s service discovery mechanisms instead of metadata labels

The implementation to discover well known middleware services such as rabbit, redis, kafka should be based on the facilities provided in Kubernetes itself as described in https://github.com/kubernetes/kubernetes/blob/master/docs/user-guide/services.md#discovering-services
Labels should not be required to exist on services.  The environment variable approach looks like a good approach.  Investigate how more complex redis setups, for example using sentinal or redis cluster configuration can be done using the environment variable approach.  See #12

Good idea, but how do you know that a given service is e.g. a redis service? There will still be a need for some name convention, I believe

Look at the link above for the naming conventions

I did look at the link. This tells you how the name of your service ends up in the ENV VAR, but doesn't tell you that redis-master (from the doc above, for example) is actually a redis service. I hope that makes sense.

Gotya. Well there needs to be some mapping between the prefix of the env-var and the logical 'redis' or 'rabbitmq' name that we use to indicate we want to make a connection to those services.  By default we could use REDIS but pass in an override such as SERVICE_PREFIX_REDIS=REDIS_MASTER.  I'd like to work out a full example with sentinel and redis cluster.
I'm looking around for some other best practices docs in this regard for kubernetes.  Perhaps this is a good use for confit server and/or eureka?

Thinking about it, I really think 1) using the REST API and 2) reading ENV VARS are two ways of achieving the same thing, which are orthogonal to deciding which services are redis, rabbit, etc that the user wants bound, which can be achieved by A) using labels and maybe B) C) etc..

Related to: #11 and #12

This depends on spring-cloud/spring-cloud-dataflow-admin-kubernetes#37

Service discovery in kubernetes is usually just done via a service name and a port (rather than querying kubernetes REST API using label filters etc). Usually its up to a microservice to make up its own unique service name that it wants to use. If you are worried you might look up a redis service when you wanted rabbit or whatever - just use a more explicit and descriptive name. The ports should also give you more of a clue what the service is too for non-REST stuff (e.g. redis versus rabbit)
e.g. if your inventory service wants to talk to redis; name the service inventory-redis. There can be many redis services in a namespace which may point to separate redis implementations (e.g. via pod selectors) or can be configured to point to the same underlying implementation (via service endpoints)
So for a given service name, using the DNS name to look up the service IP is usually enough. If you want you could use env vars though.
Where some discovery might help is in automatically registering secrets for a spring cloud connector; e.g. finding the user/pwd from a secret for a JDBC connection. Its a little verbose exposing secrets individually as environment variables in your pod; then referring to those environment variables in your application.properties to configure the user/pwd; discovering the secrets for services and doing the bean configuration via a library might make things a little easier to use


Localised update-imported-docs/README.md to Hindi

Changes:

For the file README.md within folder update-imported-docs, added footnotes that link the Hindi localised version of the readme. Also added my github account details showcasing the person responsible for this translation
Added Readme-hi.md

Review:

Footnotes in the actual README.md file
Localisations in the README-hi.md

I signed it

/check-cla

I signed it

/language hi

/cc @Rajakavitha1

/cc @mittalyashu @Rajakavitha1

Any updates on this PR?

Any updates on this PR?

Will update this PR this weekend

/assign @jaredbhatti

/cc @mittalyashu

ping @avidLearnerInProgress

This PR has been open for almost 9 months and needs a rebase. I have no problem re-opening this once everything is resolved.
/close
It looks like a minor change, but will also wait for a Hindi-native speaker to /lgtm.


[$250] #admins and  workspace  channels show as archived / unavailable upon reopening an account

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

Version Number: 9.0.20-0
Reproducible in staging?: y
Reproducible in production?: y
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
Expensify/Expensify Issue URL:
Issue reported by: @maddylewis
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1723565037289829
Action Performed:

Head to Expensify.com
Click Contact Sales
Enter email address (public domain)
Click Next
Taken to NewDot
Click “Switch to Exfy Classic”
Close account in Exfy Classic
Head to new.expensify.com
Enter email address (public domain)
Enter magic code
Log in to NewDot

Expected Result:
If an account is reopened the workspace  and #admin channels should show as active (not archived) and the workspace tied to the first account shouldn't be visible at all or it should be shown as available
Actual Result:
I see an unavailable, archived workspace and the announce/admin rooms are unavailable
Workaround:
unknown
Platforms:

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

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

Screenshots/Videos

https://github.com/user-attachments/assets/b1d390a8-ca6b-4f23-ae84-08992016695d

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

Upwork Job URL: https://www.upwork.com/jobs/~01813d8e9f760615ea
Upwork Job ID:<PHONE_NUMBER>613128117
Last Price Increase: 2024-08-29

Issue OwnerCurrent Issue Owner: @aimane-chnaif

The root cause of the issue is private_isArchived property of the report which the backend returns as true for all preexisting chat rooms. We can modify this logic  on the frontend to "Room is archived if private_isArchived is before account creation date" but then we will receive an error from the backend when we use the chat and I think the whole concept should be fixed in the backend properly.
Screenshot attached for the error in case we send a message to archived chat:

Proposal
Please re-state the problem that we are trying to solve in this issue.
After an account is deleted previously created workspaces and reports show as archived when the should be hidden from the view.
What is the root cause of that problem?
At the moment we are not considering the fact that archived reports can come from an account that is previously closed and reopened.
What changes do you think we should make in order to solve the problem?
In the front end we can solve this by filtering the existing report that have the archived flag and latest action is Closed with reasons Policy Deleted or Account Closed.
We need to replace the following query of Onyx reports:
https://github.com/Expensify/App/blob/492b884ffb0950e703147e31d5898acc25fff6ef/src/hooks/useReportIDs.tsx#L83
By using a selector in useOnyx we can filter out the reports that come from a deleted account using the following changes
    const reportSelector = (report: OnyxEntry<Report>): OnyxEntry<Report> => {
        const isArchivedReport = report && !report?.private_isArchived;
        if (isArchivedReport) {
            return report;
        }

        const currentReportActions = allReportActions ? allReportActions[`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${report.reportID}`] ?? {} : {};

        if (!currentReportActions) {
            return report;
        }

        const sortedReportActions = ReportActionsUtils.getSortedReportActions(currentReportActions, true);
        const lastReportAction = sortedReportActions[0];

        const lastOriginalReportAction = lastReportAction ?? null;
        const archiveReason =
            // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
            (ReportActionsUtils.isClosedAction(lastOriginalReportAction) && ReportActionsUtils.getOriginalMessage(lastOriginalReportAction)?.reason) || CONST.REPORT.ARCHIVE_REASON.DEFAULT;

        if (archiveReason !== CONST.REPORT.ARCHIVE_REASON.POLICY_DELETED || archiveReason !== CONST.REPORT.ARCHIVE_REASON.ACCOUNT_CLOSED) {
            return report;
        }
    };

    const [chatReports] = useOnyx(ONYXKEYS.COLLECTION.REPORT, {selector: reportSelector});

The part of the code to get the latest action for a report can be refactored to a central function because there are other places with the same logic.
What alternative solutions did you explore? (Optional)

What is the reason we expect the workspace to be reopened?

I also agree this is a backend change

What is the reason we expect the workspace to be reopened?

+1 to John's question. The OP isn't clear what scenario we're talking about for archived rooms and the workspace chat. For example, this screenshot is showing an archivedReason of workspace deleted. Closing/opening an account isn't going to bring that workspace back.

For example, this screenshot is showing an archivedReason of workspace deleted. Closing/opening an account isn't going to bring that workspace back.

Hm, that's a good point. If I've intentionally closed an account, I wouldn't find it unexpected to not see the old workspace active. Even though the archivedReason doesn't explicitly say why it's no longer active, I don't know that it's particularly confusing given what the user has done.
@maddylewis is your expectation that we should reopen all workspaces when reopening an account, or that we should be clearer in explaining why it's no longer active, or something else?

@bfitzexpensify - yeah, i think having the rooms showing but archived without a clear reason why was confusing.
so maybe something that explains how to access those channels upon reopening an account would suffice.

To regain access to admin and announce rooms, create a new workspace!

or, permanently delete them upon closing an account. so once the account is reopened, the archived channels don't clutter up the LHN

You can't bring a workspace back after being deleted (in product, yes, maybe possible with eng from a backup), so we don't unarchive those rooms on the workspace. The #announce and #admins rooms remain shared but archived with the workspace owner though for historical reference. The workspace chat is retained by the submitter it belongs to as well, as a historical reference to their financial activity on the workspace - it should retain the chat title though and not Unavailable workspace if that's what you're seeing.

or, permanently delete them upon closing an account. so once the account is reopened, the archived channels don't clutter up the LHN

As for this, it has been somewhat discussed previously (bit of a proposal here), but it didn't go anywhere to being prioritised. It'll be quite a bit of work to change this flow, certainly wouldn't all be External either.

I tend to agree.  Reading that post @trjExpensify linked to in Slack, I don't think the work required to change this behaviour is warranted, and that a) most end-users would be able to understand why something was no longer available given they closed/re-opened account and b) even if they didn't, that's an easy thing for support to explain to them


Update testing-single-file-components-with-jest.md

TYPO FOUND。the reg to match js file should be ^.+\.js$, not ^.+\\.js$.

The double backslash is intentional—in JSON it's a special sequence that means Backslash character: https://tools.ietf.org/html/rfc7159#section-7


LambdaRank implementation in lambdaloss.py

I find a discrepancy between the loss formula in the paper and the LambdaRank's loss in lambdaloss.py.

Is it true or am I missing anything?
Thank you.

The implementation seems correct to me. I think you are missing a sigmoid in your definition of scores_diffs in the image you shared.

@dmh43  Thanks for the reply. The sigmoid is the σ sign in front of the scores_diffs.
The correct implementation is the first equation in LambdaRank, but the equation in Lambdaloss.py is not equivalent to the LambdaRank, correct?

Oh I see, I think there's some confusion on the notation. In the Burges paper that defines lambdarank, $\sigma$ is the growth rate parameter of the logistic function, not the function itself (scroll down further and it will become clear. Anyway it does not really make sense to take a sigmoid twice in a row (recall that log(1+e^-x) = log sigmoid(x))).

Yes, we tried to keep close to the original paper. Unfortunately, sometimes it may lead to confusing notation. The sigma parameter is the exponent of the logistic function, just as @dmh43 wrote.
Thank you, it is very encouraging to see not only a new issue but also a solution coming from someone other than the original contributors.

All good now. Thanks for the clarification.

@sadaharu-inugami You all did an incredible job with this codebase. Thanks so much for sharing it. Also the work on contextual ranking powered by this repo was also insightful to read.


module:composer-autoload command

This PR focuses on adding the new autoload.psr-4 and autoload-dev.psr-4 data to modules composer.json file.
Usage
Updates the autoload data in the composer.json file for all modules.
php artisan module:composer-autoload --all

Updates the autoload data in the composer.json file of a specific module.
php artisan module:composer-autoload Blog

App path
Uses the value from modules.paths.app_folder.

It would make sense if needed to update https://github.com/nWidart/laravel-modules/blob/master/src/Commands/ComposerUpdateCommand.php
As that updates composer.json.
@alissn thoughts on this?
Also when adding new functionality, we do need tests to ensure everything works, what is the reason you're unable to write tests?

Hi, I think it's not a good idea. This command updates all namespaces in the composer.json without changing anything in the classes. Migrating to a new structure should be done manually.
In my company's project, modules follow an old structure (see image below). If we run this command, what will happen? Nothing will work as expected.
This command cannot be applied to all modules because each one has its own structure and functionality.
The module:composerUpdate command only changes the composer.json files that contain "app" in the namespace. I'm not defending my code, but at that time, we needed to release a new major version. Now, we have more time to improve the code.
Additionally, the code needs to be more readable. Your code is very complicated.

It would make sense if needed to update https://github.com/nWidart/laravel-modules/blob/master/src/Commands/ComposerUpdateCommand.php
As that updates composer.json.

I thought about that, but the goals of both commands are different.

The module:composer-update command is focused on removing the App\\ path from the namespace,
The module:composer-autoload command is precise and focused on creating/updating the autoload*.psr-4 part of the composer.json only, not the whole file.
So, the two commands should exist separately as their purposes differ.

@alissn thoughts on this?
Also when adding new functionality, we do need tests to ensure everything works, what is the reason you're unable to write tests?

I may need assistance there. Each time I try to run a test and create one, it will all fail.
Usually, I'll clone the package inside my existing Laravel app, run the composer update command, and finally run the test or update snapshot.

When I run the composer test command

Hi, I think it's not a good idea.

Why? Is it because it doesn't align with the code structure of your company? Are we developing this package solely for your company, or is it intended for broader use?
It's important to evaluate the benefits of updating your code and to avoid favouritism.
This pull request, unlike yours, is designed to function with all configurations, including default and custom app paths.
I acknowledge that modules can have varying file structures within a project. Instead of criticism, why not suggest or collaborate on a solution that accommodates these variations?
While your pull request may have had its shortcomings, we're working together to address them. This demonstrates teamwork, maturity, and a willingness to understand. Rather than simply pointing out flaws, let's focus on proposing solutions. It's essential to consider the perspectives of others, especially when making decisions that impact more than just yourself.

This command updates all namespaces in the composer.json without changing anything in the classes. Migrating to a new structure should be done manually.

I noticed that your module:composer-update command deliberately removed the App\\ path from every namespace in the composer.json file, but it seems the potential consequences weren't fully considered. It's understandable to question the reasoning behind such actions, especially when it appears that similar changes have been made previously without scrutiny.
However, it's important to recognize that this pull request offers a solution that addresses both of our concerns. It allows for compatibility with both custom and default configurations. With this implementation, you can maintain your custom structures, while others can continue to use the default configuration without encountering conflicts.
By collaborating on this solution, we can ensure that our codebase remains robust and adaptable to various project setups.

In my company's project, modules follow an old structure (see image below). If we run this command, what will happen? Nothing will work as expected.

If the command doesn't apply to your project, it's best not to run it. That way, you have the choice. When you changed everything in your previous pull request, you didn't think about how removing the 'App\' path would affect other companies' work.
In your company's project, modules follow the old structure, but in many other companies that are always updating, their modules use the new structure, like mine. So, why submit code that only helps your company instead of creating a solution that benefits everyone? That's what we're suggesting now.

This command cannot be applied to all modules because each one has its structure and functionality.

Absolutely! It's essential not to update all modules at once if it does not apply to your project.
Instead, you can utilize the php artisan module:composer-autoload Blog command to update a specific module individually.
Thanks for pointing this out! It's always good to have precise control over updates to avoid unnecessary disruptions.

The module:composerUpdate command only changes the composer.json files that contain "app" in the namespace.

You're correct. This command is optional and can only apply when we run it.
However, forcefully removing the App\ namespace from every namespace in the package codebase without consideration for individual module requirements was not the best decision. It's important to allow developers the autonomy to make such changes themselves, especially when it's relevant to their specific modules.
By enabling developers to determine when to remove the App\ namespace from their modules, we promote flexibility and ensure that changes align with the unique needs of each project. This approach empowers developers to manage their modules effectively and make adjustments that best suit their project requirements.

I'm not defending my code, but at that time, we needed to release a new major version. Now, we have more time to improve the code.

Absolutely! It's crucial to prioritize doing the right thing at all times. When submitting code changes, it's essential to consider the broader community and ensure that the code can benefit everyone, not just one company.
Our focus right now is on improving the codebase to enhance its usability and accessibility for all users.

Additionally, the code needs to be more readable. Your code is very complicated.

I follow one of the simplest principles of coding - KISS.
Nevertheless, could you please respond with a cleaner version of the code? I'd like to study your approach as well.
Thank you for the review.

This command cannot be applied to all modules because each one has its own structure and functionality.

Added the --p|path option to enable custom app/ path per module/command
php artisan module:composer-autoload Blog --path=src

@solomon-ochepa
Why are you interested in writing an article for me? I'm just expressing my opinion as a user of this package.
Also, phpinsights is a very useful tool for checking code quality.
My time is very limited, but I'd be happy to help improve this package whenever I can.
Finally, thanks for spending time creating the PR.
Best regards.

This command cannot be applied to all modules because each one has its own structure and functionality.

Added the --p|path option to enable custom app/ path per module/command
php artisan module:composer-autoload Blog --path=src

Hi, @dcblogdev.
With this new feature (--p|path), I believe we are now good to go. Now, we can specify a custom app/ path per module/command, different from the modules.path.app configuration value.
php artisan module:composer-autoload Blog --path src

Hello, @dcblogdev why is this PR still pending?
It's an optional feature and will not impact the app by default!
Thank you.

This needs tests to ensure it does what you think it does.

since there are no tests I'm closing this PR.


Update docs outdated & Beginning French docs translation

Hi @hossainemruz,
The content of this MR below :

Update of article "Prepare your site" outdated, mainly block code and hugo version
Addition of the first batch of articles from the doc translated into French, like :

Features/index.fr.md
Quickstart/index.fr.md
Shortcodes/index.fr.md
Supports/index.fr.md
Getting-started/prepare-site/index.fr.md
Getting-started/github_pages/index.fr.md
Getting-started/netlify/index.fr.md

Hi @hossainemruz,
Do you see my MR ? It's seems that no.

Oh @hossainemruz, I understand. I'm sorry. Take your time and when you're ready, don't hesitate to give me your feedback.
See you later !

@hossainemruz ,
I'm not used to making MRs on Github. I reviewed the 2 files. I have updated my repo, but I don't know if I should do anything else afterwards with this MR. Can you check that it's OK for you?
Thank,


Kool for aarch64

Describe the feature
A clear and concise description of what the feature idea is. Please make sure you didn't find an existing issue with the same subject.
Backward compatibility concerns
Would this be BC?
Use cases
Situations and audience for this feature.
Examples
If applicable, add pseudo-commands examples to help explain your idea.

Hello @hataiit9x !
I am not familiar with aarch64 - quickly researching it's the ARMv8, right? We currently have kool-linux-arm7, we will look into this.
Out of curiosity - what hardware currently would benefit from such arch distribution?

PR ready - https://github.com/kool-dev/kool/pull/382 - this should go into upcoming release.

This has been fixed within our latest release 1.15.0.


Fix the redundant random number generation in Monte Carlo Sampler

Pull Request Description
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
Close #671
What are the significant changes in functionality due to this change request?

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[x] 1. Review all computer code.
[x] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[x] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[x] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[x] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[x] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[x] 8. If an analytic test is changed/added is the the analytic documentation updated/added?

There are only several lines of code changes, but I need to regold a lot of tests due to the random number generations. If you are available, @mandd @alfoa @PaulTalbot-INL, I would like all of you to take a look at the code changes to make sure the modifications are proper.

@PaulTalbot-INL @alfoa All the tests for this PR are green now, could you take a look?

The only new merge since my approval is pulling devel in, so my approval doesn't change.  I would like to give Andrea a change to OK it though.

@alfoa Could you take a look at this PR?

@alfoa Could you take a look at this PR?

Any new comments on this PR @PaulTalbot-INL @alfoa ?