Utilize the new StorageAdapter interface methods

Blocked by: https://github.com/grammyjs/grammY/pull/366

Closing in favor of #6


Optimize and Improve GFPGAN and Real-ESRGAN Pipeline

Clean PR #102

@lstein Here you go. Let me know if you need anything else.

@lstein I'd recommend merging this before other commits. Because for example the new server.py file utilizes GFPGAN in the older way which it should not be anymore. Those will need to get fixed again. Other pushes to dream.py are raising conflicts.

@blessedcoolant It's back to generating two identical output lines for each requested image:
Outputs:
outputs/img-samples/000010.399078083.png: "a pretty dark-skinned lady" -s50 -b1 -W512 -H512 -C7.5 -mk_lms -G1.0 -S399078083
outputs/img-samples/000010.399078083.png: "a pretty dark-skinned lady" -s50 -b1 -W512 -H512 -C7.5 -mk_lms -G1.0 -S399078083

It's not doing the work twice, so just duplicate lines in the results list.

@lstein I'd recommend merging this before other commits. Because for example the new server.py file utilizes GFPGAN in the older way which it should not be anymore. Those will need to get fixed again. Other pushes to dream.py are raising conflicts.

No worries. I'm aware and taking care of the conflicts.

@blessedcoolant It's back to generating two identical output lines for each requested image:
Outputs:
outputs/img-samples/000010.399078083.png: "a pretty dark-skinned lady" -s50 -b1 -W512 -H512 -C7.5 -mk_lms -G1.0 -S399078083
outputs/img-samples/000010.399078083.png: "a pretty dark-skinned lady" -s50 -b1 -W512 -H512 -C7.5 -mk_lms -G1.0 -S399078083

It's not doing the work twice, so just duplicate lines in the results list.

That's because the output is linked to the callback. The double lines only happen when you either upscale or face restore. This creates two images technically. You first create the SD image and then overwrite that file with the same name after the upscaling and restoration is done.
As long as the logging is linked to the output, it'll show two lines. I'll do a patch fix for this later where I change that functionality. But that's unrelated to this PR.

@blessedcoolant It's back to generating two identical output lines for each requested image:
Outputs:
outputs/img-samples/000010.399078083.png: "a pretty dark-skinned lady" -s50 -b1 -W512 -H512 -C7.5 -mk_lms -G1.0 -S399078083
outputs/img-samples/000010.399078083.png: "a pretty dark-skinned lady" -s50 -b1 -W512 -H512 -C7.5 -mk_lms -G1.0 -S399078083

It's not doing the work twice, so just duplicate lines in the results list.

That's because the output is linked to the callback. The double lines only happen when you either upscale or face restore. This creates two images technically. You first create the SD image and then overwrite that file with the same name after the upscaling and restoration is done.
As long as the logging is linked to the output, it'll show two lines. I'll do a patch fix for this later where I change that functionality. But that's unrelated to this PR.

I understand it's just cosmetic, but I found the place in pngwriter where the second copy of the file is being added to results and conditioned it on the upscale option so that the second log line is only written when -save_orig is specified.

@blessedcoolant It's back to generating two identical output lines for each requested image:
Outputs:
outputs/img-samples/000010.399078083.png: "a pretty dark-skinned lady" -s50 -b1 -W512 -H512 -C7.5 -mk_lms -G1.0 -S399078083
outputs/img-samples/000010.399078083.png: "a pretty dark-skinned lady" -s50 -b1 -W512 -H512 -C7.5 -mk_lms -G1.0 -S399078083

It's not doing the work twice, so just duplicate lines in the results list.

That's because the output is linked to the callback. The double lines only happen when you either upscale or face restore. This creates two images technically. You first create the SD image and then overwrite that file with the same name after the upscaling and restoration is done.
As long as the logging is linked to the output, it'll show two lines. I'll do a patch fix for this later where I change that functionality. But that's unrelated to this PR.

I understand it's just cosmetic, but I found the place in pngwriter where the second copy of the file is being added to results and conditioned it on the upscale option so that the second log line is only written when -save_orig is specified.

Perfect. Thank you. The double line was bothering me a lot lol.

@blessedcoolant I've merged, committed and pushed, but I want to make you aware that there is still a bug in how batches are processed. If I specify a single iteration and a batch size of 2 (-b2) I end up with the following:

The first generated original image, e.g.<PHONE_NUMBER>202066.01.png
The second generated original image, e.g.<PHONE_NUMBER>202066.01.png
The retouched and upscaled version of the second image, named<PHONE_NUMBER>202066.01.png

This is without -save_orig, so actually I should be getting two retouched and upscaled images and seeing no originals.
Batches are very problematic because I have never figured out how to control or recover the seed of the second and subsequent images. Therefore I let the ML inference code do its thing and then I tack on a version number to the first image's seed. This confuses me, and I'm sure it's confusing your code too.
I think that most people use -n rather than -b, so I've let this go out with a known bug. But could you have a look? I may just remove the batch option anyway, as it uses a lot of VRAM and doesn't give you reusable seeds.

@lstein Let me take a look at that. I've only ever used -n myself too because even in other repos that have SD optimized, they recommend usage of -n rather than -b because -b is just a memory hog. It's just practical to do more iterations rather than generating more samples per batch.
Let me have a look and see if there's any reason to really retain -b for practical purposes.

@lstein Turns out on an RTX 3080 8B card, I can't even do 2 batches. Maybe just nuke the option. -n does exactly the same more or less without asking me to sell my kidney to build more GPU's.


Build object detection model v0.1

