Automatic dependency management

This PR introduces automatic dependency management. This will simplify installation as it will only install dependencies when they are needed instead of installing all dependencies of all possible platforms (= a lot). Dependencies can still be pre-installed by running pip3 install -r requirements.txt but it is not required.
Example of actions when Home Assistant first boots:

Detects core dependencies requests, pyyaml and pytz are not installed and installs them
Write example configuration
Launch Home Assistant
Part of the default configuration are the sun and discovery components so it installs their dependencies before continuing loading those platforms.
Discovery detects a Philips Hue and a Chromecast on the network. It installs the dependencies and loads the components.

The idea is that from now on, Home Assistant will be run from within a virtual environment. To be more specific: the virtual environment that is built-in since Python 3.3: venv. The new installation procedure will boil down to:
git clone --recursive https://github.com/balloob/home-assistant.git
python3 -m venv home-assistant
cd home-assistant
python3 -m homeassistant --open-ui

Python 3.4 is smart enough that when it is executed from within venv to automatically activate it. If the user is not following instructions and does not run Home Assistant from within a virtual environment, the dependencies will be installed in the user space (pip flag --user).
I have not been able to upgrade all the different devices that Home Assistant supports because I only own a handful of supported devices. Each component has to be updated:

Add a list REQUIREMENTS that specifies a list of pip compatible package names to be installed. Example: REQUIREMENTS = ['zeroconf>=0.16.0']
Postpone loading the dependency till the setup method. This is due the fact that Python is unable to load the REQUIREMENTS variable without executing the file and thus trying to resolve the dependencies.

FYI: I am not planning to put this PR into the upcoming release.


privatise load plan current

Scope & Purpose

Fix too rapid calls to loadPlan/loadCurrent and prevent them from future use from outside

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/10937/

Has multiple test failures, among them:
[----------] 1 test from IResearchFeatureTestCoordinator
[ RUN      ] IResearchFeatureTestCoordinator.test_upgrade0_1
2020-07-07T10:12:33Z [15114] ERROR {threads} exception caught in thread 'PlanSyncer': unknown feature 'arangodb::MetricsFeature' (exception location: /work/ArangoDB/lib/ApplicationFeatures/ApplicationServer.cpp:103). Please report this error to arangodb.com
2020-07-07T10:12:33Z [15114] WARNING {threads} caught exception in thread 'PlanSyncer': unknown feature 'arangodb::MetricsFeature' (exception location: /work/ArangoDB/lib/ApplicationFeatures/ApplicationServer.cpp:103). Please report this error to arangodb.com

Will start another Jenkins run

Has multiple test failures, among them:
[----------] 1 test from IResearchFeatureTestCoordinator
[ RUN      ] IResearchFeatureTestCoordinator.test_upgrade0_1
2020-07-07T10:12:33Z [15114] ERROR {threads} exception caught in thread 'PlanSyncer': unknown feature 'arangodb::MetricsFeature' (exception location: /work/ArangoDB/lib/ApplicationFeatures/ApplicationServer.cpp:103). Please report this error to arangodb.com
2020-07-07T10:12:33Z [15114] WARNING {threads} caught exception in thread 'PlanSyncer': unknown feature 'arangodb::MetricsFeature' (exception location: /work/ArangoDB/lib/ApplicationFeatures/ApplicationServer.cpp:103). Please report this error to arangodb.com

Will start another Jenkins run

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/10947/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/10952/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/10968/


M-Parameter Confusion

TODO

[ ] real-temp instead of feel-like
[ ] temperature scale

Details
In README.md: $ curl wttr.in/Amsterdam?M  # metric (SI), but show wind speed in m/s
Am I misunderstanding this part?
Being in the US, I expect "M" to show results in SI units plus wind speed in m/s instead of km/h.
However I am getting this:
$ curl -s wttr.in/tik?M0
Weather report: tik
  \   /     Sunny
   .-.      68 °F
