Asserting length of final df in 3rd step

Hi Sanjana,
https://github.com/farhat-lab/who-analysis/blob/944c41b7b9d2dd0cd8ee27a513f82e4612eb4cf3/03_model_analysis.py#L147
I've run into an error at that point for BDQ.
I have one more row in the final df (913 versus 912).
I think this could happen because, in v1, some variants were not properly normalized, and I think that some were called differently, but they are actually considered the same in v2.
See for instance for BDQ, these are the variants that are duplicated in your data "who_confidence_2021.csv"
drug | confidence | mutation
-- | -- | --
BDQ | 3) Uncertain   significance | pepQ_p.Phe46Leu
BDQ | 3) Uncertain significance | pepQ_p.Phe46Leu
BDQ | 3) Uncertain   significance | Rv0678_p.Asp47fs
BDQ | 3) Uncertain significance | Rv0678_p.Asp47fs
BDQ | 3) Uncertain   significance | Rv0678_p.Ile67fs
BDQ | 3) Uncertain significance | Rv0678_p.Ile67fs
BDQ | 3) Uncertain   significance | Rv1979c_p.Val108fs
BDQ | 3) Uncertain significance | Rv1979c_p.Val108fs

It makes sense because these variants were not aggregated together in v1, so they appear more than once. Or simply because there are more than one mutation that lead to the same amino acid change (that's the case for pepQ_p.Phe46Leu).
And indeed the first variant (pepQ_p.Phe46Leu) appears twice in the result file (after I remove the assert on the number of rows)

Thanks for pointing this out, Sacha. I will remake the analysis/who_confidence_2021.csv file after dropping duplicates and let you know when to pull the updates.

I updated the file now. Let me know if it still causes problems. Sorry again for this, I didn't remove unnecessary columns before running drop_duplicates(), which caused this problem.

Thanks a lot !
I think the other assert that failed was this one :
https://github.com/farhat-lab/who-analysis/blob/ad0c63ce20b775fbf3defd8526bae34f911de3dc/04_compute_univariate_stats.py#L230

I just ran this for Delamanid (because it's the smallest model) and didn't get any errors. I'm rerunning for bedaquiline to see if I get this assertion error.

I reran all BDQ models and didn't get an error, so hopefully my most recent updates have fixed the length issue.


Propagate/wrap error conditions of SPARQL endpoint

Re openjournals/joss-reviews#2731
If I try to execute a request from my API at http://grlc.io/api/alexdma/getty-linked-data-api/#/processes/get_processes
with application/json as a MIME type, I get an HTTP 200 but with the following payload (seemingly forwarded from the SPARQL endpoint)
{
  "error": {
    "cause": null,
    "stackTrace": [],
    "message": "/sparql?query={URLencoded query}",
    "localizedMessage": "/sparql?query={URLencoded query}",
    "suppressed": []
  },
  "stackTrace": ""
}

The reason seems to be that the Getty SPARQL endpoint will accept application/sparql-results+json but not application/json (if that's what GRLC is sending it as an Accept header). However the original response of the endpoint, as I have tested it, is a HTTP 500.
Falling back to a supported MIME type, or inspecting the JSON schema of the response payload, can be future enhancements nice to have, but I think it is more urgent to propagate error conditions in the response header of GRLC, so that one doesn't get misleading OKs.
Perhaps consider returning a 502 Bad Gateway for these cases, to highlight it is not GRLC's fault.

Hi @alexdma! Thanks for raising this issue. Very good point, definitely something to improve there.


Set Cache to never expire

How do I set the cache for filter box to never expire? Filter box is always slow due to number of queries running per control. Is there a way to make sure it doesnt expire unless I force refresh.

Put a very big number in the slice's cache timeout configuration?


Fixed and improved logrotate file

Changed the logrotate to include all .log files present in the /var/log directory
Fixed ownership and permission for new post-logrotate files
Added post-logrotate SIGHUP signal to release the file handle on *.log files

Automated message from Dropbox CLA bot
@eldios, thanks for the pull request! It looks like you haven't yet signed the Dropbox CLA. Please sign it here.

@smarx done.

Automated message from Dropbox CLA bot
@eldios, thanks for signing the CLA!

@eldios thanks for working on this!  Most of that looks great.
Can you explain more detail from your testing of the SIGHUP piece?  Specifically:

What failure mode does one get without it?
Does that end up restarting the entire server?

Hi @timabbott ,
without adding the SIGHUP signal, the open (old and rotated) log files simply won't be let gone by the process using them. That's because the file handle keeping the inode busy won't let it go unless you specifically say so via ( you guessed it :) ) a SIGHUP signal.
This is all pretty standard and well known in the sysadmin/devops world so that was an easy pattern to recognize.
You can see it by yourself cause after a successful logrotation (without the SIGHUP) the "new" .log file (eg: tornado.log) will remain empty (0 byte size) while content will still be written to the "old" .log file (eg: tornadlo.log.1).
Everything works great when you add the SIGHUP method.
So, the way a SIGHUP works it's that it usually just tell the process to close and reopen file and process handles, without fully restarting everything but that may vary a lot by how the SIGHUP signal reception is handled by the process who receives the message.
In our case we're doing this rotation during a low traffic moment of the day and nobody noticed any effect during usage, so far.
Let me know if that's enough of an explanation or you need more details.
Thank you.

Yeah, I'm familiar with SIGHUP and all that; I just know that we have supervisord configured to use SIGHUP when killing some of the processes in a Zulip instance, and was a bit worried about that issue.  I'll test this out and make sure I'm happy with it before merging, but I think it shouldn't require any changes.

Ah, I see.
Well that didn't happen in our case, but it may also be that the process died and supervisor brought it up immediately.
Let me know what you find in your investigation and we'll tweak the logrotate file accordingly if needed.
Thanks.

If the SIGHUP works to close and re-open the log files, then we should remove the delaycompress option, which should no longer be needed at all.
From an ops perspective I see delaycompress as a hack to work around the failure of old logs to be really closed, and it burns up disk space longer, means backups take more space (yeah, I back up logs sometimes!), and generally means the rotation is a multi-step process instead of a single event.
@eldios Could you try it without delaycompress and see if it behaves well?

@jonjensen now that I validated that the handle files issue is gone I'll test that too. Will report soon, as a good side improvement.

@jonjensen @timabbott I confirm that it's working flawlessly without a snatch with the "compress" option as well.
So I guess we're all set, on my side.

@timabbott are you going to merge this pull request? Thanks :)

Yes, planning to, just have been super busy with the release engineering for Zulip 1.5 and decided I wanted to give this a slightly longer test period on some of the production servers I run before merging it.  Sorry for the delay!

@timabbott no worries, I was just checking in cause I needed to clean my ToDo list from the "follow up item" :)
Thanks again!

I'm embarrassed to say that I haven't had a time to do that, so this will miss Zulip 1.6.  I'll make sure it happens just after the release, though, and the plan at least is for Zulip 1.7 to be a fairly fast release.  Sorry @eldios!

hey @timabbott no worries. Thanks for following up and I'm glad it'll be useful to other people in future :)

@timabbott looking at the way you changed the logrotate file, it seems that the way you changed it the file handles for {worker,manage}.log will only be released IF the server.log file gets a rotation and thus the SIGHUP signal is sent to supervisorctl's processes. Am I reading it right?

The Zulip/Django logging code is designed to transparently handle the Django-based log files (errors.log, manage.log, server.log, etc.) being renamed without the process needing to restart; it'll just open a new file if the file it was going to log to has disappeared.  I tested this carefully with moving files aside both with mv and with tweaked logrotate configuration.
So there's no need for SIGHUP in the current configuration in master.

Based on the discussion so far, I think the only piece from this that we need is the create line; do you agree?  If so I can proceed with extracting and merging that.

seems reasonable.
I'm sure people will squeak and complain if we missed something :)
Go for it and thanks for your efforts!

Great, merged as 05723acb3c0f05036cd0cc9f3ba390b5ddda6210, thanks for all your help with this @eldios!

supervisorctl signal restarting process, is there any other way to send signal without restart process?

@gvinodapplift can you explain a bit more about what you're trying to do?  I don't really understand the question.

Supervisor process generating logs, after logrotate need to send a signal for process for the new log file.
in logrotate conf file prostrotate sending supervisorctl signal.
Anyway it got resolved.
Thanks timabbott for comment


fix: Search results that take too long no longer generate a white error page

https://github.com/open-sauced/hot/issues/502
fix #502
Description

What type of PR is this? (check all applicable)

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

Related Tickets & Documents
#502
Mobile & Desktop Screenshots/Recordings

Steps to QA

Added to documentation?

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

[optional] Are there any post-deployment tasks we need to perform?
no
[optional] What gif best describes this PR or how it makes you feel?

the current change implements the bare minimum to fix this problem, it just catches the error and shows an error message.
please let me know about the direction we should go in, should i submit this, or should we discuss a more permanent solution as the one I have suggested in the issue?

Looks like this is not needed after https://github.com/open-sauced/hot/pull/518 is merge.


Spurious whitespace changes after recent changes

Suspected changes:
https://github.com/tabatkins/bikeshed/commit/e0ea89ef9697e90775817c2ef0fb8666b63e9a67
https://github.com/tabatkins/bikeshed/commit/22dbe3b8e635c56042a9209d483e381f377607b7
If you take https://github.com/whatwg/mediasession/blob/6d0b21bb44bf775386622099bab8eecf819b7f9f/mediasession.html as input, the ouput will contain extra spaces before some commas and around other punctuation.

Yeah, I was doing bad things.  Should be generally fixed. I think I still have some whitespace wrong, but at least there's no longer WS added after/around punctuation.

There are still some things broken. If you take the same input above, you will find that whitespace has been removed in some places where it definitely belongs, the first instance of which is "active Default" becoming "activeDefault" and many similar cases where whitespace between two elements that is needed has been removed.

To sanity-check the output, I'm using a worddiff.py tool that I wrote for completely other purposes some time ago:
https://github.com/foolip/epubbase/blob/master/worddiff.py


New version release 0.0.24

Includes skdb-cli and an in-memory node version of skdb.

 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.


fix(clean): update lockfile on clean

This PR updates the lockfile when executing the clean command.
Relates: #82

thank you!


add technical test for Catho and Thermondo

Goal
Added new technical test in repository to support community

thank yout for contributing ❤


i18n(pt-BR): Updated guides/markdown-content.mdx

What kind of changes does this PR include?

Minor content fixes (broken links, typos, etc.)

Description

What does this PR change? Give us a brief description.