An SSD model pre-trained by DOTA team would be a good start. It can be downloaded following links here (github.com/ringringyi/DOTA_models#training)

It has been built.


Add Pagination on the Apply Filter Button

Date: 07 February 2024

Developer Name: @Achintya-Chatterjee

Issue Ticket Number

https://github.com/Real-Dev-Squad/website-dashboard/issues/678
Description
Pagination is missing when multiple filter is applied and user count is 100+

Documentation Updated?

[x] Yes
[ ] No

Under Feature Flag

[ ] Yes
[x] No

Database Changes

[ ] Yes
[x] No

Breaking Changes

[ ] Yes
[x] No

Development Tested?

[x] Yes
[ ] No

Screenshots

Screenshot 1

Screencast from 09-02-24 02:15:52 AM IST.webm

Test Coverage

Screenshot 1

Additional Notes

Is there next or previous pages of pagination for the visual provided? If not the buttons should be in disabled state.
Also, can you please provide a demo where visiting next, previous pages work? (Can be done by decreasing users limit temporarily  for testing purpose I think).

Could you please provide tests stats for your changes? If not available, kindly specify the title of the test that passed during testing.

@sahsisunny already provided tests stats for my changes

Is there next or previous pages of pagination available for the visual provided? If not the buttons should be in disabled state. Also, can you please provide a demo where visiting next, previous pages work? (Can be done by decreasing users limit temporarily for testing purpose I think).

@ajoykumardas12 cool, I will provide a video

Could you please provide tests stats for your changes? If not available, kindly specify the title of the test that passed during testing.

@sahsisunny already provided tests stats for my changes

Where?


[SPARK-33486][SQL] Collapse Partial and Final physical aggregation nodes together whenever possible

What changes were proposed in this pull request?
This PR tries to reduce the number of physical aggregation nodes by collapsing the PARTIAL and the FINAL aggregation nodes together when there is no Exchange between them.
Example - consider the following query:
SELECT sum(t2.col1), max(t2.col2), t1.col1, t1.col2
FROM t1, t2
WHERE t1.col1 = t2.col1
GROUP BY t1.col1, t1.col2

Current plan:
  == Physical Plan ==
  *(5) HashAggregate(keys=[col1#7, col2#8], functions=[sum(cast(col1#18 as bigint)), max(col2#19)], output=[sum(col1)#140L, max(col2)#141, col1#7, col2#8])
  +- *(5) HashAggregate(keys=[col1#7, col2#8], functions=[partial_sum(cast(col1#18 as bigint)), partial_max(col2#19)], output=[col1#7, col2#8, sum#148L, max#149])
     +- *(5) SortMergeJoin [col1#7], [col1#18], Inner
        :- *(2) Sort [col1#7 ASC NULLS FIRST], false, 0
        :  +- Exchange hashpartitioning(col1#7, 5), true, [id=#644]
        :     +- *(1) Project [value#2 AS col1#7, (value#2 % 10) AS col2#8]
        :        +- *(1) SerializeFromObject [input[0, int, false] AS value#2]
        :           +- Scan[obj#1]
        +- *(4) Sort [col1#18 ASC NULLS FIRST], false, 0
           +- Exchange hashpartitioning(col1#18, 5), true, [id=#653]
              +- *(3) Project [value#13 AS col1#18, (value#13 % 10) AS col2#19]
                 +- *(3) SerializeFromObject [input[0, int, false] AS value#13]
                    +- Scan[obj#12]

The above plan can be optimized to following:
  == Physical Plan ==
  *(5) HashAggregate(keys=[col1#7, col2#8], functions=[sum(cast(col1#18 as bigint)), max(col2#19)], output=[sum(col1)#157L, max(col2)#158, col1#7, col2#8])
  +- *(5) SortMergeJoin [col1#7], [col1#18], Inner
     :- *(2) Sort [col1#7 ASC NULLS FIRST], false, 0
     :  +- Exchange hashpartitioning(col1#7, 5), true, [id=#727]
     :     +- *(1) Project [value#2 AS col1#7, (value#2 % 10) AS col2#8]
     :        +- *(1) SerializeFromObject [input[0, int, false] AS value#2]
     :           +- Scan[obj#1]
     +- *(4) Sort [col1#18 ASC NULLS FIRST], false, 0
        +- Exchange hashpartitioning(col1#18, 5), true, [id=#736]
           +- *(3) Project [value#13 AS col1#18, (value#13 % 10) AS col2#19]
              +- *(3) SerializeFromObject [input[0, int, false] AS value#13]
                 +- Scan[obj#12]

Why are the changes needed?
This change removed the unrequired Aggregation node and so will help in improving performance.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Added UTs.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test

Test build #131346 has started for PR 30426 at commit 5965fb9.

Test build #131346 has finished for PR 30426 at commit 5965fb9.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131346/
Test FAILed.

cc - @maropu @cloud-fan @dongjoon-hyun

I remember SPARK-12978 (#15945 and #10896) and is this related to it? cc: @cloud-fan Btw, have you checked if this optimization could make some queries (e.g., TPCDS) faster? (I just want to know actual performance numbers)

Test build #131347 has started for PR 30426 at commit 2c68fe3.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35950/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35950/

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/35950/
Test FAILed.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35951/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35951/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/35951/
Test PASSed.

Test build #131347 has finished for PR 30426 at commit 2c68fe3.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131347/
Test FAILed.

Test build #131360 has started for PR 30426 at commit e9a25d9.

@maropu Thanks for pointing out to old PR and jirs - Yes SPARK-12978 seems related to SPARK-33486.

Btw, have you checked if this optimization could make some queries (e.g., TPCDS) faster?

I did impact analysis on TPCDS 100 scale and didn't find noticeable improvement - In TPCDS at most of the places, the 1st HashAggregate (HA) reduces rows significantly and the 2nd HA doesn't take a lot of time after that.
But we have seen some good improvements in some customer queries - Specifically when HA-1 doesn't reduce rows significantly.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35964/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35964/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/35964/
Test PASSed.

Test build #131360 has finished for PR 30426 at commit e9a25d9.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131360/
Test FAILed.

Test build #131425 has started for PR 30426 at commit dfad4fc.

Test build #131425 has finished for PR 30426 at commit dfad4fc.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131425/
Test FAILed.

Test build #131427 has started for PR 30426 at commit e7f326a.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36031/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36033/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36031/

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36031/
Test FAILed.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36033/

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36033/
Test FAILed.

Test build #131427 has finished for PR 30426 at commit e7f326a.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
  case class GetShufflePushMergerLocations(numMergersNeeded: Int, hostsToFilter: Set[String])
  case class RemoveShufflePushMergerLocation(host: String) extends ToBlockManagerMaster
abstract class LikeAllBase extends UnaryExpression with ImplicitCastInputTypes with NullIntolerant
case class LikeAll(child: Expression, patterns: Seq[UTF8String]) extends LikeAllBase
case class NotLikeAll(child: Expression, patterns: Seq[UTF8String]) extends LikeAllBase
case class ParseUrl(children: Seq[Expression], failOnError: Boolean = SQLConf.get.ansiEnabled)

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131427/
Test PASSed.

@maropu @cloud-fan Gentle reminder - Please review the changes and provide your feedback.

But we have seen some good improvements in some customer queries - Specifically when HA-1 doesn't reduce rows significantly.

Yea, I've checked TPCDS performances w/this change again by myself, but I couldn't find any improvement. So, could you give us a concrete example of how much it will improve performance? This change can make rules complicated, so I think we need to consider the tradeoff between complexity and performance improvements.

So, could you give us a concrete example of how much it will improve performance?

@maropu We have seen customer queries where Aggregation happens on close to primary keys. In those scenarios, it makes complete sense to remove redundant Aggregation operator as it will unnecessarily increase the execution time.

We have also seen the use case with customers when they do aggregation on close to primary keys.


Spinner not shown when --select-1 or --exit-0 is used

Category

[x] fzf binary
[ ] fzf-tmux script
[ ] Key bindings
[ ] Completion
[ ] Vim
[ ] Neovim
[ ] Etc.

OS

[ ] Linux
[x] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[x] bash
[x] zsh
[ ] fish

Hi, I noticed that when using --select-1 or --exit-0 spinner is not shown. It looks like fzf waits for the result list and then enters the list selection mode. Is this the intended behavior?

Yes. fzf does not start user interface until it's clear that the condition cannot be met.
# No point of starting the finder interface
seq 10 | fzf -q 5 --select-1


Google Sheets Api Integration

Project title
Google Sheets Api Integration
Project Description
Google Sheets Api Integration GET and POST data to google sheets using AJAX.
Stack:
And in order to tick the check box just but x inside them for example - [x] like this. Please delete options that are not relevant.

[x] Html
[x] CSS
[x] JavaScript
[] ReactJS
I am a GSSoC Contributor,please assign me this issue.

/assign


Explicit destruction changes, part 1 (critical, blocking)

Not finished yet. Will eventually implement the following:

[x] Removal of SemiWeakRef, onDestroy, isAccessible
[x] Changed SpecialKey:apply and applyInstanceProps to use Instance instead of SemiWeakRef
[x] The above changes imply that instances returned from New no longer have implicit garbage collection semantics. As such, removed the unit tests for inhibiting garbage collection.
[x] A needsDestruction utility method, which returns true if a given value needs an associated destructor. Currently only true for instances.
[x] Adding destructors to Value and Computed, which are called when an old value is dropped from these objects.
[x] Warnings when Value, Computed, ForKeys, ForValues or ForPairs receives a value which needsDestruction but no destructor is provided. The default destructors provided by ForKeys, ForValues and ForPairs are considered deprecated, and will print these warnings, but will still function for the time being.
[x] New unit tests for these features

Now completed!

Merge was indeed a little bit ass, basically gave up reconciling the changes and redid it all on the new files.
Some future considerations to be done:

Computed objects don't currently pass metadata to their destructors - see #189 for considerations
In the future, not using destructors for data types that need destruction should be changed from a warning to an error - see #183 for considerations

For now though - thy release hath been unblocked! Thine codebases will also need to be updated a little, so thou might experience a little bit of a tedious refactor job.


Consider adding self.location to the worker global scope.

A common way for Cloudflare-unaware JS libraries to check if they are running in a web worker is: typeof importScripts == 'function'.
Once this passes, they assume other web-standard API like self.location is defined.
Perhaps workerd could use a blob url as the location here instead of leaving it undefined?

Not sure there's really sufficient use case justification for this. How would you expect to use it? I'll note that none of the other primary non-browser runtimes (node.js, deno, bun, etc) implement self.location.

I ran into emscripten js boilerplate that does a "am I running in a web worker" check using typeof importScripts = 'function'.  That actually passes on CF workers, but later on when it attempts to use self.location (unchecked, assuming it's there since importScripts was), it crashes.  It just uses the .href for some default location probing logic.
I have a PR out for that on their side - honestly I was surprised importScripts was defined at all in CF workers.  Does anyone use it?  Removing importScripts would also fix this particular issue.

For Emscripten feature detection I've been doing:
    // Force Emscripten to feature detect the way we want
    // They used to have an `environment` setting that did this but it has been
    // removed =(
    globalThis.window = {};       // makes ENVIRONMENT_IS_WEB    = true
    globalThis.importScripts = 1; // makes ENVIRONMENT_IS_WORKER = false
    const p = createEmscriptenModule(emscriptenSettings);
    delete globalThis.window;
    delete globalThis.importScripts;
    const emscriptenModule = await p;

Here's the PR over there in case anyone wants to +1: https://github.com/emscripten-core/emscripten/pull/21010
For workerd tho, I'm still curious why importScripts exists - never seen a single cloudflare worker example where it is utilized

It's also not implemented:
jsg::Unimplemented importScripts(kj::String s) { return {}; };

Use Unimplemented as the return type of a method to mark the whole method unimplemented.
Attempts to use the API will throw an exception.

So removing it should be pretty harmless...

I'd be fine with removing importScripts(...) /cc @kentonv

Landed the PR that removes importScripts with a compatibility flag.

@jasnell, I'm getting ReferenceError: navigator is not defined when trying to access navigator.userAgent on Cloudflare Workers - am I missing something?

@mrbbot ah right, that new worker had no compatibility flag/date at all
{
  placement: {},
  compatibility_date: "",
  compatibility_flags: [],
  usage_model: "unbound",
  tags: [],
  tail_consumers: [],
  logpush: false,
  bindings: [
    ...
  ]
}

After redeploying with a compat date >= 2022-03-21, navigator.userAgent is defined, thanks!


More_tracing

[ ] I added an entry to CHANGELOG.md if knowledge of this change could be valuable to users.

Here is a brief summary of what I did:

 Erweiterung des Workflow-Tracing um QueryRects und Workflow-Run-Nummer


Add standard rds

what

Adding baseline RDS Datadog standard monitors for cpuutilization, database-connections, disk-queue-depth, freeable-memory, swap-usage

why

Establish an out of box baseline set of monitors that can be used with Datadog standard integration

/test all

/test all


User profile URL is case sensitive

When trying to view a users profile, the URL is case sensitive.
https://www.freecodecamp.org/mot01 - works
https://www.freecodecamp.org/moT01 - doesn't work
It would be nice if it could ignore the case sensitivity somehow, if possible.

In my opinion, that's a bad idea. would allow for less usernames that are not complex

Best practices call for usernames to be unique, however, given that people already have duplicate usernames, it would be quite a task to migrate to a new system altogether

Not sure how usernames are stored, but seems like they are all stored in lowercase.
If possible, perhaps we can lowercase the letters before querying the database?

@ezioda004 but that could be a problem for some people who have same usernames but the letters cases are different
For example

NirajN would be stored as nirajn
But
Nirajn will also be stored as nirajn

@Nirajn2311 That shouldnt be a problem, fcc doesnt allow 2 same usernames with different case sensitivity.
If NirajN exists then one cannot take Nirajn or nirajn, you can test this out in the settings menu (change username validator).
So, it does look like the names are indeed stored as lowercases, so querying the DB with lowercase shouldn't be a problem.

There's no point doing so. As if you wanted to use the username in capital letters, then lowercase won't be supported and vice-versa.

@dkcr7 I don't understand what you are getting at, no point in doing what?

I'm sure I signed up as RaspberryLime, but fCC displays it in lowercase instead. I think that when checking to see if a username is available when signing up or changing a username that it should be a case insensitive search (so there isn't RaspberryLime and raspberrylime), but otherwise the user should be able to choose the capitalisation they want.

@addv12345 I can't assign it to you through GitHub (I think you have to have write permissions for me to do that) but I've set it to "in progress". Please keep us posted and if you need any help, we're here for you in https://gitter.im/freecodecamp/contributors

Hi @QuincyLarson
Some of the requirements here are not trivial, because of our legacy user model schema. That is somethings about the model if not planned from the beginning always make your system resistive to change.
Anyways I will leave some pointers for anyone working on this:

I think while we want this do this, its best approach is to take the way others are handling it. The URL for example should always be lowercase and resolve like that automatically for example:
https://github.com/freeCodeCamp will always resolve to https://github.com/freecodecamp
That's simply a safer way to handle a complex lookup.

The URL /moT01 to /mot01 to  will have to happen in the client side interceptor. You should look into /client. @Bouncey maybe able to expand this pointer better.

Currently we have all the usernames lowercase-ed. This happens as a part of validation step. https://github.com/freeCodeCamp/freeCodeCamp/blob/d11bb33f56cf7f47c5d0297e14b7014f404e1ca0/api-server/common/models/user.js#L267

Also see the schema in user.json
 {
 ...
 "properties": {
     ...
     "username": {
       "type": "string",
       "index": {
         "mongodb": {
           "unique": true,
           "background": true
         }
       },
       "require": true
     },
 ...

Check  LoopBack 3 docs if you need any additional help.

While this is fixable, major changes like this may not be the best for the larger scope of the project. So, this needs extensive testing unless we want to end up with hundreds of support emails for the way a username appears.

This saga handles the profile request:
https://github.com/freeCodeCamp/freeCodeCamp/blob/db02d1c479812d6cc18e9c31094d5dde434a91be/client/src/redux/fetch-user-saga.js#L30-L42
The maybeUser argument should be enforced to be lower case.

@raisedadead Thanks for the details. Since this is a relatively low priority, I'll add it to the roadmap and we can tackle it later.

Hi! @QuincyLarson My friends @addv12345 are still potentially interested in this issue. However, we are new to this project. Would it still be worth investigating this particular problem?

Would it still be worth investigating this particular problem?

Yes, sure. We are interested in fixing this. However, as I said before this needs extensive testing and the solution has to be elegant enough to play well with our current schema. We have put up all the pointers in the previous comments.
Please feel free to dig in, and let us know if you need additional information on working thru this.
Thanks.

Sounds good! We were looking into it earlier. The issue we ran into was that we could not find a way to test the code or access a user's public profile (or a mock user's profile - not sure how that part is structured yet). Can you please point us in the right direction?

Sure.
Once you setup freeCodeCamp locally, you should have already seeded (a.k.a populated) the database  using the guide.
The current way of reaching the user profile page is bit tedious (because we have Gatsby's dev server taking over in local development).
Here is what you should do:

Then on, I would recommend using a GUI DB tools like Robo 3T, and tweak your user(s) / add more user objects etc. as you please.
Feel free to hit us up on Contributors Chat room or DM me as well.
Thanks for working on this and goodluck!

@raisedadead I tried to run some commands on mongodb locally, and I actually noticed that the username is stored in the original format. Am I looking in the right place?

@icatat It is stored that way in the db, so that it displays as the user originally entered it.

@icatat That is more an implementation of the Development User. this record should insert the user with the correct casing of the username also.

@icatat @addv12345 I have created a fresh request for the requirement, since it differs from the original issue.

@raisedadead  Thank you very much! We will look into the new issue then!


Think about to fix the issues found by adapter checker

I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:
https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/DJONvl/ioBroker.z2m

[ ] [E150] No common.connectionType found in io-package.json
[ ] [E152] No common.dataSource found in io-package.json
[ ] [E154] common.dependencies must contain {"js-controller": ">=2.0.0"} or {"js-controller": ">=3.0.0"}
[ ] [E142] logo is too big. It mast be less or equal than 512x512
[ ] [E200] Not found on npm. Please publish
[ ] [E503] "iob_npm.done" found in repo! Please add it to .gitignore
[ ] [E801] No repository about text found. Please go to "https://github.com/DJONvl/ioBroker.z2m", press the settings button beside the about title and add the description.
[ ] [E802] No topics found in the repository. Please go to "https://github.com/DJONvl/ioBroker.z2m", press the settings button beside the about title and add some topics.
[ ] [E818] file iob_npm.done found in repository, but not found in .npmignore
[ ] [E914] file iob_npm.done found in repository, but not found in .gitignore

I have also found warnings that may be fixed if possible.

[ ] [W400] Cannot find "z2m" in latest repository

Thanks,
your automatic adapter checker.
P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info

Thanks, that all bugs have been fixed.


Fix version hash -shouldn't use timer.

VersionHashTests used UtcNow which was non-deterministic and were randomly failing in CI.
Add test to help verify uniqueness.

✅ No public API change.


Error serializing/deserializing record with consecutive arrays

It appears that a record with two consecutive array fields is not getting serialized (or maybe deserialized) correctly.  The following test fails, saying that the rehydrated value of secondvec is [] where it should be [3,4].  I could only get the test to fail when firstvec is empty.  If you uncomment the line "my_struct.firstvec = vec![8,9];" the test passes.
extern crate serde;
#[macro_use] extern crate serde_derive;
extern crate serde_json;
extern crate avro_rs;
extern crate serde_bytes;

fn main() {
    println!("Hello, world!");
}

#[derive(Clone, Debug, Deserialize, Serialize, Default)]
pub struct MyType {
    pub firstvec: Vec<i64>,
    pub secondvec: Vec<i64>,
}

pub const JSON: &str = r#"
{
  "type": "record",
  "name": "mytype",
  "fields": [
    {"name": "firstvec", "type":{"type":"array", "items":"long"}},
    {"name": "secondvec", "type":{"type":"array", "items":"long"}}
  ]
}
"#;

#[cfg(test)]
mod tests {
    use super::*;
    use avro_rs::{from_avro_datum, from_value, to_avro_datum, to_value, Schema};

    #[test]
    fn serialize_round_trip() {
        let json_scheme: serde_json::Value = serde_json::from_str(JSON).unwrap();
        let scheme = Schema::parse(&json_scheme).unwrap();
        let mut my_struct: MyType = Default::default();
	//my_struct.firstvec = vec![8,9];
        my_struct.secondvec = vec![3,4];
        let bytes = to_avro_datum(&scheme, to_value(my_struct).unwrap()).unwrap();
        let rehy_struct: MyType =
            from_value(&from_avro_datum(&scheme, &mut &bytes[..], None).unwrap())
                .unwrap();
        assert_eq!{rehy_struct.secondvec, [3,4]};

    }
}

Thanks for reporting this!
I was able to reproduce the error. I was able to figure out what the problem came from:
https://github.com/flavray/avro-rs/blob/master/src/encode.rs#L66
If the length happens to be 0, the 0 will be encoded twice (once as the array length,once as the "terminating" zero). The code is missing a check when the list is empty (we should not encode anything but the "terminating" zero if the list is empty).
The same is happening for Value::Map a few lines down.
I will try to get a fix out soon (probably during the week-end), feel free to open a PR if this is a pressing issue ☺

Thanks so much for the fix!  Would you consider cutting a new release?
On Mon, Aug 6, 2018 at 8:19 AM, Flavien Raynaud<EMAIL_ADDRESS>wrote:

Closed #49 https://github.com/flavray/avro-rs/issues/49 via #50
https://github.com/flavray/avro-rs/pull/50.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/flavray/avro-rs/issues/49#event-1772744149, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAIbVSDb6EoCZZvDKvMitlKiqNxUjVEBks5uODQ4gaJpZM4Vq-Rl
.


Basic testing has been included and is ready for merging into master

All tests are passed locally and should be merged into master as soon as possible. Going forward, when working on new branches, the tests related to the changes should be updated as appropriate and if new features are added, new tests should be created at the same time in the feature branches.

Refers to corresponding issue #1


Asset modifications staging

Assets created or updated through MDWHub should provide a staging mechanism with ability to promote and roll back changes.  Staged changes can be accumulated (save, edit, save, edit).  Asset version history shall also be displayed (see #677).

Remaining work for 6.1.27:

Create new package
Search asset to stage
Site Admin can create a staging area for any user
Rollback (from History view)


Bugfixes with JsonAdaptedPerson

Bug fix where json file wasn't saving the correct attributes
Bug fix where editCommand wasn't editting the new fields properly

Codecov Report
Base: 52.57% // Head: 52.42% // Decreases project coverage by -0.15% :warning:

Coverage data is based on head (bbce431) compared to base (a66763b).
Patch coverage: 33.33% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #60      +/-   ##
============================================
- Coverage     52.57%   52.42%   -0.16%
+ Complexity      435      434       -1
============================================
  Files           101      101
  Lines          1997     1997
  Branches        232      232
============================================
- Hits           1050     1047       -3
- Misses          877      880       +3
  Partials         70       70

Impacted Files
Coverage Δ

.../longtimenosee/logic/parser/EditCommandParser.java
75.00% <0.00%> (ø)

.../java/longtimenosee/model/person/RiskAppetite.java
76.00% <0.00%> (-4.00%)
:arrow_down:

.../java/longtimenosee/storage/JsonAdaptedPerson.java
87.30% <100.00%> (ø)

...main/java/longtimenosee/model/person/Birthday.java
42.10% <0.00%> (-5.27%)
:arrow_down:

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.


dx serve --verbose should display warnings to the user

Specific Demand

The screenshot shows [WARN] There were 6 warning messages during the build. - but what are these warnings, exactly? Why can't I view them? The dx cli clears the terminal, so you can't scroll back to see what came before this output. I passed --verbose hoping these warnings would be displayed.
Implement Suggestion

I realized that these are actually the Rust compiler warnings, and not specific to dx. In which case, my request becomes much less important. Maybe the WARN message can be clarified at the least.

Is there a reason why it clears the terminal? In my IDE cls doesn't do anything so I never noticed. That must be pretty annoying though.

I'm on macOS where it uses clear (rather than cls)
https://github.com/DioxusLabs/dioxus/blob/30a328343860ec66d48014bace616648c65993ce/packages/cli/src/server/output.rs#L25-L29

I'm on macOS where it uses clear (rather than cls)

The specifics on your OS might be different, but I was asking if there's a reason why it does that. It's directed towards the people who built/maintain the CLI. This might not be the right place to ask though. Just found it strange.

Is there a reason why it clears the terminal? In my IDE cls doesn't do anything so I never noticed. That must be pretty annoying though.

It clears the current text on the terminal so that it acts more like an TUI and the different status' are placed at a consistent spot in the terminal. There was some discussion about using the dioxus-tui crate to implement the CLI. That would make the CLI act fully like an app (not just dx create).
For example, if we used dioxus-tui we could make the warning a clickable button that shows all of the warnings it encountered during the build.

I think using dioxus-tui is overkill. It's just a build command. Also, @srid, do you think you can close this? #1524 got merged which just adds a message to run cargo check to view the warnings. I think that's good enough.

I think using dioxus-tui is overkill. It's basically just a build command. Also, @srid, do you think you can close this? #1524 got merged which just adds a message to run cargo check to view the warnings. I think that's good enough.

It's basically just a build command

There are future plans that will make it more complex. dx create is already a (minimal) TUI. In the future, the CLI could become a cross platform set of dev tools for Dioxus that shows logging for components, server functions and potentially your database.

Explore the currently active props of components
Explore why specific components on the page were rerendered
Explore logs originating from a component
Navigate through every server function to view logs, latency, CPU time, and suspicious activity


missing depth data for small object when no background is present in frame.

hello realsense support.
I'm trying to get depth data for a black/dark grey metal wire with  2mm diameter at a distance of 30cm to 130cm.
using D435, rs version 2.16.1. , firmware version <IP_ADDRESS>.
when i use the high density preset , and place a flat background (like a wall) behind the wire by a few dozen cm, the camera is able to calculate depth data at a distance of about 90cm.  ( uploaded exmaple).
when I move the flat background farther away , more then 1 meater from the wire, ( like when i'm outdoors or in a hallway ) , the camera is unable to determine depth data for the same object at 90cm and closer. ( uploaded a few examples) .
I'm wondering/asking if this behavior is due to stereo vision limitations, d400 limitations , or if anything can be done/configured to allow me to receive depth data for the wire when there's no background in close proximity to the wire.
wire attached to chair with a wall behind it.

wite attacked to chair, depth data is available for part of the wire that has a background near it ,
but not for the secion where the background is at a distance of 4m

similar example in a hallway.

thanks,
Omer.

Hi @omerbrandis,
Did you use the default projector power? You may try higher power.
Did you try different preset, like high accuracy preset?
Could you please attach the left IR image along with the depth image, so that we can understand the scenes better?
Thanks,

Hello RS customer support.

i've now tried using the value 360 for laser power. ( default is 150 ), it did not have any visible effect
.

i've tried the high accuracy preset , it returns significantly less data.

below is the image returned by rs-viewer for infra1

please advise,
Omer.

Hi @omerbrandis,
OK. Please keep using the high density preset.
The IR image below does not exactly match the depth image. Did you take the two images at the same scene?
Please note in the left image below, there are some areas around the door and on the floor are over exposed. The camera will not generate depth for these areas. please avoid the over expose in the scene.
Another suggestion is using the ROI feature to select the metal wire area.
You may also play with different post processing to see if they can make any difference.
Thanks,

Hello RS customer support.

the uploaded images are not of the exact same scene at the exact same time,
but its the same hallway , chair and wire.

regarding post processing, there are 4 types , each with its own set of parameters , some of which are "Continuous" in nature,
are you suggesting I check all the possible combinations of them ?
that's sounds somewhat unfeasible , besides the purpose of this issue/ticket was to avoid this approach to this problem.
I'm asking someone at with a true understanding of the internal's/"physics" of the d435 can confirm that the "missing data" is due to the cameras "built in" limitations, or suggest a specific solution.

thanks,
Omer.

Hi Hi @omerbrandis,
OK. Please try the ROI feature to see if it can improve.
Detecting 2mm diameter wire in 130cm with different backgrounds is pretty challenging for the all depth cameras.
Another suggestion is using D415, since D415 uses 2M depth sensor and D435 use 1M depth sensor. D415 should provide a better performance for this usage.
Thanks,

Hello RS customer support.
i've tried:

setting roi ( using high density)
hand and medium density
each of the post processing functions ( using default values for parameters )
none of the above made any difference.

I should also be able to retest using D415 in a few days time.
would it be possible to forward my question to development ?
thanks,
Omer.

Omer,
A few general comments on your question and situation and a few suggestions:
I believe the primary factors in seeing such a feature are contrast and resolution. Depth settings may be adjusted slightly to improve things but are unlikely to overcome the fundamental resolution and contrast limitations.
Resolution is fairly obvious - a small feature like a 2mm wire at ~1m from the D435 camera corresponds to ~1 pixel, which is close to the limit of what can be detected and I would expect marginal capability at best. However, depth values for such size objects may be obtainable depending on other factors like scene content around the object (e.g., wire) and to some extent depth parameters. Some specific types of post processing may also help as discussed below.
I suspect the reason you see better results with a wall (presumably a uniform surface with little or no natural texture) behind the wire is the improved contrast near the wire. The wire basically stands out more relative to the wall background. If that wall or surface were well textured, you would likely not see the wire as well or at all. You should also find that if the wall is too close to the wire, it will start to blend in with the wall and not be distinguishable.
Also, though it may be counter-intuitive, you might try reducing the projector power or possibly turning it off. This would further reduce the background texture and the wire will probably be more easily detected. Of course, this will also degrade the overall depth quality in most cases so may not be a feasible solution. But, you could try it to see the effect.
You are already using the High density preset which has the lowest preset thresholds and will provide the most valid depth along the wire, as you have seen. Lowering the first few of these (2nd peak, neighbor, median) further may provide some additional benefit, but I think more improvement will be seen by reducing the "remove threshold" value in the RSM section of advanced parameters, or possibly turning it off completely (select RSM Bypass). This will come at the expense of more noisy depth over the entire image but should improve the ability to see fine/small objects. If the overall depth quality is not degraded too much for your application, you could try using this setting.
There are 2 types of post processing that also may help but their feasibility will also depend on the requirements of your usage.

Under spatial filter, there is a section called "hole filling mode". Selecting an N-pixel radius will fill in depth values around a valid pixel over the specified radius. You can try enabling this and setting to a radius that provides sufficient depth around the wire.
Under temporal filter, there is a "persistency mode" that does something similar in the time domain - if a valid pixel is detected, it will persist based on the condition chosen. You can try some of these settings to see how much persistency is needed.

For either of these types of filter, they will only help if there is some depth at all to "fill out". If there is never any valid depth in the wire region, then they will not do much, if anything. Also, as with any filter, it's best to use as little as possible to meet your needs.
Overall, I think the largest improvement in seeing the wire under general conditions will be obtained by adjusting the RSM, as described above, but with the potential side effects mentioned.
The D415 does have higher resolution and is worth trying but it will still be close to its resolution limit and so any improvement may be marginal. All of the other suggestions and considerations above would apply to the D415 as well.
Let us know what you find or if you have any additional questions.

Hello RS customer support.
I have tested your suggestions:

changing laser power did not help.
decreasing ""remove threshold" produced significant improvement.
the suggested temporal and hole filling filters produced marginal improvement.
d415 outperforms the d435 for this use case.

our use case is not indoors.
( I discovered the missing data when no background is present in frame when i tested outdoors, then found that same error can be reproduced in doors...).
our real requirement is for use outdoors in apple orchards,
I have tested the last suggestions ( rsm, l- power, post processing)  outdoors ( not in an actual orchard , thus the scene is not 100% the same ), and can confirm the same results for indoors,
but the range was still too short.
i.e.
in one scene I teststed , using    remove threshold = 0, i was able to detect the wire using
d435 - good depth data at a range of 50cm , some at 60 , after 70cm very little data
d415 - good results for upto 90cm.
considering the fact that we can't use the d415 instead of the d435,
would be able to suggest other parameters that may improve our ability to detect the depth of the wire outdoors ?
( you mentioned contrast, should changing the wire's color to red ( against a mostly green and brown background) help ? )
my outdoor scene today

some apple orchard examples

thanks,
Omer.

Omer,
Thanks for additional info. See comments in line:
_I have tested your suggestions:

changing laser power did not help.
decreasing ""remove threshold" produced significant improvement.
the suggested temporal and hole filling filters produced marginal improvement.
d415 outperforms the d435 for this use case._

These observations make sense. In bright lighting, especially outdoors, the projector power will not be a large factor. D415 should be better but the degree of improvement really depends on other factors.
our use case is not indoors.
( I discovered the missing data when no background is present in frame when i tested outdoors, then found that same error can be reproduced in doors...).
our real requirement is for use outdoors in apple orchards,
If the usage is outdoors, then the projector aspect is mostly irrelevant, the exception being for very close range and/or low ambient lighting. But, generally you can ignore the projector contribution (in fact, you may be better off with keeping it off).
I have tested the last suggestions ( rsm, l- power, post processing) outdoors ( not in an actual orchard , thus the scene is not 100% the same ), and can confirm the same results for indoors, but the range was still too short. i.e. in one scene I teststed , using remove threshold = 0, i was able to detect the wire using
d435 - good depth data at a range of 50cm , some at 60 , after 70cm very little data
d415 - good results for upto 90cm.
Ok, this is a reasonable result - D415 a bit better than D435 (by almost 2x), but will still be limited in range due to small feature size.
considering the fact that we can't use the d415 instead of the d435,
Is this due to FOV or some other feature?
would be able to suggest other parameters that may improve our ability to detect the depth of the wire outdoors ?
( you mentioned contrast, should changing the wire's color to red ( against a mostly green and brown background) help ? )
Yes, I believe increasing the contrast relative to background should generally help. But, it looks like you have a large amount of variation in background based on your sample scenes (green leaves, brown limbs, dark shadow regions, light sky,...), so it may be difficult to find a color that will work in all cases. Also, note that the D435 camera is monochrome and so will not distinguish based on color, but only if the color affects the intensity of the image (relative to background). The D415 does use color imagers though.
Do you actually have control over the color or visible properties of the wire (maybe it can be painted for example)? If so, then a few other suggestions:
The ideal object is one with good contrast and texture. If the wire could be coated with a spatially varying reflectivity, such as bright and dark regions, ideally non-periodic (e.g., polka dots), then it would stand out very well against most backgrounds and probably detected over the largest range. Basically a higher resolution version of the projector pattern applied to the wire should work very well. It may not need to be extremely dense in order to work. You could test with applying some dots (either darker or lighter than the main wire) along a section. Or perhaps wire with a striped coating or any varying surface should help.
This may be infeasible in practice, but maybe worth a try to see what improvement could be obtained.
Another option would be to use a specifically colored wire (e.g., red) and place red filters over the cameras. This would increase the visibility of the wire, but of course will block out much of the surroundings. I don't know if you only need to see the wire or the entire scene.
Finally, though it's obvious and probably impractical, increasing the diameter of the wire will clearly help.


Run tests in random order to prevent bigger issues in the future

I think it's a best practice to run tests in random order to prevent dependencies between them.
BTW when running tests in this branch, it took only 2 runs to surface an issue
1) Langchain::LLM::OpenAI#initialize when llm_options are passed passes correct options to the client
     Failure/Error: expect(OpenAI.configuration.uri_base).to eq("http://localhost:1234")

       expected: "http://localhost:1234"
            got: "https://api.openai.com/"

       (compared using ==)
     # ./spec/langchain/llm/openai_spec.rb:22:in `block (4 levels) in <top (required)>'

@santib Nice find, and fix!


AGIC started failing after Application Gateway rule priority is mandatory

Hi everyone.
Today, we started experiencing an issue, related to the the configuration of an AGIC Controller with a shared deployment option (VM + AKS Services)
We were unable to deploy any new ingress controller, when cheking the logs, we figured out, that the issue might be related to a new mandatory configuration on Application Gateway Routing Rules related to rule priority as you can see from the logs below:
E0523 20:45:25.176251       1 controller.go:141] network.ApplicationGatewaysClient#CreateOrUpdate: Failure sending request: StatusCode=0 -- Original Error: Code="ApplicationGatewayRequestRoutingRulePartialPriorityDefined" Message="Either all or no rule should have the priority specified." Details=[] E0523 20:45:25.176271       1 worker.go:62] Error processing event.network.ApplicationGatewaysClient#CreateOrUpdate: Failure sending request: StatusCode=0 -- Original Error: Code="ApplicationGatewayRequestRoutingRulePartialPriorityDefined" Message="Either all or no rule should have the priority specified." Details=[]
Do you guys have any idea why this is happening and how to solve it?
Already did a reinstall process, and didn't work, also, i already checked for anotations in ingress for adding priority to the rules, but it doesn't seem to be documented.
Any ideas?

@williamalvvc This issue was resolved via an update on AGIC. Please update AGIC to 1.5.2 which has a fix for this issue.
Reference from duplicate issue:
https://github.com/Azure/application-gateway-kubernetes-ingress/issues/1389#issuecomment-1119408580

Same issue, thanks @akshaysngupta


If 434 transform table factory sites to primeng

Task linked: IF-434 Transform table factory sites of FactoryOwner to primeNG table


Could not create a message channel

I've been trying to set up a private web-based phone system for a small team using routr and ctxSip. The server I'm setting this up on is accessible over the internet with a FQDN and the web interface itself is behind a basic http auth security wall. For the proof of concept I have set up two separate instances of the ctxSip client. I can get both clients registered to the routr server over wss:// and even have them call each other but I'm only getting audio in one direction and the call ends automatically after 30 seconds (the end which can't hear anything disconnects). The error messages I get in the log are as follows:
[ERROR] javax.sip.SipException: Could not create a message channel for f6281uric6b1.invalid:5060/ws
[ERROR] ^^^ ** LINE ABOVE REPEATED MULTIPLE TIMES ** ^^^
[WARN ] Unable to connect to host -> `mbk5uskco486.invalid`.(Verify your network status)
[WARN ] Unable to connect to host -> `f6281uric6b1.invalid`.(Verify your network status)

The strange thing about the error above is that the port number and protocol do not match what I have set up in my config.yml. I do have both TCP & UDP protocols enabled on port 5060 but I do not have the WS protocol enabled at all and WSS is actually running on port 5065. I'm not sure what significance that has on this issue or what I could be doing wrong... Any help figuring this out would be appreciated.

I'm currently looking into this issue. Can you send me the content of your config.yml? Audio/disconnection issues are typically related to NAT problems.

I thought it seemed like a NAT issue as well but that shouldn't be the case with wss:// right? I use websockets for my own web development projects and have never experienced any NAT issues with them. The ports are wide open on the server side. It shouldn't matter what the client side network topology is like. Each instance of the web client should be making a direct connection to the socket and bypassing any local routing. Hence my confusion...
Here's my config.yml (with the password fields masked). The certificate used for the wss:// connection is the same one that I use for https:// on my domain and is issued by Lets Encrypt.
apiVersion: v1beta1
spec:
  recordRoute: true
  securityContext:
    keyStore: etc/certs/domains-cert.jks
    trustStore: etc/certs/domains-cert.jks
    keyStorePassword: '********'
    trustStorePassword: '********'
    keyStoreType: 'jks'
    debugging: false
  transport:
    - protocol: udp
      port: 5060
    - protocol: tcp
      port: 5060
    - protocol: wss
      port: 5065

Thanks for looking into this for me.


TypeError: must be real number, not NoneType

Hi,
I get the following error when trying to use postprocess on rawpy 0.13.1 (python 3.7.4, Numpy 1.16.5).

rgb = im.postprocess(params) # postprocess turns the raw file into a numpy array.
File "rawpy_rawpy.pyx", line 619, in rawpy._rawpy.RawPy.postprocess
File "rawpy_rawpy.pyx", line 585, in rawpy._rawpy.RawPy.dcraw_process
File "rawpy_rawpy.pyx", line 648, in rawpy._rawpy.RawPy.apply_params
TypeError: must be real number, not NoneType

The parameters are as follows

Params(demosaic_algorithm = DemosaicAlgorithm.AHD,
half_size = False,
four_color_rgb = True,
use_camera_wb = True,
use_auto_wb = False,
user_wb = None,
output_color = ColorSpace.raw,
output_bps = 8,
user_flip = None,
user_black = None,
user_sat = None,
no_auto_bright = True,
auto_bright_thr = 0.00001,
adjust_maximum_thr = 0.75,
bright = None,
highlight_mode = HighlightMode.Clip,
exp_shift = 4.0,
exp_preserve_highlights = 0.0,
gamma = (1,1),
chromatic_aberration = None,
bad_pixels_path = None)

I get the same code to work in python 2.7 and 3.5 (rawpy 0.10.1) but I cant revert back to 0.10.1 on 3.7 using pip because it fails the installation (Building wheel for rawpy (setup.py) ... error).
Any help would be appreciated.

bright cannot be None, please use 1.0 for the default or don't specify it.


Error suggests setting LightningCLI(save_config_overwrite=True) however such a parameter does not exist

Bug description
When the SaveConfigCallback raises an error to avoid overwriting a previous config file, the following message is given:
RuntimeError: SaveConfigCallback expected output/config.yaml to NOT exist. Aborting to avoid overwriting results of a previous run. You can delete the previous config
file, set `LightningCLI(save_config_callback=None)` to disable config saving, or set `LightningCLI(save_config_overwrite=True)` to overwrite the config file.

The message suggests setting LightningCLI(save_config_overwrite=True) however this parameter does not exist anymore and should instead suggest setting LightningCLI(save_config_kwargs={"overwrite": True}).
How to reproduce the bug
main.py
import torch
from pytorch_lightning import LightningDataModule, LightningModule
from pytorch_lightning.cli import LightningCLI
from torch.utils.data import DataLoader, Dataset

class RandomDataset(Dataset):
    def __init__(self, size, length):
        self.len = length
        self.data = torch.randn(length, size)

    def __getitem__(self, index):
        return self.data[index]

    def __len__(self):
        return self.len

class MyDataModule(LightningDataModule):
    def train_dataloader(self) -> DataLoader:
        return DataLoader(RandomDataset(32, 64), batch_size=2)

    def val_dataloader(self) -> DataLoader:
        return DataLoader(RandomDataset(32, 64), batch_size=2)

    def test_dataloader(self) -> DataLoader:
        return DataLoader(RandomDataset(32, 64), batch_size=2)

class BoringModel(LightningModule):
    def __init__(self, dim: int = 32):
        super().__init__()
        self.layer = torch.nn.Linear(dim, 2)

    def forward(self, x):
        return self.layer(x)

    def training_step(self, batch, batch_idx):
        loss = self(batch).sum()
        self.log("train_loss", loss)
        return {"loss": loss}

    def configure_optimizers(self):
        return torch.optim.SGD(self.layer.parameters(), lr=0.1)

cli = LightningCLI(BoringModel, MyDataModule)

Run this twice to get the error: python main.py fit --trainer.max_steps 10 --trainer.logger CSVLogger --trainer.logger.init_args.save_dir output
Changing the line to the suggested cli = LightningCLI(BoringModel, MyDataModule, save_config_overwrite=True) does not work since save_config_overwrite does not exist.
Changing the line to cli = LightningCLI(BoringModel, MyDataModule, save_config_kwargs={"overwrite": True}) does correctly solve the error.
Error messages and logs
Traceback (most recent call last):
  File "/home/lightning/code/main.py", line 48, in <module>
    cli = LightningCLI(BoringModel, MyDataModule)
  File "/home/lightning/lib/python3.10/site-packages/pytorch_lightning/cli.py", line 353, in __init__
    self._run_subcommand(self.subcommand)
  File "/home/lightning/lib/python3.10/site-packages/pytorch_lightning/cli.py", line 642, in _run_subcommand
    fn(**fn_kwargs)
  File "/home/lightning/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 520, in fit
    call._call_and_handle_interrupt(
  File "/home/lightning/lib/python3.10/site-packages/pytorch_lightning/trainer/call.py", line 44, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "/home/lightning/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 559, in _fit_impl
    self._run(model, ckpt_path=ckpt_path)
  File "/home/lightning/lib/python3.10/site-packages/pytorch_lightning/trainer/trainer.py", line 896, in _run
    call._call_setup_hook(self)  # allow user to setup lightning_module in accelerator environment
  File "/home/lightning/lib/python3.10/site-packages/pytorch_lightning/trainer/call.py", line 82, in _call_setup_hook
    _call_callback_hooks(trainer, "setup", stage=fn)
  File "/home/lightning/lib/python3.10/site-packages/pytorch_lightning/trainer/call.py", line 190, in _call_callback_hooks
    fn(trainer, trainer.lightning_module, *args, **kwargs)
  File "/home/lightning/lib/python3.10/site-packages/pytorch_lightning/cli.py", line 242, in setup
    raise RuntimeError(
RuntimeError: SaveConfigCallback expected output/config.yaml to NOT exist. Aborting to avoid overwriting results of a previous run. You can delete the previous config
file, set `LightningCLI(save_config_callback=None)` to disable config saving, or set `LightningCLI(save_config_overwrite=True)` to overwrite the config file.

Environment

Current environment
#- Lightning Component (e.g. Trainer, LightningModule, LightningApp, LightningWork, LightningFlow): LightningCLI
#- PyTorch Lightning Version (e.g., 1.5.0): 2.0.0
#- Lightning App Version (e.g., 0.5.2):
#- PyTorch Version (e.g., 2.0): 2.0.0
#- Python version (e.g., 3.9): 3.10
#- OS (e.g., Linux): Linux
#- CUDA/cuDNN version:
#- GPU models and configuration:
#- How you installed Lightning(`conda`, `pip`, source): pip
#- Running environment of LightningApp (e.g. local, cloud):

More info
No response

Thanks for your work. i use your suggestion，but cant resolve the problem.
my LightningCLI:
LightningCLI(
my_model_class,
my_datamodule_class,
save_config_kwargs={"overwrite": True},
)


Add .travis.yml.

Travis, a popular CI service, can help to test every single PR / commit automatically. All we need to do is add the .travis.yml to the root and enable the service for this repo in your Travis dashboard.
https://travis-ci.org

@lexrus You are awesome, I haven't used Travis before, I use Jenkins and am considering to use Buildkite to replace Jenkins.

I have signed in to Travis with my github account, will set it up  tomorrow today (12:00 already 😱) on https://travis-ci.org/JakeLin/IBAnimatable

Cool.
Good night.

Travis is working now, thanks.


fix: Try esModuleInterop for deepmerge

Fixes #431

An alternative would be to vendor deepmerge and convert it to TypeScript?

An alternative would be to vendor deepmerge and convert it to TypeScript?

Yeah we've been thinking about doing the same with localforage: https://github.com/getsentry/sentry-javascript/blob/845aada785a956e6348d87da9ff183aec24b5add/packages/integrations/src/offline.ts#L5

Yeah we've been thinking about doing the same with localforage

Since indexedDb is supported on everything apart from IE, it might be worth just migrating to something indexedDb based rather than a library that abstracts over localStorage/indexedDb.
I've used idb quite a bit and can recommend it.

Yeah we've been thinking about doing the same with localforage

Since indexedDb is supported on everything apart from IE, it might be worth just migrating to something indexedDb based rather than a library that abstracts over localStorage/indexedDb.
I've used idb quite a bit and can recommend it.

Yeah, we were musing the other day that the offline integration could probably just be a transport, based on native APIs, allowing us to finaly shed our localforage dependency, so it can't cause us any more grief.

include in the PR description

Somehow missed that!

I cleaned it up and streamlined them quite a bit... if you're interested

Oooh yeah, I'll take a look.

include in the PR description

Somehow missed that!

I cleaned it up and streamlined them quite a bit... if you're interested

Oooh yeah, I'll take a look.

@timfish Not sure if I configured this accurately but I updated the package.json to:
"@sentry/electron": "https://github.com/timfish/sentry#try-esModuleInterop",
I checked node_modules and sentry doesn't appear to be compiled when I run yarn compile.
Vite returns this error:
vite v2.8.6 building for production...
✓ 1 modules transformed.
[vite]: Rollup failed to resolve import "@sentry/electron/main" from "src/index.ts".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`
error during build:
Error: [vite]: Rollup failed to resolve import "@sentry/electron/main" from "src/index.ts".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`

@jasonlor we don't check the build output into source control so it won't work as a git dependency.
It does get built in Github Actions though, so you can download the output artifact from here from a successful run and add as a dependency like:
  "@sentry/electron": "../../path/to/sentry-electron-v3.0.3.tgz",

@timfish I can confirm that this resolves the issue!


Add "cap" and "do be like" keywords

cap -> not mapping is absolutely mandatory.
do be like -> is is almost as good. Another possibility is do be, which has more sentence-structure compatibility ("It is like that" vs "It do be like that"). However, dropping the like sacrifices style, which is sad fr.
Both are semantically consistent with their slang meanings and improve pygyat's quality.
Also modifies example.py and example.gyat to demonstrate these features.

I'm not sure that "cap" or "do be" qualify as brainrot, since these terms have been in common use for at least the past five years. That makes me sound so old lol. I would say brainrot words have to have gained most of their popularity within the past five years, preferably on TikTok.

"GOAT", "NPC", "sigma", "beta", and the Ohio meme all predate TikTok's popularity and have been popular longer than 5 years. "lock in" is also much older, though it was not used in the same way as on modern TikTok. I would be hard pressed to claim that "cap"'s popularity predates "sus".
In fact, "cap" in teen slang is much younger than many of these terms. For example, "cap" was added to teen slag years before "beta", though its origins as African American slang predate any living person.
If nothing else, this is a case to remove some outdated terms.
As far as brainrot goes, "it do be like that sometimes" in teen slang most definitely fits the bill. It is a useless, wrote response to anything remotely bad that signals a lack of engagement. It is definitely a few years older than "skibidi" though :laughing:.

I understand your case for removing some of the older terms, like "lock in" and "GOAT". Perhaps my definition of brainrot wasn't specific enough, as it is a subjective construct. I don't even know if I can pin it down to a single definition. I don't think brainrot is simply teen slang, it's specifically VERY new slang that recently got adopted by Gen Alpha, mostly over TikTok and usually makes people cringe.


Add set to migrate JMS annotations to attributes

This should solve https://github.com/rectorphp/rector/issues/7052
I don't know if this needs any test.

I just noticed that these rules don't work in all situations. One common case is mixed named and non-named arguments, like:
 * @JMS\AccessorOrder("custom", custom = {"id", "email"})

after applying Rector it goes:
#[JMS\AccessorOrder(custom: ['id', 'email'])]

loosing the name argument.
Is this an issue on Rector's side or a custom behavior from JMS?
Maybe we can ask @goetas..

I just noticed that these rules don't work in all situations. One common case is mixed named and non-named arguments, like:

That's interesting bug on Rector's side. I'll check it in standalone PR


feat: implement extra info (tag, field)

https://github.com/longhorn/longhorn/issues/5235

/cc @innobead @PhanLe1010

After this PR, the upgrade-responder server will create a continuous query for each user-submitted tag value. This can potentially be abused by a malicious user sending a request with a lot of tags and crashing our database. I am thinking to verify the user-submitted data based on a config file similar to https://github.com/longhorn/upgrade-responder/blob/b5b303538e1e2920a97f0afb7e6fb1ce5e2ea143/config/response.json#L1-L26
This will be tracked at the ticket https://github.com/longhorn/upgrade-responder/issues/47

I have created the PR #48 which contains the logic of this PR as well as the logic for user-data verification. Is it ok to use that PR in favor of this PR @c3y1huang @innobead? Thank you very much

I am OK with that. @c3y1huang WDYT?

I have created the PR #48 which contains the logic of this PR as well as the logic for user-data verification. Is it ok to use that PR in favor of this PR @c3y1huang @innobead? Thank you very much

I am fine with this.


⚠ Bofrost.at has degraded performance

In 8803173, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1514 ms

Resolved: Bofrost.at performance has improved in 6433be6 after 19 minutes.


✨ Add cache update feature

Depends on:
https://github.com/EasyEngine/site-command/pull/387
https://github.com/EasyEngine/site-type-php/pull/87
https://github.com/EasyEngine/site-type-wp/pull/194

Made PR from correct branch - https://github.com/EasyEngine/easyengine/pull/1550


[advgoogle] Preventing/Overcoming Google temporary block

Google search has its own mechanism to detect unusual traffic and when it's detected, you got temporary block (or worse, a permanent block). The block (said by someone from Google support forum) last for 8 hours (after the request is stopped completely).
Now, advgoogle at its first release, has a 20 seconds cooldown per user, which then I myself, extend it via #13 to 20 seconds cooldown per channel. However, even with per channel cooldown, it is still too fast for Google since a server where my bot is used, manage to abuse it to the extent that my server get a temporary block.
Imagine a server with 10 active channels and each channels can at most do 5 google search per minute, that's 50 google search per minute. It's unusual from Google' point of view. I manage to do a workaround while being temporarily blocked by using aiosocks and a socks proxy.
Considering what has happened, I am proposing several ideas

Allow direct and proxied connection toggle on advgoogle
Add more search engine options (such as DuckDuckGo) and maybe change the name from advgoogle to advsearch
Warn user (and owner) when specific error linked to possibility of Google temporary block to stop using the command for a while
Use Google Search API as this is better way of doing the search

I vote for option 4.

With Google Search API, we only get free 100 query per day

Ah. And now that I've looked into it more, the results aren't as complete as their web search.


Pn xs offset

fix pn cross section gap (was giving twice requested size)
add argument to choose pn junction offset from waveguide center

Thank you Simon!


v5 alpha .nav-link transition and flashing borders

In v5alpha I noticed a flashing of the tab borders on loading the page and I think it's related to the added transitions: https://github.com/twbs/bootstrap/pull/29988
I added a testcase, but also let me add a gif[1] and a video:

Full video: https://imgur.com/a/LR0e1zT
I reload the page, the tabs are being rendered with all blue borders and then the transparent border is being applied, with a transition (I throttled the connection/CPU in Dev Tools).
I can reproduce it by toggling the border and when I remove the transition from .nav-link there is no flashing anymore.
The gif and the video was made in a Chrome browser that's filled to the brim with extensions! I tested the same on a clean Chrome browser and the effect was much less visible and I couldn't capture it with the screenrecorder, but it's there!

Chrome 83 Windows
Testcase https://codepen.io/localhorst/pen/GRoWYRW

[1]: it looks like github remove the animation or just plays it once?!.

Same issue observed, additionally this seems to happen on input borders as well
Attached is behavour on the tabs as well, although styled, its still done with source sass from a few days ago

Chrome: 84
And only plugin is adblock
For me it seems the faster you page rendering is, the more visible this becomes, which is quite a problem obtimizing for webvitals

@twbs/css-review this might be something we have to tackle soon

I updated to beta1 but I'm having trouble noticing anything in the CodPen: https://codepen.io/XhmikosR/pen/MWjomgq

I'm unable to reproduce this in Chormium 87, even with low-end mobile connection.

Hey, I just checked the codepen and the flashing is gone. Now in my original use case it's still there (latest v5beta).
What's happening there is a lot of vue.js/ajax/iframe loading, so I don't know if it's triggered by a re-render of the whole dom.
The closest I came to recreate the effect is here: https://codepen.io/localhorst/pen/XWjgeWO?editors=1010
I add the nav-tabs class after an initial delay (and even without delay - timeout 0) and that renders the tab borders first, until the transition to transparent borders is finished.
I don't know if this is too far fetched and an edge case.

I don't know if this is too far fetched and an edge case.

The flashing is expected behaviour then :p
https://github.com/twbs/bootstrap/issues/31145#issuecomment-672976262 also seems to be an issue with non-renderblocking CSS.

I was investigating this more, because it was bothering me.
Here is how you can hopefully reproduce the bug:
TL;DR this only occurs if there is no script tag in the page.

Use Chrome Windows (I experienced it in Firefox Windows as well)
Fork this Codepen: https://codepen.io/localhorst/pen/poEdwvK
Change view to "Debug mode" so no codepen scripts are inserted
Open Devtools and check Disable Cache in Network tab
Load/Reload and the transition is flashing (not always but most of the time).

The reason why it was not working in codepen's Editor View in @XhmikosR example was
a) because Codepen injects extra script tags and
b) @XhmikosR included the bootstrap JS
So it is only flashing if there are no

There are instances where a script tag in the body fixed it for people, there is a bug report for chrome related to input fields and transitions on load. In this particular case it only worked with empty script in the header.
This post https://stackoverflow.com/questions/14389566/stop-css-transition-from-firing-on-page-load helped me fixing it, even if it's all over the place.
I know this is nothing Bootstrap specific, but I thought it's maybe good to have it document here.


Can we remove bignumber.js and use instead the one provided by web3

https://github.com/ethereum/web3.js/issues/2171
keep in mind that bn.js (used by web3) and bignumber.js are different libs

you right, but perhaps we can use bignumber instead, I didn't analyze why we are using bn.

BigNumber is atm used in a large number of our files.
@nicosampler what would be the benefits of switching to web3.BN apart from the bundle size?
Also consider that Webpack tree shaking will probably optimize this anyway.


Shell access to NuGet Package won't open in Package Explorer

Type (choose one):

Bug

NPE version: (e.g. 5.x) (see Help -> about)
NuGet Package Explorer - Store - X64 - (5.6.70+e3d04185cb)
OS version: (Windows 7, 10 - 1803/17134, etc)
Windows 10
Installed from: Microsoft Store / Chocolatey.org / Zip on GitHub / CI channel
Originally from Choco, then tried from Store - same issue
Although there appears to be an association between .nupkg files and the Package Explorer trying to open the Explorer via double clicking or Open With... fails with the following error:

If I use Open With... and reassociate package explorer the result stays the same.
If I open the package directly in the Explorer or drag it from Explorer it opens fine and I can perform all my normal package operations, so it doesn't appear that the package is the problem. Same behavior with different packages - several dotnet tools and a number nuget packages.
I'm not sure if the error message is coming from the Package Explorer or something else.  If it is it's probably a good idea for the error message to have some info on it relating to PE.
In the past direct clicks failed but Open With... worked but lately even Open With... is failing and I can only open by explicitly running PE then opening the package from there.
Version in use above is the Store version I just installed to make sure I'm on latest.

Are you able to attach a debugger to the running process when it hits that point and get a stack/dump or other information?
I can't think of anything in NPE that would show that dialog -- file launching is just a cmd line arg to the exe and hits this code path:
https://github.com/NuGetPackageExplorer/NuGetPackageExplorer/blob/master/PackageExplorer/App.xaml.cs#L85
And that code path is the same as the file open in the file dialog: https://github.com/NuGetPackageExplorer/NuGetPackageExplorer/blob/master/PackageExplorer/MainWindow.xaml.cs#L349

Checked to see and sure enough the package explorer is not running when the dialog pops. So looks like this is a shell mapping issue.
Oddly just now I was able to open with Open With... but double click still doesn't work. I'll check the association and see what I find but it's just odd that sometimes it works and sometimes doesn't.

Took a look in the registry and it's all pointing to the crazy Store package ids - no full paths to anything. I think I'll uninstall the store version and try again with the Choco install instead even though that wasn't any better, but at least I'll be able to trace that back to the binaries. :smile:

Really strange :/


refactor: replace all schema context by concrete type

use # type: ignore as workaround atm.
this can link to issue

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


Support Scala 2.13.8

It is currently not possible to use the plugin with Scala 2.13.8, since semanticdb-scalac version 4.4.31 does not support Scala 2.13.8

thanks for your contribution! I will publish a version soon (today I hope)

@mlachkar Sorry, forgot to bump Scala versions in subprojects. Should work now.

thank you for your contribution!


Add documentation for expect.extend API

Summary
Add documentation to docs/API.md for the new expect.extend API. #1977

Current coverage is 88.01% (diff: 100%)

Merging #2025 into master will not change coverage

@@             master      #2025   diff @@
==========================================
  Files            38         38
  Lines          1260       1260
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1109       1109
  Misses          151        151
  Partials          0          0

Powered by Codecov. Last update 691b0e2...f8b5ade

Thanks! I'm gonna merge this and then spruce it up a little bit :)

Thanks @cpojer wasn't really sure where to take it next!


[BUG] getAssetPathList return empty list

Describe the bug
getAssetPathList return empty list even though permission has granted.
problem on device: samsung galaxy Android 13 version
works fine in android 12 version.
To Reproduce
Steps to reproduce the behavior:

requestPermissionExtend
then getAssetPathList
always return empty on the device mentioned above(galaxy and Android 13)

Expected behavior
must be returned with albums
Screenshots
Flutter version
Flutter version 3.3.10
Smartphone (please complete the following information):

Device: Samsung galaxy s20
OS: Android 13

Log
No error log

https://github.com/fluttercandies/flutter_photo_manager/issues/852#issuecomment-1373675941


Fix #2203: Improve recent upload limit setting

Description
Fixes #2203
What changes did you make and why?

Set editText of preference to 500 if set over the limit (see GIF)
Use previous setting rather than 100 if invalid
Print a stack trace if invalid number entered, as shouldn't be possible
Removed duplicated code
Remove unused field "REQUEST_CODE_WRITE_EXTERNAL_STORAGE"
Removed unused imports in SettingsFragment
In preferences.xml set android:inputType of the pref to be number, stopping users from entering decimal points (which could cause NumberFormatExceptions when parsed as an integer)
In strings.xml removed unused related string number_of_uploads
In strings.xml changed preference title from "Set Recent Upload Limit" to just "Recent upload limit" to standardise capitalisation among settings and remove redundant "Set"

Tests performed
Tested 2.9.0-debug-fix-2203~98ec9f686 on Galaxy Nexus (emulator) at API level 28

GIF

Before
After

Codecov Report

Merging #2207 into master will increase coverage by <.01%.
The diff coverage is 21.42%.

@@            Coverage Diff            @@
##           master   #2207      +/-   ##
=========================================
+ Coverage    5.87%   5.87%   +<.01%
=========================================
  Files         231     231
  Lines       11587   11585       -2
  Branches     1078    1078
=========================================
  Hits          681     681
+ Misses      10849   10847       -2
  Partials       57      57

Impacted Files
Coverage Δ

...fr/free/nrw/commons/settings/SettingsFragment.java
42.42% <21.42%> (+1.24%)
:arrow_up:

Continue to review full report at Codecov.

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

Closing as @vanshikaarora did this again in #2292, and resolving the merge conflicts will be too painful.


js-docs: replace auto-transpiled discriminate unions with helper functions

@xiaoranzhou, what do you think about this syntax?

@xiaoranzhou, what do you think about this syntax?

Looks fine to me, thanks for asking :D

Already done I think
https://github.com/nfdi4plants/ARCtrl/commit/4df81b99f97b1cf5a43d300fd66af11e0a531747

lgtm, ready to merge!


Incomplete explanation of regular expression filters, when in Boolean instructions

Please check that this issue hasn't been reported before.

[X] I searched previous Bug Reports didn't find any similar reports.

Expected Behavior
Regular expression searches should be explained consistently, regardless of whether or not they are included in a Boolean query.
Current behaviour
The first line of the explanation of regular expression explanations is lost when they are in Boolean queries.

Steps to reproduce

Create a note with this Tasks block:

```tasks
description regex matches /buy/i
path includes Home/Shopping

( description regex matches /buy/i ) AND ( path includes Home/Shopping )

explain
```

View the output in Reading or Live Preview modes:

Expected output
  ( description regex matches /buy/i ) AND ( path includes Home/Shopping ) =>
    AND (All of):
      description regex matches /buy/i =>
        using regex:            'buy' with flag 'i'
      path includes Home/Shopping

Actual output
  ( description regex matches /buy/i ) AND ( path includes Home/Shopping ) =>
    AND (All of):
      using regex:            'buy' with flag 'i'
      path includes Home/Shopping

Which Operating Systems are you using?

[ ] Android
[ ] iPhone/iPad
[ ] Linux
[X] macOS
[ ] Windows

Obsidian Version
1.5.11
Tasks Plugin Version
6.1.2
Checks

[ ] I have tried it with all other plugins disabled and the error still occurs

Possible solution
No response

Another example:
description regex matches /XXXXXX/
due today
(description regex matches /XXXXXX/) OR (due today)

Gives just the second line of both halves of the Boolean filter:


Implement navbar

Also, I see that you used a merge commit. I usually try to merge by rebasing and the ui in Github is now blocked from doing that. It's always best that you try rebase from the base branch so you have a clean history in your PR. Could you maybe try to remove the merge commit and rebase from the next-version branch? Thanks!

Really awesome work!

No problem, I’ll get on this tomorrow 👍
That was a fast review 🔥

All updates made 👍


Could not find gem 'digest-crc (~> 0.6.1)' in locally installed gems

hey guys
can someone help me?
I'm trying to run fastlane with pipeline azure and then with fastlane call discord_notifier (https://github.com/nikolas-theodosis/fastlane-discord_notifier)
so
pipeline azure -> fastlane -> discord_notifier
if I only test fastlane with the discord notifier it works fine, but if the pipline triggers the fastlane (bundle exec fastlane dev) it doesn't work
erro on pipeline ->  bundle exec fastlane dev:

yaml file pipeline:

running only fastlane and notifier:

It seems like you have not included the output of fastlane env
To make it easier for us help you resolve this issue, please update the issue to include the output of fastlane env 👍

platform :android do
desc "Builds a dev env app and releases it to FAD"
lane :dev do
puts "Hi there"
discord_notifier(
webhook_url: ENV[""],
title: "Fastlane",
description: "Fastlane",
success: true,
thumbnail_url:"https://cdn.discordapp.com/embed/avatars/0.png",
image_url:"https://cdn.discordapp.com/embed/avatars/0.png",
fields:[
{
name:"Fastlane",
value:"test"
},
]
)
end


Error: -69822: Couldn't rediscover disk after operation

Hello,
I resized, using the installer, my MacOS volume to have 100GB free space. I had to reboot for the installer to see it.
But now it isn't able to create a new partition in this free space:
Downloading macOS OS package info...
-

Creating new stub macOS named Asahi Linux
Failed to run process: diskutil addPartition disk0s2 apfs 'Asahi Linux'<PHONE_NUMBER>
Output: b"The new partition to be added will be of a filesystem personality of APFS apfs APFS 7C3457EF-0000-11AA-AA11-00306543ECAC\nThe new partition will be added following disk0s2\nStarted partitioning on disk0\nModification de la carte de partition\nError: -69822: Couldn't rediscover disk after operation\n"
root        : ERROR    Process execution failed
Traceback (most recent call last):
  File "/private/tmp/asahi-install/main.py", line 1054, in <module>
    InstallerMain().main()
  File "/private/tmp/asahi-install/main.py", line 865, in main
    while self.main_loop():
  File "/private/tmp/asahi-install/main.py", line 1017, in main_loop
    return self.action_install_into_free(parts_free)
  File "/private/tmp/asahi-install/main.py", line 305, in action_install_into_free
    self.part = self.dutil.addPartition(free_part.name, "apfs", self.osins.name, STUB_SIZE)
  File "/private/tmp/asahi-install/diskutil.py", line 250, in addPartition
    self.action("addPartition", after, fs, label, size, verbose=True)
  File "/private/tmp/asahi-install/diskutil.py", line 34, in action
    p = subprocess.run(["diskutil"] + list(args), check=True,
  File "/private/tmp/asahi-install/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['diskutil', 'addPartition', 'disk0s2', 'apfs', 'Asahi Linux', '2499805184']' returned non-zero exit status 1.
If you need to file a bug report, please attach the log file:
  /private/tmp/asahi-install/installer.log

I tried twice to make sure, same issue
What would be the cause?
Thank you
installer.log

Hi,
I found the cause of the issue. An Acronis backup was ongoing when I ran the installer. I stopped it and tried again, and it worked.


Introduce OpenGov support

Introduction
This PR introduces the first iteration of OpenGov support, making no changes to the existing behaviour.
This is done by using OpenGov when a new /tip2 command is used, and preserving current behaviour when /tip is used.

Progresses https://github.com/paritytech/substrate-tip-bot/issues/39
Based on https://github.com/paritytech/substrate-tip-bot/tree/rutger/gov2-support

Changes between Gov1 and OpenGov
In Gov1, the exact tip values were decided outside of the scope of the tip-bot (only small, medium, large suggestions were made by the tip proposer).
OpenGov requires specifying tip values up-front. I went with the consistent API (small, medium, large), and hardcoded some values to correspond to those sizes.
My idea is to go this way for starters and test it in staging, and based on feedback potentially change it to either:

small and big - to match the two referenda tracks that I've seen in Kusama
Specifying exact values, e.g. /tip2 5

Another difference is that OpenGov requires 2 transactions instead of 1, but that doesn't impact the end user of the bot.
There are significant differences when it comes to after the tip has been proposed (voting etc), but that seems to be out of the scope of the tip bot.
Tests
I've introduces some tests that send out different kind of tips.
They rely on manual inspection.
Here are the results of the test execution:
Treasury Tips (gov1)

Referenda Tips and Preimages (OpenGov)

I just realized that in OpenGov, there is no place for a reason/description - so people looking at the preimages and referenda, do not see the metadata that exists in gov1 tips (PR number, github username of the beneficiary).
@paritytech/opstooling any ideas what to do about it?
Should we perhaps integrate with this: https://kusama.polkassembly.io/small-tipper ?

@paritytech/opstooling I have pushed new changed:
Tip description / reason
I have found a way to include a reason for the tip in opengov, without relying on third party Polkassembly website.
I'm adding the reason to the preimage using a system.remark call, bundling it with the treasury.spend proposal using util.batch. Here is how it looks like:

With that, the whole tip information is on-chain and inspectable via the polkadot.js.org app, same as in gov1.
Defining values and limits per network
As suggested by @mordamax, I made the changes about chain-specific values of tip sizes and track maximum values.
The tip bot supports Kusama and Polkadot.
Specifying tip sizes by numeric values
I have added the possibility to specify the value of the tip, as talked about here. This is both in gov1 and opengov.
Here is how it looks like:
gov1

opengov


Custom Field on ObjectEditView do not use BootstrapMixin

Environment

Nautobot version (Docker tag too if applicable): Next
Python version: 3.11
Database platform, version: N/A
Middleware(s):

Steps to Reproduce

Create a custom field
Apply the following to base.css

:root {
    --navbar-transition-duration: 350ms;
    color-scheme: light dark;
}

@media (prefers-color-scheme: light) {
    .element {
      color: black;
      background-color: white;
    }
  }

  @media (prefers-color-scheme: dark) {
    .element {
      color: white;
      background-color: black;
    }
  }

Edit an object that has a custom field.

Expected Behavior
The custom field loads and appears like other fields

Observed Behavior
The custom field is blacked out.  This is due to a missing class definition on the field class="form-control" is not on the fields attributes.

Appears to have been broken by the change in mixin order in #5668 (https://github.com/nautobot/nautobot/pull/5668/files#diff-37550f2cee9ccba0e981fe201cec2a6465ec95e712c6d926e0a0e78fb81d513eR26-R33) such that BootstrapMixin now comes after CustomFieldModelFormMixin instead of before it. This portion of the change needs to be reverted.


Bowtie2 Unable to finish job

Hello,
I've tried to install Bowtie2 from ToolShed into the docker-galaxy-stable (18.09). It installs Bowtie2 and Samtools, but an attempt to run any mapping produces an error "Unable to complete job". The Bowtie2 itself works since there are a mapping stats and SAM file in the output, so it appears that something wrong with samtools sort -o command after Bowtie2 run.
Then I've started the container galaxy-deeptools (now it 19.01) with just docker run -d -p 8080:80 bgruening/galaxy-deeptools command, uploaded one short fasta file and tried to run Bowtie2 already installed into the container (against dm3 genome build). The result was the same, "Unable to complete job".
Is it possible to run Bowtie2 somehow?
Regards,
Sergey Lavrov

@lavrovSA I could verify this issue. I think there are some metadata problems involved on the Galaxy side. So not related to the Docker image. We will try to fix that. In the meantime can you use BWA?

Thanks for the response!
I've done some testing and found that "Unable to finish job" happens with Bowtie2 wrappers versions from 23 to 19 (they all based on Bowtie2 2.3.4.x).
Versions from 18 to 13 (Bowtie2 2.3.3.x) works, but the final output, marked as BAM, is really a SAM (one can see text content clicking on an eye). BWA do the same.
Versions of Bowtie2 wrapper below 13 (based on Bowtie2 2.x) are able to produce compressed BAM (zlib library in dependences helps?), but appears to not accept Bowtie2 indexes produced by Bowtie2 index builder based on Bowtie2 2.3.0).
It seems not container-related, but I have no locally installed Galaxy to test...
Regards,
Sergey

@lavrovSA Galaxy can display BAM files :) So they are likely BAM and not SAM even when you can see them.

If you like please test this all on usegalaxy.eu.

I have the same problem. However, I could not solve it by using other bowtie2 versions.
However, on usegalaxy.eu the job runs without problem using the latest bowtie2 version.

ok. I could solve the issue by going back to version 18. I forgot to restart galaxy. So this seems to be specific to the docker installation, since the usegalaxy.eu works fine.

Hi. I'm preparing a Galaxy instance for publication with same tools I used for data analysis and I'm also finding this error, which breaks the running workflows. When I installed Bowtie2 <IP_ADDRESS> in September on quay.io/bgruening/galaxy  latest, 18.05, it had no issue, but using a new image of the same galaxy it has this error. The tool gets installed and works, the outputs are shown on 'View data', but instead to change status to Done, it changes to Fail. I cannot find differences on the installed tool, and the docker image should be the same, so no clue. @FelixErnst did you get this working? Or is there a way to change the status of a job via API?
Thanks

Hi installed version 18 of the tool. I don't remember into which Bowtie2 version that actually translates, but its 2.3.x. Don't forget to restart galaxy after you installed the tool version, because some information get read only during the start up.

@mpaya do you have more information about the error, e.g. form the log files that are displayed if you start the container with -i -t

@FelixErnst, I'm using version 23, and restarting docker did not help. I know the latest one, the 24, works, but it does not serve my purpose of reproducibility. Thanks anyway :)
@bgruening looking at the logs, the error comes from Job wrapper finish method failed (handler.log). On the previous docker, no such error appears and job ends normally with job 4395 ended (finish() executed in (226.079 ms)).

Oh, interesting. That particular case would be fixed by https://github.com/galaxyproject/galaxy/pull/7889
So what exact docker image are you using now ?

Like indicated before, I pulled quay.io/bgruening/galaxy latest which contained Galaxy 18.05. On my tests I also tried specifying the tag for 18.05 and 19.01, seeing the same issue on all three images.

This will be fixed in 19.05, for which the docker image is not yet released.

Thanks to @jyotipm29 we are back on track :smile:
The new 24.1 image contains a lot of changes and reflects the latest developments in Galaxy. I would like to close this PR, but please feel free to reopen and rebase against the latest version.
Please give it a try:
docker run -p 8080:80 -p 8021:21 -p 4002:4002 --privileged=true -e "GALAXY_DESTINATIONS_DEFAULT=slurm_cluster_docker"   -v /tmp/galaxy-data/:/export/ quay.io/bgruening/galaxy:24.1

... or any other combination. The readme has been updated. Please add any useful tip to it.
For a list of changes, see the Changelog.