― (   ) ―   ↖ 1 m/s
   `-’      9 mi
  /   \     0.0 in

Related issue:
curl -s de.wttr.in/73110,us?mF1  and  curl -s de.wttr.in/73110,de?mF1
allow for pointing the ZIP/area code to a specific country.
How does that work here for the area code?: curl -s 'de.wttr.in/{tik,73110,73108,okc}?m2F'
Additional issues:
Any particular reason, why
https://v3.wttr.in/Baden-Württemberg
does not produce a map? It works for /Nordrhein-Westfalen and /Rheinland-Pfalz
&format=v2  seems to use the "feels like" temperature values for the graph.

Is there any way to use the real temperatures instead?
Is it possible to have some kind of scale (like every 5°C or such) on the graph's y-axis in addition to currently only the Min/Max values?

The first problem is now closed with  #734 (please check).
Regarding area codes: currently only US area codes are supported.
I already thought about the global area codes support, but it is not clear, how they should
be specified. The domain name contains the language, not the country, so the query you proposed,
could not work as you expect it (for example, what would you specify for Austria here or for UK?)
Maybe it should be something like de:73110?
Regarding BaWu, it seems to be a bug here. I think that the problem is that there is a letter with an umlaut,
in the region name.

Is there any way to use the real temperatures instead?
Not yet

Is it possible to have some kind of scale (like every 5°C or such) on the graph's y-axis in addition to currently only the Min/Max values?

Not yet
I accept all of the bugs/feature requests you reported.
The only open question left is with the area code + country.

The first problem is now closed with #734 (please check).

Thank you very much, Igor :-)  This part is now working as expected.

Regarding area codes: currently only US area codes are supported. I already thought about the global area codes support, but it is not clear, how they should be specified. The domain name contains the language, not the country, so the query you proposed, could not work as you expect it (for example, what would you specify for Austria here or for UK?) Maybe it should be something like de:73110?

In the meantime I had tinkered around a bit and came up with this:
$ curl -s wttr.in/{73110-de,73110-us}?m1
I used https://www.suche-postleitzahl.org/ to match up some US ZIP codes with German Postleitzahlen.
The 2-letter country codes as listed f.e. in https://laendercode.net/de/2-letter-list.html seem to be working just fine, when provided using a hyphen.

Regarding BaWu, it seems to be a bug here. I think that the problem is that there is a letter with an umlaut, in the region name.

Same problem seems to be for Thüringen/Thueringen, just like Ba-Wü/Ba-Wue

The only open question left is with the area code + country.

Maybe it's already resolved? (See above)

I accept all of the bugs/feature requests you reported.
(the v3 problem was moved to a separate issue: #744)

Thank you.

You mention only US area codes are supported.  I'm assuming you mean Zip codes?  When I try my zip code, it returns a location in Seoul, not the US.
curl "https://wttr.in/08054?format=v2&F"
Do we need to proceed it with US or something?


BEP016: Initial draft of common filename suffix "model"

Draft PR in order to discuss issues described in greater detail in #32.

Any opinions on merging this prior to greater broadcast?
It may not yet be resolved in #50, but I'm progressively leaning more toward this; and additionally from @sappelhoff:

Re: Decision 2 --> I think one of the principles in BIDS so far was to use as few suffixes as possible, as many as needed ... so that makes Option 1 appear more favorable for me.

We agree to merge this and now we can start with the next


Bump version of asn1crypto. (asn1crypto fails on macOS Catalina, due to loading unversioned /usr/lib/libcrypto.dylib)

to:
cc: @airbnb/streamalert-maintainers
related to:
resolves:
Background
https://github.com/wbond/asn1crypto/issues/158
asn1crypto fails on macOS Catalina, due to loading unversioned /usr/lib/libcrypto.dylib
Changes
Upgrade asn1crypto in requirements.txt
Testing
confirmed all tests passed & deployed to cluster YMMV

hey @gavinelder  - thank you for this, but we are no longer accepting patches for master (v2.3.0). we're working solely on the release-3-0-0 branch now, as that will soon become the next stable release. that said, this v3 release has updated dependencies across the board and the asn1crypto package is no longer used at all. I'm going to close this out.

@ryandeivert NP fully understood.


Exclude pointer assign from bitwise assign

Description
Fixes https://github.com/github/codeql-coding-standards/issues/389.
These queries were erroneously reporting pointer assign as a bitwise assign operator.
Change request type

[ ] Release or process automation (GitHub workflows, internal scripts)
[ ] Internal documentation
[ ] External documentation
[x] Query files (.ql, .qll, .qls or unit tests)
[ ] External scripts (analysis report or other code shipped as part of a release)

Rules with added or modified queries

[ ] No rules added
[ ] Queries have been added for the following rules:

rule number here

[x] Queries have been modified for the following rules:

M5-0-20
M5-0-21
RULE-10-1

Release change checklist
A change note (development_handbook.md#change-notes) is required for any pull request which modifies:

The structure or layout of the release artifacts.
The evaluation performance (memory, execution time) of an existing query.
The results of an existing query in any circumstance.

If you are only adding new rule queries, a change note is not required.
Author: Is a change note required?

[x] Yes
[ ] No

🚨🚨🚨
Reviewer: Confirm that format of shared queries (not the .qll file, the
.ql file that imports it) is valid by running them within VS Code.

[ ] Confirmed

Reviewer: Confirm that either a change note is not required or the change note is required and has been added.

[ ] Confirmed

Query development review checklist
For PRs that add new queries or modify existing queries, the following checklist should be completed by both the author and reviewer:
Author

[x] Have all the relevant rule package description files been checked in?
[x] Have you verified that the metadata properties of each new query is set appropriately?
[x] Do all the unit tests contain both "COMPLIANT" and "NON_COMPLIANT" cases?
[x] Are the alert messages properly formatted and consistent with the style guide?
[x] Have you run the queries on OpenPilot and verified that the performance and results are acceptable?As a rule of thumb, predicates specific to the query should take no more than 1 minute, and for simple queries be under 10 seconds. If this is not the case, this should be highlighted and agreed in the code review process.
[x] Does the query have an appropriate level of in-query comments/documentation?
[x] Have you considered/identified possible edge cases?
[x] Does the query not reinvent features in the standard library?
[x] Can the query be simplified further (not golfed!)

Reviewer

[ ] Have all the relevant rule package description files been checked in?
[ ] Have you verified that the metadata properties of each new query is set appropriately?
[ ] Do all the unit tests contain both "COMPLIANT" and "NON_COMPLIANT" cases?
[ ] Are the alert messages properly formatted and consistent with the style guide?
[ ] Have you run the queries on OpenPilot and verified that the performance and results are acceptable?As a rule of thumb, predicates specific to the query should take no more than 1 minute, and for simple queries be under 10 seconds. If this is not the case, this should be highlighted and agreed in the code review process.
[ ] Does the query have an appropriate level of in-query comments/documentation?
[ ] Have you considered/identified possible edge cases?
[ ] Does the query not reinvent features in the standard library?
[ ] Can the query be simplified further (not golfed!)

@rvermeulen all branches merged, requesting re-review.


gleam: 1.3.2 -> 1.4.0

https://github.com/gleam-lang/gleam/releases/tag/v1.4.0
Description of changes

Things done

Built on platform(s)

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

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

[x] 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

[x] Fits CONTRIBUTING.md.

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

I meant to PR this earlier but forgot to sync my fork so 1.4.0 wouldn't build...
Regardless, this PR works for me. Gleam builds on aarch64-darwin and the resulting binary works as expected in one of my gleam repos.


Image don't support imageSource;

I tried the code:
<Image [imageSource]="imageSource" width="100" height="100"></Image>
but this don't work . Need support.

Hi @anhoev,
Try:
<Image [src]="imageSource" width="100" height="100"></Image>

@anhoev imageSource property requires NativeScript imageSource object. Getting such object is different for each different type of source (Url, local file, resource and etc.) So as @leocaseiro suggested using src property is the best option (since it handles all image-source cases) and it easier to change image-source.
@anhoev I've tested your scenario and if you return a real NativeScript imagesource object everything work like a charm. I mean that many of image-source module methods return promises, since decoding bitmap could be very long operation. Very common mistake could be:
model.imageSource = imageSource.fromUrl("https://....");

However this results with an error that object cannot be decoded as bitmap. The right code should look like:
imageSource.fromUrl("https://....").then((res) => {
    model.imageSource = res;
});

ImageSource.fromNativeSource(bitmap).then(imageSource => this.imageSource = imageSource)
I tested it but it doesn't work .
Error:
ImageSource.fromNativeSource(...).then is not a function.
ViewChild work ok for the case, but i think better when it directly support imageSource.
<Image #fingerImage width="250" height="250"></Image>
@ViewChild("fingerImage") fingerImageRef: ElementRef;
let fingerImage = <Image>this.fingerImageRef.nativeElement;
fingerImage.imageSource = ImageSource.fromNativeSource(bitmap);

src doesn't support bitmap.

@anhoev This is a very strange problem. I've just tested with a imageSource.fromFile which generally do almost the same that fromNativeSource method do. Could you please send me a small project that I can debug on my side? Thank you in advance.

Hi @nsndeck, I'm not sure if will help you, but everytime you want to use any JS NativeScript, you must include inside your ngAfterViewInit
Eq:

@Component({
        // ...
})
export class MyComponent {
    @ViewChild("fingerImage") fingerImageRef: ElementRef;

    ngAfterViewInit() {
        let fingerImage = <Image>this.fingerImageRef.nativeElement;
        fingerImage.imageSource = ImageSource.fromNativeSource(bitmap);
    }
}

@leocaseiro  thank you , i know the way work , but that is not angular style.
@nsndeck i can create later a small project, i read the source map from Imagesource and find out , that fromNativeSource return direct a Imagesource.

@anhoev: Any progress on this?
One idea - you can try to use the async pipe when binding and bind directly to the promise returned by the ImageSource API.

Closing due to inactivity.
Reopen if needed.

Yes, you saved my day guys!

How to binding data with 2 parameter?
@Component({         // ...  }) export class MyComponent {      private imageUrl:string = 'https://location/image/';      imagescr:string = 'default.jpg'; }
and i want binding image like this

while i have 2 parameter.
thanks before


Provide a Way to Compact Isar Database File

I just started using Isar and noticed that a .isar file, with a couple small records in it, weighs in at 1 MB. I suspect the size is related to creating efficiencies and speed when using the database.
It would be nice to be able to compact/compress a copy of the file prior to sending it somewhere.
By way of comparison:

The same data in an SQLite file is around 100 KB.
Realm has a compaction feature that lets you save out a copy that removes various things and reduces the file size by ~90%.

Would it be possible to add some kind of compaction feature to Isar for those of us that will send the database over HTTP in our app?
Version

Platform: iOS, Android, Mac, Windows, Linux, Web
Flutter version: 3.3.8
Isar version: 3.0.4

Isar files are much smaller than Realm but for performance reasons it initializes the file with 1MB size. I recommend adding more data to get a complete picture.
There is a compaction feature built in. Check the Isar.open() method.

Ah, interesting. So if I use compactOnLaunch does the file remain compacted to its smallest possible size? I'm trying to make a copy of the file with compaction similar to Realm's writeCopy method: https://www.mongodb.com/docs/realm/sdk/swift/realm-files/compacting/#make-a-compacted-copy

I'm trying to make a copy of the file with compaction similar to Realm's writeCopy method: mongodb.com/docs/realm/sdk/swift/realm-files/compacting/#make-a-compacted-copy

Isar has the copyToFile function, which I think is very similar.
I don't think it's in the doc yet, but can see the comments in the code here.
These is also a unit test, if you want a more concrete example.

Ah, nice. Thanks for the tip. Yeah, I didn't see anything like this in the docs.
It looks like the documentation for copyToFile states:

Copy a compacted version of the database to the specified file.
If you want to backup your database, you should always use a compacted version. Compacted does not mean compressed.

After trying it, it takes a 1 MB Isar DB and creates a 5 MB compacted version, so it certainly doesn't compress it (as it states).
Thanks for your help!


bin/console

'console' is too generic of an executable name.  You should either namespace it as dry-validation-console or remove it from your gem spec.

oh snap! this should not be included in the gem at all...sorry about that. I'll fix it in 0.8.1


fix: add temp solution for removing hasOne & belongsTo relationships

Issue #, if available:
Description of changes:
We currently can't remove hasOne or belongsTo relationships.
It's a DataStore issue being tracked here https://github.com/aws-amplify/amplify-js/issues/10750
But in the meanwhile, this is the temporary solution.
Integration tests included.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #824 (5b1b612) into tagged-release/cms-support (fa4769b) will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@                      Coverage Diff                       @@
##           tagged-release/cms-support     #824      +/-   ##
==============================================================
+ Coverage                       92.68%   92.71%   +0.03%
==============================================================
  Files                             116      116
  Lines                            4605     4624      +19
  Branches                         1322     1324       +2
==============================================================
+ Hits                             4268     4287      +19
  Misses                            318      318
  Partials                           19       19

Impacted Files
Coverage Δ

...-react/lib/forms/form-renderer-helper/cta-props.ts
100.00% <100.00%> (ø)

...act/lib/forms/form-renderer-helper/relationship.ts
97.36% <100.00%> (+0.64%)
:arrow_up:

packages/codegen-ui/lib/generic-from-datastore.ts
98.75% <100.00%> (-0.04%)
:arrow_down:

Continue to review full report at Codecov.

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


[FEAT] Nested filters in Hasura data provider

Is your feature request related to a problem? Please describe.
Currently we can only filter on top level keys but we aren't taking advantage of the graphql query syntax by also allowing filtering via nested objects.
Describe the solution you'd like
We should allow querying for nested objects via the CrudFilter interface.
Describe alternatives you've considered
N/A
Additional context
A couple of implementation options.

New operator nested:

{
  // empty field
  field: "",
  operator: "nested",
  value: {"category": {"type": {"_eq": "howto"}}},
},
{
  // or exclude field if operator nested
  operator: "nested"
  value: {"category": {"type": {"_eq": "howto"}}},
}

The goal being to construct a variables json object:
{
  "where": {
    "category": {
      "type": {
        "_eq": "howto"
      }
    }
  }
}

Hey @smparekh ,
Thank you for contacting us! We'll discuss possible solutions with the core team and let you know 🚀

Hey @smparekh ,
We've released<EMAIL_ADDRESS>Could you approve this feature?


Chrisda to Master

Issue #8839

Docs Build status updates of commit 9da6129:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/Import-DlpPolicyCollection.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Import-DlpPolicyTemplate.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Import-ExchangeCertificate.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Import-JournalRuleCollection.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Import-RMSTrustedPublishingDomain.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Import-RecipientDataProperty.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Import-TransportRuleCollection.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Import-UMPrompt.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-App.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-ClassificationRuleCollection.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-DlpEdmSchema.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-DlpFingerprint.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-DlpKeywordDictionary.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-DlpPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-DlpSensitiveInformationTypeRulePackage.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-EdgeSubscription.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-Fingerprint.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-MigrationBatch.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-MigrationEndpoint.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-OMEConfiguration.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-PublicFolderMigrationRequest.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-ClassificationRuleCollection.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-DlpEdmSchema.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-DlpKeywordDictionary.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-DlpSensitiveInformationTypeRulePackage.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-MigrationBatch.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-MigrationEndpoint.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-OMEConfiguration.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-SmimeConfig.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-UserPhoto.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Test-Message.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Test-MigrationServerAvailability.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Test-TextExtraction.md
:white_check_mark:Succeeded
View (exchange-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


How to change the Y position using javascript?

I want to do a button, when click on it, the div content scroll to top position. I tried the "scrollTop" but it is not working.

https://github.com/Grsmto/simplebar#trigger-programmatical-scrolling

Hi, How do I change the color of the tape


Dust is Invisible When Falling Straight Down

I tried to change the falling direction of the sand to be downward first, but the sand became invisible when falling. I don't know why. The following is the code I modified.
function updateDustNew(p, getNeighbor, setNeighbor)
    if getNeighbor({x=0, y=1}) == 0 then
        setNeighbor({x = 0, y = 0}, 0)
        setNeighbor({x=0, y=1}, p)
    else
        local d = {x = math.random(-1, 1), y = 1}
        if (getNeighbor(d) == 0) then
            setNeighbor({x = 0, y = 0}, 0)
            setNeighbor(d, p)
        end
    end
end

I think there is an area in the code that can be optimized. The original code updates the cells from top to bottom, which will cause some particles to not display correctly. It should be changed to update from bottom to top.
original：
	for x, c in ipairs(cells) do
		for y, p in ipairs(c) do
			local pos = {x = x, y = y}
			if (p ~= 0) then
				updateCell(p, neighborGetter(pos), neighborSetter(pos))
			end
		end
	end

modified：
	for x, c in ipairs(cells) do
		for y=#c, 1, -1 do
			local p = c[y]
			local pos = {x = x, y = y}
			if (p ~= 0) then
				updateCell(p, neighborGetter(pos), neighborSetter(pos))
			end
		end
	end


the .desktop file generated by distrobox does not work

I try to open it but nothing happens it seems the error has to do with terminal not being gnome terminal or konsole
I don't know if the error has to do with the desktop patheon or distrobox

(Disclaimer: this answer is based on my rudimentary knowledge of GNOME/Glib, some quick research, and my own personal experience)
So, Terminal= is a bit of an odd one in a .desktop file as it behaves differently depending on the DE. DEs using glib — so GNOME and Pantheon — have a hardcoded list of terminals to look through to launch from, and it seems Pantheon Terminal is missing from that list. You can try this yourself by doing gtk-launch fedora-37.desktop: you'll see it spit out an error that it cannot find a terminal.
There's also the property in dconf at org.gnome.desktop.applications.terminal exec which is set to io.elementary.terminal, but it doesn't seem this does anything.
You have two workarounds, however:
1. Launching Pantheon Terminal directly:

Adjust the Exec property to be /usr/bin/io.elementary.terminal -x /usr/bin/distrobox enter fedora-37
Adjust the TryExec property to be /usr/bin/io.elementary.terminal

2. Bash wrapper
Create a file at /usr/local/bin/gnome-terminal and add the following contents:
#!/usr/bin/env bash
shift
io.elementary.terminal -x $@

Don't forget to set it as executable too (sudo chmod +x /usr/local/bin/gnome-terminal).
Since /usr/local/bin/ is in your $PATH, glib will search for gnome-terminal in there too and should fire it up; this command acts as a stub to redirect it to Pantheon Terminal. I would hardcode this into Sodalite itself, but it will make it impossible to install GNOME Terminal afterwards, which some users might legitimately need.

I also noticed you have a few errors in your desktop file:

Category should be Categories
You've gone a dangling quote (") after your categories

Further Reading

https://unix.stackexchange.com/questions/333661/how-to-specify-which-terminal-is-used-by-gtk-launch
https://askubuntu.com/questions/76712/setting-nautilus-open-terminal-to-launch-terminator-rather-than-gnome-terminal/294430#294430


openlane RePlAce diverged at initial iteration

I'm trying to create a layout using openlane, and I ran into this error that says
RePlAce diverged at initial iteration.
Please tune the parameters again
Error: or_replace.tcl, 94 GPL-0304`