Minor typos, and spaces

Closed to group multiple pages in #4081


Add Badge sources, writeup for a badge challenge, or a source to a cool project you saw at Defcon

The aim of BGD - Badges and Gadgets of Defcon is to bring together some of the cool badges and projects displayed at DEF CON into one list, to increase visibility as well as to make it easier for community developers and researchers connect easily with the creators/writers.
To add a source to a badge, write-up or a project(gadget), follow the current curated list in any of the categories(Badge Collection, Badge Challenge Walkthrough, Other Cool Gadgets) to act as a guide.

Badge Collection is purely about the badges and source codes.
Badge Challenge Walkthrough section is for writeups to badge challenges.
Other Cool Gadgets is a section for another cool project you came across at Defcon.

Table headers

BadgeName : This is the name of the badge .
Creator : This is the badge creator
BadgeDescription: A short description of the badge.
SourceCode/Docs: A list to the badge source code and or documentation if present.
Lang/Tech: This is the tools source code language for the badge if it is known. This helps developers to easily choose a badge with a language they're more familiar with in a quick and easy manner.
Demo link/Image: A link to a snapshot of the badge just so people can see how cool that badge is.
Conference Year: This is the year that badge was shown at Defcon
LinkToWriteup - A link to where the badge challenge writeup(walkthrough) is available.
WriteupBy - The name of the writeup writer.

Places to get this badges and or writeups

