Added the option to label deuterium and tritium as D and T

Added the option to label deuterium and tritium as D and T
to the C++ and Python drawing codes

Here's a Jupyter notebook to test the new code:
https://gist.github.com/ptosco/d13b82b75f10d9a602e45d815215a98f

This needs a test added. You can use the SVG drawing code and these tests as an example:
https://github.com/rdkit/rdkit/blob/master/Code/GraphMol/MolDraw2D/test1.cpp#L1070
https://github.com/rdkit/rdkit/blob/master/Code/GraphMol/MolDraw2D/test1.cpp#L1090

Will do, thanks for the pointer Greg.

@greglandrum, @bp-kelley : I have added the test. How would you like the atom label function to look like?

Thanks Paolo.
Re: the atom label function, I'm not sure, I need to think about that for a bit


How can i use dbflow from sql?

SELECT * FROM Attendee WHERE eventId = ? AND payStatus = ? AND (attendeeMap like '%%%@%%' OR pinyinName like '%%%@%%' OR weixinId like '%%%@%%' OR barcode like '%%%@%%' OR ref_code like '%%%@%%' OR orderId like '%%%@%%' OR emailAddr like '%%%@%%' OR name like '%%%@%%' OR otherMessage like '%%%@%%') limit %i OFFSET %i"
Thank You!

please read up on the usage docs. (https://github.com/Raizlabs/DBFlow/blob/master/usage2/SQLiteWrapperLanguage.md)


Addition of Confirm Exit toggle

Describe your suggested feature
Tachiyomi had a confirm exit toggle which is currently missing in Mihon. It would be good to have the option to prevent accidentally exiting the app while swiping back.
Other details
No response
Acknowledgements

[x] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] If this is an issue with an official extension, I should be opening an issue in the extensions repository.
[X] I have updated the app to version 0.16.0.
[X] I will fill out all of the requested information in this form.