I took a look at the RePlAce repo, but I wasn't able to find this error there: https://github.com/The-OpenROAD-Project/RePlAce
The design is quite small as it's just the digital part of an ADC. I tried formatting the config.tcl file appropriately for a small layout based on this wiki: https://github.com/The-OpenROAD-Project/OpenLane/wiki#how-to-add-a-small-design . I've successfully used config.tcl files for a small design before, but perhaps there something I'm missing here.
I also tried changing some parameters like this:

setting INIT_DENSITY_PENALTY to the minimum value 1e-6, but the error still persists
setting PL_SKIP_INITIAL_PLACEMENT to 1 (instead of the default 0)

Here's the verilog (written by my teammate Jonah) for reference. It compiles without errors:
module digADC(

input clk, // input clock from crystal
input Vtripped, //ADC control signal, Vout > 0.9 V
output reg intc, // Controls integrator direction, 0 for sampling, 1 for measuring
output reg[6:0] val1, // 7 bit output value
output reg[6:0] val2, // 7 bit output value
output reg source, // Swaps input source
output reg sample); //Pulses to allow capacitor to sample sensor input

reg [7:0] counter;
reg s1, s2;

initial begin //Everything should be 0
  counter <= 8'd0;
  val1 <= 7'd0;
  val2 <= 7'd0;
  source <= 1'b0;
  s1 <= 0;
  s2 <= 0;
  sample <= 0;
end

always @(*) begin
  intc <= counter[7]; //intc is always just 8th bit of the counter

end

always @(posedge Vtripped) begin
  val1 <= source ? counter[6:0] : val1;
  val2 <= source ? val2: counter[6:0];
  counter <= 8'd0;

end

always @(posedge intc) begin
  source <= ~source; //Swap source select before its important (but after we use it for assigning)
  sample <= intc && !s1; // Gets pulse on rising edge of Vtripped
end

always @(posedge clk) begin
 counter <= Vtripped ? 8'd0 : counter + 8'd1;
 s1 <= intc;
 s2 <= sample;
 sample <= (sample && s2) ? 0 : sample;
end
endmodule

And here's the config.tcl file
# User config
set ::env(DESIGN_NAME) digADC