You can track badges on platforms that have tagging capability to check for this tags (#defcon, #defcon31 + #badgelife)
Asking for a link to public source codes or writeups from friends who have badges.
Reposts from this x account => twitter.com/DCArsenalTools

What next?
-Time to create a pull request with your latest addition. (Thanks in advance as you do so)
Feel free to bookmark this repo so that you can refer to the curated list on your future projects.

[ ]  - Adding  DC28 DC801 Black Mage. Details => https://github.com/DC801/BM-Badge
[ ]  - Adding DC22 DC801 Event. Details => https://github.com/thetransistor/dc22-dc801-party-badge

[ ]  - Adding  DC27 Enterprise. Details => https://github.com/seeigecannon/DC27EnterpriseBadge
[ ] * [ ]  - Adding  DC31 Mass WarpGate. Details => https://github.com/seeigecannon/MassWarpGateBadge


[portus] FQDN env var not being passed to Apache

Despite setting the PORTUS_MACHINE_FQDN_VALUE env var, Apache is not picking it up.
AH00558: httpd-prefork: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
[Tue Mar 14 23:58:42.358284 2017] [ssl:warn] [pid 32] AH01909: <IP_ADDRESS>:443:0 server certificate does NOT include an ID which matches the server name

ping @mssola

Also it is failed to set SSL directories.

@ntwrkguru could you try with #69.

@tturbs  Also it is failed to set SSL directories.

What do you mean ? Could you explain your exact problem ?
In general, I'd switch to a non-Apache image (like head), since we have quite some examples with it (see this).

Fixed by #69


Evaluate try and finally block in compile time

There is no reason to forbid to evaluate try and finally blocks in CTFE, because throw statement always stops interpreter.

@Don, I think this is useful relaxation of CTFE. How about you?


RF Bridge general On/Off control doesn't work after v.3 update

Service remote/turn_on and remote/turn_off fails

Do you used it? I thought it's useless

Yes I do.
I need alarm system armed (disarmed) with this control.

What is alarm system? Never used it.

Not alarm system per se but RF door and move sensors need to be muted (disarmed) all at once with RF Bridge control

Is it some button in ewelink app for that?

No. There is no such a button in ewelink. It's a perk of HA I love it for.

It works in integration v2?

Yes it worked perfectly until v3 arrived

Oh. Entity just stops to receive events. I didn't know what anyone used this.

Not sure if it is related - the status of the RF bridge is also no longer available. I use this to monitor health/power state of the bridge.

Fixed in latest master version. Will be in next release


Make Homebrew Cask into an attribute to allow for using adoptopenjdk

Don't merge yet ... I'm still waiting on tests to complete ... just getting the PR in now so can get some eyes on it.

LGTM!
By the way, Linux build nodes (docker based ones) are using AdoptOpenJdk container as their base (https://github.com/JetBrains/teamcity-docker-minimal-agent/blob/95ae4e7c836ce3199be126edb286f6b1f0e9e15e/ubuntu/Dockerfile#L1), so might make sense to force our Mac nodes to use it by default

Yeah, subsequent downstream cookbooks will also make use of that.

Need to keep eye on
https://github.com/sous-chefs/java/pull/547
https://github.com/sous-chefs/java/issues/544


Use an updated toolchain to build the agent

What does this PR do?
This PR aims at using a new updated toolchain that targets an arbitrary glibc version instead of relying on a build image that's based on our oldest supported OS.
Both x64_64 images are based on ubuntu 24.04.
The x86_64 image ships GCC 11.4 (instead of 11.2 for the current rpm_x64 image)
The arm64 image ships GCC 12.3 (instead of gcc 9.4 for the current deb_arm64 image)

Motivation
This is not expected to change much about what we ship to customers, but brings quite a few quality of life improvements to our teams:

It's now super easy to install most software needed to build the agent, without having to build it from source. Just apt install it
Updated compilers are likely to bring better optimizations and better tooling
We don't rely on EOL software that can break without warning

Additional Notes

Possible Drawbacks / Trade-offs
Our armhf image isn't touched. Given that it's only used for the iot-agent, it's been deemed not worth the effort, but could be easily implemented at a later point if need arises.

That's my assumption as well

/merge


feat: adds traditional chinese translation

This pull request adds the Traditional Chinese version of the pages.
Pages on which the translation should be:

[ ]  header
[ ]  footer
[ ]  SEO
[ ]  home
[ ]  what-is-ebpf
[ ]  get-started
[ ]  case-studies
[ ]  labs
[ ]  events
[ ]  applications
[ ]  infrastructure
[ ]  contribute

thank you @yasell for reviewing! I just pushed another commits with all the suggested changes, and I realized that I created the /tw-cn/what-is-ebpf page in the wrong location so that's why it seemed like it didn't exist, thank you for catching that

Thank you @yasell just made the fixes! Sorry this took so many iterations, hopefully this is the last one


add org test case + fixes

add org test case + fixes

Codecov Report
Patch coverage has no change and project coverage change: +53.98% :tada:

Comparison is base (a02a08a) 26.12% compared to head (df6ffd2) 80.10%.
Report is 8 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1633       +/-   ##
===========================================
+ Coverage   26.12%   80.10%   +53.98%
===========================================
  Files          67        9       -58
  Lines        4494      548     -3946
  Branches     2298      246     -2052
===========================================
- Hits         1174      439      -735
+ Misses       3320      109     -3211

Flag
Coverage Δ

config-deployer-service
?

idp-domain-service
80.10% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 76 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Compilation error with dmd-2.070.0-b2

Seems like some deprecation in std.net.curl has happened for the new release:
doveralls 1.1.6: building configuration "application"...
../../../.dub/packages/doveralls-1.1.6/source/doveralls/request.d(40,32): Error: function std.net.curl.Curl.perform (Flag throwOnError = cast(Flag)true) is not callable using argument types (bool)
dmd failed with exit code 1.
See the changes to std/net/curl.d in https://github.com/D-Programming-Language/phobos/commit/d34164a2ea7850b6df3dd8a5c972d534eeee8628

See #15


Update summary page

Ticket
Resolves FFS-1166
Changes

[x] 1. Update title "Review payment information from your employers" from H2 to H1
[x] 2. Remove the word "caseworker" in the body text under the page title and update with the term "benefits agency." The body text should read: "The report below has your income from the past 90 days, from <Month Day, Year> to <Month Day, Year>. Please review it before you send it to your benefits agency."
[x] 3. Update text "Total income before taxes: $xxx" from H3 to H2
[x] 4. Add missing text under "Total income before taxes: $xxx". The body text to add is: "This is the total income from your job(s) before taxes, benefits and deductions were taken out of your paycheck."
[x] 5. Update text "Employer #: " from H2 to H3. Also, ensure that we show the employer name
[x] 6. Ensure that we're pulling gross income for the lines that show "Payment of $xx before taxes on Month day, year"
[x] 7. Add an H2 "Legal agreement" and a consent checkbox. Note: The content will differ per state to reference the appropriate acronyms (e.g. DTA vs HRA), similar to the checkbox in the Agreement page.
[x] 8. If users don't check the legal agreement checkbox, display an error message "You must check the legal consent agreement checkbox to proceed." See Figma for designs
[x] 9. Update "Additional comments" to be H4
[x] 10. Under additional comments, if users haven't added comments, show "N/A"
[x] 11. Update button text to display "Share my report with benefits agency"
[x] 12. Review with design for QA

Context for reviewers

Testing instructions, background context, more in-depth details of the implementation, and anything else you'd like to call out or ask reviewers.

Notes / Questions

Is this supposed to have a line break?

Should this header be updated?

"Update "Additional comments" to be H4" , this already was H4
If "Employer N" is H3, what should "Total income" be?

Noting that

employer_name is missing in the test data. Wondering if there is a way to better test this for QA.

Please do not merge until you have gotten acceptance testing approval from Carmen.

We reviewed today through ngrok, I said I would try and figure out how to create a screenshot of the strings with MA or NYC locally which I'm having trouble doing and to try and see if I can get a screenshot of employee_name to show up in the /summary page. I'm told that those aren't available from the pinwheel test data but haven't looked into it.


Browser on 10.6 and 10.7

https://github.com/yellows8/3ds_browserhax_common/blob/master/README.md
Supported titles and versions now lists 10.6/10.7 and the code to handle them seems to have been added.  I don't know if there is yet any public webserver that is running the code.
This also means you will have cases where the browser can be exploited but the version bypass doesn't work, so you may need to warn people about that.  Ideally if someone has 10.6-10.7, needs to use a browser hack, and has never accessed the Internet using that browser, they can self-host the exploit.

is there an exploit for 10.6+ though? 3ds_browserhax_common doesn't hold exploits.

Fair enough.


Build failed on Win32, visual studio express 2008. - Intersection.hpp along with files missing from GLUI/external

Hi,
   I tried to build Carve on Visual Studio express 2008 and getting a lot
of build errors in the file Intersection.hpp. Most of the errors seem to
come from line 179.

for (Intersections::data_type::const_iterator j = i->second.begin(); j !=
i->second.end(); ++j) {

Error	2	error C3083: 'data_type': the symbol to the left of a '::' must
be a type	c:\work\carve\carve-1.0.0\include\carve\intersection.hpp	179

Also a bunch of files for GLUI were missing. Was wondering if its needed to
be downloaded separately.

Thanks,
Satyajit

PS: The screenshots look really good and am sure it will generate a lot of
interest. I have been using GTS for booleans but your library looks really
promising.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 1 Jun 2009 at 2:37

Building on windows should be fixed now.

Original comment by<EMAIL_ADDRESS>on 2 Jun 2009 at 12:57

Changed state: Fixed


nzTable nzPageIndexChange does not fire when changing input field when nzSimple == true

Reproduction link
https://stackblitz.com/edit/angular-q6w8r7?file=src%2Fapp%2Fapp.component.ts
Steps to reproduce
Change the text input in the pagination from 1 to 2. the nzPageIndexChange does not emit.
Change the PageIndex with the right arrow naPageIndexChange does emit.
What is expected?
expect nzPageIndexChange to emit when pagination text input changes or blurs (in nzSimple mode)
What is actually happening?
nzPageIndexChange does not emit

Environment
Info

ng-zorro-antd
14.3.0

Browser
Chrome

Hi, I checked your example.
The pagination change is done by the enter button.

Hi, I checked your example. The pagination change is done by the enter button.

Maybe what is expected is when the user lose the focus, data is refreshed ?


created()钩子中的异常如何捕获？

Is your feature request related to a problem? Please describe.
在页面created()函数中的异常，无法捕获到。不管是在JsExceptionAdapter还是容器页面的onException中都没有。
Describe the solution you'd like
在某个异常回调中能捕获，利于线上监控。

Please provide a demo in dot.we, we will look into it.
Thanks

http://dotwe.org/vue/cd8f56747963cee086f5e01d687db30d
Here is a demo. You can try it use the playground app.
The getData method contains an obvious err, when it's invoked from @click ,both onJSException method in JSExceptionAdapter or onException method in WXPageActivity can capture an exception. But it throw no err when invoked in created() or mounted().
@YorkShen

Any progress @YorkShen ?


HOW TO GET RID OFF CONSTANT WARNING for >8 months: tibber custom requirement not found ['mathplotlib']

I am a tibber customer for about 8 months and since I had signed the contract the ingetration went downhill, at least my impression.
Before that signature a friend of mine had explained tibber to me. He had shown to me his homeassistant dashboard and of cause this integration and the day ahead tibber_prices for my site which was working in January / February. It had worked flawlessly at least on his side and then also on my HA installation before he had to leave the country again.

Konfigurationswarnungen
Integration error: tibber_custom - Requirements for tibber_custom not found: ['matplotlib'].

which looks like this if I do the yaml examination in the developer sections

Regardless what I tried (uninstall & install) that issue came back over and over again caused by the "famous" missing mathplotlib
I am tired to see my notification area being blocked or occupied by false alarms by this tibber custom integration which are useless and have no value as it seems that the missing mathplotlib no longer needed cause the integration and tibber pulse generally seem to be working fine except except this boot message & error notification, which appears after every start.
BUT: this notification does not belong there - it is fooling my eyes and making me tired cause I get used to that ALWAYS ON NOTIFICATION BUBBLE I had never had before.
Hence my attention level drops and if there is A SERIOUS WARNING that 2nd message does no longer get the attention it would get if there would be like in normal usage no message when any message would pop up in your eyes.
NOW I had MISSED a really IMPORTANT NOTIFICATION which was caused by TIBBER and TIBBERS false alarms.
HOW CAN I GET RID OF THAT whole message forever ?
Any suggestions ?

Woud be nice if there is any way to get rid of that warning but still be able to use the custom integration as we need it - at least as long as we stay tibber customers.
thanks a lot

Duplicate of https://github.com/Danielhiversen/home_assistant_tibber_custom/issues/53


Rebuild to depend upon python-htcondor

This PR modifies the requirements to depend upon python-htcondor instead of the full htcondor package - which should allow environments to be built with the relevant python bindings but such that condor_submit and friends default to the system versions - we have seen some incompatibilities across condor versions when the conda environments aren't tied to the same version as the underlying scheduler.
Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


ScratchHost account

how to verify a scratch host account

You get a verification email (at least that's how it's supposed to work). I'll forward this issue to the owner of Scratch Host

The verification also doesn't work for me

you went to panel.justabock.online instead of panel.justablock.online

also, if scratchhost doesnt work, there is panel.sillydev.co.uk

weird because that's where the EMAIL sends you!

I don't even get the email.

weird... did you use the right one?

Yeah. I did.

And no matter how hard I try, I cannot get it to "resend".

you MUST have used the wrong email!

I swear I didn't. I copied and pasted it. And triple checked.

sometimes copy and pasting creates blank characters try again.

I can assure you I typed it in correctly.

okay

btw what is the right way to do this:     comments = session.get_comments(user, limit=2)

dude

i need an answer SOON

@vgthecoder

i mean, this does not work at all!
import scratchattach as sa
from datetime import datetime

session = sa.login("sped_ai", "password")

project = session.connect_project("1090940082")

keyword = "/comment"

today = datetime.today().date()

def check_and_reply():
    comments = project.comments()

    today_comments = [
        comment for comment in comments
        if datetime.fromtimestamp(comment['timestamp']).date() == today
    ]

    for comment in today_comments:
        if keyword in comment["content"]:
            comment_id = comment["id"]
            content = comment["content"]

            modified_content = comment.replace(keyword, " ",)

            project.reply_comment(comment_id, modified_content)
            print("replied.")

check_and_reply()

btw what is the right way to do this:  comments = session.get_comments(user, limit=2)

the right way is
user = session.connect_user("username")
comments = user.comments(limit=2)

how is your code not working? do you get any errors?

Try resending the email now, I changed the mail settings
Tim @.***> schrieb am Mo., 4. Nov. 2024, 09:55:

btw what is the right way to do this: comments =
session.get_comments(user, limit=2)
the right way is
user = session.connect_user("username")comments = user.comments(limit=2)
how is your code not working? do you get any errors?
—
Reply to this email directly, view it on GitHub
https://github.com/TimMcCool/scratchattach/issues/256#issuecomment-2454132672,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATCKMZRSWSR4SBRTT3LIBXLZ64Y6ZAVCNFSM6AAAAABQTPSKZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJUGEZTENRXGI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

To get it to resend the email, I just change the email. Am I doing that right? Or is there a hidden button somewhere in the UI?

i mean, this does not work at all!

def check_and_reply():

    comments = project.comments()

btw, the comments returned by this are sa.Comment objects in v2.0 and not dictionaries. This means you gotta use comment.content, comment.timestamp etc. to access this info

Yes, just change the mail to the same thing i think
vgthecoder @.***> schrieb am Mo., 4. Nov. 2024, 15:25:

To get it to resend the email, I just change the email. Am I doing that
right? Or is there a hidden button somewhere in the UI?
—
Reply to this email directly, view it on GitHub
https://github.com/TimMcCool/scratchattach/issues/256#issuecomment-2454855047,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATCKMZWGFTVVM3RFSLIZFGDZ65YVJAVCNFSM6AAAAABQTPSKZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJUHA2TKMBUG4
.
You are receiving this because you commented.Message ID:
@.***>

Are you sure you used the correct mail address
vgthecoder @.***> schrieb am Mo., 4. Nov. 2024, 17:36:

Yeah. I still didn't receive an email.
—
Reply to this email directly, view it on GitHub
https://github.com/TimMcCool/scratchattach/issues/256#issuecomment-2455181169,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATCKMZQYIAJEJUN25GZNEGDZ66IAPAVCNFSM6AAAAABQTPSKZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJVGE4DCMJWHE
.
You are receiving this because you commented.Message ID:
@.***>

@TimMcCool im finding another way to do it using a listener.

def SearchForNewComments():
    @events.event #Called when the event listener is ready
    def on_ready():
       print("Event listener ready!")
    @events.event
    def on_message(message):
        print(message.actor_username, "performed action", self.type)
        comments.append(message.content)
    events.start()

idk if this is correct if you need the rest of the code i can give it to you

comments is a list         comments.append

source: https://github.com/webbrowser11/comment-bot/blob/main/bot.py

you didn't define events anythere
you need to add something like
events = session.connect_message_events()

to your code

Have you looked inside your spam folder?
vgthecoder @.***> schrieb am Mo., 4. Nov. 2024, 17:36:

Yeah. I still didn't receive an email.
—
Reply to this email directly, view it on GitHub
https://github.com/TimMcCool/scratchattach/issues/256#issuecomment-2455181169,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATCKMZQYIAJEJUN25GZNEGDZ66IAPAVCNFSM6AAAAABQTPSKZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJVGE4DCMJWHE
.
You are receiving this because you commented.Message ID:
@.***>

@TimMcCool should i connect it to a project?
events = session.connect_message_events()

@TheCommCraft I have.

Then maybe just create a new account. It's working for me and I don't know
what the problem could be
vgthecoder @.***> schrieb am Mi., 6. Nov. 2024, 18:09:

@TheCommCraft https://github.com/TheCommCraft I have.
—
Reply to this email directly, view it on GitHub
https://github.com/TimMcCool/scratchattach/issues/256#issuecomment-2460334194,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATCKMZX3KKK3XVURQBO7NYLZ7JEKZAVCNFSM6AAAAABQTPSKZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRQGMZTIMJZGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

@TheCommCraft I will loose my 2.5k of server hardware, but I'll try it.

I could give back to you, just give me your old and your new username
vgthecoder @.***> schrieb am Mi., 6. Nov. 2024, 18:57:

@TheCommCraft https://github.com/TheCommCraft I will loose my 2.5k of
server hardware, but I'll try it.
—
Reply to this email directly, view it on GitHub
https://github.com/TimMcCool/scratchattach/issues/256#issuecomment-2460431427,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATCKMZX2ZCEBGA47ZXX2EZDZ7JJ7VAVCNFSM6AAAAABQTPSKZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRQGQZTCNBSG4
.
You are receiving this because you were mentioned.Message ID:
@.***>

Okay. Still no email though.

username?
vgthecoder @.***> schrieb am Mi., 6. Nov. 2024, 19:05:

Okay. Still no email though.
—
Reply to this email directly, view it on GitHub
https://github.com/TimMcCool/scratchattach/issues/256#issuecomment-2460447151,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATCKMZV3N7JGSNUTDL2OWA3Z7JK7DAVCNFSM6AAAAABQTPSKZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRQGQ2DOMJVGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

also, could you send me a mail using the email adress to @.***?
That way I know the mail belongs to you and maybe i can manually activate
your account
Simon Gilde @.***> schrieb am Mi., 6. Nov. 2024, 19:28:

username?
vgthecoder @.***> schrieb am Mi., 6. Nov. 2024, 19:05:

Okay. Still no email though.
—
Reply to this email directly, view it on GitHub
https://github.com/TimMcCool/scratchattach/issues/256#issuecomment-2460447151,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATCKMZV3N7JGSNUTDL2OWA3Z7JK7DAVCNFSM6AAAAABQTPSKZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRQGQ2DOMJVGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

@TheCommCraft @.*** is not a valid email. Username is vg_coder.

the mail address is ```
<EMAIL_ADDRESS>

I need the old username and the new one

Well I can assure you my email works fine. I sent a message yesterday and can receive messages from other services.

Just send a mail so I can verify that the mail is yours
vgthecoder @.***> schrieb am Do., 7. Nov. 2024, 04:28:

Well I can assure you my email works fine. I sent a message yesterday and
can receive messages from other services.
—
Reply to this email directly, view it on GitHub
https://github.com/TimMcCool/scratchattach/issues/256#issuecomment-2461244860,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATCKMZTOSWXXJVVUID2T4ITZ7LM7PAVCNFSM6AAAAABQTPSKZ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRRGI2DIOBWGA
.
You are receiving this because you were mentioned.Message ID:
@.***>


Adding API for inference routines

As ReactiveMP.jl uses Rocket.jl under the hood, the inference (unlike model specification) might look a little frightening for new users. Therefore, to make "ReactiveMP.jl" more user-friendly, we must develop clean and flexible APIs for inference procedures.
First, we should notice that every inference procedure comprises a set of routines almost independent of the model specification.
Generally speaking, all inference functions take two primary inputs: data and initial marginals.
data is typically used for supplying priors and observations to the model.
initial marginals speak for themselves. They carry the information about initial marginal distributions used in "non-belief-propagation" inference algorithms.
Typically, all inference functions exhibit the following routine:

Retrieve random variables (RV) from the graphical model.
Initialize buffers for the free-energy (FE) and RVs of interest.
Subscribe to the RVs and FE.
Set marginals according to initial marginals
Run inference by updating observed RVs with data
Unsubscribe and return the quantities of interest, i.e., RVs and FE.

We can't overlook the possibility of automation of this routine.
As a start, we propose to have the following API:
rvs_, fe_ = inference(model, data, marginals, constraints=nothing, options=nothing)

model returns random variables of the graphical model
data and marginals carry, for example, dictionaries needed for the algorithm to run; constraints will serve as a placeholder (at some point, constraints will be separated from the model definition).
options should carry the information about the number of variational iterations, the parameters that inference should return, and the type of the return, e.g., whether the user wants to obtain the posterior of the last VMP iteration or the posteriors over all iterations.
I suggest that we firstly settle on these things:

what is the right way of passing data and marginals?
how to set marginals?
which options should be specified?

After a discussion with @albertpod and @bartvanerp we agreed on several ideas:

inference should not have positional arguments, but only keyword arguments and has somewhat this structure:

n = 10

data = (
    y = rand(10),
    x = rand(10),
    z = rand()
)

initmarginals = (
    θ = vague(Gamma),
    t = vague(NormalMeanVariance)
)

returnvars = nothing # Default returns everything for each iteration
returnvars = (
    θ = KeepLast, # <- these names are not final
    t = KeepEach,
) # The other way around, just do only it

params = ...
priors = ...

returnstructure = inference(
    # `model`: specifies a **callback** to create a model, may use whatever global parameters as it wants, required
    model = () -> coin_model(n, params, priors),
    # NamedTuple with data, required
    data = data,
    # NamedTuple with initial marginals, optional, defaults to empty
    initmarginals = initmarginals,
    # NamedTuple with initial messages, optional, defaults to empty
    initmessages = initmarginals,  # optional
    # Reserverd for the future
    constraints = nothing,
    # Return structure info, optional, defaults to return everything at each iteration
    returnvars = nothing,
    # Number of iterations, defaults to 1, we do not distinguish between VMP or Loopy belief or EP iterations
    iterations = 1,
    # Do we compute FE, optional, defaults to false
    free_energy = false,
    # Show progress module, optional, defaults to false
    showprogress = false,
)

returnstructure should have all information about posteriors (and free energy if specified)

returnstructure.posterior[:θ] # Depends on type of the θ random variable, might be an array of arrays of Marginals, or an array of Marginals
returnstructure.free_energy # Vector{Float64} or Vector{Real}

GraphPPL.jl needs to be updated (@bvdmitri assigned)

create an extra field in Model structure to support variable queries, e.g. model.variables[:x]

inference somewhat function pseudo-code idea:

function inference(; kwargs...)

    model, _ = kwargs[:model]()

   # maybe try catch and unsubsribe?

   # Check how to map over named tuple values with preserving the same structure
    actors = map(kwargs[:returnvars]) do (variable, strategy) # eg. (x, KeepEach)
        return make_actor(variable, strategy) # returns eg. buffer(Marginal, n) or KeepActor(), dispatch on strategy
    end

    # `actors` should be a named tuple, eg. (x = keep(Marginal), z = buffer(Marginal, 10))
    subscriptions = map(actors) do (variable, actor)
        return subscribe!(__getmarginal(model.variables[variable]), actor) # __getmarginal calls either `getmarginal` or `getmarginals`
    end

    # `initmarginals` is a named tuple, eg. (x = vague(Gamma), z = [ ... ])
    foreach(initmarginals) do (variable, initvalue)
        __setmarginal(model.variables[variable], initvalue), # __setmarginal calls either `setmarginal!` or `setmarginals!`
    end

    # exactly the same for `initmessages` here

    if kwargs[:free_energy]
        fe_subscription = ...
    else
        fe_subscription = voidTeardown # empty subscription from Rocket.jl, does nothing on `unsubscribe!`
    end

    # showprogress stuff here
    for iteration in kwargs[:iteration]
         foreach(kwargs[:data]) do (variable, data)
             update!(model.variables[variable], data)
         end
    end

    unsubscribe!(subscriptions)
    unsubscribe!(fe_subscription)

    return ReturnStructure(actors..., free_energy...) # ??
end

This is somewhat an initial sketch, should be doable without any macros but purely with named tuples. @albertpod and @bartvanerp correct me if I forgot something.

#94

Should we close the issue?


problem with double-dot segments (/../) after the hostname

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2022.04.08 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Description
Some URLs have a double-dot section after the hostname, which causes problems in yt-dlp.
Example: https://streamwo.com/v/gp445h2f
if we resolve this URL we get this:
$ yt-dlp --get-url https://streamwo.com/v/gp445h2f
https://reoa92d.com/../uploaded/1649416469.mp4#t=0.1

Which has a ../ segment right after the hostname.
Opening this result in browsers, or downloading it using curl is no problem:
$ curl -O https://reoa92d.com/../uploaded/1649416469.mp4
...
Succeeds

But yt-dlp fails:
$ yt-dlp https://streamwo.com/v/gp445h2f
[generic] gp445h2f: Requesting header
WARNING: [generic] Falling back on generic information extractor.
[generic] gp445h2f: Downloading webpage
[generic] gp445h2f: Extracting information
[download] Downloading playlist: Streamwo
[generic] playlist Streamwo: Collected 1 videos; downloading 1 of them
[download] Downloading video 1 of 1
[info] gp445h2f: Downloading 1 format(s): 0
ERROR: unable to download video data: HTTP Error 400: Bad Request
[download] Finished downloading playlist: Streamwo

mpv (which uses yt-dlp in it's ytdl_hook) fails as well:
$ mpv https://streamwo.com/v/gp445h2f
[ffmpeg] https: HTTP error 400 Bad Request
Failed to open https://reoa92d.com/../uploaded/1649416469.mp4#t=0.1.

Exiting... (Errors when loading file)

Verbose log
$ yt-dlp -vU https://streamwo.com/v/gp445h2f
[debug] Command-line config: ['-vU', 'https://streamwo.com/v/gp445h2f']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, err utf-8, pref UTF-8
[debug] yt-dlp version 2022.04.08 [7884ade65] (zip)
[debug] Python version 3.10.4 (CPython 64bit) - Linux-5.15.32-1-lts-x86_64-with-glibc2.35
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.0 (setts), ffprobe 5.0, phantomjs 2.1.1, rtmpdump 2.4
[debug] Optional libraries: mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2022.04.08, Current version: 2022.04.08
yt-dlp is up to date (2022.04.08)
[debug] [generic] Extracting URL: https://streamwo.com/v/gp445h2f
[generic] gp445h2f: Requesting header
WARNING: [generic] Falling back on generic information extractor.
[generic] gp445h2f: Downloading webpage
[generic] gp445h2f: Extracting information
[debug] Looking for video embeds
[debug] Identified a HTML5 media
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[download] Downloading playlist: Streamwo
[generic] playlist Streamwo: Collected 1 videos; downloading 1 of them
[download] Downloading video 1 of 1
[debug] Default format spec: bestvideo*+bestaudio/best
[info] gp445h2f: Downloading 1 format(s): 0
[debug] Invoking downloader on "https://reoa92d.com/../uploaded/1649416469.mp4#t=0.1"
ERROR: unable to download video data: HTTP Error 400: Bad Request
Traceback (most recent call last):
  File "/home/koonix/./yt-dlp/yt_dlp/YoutubeDL.py", line 3138, in process_info
    success, real_download = self.dl(temp_filename, info_dict)
  File "/home/koonix/./yt-dlp/yt_dlp/YoutubeDL.py", line 2846, in dl
    return fd.download(name, new_info, subtitle)
  File "/home/koonix/./yt-dlp/yt_dlp/downloader/common.py", line 457, in download
    ret = self.real_download(filename, info_dict)
  File "/home/koonix/./yt-dlp/yt_dlp/downloader/http.py", line 369, in real_download
    establish_connection()
  File "/home/koonix/./yt-dlp/yt_dlp/downloader/http.py", line 128, in establish_connection
    ctx.data = self.ydl.urlopen(request)
  File "/home/koonix/./yt-dlp/yt_dlp/YoutubeDL.py", line 3601, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request

[download] Finished downloading playlist: Streamwo

This is what's in the webpage:
                    <video id="my-video" class="video-js vjs-16-9 vjs-big-play-centered" loop controls playsinline preload="auto" data-setup="{}" >
                        <source src="https://reoa92d.com/../uploaded/1649416469.mp4#t=0.1" type="video/mp4" />
                    </video>

This apparently [1] invalid URL should be corrected to https://reoa92d.com/uploaded/1649416469.mp4#t=0.1, which Mozilla does. But compat_urllib_request.Request() doesn't. The URL specification says that a .. component should shorten the so far parsed URL, which means doing nothing when that URL has no path, as would be the case here.
We could fix such a URL in the core processing of the extracted info_dict (sanitise_url(), eg); alternatively it could be fixed in before opening for download (sanitized_Request(), eg).
urllib.parse.urlparse() doesn't implement the URL parsing algorithm as specified, even when there is a path component before the ..:
$ python3.9
Python 3.9.7 (default, Sep  4 2021, 18:19:10)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib.parse as urlparse
>>> urlparse.urlparse('http://som.dom.com/path/../no/this/path')
ParseResult(scheme='http', netloc='som.dom.com', path='/path/../no/this/path', params='', query='', fragment='')
>>>

Only apparently because the WhatWG specs essentially make all invalid Web constructs valid for backward compatibility (quirks).

Eg this, which applies to both yt-dlp and yt-dl (same function code):
 def sanitize_url(url):
-    # Prepend protocol-less URLs with `http:` scheme in order to mitigate
-    # the number of unwanted failures due to missing protocol
-    if url.startswith('//'):
-        return 'http:%s' % url
     # Fix some common typos seen so far
     COMMON_TYPOS = (
         # https://github.com/ytdl-org/youtube-dl/issues/15649
         (r'^httpss://', r'https://'),
         # https://bx1.be/lives/direct-tv/
         (r'^rmtp([es]?)://', r'rtmp\1://'),
     )
     for mistake, fixup in COMMON_TYPOS:
         if re.match(mistake, url):
             return re.sub(mistake, fixup, url)
-    return url
+
+    parsed_url = compat_urlparse.urlparse(url)
+    if not parsed_url.scheme:
+        # Prepend protocol-less URLs with `http:` scheme in order to mitigate
+        # the number of unwanted failures due to missing protocol
+        parsed_url._replace(scheme='http')
+        url = None
+    # Handle .., . in path, not well handled by compat_urllib.urlopen()
+    path_list = parsed_url.path.split('/')
+    new_path_list = []
+    for p in path_list:
+        if p == '.':
+            url = None
+            continue
+        if p == '..':
+            if len(new_path_list) > 0:
+                new_path_list.pop()
+            url = None
+            continue
+        new_path_list.append(p)
+
+    return (
+        url
+        or compat_urlparse.urlunparse(
+            parsed_url._replace(path='/'.join(new_path_list))))

 def sanitized_Request(url, *args, **kwargs):

I am not sure sanitize_url is the right place for this. We would ideally want to apply this to all requests, including webpage downloads and HTTP redirects. So imo, it's better to handle this directly in the url_opener

         (r'^rmtp([es]?)://', r'rtmp\1://'),
```py

Am I missing something, or is the replacement the exact same as the original string here?

rMTp => rTMp

... it's better to handle this directly in the url_opener

That would be appropriate since urllib/urllib2 is the source of the problem.
Requests knows how to handle .. components.

But maybe just patch into YouTubeDL.urlopen(), as a BaseHandler doesn't seem to be able to change the URL of the Request being processed?

This is what's in the webpage:
                    <video id="my-video" class="video-js vjs-16-9 vjs-big-play-centered" loop controls playsinline preload="auto" data-setup="{}" >
                        <source src="https://reoa92d.com/../uploaded/1649416469.mp4#t=0.1" type="video/mp4" />
                    </video>

This apparently [1] invalid URL should be corrected to https://reoa92d.com/uploaded/1649416469.mp4#t=0.1, which Mozilla does. But compat_urllib_request.Request() doesn't. The URL specification says that a .. component should shorten the so far parsed URL, which means doing nothing when that URL has no path, as would be the case here.
We could fix such a URL in the core processing of the extracted info_dict (sanitise_url(), eg); alternatively it could be fixed in before opening for download (sanitized_Request(), eg).
urllib.parse.urlparse() doesn't implement the URL parsing algorithm as specified, even when there is a path component before the ..:
$ python3.9
Python 3.9.7 (default, Sep  4 2021, 18:19:10)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib.parse as urlparse
>>> urlparse.urlparse('http://som.dom.com/path/../no/this/path')
ParseResult(scheme='http', netloc='som.dom.com', path='/path/../no/this/path', params='', query='', fragment='')
>>>

1. Only apparently because the WhatWG specs essentially make all invalid Web constructs valid for backward compatibility (quirks).

some more examples: https://datatracker.ietf.org/doc/html/rfc3986/#section-5.2.4
urljoin technically has support for this, but it won't work in all situations
https://stackoverflow.com/a/40536115

Requests knows how to handle .. components.

so #3668 will technically be a workaround :smile:

For yt-dl or pre-#3668 yt-dlp (same code), amend YoutubeDL.urlopen():
    def urlopen(self, req):
        """ Start an HTTP download """
        if isinstance(req, compat_basestring):
            req = sanitized_Request(req)
        url = req.get_full_url()
        parts = url.partition('../')
        if parts[1]:
            url = compat_urllib_parse.urljoin(parts[0], parts[1] + parts[2])
        if url and url != req.get_full_url():
            req_type = {'HEAD': HEADRequest, 'PUT': PUTRequest,}.get(
                req.get_method(), compat_urllib_request.Request)
            req = req_type(
                url, data=req.data, headers=dict(req.header_items()),
                origin_req_host=req.origin_req_host, unverifiable=req.unverifiable)
        return self._opener.open(req, timeout=self._socket_timeout)


Support external config schemas in the backend

Hey, I just made a Pull Request!
On the backend application, thisPR allows referencing additional configuration schemas at runtime (application start), and have them taken in account where schemas are used:

the backed-app plugin, in order to prepare the frontend configuration
the backend application loggers, in oder to hide secret configuration values (defined in the schemas)

This fixes #21631
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

@Rugvip Could this PR be reopened ? Thanks !

Sure!

@Rugvip @freben Could this PR be reopened ? Thanks !
Any idea whether it could get a review ?

@Rugvip @backstage-service Are these errors in the e2e tests known: https://github.com/backstage/backstage/actions/runs/7463481178/job/20308264561?pr=21632#step:11:143
Or do they ring a bell to anyone ?
This seems to be something frontend-related, and I don't see how it would have anyting to do with the changes done in this PR (at least afaict). Any help would be appreciated.

@Rugvip This has been rebased and completed.

@Rugvip Is the PR now OK for you, or do you want some other option to be implemented for comment https://github.com/backstage/backstage/pull/21632#discussion_r1461001122 ?

@Rugvip Is the PR now OK for you, or do you want some other option to be implemented for comment #21632 (comment) ?

@Rugvip Could you please remove the stale label ? It seems to me that this PR was quite near to be merged, though I was still waiting for answer to my question above. This PR is quite important to have the dynamic pkugins be really usable in upstream backstage.
Do you think you could provide me with your thoughts about what you expect me to further fix to have it merged ?

@Rugvip Please see comment https://github.com/backstage/backstage/pull/21632#discussion_r1480368731
It seems that now all your comments / requests for change have been fixed.
I have also rebased the PR on top of master.
Is it OK to merge it now ?
cc @christophe-f

@Rugvip Please see comment #21632 (comment)
It seems that now all your comments / requests for change have been fixed. I have also rebased the PR on top of master.
Is it OK to merge it now ?
cc @christophe-f

In the following comment I added a more complete answer to your question about lifting up the API one level or two : https://github.com/backstage/backstage/pull/21632#discussion_r1482778993
Hopefully it would help.

@Rugvip I applied your proposal in commit https://github.com/backstage/backstage/pull/21632/commits/2fb527dd34dab57917005d6e0b51a1c5332d4f99 so that:

there is no more alpha schemaDiscovery service
minimal changes to the API boil down to providing an option to pass an optional ConfigSchema to either the  createConfigSecretEnumerator or the app-backend plugin (through an extension)
Dynamic plugin schema support is added by an alternate rootLogger service implementation and an app-backend plugin module available in the backend-dynamic-features-service.

Hopefully this design would make this PR mergeable ?

@Rugvip I applied your proposal in commit 2fb527d so that:

there is no more alpha schemaDiscovery service
minimal changes to the API boil down to providing an option to pass an optional ConfigSchema to either the  createConfigSecretEnumerator or the app-backend plugin (through an extension)
Dynamic plugin schema support is added by an alternate rootLogger service implementation and an app-backend plugin module available in the backend-dynamic-features-service.

Hopefully this design would make this PR mergeable ?

However the verify check fails due to this error:

Plugin package '@backstage/backend-dynamic-feature-service' with role 'node-library' has a runtime dependency on package '@backstage/backend-app-api', which is not permitted. If you are using this dependency for dev server purposes, you can move it to devDependencies instead.

Should the createConfigSecretEnumerator() function be moved to another package ?

Should the createConfigSecretEnumerator() function be moved to another package ?

Yep we've been discussing this a bit, and we may move things out of backend-app-api. Current solution is good for now 👍


Fix IDE rules to not complain about existing code.

Opening in VS 17.9.0, something has changed about how VS reads IDE rules and it's now complinaing about 100s of things.

✅ No public API change.


Change group validation error message

We could allow empty group names, but it would require handling elsewhere in the code.  I'll delay doing so until it is requested.

LGTM.


This commit will change the success label for a 404

This commit will change the success label for a 404 return to a yellow warning.

/retest


Fix libcephfs version error by maintain a public repo

Fix #13309
Create two repo
https://github.com/opendataio/cephfs-hadoop
https://github.com/opendataio/libcephfs
And deployed them to
https://repo1.maven.org/maven2/io/github/opendataio/cephfs-hadoop/0.0.1/
https://repo1.maven.org/maven2/io/github/opendataio/libcephfs/0.0.1/
So that we can use these dependency by
      <dependency>
        <groupId>io.github.opendataio</groupId>
        <artifactId>cephfs-hadoop</artifactId>
        <version>${cephfs-hadoop.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.opendataio</groupId>
        <artifactId>libcephfs</artifactId>
        <version>${libcephfs.version}</version>
      </dependency>

test
mvn clean install -U --no-transfer-progress -T 2C -DskipTests -Dmaven.javadoc.skip -Dcheckstyle.skip -Dlicense.skip -Dfindbugs.skip > build.log

mvn javadoc:aggregate --no-transfer-progress -T 2C -Dcheckstyle.skip -Dlicense.skip -Dfindbugs.skip > doc.log

build.log
doc.log

Codecov Report

:exclamation: No coverage uploaded for pull request base (ceph@e687fe6). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             ceph   #13347   +/-   ##
=======================================
  Coverage        ?   43.74%
  Complexity      ?     8979
=======================================
  Files           ?     1366
  Lines           ?    79081
  Branches        ?     9594
=======================================
  Hits            ?    34596
  Misses          ?    41566
  Partials        ?     2919

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 e687fe6...f11c193. Read the comment docs.

alluxio-bot, merge this please

@maobaolong  you can create a PR to merge this branch back to master


Not able to access data in JSON array with v-repeat

I have an array of JSON items. I am trying to use v-repeat to output it as a series of table rows:

    {{code}}
     {{description}}
     {{price}}
    <input v-model="quantity" type="text" size="4"/>
     {{total = price * quantity}}

A row with empty cells is output for every item in the JSON - so Vue.js is not getting the property values, even though I have confirmed that they are definitely exist and I can get the values in the v-repeat if I do something like this:
{{items[$index].code}}
I am getting no errors or warnings.
This is the JSON output of my Vue data object:
{   "items": [{     "id": "408",     "product_id": "6",     "description": " item description here... ",     "price": "1210.26",     "created_at": "2015-06-04 15:10:14",     "updated_at": "2015-06-04 15:10:14",     "quote_id": "32",     "quantity": "1",     "code": "PI0055"   }]}

Update:
I did not initialize the items array:
data: {items: []}
Strange that I did not get any errors though, and that the empty rows were still output, and that I could access the data with items[$index].

Vue works by converting data fields into ES5 getter/setters. If you don't initialize the field and want to add it later, you'll have to call vm.$set(key, val).
This was mentioned in the Model section of the guide: http://vuejs.org/guide/index.html#Model

Where would one do vm.$set(key, val)?  Vue is working, but reporting errors:
vue.js:2574[Vue warn]: Error when rendering root instance:
vue.js:2217 Uncaught TypeError: Cannot read property '0' of undefined

When I'm simply trying to display a value from a JSON file like this:
{{ board.units[0].name }}
For Vue trying to be easy, it's the most complicated and confusing thing I've ever tried to use to do something even simple.


opt: use TLS freelist for deallocation in page pool

page deallocations were expensive in a few places: page cache commit, beatree update, and lookups. by using the TLS free-list for these operations, we reduce churn.
I measured a 9% reduction in commit_and_prove time as a result of this PR.

#509  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @rphmeier and the rest of your teammates on  Graphite

Merge activity

Oct 28, 8:50 AM EDT: A user started a stack merge that includes this pull request via Graphite.


Swift Package Manager support?

Showing All Messages
/Package.swift has no Package.swift manifest in https://github.com/juanpablofernandez/SwiftyOnboard

@juanpablofernandez

@juanpablofernandez


BS-595: fixed mishandling of upstream errors so now a 503 is returned…

… (instead of 500)

Please hold off merging until the change has been discussed/agreed with the vendor. Also is a change required to the documentation in Developer Hub?

Agreed - will hold off merging. Docs arent in scope as 503  is a common failure mode


Remove codec-mqtt

Motivation:
This project now lives in the Netty Contrib organisation:
https://github.com/netty-contrib/codec-mqtt
Modification:
The netty-codec-mqtt maven module and code is removed.
The dependency is also removed from the BOM, and from netty-all, and the benchmarks and examples are removed as well.
Result:
The codec-mqtt module now lives in contrib.

Please take a look, @paul-lysak

Please take a look, @paul-lysak

@chrisvest ok, thanks for the notification. From which version will the artifact name change?

@paul-lysak From 5.x. We won't do big changes like this for 4.1 🙂


README possibly misleading on repository visibility

While reading the README for the first time, this comment in the configuration example lead me to believe that any user would be able to see all repositories, i.e. soft-serve manages write access but not read access. That would seriously limit my use for soft-serve, which I find otherwise very interesting.
Exploring further lead me to issue #80, which suggests that a repository configured as private is only visible to users who have it their collab-repos. That would be the read-access management that I thought was missing. If this is true, then the README is misleading (at least, it misled me), to the detriment of soft-serve.

While reading the README for the first time, this comment in the configuration example lead me to believe that any user would be able to see all repositories, i.e. soft-serve manages write access but not read access. That would seriously limit my use for soft-serve, which I find otherwise very interesting.
Exploring further lead me to issue #80, which suggests that a repository configured as private is only visible to users who have it their collab-repos. That would be the read-access management that I thought was missing. If this is true, then the README is misleading (at least, it misled me), to the detriment of soft-serve.

Good catch @sylph1o!  The readme is indeed misleading.
Repositories configured as private are only accessible by admins and collab-users. Regular users can access all public repositories based on the anon-access config property.

Thanks for the quick reaction and the clarification! I look forward to trying soft-serve, it looks already very nice, and promising :smiley:


Use the map's CRS for coordinate conversion #29

This implements the change described in my comment to #29.

Thank you!


feature Add switch for struct and map type for creating table

Proposed changes
Issue Number: #14917
Add switches to forbid uses creating table with struct or map column.
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[x] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[x] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[x] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.44 seconds
load time: 493 seconds
storage size:<PHONE_NUMBER>8 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230202175001_clickbench_pr_89746.html


fix : Landing page image takes a long time to load

I have reduced the image size from 4MB to all the way to 50kb.
issue
Closes #1

Hi @PriyansuMaurya sorry to say but the referenced issue is already assigned to someone else. We value your contributions but we do not accept PRs without assignment of the respective issue. Thanks

@anand346, I was the one who created this issue, and then you said you would assign it to me. However, you didn't assign it to me; I was waiting, but you assigned it to someone else without my consent.


play audio files in sequence

I have several audio files and want to play them in sequence:
var audioFiles = ["test.dsf","test.wv","test.ape"]
for index in (0 ..< audioFiles.count){
    do {
        self.url = Bundle.main.url(forResource: audioFiles[index], withExtension: "")
        if let decoder = try self.decoder(enableDoP: self.dop) {
            try player.enqueue(decoder, immediate: false)
        }
    }
    catch let error {
        print(error)
    }
}
try? player.play()

now the audio files can be played, but not in the sequence I added to the queue(many times test.wv is played first). Is the queue not the SERIAL one?

This is interesting.
Internally both SFBAudioPlayer and SFBAudioPlayerNode use a std::queue for enqueued decoders, which are serial structures. Decoders are only added to SFBAudioPlayerNode's queue if -supportsFormat: returns YES, which occurs if the decoder being enqueued has the same channel count and sample rate (for gapless playback purposes). In SFBAudioPlayer, if a decoder is enqueued that doesn't have the same channel count and sample rate as the owned SFBAudioPlayerNode's queue, it is added to the SFBAudioPlayer's queue.
I think you've uncovered a situation like the following:
A and AA have the same channel count and sample rate.
B and BB have the same channel count and sample rate as each other, but a different sample rate than A and AA.

Play A
Enqueue B, AA, and BB
Playback order ends up being A, AA, B, BB

Does this match the behavior you're seeing?
I believe the fix is to check -queueIsEmpty in -enqueueDecoder:forImmediatePlayback:error: and if not, place the decoder in the SFBAudioPlayer's queue and not the SFBAudioPlayerNode's queue regardless of format. This should preserve ordering.

Please give the linked PR a try and see if it fixes the problem.

test by this code:
var audioFiles = ["test.dsf","test.flac","test.wv","test.dff"]
......
func PlayItemList()
{
    var imediate = true
    for index in (0 ..< audioFiles.count){
        do {
            self.url = Bundle.main.url(forResource: audioFiles[index], withExtension: "")
            if let decoder = try self.decoder(enableDoP: self.dop) {
                imediate = index == 0 ? true : false
                try player.enqueue(decoder, immediate: imediate)
            }
        }
        catch let error {
            print(error)
        }
    }
    let session:AVAudioSession = AVAudioSession.sharedInstance() // get audio session
    do{
        try session.setCategory(AVAudioSession.Category.playback)  // for background play
        try session.setActive(true)
    }
    catch let error as NSError{
        print("err=\(error.description)")
    }

    try? player.play()
}

the audio files are played in order.
thanks!
This method is not suitable for playing audio files in queue if DSD audio in it to be played in DoP mode, because we can't change the session's sample rate before the DSD audio in queue is being played. This is somewhat complicated, because we may have to change session's sample rate many times. Is there a solution?

I'm glad the playback order is fixed. Thanks for reporting the issue.
For the sample rate issue, does setting the sample rate in audioPlayer(_:decodingStarted:) work?


ambient test flake: dropped port forward

example https://prow.istio.io/view/gs/istio-prow/pr-logs/pull/istio_istio/43993/integ-ambient_istio/1642959919248314368
2023-04-03T18:48:24.148176Z	info	hbone	initiate CONNECT to waypoint.echo-1-4900.svc.cluster.local:80 via https://localhost:35385
2023-04-03T18:48:24.159774Z	error	klog	an error occurred forwarding 35385 -> 15008: error forwarding port 15008 to pod 9000b25e0766141621c365910b55f965d6835763948503a1f8d09d0326899ba7, uid : failed to find sandbox "9000b25e0766141621c365910b55f965d6835763948503a1f8d09d0326899ba7" in store: not found
2023-04-03T18:48:24.160884Z	info	hbone	initiate CONNECT to waypoint.echo-1-4900.svc.cluster.local:80 via https://localhost:35385
2023-04-03T18:48:24.162073Z	info	hbone	initiate CONNECT to waypoint.echo-1-4900.svc.cluster.local:80 via https://localhost:35385
2023-04-03T18:48:24.162628Z	info	tf	=== DONE (passed):  Test: 'ambient[TestDirect/waypoint/named_destination] (15.423332ms)' ===
=== RUN   TestDirect/waypoint/VIP_destination

seems we silently ignore failed port forward

I generally prefer silent ignorance over verbose.  But perhaps not in this case.

If it wasn't clear the failure actually causes the test to fail later btw. But it fails due to "connection refused" not "port-forward failed"

https://github.com/istio/istio/pull/44220 fixes this. Before we spin up a pod then immediately spin it down. We fail if we port-forward fast enough to the old pod.


OpenTofu support

Just log an issue once OpenTF stable release is available :)
(should be technically drop-in replacement of terraform)

Hi @chenrui333,
The tfmigrate v0.3.19 now works with OpenTofu v1.6.0-alpha5 by setting the environment variable TFMIGRATE_EXEC_PATH=tofu.
This issue will remain open until a stable version is released.

Thanks @minamijoyo for the wonderful work, closing the issue now. 💯

btw. you can also integrate tenv that support Terraform as well as OpenTofu (and Terragrunt :) ) in one tool. It allow you to simplify version management.


chore(main): release 0.2.0

:robot: I have created a release beep boop
0.2.0 (2023-05-08)
Features

add apache 2 license to the project (82269d2)

Bug Fixes

streaming source name extraction (#8) (f14c839)

Miscellaneous

add manual test to verify export format (11cb6bd)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/contiamo/spark-prometheus-export/releases/tag/v0.2.0 :sunflower:


Add support for null data point in line chart #258

nulls are now handles correctly extending the time axis but not being drawn as point in the graph.
Description

Motivation and Context

How Has This Been Tested?
tested this change in my production environment handling null values
Screenshots (if appropriate):

Types of changes

[] Refactor (changes the way we code something without changing its functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] Latest master code has been merged into this branch
[ ] No commented out code (if required, place // TODO above with explanation)
[ ] No linting issues
[ ] Build is successful
[ ] Code follows the API Guidelines
[ ] Updated the documentation
[ ] Added tests to cover changes
[ ] All new and existing tests passed

@Golodhros , @DalerAsrorov
please let me know if anything else is needed to complete this PR

Nothing! Thanks a lot @shayh for your contribution!


Load credentials file defined in System property

I would like to see a standard system property for pointing to a credentials file that is used during boot and project updates, and publish. This is convenient since you often need to externalize the credentials anyway. Also useful when using a corporate proxy with credentials to load everything.

The information above isn't correct. http.user isn't even a legal name for an environment variable, and I tried setting it as a system property but that doesn't work either.


'FlipperKit/FlipperClient.h' file not found

Summary:
Getting same issue like this https://github.com/facebook/flipper/issues/4351
#import <FlipperKit/FlipperConnection.h>      ^ 'FlipperKit/FlipperConnection.h' file not found
Steps to reproduce:
yarn ios

hello @newmizanur  thank you for posting this issue, unfortunately, we couldn't reproduce this issue while debugging, but to fix any issue related to flipper we're working on upgrading to expo 48 which brings default support for Flipper.

@hamzamekk So doe’s upgrading to expo 48 also fix the parent issue?

@hraschan well expo 48 brings default support for Flipper so yeah I think so, for more info please to check this page https://docs.expo.dev/guides/using-flipper/


input an image with cmyk color spaces but output with srgb

What are you trying to achieve?
process an image with cmyk color spaces，just resize it, but got color spaces with srgb, something wrong with me?
const img = sharp('tmp1.jpg');
img.metadata().then(info => {
    console.log(info.space) //cmyk got
    img.jpeg({
        quality: 100
    })
    .resize({width:100, height:100})
    .withMetadata()
    .toFile('tmp2.jpg')
    .then( info => {
        sharp('tmp2.jpg')
           // .toColorspace('cmyk') //doesn't matter
            .metadata().then(info => {
                console.log(info.space)// srgp got
            })
    })
})

Hello, please subscribe to #1323 for updates to this future enhancement.


Support ghc 9.12

Can't add ghc-9.12 to CI yet because it cannot be installed (it does not exist yet).


Add missing +x permission

Changes Unknown when pulling b0bfc063946753fbbd4ae5c6ae8fc163ecab0c89 on jg-fix-travis into ** on master**.


Updates JS to allow YouTube URL Parameters

The current JS strips the URL parameters from the YouTube link with RegEx. I updated the RegEx (and associated code) to store the parameters with the video array, and use them as appropriate in the Javascript.
This fixes issues #33 and #25

With the changes applied above, instead of the YouTube link opening in lightbox, it now redirects to the corresponding YouTube page?
I rechecked the code and all is where it should be.

The current code doesn't resolve this issue. Any suggestions?


Fix condition validations

Change routing validations to take into account secondary skips
What problem does this pull request solve?
Trello card: https://trello.com/c/5kRIGgDY/2581-change-api-validations-for-conditions-to-use-routingpageid-instead-of-checkpageid
The validations used to make sure conditions make sense within a form do not take into account secondary skips.
This creates issues when displaying secondary skips within the page list and can result in forms with loops being made live.
Because the exisitning validation code used the check_page as a reference it could report incorrect errors in two ways.

It would produce errors which say that a secondary skip is invalid because the route is next to the end route, even when it wasn't
It would miss loops in forms

Both cases are fixed by changing the validation code to use routing_page instead of check_page. For exisiting forms with a basic route, this shouldn't result in any changes.
For forms created with secondary skips, it should now report the correct errors.
Example of an incorrect error based on position

Example of a form with a loop and no error

Things to consider when reviewing

Ensure that you consider the wider context.
Does it work when run on your machine?
Is it clear what the code is doing?
Do the commit messages explain why the changes were made?
Are there all the unit tests needed?
Has all relevant documentation been updated?

Tricky tricky tricky! Nice one spotting this and figuring it out. I'm worried the difference between routing pages and check pages is possibly going to be a source of more such subtle bugs in future 😬
I think for this particular bug it would be good to get some unit tests to help make it obvious what the fix is about, and to prevent regressions; would that be possible do you think?

Tricky tricky tricky! Nice one spotting this and figuring it out. I'm worried the difference between routing pages and check pages is possibly going to be a source of more such subtle bugs in future 😬
I think for this particular bug it would be good to get some unit tests to help make it obvious what the fix is about, and to prevent regressions; would that be possible do you think?

Yes, it's a little spooky that all the existing unit tests pass. It's consistent in the way we build conditions, it's just that routing_page has always been the same as check_page.
I'll change the existing tests to make it clearer that secondary skips play a role in this.
Hopefully changes like cascading page deletion to conditions will reduce the number of states we have to think about for conditions but it is tricky.


Fix Lint/UselessAssignment false positive

A variable assigned in a block is not unused, if it was captured from the surrounding scope, where it is later used.
var = nil
do_something { |arg| var = arg }
use(var)

We already cover this case for normal blocks, but missed the edge case where the block uses numbered variables (i.e. numblock vs block).
var = nil
do_something { var = _1 }
             # ^^^ False positive for useless assignment
use(var)

This fixes the false positive.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[ ] Wrote good commit messages.
~Commit message starts with [Fix #issue-number] (if the related issue exists).~
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[ ] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

@sambostock The CI is not passing currently.

I left a comment about removing 2 places. Please squash your commits into one after the remove.

@koic Sorry for the delay; updated. 👍

@sambostock Finally noticed about the changelog. Can you take a look?

Thanks!


Problem with cordova

I am using vaadin router in a cordova app and I have an annoying problem.

The router cannot resolve the initial route out of the box. I could get it working in a naive way by this code:

setTimeout(() => {
          if (window.location.pathname.indexOf('index.html')) {
            Vaadin.Router.go('/');
          }
        }, 200)

From this short snippet it looks like in a Cordova app the initial location is not /, but rather something else. Indeed, when started in the browser with cordova run browser the initial pathname for a default cordova project is /index.html. When started in iOS emulator, the initial pathname for the same project is /Users/[username]/Library/Developer/CoreSimulator/Devices/C1D5641C-30B5-44F9-A0FA-0E4C83983BDB/data/Containers/Bundle/Application/1F843053-65A6-420E-B687-E47089D43970/HelloCordova.app/www/index.html
You might need to configure the app to change location to / at startup (e.g. with window.history.pushState(null, document.title, '/'); in order to use Vaadin Router there.
I am closing this issue now since I do not see it as a Router issue. Please feel free to reopen, or continue the discussion in the closed issue.


Sphinx Docstring Update - Nearest Centroid

I have commented out some functions such as model.report and model.to_python because of bugs.

@mail4umar please check if it works for you now.

close #781


yarn run v1.9.4 throws errors

Hi,
I'm from Cloudant Support and have a case from the user. The following problem has reported by the user and need your help.
"I did add my ibmcloud login info in the .env file name: pass: for login
yarn run start-notifier
yarn run v1.9.4
$ yarn run build-notifier && ./node_modules/babel-cli/bin/babel-node.js ./notifier.js
$ ./node_modules/babel-cli/bin/babel-node.js ./src/buildNotifierDB.js
credentials.username: undefined
credentials.password: undefined
/Users/jeffswope/watson-discovery-news-alerting/app/node_modules/@cloudant/cloudant/cloudant.js:42
throw err;
^
Error: Invalid URL
at Cloudant (/Users/jeffswope/watson-discovery-news-alerting/app/node_modules/@cloudant/cloudant/cloudant.js:38:15)
at getCloudantService (/Users/jeffswope/watson-discovery-news-alerting/app/src/bluemix/config.js:64:16)
at Object. (/Users/jeffswope/watson-discovery-news-alerting/app/src/models/access.js:22:18)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at loader (/Users/jeffswope/watson-discovery-news-alerting/app/node_modules/babel-register/lib/node.js:144:5)
at Object.require.extensions.(anonymous function) [as .js] (/Users/jeffswope/watson-discovery-news-alerting/app/node_modules/babel-register/lib/node.js:154:7)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/"
Thanks,
Cloudant Support

@rajinib - need some more details:

is the user using the latest version of this repo? It was updated recently (~3 weeks ago) to work with IAM keys.
can I assume that the user was able to run yarn start to run the main app? Or did they get the same error with the undefined credentials?
undefined credentials means that the values in the .env were not found. Make sure the file exists, and that the needed key-values are not commented out.


assumes global browserify exists

sh: line 1: browserify: not found
npm ERR<EMAIL_ADDRESS>install: `browserify node_modules/schoolbus/proxy.js -o static/proxy.js`
npm ERR! `sh "-c" "browserify node_modules/schoolbus/proxy.js -o static/proxy.js"` failed with 127

Closed by 06a1daf8215590318e0df8265fa01910b1c360c2


seek help! I am a beginner and have just run this project, but the results are not very good for some reason

Please watch this video
https://github.com/user-attachments/assets/464a97b1-4a10-4b71-9d3f-43178727c9af

This dataset has 2 cameras, so the testset has 2 cams, if you want to render normal videos, just skip 1 views.(000.jpg, 002.jpg, 004.jpg,...)

This dataset has 2 cameras, so the testset has 2 cams, if you want to render normal videos, just skip 1 views.(000.jpg, 002.jpg, 004.jpg,...)

Sorry, I still can't quite understand what you mean. How should I modify the code or handle the downloaded dataset? Can ultimately generate a normal video


Add your socials to this repository

Description
Let's add your socials to this repository to connect with other Sharpies!

📢 Only PRs from SheSharp members will be accepted
Please provide your Slack handle in the description when you create a pull request.
Joining our Slack is the way to join our community!

How to add your socials to the repository
In the socials.md file, add the links to your social accounts.

@mariahlaqua kindly assign me this issue under hacktoberfest label, I wanna add my social in social.MD,
As a "Zeeshan Mukhtar" i already joined your community on slack

Hey @ZeeshanMukhtar1 ! This is the one issue that doesn't require assignment :) Thanks for asking, I've added a label to make that clear for future PRs! Feel free to submit your PR whenever. 💯

@mariahlaqua Hi, thanks for letting me know ..!
@adiati98 I have made the requested changes including the removal of .gitmodule and the addition of a separate md file and pushed the code to my forked branch when I try to make a PR it says this will merge automatically.plz take a look at this and let me know if any other things i can do ,
thanks


fix leftover experimental settings still being used

Previously if you had an experimental setting and turned off the setting it would still use the setting value, but it shouldn't

@kayla-glick can you please review your request for changes


more CIs

inspired by the list at https://github.com/pvdlg/env-ci#supported-ci

candidates with free plans:

https://www.bitrise.io
https://buddy.works

Buddy and Bitrise have been added. Bitrise has only 500 credits (minutes) free, so it will be paused from running on master


[ffigen] Update urls after repo merge

Bug:

https://github.com/dart-lang/ffigen/issues/635

Thanks @HosseinYousefi !


Update README to correct Docker image names

 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.


Slight bug in printed message

https://github.com/betanalpha/mcmc_diagnostics/blob/4b60c7d4fb2b9e37fce340b9c4026b7edf9af65d/rstan/stan_utility_rstan.R#L62
I think the n variable should be changed to c in this row, leading to:
cat(sprintf('Chain %s: E-FMI = %s.\n', c, numer / denom))

Yes, absolutely correct.  I'll push a correction in just a bit.

Thanks!  Resolved in https://github.com/betanalpha/mcmc_diagnostics/commit/b179251d61e83645d3a0b58c93e0f93fce5b37fd.


Implement Discussion Forum with CRUD operation & Responsive Design

Feature: FAQ Forum with Answer Submission
Overview
This feature aims to create a FAQ forum where users can submit questions, view previously asked questions, and submit answers to others' questions. Submitted questions are stored in the database, and answers are associated with them. The forum will have two sections:

Answered Questions - Display questions with at least one answer.
Unanswered Questions - Display questions that have not yet received answers.

The feature will be implemented in two separate PRs to ensure clear division between backend and frontend contributions.

PR 1: Backend and API Endpoints
Description
Create API endpoints to handle:

Submitting a question - Save user-submitted questions to the database.
Answering a question - Allow users to submit answers to existing questions.
Fetching questions:

Answered questions: Questions with at least one answer.
Unanswered questions: Questions without any answers.

Tasks

Define a Question model in the database with fields for id, title, description, userId, createdAt, and updatedAt.
Define an Answer model with fields for id, questionId, answerText, userId, createdAt, and updatedAt.
Implement API routes:

POST /api/faq/questions - To create a new question.
POST /api/faq/answers - To submit an answer to a question.
GET /api/faq/questions/answered - To fetch answered questions.
GET /api/faq/questions/unanswered - To fetch unanswered questions.

Expected Outcome
This PR will enable data storage and retrieval of questions and answers, preparing the foundation for frontend integration.

PR 2: Frontend Implementation
Description
Create the frontend UI to display and interact with the FAQ forum:

Question Submission Form: Allow users to submit a new question.
Answered and Unanswered Sections:

Display answered questions with their respective answers in the Answered section.
Display questions without answers in the Unanswered section.

Answer Form: Allow users to answer questions in the Unanswered section.

Tasks

Build a Question Submission Form for users to add new questions.
Create a Two-Section Layout:

Answered Section: Display answered questions and their associated answers.
Unanswered Section: Display unanswered questions with an option to answer.

Fetch data from the backend using the API endpoints created in PR 1.
Implement form handling and state management for answering questions.

Expected Outcome
This PR will provide a user interface to interact with the FAQ forum, enabling question submission and viewing/answering of questions based on their answered status.

Notes

Each PR is expected to have its own testing and documentation.
Ensure API validation and error handling in the backend and user feedback on the frontend (e.g., success/failure messages).

Hyy @ShivanshPlays, Can you give some work samples.

sure

@Anuj3553  please check: https://github.com/user-attachments/assets/476df2d3-7e99-4fef-a587-4bd78d2b88d3

okay but https://github.com/Bitbox-Connect/Bitbox/issues/422 also addresses the same feature?

okay but #422 also addresses the same feature?
edit: apologies for the duplicate issue @Sawan-Kushwah I just noticed.

No problem.

okay but #422 also addresses the same feature?
edit: apologies for the duplicate issue @Sawan-Kushwah I just noticed.

No worries !✨
By the way i am enjoying competing with you ✨🚀 !!

Likewise @Sawan-Kushwah !

@ShivanshPlays hey i want to discussion something with you
can we connect on linked in ?

@ShivanshPlays i have send you request check it

okay sure


Create a Colab notebook for cloning and sharing

This would be great, and could even be self-documenting — so I can't screw up the docs! https://github.com/prql/PyPrql/pull/58

https://colab.research.google.com/drive/1FLxPgHjlCGqgDHuMds6l3ThynYGOL-Zy#scrollTo=Yn7er5MORy5l , @max-sixty  could you look over when you get a chance, then I'll put in the docs

Very cool @charlie-sanders !
If you want a quick dump of ideas:

I see what you mean about the syntax highlighting! It's worse in Colab than Jupyter because of all the false positive spellchecks
Would be nice in a future version to show the pandas integration; e.g. pulling df out
I don't think we need the "Returning data to _" statement, that's a default in IPython kernels (same with Done probably, maybe we soup it up with tqdm for expensive queries though)
Would be nice to show the elegant df representation rather than the terminal-based one, probably requires calling _repr_html in the magic. here's the difference.

Done in https://github.com/PRQL/pyprql/pull/113


[BUG] RKE1 node driver clusters don't work with external AWS cloud provider

Issue:
One of the prerequisites of external (out-of-tree) aws cloud provider is to follow node naming conventions.

When IP-based naming is used, the nodes must be named after the instance followed by the regional domain name (ip-xxx-xxx-xxx-xxx.ec2.<region>.internal). https://cloud-provider-aws.sigs.k8s.io/prerequisites/

This can be managed by setting hostname-override to kubelet and kube-proxy for custom clusters via --node-name. But for node driver clusters, Rancher assigns hostname based on the node name generated with prefix from node pool names. This results into cloud controller manager unable to find the node by name: Error getting instance metadata for node addresses: error fetching node by provider ID:
Fix:

Introduce a new cloud provider field name external-aws
When cloud provider is set to external-aws and useInstanceMetadataHostname is enabled, rke-tools will fetch the hostname by querying ec2 metadata service http://<IP_ADDRESS>/latest/meta-data/hostname.  rke-tools will use hostname -f if metadata service returns empty. This name will be set as hostname-override to kubelet and kube-proxy.
useInstanceMetadataHostname is disabled by default. It'll need to be enabled by users to get the above mentioned behavior.

Testing usecases:
Rancher v2.8-head and RKE v1.5.0-rc9

Node driver clusters

Install v1.26/v1.27 RKE1 node driver cluster with external-aws and  enable useInstanceMetadataHostname
Follow rancher's aws docs PR to install aws cloud controller manager
Confirm LB deploy and other cloud provider checks work as expected

Custom clusters

Install v1.26/v1.27 RKE1 custom cluster with external-aws  (if enabling useInstanceMetadataHostname, no need to pass --node-name)
Follow rancher's aws docs PR to install aws cloud controller manager
Confirm LB deploy and other cloud provider checks work as expected

tested on v2.8-head (a6b908d) with a hardened rke2 (1.27.6+rke2r1) local cluster:
passing criteria is: observe aws-cloud-controller pod(s) deploy with valid logs, deploy a workload with an LB service, destroy the workload/LB and observe the deletion of LB in the backend
node driver:

rke1 on v1.27.6-rancher1-1 using external-aws with useINstanceMetadataHostname -- pass
rke1 on v1.26.8-rancher1-1 using in-tree

deploy an LB
-- migrate to out-of-tree and upgrade to 1.27 following new documentation -- pass
confirm new LBs can be created and destroyed -- pass
confirm existing LB is working and can be destroyed -- pass

custom cluster

rke1 on v1.27.6-rancher1-1 using external-aws with useINstanceMetadataHostname -- pass
rke1 on v1.26.8-rancher1-1 using in-tree

deploy an LB
-- migrate to out-of-tree and upgrade to 1.27 following new documentation -- pass
confirm new LBs can be created and destroyed -- pass
confirm existing LB is working and can be destroyed -- pass

also updated documentation review with notes on new install / migration steps

Reopening issue, need to set default value for the field useInstanceMetadataHostname. Docs and release notes would be updated to note it'll have to be disabled when users are passing custom node names for custom clusters. For all other usecases, the field will be true so that external cloud provider can find the node without providerID.

tested on v2.8-head(1f119bc):

fresh install on 1.27 / using external-aws -- pass
upgrade from in-tree to external-aws -- pass
(same test cases as https://github.com/rancher/rancher/issues/43175#issuecomment-1773537784 were ran)

there are some outstanding dashboard tickets that are still pending, but the backend work is done and working as expected

Hi,
How can i set hostname-override in the yaml of cluster config ?
Do you have an exemple?
I'am in the case where I have a custom domain name; and I don't find the correct configuration to migrate from in-tree to externel
Thanks for your help


nixos: make services.smartd much more helpful

Now it generates notifications for auto-detected devices as well as
for explicitly configured ones, sends well formed e-mails and supports
immediate wall and xmessage notifications.

I didn't test it but it looks good to me.

@jagajaga I changed one of them to mkEnableOption, others won't do because they have nontrivial defaults.

My fault, haven't noticed that.

:+1: on merging.


Keys doesn't works

When trying to use keys like Q to exit for example.
The app does not respond, I have to close the terminal in hand.
Ubuntu / Linux is what I use.

are you running the unmodified example?
Can you confirm that an event handler exists?
	termui.Handle("/sys/kbd/q", func(termui.Event) {
		termui.StopLoop()
	})

Here the examples work as expected with Ubuntu 16.04 and 14.04.

I have also encountered this problem.
MacOS is what i use