(my comment copied from #173 where I commented before seeing this issue)
This feature was removed in https://github.com/mihonapp/mihon/commit/8f4bc71cf7b99fe0b0d2ea68dfca0140477686cc because it was deemed redundant with Android's Predictive Back feature when using gesture navigation, just to assure you it used to exist. 👍
I don't know if there would be a way to bring this feature back that doesn't clash with this predictive back feature, though, so I can't give you a definitive yes/no on whether it can be brought back.


Wooden Shears 1.19

done here: https://github.com/cech12/WoodenShears/commit/410ba1941f9854a3b95a449388329753d3c73871


Add mode "fish" to wishlist

Please add mode "fish" for Fish shell
https://fishshell.com/
https://github.com/fish-shell/fish-shell
This is very similar to bash, zsh, ... small differences only.

We're not adding modes to the main distribution at all anymore, and don't take requests for new modes. The best way to get a new mode is to implement it yourself and distribute it as a separate package on npm (see for example the elixir mode)


Plugin Menu Camect icon does not show download availability.

Per the title.
I assumed the plugin was up to date because 0.0.7 did not show the green globe with the down arrow, as other plugins do when there's a new version available.

Not my problem.  0.0.8 is current in the store.  Has been since October.  If you're not seeing an update icon, tell the boys in Texas.


Arrow shape

Arrow shape is a popular shape that most of apps supporting painting on photo support. It will be so great to add this shape to PhotoEditor too.

There is already a PR for this. #431


Publish 04/05/2022 3:30 PM PT

Docs Build status updates of commit c9b3d93:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/winserver2019-ps/dism/Add-AppxProvisionedPackage.md
:white_check_mark:Succeeded
View (WindowsServer2019-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Add PostgreSQL 17, deprecate PostgreSQL 11

Would it make sense to add the deprecation flags in the pg11 images in the final release before removing it entirely?


feat / 2020 08 exchange connector governance

Add https://blog.hummingbot.org/2020-08-exchange-connector-governance/

will use one branch


Release 0.13.3!!!

I don't have push privileges on master branch.
Proposed changes:

See Changelog

Status (please check what you already did):

[x] made PR ready for code review
[x] added some tests for the functionality
[x] updated the documentation
[x] updated the changelog

:rocket:


Add series.rolling() and rolling.min()

Hello @densmirn! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file sdc/datatypes/hpat_pandas_series_functions.py:

Line 733:29: E261 at least two spaces before inline comment
Line 743:28: E261 at least two spaces before inline comment

In the file sdc/datatypes/hpat_pandas_series_rolling_functions.py:

Line 59:76: E261 at least two spaces before inline comment

@densmirn it looks like I'm incorecctly understands meaning of parameter min_periods. Let's discuss it personally


Clearscript holding references to CLR instances

Hi everyone.. I've been using ClearScript for a project where I need to share validation and calculation code between server and client. Overall this has worked very well.
The one challenge has been an ongoing memory leak. I'm calling Javascript functions hosted by ClearScript, passing in some Entity Framework objects. I think ClearScript is holding references to those instances because the ClearScript runtime has no way of knowing if Javascript is holding those references anywhere. That hunch was supported by this profiler trace where ClearScript.HOstItem/HostObject was keeping a strong handle on my entity instance:

So I need to work out a way to release these references. So far I can think of a few ideas:

Marshal these entities into simpler types that could be passed by value -- but ultimately I still have complex types so I'd have to use structs here. I'm not sure I can map everything into value types and structs

Create/destroy a new instance of the ClearScript host for each call. -- This would add some overhead because I have to inject my model code with every call.

Use a different hosting model (e.g. out-of-process Node.js I call with the data)

I don't know if there's a easy solution here but I need to resolve this memory leak. Does anyone have experience with this or suggestions on a good approach?

Thinking about this a little more, maybe the best way to handle this is to stringify in incoming and outgoing data in JSON.. that would solve this issue and let me use complex data while keeping ClearScript and staying in process.

Thanks, this is great information!!  I didn't see it in any docs unless I missed something. Would it help if I wordsmithed this into a PR for the docs?

Thanks @andrejpk. We have indeed found that some questions pop up repeatedly, but so far we've just let the information sit in the Issues section, not knowing where else to put it.
We already have an API reference, tutorial, samples, and build/deployment guide. Maybe we should have another document for implementation notes and/or best practices? Another possibility might be to enable GitHub's project-level Wiki.
We'd love to hear your thoughts!

I'll think through the best way.. my immediate thought is a deeper/best practices doc would be a good place for this.
Another question: am I safe in assuming that if I pass a value type like a string into a Javascript function, that holds no references to objects on the CLR side, right?

Another question: am I safe in assuming that if I pass a value type like a string into a Javascript function, that holds no references to objects on the CLR side, right?

Strings, numbers, and bools are passed by value; that is, they're converted to JavaScript values and detached from any managed data.
Other CLR values, including all structs and enums, are boxed and held by reference, although there's some machinery in place to enable "natural" comparison (e.g., x === DayOfWeek.Thursday) for enums and some other values. See ImmutableValueAttribute for more information.
That's the default behavior, and there are ways to override it in specific situations - e.g., if you need to preserve the exact managed type of a numeric value, or provide access to a CLR-specific string method. V8ScriptEngine also supports optional timestamp conversion (see here).

Another question: am I safe in assuming that if I pass a value type like a string into a Javascript function, that holds no references to objects on the CLR side, right?

Strings, numbers, and bools are passed by value; that is, they're converted to JavaScript values and detached from any managed data.
Other CLR values, including all structs and enums, are boxed and held by reference, although there's some machinery in place to enable "natural" comparison (e.g., x === DayOfWeek.Thursday) for enums and some other values. See ImmutableValueAttribute for more information.
That's the default behavior, and there are ways to override it in specific situations - e.g., if you need to preserve the exact managed type of a numeric value, or provide access to a CLR-specific string method. V8ScriptEngine also supports optional timestamp conversion (see here).

Created Issue #101 to track the best practices documentation. Feel free to reopen this if you have additional questions about the original topic. Thanks!


Find a cloud service

[ ] Find a suitable cloud service
[ ] Find out which AWS items will be used - Baylie, Karen, & Jacob (Oct 12)

[ ] Have documentation for a cloud structure

The "find a suitable cloud service" task is very similar to Epic 2: Integrate Code with App #41?

This issue has been completed.


Snippet completion not triggering code formatting when editor.formatOnType: true

VSCode Version: 1.12.2
OS Version: Wndows 10 CU

Steps to Reproduce:

Install the PowerShell extension and set the following user settings:

    "editor.formatOnType": true,
    "powershell.codeFormatting.openBraceOnSameLine": false

To test the settings type the following if (1) {<enter> you should see PowerShell's code formatter move the opening curly to the next line (and complete the closing curly).
Now try this with a PowerShell snippet which uses K&R style braces.  Type 'if' and select the if statement snippet.  Fill in the condition with 1 and tab to inside the statement.  Notice that none of this triggers the "formatOnType" signal to the extension.  Now technically, yes the user did not type the { and if the user would delete and retype the { the formatOnType would kick in.  But that is a major PITA especially when completing constructs like try/catch/finally.

Is there a way you could make formatOnType work with snippets?  I can't believe PoweShell is the only language where folks don't want the "default formatting" you get with snippets.  If VSCode would do this then folks could use the built-in snippets and get the formatting style they prefer.

Makes sense, unsure yet how much work it is to get this right


Move gradle_non_android_plugin_test from its own test builders into tools integration.shard

gradle_non_android_plugin_test seems particularly wasteful of LUCI resources.  The test only takes 1:30-3:00 minutes to run, but each time it does it spins up an entire build that takes longer to set up and tear down than the test takes.
Move this test to the tools integration.shard.
https://ci.chromium.org/p/flutter/builders/try/Linux gradle_non_android_plugin_test/5263?
https://ci.chromium.org/p/flutter/builders/try/Mac gradle_non_android_plugin_test/5344?
https://ci.chromium.org/p/flutter/builders/try/Windows gradle_non_android_plugin_test/5261?
Also, this happened to make the unrelated tool_backend_test run first in its shard, and it didn't pass because the output contained Building flutter tool:
Expected: 'PROJECT_DIR environment variable must be set to the location of Flutter project to be built.'
  Actual: 'Building flutter tool...\n'
            'PROJECT_DIR environment variable must be set to the location of Flutter project to be built.'

So fix that.
Part of https://github.com/flutter/flutter/issues/65790

You can merge this PR as is. I'll add a TODO to the builder config.

I'm happy to add it, do you mean add the comment to the infra star file?
https://github.com/flutter/infra/blob/707032677f8580d93ceafb4aa9a38aaa2b06615c/config/devicelab_config.star#L174-L175


running without "dns" zone

Pardon if this isn't the right place to ask. I'd like to have a site under site.example.com, but all examples seem to have a "dns" zone like dns.example.com with everything going under it. Am I missing something?

I would like to know that too..., can we just map our service to the root domain (or do we need the dns in the url as part of the External-DNS setup)?
Is this possible?
service1.example.com
service2.example.com
service3.example.com

@eh-am @robertski I'm not entirely sure I understand your question, but let me clarify: External DNS will manage DNS records in any zone you delegated to your cloud provider. This means that you can delegate your primary domain (like "example.com" or "acmecorp.net") to your cloud provider (e.g. Route 53) and create records with External DNS like "mysvc1.example.com".
So your example should be no problem when you host your main domain on the cloud provider. Our examples probably stem from our Zalando setup where we have one domain per "product"/"team"/"department" (something like "mydepartment.myorg.tld"). Does this answer your question?

Thanks @hjacobs, that's exactly what I want to do. However I'm still not sure what I gotta do to achieve it.
So let's say I'm using GKE with an already working cluster, this means I can skip the entire setup step, correct (Since I won't use a dns zone specific for externaldns)?
I tried this, but I got the following error:
2017-07-04T18:39:12.067544022Z time="2017-07-04T18:39:12Z" level=info msg="Add records: mysite.example.com. A [XX.XXX.XXX.XX]"
2017-07-04T18:39:12.067574238Z time="2017-07-04T18:39:12Z" level=info msg="Add records: mysite.example.com. TXT ["heritage=external-dns,external-dns/owner=my-company"]"
2017-07-04T18:39:12.397095335Z time="2017-07-04T18:39:12Z" level=error msg="googleapi: Error 400: Invalid value for 'entity.change.additions[0].name': 'mysite.example.com.'
2017-07-04T18:39:12.39714032Z More details:
2017-07-04T18:39:12.397145763Z Reason: invalid, Message: Invalid value for 'entity.change.additions[0].name': 'mysite.example.com.'

(Obviously mysite.example.com is just an example, I used my own one)

@eh-am I didn't quite understand the question as well. If you are asking if the "dns" string should exist in the DNS name  to be created then the answer is no. If u are asking if the hosted zone should exist matching the DNS name of the record - yes (well, almost in all cases, at least in Google and Amazon cloud providers), i.e. if you want to create a record named: my-company.foo.bar then DNS zone "foo.bar" should be available in the DNS provider u are targeting

@eh-am Did you look into the tutorial we have for GKE users https://github.com/kubernetes-incubator/external-dns/blob/master/docs/tutorials/gke.md ?
Furthermore, based on the error u are getting https://cloud.google.com/dns/troubleshooting#invalidfieldvalue - apparently you don't have a DNS zone with a name matching the DNS record u want to create. Make sure you don't have a trailing dot in your DNS record (if you don't have it in the managed zone)

@ideahitme Thanks for the help, let's see if I can be more clear:
In the tutorial they use external-dns-test.gcp.zalan.do, in my case I would like to skip the gcp domain and use external-dns-test.zalan.do (without the gcp). The motivation is that I don't want to buy a ssl certificate to handle *.gcp.zalan.do.
Said that, what do I have to do to achieve it? In the tutorial there a step where we gotta tell the parent about the child, since I am not using a 'child' zone I am assuming I can skip this step:
$ gcloud dns record-sets transaction add ns-cloud-e{1..4}.googledomains.com. \
    --name "external-dns-test.gcp.zalan.do." --ttl 300 --type NS --zone "gcp-zalan-do"
$ gcloud dns record-sets transaction execute --zone "gcp-zalan-do"

Correct?
Now I just gonna deploy  external-dns with - --domain-filter=zalan.do and ask for a hostname such as "foobar.zalan.do", right?

I am not an expert on Cloud DNS, but I would assume the following should still holds true:

in my case I would like to skip the gcp domain and use external-dns-test.zalan.do

U can do it, if you have a managed zone in your account named external-dns-test.zalan.do or zalan.do. If you don't - you cannot create DNS records with names anything.external-dns-test.zalan.do or anything.zalan.do.

That said, what do I have to do to achieve my setup without using the child zone -> "external-dns-test"? In the tutorial there a step where we gotta tell the parent about the child, since I am not using a 'child' zone I am assuming I can skip this step:

This is a zone delegation, which allows you to discover the name server and consequently DNS record hosted in your child zone via the parent name server. You can skip this step if you have a single managed zone in Cloud DNS, e.g. zalan.do

Now I just gonna deploy my service with- --domain-filter=zalan.do and ask for a hostname such as "foobar.zalan.do" ... when i do that i get the error above

If you own the managed zone zalan.do it should work just fine. --domain-filter is a flag to filter the zones which external-dns will use to list and update the records. You can omit the flag entirely for the external-dns to see every single zone in your google account.
That being said, you still need to make sure that you have permissions to list zones and create records. Hope this helps.

Thanks guys, I was able to get it. The issue was that I was using a zone that had DNS entries prior from externalDNS installation, it all went smoothly after I started from scratch.


Sample for googlecast-v2 custom receiver code

Hi, I am looking for sample code of custom receiver of v2 SDK, this doesn't seem to be working. Since we are on v2 SDK we need a reference for the example to check few things. Can you please help me in finding this?

The sample code for a V2 based receiver has been permanently removed with the deprecation of the v2 libraries. Please reference the migration guide to migrate your receiver to CAF: https://developers.google.com/cast/docs/migrate_v2/receiver


chore(release): 🔖 publish the new version [ci skip]

👀 PR includes

🔧 Chore

[ ] Test case
[ ] Docs / demos update
[ ] CI / workflow
[x] Release version
[ ] Other ()

跑下changelog


Improve stop button

Suggesting improving stop button:

no more blinking console window if program was frozen as win32gui app
try to stop program gently on Linux and OSX: first pressing to stop button sends SIGINT to the program, second - SIGTERM, third and further - SIGKILL. Close button (cross) always sends SIGKILL. No any idea how to do this on Windows.

Example below shows the program that stops working only by third pressing of stop button (or immediately - on cross).
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from __future__ import unicode_literals
from __future__ import print_function

import sys
from time import sleep
from gooey import Gooey, GooeyParser

import signal
signal.signal(signal.SIGINT, lambda *_: None)  # ignore first attempt to stop
signal.signal(signal.SIGTERM, lambda *_: None)  # ignore second attempt to stop
# it is imposible to handle or ignore third attempt to stop - SIGKILL

@Gooey(progress_regex=r"^progress: (\d+)%$")
def main():
    parser = GooeyParser(prog="example_progress_bar_1")
    _ = parser.parse_args(sys.argv[1:])

    for i in range(100):
        print("progress: {}%".format(i+1))
        sys.stdout.flush()
        sleep(0.1)

if __name__ == "__main__":
    sys.exit(main())

Hey @Shura1oplot,
You'll have to revisit this. I changed a buncha code underneath you : \  (sorry!)
The bulk of your progressbar code now lives in progressor.py. It in turn publishes its updates to the view via the Presentation Model in presentation.py

@chriskiehl, I have missed it :( Well, I need some time to update PR.


🧹 remove unneeded logic to transform thebe options and improve naming

now that myst-frontmatter is doing more of the thebe options transformation work the logic in here to go from frontmatter to workable thebe options can be reduced.

need https://github.com/executablebooks/mystmd/pull/788 to come in and a myst-frontmatter release


Functionality

I want to suggest a functionality to be able to assign ticket to agents based on categories. I can't understand you decided to assign agents automatically. thanks.

You can edit the ticket and manually assign the ticket

As an admin user, there isn't way to do that, even from your demo site.

I will work on that for v1.0 so admin can edit tickets directly .. but for now you can try to add admin to agents, he will be able to edit tickets

Okay, thanks. How about contributing to the project?

That would be very appreciated

@thekordy  Give me the steps required then.

Oh sorry :)
There are many different ways you can contribute to the project, such as submitting issues with feedback and suggestions, submitting wiki docs, testing, and contributing to the code itself using PR (Pull Request).
To submit a PR:

first fork the project so you get your own branch from Ticketit
do changes you want
submit the PR to merge the changes to Ticketit

Here a doc on Github introducing ways to contribute
Here a simple tutorial on how to contribute to the code

@thekordy I just created a PR for that. Kindly check

Thank you a lot, I will test it tonight.

Okay, tested and worked i guess. I will look into changing the whole look and feel to a more administrative dashboard.

It is made to be integrable with user master view, taking the same look and feel of the user's project style.


Song skiped when it has a less than 1 sec silence gap and skipblank is enabled

Hello! Not much of an issue, maybe more of a setting request. Wondering if a setting to set the minimum length that silence needs to be in order for the song to be skipped can be implemented to use along side the blankskip setting.
Why? Well, I have some songs that have small silences that seem to be getting skipped when I have blankskip enabled.
A song that has a small (less than one second) silence near the 1 minute and 5 second mark and with skipblank enabled once it gets detected the song gets skipped. short silence near beg. of track; image - https://imgur.com/a/3HAbo9D top image
Another song I have that has a short silence near end of track; image - https://imgur.com/a/3HAbo9D bottom image,  gets skipped as well when blankskip is enabled.
2024/06/06 08:37:24 [next_song:3] Prepared "/var/azuracast/stations/nobullishradio/media/Makaveli/Reparation Is Due (2006)/Makaveli - Reparation Is Due - 13 - Dirty Game.flac" (RID 560).
2024/06/06 08:37:24 [show_meta:3] Now playing: Gritty Outlaw - Dirty Game
2024/06/06 08:37:24 [show_meta:2] Blank (silence) detected in track, ending early.
2024/06/06 08:37:24 [cross:3] Analysis: -60.513169dB / -14.637370dB (0.38s / 0.38s)
2024/06/06 08:37:24 [cross:3] Computing crossfade transition over reconciled duration with 0.38s ending and 0.38s starting buffered data.

Thank you!

You can read my mind! This is actually on my internal roadmap since a while, but I wanted to be sure that everything works stable before.
Rest assured it will come ;-)

You can read my mind! This is actually on my internal roadmap since a while, but I wanted to be sure that everything works stable before.
Rest assured it will come ;-)

Amazing!

My plan is to have a settable parameter that lets you specify the minimum silence length on which it operates, and if it did find a silent part of specified length, it would cue out at the beginning of said silent part.
Would that fit your use case?

@shamu450 My plan is to have a settable parameter that lets you specify the minimum silence length on which it operates, and if it did find a silent part of specified length, it would cue out at the beginning of said silent part.
Would that fit your use case?

That sounds great, it would allow me to set it to say .. 4s and anything with a silence longer than 4s would be skipped and faded to the next track. Allows me to keep songs with short gaps and skip the songs that have hidden tracks that start much later. That seems to work great for me.
Thank you very much!

That sounds great, it would allow me to set it to say .. 4s and anything with a silence longer than 4s would be skipped and faded to the next track. Allows me to keep songs with short gaps and skip the long silence in songs that have hidden tracks that start much later. That seems to work great for me.
Thank you very much!

That's exactly what I wanted to ask. I would need the same thing.

@shamu450 @LordHelmchen666 It’s here! Version 3.0.0 features adjustable minimum silence length for blank skipping!
Check out the Release Notes. Happy autocueing!


chunk.mapModules is not a function

What kind of change does this PR introduce?
Bugfix
Did you add tests for your changes?
No
If relevant, link to documentation update:
n/a
Summary
We were getting this error on Windows 10:
TypeError: chunk.mapModules is not a function
    at C:\Users\me\Code\chess\chess.com\node_modules\webpack\lib\HotModuleReplacementPlugin.js:59:46

And this error on macOS Sierra:
TypeError: currentChunk.getModules is not a function
    at Compilation.<anonymous> (/Users/username/Documents/Development/chess.com/node_modules/webpack/lib/HotModuleReplacementPlugin.js:115:36)

This PR fixes both of those issues. We tried this in node 8.x, 7.9 and 6.4. It's broken in all of those versions, and this fixes it.

Does this PR introduce a breaking change?
No, but it does fix a breaking change.

That's not correct. mapModules exists on Chunk. Probably multiple webpack versions installed on your side.


Change current_branch for old git versions support

git-fire currently fails on git version < 1.8 (Tested on 1.7.9), when it tries to get the current branch name.
error: unknown option short.
That's because --short option wasn't around in git versions < 1.8.
The new branch that is created, it's without the branch-name, like this -
fire--<email>-1444409940
    ^^ The branch-name should have been here

This also creates another problem - not pushing to remote.
That is because current_branch() is also used in
git push --set-upstream ... "$(current_branch)"...
which fails, due to which git push also fails, with the message -
Not pushing to remote - "remote part of refspec is not a valid name"
This PR's current branch fetch is plain git-symbolic-ref without options and basename cmd that should work for most systems. (It should work as far back as git 1.6 I think)

Nice catch! Thanks. :+1:


control-files.md: fix dead link and add command how to convert files

Describe the pull request

What does your PR fix?
fix dead link and add command how to convert files

Which triplets are supported/not supported? Have you updated the CI baseline?
N/A

Does your PR follow the maintainer guide?

N/A

Duplicate effort. #17214

(at least for the broken link)

Thanks for the PR!


Avatar creation and modification

Feature to create and modify the avatar

[ ] Create avatar
[x] Modify avatar

Users now have a default avatar on account creation

Users now can modify their avatar trought their profile page

Avatar creation has been implemented in onboarding


feat(expectations): support Carbon in toBe

Q
A

Bug fix?
no

New feature?
yes

This pull request intercepts Pest's toBe to add support for Carbon.
When adding some tests, I was surprised to see that expect($date1)->toBe($date2) did not work. This is actually normal, as objects are checked by reference.
However, I think testing for date equality is something that's done frequently enough to warrant special handling in the Laravel plugin.

Hey @nunomaduro, any chance to merge this? 😄

No plans for this, thanks for your contribution!


Advanced routing capabilities

Hello,
Right now, the routing is limited to transcoders to redirect using 302 depending on GeoIP. This is a nice feature, but it lacks some features IMHO.
For instance, I have multiple VMs on three continent (France, USA, Japan). Most of my user base is in France, so I want my users to go through French servers, by default, and only switch if needed.
There's a small workaround, setting maxTranscodes to -1 deprioritize the foreign servers. However, a feature that "forces" some servers to be used only if explicit redirection is set would be much better.
Also, routing is decided at Transcoding level. Not a huge issue because I use ansible, but IMHO the routing should be set at load balancer level, not transcoders. This would allow us to set all policies in one place.
Finally, and perhaps more importantly, redirection is only permitted on one server and does not check availability of said server, so we lose all redundancy using routing feature. I have two servers in US but 6 in France, so right now I have three servers in France poiting to the first one in the US, and the three others pointing on the second one, but this is not ideal compared to the way UnicornLoadBalancer does thing (checking availability and spreading transcode jobs among instances).
Those three features would allow much more precise and complex routing, which could be useful for more advanced setups.
Thanks for your work, I love it!

Hey,
Routing parameters should be set on transcoder servers (it's the best architecture to add/remove servers on the fly and the LB will choose the best server based on transcoder configuration.
Today the "routing" feature is only here to use a proxy/special domain name for a transcoder, for example, some Internet providers have a bad peering with Online/Scaleway, we add Cloudflare "proxy" on the transcoder on another domain name, if we detect this country we switch to the Cloudflare domain name (but it's the same transcoder server).
Now, it's not possible to prefer transcoders based on location, it could be nice to support new parameters on transcoder, like "allowedCountries" and "disallowedCountries", based on these parameters, LB could choose the best transcoder. What do you think? Would this meet your needs?

Hey,
Routing parameters should be set on transcoder servers (it's the best architecture to add/remove servers on the fly and the LB will choose the best server based on transcoder configuration.
Today the "routing" feature is only here to use a proxy/special domain name for a transcoder, for example, some Internet providers have a bad peering with Online/Scaleway, we add Cloudflare "proxy" on the transcoder on another domain name, if we detect this country we switch to the Cloudflare domain name (but it's the same transcoder server).
Now, it's not possible to prefer transcoders based on location, it could be nice to support new parameters on transcoder, like "allowedCountries" and "disallowedCountries", based on these parameters, LB could choose the best transcoder. What do you think? Would this meet your needs?


Add bluetooth devices through gateway

I am trying to connect my Yeeuu K2 Smart Key Lock box. This lock box however uses bluetooth and does not have wifi, so a gateway is needed for accessing it over the internet. This also means that the lock box does not have any local IP, so that the integration cannot find it directly. So my question is, is it possible to add the lock box through the gateway?  The integration does find the gateway, but when trying to add that I just get "Connection to device succeeded but no datapoints found, please try again. Create a new issue and include debug logs if problem persists.".
I don't know if it matters, but here are the tuya datapoints for the lock box:
bluetooth_unlock | Raw | {}
residual_electricity | Integer | {   "min": 0,   "max": 100,   "scale": 0,   "step": 1 }
unlock_fingerprint | Integer | {   "min": 0,   "max": 999,   "scale": 0,   "step": 1 }
unlock_password | Integer | {   "min": 0,   "max": 999,   "scale": 0,   "step": 1 }
unlock_dynamic | Integer | {   "min": 0,   "max": 999,   "scale": 0,   "step": 1 }
unlock_ble | Integer | {   "min": 0,   "max": 999,   "scale": 0,   "step": 1 }
alarm_lock | Enum | {   "range": [     "wrong_finger",     "wrong_password",     "wrong_card",     "wrong_face",     "tongue_bad",     "too_hot",     "unclosed_time",     "tongue_not_out",     "pry",     "key_in",     "low_battery",     "power_off",     "shock"   ] }
hijack | Boolean | "{true,false}"
lock_motor_state | Boolean | "{true,false}"
unlock_temporary | Integer | {   "min": 0,   "max": 999,   "scale": 0,   "step": 1 }

This will be dependent on implementation of #70

I suggest to close as duplicate of https://github.com/make-all/tuya-local/issues/275

It does contain details for a specific device, though there isn't enough information there yet to implement local protocol support.

Although this does contain tuya portal details for a subdevice, there are no local protocol details, so this will be closed with the general subdevice support without adding this specific device.


App crash when I enable the GPIO option

Discussed in https://github.com/mgrl/photobooth-app/discussions/109

Originally posted by laguinch October 27, 2023
hy, the app crash when I enable the gpio option on my bulleye and rpi4 installation
photobooth
added provider for picamera2 backend
added provider for gphoto2 backend
added provider for webcamv4l backend
2023-10-27 11:56:44,172 [   DEBUG] loggingservice init basicConfig set (loggingservice.py:95)
2023-10-27 11:56:44,172 [   DEBUG] loggingservice init started (loggingservice.py:96)
2023-10-27 11:56:44,173 [   DEBUG] loggingservice init finished (loggingservice.py:130)
2023-10-27 11:56:44,176 [   DEBUG] registered handlers: [<StreamHandler  (NOTSET)>, <FileHandler /home/pi/log/photobooth_20231027.log (NOTSET)>, <EventstreamLogHandler (NOTSET)>] (loggingservice.py:131)
2023-10-27 11:56:44,579 [    INFO] photobooth directory: /home/pi/.local/lib/python3.9/site-packages/photobooth (main.py:81)
2023-10-27 11:56:44,580 [    INFO] working directory: /home/pi (main.py:83)
2023-10-27 11:56:44,581 [    INFO] app version started: 0.11.0 (main.py:84)
2023-10-27 11:56:44,671 [    INFO] loading autofocus module: picamera2_LibcamAfContinuous (picamera2_.py:94)
2023-10-27 11:56:44,671 [    INFO] photobooth.services.backends.picamera2_libcamafcontinuous initialized (picamera2_libcamafcontinuous.py:41)
[0:04:38.596498746] [4858]  INFO Camera camera_manager.cpp:297 libcamera v0.0.0+4367-ad9428b4
[0:04:38.648052011] [4865]  INFO RPI vc4.cpp:444 Registered camera /base/soc/i2c0mux/i2c@1/imx519@1a to Unicam device /dev/media4 and ISP device /dev/media0
[0:04:38.648136341] [4865]  INFO RPI pipeline_base.cpp:1101 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
2023-10-27 11:56:44,727 [    INFO] Initialization successful. (picamera2.py:428)
2023-10-27 11:56:44,727 [    INFO] Camera now open. (picamera2.py:449)
2023-10-27 11:56:44,732 [   DEBUG] change to preview mode requested (picamera2_.py:309)
2023-10-27 11:56:44,734 [    INFO] Camera configuration has been adjusted! (picamera2.py:940)
[0:04:38.658986887] [4858]  INFO Camera camera.cpp:1033 configuring streams: (0) 2328x1748-XBGR8888 (1) 1280x720-YUV420 (2) 2328x1748-SBGGR10_CSI2P
[0:04:38.659698142] [4865]  INFO RPI vc4.cpp:572 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 2328x1748-SBGGR10_1X10 - Selected unicam format: 2328x1748-pBAA
2023-10-27 11:56:44,737 [    INFO] Configuration successful! (picamera2.py:945)
2023-10-27 11:56:44,768 [    INFO] camera_config: {'use_case': 'video', 'transform': <libcamera.Transform 'hvflip'>, 'colour_space': <libcamera.ColorSpace 'Rec709'>, 'buffer_count': 2, 'queue': True, 'main': {'format': 'XBGR8888', 'size': (2328, 1748), 'stride': 9344, 'framesize': 16333312}, 'lores': {'format': 'YUV420', 'size': (1280, 720), 'stride': 1280, 'framesize': 1382400}, 'raw': {'format': 'SBGGR10_CSI2P', 'size': (2328, 1748), 'stride': 2912, 'framesize': 5090176}, 'controls': {'NoiseReductionMode': <NoiseReductionModeEnum.Fast: 1>, 'FrameDurationLimits': (33333, 33333)}, 'display': 'lores', 'encode': 'lores'} (picamera2_.py:173)
2023-10-27 11:56:44,769 [    INFO] camera_controls: {'ColourGains': (0.0, 32.0, None), 'AfMetering': (0, 1, 0), 'AnalogueGain': (1.0, 16.0, None), 'Saturation': (0.0, 32.0, 1.0), 'Contrast': (0.0, 32.0, 1.0), 'AeMeteringMode': (0, 3, 0), 'AfMode': (0, 2, 0), 'AeConstraintMode': (0, 3, 0), 'AeEnable': (False, True, None), 'ExposureTime': (305, 0, None), 'AfPause': (0, 2, 0), 'AfRange': (0, 2, 0), 'NoiseReductionMode': (0, 4, 0), 'ScalerCrop': ((0, 0, 128, 128), (0, 0, 4656, 3496), (0, 0, 4656, 3496)), 'Sharpness': (0.0, 16.0, 1.0), 'AwbEnable': (False, True, None), 'FrameDurationLimits': (33333, 127960799, None), 'ExposureValue': (-8.0, 8.0, 0.0), 'AwbMode': (0, 7, 0), 'AeExposureMode': (0, 3, 0), 'AfSpeed': (0, 1, 0), 'AfTrigger': (0, 1, 0), 'AfWindows': ((0, 0, 0, 0), (65535, 65535, 65535, 65535), (0, 0, 0, 0)), 'Brightness': (-1.0, 1.0, 0.0), 'LensPosition': (0.0, 32.0, 1.0)} (picamera2_.py:174)
2023-10-27 11:56:44,769 [    INFO] controls: <Controls: {'NoiseReductionMode': <NoiseReductionModeEnum.Fast: 1>, 'FrameDurationLimits': (33333, 33333)}> (picamera2_.py:175)
2023-10-27 11:56:44,770 [    INFO] set_ae_exposure, try to set to 1 (picamera2_.py:319)
2023-10-27 11:56:44,771 [    INFO] current picamera2.controls.get_libcamera_controls():{libcamera.ControlId(39, NoiseReductionMode, ControlType.Integer32): <NoiseReductionModeEnum.Fast: 1>, libcamera.ControlId(25, FrameDurationLimits, ControlType.Integer64): (33333, 33333), libcamera.ControlId(5, AeExposureMode, ControlType.Integer32): 1} (picamera2_.py:326)
2023-10-27 11:56:44,771 [    INFO] stream quality Quality[self.config.backends.picamera2_stream_quality.name]=<Quality.MEDIUM: 2> (picamera2.py:178)
2023-10-27 11:56:44,983 [    INFO] Camera started (picamera2.py:1026)
2023-10-27 11:56:44,985 [    INFO] photobooth.services.backends.picamera2_libcamafcontinuous init_autofocus call (picamera2_libcamafcontinuous.py:72)
2023-10-27 11:56:44,986 [    INFO] libcamautofocus set to continuous mode (picamera2_libcamafcontinuous.py:75)
2023-10-27 11:56:44,986 [    INFO] libcamautofocus AfSpeed set to fast mode (picamera2_libcamafcontinuous.py:81)
2023-10-27 11:56:45,263 [   DEBUG] photobooth.services.backends.picamera2 started (picamera2_.py:209)
2023-10-27 11:56:45,264 [    INFO] init self.primary_backend=<class 'photobooth.services.backends.picamera2_.Picamera2Backend'> (aquisitionservice.py:39)
2023-10-27 11:56:45,264 [    INFO] init self.secondary_backend=None (aquisitionservice.py:40)
2023-10-27 11:56:45,269 [    INFO] init database and creating missing scaled images. this might take some time. (mediacollectionservice.py:58)
2023-10-27 11:56:45,278 [    INFO] initialized image DB, added 1 valid images (mediacollectionservice.py:75)
2023-10-27 11:56:45,279 [    INFO] -- process time: 0.01s to initialize mediacollection (mediacollectionservice.py:76)
2023-10-27 11:56:45,286 [    INFO] on_enter_state self.current_state.id='idle'  (processingservice.py:91)
2023-10-27 11:56:45,287 [    INFO] state idle entered. (processingservice.py:105)
2023-10-27 11:56:45,304 [   ERROR] Uncaught exception: <class 'RuntimeError'> Not running on a RPi! (loggingservice.py:195)
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/gpiozero/pins/pi.py", line 101, in pin
pin = self.pins[n]
KeyError: 17
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/pi/.local/bin/photobooth", line 8, in
sys.exit(main())
File "/home/pi/.local/lib/python3.9/site-packages/photobooth/main.py", line 91, in main
application_container.services().gpio_service.init()
File "src/dependency_injector/providers.pyx", line 3786, in dependency_injector.providers.Resource.init
File "src/dependency_injector/providers.pyx", line 225, in dependency_injector.providers.Provider.call
File "src/dependency_injector/providers.pyx", line 3865, in dependency_injector.providers.Resource._provide
File "/home/pi/.local/lib/python3.9/site-packages/photobooth/services/containers.py", line 67, in init_gpio_resource
resource = GpioService(
File "/home/pi/.local/lib/python3.9/site-packages/photobooth/services/gpioservice.py", line 54, in init
self.init_io()
File "/home/pi/.local/lib/python3.9/site-packages/photobooth/services/gpioservice.py", line 63, in init_io
self.shutdown_btn = Button(
File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 108, in call
self = super(GPIOMeta, cls).call(*args, **kwargs)
File "/usr/lib/python3/dist-packages/gpiozero/input_devices.py", line 414, in init
super(Button, self).init(
File "/usr/lib/python3/dist-packages/gpiozero/mixins.py", line 433, in init
super(HoldMixin, self).init(*args, **kwargs)
File "/usr/lib/python3/dist-packages/gpiozero/input_devices.py", line 165, in init
super(DigitalInputDevice, self).init(
File "/usr/lib/python3/dist-packages/gpiozero/mixins.py", line 218, in init
super(EventsMixin, self).init(*args, **kwargs)
File "/usr/lib/python3/dist-packages/gpiozero/input_devices.py", line 83, in init
super(InputDevice, self).init(pin, pin_factory=pin_factory)
File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 549, in init
pin = self.pin_factory.pin(pin)
File "/usr/lib/python3/dist-packages/gpiozero/pins/pi.py", line 103, in pin
pin = self.pin_class(self, n)
File "/usr/lib/python3/dist-packages/gpiozero/pins/rpigpio.py", line 111, in init
GPIO.setup(self.number, GPIO.IN, self.GPIO_PULL_UPS[self._pull])
RuntimeError: Not running on a RPi!

This could be an issue with the latest gpiozero library. I will check later the weekend.

Installation on Pi was probably off - tested on fresh system, works fine.
But services need to be improved so one service cannot crash the whole app.


highlighted colors(red and green) in the background in compare view seems to be more brighter than before

Does this issue occur when all extensions are disabled?: Yes

VS Code Version:1.71
OS Version:10

Steps to Reproduce:

Did some changes in current files
in diff-view the highlighted colors(red and green) are more brighter

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.70.2. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

I don't know whether these colors changed, do you know @daviddossett?

This may be related to a change @misolori or @hediet did to make the specifc word changes more obvious. I'll let them weigh in here.

This is caused by a change of the diff editor and by color tweaks.
We now consistently strongly highlight every character that got deleted and added, even if all characters in paragraph got deleted/added.

but the core functionality of the editor is getting compromise by such changes
would love to see more granular update on this as sometimes it is hard to read the text in those bright colors
Now I get why they say
"Words are the fog one has to see through"
just kidding😂
anyway thanks

This was a result from https://github.com/microsoft/vscode/issues/153563 and https://github.com/microsoft/vscode/pull/154969 so it was an intentional change to make them stronger.

I want to add that the text is harder to see than before. It would be nice if we could apply different colors for light and dark mode because the current red is a little too strong on dark mode.


Enforce LSP ordering semantics

LSP requires an ordering on how the server handles requests:
https://github.com/Microsoft/language-server-protocol/blob/master/protocol.md#request-notification-and-response-ordering
If a client sends LSPs request in rapid succession (e.g. textDocument/didOpen, textDocument/didChange, textDocument/didClose), the server MUST handle these events in the order they are received.
JSON RPC does not have any ordering requirements so JSON RPC libraries are not required to provide these ordering semantics.
For example, if each notification handler spawns a new goroutine, there is no guarantee of the order that requests will be handled.
The Go language server needs to implement these ordering semantics.

FYI this change goes a long way to prevent this issue rearing its ugly head #160
However,  analysis requests shortly followed by mutations to the FS may return stale data. I don't foresee this being a major issue until we start doing integration with features that integrate tightly with the edit flow (completion, signature help, etc)


Temporarily show the latest entered character in an obscured text field

Fixes https://github.com/flutter/flutter/issues/11817

@Hixie

needs a test

done - PTAL


B21575 int3 add order type

Agility ticket
B21575
Notes
This PR is a remake of prior PR.  Prior PR was: 14164
Summary
For the customer, 2 new order types were added:  Student Travel, Early Return of Dependents.  If either of these were selected, then "Has Dependents" would default to "yes" and be disabled so it can't be changed.  If another order type besides these 2 were selected, "Has Dependents" would be re-enabled and would be reset to nothing selected.
How to test
In the .envrc.local file, add the following to turn on the feature flag:
export FEATURE_FLAG_ENABLE_ALASKA=true
restart server and client
Scenario 1: Creating a move

login as a customer
create a move
at the move orders page ("tell us about your move orders")

set initial values all fields:

order type: Permanent Change of Station
remaining fields: any value is fine

verification

verify: order type,  changing existing type to another existing type

change order type to local move
verify no fields are changed

verify: order type, changing existing type to new type (student travel)

change order type to student travel
verify "are dependents included" defaults to "yes"
verify "are dependents included" is disabled

verify: order type, changing new type (student travel) to existing type

change order type to permanent change of station
verify "are dependents included" defaults to no selection
verify "are dependents included" is enabled

verify: order type, changing existing type to new type (early return of dependents)

change order type to student travel
verify "are dependents included" defaults to "yes"
verify "are dependents included" is disabled

verify: order type, changing new type (early return of dependents) to existing type

change order type to permanent change of station
verify "are dependents included" defaults to no selection
verify "are dependents included" is enabled

verify: order type, changing new type (early return of dependents) to to new type (student travel)

change order type to early return of dependents
verify "are dependents included" defaults to "yes"
verify "are dependents included" is disabled
change order type to student travel
verify "are dependents included" defaults to "yes"
verify "are dependents included" is disabled

finish creating the move w/a ppm shipment.

Scenario 2: edit existing orders

login as a customer
use the move just created in scenario 1
click on "review your request"
edit orders
on the "edit orders" page, set the initial values the same as in scenario 1
perform verification the same verification as in scenario 1.
save the page

Scenario 3: turn off feature flag
In the .envrc.local file, add the following to turn on the feature flag:
export FEATURE_FLAG_ENABLE_ALASKA=false
restart server and client

Create a move: On the orders page, verify neither Student Travel or Early Return of Dependents shows up in the drop down list
Edit a move: On the orders page, verify neither Student Travel or Early Return of Dependents shows up in the drop down list

ANDI Screenshots
Creating a move:

Editing existing orders:

Testing Screenshots
N/A

Warnings

:warning:

Files located in legacy directories (src/shared or src/scenes) have
been edited. Are you sure you don’t want to also relocate them to the new file structure?
View the frontend file org ADR for more information

  Generated by :no_entry_sign: dangerJS against 74bd0531e5d3e9eda51149b4d92f0962f5f92725


Issue #15: add the function to show all blame output.

Closes #15
Thank you for the great package. This package helps me a lot.
I'd like to propose an approach to realize the multi-line blame display function.
Here is a sample screenshot.

I like the approach, currently is the only way to remove the phantom from the right click context menu?
Is it possible to have an on screen icon that can be clicked to make things a little slicker?
Either way im happy to merge regardless of your answer, just let me know.

@psykzz thank you very much for your kind reply :)

currently is the only way to remove the phantom from the right click context menu?

Currently there are 2 ways to remove the phantoms: 1) edit the file, 2) select Git Blame Erase All command. I think 1) is important to prevent a mismatch between the file and the blame result and broken layout.

Is it possible to have an on screen icon that can be clicked to make things a little slicker?

I tried adding x icons with the new commit. Please see the screenshot. (Actually we don't need to put the x icon in all the lines and we can impove it later.)

Looks good to me, will merge and release later today.

@Tardog wanna check our these changes and screens and see if that helps with your issue #15?

One other thing @gh640 could you update the readme too with the new commands?
If not i can do it after merging.

@psykzz thank you for addressing this proactively.

One other thing @gh640 could you update the readme too with the new commands?

Why not? I tried adding the description for the new function in README.md. I'm happy if you check and review it. Thanks.

@gh640 I checked out your branch and tested the new commands with a couple of files in several projects. For the most part it works well, and I think the layout shows a good amount of information without taking up too much space.
One caveat, though: On very large files (for example, a CSS file with > 1200 lines), the command doesn't appear to do anything. Not sure if this is due to API limits or an issue with this implementation (I didn't have time to look at your code yet).

@Tardog thank you for testing the branch!

One caveat, though: On very large files (for example, a CSS file with > 1200 lines), the command doesn't appear to do anything. Not sure if this is due to API limits or an issue with this implementation (I didn't have time to look at your code yet).

I believe it's caused since I didn't properly consider the leading caret of commit hash (SHA). I fixed it in a new commit.
https://github.com/psykzz/st3-gitblame/pull/16/commits/6c3867a28493d3d6d0aae2c94249e514cbbd2150
Also, I found a problem with my PR which breaks the existing function with my mistake of renaming a variable name :(  I fixed it in another new commit.
https://github.com/psykzz/st3-gitblame/pull/16/commits/662cf5e2fca16dfb87ce3ba11e42d0e303659067
Could you please try the new HEAD? Thank you.

FYI, I noticed that Sublime Text almost freezes if I use this new command for a file with over 10,000 lines in my environment... (This happens with the existing git blame command with over 10,000 selections, too.)
In the new command, the git blame is called only once and is not problematic. The cause is the phantom instances, I think. So it may be better to provide a setting to limit the maximum file size fro the new command to support in a later release.

Ill do another review once @Tardog has had a look into if your changes fixes their issue.

@gh640 Wow, that was fast! I’ve looked at the changes in your latest commits and pulled them for another round of testing. There are still no phantoms showing up in the large CSS file. Ditto for a much smaller (~500 lines) Python file. In order to help debugging this issue a little better, I disabled all other packages (just to make sure I can test your changes in isolation), and looked at the git blame output of the affected files.
There is no leading caret in any of their commit hashes – although it was quick thinking on your part to anticipate this scenario and change the regex accordingly. :) If I find a file with boundary commits, I'm going to make sure to test it as well.
So, what else could be preventing the phantoms from showing up? No errors in the ST console, no slowdown when executing the "Show all" command, and the single-line blame works flawlessly.
I started editing the problematic Python file, removing parts of the code and executing "Git Blame: Show all" after each modification. It quickly turned out that even with only a few lines left in the file, the phantoms were still AWOL. Not a matter of size, then?
After comparing git blame output of the troublesome Python and CSS files, I noticed both have several commits from authors with special characters in their names. I think these are causing the command to fail.
To make this easier for you to reproduce, here is the Python file I used for testing: https://github.com/DragonComputer/Dragonfire/blob/master/dragonfire/sr/experimental.py
Run the command, see it fail.
Remove everything, except for this block of code:
try:
    raw_input          # Python 2
except NameError:
    raw_input = input  # Python 3
try:
    xrange             # Python 2
except NameError:
    xrange = range     # Python 3

Run the command again. Phantoms should pop up now.
Thank you for putting in the effort to get this feature up and running! I'll gladly help and continue testing with as many different files as possible.

@Tardog thank you very much for addressing the problem. Your thorough tests gave me lots of hints!
Firstly I could reproduce the phenomenon with the file you shared:
https://github.com/DragonComputer/Dragonfire/blob/master/dragonfire/sr/experimental.py
I found a cause which made the command fail silently. It's the file name in the blame output. I didn't properly recognize the pattern that blame result has file names.
(As psykzz knows) the file names are displayed in blame result only when the file name was changed in the commit history. I didn't understand that behavior of git blame.
I adjusted the code a little in the new commit to make it work. The Git Blame Show All command worked well for the above file experimental.py in my environment after the commit.
I'd like you to check and review it out again :)

(I'd like to propose a debug option to make debugging easier in this package later)

(I'd like to propose a debug option to make debugging easier in this package later)
I second this. A debug option would be superb.

With the latest changes I get the expected output for all the files on which the command failed before. Looks good to me!
So far I haven't been able to find a project with boundary commits to test. Can someone help out with this?

@Tardog thank you for your swift response! I'm happy to hear that.

So far I haven't been able to find a project with boundary commits to test. Can someone help out with this?

I myself had a file with boundary commits and tested it. The command seems to work well for the file.

so I was able to learn something new today, which is always a good thing.

Yeah. It was a good learning for me, too :D
As for the debug option, I'll give it a try after we've completed this issue.
Thanks!

@psykzz I'd like you to review the PR when you have a time as Tardog finished to review it. Thank you in advance.

Merged and released as version 1.1.0. Thanks for all the help guys!

@psykzz @Tardog I upgraded the GitBlame package in my Sublime Text to 1.1.0. It works fine! Thanks!!


Gobuster v3.0.1 enumerates vhosts but 3.4 does not?

I stumbled across this example today. I was trying to figure out why one machine could enumerate the vhosts in https://tryhackme.com/room/webenumerationv2#task-6 but another could not.
It turns out that the machine that was successful was running Gobuster 3.0.1, and the computer that was not successful was running the latest version 3.4.
I removed gobuster and downloaded the 3.0.1 binary. Ran the test (right terminal) that you see below. Then apt installed the latest gobuster and ran the 2nd test (left terminal) which yielded the "correct" results according to the lab.
This may be related to the networking of the lab environment but I thought you may want to examine the results since, to the layman (myself in this case), the results of the the older version appear more correct than the results of the new version.
Could this be related to https://github.com/OJ/gobuster/issues/317?
gobuster vhost -u http://webenum.thm -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -t64

Further testing reveals gobuster v3.1 enumerates the so called "correct" vhosts but v3.2 does not.

It looks like you are missing the —append-domain flag but it depends on your wordlist. Try —help for all options or verbose mode to see checked vhosts

Adding the --append-domain flag did the trick.
I experimented with that flag while I tried different wordlists but I once I got it to work on a different machine without the flag, I disregarded the flag altogether and assumed that I had problems with my networking or proxy before I discovered that I was using different versions of gobuster. Thanks for the help. Thanks for your product.

Unfortunately, the issue still didnt get fixed:(
The --append-domain does not solve it.


Support for 2D Geometry validation.

Currently the library allows positions to be z,y or x,y,z with no way to force a Geometry to only be 2d.
I'd like to propse a change where the geometries come in 2 flavours, 2D and 3D to allow for better Schemas/API specs and validation of geometries that are only supposed to be 2D.
I had shimmed the library in my own projects to add in Point2D and Polygon2D, but I think this would be better suited in the base library itself.
Thaughts?

Interesting idea. It could also help with handling mixed dimensionality which I was thinking about yesterday. But shimming may be the better way.
As far as GeoJSON goes, it states: "Altitude or elevation MAY be included as an optional third element." So it would not be invalid GeoJSON to have a Z included. Trying to enforce having or not having a third element would be outside of the spec. (And the same would go for mixed dimensionality.) So at a library level I would be a bit hesitant to do it. Input with a Z is valid GeoJSON but you are free to ignore it on your end.
My first thoughts on trying to implement it would be something like this.
Position2D = Tuple[float, float]
Position3D = Tuple[float, float, float]
Position = Union[Position2D, Position3D]

MultiPointCoords2D = conlist(Position2D , min_items=1)
MultiPointCoords3D = conlist(Position3D, min_items=1)
# This has mixed dimensionality like we currently do
MultiPointCoords = conlist(Position, min_items=1)
# Or this if there was a desire to not be mixed
MultiPointCoords = Union[MultiPointCoords2D, MultiPointCoords3D]

It really blows things up and that doesn't even get to geometry or features yet. It would probably be possible to write things as generics and make it easier to overwrite the built in Position types. That would end up multiple nested generics and I am not sure if it would be worth the added complexity to cover something outside the spec. Definitely curious what others think about it.
Alternative Idea: Has Z + Validator
If we add a has_z property which checks if any Position in the coordinates has a Z. (The function is also useful for WKT purposes.) That function could then be used in a validator.  Something like this:
# Untested idea, not guaranteed to work as is
class Feature2D(Feature):
    # This would be a post validator, so it has already been turned into a `Geometry`
    @validator("geometry")
    def enforce_2d_geometry(cls, geometry: Geometry) -> Geometry:
        if geometry.has_z:
            raise ValueError # Whatever the best error / code is here.
        return geometry

Unfortunately that would still end up saying Position can be 2 or 3 dimension in something like Swagger docs. Which may cause confusion with end users.
Alternative idea: Drop Z
Perhaps it would be useful to borrow from Shapely here. It has two functions force_2d and force_3d that allow for forcing it on an existing geometry. It doesn't necessarily achieve the same goal of validating that the input does not have a Z. But it would facilitate the "MAY" better by allowing the Z to be dropped.

From my reading of the spec the "MAY" clause means that it's optional, not in the sense that the field itself MUST be included as an optional value, but that it MAY be included.
Per RFC2119 that outlines the use of the word MAY in other RFCs:

MAY   This word, or the adjective "OPTIONAL", mean that an item is
truly optional.  One vendor may choose to include the item because a
particular marketplace requires it or because the vendor feels that
it enhances the product while another vendor may omit the same item.
An implementation which does not include a particular option MUST be
prepared to interoperate with another implementation which does
include the option, though perhaps with reduced functionality. In the
same vein an implementation which does include a particular option
MUST be prepared to interoperate with another implementation which
does not include the option (except, of course, for the feature the
option provides.)

With the above in mind, and since the library is intended to be implemented by vendors in their own codebases I would suggest that having the flexibility to implement 2D or 3D versions of the schemas is in line with the spec.
Having said that, I ALSO think that your suggestions around having the ability to "drop z" and validate on "haz z" are good ideas as it would allow vendors to choose whether they "accept and drop" ("reduced functionality" above).
I guess this comes down to the two sides of API design, when producing an external API we get to decide whether it includes Z or not, but when consuming a third party API we have to gracefully handle the presence of the full spec including MAY clauses.

The MAY clause does mean that it is optional. Just as you are free to ignore it, the other side is free to include it. The key part of that quote is:

An implementation which does not include a particular option MUST be prepared to interoperate with another implementation which does include the option, though perhaps with reduced functionality.

You MUST be prepared to interoperate with a system which does include Z. Preventing another party from including Z would not comply with the GeoJSON spec. The way to comply with it would be to accept 3D coordinates and then drop them.

That makes perfect sense. My point is that in situations where API specifications are being generated automatically (my use case) based on  what the model allows there's no way to communicate that the system only supports 2D.
So when creating API's that are only 2D it makes sense to have the models actually represent that, which goes to the sentance after the one you specified:

In the same vein an implementation which does include a particular option MUST be prepared to interoperate with another implementation which does not include the option (except, of course, for the feature the option provides.)

So if the decision is to not support 2D models, how can we communicate that a 3D model will be reduced to 2D after processing?

Yeah, it is not ideal. And I definitely understand wanting to restrict it more. I would probably want to do the same in that situation.
I don't know specifically what you are using, but you could override the Model and do Field(..., description="Any third dimension will be ignored."). Or assuming it is FastAPI you can use the docstring to explain at the endpoint level.
Since the other party cannot assume you are doing anything with the Z value, it seems reasonable to just state it. At least the attempt was made to communicate it.
The third dimension on GeoJSON feels pretty useless. Since it is optional, and people can do whatever they want, it is pretty much impossible to know what the other side means by it without additional discussions. Even big libraries like shapely will not input or output it, because geos under the hood ignores the third dimension.

I ended up thinking about this a bunch over night. I still don't like the idea of restricting input to only 2D, as it can cause a bunch of interoperability issues. But I also don't think it is necessarily harmful to be able to specify that a systems output only contains 2D. Stating 'the GeoJSON I output will never have a 3rd dimension' is not against the spec, its just stating you won't ever use an optional parameter.
I am not really sure how to balance those two ideas. But I think it is probably is best (and easiest) to just keep everything as actual spec GeoJSON and just state it in the docs. Otherwise its adding extra types that may end up adding to confusion or causing other headaches.
I do have has_z written now. Just need to write some additional tests for it and can put in another PR.

I don't know if its useful for this or not, but I believe I saw something about Pydantic 2.0 having separated Input and Output schemas. I think it was more for optional inputs which have defaults, so the output will always have a value there. But may be possible to utilize something like that to allow input of 3d, but only output 2d. Not sure the code would be very clean either, but may be worth exploring.

@eseglem do you think we should work on this for 1.0?

@vincentsarago probably worth tinkering with but maybe not blocking on.
Would have to tinker with it to see if that actually works ok, but potentially: Generic on Position, and have a few class Position(RootModel):. One of which could have a validator that drops the 3rd dimension, and Input Schema allows 3d but Output Schema is 2d.
Would have to make all the coordinate types RootModel to get the Generic on them as well, adds a bit, but don't think it gets too crazy or hard to understand. Although I think that probably messes with mypy / pylance a bit since they are now classes and not just arrays.


Proper input parameter parsing with Typer

Since the -n flag for the cli is explicitly managed, we should implement parsing cli options

Closed since I didn't see #24 before I made the issue


templ generate doesn't work if pwd is a symlink

Before you begin

Please make sure you're using the latest version of the templ CLI (go install github.com/a-h/templ/cmd/templ@latest), and have upgraded your project to use the latest version of the templ runtime (go get -u github.com/a-h/templ@latest)

Done.
Describe the bug

A clear and concise description of what the bug is.

templ generate does not work when the current directory is accessed via a symlink.
To Reproduce

A small, self-container, complete reproduction, uploaded to a Github repo, containing the minimum amount of files required to reproduce the behaviour, along with a list of commands that need to be run. Keep it simple.

https://github.com/mlhetland/templ-symlink-bug
To reproduce:
$ cd templ-symlink-bug/hello-world-symlink
$ templ generate

Expected behavior

A clear and concise description of what you expected to happen.

The appropriate …_templ.go file should be generated.
Screenshots

If applicable, add screenshots or screen captures to help explain your problem.

templ info output

Run templ info and include the output.

Doesn't seem to be a recognized command? Anyway, the output is:
usage: templ <command> [<args>...]

templ - build HTML UIs with Go

See docs at https://templ.guide

commands:
  generate   Generates Go code from templ files
  fmt        Formats templ files
  lsp        Starts a language server for templ files
  version    Prints the version

Desktop (please complete the following information):

OS: MacOS
templ CLI version: v0.2.747
Go version: go version go1.22.0 darwin/arm64
gopls version: golang.org/x/tools/gopls v0.16.1

Additional context
Add any other context about the problem here.
One can see a bit more about what happens by running templ generate -v in both the symlinked directory and the actual directory:
$ cd templ-symlink-bug/hello-world-symlink
$ templ generate -v
(✓) Starting post-generation handler
(✓) Walking directory [ path=/Users/mlh/templ-symlink-bug/hello-world-symlink devMode=false ]
(✓) Starting event handler
(✓) Dev mode not enabled, process can finish early
(✓) Post-generation event channel closed, exiting
(✓) Waiting for push handler to complete
(✓) Waiting for event handler to complete
(✓) Waiting for post-generation handler to complete
(✓) Complete [ updates=0 duration=212.375µs ]
$ cd ../hello-world
$ gempl generate -v
(✓) Starting post-generation handler
(✓) Starting event handler
(✓) Walking directory [ path=/Users/mlh/templ-symlink-bug/hello-world devMode=false ]
(✓) Dev mode not enabled, process can finish early
(✓) Processing file [ file=/Users/mlh/templ-symlink-bug/hello-world/hello.templ ]
(✓) Generated code [ file=/Users/mlh/templ-symlink-bug/hello-world/hello.templ in=1.010083ms ]
(✓) Post-generation event channel closed, exiting
(✓) Waiting for push handler to complete
(✓) Waiting for event handler to complete
(✓) Waiting for post-generation handler to complete
(✓) Complete [ updates=1 duration=1.3935ms ]

Interesting. The templ generate command uses a simple filepath.WalkDir to walk the tree: https://github.com/a-h/templ/blob/a48e9107f22709e18c0711341b8187d9c60c1bdd/cmd/templ/generatecmd/watcher/watch.go#L38-L55
WalkDir's docs state that it doesn't follow symbolic links: https://pkg.go.dev/path/filepath#WalkDir but without explanation. The explanation is provided in https://github.com/golang/go/issues/4759#issuecomment-66074349 where it's noted that following symlinks could result in a traversal that loops and therefore never finishes.
However, I note that fs.WalkDir seems to be newer than filepath.WalkDir, and supports having the base directory (only) be a symlink - https://pkg.go.dev/io/fs#WalkDir - and that there's also some additional work ongoing to support optionally following symlinks in https://github.com/golang/go/issues/49580
So, I think that it's likely that replacing filepath.WalkDir with fs.WalkDir is the answer to this issue, in that it supports a base directory being a symlink. Supporting nested symlinks would have to come later (if required at all), following https://github.com/golang/go/issues/49580

This is a good first issue for someone to pick up.
The hardest part of this is testing - an integration test would need to run a templ generate out of a symlinked folder.
The https://github.com/a-h/templ/tree/main/cmd/templ/testproject package provides a way to run integration tests on a sample project. If you see where that's used in the code, you can find some examples.
Otherwise, I'll get to this when I get to it...

Until it’s fixed, in case anyone else is having trouble with this – you could add cd $(realpath .) or the like to your build, before running templ.


Incompatible with other directives that use $__env

Out of the box code generated from blade templates includes the variable $__env, assigned to an instance of Illuminate\View\Factory.
When using blade-extensions $__env is assigned to an instance of Radic\BladeExtensions\Helpers\EmbedStack. This class has most of the same methods as Illuminate\View\Factory, but it does not have them all. I have a directive that uses $__env->hasSection($section). This method is not in the Radic\BladeExtensions\Helpers\EmbedStack class.
To ensure the default behavior of $__env is maintained when using blade-extensions the following could be added to Radic\BladeExtensions\Helpers\EmbedStack.
    /**
     * Dynamically call the view factory instance.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return mixed
     */
    public function __call($method, $parameters)
    {
        return call_user_func_array([$this->viewFactory, $method], $parameters);
    }

Yeah using that magic method would work. However, that $__env replacement should only happen inside @embed iirc. I will review the code once i have time and correct any wrong behaviour as well as adding the magic method, just to make sure all methods will work

That is exactly where I observed this behavior. I was not sure if it used Radic\BladeExtensions\Helpers\EmbedStack all the time or only in extensions.

Currently i think i will not implement the magic method. The reason why embedding is capable of re-using section names without interfering with each other is because it doesn't use the view factory. Altough it's probably not going to cause problems, the current way is the intended behaviour.
However, i'd still like to make this possible. How about i bind the EmbedStack  to blade.extensions.embedstack. You'll be able to something like
namespace App\Blade;
class EmbedStackExt extends \Radic\BladeExtensions\Helpers\EmbedStack {
    public function __call($method, $parameters)
    {
        return call_user_func_array([$this->viewFactory, $method], $parameters);
    }
}

class AppServiceProvider extends ServiceProvider {
public function register(){
    $this->app->register('blade.extensions.embedstack', \App\Blade\EmbedStack::class);
}

It's currently possible to extend in a similair method as shown above, however, you'd have to extend EmbedStacker class as well, as it's responsible for instanceiating the EmbedStack class.


Need ability to restrict parent page types to "root" page

I want the editor to be able to add a homepage as a child of the "root" page only. Currently there's no way to do that.
The workaround is to use a fixture (or migration) to make the homepage, then restrict its subpage and parent page types to []. But that doesn't stop the editor from deleting the homepage. If they do, they can't add one back again.
The correct behavior should be to set parent_page_types = ['root'] (maybe a special string) to restrict pages from only being able to be added to the root page.

I think parent_page_types = ['wagtailcore.Page'] will also work, as the root is the only valid instance of the bare Page class.
But yep, we ought to come up with something better... https://github.com/torchbox/wagtail/pull/1736#issuecomment-160944662 has a good suggestion for implementing this.

The trick @gasman has no longer works since moving to the new app naming structure in wagtail 2

I did try that and it does not work either. I'll fiddle with it some more tomorrow and see what I can do.

For me, both parent_page_types = ['wagtailcore.page'] and parent_page_types = [Page] work.

This should also be added to the docs 📖

You might need to just use lower case:
parent_page_types = ['wagtailcore.page'] works but parent_page_types = ['wagtailcore.Page'] doesn't.

Hi everyone, this issue is available?

I have just tried either spelling:
parent_page_types = ['wagtailcore.page'] or parent_page_types = ['wagtailcore.Page'] both work to limit the creation under the root page.
I guess the only thing left is adding this to the docs.


Quality of life changes

Testing may need to be done. This was done in Notepad++. I'm more setup for discord.py

you need to do this on the indev branch

Seems to be that displayName is completely useless. I see no reason to simplify such an already simple operation.


Case sensitivity of username when adding shared repository

Is it case sensitive? Need to confirm, and make sure it isn’t.

Actually, it isn’t so straightforward. Since we aren’t locking into GitHub or Gitlab, there can be cases with Git servers using authentication methods with case sensitive usernames. Not sure if current behavior should be fixed necessarily.


Updated gitignore to ignore vscode folder

Description
I have updated the gitignore file to exclude the .vscode file from being tracked and included in the repo.

All checks have passed PR is good to merge simple update to the gitignore file has been made looks good merging.


Fix display name for data row

Fix #1635

Partially implemented the ugly fix that does not require interface change. To fully implement it would need to be used also in the other places which call get display name (assembly enumerator for sure).


Default log levels on some CLI commands

Why does Lithops always use the DEBUG level in these CLI commands and not the log level the user wants?
https://github.com/lithops-cloud/lithops/blob/436f458e0d862ca1aff35886eb03d5e2143896c9/lithops/scripts/cli.py#L468-L471
https://github.com/lithops-cloud/lithops/blob/436f458e0d862ca1aff35886eb03d5e2143896c9/lithops/scripts/cli.py#L499-L501

Probably to have full verbosity by default

I think that the ideal would be to maintain the user's LOG_LEVEL


Doc/hands on tutorial

Summary

Adds two pages:

Hands-on tutorials page, closes https://github.com/TheThingsIndustries/generic-node-se/issues/112
Beta developers welcome page

Screenshots

...
Changes

Hands-on tutorials page
Beta developers welcome page

Notes for Reviewers

...
Checklist

[x] Scope: The referenced issue is addressed, there are no unrelated changes.
[x] Run Locally: Verified that the docs build using make server, posted screenshots, verified external links.
[x] New Features Marked: Documentation for new features is marked using the new-in-version shortcode, according to the guidelines in CONTRIBUTING.
[x] Style Guidelines: Documentation obeys style guidelines in CONTRIBUTING.
[x] Commits: Commit messages follow guidelines in CONTRIBUTING, there are no fixup commits left.

@benolayinka even though we merged this because we wanted to deploy something related to the shop, please give a quick review and let me know if there is something I can fix


Can't implement dark mode & border radius

I want my scrollbar to look like this:

the code for the above is:
::-webkit-scrollbar {
	/* h-[10px] => height of horizontal scrollbar, w-[10px] => width of vertical scrollbar */
	@apply h-[10px] w-[10px] bg-gray-200 dark:bg-scrollbar;
}

::-webkit-scrollbar-track {
	@apply rounded-md bg-transparent;
}

::-webkit-scrollbar-thumb {
	@apply rounded-md bg-gray-500 dark:bg-gray-300;

	&:hover {
		@apply bg-gray-400 dark:bg-gray-400;
	}
}

but instead when i used this plugin, it looks like:

notice, the thumb is square & there is no background color.
the code looks like:
scrollbar: (theme) => ({
			DEFAULT: {
				size: theme('spacing.3'),
				borderRadius: theme('borderRadius.md'),
				colors: {
					track: theme('colors.transparent'),
					thumb: theme('colors.gray.500'),
					thumbHover: theme('colors.gray.400'),
				},
				backgroundColor: theme('bg-gray-200'),
			},
			dark: {
				size: theme('spacing.3'),
				borderRadius: theme('borderRadius.md'),
				colors: {
					track: theme('colors.transparent'),
					thumb: theme('colors.gray.300'),
					thumbHover: theme('colors.gray.400'),
				},
				backgroundColor: theme('bg-scrollbar'),
			},
		}),

what am i doing wrong?
i have just commented my scrollbar.css file so my bg-scrollbar variable is still present but it isn't giving me the same output.
would love to use this plugin :)

Didn't know we can use border radius there.
Currently this plugin doesn't support attribute borderRadius, I'll add it later today after I'm back from work.

thanks. also, the background color isn't working if u can compare both the screenshots.
fwiw, i want the 2nd one to look exactly like the 1st one :)

@deadcoder0904
What is your theme('bg-scrollbar') does?
For background color, change the property inside colors
scrollbar: theme => ({
      DEFAULT: {
        size: theme('spacing.1'),
        colors: {
          track: theme('colors.gray.300'),
          thumb: theme('colors.gray.100'), // change this value to your color, this will apply css property background, which I believe what you are asking
          thumbHover: theme('colors.gray.600'), // this is when the scroll bar is hovered
        }
      },
    })

@christhofer
no, that's different. my bg-scrollbar is inside theme > extend > colors that looks like:
theme: {
	extend: {
		colors: {
			'primary-lighter': 'hsl(0, 0.0%, 15.0%)',
			'primary-light': 'hsl(0, 0.0%, 12.0%)',
			primary: 'hsl(0, 0.0%, 9.0%)',
			'primary-dark': 'hsl(0, 0.0%, 6.0%)',
			'primary-darker': 'hsl(0, 0.0%, 3.0%)',
			scrollbar: 'hsla(0, 0%, 100%, 0.1)',
			syntaxBg: 'hsl(0, 0.0%, 12%)',
		},
	}
}

you are little wrong about that 2nd part. i thought i must use backgroundColor property but what i wanted was to use track property like this:
scrollbar: (theme) => ({
	DEFAULT: {
		size: theme('spacing.3'),
		borderRadius: theme('borderRadius.md'),
		colors: {
			track: theme('colors.gray.200'),
			thumb: theme('colors.gray.500'),
			thumbHover: theme('colors.gray.400'),
		},
	},
	dark: {
		size: theme('spacing.3'),
		borderRadius: theme('borderRadius.md'),
		colors: {
			track: theme('colors.scrollbar'),
			thumb: theme('colors.gray.300'),
			thumbHover: theme('colors.gray.400'),
		},
	},
}),

this worked.
borderRadius doesn't work & i think dark theme isn't working either.
this is how it should look (this is my scrollbar.css file):

this is how it looks:

i've kept tailwind.config.js (see the above code) exactly like my scrollbar.css file (see my 1st comment for code)

if you also check my scrollbar.css file again, you can see thumb & track both are rounded so would love both of them to have support 👍

Yes, the dark mode can't be used like that.
I'll add another attribute darkColors, or maybe colors.darkTrack, colors.darkThumb for dark mode.
if theme('bg-scrollbar') is supposed to access theme > extend > colors, change it to theme('colors.bg-scrollbar')
Here is the demo.
P.s Also, your hsla(0, 0%, 100%, 0.1) appears very transparent to me, I changed it in the tailwind play to be more clear.
So, background color should be working with colors.track, colors.thumb, colors.thumbHover
Darkmode and border radius is not supported yet.

I'll add another attribute darkColors, or maybe colors.darkTrack, colors.darkThumb for dark mode.

this looks unnecessary. why not make it work like your other plugin? my imaginary api mentioned above would be perfect so if you can make it work like that, then it'd be awesome. i don't like darkColors, darkTrack, & darkThumb tbh.

if theme('bg-scrollbar') is supposed to access theme > extend > colors, change it to theme('colors.bg-scrollbar')

if i'm using gray.200 for bg-gray-200 then scrollbar looks accurate for bg-scrollbar just like in your tailwind play. again, that is not a problem. it works properly.

So, background color should be working with colors.track, colors.thumb, colors.thumbHover

oh yes, it will work after dark mode support :)

@deadcoder0904

this looks unnecessary. why not make it work like your other plugin? my imaginary api mentioned above would be perfect so if you can make it work like that, then it'd be awesome. i don't like darkColors, darkTrack, & darkThumb tbh.

so that DEFAULT can have light and dark colors without the need for extra class.
and if you need to add another variant, it can have different light and dark color.
scrollbar: (theme) => ({
	DEFAULT: {
		size: theme('spacing.3'),
		colors: {
			track: theme('colors.gray.200'),
			thumb: theme('colors.gray.500'),
			thumbHover: theme('colors.gray.400'),
			darkTrack: theme('colors.gray.600'),
			darkThumb: theme('colors.gray.200'),
			darkThumbHover: theme('colors.gray.100'),
		},
	},
	green: {
		size: theme('spacing.3'),
		colors: {
			track: theme('colors.green.200'),
			thumb: theme('colors.green.500'),
			thumbHover: theme('colors.green.400'),
			darkTrack: theme('colors.green.500'),
			darkThumb: theme('colors.green.900'),
			darkThumbHover: theme('colors.green.800'),
		},
	},
}),

green setting will be available under .scrollbar-green
I just don't think dark should belongs there with .loading-dark
or maybe with darkColors attribute, or array
DEFAULT: {
size: theme('spacing.3'),
colors: {
		track: [theme('colors.gray.200'), theme('colors.gray.600']
		thumb: [theme('colors.gray.500'), theme('colors.gray.200')]
		thumbHover: [theme('colors.gray.400'), theme('colors.gray.100')]
	},
},

My requirement that the plugin should work without the need to add class.
So I need the dark to be available in the config without the need to add dark:loading-dark class
I don't know if it will work great. I'll be in home in another 1 hour.

and if you need to add another variant, it can have different light and dark color.

oh yeah, now it makes sense but adam wathan (creator of tailwind) did say once that supporting multiple themes is overengineering.
and i agree with the sentiment as i coded a very small app with multiple themes & safe to say the experience was horrendous.

My requirement is that the plugin should work without the need to add class in the DOM at all. So I need the dark theme colors to be available in the config without the need to add dark:loading-dark class

oh yes, i guess it's the right approach.
i like the object approach darkColors: {} & would prefer that :)

Released in v2.0.0
npm install @gradin/tailwindcss-scrollbar@next
Released as @next because I haven't added support for scrollbar classes and updated the README.
Hopefully I can finish it tomorrow.
This is a breaking change for people who use custom config.

Updated the README.
Fixed bug when using prefix such as 'tw- still adds darkmode variant as .dark instead of .tw-dark.
Fixed bug when using darkMode: 'class' still showing dark mode even when the class '.dark' is removed.

Support for scrollbar classes is coming next week.
Let me know if there's any problem.


Error installing 7zip

[7zip-15-05.vm] vm.common.psm1 [+] ERROR : [ERR] The remote file either doesn't exist, is unauthorized, or is forbidden for url 'https://sourceforge.net/projects/sevenzip/files/7-Zip/15.05/7z1505-x64.exe/download'. Exception calling "GetResponse" with "0" argument(s): "The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel."
At C:\ProgramData\chocolatey\helpers\functions\Get-WebFile.ps1:330 char:8
+        throw "The remote file either doesn't exist, is unauthorized,  ...
+        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ERROR: The remote file either doesn't exist, is unauthorized, or is forbidden for url 'https://sourceforge.net/projects/sevenzip/files/7-Zip/15.05/7z1505-x64.exe/download'. Exception calling "GetResponse" with "0" argument(s): "The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel."
The install of 7zip-15-05.vm was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\7zip-15-05.vm\tools\chocolateyinstall.ps1'.
 See log for details.

Chocolatey installed 0/1 packages. 1 packages failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Failures
 - 7zip-15-05.vm (exited 404) - Error while running 'C:\ProgramData\chocolatey\lib\7zip-15-05.vm\tools\chocolateyinstall.ps1'.
 See log for details.

I can browse to https://sourceforge.net/projects/sevenzip/files/7-Zip/15.05/7z1505-x64.exe/download and download it just fine.

The package installed correctly in the daily run few hours ago, so the url seems to work: https://github.com/mandiant/VM-Packages/actions/runs/4826706037

I can browse to https://sourceforge.net/projects/sevenzip/files/7-Zip/15.05/7z1505-x64.exe/download and download it just fine.

Can you download it from the same VM you try to install the package? Have you tried to reinstall the package?

I just started a new install of Flare on a fresh Windows 10 VM. For some reason every package is giving the same error. I can go out to the internet just fine on the VM as well. I did have to install an older version of chocolatey due to them removing cinst. I think that may have had something to do with it?

That may be the case. See the other issues for potential solution downgrading chocolatey or setting an alias.
Please reopen this or create a new issue if this still persists.


Inheritance mode support for pull command

This is needed so that only translated strings are brought back, otherwise, the integration between Mojito and serge.io (Open-Source Solution for Continuous Localization by Evernote: https://serge.io) will not work properly.
See the plugin at  https://github.com/dragosv/serge/tree/mojito, will need to add this extra parameter once the pull request is accepted. The cli adds --inheritance-mode as a parameter for the pull command and the rest api will default to USE_PARENT if none specified. Also, the serge.io plugin should use REMOVE_UNTRANSLATED.
The plugin will be pushed into its own repository that I will support, as serge.io will not support any other translation services outside Pootle.

Thanks for all the tests!
If you can just fix the import. I'd rather stick the standard order and no change is needed in that case (sorry for being picky) and I'll merge!

@dragosv Thanks!!

@dragosv Awesome!! 👍 💯 🏆


Colmap binary link in Colab is invalid

Describe the bug
Colmap fails to install because the gdrive binary link is unavailable.
To Reproduce
Steps to reproduce the behavior:

Go to the colab page
Run Install Nerfstudio and Dependencies (~8 min)
See error when downloading colmap from this link

Expected behavior
Colmap installing successfully

I have the same error

I have the same error, won't run.

Can you try replacing that link with this: https://drive.google.com/file/d/1HfqTvVEmryU-W9zUFvRYoPsRQqnOD7ta&confirm=t
# Installing COLMAP
%cd /content/
!gdown "https://drive.google.com/file/d/1HfqTvVEmryU-W9zUFvRYoPsRQqnOD7ta&confirm=t"

Let me know if it works!

Edit: Actually there is still an issue with installation after this, let me look into it further and update soon.
Can you try replacing that link with this: https://drive.google.com/file/d/1HfqTvVEmryU-W9zUFvRYoPsRQqnOD7ta&confirm=t
# Installing COLMAP
%cd /content/
!gdown "https://drive.google.com/file/d/1HfqTvVEmryU-W9zUFvRYoPsRQqnOD7ta&confirm=t"

Thanks for the answer! However, I'm trying to access the link but it says that the file doesn't exist

Can you try to go into the code block, delete that entire section under # Installing COLMAP and replace it with !sudo apt-get install colmap. You can check that colmap is installed correctly by running !colmap -h afterwards. This is slightly suboptimal due to some dependency issues still (need a bit more time to fix) but will at least allow you to run the colab demo for now!

I will try!
On Fri, Sep 15, 2023 at 5:32 PM Gina Wu @.***> wrote:

Can you try to go into the code block, delete that entire section under #
Installing COLMAP and replace it with !sudo apt-get install colmap. You
can check that colmap is installed correctly by running !colmap -h
afterwards. This is slightly suboptimal due to some dependency issues still
(need a bit more time to fix) but will at least allow you to run the colab
demo for now!
—
Reply to this email directly, view it on GitHub
https://github.com/nerfstudio-project/nerfstudio/issues/2406#issuecomment-1721885624,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AI4NNKKPEHJIIQGSA2BSVLTX2TCQLANCNFSM6AAAAAA4PIIFH4
.
You are receiving this because you commented.Message ID:
@.***>

Can you try to go into the code block, delete that entire section under # Installing COLMAP and replace it with !sudo apt-get install colmap. You can check that colmap is installed correctly by running !colmap -h afterwards. This is slightly suboptimal due to some dependency issues still (need a bit more time to fix) but will at least allow you to run the colab demo for now!

This does install colmap, but this version of it does not generate the transforms.json file inside the data/nerfstudio/custom_data folder:

Perhaps there's an argument that you need to pass to colmap to generate it now?

same, any solution?

I have the same error too

I have the same error too

I'm trying to use conda to install colmap (like in previous versions of the notebook), I'll let you know if I get it to work :/

!conda install -c conda-forge colmap should work for custom data, I tried it earlier and it seemed to generate transforms.json. Please try that for now. We're working on getting a prebuilt binary out to speed up the installation process, apologies for the delay!

The issue with !sudo apt-get install colmap is that it installs colmap on google colab without cuda. You should check after conda install with !colmap -h that the correct version (should be colmap 3.8) with cuda is installed.

The issue with !sudo apt-get install colmap is that it installs colmap on google colab without cuda. You should check after conda install with !colmap -h that the correct version (should be colmap 3.8) with cuda is installed.

i try with conda and it appears to work fine but now im getting stuck on Downloading and Processing Data ( !ns-process-data video ), just after upload my custom data (video) it stucks in "Done converting video to images", besides this is the versions that is downloaded with conda

nevermind stills without generating the transforms.json

Are you connected to gpu?

i try with conda and it appears to work fine but now im getting stuck on Downloading and Processing Data ( !ns-process-data video ), just after upload my custom data (video) it stucks in "Done converting video to images", besides this is the versions that is downloaded with conda

This installation without CUDA will give you issues going forward with custom data upload. What's your hosted runtime?

Are you connected to gpu?

I’m not sure, I’m using a free colab machine actually

Follow this process. It works for me.
First install conda in colab executing that:
!pip install -q condacolab import condacolab condacolab.install()
After That run this:
!conda install -c conda-forge colmap
Make sure that colmap works by running.
!colmap -h


Add explanation about why so few administrators are included

Could you please add some explanation about the rational for including/excluding the administrator roles in the Secure Score calculation. I would think that many more admin roles are potentially risky and should be included.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4180415d-70f5-1ab2-408f-1f850c678829
Version Independent ID: d868ad2e-b8fd-bd12-f843-be7a3be80aba
Content: Find and address gaps in strong authentication coverage for your administrators in Azure Active Directory
Content Source: articles/active-directory/authentication/how-to-authentication-find-coverage-gaps.md
Service: active-directory
Sub-service: authentication
GitHub Login: @InbarckMS
Microsoft Alias: justinha

Thank you for reaching out. At this time we are reviewing the ask and will provide an update as appropriate

@DeanGross This is assigned to the author to review and update.

#reassign:@MicrosoftGuyJFlo
The list of roles is based on what Microsoft sees as a minimum list that should be protected.
Organizations can choose to include or exclude roles as they see fit using Conditional Access policies like those in Conditional Access templates or common policies
#please-close


python312Packages.apkinspector: 1.2.3 -> 1.2.4

Diff: https://github.com/erev0s/apkInspector/compare/refs/tags/v1.2.3...v1.2.4
Changelog: https://github.com/erev0s/apkInspector/releases/tag/v1.2.4
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

4 packages built:

python311Packages.apkinspector
python311Packages.apkinspector.dist
python312Packages.apkinspector
python312Packages.apkinspector.dist