# Change if needed
set ::env(VERILOG_FILES) [glob $::env(DESIGN_DIR)/src/*.v]

# Fill this
set ::env(CLOCK_PERIOD) "32767"
set ::env(CLOCK_PORT) "clk"
set ::env(CLOCK_NET) $::env(CLOCK_PORT)

set ::env(FP_CORE_UTIL) 5
set ::env(PL_TARGET_DENSITY) 0.5

# set ::env(INIT_DENSITY_PENALTY) 1e-6
# set ::env(PL_SKIP_INITIAL_PLACEMENT) 1

set filename $::env(DESIGN_DIR)/$::env(PDK)_$::env(STD_CELL_LIBRARY)_config.tcl
if { [file exists $filename] == 1} {
	source $filename
}

Any advice would be appreciated. Thank you!

It would be helpful if you could package this as a standalone test case (eg without source $filename that isn't included).

Oh sorry about that! Should I upload the openlane design src folder?

I don't know the best way to package a test case from OpenLane.  @donn is there a mechanism like 'make issue' in OpenRoad-flow-scripts that produces a standalone tgz with all relevant files?

I'm happy to write a test script or package this however is helpful, just not sure how to do this. Thanks for pointing me to Donn!

The ideal is a tgz that when unpacked you can just run "openroad bug.tcl" and the problem is reproduced without needing to have anything more than a working openroad in your path.

The smallest/fastest reproducer is also desirable.

There is no official mechanism but I've been contending with this script here. It works mostly OK.
#!/usr/bin/env ruby

# Copyright 2020 Efabless Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# This script creates a reproducible, self-contained package of files to demonstrate
# OpenROAD behavior in a vaccum, suitable for filing issues.
#
# The result is a tarred, xzipped and gzipped tarball for minimal size while
# maintaining GitHub uploadability.

require 'fileutils'

run_path = "./designs/inverter/runs/openlane_test"
or_script = "./scripts/openroad/or_pdn.tcl"
tarball = true

# --
run_name = File.basename(run_path)
or_script_basename = File.basename(or_script)

# Read Envs
env = {}
rx = /\s*set\s*(::env\(\w+\))\s*(.+)/
load_env = File.read(File.join(run_path, "config.tcl")) + "\n" + File.read("/usr/local/pdk/sky130A/libs.tech/openlane/config.tcl")
for line in load_env.split("\n")
    match = rx.match(line)
    if match.nil?
        next
    end
    env["$#{match[1]}"] = match[2]
    env["[info exists #{match[1]}]"] = "1 == 1"
end

# Set Up Destination
destination_folder = "./_build/#{run_name}_#{or_script_basename}_packaged"

system "rm -rf #{destination_folder}"
system "mkdir -p #{destination_folder}"

# Get Full List Of Files
str_rx = /("((?:[^\\"]|\\\\|\\|\\\[|\\\]")*)"([^\s{}\(\)]*))/

files = { or_script => or_script }
file_copy_list = [or_script]

while filename = file_copy_list.shift
    script_str = File.read(filename)
    for k, v in env
        script_str.gsub!(k, v)
    end

    string_matches = script_str.scan(str_rx)
    current_file_list = []
    for m in string_matches
        full_replacable = m[0]
        in_quotes = m[1]
        after_quotes = (m[2] or "")

        if not in_quotes.start_with?("/openLANE_flow") and not in_quotes.start_with?("/usr/local/pdk")
            next
        end

        full_path = in_quotes + after_quotes

        if full_path.start_with?("/openLANE_flow")
            full_path = full_path.sub("/openLANE_flow", ENV["PWD"])
        end

        if full_path.end_with?(".tcl")
            file_copy_list << full_path
        end

        current_file_list << [full_path, full_replacable]

        files[full_path] = full_replacable
    end
end

for path, replacable in files
    basename = File.basename(path)
    destination = File.join(destination_folder, basename)

    begin
        if Dir.exist?(path)
            FileUtils.copy_entry(path, destination)
        else
            file_str = File.read(path)

            if basename.end_with?(".tcl")
                puts "Processing #{basename}..."
                for k, v in env
                    file_str.gsub!(k, v)
                end
                for k, v in files
                    puts "Replacing `#{v}` with `#{File.basename(k)}`"
                    file_str.gsub!(v, File.basename(k)) # Replacable is v
                end
            end

            File.open(destination, "w") { |f|
                f << file_str
            }

        end
    rescue
        STDERR.puts "Couldn't copy #{basename}, skipping..."
    end
end

run_cmd = File.join(destination_folder, "run")
File.open(run_cmd, "w") { |f|
    f << "#!/bin/sh\n"
    f << "dir=$(cd -P -- \"$(dirname -- \"$0\")\" && pwd -P)\n";
    f << "cd $dir; docker run --rm -tiv `pwd`:`pwd` -w `pwd` efabless/openlane:current openroad #{File.basename(or_script)}"
}
system "chmod +x '#{run_cmd}'"

if tarball
    system "tar -cv #{destination_folder} | xz | gzip > ./_build/packaged.tar.xz.gz"
end

@vscheyer it should probably be noted that your Verilog code is buggy.

initial constructs are not synthesizable in ASICs (only FPGAs). This is because it is not possible to control the state of a register when the power is first turned on.
You should instead use a reset signal which is asserted when the device turns on, and then de-asserted when the clock inputs are stable. Something like:

always @(posedge clk) begin
  if (reset) begin
    counter <= '0;
  end else begin
    counter <= counter + 1;
end

Generally you should use a blocking assignment = for combinational blocks, not non-blocking <=

always @(*) begin
  intc <= counter[7];

Your design will infer multiple independent clocks. I really don't think that's what you want. Every time you have always @(posedge [signal]), and [signal] is an input, you are creating a new clock. You should try to rewrite your design such that everything is running off the same clock.
If you truly need some of the inputs to be asynchronous (they could change at any time), you should add synchronizers to your design (look up the term Clock Domain Crossing).

As an addition to (3), you have a register counter which is being assigned by multiple signals from different clocks (clk and Vtripped). This is a huge no-no and will probably lead to undefined behavior. It definitely will not do what you want, and I doubt OpenROAD could handle that anyways.

@donn thanks for your help! I tried using your ruby script to make a tarball to reproduce my issue. I've never done this before so I hope I did it correctly, please let me know if I need to try again.
digADC_packaged.tar.xz.gz

@rovinski thank you for those pointers! I'm mostly familiar with using verilog on FPGAs since that's what I've done in classes, so that's helpful to know how initial constructs work with ASICs. The blocking vs. non-blocking advice is also helpful. I'll take a look at the clock situation too! The idea was to have multiple externally generated clocks that are synced up in the rest of the system, but perhaps that will complicate things in OpenROAD.

There's not much in that file. It's missing most of the required information like the def, lib and lef files.

@QuantamHD oh yeah that makes sense. Perhaps you or @donn could help me clarify something about generating a usable tarball? From what I can tell, the script that Donn shared (above) requires changes on the following lines. I replaced  run_path to match my design (digADC, run 03-06_22-55:
run_path = "./designs/digADC/runs/03-06_22-55"
or_script = "./scripts/openroad/or_pdn.tcl"

What does op_pdn.tcl do? Is that specific to the test case and should I change it?
When I run the script from Donn as set up here, I get the following terminal output which appears to be free of errors but I think I'm missing a step:
Processing or_pdn.tcl...
Replacing `./scripts/openroad/or_pdn.tcl` with `or_pdn.tcl`
Replacing `"/openLANE_flow/designs/digADC/runs/03-06_22-55/tmp/merged_unpadded.lef"` with `merged_unpadded.lef`
./_build/03-06_22-55_or_pdn.tcl_packaged/
./_build/03-06_22-55_or_pdn.tcl_packaged/or_pdn.tcl
./_build/03-06_22-55_or_pdn.tcl_packaged/merged_unpadded.lef
./_build/03-06_22-55_or_pdn.tcl_packaged/run

Thank you!

Thanks @maliberty for opening an issue about packaging openlane errors!

@vscheyer or_script is supposed to point to the OpenROAD script causing the failure, i.e. in your case, ./scripts/openroad/or_replace.tcl.
Additionally, you should replace "/usr/local/pdk/sky130A/libs.tech/openlane/config.tcl" with wherever you installed your PDK.

Thanks @donn ! I changed it so that or_script points to ./scripts/openroad/or_replace.tcl, and I made sure that line 40 points to the config.tcl file for my openlane install. I tried running your script again with seemingly more success. I'm getting a few warnings about missing files though, and I'm not sure if that is detrimental or not. Is there something I should do to fix this?
Couldn't copy replace.timing.rpt, skipping...
Couldn't copy replace.min_max.rpt, skipping...
Couldn't copy replace.rpt, skipping...
Couldn't copy replace_wns.rpt, skipping...
Couldn't copy replace_tns.rpt, skipping...

Here's a new tarball version that has more items in it and is maybe more useful!
digADC_packaged_2.xz.gz

Yeah those are normal, they're all outputs. The ruby script cant tell whats an input and whats an output, so it just tries to copy everything.

Ok great! Thanks for clarifying. If anyone is able to reproduce the issue using that tarball I'd love to see if I can resolve the diverging RePlAce error. I've tried playing around with the parameters a bit more but still no luck.

you need to include 7-pdn.def

@maliberty Do you mean I need to add it to the tarball? Or I need to do something so it shows up in my design folder to make the error go away? Right now I can find a 7-pdn.def file in digADC/runs/03-06_22-55/tmp/floorplan/

When I unpack digADC_packaged_2.xz.gz all I see are:
% ls
base.sdc            merged_unpadded.lef  run*
digADC.synthesis.v  or_replace.tcl       trimmed.lib
There is no def.

More precisely
_build/03-06_22-55_or_replace.tcl_packaged/base.sdc
_build/03-06_22-55_or_replace.tcl_packaged/merged_unpadded.lef
_build/03-06_22-55_or_replace.tcl_packaged/digADC.synthesis.v
_build/03-06_22-55_or_replace.tcl_packaged/trimmed.lib
_build/03-06_22-55_or_replace.tcl_packaged/run
_build/03-06_22-55_or_replace.tcl_packaged/or_replace.tcl
there is no digADC/runs/03-06_22-55/tmp/floorplan directory

Try this script @vscheyer: https://github.com/The-OpenROAD-Project/OpenLane/blob/develop/or_issue.py
The ruby script was kind of ad-hoc, this is designed to be more general.

Oh awesome, thank you @donn ! I just tried that script and it seems like it worked. Here's the result:
03-06_22-55_or_pdn_packaged.tar.gz

We are getting warmer as I have the def, but this is a replace issue and you've given a script to run pdngen.  Fwiw this script doesn't run either:
[INFO ODB-0134] Finished DEF file: ./tmp/floorplan/7-pdn.def
can't read "::env(PDN_CFG)": no such variable
@donn would you fix this issue with the script not getting all the dependencies and advise on how to properly package a global placement issue.

@vscheyer Ensure that you pass -s ./scripts/openroad/or_replace.tcl instead of -s ./scripts/openroad/or_pdn.tcl

Ah my bad! Here's the result using -s ./scripts/openroad/or_replace.tcl
03-06_22-55_or_replace_packaged.tar.gz

The data is all there but I had to update the script to the current OR style:
read_lef ./tmp/merged_unpadded.lef
read_def ./tmp/floorplan/7-pdn.def
global_placement -density 0.5
When I run that through the current OR I don't get any error:
INFO GPL-0021] MacroInstsArea: 0
[InitialPlace]  Iter: 1 CG Error: 0.00000006 HPWL: 920280
[InitialPlace]  Iter: 2 CG Error: 0.00000000 HPWL: 109720
[InitialPlace]  Iter: 3 CG Error: 0.00000000 HPWL: 109720
[InitialPlace]  Iter: 4 CG Error: 0.00000000 HPWL: 109720
[InitialPlace]  Iter: 5 CG Error: 0.00000000 HPWL: 109720
[INFO GPL-0031] FillerInit: NumGCells: 151
[INFO GPL-0032] FillerInit: NumGNets: 19
[INFO GPL-0033] FillerInit: NumGPins: 36
[INFO GPL-0023] TargetDensity: 0.50
[INFO GPL-0024] AveragePlaceInstArea: 3753600
[INFO GPL-0025] IdealBinArea: 7507200
[INFO GPL-0026] IdealBinCnt: 166
[INFO GPL-0027] TotalBinArea:<PHONE_NUMBER>
[INFO GPL-0028] BinCnt: 8 8
[INFO GPL-0029] BinSize: 4428 4420
[INFO GPL-0030] NumBins: 64
[NesterovSolve] Iter: 1 overflow: 0 HPWL: 201556
[NesterovSolve] Iter: 10 overflow: 0 HPWL: 201556
[NesterovSolve] Iter: 20 overflow: 0 HPWL: 201556
[NesterovSolve] Iter: 30 overflow: 0 HPWL: 201556
[NesterovSolve] Iter: 40 overflow: 0 HPWL: 201556
[NesterovSolve] Iter: 50 overflow: 0 HPWL: 201556
[NesterovSolve] Finished with Overflow: 0.000000
So this is really an issue with OpenLane using an older version of the tool.  There is nothing to fix in the current OR so I'm going to close this.

Well, hey! At least we verified the packager script works.
Sorry for the inconvenience, @vscheyer. I'll ping you when OpenLane's version of OR is up to date.

Thanks for your help @donn and @maliberty ! I'll keep an eye out for the OR update in OpenLane


Pull Request for Feature validations and model specs

In this PR following activities are incorporated :

Following validations for the User model are added ---
The Name must not be blank.
PostsCounter must be an integer greater than or equal to zero.
Following validations for the Post model are added ---
The title must not be blank.
The title must not exceed 250 characters.
CommentCounter must be an integer greater than or equal to zero.
LikeCounter must be an integer greater than or equal to zero.
Unit specs for all models' methods and validations are added.

I don't understand this part ..... I  am unable to come out of this error
.... Probably because of my device ..... The active load error or something
.... I am really faded up regarding the db:migrate ...... Probably the
postgresql is not working ..... I googled a lot but problem can not be
solved .....
Feeling really fustrated that how this error prevails how I can continue my
work ,....
Tanusri
On Sun, 29 Jan 2023, 02:50 Nemwel Boniface, @.***>
wrote:

@.**** requested changes on this pull request.
Hello @chuaindia https://github.com/chuaindia 👋 ,
I'm Nemwel your reviewer for this PR 🧔♂
Great job addressing some of the changes that were requested by a previous
reviewer 👏
There are some issues that you still need to work on to go to the next
project but you are almost there!
https://camo.githubusercontent.com/4f9601b422a77702aefe8e13485d2d5618cc0c30772eb2aa9f4129eac4757e06/68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f4b7942657366386b4e5436733838534567622f67697068792e676966
Highlights
Great job setting up the correct linters ✔
Professional documentation ✔
Correct workflow ✔
Meaningful commit messages ✔
♻ Required Changes ♻
I tried reaching out to you via slack but unfortunately, you were not
there.
Check the comments under the review.
[Optional] suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop
the approval of this PR. However, I strongly recommend you to take them
into account as they can make your code better.
Cheers and Happy coding! 🥳 👏👏
Feel free to leave any questions or comments in the PR thread if something
is not 100% clear.
Please, remember to tag me @.***
https://github.com/Nemwel-Boniface* in your question so I can receive
the notification.
Please, do not open a new Pull Request for re-reviews. You should use the
same Pull Request submitted for the first review, either valid or invalid
unless it is requested otherwise.
As described in the Code reviews limits policy
https://microverse.zendesk.com/hc/en-us/articles/1500004088561 you have a
limited number of reviews per project (check the exact number in your
Dashboard). If you think that the code review was not fair, you can request
a second opinion using this form https://airtable.com/shrQAqnBwek5a0O0s.
In spec/models/post_spec.rb
https://github.com/chuaindia/rail-blog-app/pull/3#discussion_r1089815749
:

it 'should test for integers greater than 0' do

subject.CommentCounter = 11

expect(subject.comments_counter).to eql 11

end

it 'should respond to recent_five_comments method' do

expect(subject).to respond_to(:latest_comments)

end

Unfortunately, this tests still fail on my end despite you making
the changes requested by the previous reviewers. Kindly look into why this
is the case

[image: image]
https://user-images.githubusercontent.com/86318284/215291492-ab77ded7-47fb-424b-9608-a68d67db3e24.png
In spec/models/user_spec.rb
https://github.com/chuaindia/rail-blog-app/pull/3#discussion_r1089815899
:

it 'should respond to recent_three_posts method' do

expect(subject).to respond_to(:latest_posts)

end

Unfortunately, this tests still fail on my end despite you making
the changes requested by the previous reviewers. Kindly look into why this
is the case

[image: image]
https://user-images.githubusercontent.com/86318284/215291536-dd270431-1585-4940-84a6-6fa5642d0c36.png
In spec/models/user_spec.rb
https://github.com/chuaindia/rail-blog-app/pull/3#discussion_r1089815904
:

it 'should test for presence of name' do

subject.Name = nil

expect(subject).to_not be_valid

end

it 'should test for empty name' do

subject.Name = ''

expect(subject).to_not be_valid

end

it 'should test for integer' do

subject.PostCounter = 'a'

expect(subject).to_not be_valid

end

it 'should test for integers lesser than 0' do

subject.PostCounter = -1

expect(subject).to_not be_valid

end

Unfortunately, this tests still fail on my end despite you making
the changes requested by the previous reviewers. Kindly look into why this
is the case

[image: image]
https://user-images.githubusercontent.com/86318284/215291542-0737577d-6fd4-4427-b8ad-14e1dde6ec5f.png
—
Reply to this email directly, view it on GitHub
https://github.com/chuaindia/rail-blog-app/pull/3#pullrequestreview-1274024049,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZPANHJBMYT3CJUNXAFQTEDWUWESHANCNFSM6AAAAAAUH7EI6I
.
You are receiving this because you were mentioned.Message ID:
@.***>


ConstructorInitializedMemberAssertion does not require initialization

If no constructor is found with a parameter matching the property name, the assertion passes.
Is this the intended behavior?  I was surprised, I definitely expected the assertion to require at least 1 constructor containing the fuzzy matched property name.

That is the intended behaviour for writable properties and fields.
Does issue #131 help explain this behaviour?

That makes perfect sense... and the main thing is it works as expected for a readonly property.  Thanks for clearing that up.


🐛 GoingToCamp Filtering

Description
Resolves https://github.com/juftin/camply/issues/261
❯ hatch run python -m camply campgrounds --provider goingtocamp --rec-area 3 --campground -2147483572
[2023-06-06 00:16:38] CAMPLY   camply, the campsite finder ⛺
[2023-06-06 00:16:38] INFO     Using Camply Provider: "GoingToCamp"
[2023-06-06 00:16:38] INFO     Retrieving Facility Information for Recreation Area ID: `3`.
[2023-06-06 00:16:39] INFO     1 Matching Campgrounds Found
[2023-06-06 00:16:39] INFO     ⛰  Washington State Parks, Washington (#3) - 🏕  Penrose Point State Park (#-2147483572)
[2023-06-06 00:16:39] CAMPLY   Exiting camply 👋

:tada: This PR is included in version 0.24.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Libz blitz/use question mark instead of unwrap in examples

Should resolve #129

rebased.
check out #144


properly closes connection with elevenlabs when completing stream

Currently the stream isn't closed when elevenlabs finishes getting data. This is due to not breaking out of the parent while True loop on line 182 of tts.py. Since we only break out of the inner while not ws.closed loop we never get to the bottom of _run which sets self._closed to true. Because of this, we never get a StopAsyncIteration in __anext__. This prevents the kitt example from running an aclose on the tts stream.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Here I thought I was doing something wrong, thank you.

I need to make a modification to this. This solution will break the retry functionality

I've updated this commit to handle retries

Hrmm so this plugin is designed to be able to keep using the same stream for the lifetime of the application (i.e. not completing it every time we flush to get a response from elevenlabs).
If I'm reading things correctly, calling aclose should "cancel" the main task which would send it into the asyncio.CancelledError exception flow which should break out of the top level while loop and set closed to true. Perhaps there is a bug in that flow?

Interesting I have definitely misunderstood how this plugin should function and that makes more sense. Currently what I'm seeing is a flood of "didn't receive anything in the last 20 seconds" errors from elevenlabs. And I've seen this error when I've been constantly sending text to it so I'm curious now as to why that error is happening. I'll have to investigate further

Sounds good @CalinR -  yeah I'm addressing another bug here: https://github.com/livekit/agents/pull/152 which may be related.

Sounds good. @keepingitneil if I'm reading the code correctly it also does look like in the Kitt example we are doing a new tts_plugin.stream() every time we get a new event that is final from the STT which means we're opening a new connection with elevenlabs. This would explain why we're getting disconnected errors since the last connection was never closed and was allowed to timed out.
So I think if the intention was for the connection to live for the life of the application we would need to move where tts_plugin.stream() is called.

Yeah so the plugin is designed to work with both strategies. So in the case where aclose is used - I believe the CancelledError flow should get triggered. Are you seeing issues with that flow?

I am in the Kitt example. This is because aclose is called after the stream loop has completed in send_audio_stream but since the iterator never returns that it has completed it never gets to that code block.
Calling aclose from inside the stream loop async for e in tts_stream if we received a finished event does work as expected though.

Closing because we've changed the APIs a bit since this PR. Among those changes are fixes to the connection handling issues. Sorry for the delay here and thanks for surfacing this issue 🙏


Expansion of % in cmdline has an extraneous % prepended

Normally, when you type :e % and press tab, the % will expand to the current buffer's path. However, with cmp-cmdline, the % will expand to the path but with a % prepended to it.
Example:
touch myfile
nvim myfile
:e %<TAB>

Should expand to :e myfile but instead expands to :e %myfile.

I can reproduce this. Also, sometimes, expanding % doesn't even do anything. I'm not sure how to reproduce that one because it doesn't happen all the time.

I found that this keyword pattern can help prevent cmp from messing with the % sign:
[^[:blank:]%]*
 { name = 'cmdline', keyword_pattern = [=[[^[:blank:]%]*]=] },

It's similar to the solution to a different issue suggested by @RnYi in https://github.com/hrsh7th/cmp-cmdline/issues/24#issuecomment-1005662931
https://user-images.githubusercontent.com/551858/166122850-1f9bf2a2-8bc2-45cc-80bf-801c1775ac3b.mp4
It doesn't work however with %:h I suspect a different approach may be necessary. I played with an alternative: a positive regex (as in list the things that DO trigger a completion instead of those that shouldn't) with a negative lookbehind (to ensure the string didn't start with something we don't want to complete).
For example (?<!%:|%)[a-zA-Z0-9#_\.]+, but I'm not sure how to get this to work in Lua and Neovim

https://regex101.com/r/dCXdz7/1
This is the closest thing I could find for implementing the regex in vim https://stackoverflow.com/a/20409575
So it would look something like this in verymagic:
(\%)@<!([a-zA-Z0-9_\-# ]+)

Maybe I'm overthinking this and going about it all wrong though..
@hrsh7th any thoughts?

Here's one alternative way to handle this, that also takes care of "%:h" and similar constructs. I use this function in cmp.setup.cmdline(":", ...)
local function delay(fn, time)
    local timer = vim.loop.new_timer()
    timer:start(time, 0, vim.schedule_wrap(function()
        fn()
        timer:stop()
    end))
end

function M.on_tab(fallback)
    local cmp = require"cmp"
    if vim.api.nvim_get_mode().mode == "c" then
        local text = vim.fn.getcmdline()
        local expanded = vim.fn.expandcmd(text)
        if expanded ~= text then
            vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("<C-U>", true, true, true) .. expanded, "n", false)
            -- triggering right away won't work, need to wait a cycle
            delay(cmp.complete, 0)
        elseif cmp.visible() then
            cmp.select_next_item()
        else
            cmp.complete()
        end
    end -- in the real mapping there are other elseif clauses
end

What this does is it expands the commandline on tab and then triggers the completion. It will reset your cursor position to the end of the line, but if that annoys you, you can play with vim.fn.setcmdpos() and expansion rules.
This is just another workaround though,

couldn't get the workarounds above working somehow.  any hints on resolving this?

I am corrently experiencing this, too. And I have a currently not well functionality, that avoids completion in case of a path-expansion-thingy
I do not know why, but currently it is not showing the provided completion options, maybe I am missing something, you can ha ve a look here. https://github.com/m42e/cmp-cmdline
Maybe @hrsh7th give me a hint.

couldn't get the workarounds above working somehow. any hints on resolving this?

I tried this, it works!
local function delay(fn, time)
    local timer = vim.loop.new_timer()
    timer:start(time, 0, vim.schedule_wrap(function()
        fn()
        timer:stop()
    end))
end

cmd_mapping = cmp.mapping.preset.cmdline()
cmd_mapping_override = {
    ['<Tab>'] = {
        c = function()
            if vim.api.nvim_get_mode().mode == "c" then
                local text = vim.fn.getcmdline()
                local expanded = vim.fn.expandcmd(text)
                if expanded ~= text then
                    vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("<C-U>", true, true, true) .. expanded, "n", false)
                    -- triggering right away won't work, need to wait a cycle
                    delay(cmp.complete, 0)
                elseif cmp.visible() then
                    cmp.select_next_item()
                else
                    cmp.complete()
                end
            else
                if cmp.visible() then
                    cmp.select_next_item()
                else
                    cmp.complete()
                end
            end -- in the real mapping there are other elseif clauses
        end,
    },
    ['<S-Tab>'] = {
        c = function()
            if vim.api.nvim_get_mode().mode == "c" then
                local text = vim.fn.getcmdline()
                local expanded = vim.fn.expandcmd(text)
                if expanded ~= text then
                    vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("<C-U>", true, true, true) .. expanded, "n", false)
                    -- triggering right away won't work, need to wait a cycle
                    delay(cmp.complete, 0)
                elseif cmp.visible() then
                    cmp.select_prev_item()
                else
                    cmp.complete()
                end
            else
                if cmp.visible() then
                    cmp.select_prev_item()
                else
                    cmp.complete()
                end
            end
        end
    }
}
for k, v in pairs(cmd_mapping_override) do
    cmd_mapping[k] = v
end

-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline(':', {
    mapping = cmd_mapping,
    sources = cmp.config.sources({
        { name = 'cmdline' },
        { name = 'path' },
        { name = 'cmdline_history' }
    })
})

My workaround: life is very simple if you like to use <C-n> and <C-p> to select completion options. You can just delete the tab binding and the nvim builtin behavior continues to work. 🙂
local cmdline_mapping = cmp.mapping.preset.cmdline{ ... }
cmdline_mapping['<Tab>'] = nil

cmp.setup.cmdline({':'}, {
    mapping = cmdline_mapping,
    sources = cmp.config.sources({
        { name = 'cmdline' },
    }
})

I have a feeling this issue is related to this other one as it only seems to manifest itself after doing a search using /.

Thanks @chengzeyi for this! I've simplified it a bit with a helper function:
local function delay(cb, time)
  local timer = vim.loop.new_timer()
  timer:start(
    time,
    0,
    vim.schedule_wrap(function()
      cb()
      timer:stop()
    end)
  )
end

local function handle_tab_complete(direction)
  return function()
    if vim.api.nvim_get_mode().mode == 'c' and cmp.get_selected_entry() == nil then
      local text = vim.fn.getcmdline()
      ---@diagnostic disable-next-line: param-type-mismatch
      local expanded = vim.fn.expandcmd(text)
      if expanded ~= text then
        vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes('<C-U>', true, true, true) .. expanded, 'n', false)
        -- triggering right away won't work, need to wait a cycle
        delay(cmp.complete, 0)
      elseif cmp.visible() then
        direction()
      else
        cmp.complete()
      end
    else
      if cmp.visible() then
        direction()
      else
        cmp.complete()
      end
    end
  end
end

cmp.setup.cmdline(':', {
  mapping = cmp.mapping.preset.cmdline {
    ['<Tab>'] = { c = handle_tab_complete(cmp.select_next_item) },
    ['<S-Tab>'] = { c = handle_tab_complete(cmp.select_prev_item) },
    -- ... rest of your mappings ...
  },
  -- ... rest of your config ...
}


Is frontrunner helps to resolve_paths between webpack and sprockets?

Hi @ankane !
First, i would thank you for all your OSS work, it really helps me to ship great apps!
I would like to know if frontrunner can help me to use webpack along with sprockets in Rails ::Engine and resolve_paths between webpack and sprockets?
I'm would like to implement Stimilus.js in refinerycms which is a collection of Rails::Engine.
I will have Stimulus controllers in refinerycms-core and i will need to access them in the main rails app.

I found this:

If you are adding Webpacker to an existing app that has most of the assets inside app/assets or inside an engine, and you want to share that with webpack modules, you can use the resolved_paths option available in config/webpacker.yml. This lets you add additional paths that webpack should lookup when resolving modules:

Source: https://github.com/rails/webpacker#resolved
So adding this in my config/webpacker.yml seems to fix my problem:
[...]
resolved_paths: ['app/assets', 'app/javascripts']
[...]

Hey @bricesanchez, there’s no reason to use this project anymore.


Fix a crash bug when setting hideArrow=true.

Please see issue #9

Thank you for your contribution!


Access Azure Data Lake Gen2 via PyArrow

Hello,
I am trying to connect to my Data Lake Gen2 Storage from Azure hosted virtual machine via hdfs.connect method, and instantly getting timeout; I was trying to use different driver "libhdfs3", and nothing really changed. Shared Key to access storage account is written in /opt/hadoop-3.2.0/etc/hadoop/core-site.xml and when I was using commands "hdfs dfs -get" the key was successfully read by the program and getting the file was not a problem at all, but at this point I am not sure If pyarrow is reading the key from configuration file as well as I am not sure if pyarrow supports connection do ADLS Gen2. Can somebody clarify those details please? Sitting third day on it and cannot understand is it my mistake or there is no such an option.
Environment variables are set according to hadoop and pyarrow instructions, libraries "libhdfs" and "libhdfs3" are located in /opt/hadoop-3.2.0/lib/native .
 Already tried 2 time(s)
2019-07-16 10:18:04.846982, p57668, th139653677737792, ERROR Failed to setup RPC connection to "centerofexcellence.dfs.core.windows.net:8020" caused by:
TcpSocket.cpp: 283: HdfsTimeoutException: Connect to "centerofexcellence.dfs.core.windows.net:8020" timeout

With different driver:
script -
resp=$(python3 -c 'import pyarrow as pa; fs =<EMAIL_ADDRESS> port=8020); fs.ls("/first")')
out:
2019-07-16 10:52:10,885 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2019-07-16 10:52:31,586 INFO ipc.Client: Retrying connect to server: centerofexcellence.dfs.core.windows.net/<IP_ADDRESS>:8020. Already tried 0 time(s); maxRetries=45
2019-07-16 10:52:51,607 INFO ipc.Client: Retrying connect to server: centerofexcellence.dfs.core.windows.net/<IP_ADDRESS>:8020. Already tried 1 time(s); maxRetries=45

We'll have to discuss in a more appropriate place. Maybe<EMAIL_ADDRESS>

Generally I was trying to connect in wrong way, and this one is proper:
fs =<EMAIL_ADDRESS>In my case after such a command next what I saw was an error NullPointerException, and it was about SSL:
    at org.wildfly.openssl.CipherSuiteConverter.toJava(CipherSuiteConverter.java:284)
    at org.wildfly.openssl.OpenSSLEngine.toJavaCipherSuite(OpenSSLEngine.java:1021)
    at org.wildfly.openssl.OpenSSlSession.initCipherSuite(OpenSSlSession.java:305)
    at org.wildfly.openssl.OpenSSlSession.initialised(OpenSSlSession.java:296)

and the solution was next:
find folder, where hadoop is installed, then go to directory
share/hadoop/tools/lib and locate jar called wildfly-openssl-1.0.4.Final.jar
My version of hadoop is 3.2.0 and I have no idea why do they use 1.0.4 version,
next my step was to download wildfly-openssl-1.0.7.Final.jar
replace old jar by new one, and rename 1.0.7 to 1.0.4, if You will not rename it probably You will get ClassNotFoundException as I did, unfortunately still I didn't find a place where is it binded, but with all the above it works. Hope this will help somebody.

@ikravche  this helps for me.


Remove deepcopy usage from circuit_to_dag()

Summary
The circuit_to_dag() function was previously using a deepcopy to make
copies of all input circuits. This could get quite expensive as it has
to update all the references. However, this deepcopy was only being used
to create a fresh copy of the instructions objects that were part of the
circuit. This instructions are passed directly to the dag in the output
so we can't pass by reference otherwise changes to the dag will break
the circuit. To avoid the performance hit with a deepcopy this commit
changes the function to instantiate new instruction objects right before
we add them to the dag.
Details and comments
Fixes #1528

do we have speed improvement numbers

I've just done a small synthetic test converting a large circuit object (loaded from a 3500 line qasm file) and converting that to a dag. It was ~1.6x as fast for that quick conversion going from ~0.21 secs to ~0.13 secs. The raw data is:
With Patch:
0.128338
0.129884
0.125828
0.125982
0.126041
0.129518
0.126339
0.125583
0.126122
0.127914
0.125035
0.127082
0.126778
0.125588
0.130447

Without Patch:
0.205295
0.206874
0.207197
0.208566
0.214064
0.208503
0.208941
0.207808
0.210187
0.205799
0.207779
0.213378
0.209816
0.211099
0.205749

If you've have any specific benchmarks you'd like me to run I can quickly throw it together.


Best way to execute code whenever the route changes

I am using package:usage/usage.dart to send events to google analytics. Is there a way for me to hook into ANY route change to send a "Screen View" to google analytics? Or should I explicitly do this alongside all my calls to Navigator.push, as well as initially when the home route is set up? Note that when sending a screen view you provide a name for the screen. This means the hook would ideally give me a way to access the route name or the class of the widget the route builds.
Off-topic: Would you prefer these questions through a different medium since they aren't necessarily issues?

This is a fine medium.  Almost all your issues are valid documentation issues if nothing else.  This one is asking for a callback in the routing system, which would be for @Hixie to answer.

There's no good way today. That's a good use case. We should definitely handle it better.
In the meantime you could clone MaterialApp and have it create the Navigator with a NavigatorObserver that then forwards all calls onto the hero navigator observer, and do the watching there. But that's not a good solution long-term.

@drewwarren: is this blocking you?  @Hixie would you be comfortable with drew shipping using your above workaround of cloning MaterialApp?

This is not blocking. There are acceptable workarounds. As @Hixie mentioned a more tailored solution would be better long-term.

I while ago we added RouteObservers [1], which seem to do what is asked here. We are actually using them in the firebase_analytics plugin for the exact same purpose to send an event to firebase when the current pageroute changes, see [2]
With that, I am closing this issue. Please re-open or file a new issue with more details if this is not fixing the problem.
[1] https://master-docs.flutter.io/flutter/widgets/RouteObserver-class.html
[2] https://github.com/flutter/plugins/blob/master/packages/firebase_analytics/lib/observer.dart#L19

P.S. For those who visit this webpage at 2020, the latest link for observer.dart ([2] above) is: https://github.com/FirebaseExtended/flutterfire/blob/80b558bd28aad5e687023d728843fa74cb93cfc9/packages/firebase_analytics/firebase_analytics/lib/observer.dart#L1

Was this issue resolved in general?
Analytics is not the only possible use-case. For example I need to refresh user JWT token every time screen changes to make sure I have fresh state if user made a purchase on the web.


Merge to live 2022-07-13

No detected changes to .json files in the root

Docs Build status updates of commit 4d45c44:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/preview/mgmt-rdbms-readme.md
:warning:Warning
View (azure-python-preview)
Details

ci-configs/packages-latest.json
:white_check_mark:Succeeded

metadata/preview/azure-mgmt-rdbms.json
:white_check_mark:Succeeded

docs-ref-services/preview/mgmt-rdbms-readme.md

Line 2, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
Line 9, Column 13: [Warning: ms-service-subservice-invalid - See documentation] Invalid value for 'ms.service': 'rdbms'.
Line 11, Column 1: [Warning: duplicate-h1s - See documentation] H1 'Microsoft Azure SDK for Python' is duplicated with other articles: 'docs-ref-services/preview/cognitiveservices-knowledge-qnamaker-readme.md(13,1), docs-ref-services/preview/cognitiveservices-language-luis-readme.md(13,1), docs-ref-services/preview/cognitiveservices-language-spellcheck-readme.md(13,1), docs-ref-services/preview/cognitiveservices-language-textanalytics-readme.md(17,1), docs-ref-services/preview/cognitiveservices-personalizer-readme.md(13,1),...'. First level headings must be unique within a docset.
Line 11, Column 1: [Warning: duplicate-titles - See documentation] Title 'Microsoft Azure SDK for Python' is duplicated in: 'docs-ref-services/preview/applicationinsights-readme.md(13,1), docs-ref-services/preview/cognitiveservices-knowledge-qnamaker-readme.md(13,1), docs-ref-services/preview/cognitiveservices-language-luis-readme.md(13,1), docs-ref-services/preview/cognitiveservices-language-spellcheck-readme.md(13,1), docs-ref-services/preview/cognitiveservices-personalizer-readme.md(13,1),...'. Titles must be unique within a docset.
Line 21, Column 1: [Warning: multiple-h1s - See documentation] Multiple H1s(H1 'Usage') are not allowed. You can only have one top-level heading.
Line 21, Column 1: [Warning: duplicate-h1s - See documentation] H1 'Usage' is duplicated with other articles: 'docs-ref-services/preview/cognitiveservices-knowledge-qnamaker-readme.md(20,1), docs-ref-services/preview/cognitiveservices-language-luis-readme.md(20,1), docs-ref-services/preview/cognitiveservices-language-spellcheck-readme.md(20,1), docs-ref-services/preview/cognitiveservices-language-textanalytics-readme.md(24,1), docs-ref-services/preview/cognitiveservices-personalizer-readme.md(20,1),...'. First level headings must be unique within a docset.
Line 33, Column 1: [Warning: multiple-h1s - See documentation] Multiple H1s(H1 'Provide Feedback') are not allowed. You can only have one top-level heading.
Line 33, Column 1: [Warning: duplicate-h1s - See documentation] H1 'Provide Feedback' is duplicated with other articles: 'docs-ref-services/preview/cognitiveservices-knowledge-qnamaker-readme.md(28,1), docs-ref-services/preview/cognitiveservices-language-luis-readme.md(28,1), docs-ref-services/preview/cognitiveservices-language-spellcheck-readme.md(28,1), docs-ref-services/preview/cognitiveservices-language-textanalytics-readme.md(32,1), docs-ref-services/preview/cognitiveservices-personalizer-readme.md(28,1),...'. First level headings must be unique within a docset.
Line 2, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
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.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


tests: travis: cache gopath

Can you reference some documentation about how this works?

Thanks for the explanation @xoviat. I'll use this as reference and look into it more later, when I find some time. Travis is passing successfully on master for now, so we can delay dealing with this for now.


#5435 rmrk label

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR Type

[x] Bugfix
[ ] Feature
[ ] Refactoring

Context

[x] Closes #5435
[ ] Requires deployment <>

Before submitting pull request, please make sure:

[ ] My contribution builds clean without any errors or warnings
[ ] I've merged recent default branch -- main and I've no conflicts
[ ] I've tried to respect high code quality standards
[ ] I've didn't break any original functionality
[ ] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </bsx/collection>
[ ] I've tested PR on mobile
[ ] I've written unit tests 🧪
[ ] I've found edge cases

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot 📸

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

it seems like my changes got reversed somehow, works now @yangwao

@prachi00 doesn't build

@prachi00 doesn't build
https://github.com/kodadot/nft-gallery/actions/runs/4641899175/jobs/8217336465?pr=5561#step:3:317

@yangwao fixed

perfect 👍

pay 10 usd


add  new term MONDO:0100110 adenovirus renal infection

closes #1188
let me know if there are any issues, I was not 100% sure about the logical defs

I just re-did this on another PR, i will close this


VSCode fails to install

In the installer for VSCode seems to fail to instal claiming that the last command on this line Get-PackageCacheLocation cannot be found
https://github.com/chocolatey/chocolatey-coreteampackages/blob/0d22cb6331c7bc5b834f073e901769148a6d1c58/automatic/vscode/tools/ChocolateyInstall.ps1#L22
I am likely to just repave this box anyway but thought it best to raise this as an issue in case anyone else gets this

see below image of this issue

could be a install problem with the chocolatey-core.extension package that we use in the package.
try forcing a re-install of that extension (seen this problem pop up for several issuers, across different packages and a re-install usually helped).
just do choco install chocolatey-core.extension --force

That seems to have fixed it
I will be building a new machine to test on as I'm trying to automate a full clean dev build environment from scratch so will see if this crops up again in future.

As I said, I've heard that failure happening from time to time, but compared to the amount of downloads the extension have had, it's rare.
If it happens again, just try reinstalling it again and it should be fixed (hopefully you don't have to though).

For posterity, I am still running into this.
choco install -f chocolatey-core.extension
choco install -f vscode

Works for me too.


youtube-dlg update error

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

WARNING
All invalid issues will be rejected!!

Before going further

If your problem is a bug with youtube-dl or a request for new site support please report it here

Make sure you are using the latest youtube-dl-gui version (Click the Settings icon and then About to view the current version)

Make sure you are using the latest youtube-dl version (Click the Settings icon and then Update to update to the latest youtube-dl version)

Make sure you searched the bugtracker for similar issues including closed ones

Make sure to read the FAQs file

[x] I think my problem is NOT with youtube-dl
[x] I've verified and i assure that I'm running youtube-dl-gui 0.4
[x] I assure that i am using the latest version of youtube-dl
[x] Searched bugtracker
[x] I've read the FAQs file

What is the purpose of your issue?

[x] Bug report
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

Please remove any sections between (---) if they are not related to your issue

Bug report
If the problem occurs when downloading a URL please provide the full verbose output as follows:

Restart youtube-dl-gui
Go to Options > Extra tab
Enable Debug youtube-dl
Go to Options > Advanced tab and Clear your log content
Try to download the URL
Copy the whole log content and insert it between the ``` part below

delete me and insert your log content here

What operating system do you use ?
Windows 7 Home Premium 64 bit
List of actions to perform to reproduce the problem:

Open youtube-dlg
Open settings
Select "update"

What is the expected behaviour ?
It should say "downloading latest youtube-dl. please wait...", and then after a few seconds say something like "youtube-dl downloaded successfully.".
What happens instead ?
It says "downloading latest youtube-dl. please wait...", but then after a few seconds it says "youtube-dl download failed [http error 403: forbidden]".

Feature request (request for a new functionality)
Please make sure that the requested feature is NOT already in the TODO list

[x] I've verified and i assure that my requested feature is NOT in the TODO list

What operating system do you use ?
Windows 7 Home Premium 64 bit

When you go to youtube-dlg's settings and select "update", it says "downloading latest youtube-dl. please wait...", but then after a few seconds it says "youtube-dl download failed [http error 403: forbidden]". This issue never used to happen before, and it always used to just download the update successfully and say "downloading latest youtube-dl. please wait...", and then after a few seconds say something like "youtube-dl downloaded successfully." without any issues. Nothing has changed with the program installation or settings. Is there a way to fix that? Thanks.

This https://github.com/MrS0m30n3/youtube-dl-gui/blob/c5c18e55cb7e04fb6d6d8e64024a7dbac1f6b431/youtube_dl_gui/updatemanager.py#L48
needs to be changed to https://youtube-dl.org/downloads/latest/youtube-dl

Does not work for me, still 403

This
https://github.com/MrS0m30n3/youtube-dl-gui/blob/c5c18e55cb7e04fb6d6d8e64024a7dbac1f6b431/youtube_dl_gui/updatemanager.py#L48
needs to be changed to https://youtube-dl.org/downloads/latest/youtube-dl.exe
If you're on windows you can download youtube-dl.exe and place it in %AppData%\youtube-dlg

The equivalent path for linux would be ~/.config/youtube-dlg/
I simply overwrote it using the latest version installed from pip:
cat ~/.local/bin/youtube-dl > .config/youtube-dlg/youtube-dl

This
https://github.com/MrS0m30n3/youtube-dl-gui/blob/c5c18e55cb7e04fb6d6d8e64024a7dbac1f6b431/youtube_dl_gui/updatemanager.py#L48
needs to be changed to https://youtube-dl.org/downloads/latest/youtube-dl.exe
If you're on windows you can download youtube-dl.exe and place it in %AppData%\youtube-dlg

I have the windows exe versuib so I tried to replace the .exe in the specified directory but it doesn't appear to have done anything for me either. Do I need to update something else?

@RedBreloom Edited my comment, it shouldn't have .exe

@RedBreloom Edited my comment, it shouldn't have .exe

I am using the windows executable version of this app so I am not sure how to access the code directly and trying to replace the youtube-dl.exe in appdata it doesn't seem to fix this issue.
I also realized that this error post is not the same as the one i have. But another person who had the same problem as I was directed to this post so I figured i'd ask here as well. i'm not really sure what to do otherwise.
#https://github.com/MrS0m30n3/youtube-dl-gui/issues/488
for reference

@RedBreloom make sure youtube-dl isn't in your path somewhere else already, if all else fails remove it all and try again. You should probably make another issue if this persists.

What you need on Windows is this library:
https://www.microsoft.com/en-US/download/details.aspx?id=5555
This is what makes it work on a freshly installed Windows 10.
All of the above commentary is not necessary since the library is back on Github despite interventions from Google.

What you need on Windows is this library:
https://www.microsoft.com/en-US/download/details.aspx?id=5555
This is what makes it work on a freshly installed Windows 10.
All of the above commentary is not necessary since the library is back on Github despite interventions from Google.

What you need on Windows is this library:
https://www.microsoft.com/en-US/download/details.aspx?id=5555
This is what makes it work on a freshly installed Windows 10.
All of the above commentary is not necessary since the library is back on Github despite interventions from Google.

Yep this is what I do on all systems of friends where I install youtube-dl-gui. I always had to search inside the closed Issues for the link.

What you need on Windows is this library:
https://www.microsoft.com/en-US/download/details.aspx?id=5555
This is what makes it work on a freshly installed Windows 10.
All of the above commentary is not necessary since the library is back on Github despite interventions from Google.

Yep this is what I do on all systems of friends where I install youtube-dl-gui. I always had to search inside the closed Issues for the link.

As a note: I already had a more recent version of that redis installed on my computer. So I don't think that mattered for my case.. It doesn't seem like this program is being maintained anymore anyway, so I've been using tartube for now.

As a note: I already had a more recent version of that redis installed on my computer. So I don't think that mattered for my case.. It doesn't seem like this program is being maintained anymore anyway, so I've been using tartube for now.


FF: Revert all statuses to default on import

When a feature flag is imported, we want the following to be reverted to default values:
status =>  'disabled'
filterMode => 'excludeAll'
for all lists:
enabled => false
These should be the values in the imported feature flag regardless what their values were when it was exported.

QA passed!


Regressions in 3227.2.0 release - tracking parent issue

We created this issue to group all related issues/discussions to the regressions observed in 3227.2.0, we are working on a patch release currently and will keep posting here for updates.
Related issues:

[x] https://github.com/flatcar-linux/Flatcar/issues/804
[x] https://github.com/flatcar-linux/Flatcar/issues/808 (PR: https://github.com/flatcar-linux/coreos-overlay/pull/2061)
[x] https://github.com/flatcar-linux/Flatcar/issues/809 (PR: https://github.com/flatcar-linux/scripts/pull/391)
[x] https://github.com/flatcar-linux/Flatcar/issues/812 (PR: https://github.com/flatcar-linux/coreos-overlay/pull/2060)
[x] https://github.com/flatcar-linux/Flatcar/issues/817 (PR: https://github.com/flatcar-linux/init/pull/76)
[x] fix tmpfile entry for resolv.conf link (PR: https://github.com/flatcar-linux/coreos-overlay/pull/2057, discussion: https://kubernetes.slack.com/archives/C03GQ8B5XNJ/p1658762999205499)

The release is tracked under column 2022-08-01:
https://github.com/orgs/flatcar-linux/projects/7/views/8

remaining issues in systemd-networkd:

[ ] https://github.com/flatcar-linux/Flatcar/issues/807
[ ] https://groups.google.com/g/flatcar-linux-user/c/44jLwvlogqQ

Updated the title and the description, as they are not only DHCP issues.

Updated the description, as the recent releases fixed most issues.
Only systemd-networkd issues are in progress.

We also have https://github.com/flatcar-linux/Flatcar/issues/685 still open as regression from an earlier release

I think we can close this for now as #685 can live on its own (and should be soon fixed).


Gitea markdown not sanitised (links can contain API URLs)

Gitea version (or commit ref): 1.5.0+rc1-94-g819f50ccd
Git version: nevermind
Operating system: nevermind
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io: probably (currently down "bad gateway")

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist:

Description
Create README.md or other markdown file containing a link to some gitea API endpoint:
[I might be a misleading, yet harmless looking link. Click me to learn more](/user/logout)

Problem
API endpoints are normal GET requests, not protected by auth (normal session id used).
Markdown is rendered in normal (non-sandboxed) DOM.
Potential solutions

sanitize URLs (do not allow relative or absolute links to API endpoints; if so, regex search'n'replace can for example fill with zero-width/invisible unicode whitespace, or just strike it through),
sandbox markdown rendered DOM in iframe with sandbox attribute set (and remove session cookie from outside using JavaScript),
Enforce CSRF for all API endpoints.

ideally all three

Addendum
Same bug for images. Note that the user does not even has to click the image, loading the page will execute the injected API code.
Testcase: create README.md containing an image with URL to API endpoint, log in, visit repository page, do something else and realise that gitea has logged you out:
![This is not an Image of Yaktocat](/user/logout)

Hello,

Enforce CSRF for all API endpoints.

Same as #4357.

API endpoints are normal GET requests.

Same bug for images. Note that the user does not even has to click the image, loading the page will execute the injected API code.

Same as #4337.
I complicated myself in trying to add this image that send a GET request in the repository's description. I should added it in the Markdown like you did :smile:.

Yes this should be cleaned up but no harming actions can be done as GET requests are only for getting data not doing actions (except for logout url)

Are you sure? The team/org router go suggested otherwise; logout was used above only as harmless example

Maybe some collaboration possible: https://github.com/gogs/gogs/issues/5355#issuecomment-410117204

@cezar97:

I complicated myself in trying to add this image that send a GET request in the repository's description. I should added it in the Markdown like you did 😄.

The two issues seem distinct, would need distinct fixes, if solved via sanitizing as discussed there:  removing/sanitizing HTML tags from markdown wouldn't fix this one. Markdown links need special treatment unless URLs and images are completely forbidden, which is probably not desirable

@Siesh1oo:

The two issues seem distinct, would need distinct fixes...

Yes, but the point was that logout and others are GET requests. The fact that I can send this requests from images in Gitea makes all more serious, but for this wasn't needed as I can add the same images on my site.
BTW inserting the images in the descriptions means that you don't have to click on the repository to open the README in markdown to send this GET, you just have to see my profile or the Explore Tab. My Proof of Concept was that after some weeks, I have more than 200 followers on try.gitea.io, as explained in #4337. So @lafriks, except for logout url and user followers and watchers of a repository and stars of a repository :) .

I'd say, actions that can change system states, such as logout or star, shall be POST only.

POST can also be automated with a form. I write about it in #4357.

Thanks for pointing out. Yes CSRF is also needed in this particular case. Just that my reply was focusing on best practices about HTTP verbs (e.g. RESTful style) and not about XSS protection.
Cheers

One more to check, this one had affected gitlab too:

server-side request forgery (SSRF) vulnerability in migrate https://github.com/gogs/gogs/issues/5372

Just that my reply was focusing on best practices...

Oh, then I agree with you. But adding a CSRF check too it's better indeed.

Fixed by #10462, #10465, #10582


Compatibility for Python 3.10

Are there any plans to update compatibility for Python 3.10? This looks to break when loading the latest version of Home Assistant (2022.7.x).
2022-07-15 12:56:37 ERROR (MainThread) [homeassistant.setup] Setup failed for custom integration coway: Unable to import component: No module named 'iocare'

Working fine in 2022.7.5

Interesting. I'll try deleting the integration and reinstalling.

Seems to have fixed. Appreciate the quick reply!


Remove KeePassX

Types of Changes
What types of changes does your PR introduce? Put an x in all boxes that apply

[ ] New addition to list
[ ] Fixing bug in existing item in list
[x] Removing item from list
[ ] Changing structure (organization) of list

Proposed Changes
Describe each of your changes here to communicate to the maintainers why we should accept this pull request.
The project is abandoned and there are other KeePass compatible alternatives (including the official one)
PR Checklist
Put an x in the boxes once you've completed each step. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING guide
[x] I have explained why this PR is important
[x] I have added necessary documentation (if appropriate)

Further Comments

See #407

@alichtman As I know KeePassX is a fork of KeePass, which is as you sad "open source and well audited". My point was KeePassX is abandoned (the last release is almost 2 years ago, and there is no activity on Github ) and it's not that well maintained and audited considering that it was created to run on *nix when KeePass could not do that and now KeePass (since v 2) works everywhere.

Originally KeePassX was called KeePass/L for Linux since it was a port of Windows password manager KeePass Password Safe. After KeePass/L became a cross-platform application the name was not appropriate anymore and therefore, on 22 March 2006 it has been changed.

So it seem's like a good candidate for deletion.
What do you think if we just replace it with KeePass, which is one of the most popular password managers and the only OSS among them?

Plus there is already another OSS KeePass-compatible manager on the list (MacPass) which is still under active development

You're right. I wasn't up on my history and didn't check that thoroughly enough.
I agree with you that we should remove KeePassX and I think MacPass is a great substitute (and it's already on the list, so no extra work.)


Simplify test:serialize templates

This pull request derives from #373. So needs to be handled after that.

The mode="test:serialize" templates in src/reporter/format-utils.xsl are unnecessarily complicated. You have to untangle @match, @priority and xsl:next-match to get the code path.
This pull request simplifies them. Now you need to just follow @match.

@cirulls
Merged this internal simplification.


Lower minSdk

The design support library only requires sdk 14 as far as I know, so this library should also.
Any specific reason for 19?

Still no update for this?
Caused by: java.lang.RuntimeException: Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 19 declared in library [com.rafakob:floatingedittext:1.0.5] /Users/hendrawd/.gradle/caches/transforms-1/files-1.1/jetified-floatingedittext-1.0.5.aar/be838385a31a208f7b193ad356453237/AndroidManifest.xml as the library might be using APIs not available in 14


boards: sam0: Pinmux config review

To avoid pin conflicts add missing Kconfig flags for each pinmux config.
Fixes: #25251

@nandojve is there a reason for keeping this as a draft?


Add the support for camera arbitrary clipping plane to BIDIRCPU

To the eye connection of light paths.

The code is already in place in Camera::GetSamplePosition() and it works fine.


Excluding length when creating a String column does not work

Using the following mapping
class User(Base):
tablename = 'users'
name = Column(String)
will lead to a SQL0104 - Token ( was not valid. error from Db2.
Possible course of action is to set a default varchar size when a string is passed without a size.

https://docs.sqlalchemy.org/en/13/core/type_basics.html#sqlalchemy.types.String.__init__

length – optional, a length for the column for use in DDL and CAST expressions. May be safely omitted if no CREATE TABLE will be issued. Certain databases may require a length for use in DDL, and will raise an exception when the CREATE TABLE DDL is issued if a VARCHAR with no length is included.

(emphasis mine)
Seems like it's working as designed?

Then maybe we could include this as an enhancement to avoid the error for the user?

Maybe. I think we should focus on getting the base functionality done first.

Replaced by #125


Creating HTML for coffee quiz and linking API

API is to be called after completion of quiz. Have quiz spit out a value based on answers and have api use that value to search for a type of coffee

Jose is working on this


[Bug] [CameraView] [iOS] Flash does not work

Description
On iOS the CameraView does not trigger a flashlight even though Flash is on.
This is similar in nature to https://github.com/xamarin/XamarinCommunityToolkit/issues/301
Steps to Reproduce

Add a CameraView to a page.
Set FlashMode to On in XAML
Run and trigger shutter

Expected Behavior
The flash light works.
Actual Behavior
The flash light does not work.
Basic Information

Nuget library 1.0.0
Last known good version: Unknown
IDE: VS Mac 8.8.4 (build 30)
Platform Target Frameworks:

iOS:  14.3

Affected Devices: Tested on iPhone 6 & iPhone 12

NOTE: My app uses Xamarin.iOS with Xamarin.Forms Embedding.
Workaround
None that I know of.
I tried to download the CommunityToolkit Sample to see if it worked in there but I couldn't even get it to build and run due to dependencies.  I saw Gerald Versluis got it to work Twitch video on YouTube https://www.youtube.com/watch?v=-oSlzuTbU30 but everything I try doesnt work.

Have the exact same issue here. So, I can confirm the described behaviour. iOS version is 14.6 and XCT version is 1.2.0 on my end. Flash is not working neither in FlashMode On, Auto nor Torch.

Briefly looked into it. The strange thing is it works in the sample app without any problem. When doing it in a standalone app, not so much. For some reason I was triggered to set the flash only when the camera went into the available state and that seems to work!
Weird enough when you try to set it after that the flash will stop working again. Not sure why that is. Anyway, see a reproduction project attached that triggers the flash each time. Hope this is helpful while we investigate a proper fix.
Repro747.zip

Could you please install this NuGet on your project and verify that it fixes the issue?

Hi @jfversluis, thanks for looking into the issue. I was able to test the given NuGet package in my solution. I can confirm that this version fixes the issue for FlashMode Auto and On. When I try FlashMode Torch this raises an unhandled exception as soon as the Shutter method is called:

In my case I want to use FlashMode Auto. So, this fix would already do the job. But still wanted to let you know that there still seems to be a problem. Please keep the great work up regarding XCT! If you want me to do any further tests please let me know...

Yes! That was kind of what I was expecting while looking into this further.
Please try this new package that should work for all scenarios, also when switching between modes at runtime. Let me know how that goes!

Hey @jfversluis, using the new package you provided all is up and running. Also integrated an additional option into our app to toggle flash modes at runtime which works as well. So, first of all thanks for the fix and also thanks for the inspiration to further enhance our app. When do you think this will be merged into the main branch?

Thanks for letting me know! Merging this now there should be a new pre-release with this fix soon :)