Updated "Fixed version" & "Feature differences"

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

File
Status
Preview URL
Details

microsoft-edge/webview2/concepts/browser-features.md
:white_check_mark:Succeeded
View

microsoft-edge/webview2/concepts/distribution.md
:white_check_mark:Succeeded
View

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

@mikehoffms - simple pr, feel free to do 5 minute edit pass and merge!

Docs Build status updates of commit 00279f9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/webview2/concepts/browser-features.md
:white_check_mark:Succeeded
View

microsoft-edge/webview2/concepts/distribution.md
:white_check_mark:Succeeded
View

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

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

File
Status
Preview URL
Details

microsoft-edge/webview2/concepts/browser-features.md
:white_check_mark:Succeeded
View

microsoft-edge/webview2/concepts/distribution.md
:white_check_mark:Succeeded
View

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


Does not support v4.0.0-alpha.24 with tailwind.css config file

What version of prettier-plugin-tailwindcss are you using?
v0.6.6
What version of Tailwind CSS are you using?
v4.0.0-alpha.24
What version of Node.js are you using?
v20.17.0
What package manager are you using?
pnpm
What operating system are you using?
Ubuntu
Reproduction URL
https://github.com/aaronadamsCA/prettier-plugin-tailwindcss-issue-270/tree/alpha-24-issue/my-app
Describe your issue
Starting with Tailwind v4.0.0-alpha.24 this plugin errors when given a tailwind.css config file.
$ pnpm exec prettier src/main.jsx
src/main.jsx
[error] src/main.jsx: /workspaces/prettier-plugin-tailwindcss-issue-270/my-app/tailwind.css:1
[error] @import "tailwindcss";
[error] ^
[error]
[error] SyntaxError: Invalid or unexpected token
[error]     at wrapSafe (node:internal/modules/cjs/loader:1378:20)
[error]     at Module._compile (node:internal/modules/cjs/loader:1428:41)
[error]     at Module._extensions..js (node:internal/modules/cjs/loader:1548:10)
[error]     at Module.load (node:internal/modules/cjs/loader:1288:32)
[error]     at Module._load (node:internal/modules/cjs/loader:1104:12)
[error]     at Module.require (node:internal/modules/cjs/loader:1311:19)
[error]     at require (node:internal/modules/helpers:179:18)
[error]     at Wr (file:///workspaces/prettier-plugin-tailwindcss-issue-270/node_modules/.pnpm/prettier-plugin-tailwindcss@0.6.6_prettier@3.3.3/node_modules/prettier-plugin-tailwindcss/dist/index.mjs:156:14078)
[error]     at file:///workspaces/prettier-plugin-tailwindcss-issue-270/node_modules/.pnpm/prettier-plugin-tailwindcss@0.6.6_prettier@3.3.3/node_modules/prettier-plugin-tailwindcss/dist/index.mjs:2353:3939
[error]     at pJ (file:///workspaces/prettier-plugin-tailwindcss-issue-270/node_modules/.pnpm/prettier-plugin-tailwindcss@0.6.6_prettier@3.3.3/node_modules/prettier-plugin-tailwindcss/dist/index.mjs:2353:3944)

Easy to reproduce:
.prettierrc.json
{
  "plugins": ["prettier-plugin-tailwindcss"],
  "tailwindConfig": "./tailwind.css"
}

tailwind.css
@import "tailwindcss";

Hey right now the config option for v4 is called tailwindEntryPoint so this will work:
{
  "plugins": ["prettier-plugin-tailwindcss"],
  "tailwindEntryPoint": "./tailwind.css"
}

I realize this isn't in the readme though — I'll leave this open as a reminder to update. I also might look into just making tailwindConfig work for this too.

Thanks, that's interesting! Up to and including v4.0.0-alpha.23 I was clearly using the wrong option, but it only started crashing with alpha.24.
Now I've upgraded all Tailwind dependencies and given each monorepo package its own .prettierrc.json with tailwindEntryPoint configured—and not only is everything working again, but it turns out I'm getting much better results in some packages when sorting classes.
Let's call this one user error, then. Glad to have it sorted, thanks for the tip!


#29 Add a "How to edit/add a Wiki page" page

Fixes #29

Ok, I feel like we're kind of copy pasting a lot of content from other places, such as mkdocs material's tutorial for admonitions for instance. I feel like we could simply mention these things and links to those better resources.

Ok, I feel like we're kind of copy pasting a lot of content from other places, such as mkdocs material's tutorial for admonitions for instance. I think we could simply mention these things and links to those better resources instead of flooding our pages.

I do agree that it is a lot of (unnecessary) repetition, and I did try to keep it only to the essentials which are already used. However, knowing my own laziness, and extrapolating to others, going and searching through different pages is not what some are looking for, but rather trying to find a quick and easy solution. Additionally, I was hoping it could serve as a compilation of copy pastable examples for other contributors.
Illustration: I couldn't find easily a reference in the links section (or elsewhere) to the admonitions, nor a fast clue that they are called admonitions, so I copy-pasted everything from other pages.

Ok, I feel like we're kind of copy pasting a lot of content from other places, such as mkdocs material's tutorial for admonitions for instance. I think we could simply mention these things and links to those better resources instead of flooding our pages.

I do agree that it is a lot of (unnecessary) repetition, and I did try to keep it only to the essentials which are already used. However, knowing my own laziness, and extrapolating to others, going and searching through different pages is not what some are looking for, but rather trying to find a quick and easy solution. Additionally, I was hoping it could serve as a compilation of copy pastable examples for other contributors.
Illustration: I couldn't find easily a reference in the links section (or elsewhere) to the admonitions, nor a fast clue that they are called admonitions, so I copy-pasted everything from other pages.

In that case, again, I'd rather link to appropriate resources. I don't think an additional click to go to, say, Github's markdown tutorial when wanting to learn how to format a tickable box is going to hurt.
Same goes for mkdocs-material and your example with admonitions, we can mention that and link to the appropriate pages, which requires one click and gives access to a much better tutorial on their use.
I would really rather properly explain and link for these things, but keep the content about how to make modifications and our guildelines / conventions. Here is a suggestion for a different organisation.

Ok, I feel like we're kind of copy pasting a lot of content from other places, such as mkdocs material's tutorial for admonitions for instance. I think we could simply mention these things and links to those better resources instead of flooding our pages.

I do agree that it is a lot of (unnecessary) repetition, and I did try to keep it only to the essentials which are already used. However, knowing my own laziness, and extrapolating to others, going and searching through different pages is not what some are looking for, but rather trying to find a quick and easy solution. Additionally, I was hoping it could serve as a compilation of copy pastable examples for other contributors.
Illustration: I couldn't find easily a reference in the links section (or elsewhere) to the admonitions, nor a fast clue that they are called admonitions, so I copy-pasted everything from other pages.

In that case, again, I'd rather link to appropriate resources. I don't think an additional click to go to, say, Github's markdown tutorial when wanting to learn how to format a tickable box is going to hurt.
Same goes for mkdocs-material and your example with admonitions, we can mention that and link to the appropriate pages, which requires one click and gives access to a much better tutorial on their use.
I would really rather properly explain and link for these things, but keep the content about how to make modifications and our guildelines / conventions. Here is a suggestion for a different organisation.

I agree in this with Michael. Yes, it is duplicated content that can be found somewhere else, but if we want people to work on the wiki and not giving up after struggling 5min with markdown, I think we should have a page gathering the most important things.
I had a look at your order and it immediately throws me off with too much text and no examples. No one will read that


WIP Initial version of a MathJax 3 (alpha) extension.

Don't merge yet - this doesn't work yet.

I have pushed workarounds for mathjax/mathjax-v3#68 and mathjax/mathjax-v3#69. I suspect that neither of these are intended behavior.
This is still not quite working, as I have not figured out how to have webpack pick up the MathJax fonts in mathjax2/css. Ideas?

Latest commit seems to get things to render okay, but the font location is hardcoded, so it doesn't look that great. Since we can't directly influence the jlab webpack config, we can't put in the appropriate webpack redirections to handle the hardcoded fonts, so we'll have to wait on that one.

What made the setting of the document unnecessary?

I don't know. I just tried it again and it worked.
On Sat, Nov 18, 2017, 09:29 Ian Rose<EMAIL_ADDRESS>wrote:

What made the setting of the document unnecessary?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jupyterlab/jupyter-renderers/pull/69#issuecomment-345457230,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALwZleUQihrZijpkIP2fwPU0zhi-f3nks5s3xPbgaJpZM4QizB3
.

The fonts issue has had some work in MathJax, so I think it's ready to tackle getting the fonts to load again. See https://github.com/mathjax/mathjax-v3/issues/70#issuecomment-350590791

@jasongrout This is now working, with the caveat that we need to update the JupyterLab webpack config to pick up .otf fonts, which is used in one of the typefaces.

I am seeing some errors with the parsing of HTML, but I believe those to be MathJax3 bugs.

@jasongrout I've been keeping this more-or-less up to date. Now mathjax3 is in beta, and some of the rendering bugs we saw in earlier versions have been ironed out. I think this is probably ready to merge and publish.

:+1:


Lizardman shaman spawns leave a respawn timer when tagged

Describe the bug
Sometimes when lizardman shaman spawns die while tagged, the tile is marked with a very large respawn timer.
This does not happen all the time here is a screenshot of about 20 minutes of slaying.

Expected behavior
Since these spawns don't have a respawn interval they shoulnd't leave behind a respawn time.
Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

OS: Windows
RuneLite version: 1.6.23
Launcher version: 1.6

This still occurs, would love to have an exception for these.

Still grinding these 2 years later..  :(
Anyways, this might be obvious, but turning off "show respawn timer" prevents this from happening.


[web] Text selection toolbar doesn't show up on first interaction with SelectableText

When running on web, the framework doesn't show the text selection toolbar. Instead, we rely on the browser to show its own.
SelectableText creates a text field under the hood to handle selection, etc.
The problem is the first interaction with the SelectableText happens before the underlying <input> has been created. So the browser doesn't show the context menu (aka the toolbar) until the user interacts again with the text.
Upon first interaction:

After subsequent interactions:

any updates on this issue ?


BugFixed: crazyxiaoj

Fixes that appear in the GitHub issue

a wrong conversion of a string in the '__reformSequence' function.
a missing 'occupied' check for ORFs where no stop codon was found.
a fuzzy 'end' representation for ORFs where no stop codon was found.

Other fixes that do not appear in the GitHub issue

a wrong nested decision for ORFs that have different senses.
a different definition of the "start/end" key for ORFs that have different senses.
noncontinuous indexs for the ORFs because the assignment occurs before the nesting.

Other changes: some comments have been added to the code to enhance maintainability

I noticed that the pull request hasn't been merged yet. Is there any issue or confusion? If so, please let me know so I can address it.

Hello, I believe these changes are crucial for the normal operation of the program. Numerous unit tests have shown that they improve the accuracy and clarity of the returned results. If you wish to modify my submission, please merge this pull request and submit the changes.


Bug with context precision evaluator LLMContextPrecisionWithoutReference

[x] I have checked the documentation and related resources and couldn't resolve my bug.
Describe the bug
The LLM-based context precision without reference class (LLMContextPrecisionWithoutReference) still try to access the reference answer in the SingleTurnSample instance.
File "/Users/miniconda3/envs/chatbot/lib/python3.11/site-packages/ragas/metrics/_context_precision.py", line 164, in _ascore
    answer=row["reference"],

Ragas version: 0.2.2
Python version: 3.11
Code to Reproduce
from ragas import SingleTurnSample
from ragas.metrics import LLMContextPrecisionWithoutReference

context_precision = LLMContextPrecisionWithoutReference()

sample = SingleTurnSample(
    user_input="Where is the Eiffel Tower located?",
    response="The Eiffel Tower is located in Paris.",
    retrieved_contexts=["The Eiffel Tower is located in Paris."],
)

context_precision.single_turn_score(sample)

Error trace
Traceback (most recent call last):
  File "/Users/langchain-rag/test_ragas.py", line 38, in <module>
    context_precision.single_turn_score(sample)
  File "/Users/miniconda3/envs/chatbot/lib/python3.11/site-packages/ragas/metrics/base.py", line 258, in single_turn_score
    raise e
  File "/Users/miniconda3/envs/chatbot/lib/python3.11/site-packages/ragas/metrics/base.py", line 252, in single_turn_score
    score = loop.run_until_complete(
            ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/miniconda3/envs/chatbot/lib/python3.11/asyncio/base_events.py", line 654, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/Users/miniconda3/envs/chatbot/lib/python3.11/site-packages/ragas/metrics/_context_precision.py", line 147, in _single_turn_ascore
    return await self._ascore(row, callbacks)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/miniconda3/envs/chatbot/lib/python3.11/site-packages/ragas/metrics/_context_precision.py", line 164, in _ascore
    answer=row["reference"],
           ~~~^^^^^^^^^^^^^
KeyError: 'reference'

Expected behavior
Output should be a context precision score

this has been fixed with #1567 so closing this now
do try out the latest version v0.2.3 and see if you get it working 🙂


Improve the SQL server

The SQL server is definitely just a hacky proof-of-concept so far.
It can be improved in multiple ways:

at least add some documentation and tests
handle multiple connections at the same time
error handling and sending the error back to the user
authentication
is a socketserver really the best library to use?
possibility to define dataframes from SQL (e.g. specifying to read from S3, hdfs etc)
dockerizing the server, to make it usable in a cluster setup (maybe together with an autoscaling dask cluster or dask gateway)
...

Fixed via #56


Use npm ci instead of npm install for pipelines

This makes sure that package.json and package-lock.json are correctly in sync and installs based on package-lock.json.

@damccorm When you're back let's discuss plans for this.

@stephenmichaelf @jtpetty I think we should still take this

this looks good to me. @stephenmichaelf any concerns?

This will actually break existing tasks. If we do this, we should do it immediately after we publish to start off a new sprint, ideally during a down time (like December) so that we can make sure it doesn't cause problems.


Scrolling doesn't seem to be working in either MC or LMC

Applied a general fix to scrolling issues.


commands: try out RegisterCommand()

This is an incomplete PR that I wanted to try after reading this conversation.
Unlike the existing RegisterSubcommand(), RegisterCommand() wraps the initialization of the *cobra.Command with the following properties:

Use - The lfs sub command name, needed by every command.
Run - The function for the command.
PreRun - This is the controversial part. Most commands want this set.

I agree that it's better that the few commands that don't need .git/lfs initialized can disable the PreRun hook. By default though, all RegisterCommand callers should work.
The bool return value also lets commands choose if they're activated. Currently only used for experimental commands like locks.
If this approach is favorable, I'll update all RegisterSubcommand() callers, kill it, and change how subcommandFuncs works.

👍  Exactly what I had in mind. My only thought is it would be nice to have some docs on Register[Sub]Command to make the process a bit clearer (what the bool means, why choice of enable is deferred until that function call returns).

When you apply this to the rest of the commands, please can you disable the pre-run for git lfs version as well? This will fix #1496

I updated everything to use RegisterCommand() and removed RegisterSubcommand(). Updated the docs as well. Going to see if I can get rid of the bool return value...

The cfg is available in init(), so I was able to pull the isCommandEnabled() calls out of the RegisterCommand() fn callback, and in init() directly.

Looks awesome 👍  I wasn't totally sure whether or not the RegisterCommand idea would be clear enough, but since it's documented it works fantastically. I'm really glad that we're saving space and still being clear about what's going on 👍

:metal:


Add trailing slash to auto generated sitemap.xml for directories only

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[X] I have tried the npm run clear or yarn clear command.
[ ] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[ ] I have tried creating a repro with https://new.docusaurus.io.
[X] I have read the console error message carefully (if applicable).

Description
Bing.com shows a redirection message with HTTP 301 for every page because each link in sitemap.xml is missing a trailing slash. The redirection message shown by the Bing.com search site is WEBMoved Permanently. The document has moved here. It does not display the actual content.
I'd like to:

prevent 301 redirects and use direct links in the generated sitemap.xml
have docusaurus generate trailing slashes in the generated sitemap.xml for directories.

Also see #4134
Reproducible demo
No response
Steps to reproduce
adding trailingSlash: true, to docusaurus.conf.js.
Expected behavior
Trailing slashes should only be used for actual directories.
Actual behavior
When 'trailingSlash' is added to docusaurus.conf.js within const conf  = {..} is being refused with error messages:
const config = {
  title: 'Mysite',
  tagline: 'tagline',
  favicon: 'img/favicon.ico',

  // Set the production url of your site here
  url: 'https://mysite.tld',
  // Set the /<baseUrl>/ pathname under which your site is served
  // For GitHub pages deployment, it is often '/<projectName>/'
  baseUrl: '/',
  trailingSlash: true,

This creates a sitemap.xml with trailing slashes, building then fails due to broken links to anchors:
Error: Unable to build website for locale xx.
    at tryToBuildLocale (/home/user/mytopic/node_modules/@docusaurus/core/lib/commands/build.js:55:19)
    at async mapAsyncSequential (/home/user/mytopic/node_modules/@docusaurus/utils/lib/jsUtils.js:44:24)
    at async Command.build (/home/user/mytopic/node_modules/@docusaurus/core/lib/commands/build.js:82:21) {
  [cause]: Error: Docusaurus found broken links!

  Please check the pages of your site in the list below, and make sure you don't reference any path that does not exist.
  Note: it's possible to ignore broken links with the 'onBrokenLinks' Docusaurus configuration, and let the build pass.

  Exhaustive list of all broken links found:
  - Broken link on source page path = /docs/sub1/:
     -> linking to ./mydoc/#table-1 (resolved as: /docs/sub1/mydoc/#table-1)
     -> linking to mydoc2/#table-2 (resolved as: /docs/sub1/mydoc2/#table-2)
 (removed a list of more broken links)

It looks like links to anchors are not created properly. The directories here are mydoc and mydoc2, the anchors referenced on the index pages are #table-1 and #table-2.
The link in the md file looks like this:
[table 1](./mydoc#table-1)
[table 2](mydoc2#table-2)

Your environment

Public source code: Docusaurus
Public site URL: n/a
Docusaurus version used: 3.2.1
Environment name and version (e.g. Chrome 89, Node.js 16.4): node v18.19.0
Operating system and version (e.g. Ubuntu 20.04.2 LTS): Debian 12 (bookworm).

Self-service

[ ] I'd be willing to fix this bug myself.

Trailing slashes should only be used for actual directories.

No that's not how this feature is designed sorry. There's not even a concept of "directory" in Docusaurus, only "docs categories".

FYI we recently fixed a bug related to trailing slash not being applied to sitemap:
https://github.com/facebook/docusaurus/pull/9920

301 redirect is a server/host concern, not a Docusaurus concern. If your host serves 301 instead of 200, then you have to configure your host so that it serves 200 instead of 301.

Those links are standard HTML relative links. If you want your pages to end with / then your links must contain that trailing slash too, that's how HTML links work.
[table 1](./mydoc#table-1)
[table 2](mydoc2#table-2)

I'm closing because no concrete repro was provided, this issue is quite messy, and to me this works as intended unless proven otherwise.
If you want to discuss things further please create a runnable https://docusaurus.new/stackblitz repro

So how would you configure the most used web server, Apache 2, not to use 301 redirects? Apache adds slashes by default: DirectorySlash On.
The root cause seems to be that sitemap.xml does not contain slashes while Apache requires slashes. A workaround would be to create sitemap.xml with trailing slashes as an option.
Stackblitz obviously does not replicate a real world setup. Do you mean you can't replicate that sitemap.xml does not generate trailing slashes?

So how would you configure the most used web server, Apache 2, not to use 301 redirects?

This is not an option we recommend using. I'd suggest using Vercel or Netlify, and if you cannot GitHub pages.
If you want to use Apache2, then it's your responsibility to figure out to configure it to serve a static deployment appropriately.
Docusaurus is only responsible for building a static deployment, not hosting it.
If you think our sitemap has a bug, then provide a repro and show what's the actual sitemap and what's the expected sitemap, given a fixed set of options. The expected behavior is that the sitemap contains URLs with/without / depending on the trailingSlash config, and the sitemap is expected to target the exact canonical URL of pages so if pages have / in their canonical URL, the sitemap should also contain a trailing slash.


Add more detailed Bluetooth usage info for iPhone

Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage
We noticed that your app requests the user’s consent to access the Bluetooth, but doesn’t sufficiently explain the use of the Bluetooth in the purpose string.
Next Steps
Please revise the purpose string in your app’s Info.plist file for the Bluetooth to explain why your app needs access and include an example of how the user's data will be used.
You can modify your app's Info.plist file using the property list editor in Xcode.
Resources

See examples of helpful, informative purpose strings.
Review a list of relevant property list keys.

@Andrewsopoku looks great. Just capitalize Bluetooth.

@marvinmarnold a PR has been created. https://github.com/NebraLtd/maker-starter-app/pull/102

Close with https://github.com/NebraLtd/maker-starter-app/pull/102


Configure Travis to automatically push new tags to Maven

Logic here is that we wouldn't want Maven lagging behind the GH repository.
I don't know if it's standard to have a nightly (or master) type build available on Maven (other libraries like gcloud-node don't do that), but at the very least all git tagged versions should be automatically pushed to Maven...
/cc @jboynes

@jgeewax , I don't think this belongs in this milestone.
Maven pushes could be done manually until this issue is resolved.
I think for the this milestone we just want to make sure we have a push that corresponds to all changes associated with this milestone.

What I'm worried about is too much reliance on manual pushes -- if we need to get something out quickly, it would be great to have "all our ducks in a row" with regard to process so a tag gets pushed to maven.
If having Travis handle publishing was an enormous undertaking (which I suspect it's not, but let's say it is) then I could see us pushing this back. Otherwise, I would really prefer to have this (and the other process-focused things) ready before announcing publicly.

Travis is now configured to push a SNAPSHOT to maven every successful build.
Non snapshot builds are still done manually and should include the following:

Update pom files to reflect the build number
manual maven site deploy
Update README.md with latest build number

Cool - thanks @aozarov
I'm going to close this out for now, and open a separate issue focused on the non-snapshot builds, including a site update.
@stephenplusplus : Let me know if you notice anything off about what we're doing here?


Enabled translations in PDFs + minor fixes

Closes #1699 by making PDFs translatable.
Also fixes a few minor things:

Removed an incorrectly added closing tag for the logo.
Changed some strings which were using abbreviations, which I consider to be a fundamental mistake for software that's supposed to be translatable as the translator has to actually know what the abbreviation stands for. The less guessing the better imo.
The company VAT and company number fields will be hidden if they aren't set.

2. Changed some strings which were using abbreviations, which I consider to be a fundamental mistake for software that's supposed to be translatable as the translator has to actually know what the abbreviation stands for. The less guessing the better imo.

In these cases I agree with the changes, but I don't think it should be an absolute not to use shortened forms or abbreviations where they are part of the normal language flow.

In these cases I agree with the changes, but I don't think it should be an absolute not to use shortened forms or abbreviations where they are part of the normal language flow.

I might agree with you for professional translations where the person performing the translation is very familiar with English but that's not the case for us and I've many times talk with someone who does contribute translations and could very easily tell that they understood English, but would be far from someone considering them to be fluent.
I could also agree if within crowdin we had context provided for the strings, but we don't.


Add ability to read font through io.Reader

Figure and Font are modified to read font data from io.Reader.

+1 Super useful.

Sorry again for the long delay.  It'll be a nice improvement that users will able to create a Figure directly from any flf file.
I think it makes sense to maintain one point of entry to the program with NewFigure.  I think this helps with easy of use and reduces some code duplication.  Using the empty interface empty interface always feels like a poor hack, but what do you think of something like this?--
func NewFigure(phrase string, fontInfo interface{}, strict bool) figure {
  var font font
  switch fontInfo := fontInfo.(type) {
  case string:
    font = newFont(fontInfo)
  case io.Reader:
    font = newFontFromReader(fontInfo)
  }

  if font.reverse {
    phrase = reverse(phrase)
  }
  return figure{phrase, font, strict}
}

That way one new method is added to Font and then NewFigure knows which one to call by the type of the fontInfo argument.

@common-nighthawk I've never seen such pattern of New function accepting interface{} parameter and behaving differently based on the type of the param. It sounds like an anti-pattern of Go. Go always advocates for explicit naming of functions and parameters. Take bytes.Buffer for an example. It has two "New" functions, one that accepts byte array and another one accepts strings. They are specified explicitly. So it is better to keep the functions separately.

Hm.  I don't have enough experience with Go to have an informed decision.  I hate having two functions, but I recognize forcing everything in patterns I'm familiar with is terrible.
I'll go ahead and merge.  Do want to update the documentation?, or else I'll do it when I have a chance.
Thanks again for contributing and putting up with my response time.  I'm excited for this project to have more than one contributor 🎉


 It would be a fun addition

ughhh. i hate this command on dank memer, you just have to be in a server you dont check often who have the bot to loose alllllll your money in a few hours.

That is true, but there are some additional options

The permissions module already allows server owners to turn it off
It could possibly be adjusted by server owners
I could implement a wallet/bank system, and commands like rob would only take from the wallet. But if I do that, what happens to other money earned? Does that go in wallet? Bank?

That is true, but there are some additional options

The permissions module already allows server owners to turn it off
It could possibly be adjusted by server owners
I could implement a wallet/bank system, and commands like rob would only take from the wallet. But if I do that, what happens to other money earned? Does that go in wallet? Bank?

It by default goes to the wallet and you can send it in the bank. You can also have a setting that makes the money go to the bank directly. Also there will be a limit on how much money can enter the bank. And also passive mode can be a thing.

Passive mode? O.o


Unable to deploy a lab on cluster automation machine using ADS

Please fix this issue in ADS on cluster automation machine as soon as possible.
ADS URL : http://ads.ovpl.virtual-labs.ac.in:8080/

@kraghupathi
I will  look into it this afternoon

Reminder

This issue is fixed by exporting proxy for http and https and by unset proxy to localhost
this is documented at step(13) at link
hence i am closing this issue
reopen it if you face same issue


Fix the UI image publish workflow

Few more fixes for UI image publish workflow. Merging this PR for testing the workflow fixes.


Fix scripts/test.sh in debug mode

Hi,
I noticed that passing tests in debug mode (scripts/test.sh --debug) was not working properly: it passes debug and release tests instead of only the first one. In the output of the command the first line is:
scripts/test.sh: 12: [: --debug: unexpected operator.
This is due to the == operator which is s a bash-specific alias for = but is not supported in POSIX sh. To fix it, we need to change the shebang to use bash or use the = operator.
I prefer to change the operator instead of the shebang because using sh give more portability advantages.

Thanks for looking into this - I remember a I had few things I didn't quite could get working - this might be it. Notice that the scripts generally assume bash although [[ ]] was not used in this case. If you want to move everything to non-bash feel free to do so.

For now, this is the only issue I have found. I am going to continue working with this library and push more fixes if I find problems. Thanks for your work in this library.


[FEAT] Disable sending hostnames to DHCP

Describe the benefit this feature would provide to the project
Since this PR, it's possible to disable sending your hostname to dhcp in networkmanager, which increases privacy.
Note that this PR lands in NM 1.51, which is not yet in Fedora
To enable it, when NM 1.51 lands, you need to set the following options in NM conf:
[connection]
ipv4.dhcp-send-hostname=0
ipv6.dhcp-send-hostname=0

Declaration

[x] I declare that I have read the README and my feature request is in-scope.

This seems like it will serve to only cause networking issues with negligible to no real benefit.


v0.22 构建  i18n 文章失败

Describe the bug
v0.20.6 及以前版本可以正常构建的使用了 i18n 书写的文章, 在 v0.22.2 上构建失败
Reproduction
https://github.com/krau/valaxy-i18n-build-failed
System Info
node: 22
os: Windows
valaxy version: v0.22.2
theme: yun

Used Package Manager
pnpm
Validations

[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

补充对标题 " 的转义。


Added Favorite Feature with filter

Issue #12
✨ About the changes:

Added Heart Icon in Post Component.

Added Filter, so that users can only see their Favorite Posts.

Changed Post model and controllers to support the frontend Heart Feature.

⚡ Some more screenshots:

All Posts

Only Favorite Posts

@Tejas1510 you forgot to add labels 😅

@Tejas1510 you forgot to add labels 😅


WWW-421: Do not show remaining video time in accordion or tabs

Jira
https://pegadigitalit.atlassian.net/browse/WWW-421
Summary
Fixes a bug where time remaining shows on videos that are placed within tabs or accordion
Details

How to test
This should be testable in Bolt on the tabs content and accordion content pages, but it's not.  For some reason, videos in those scenarios get the vjs-layout-medium class instead of the vjs-layout-tiny class that happens on pega.com production, and for which this CSS was originally written.  Maybe there's a race condition of some sort?  @colbytcook and I are stumped 🤷 .
Edit: it appears that videos inconsistently get either vjs-layout-medium or vjs-layout-tiny.  It's likely some race condition (FYI @danielamorse), but that isn't a problem for this PR, which only cares about the scenario where videos load with vjs-layout-tiny class.

@remydenton it sounds like a race condition, most likely due to the fact that the video is hidden on load and/or when Brightcove JS loads.
Have all the Brightcove updates you and @colbytcook worked on been rolled out? I'd say, let's see where we're at once those changes are in place.

The Brightcove updates haven't been rolled out yet @danielamorse.  I agree we shouldn't bother troubleshooting any further unless it shows up there too (and even then, this CSS should solve this particular case, so it may not even need any more attention unless other related bugs come out of the woodwork).


Improve and clean up use cases for Secrets

Umbrella issue #4491
Fixes #38084
This PR moves the "Use cases" section to the beginning of the page, which makes more sense from a structural perspective. It then does the following:

Removes use cases that were already documented in task pages (environment variables for example)
Converts the original "Uses for secrets" bulleted list to be the use cases
Links to appropriate task pages from the bulleted list
Moves the prod/test credentials use case section to a task page and updates the content for style (commit message documents the changes)
Delete the SSH key use case instructions

I kept the following use cases as-is with no changes: dotfiles and one container in a Pod. I don't know what to do with them. Some points:

The dotfiles use case doesn't feel like it belongs in the "Distribute creds securely" task, but also does not feel like it deserves a whole section in this concept page for Secrets. Should I leave it as-is?
The Secret visible to one Pod use case needs its own task page I think, so I will do it in a followup PR.

/sig docs
/label refactor
/language en

Thanks for the suggested edit @windsonsea !

@shannonxtreme pls perform a rebase action, thanks.

Will do @windsonsea 😃

Should help with https://github.com/kubernetes/website/issues/42235 has a specific comment relating to this issue.
@shannonxtreme - would you be willing to rebase this against latest main?

Okay I rebased but apparently the existing untouched content has also been touched post-rebase. I'll dig more

@sftim @windsonsea done!

@sftim I think you're good to re-review this. For your net-new text suggestion, yes, although I wonder if we can add that closer to the page intro and avoid duplicating the wording

Np, I'm just sorry that I took so long to begin working on Secrets docs again

@shannonxtreme thanks for your work on this.


error property on Error object is sometimes a nested Error object

Here's an error I just received for calling get_metadata on a file that does not exist:
{
  "status": 409,
  "error": {
    "error_summary": "path/not_found/..",
    "error": {
      ".tag": "path",
      "path": {
        ".tag": "not_found"
      }
    }
  },
  "response": {
    "req": {
      "_query": [],
      "method": "POST",
      "url": "https://api.dropboxapi.com/2/files/get_metadata",
      "header": {
        "Content-Type": "application/json",
        "Authorization": "Bearer <removed>"
      },
      "_header": {
        "content-type": "application/json",
        "authorization": "Bearer <removed>"
      },
      "_callbacks": {
        "$end": [
          null
        ]
      },
      "_data": {
        "path": "/test/fixtures/files/node/a.js"
      },
      "xhr": {},
      "_timeout": 0
    },
    "xhr": {},
    "text": "{\"error_summary\": \"path/not_found/..\", \"error\": {\".tag\": \"path\", \"path\": {\".tag\": \"not_found\"}}}",
    "statusText": "Conflict",
    "statusCode": 409,
    "status": 409,
    "statusType": 4,
    "info": false,
    "ok": false,
    "clientError": true,
    "serverError": false,
    "error": {
      "status": 409,
      "method": "POST",
      "url": "https://api.dropboxapi.com/2/files/get_metadata"
    },
    "accepted": false,
    "noContent": false,
    "badRequest": false,
    "unauthorized": false,
    "notAcceptable": false,
    "notFound": false,
    "forbidden": false,
    "headers": {
      "content-type": "application/json"
    },
    "header": {
      "content-type": "application/json"
    },
    "type": "application/json",
    "body": {
      "error_summary": "path/not_found/..",
      "error": {
        ".tag": "path",
        "path": {
          ".tag": "not_found"
        }
      }
    }
  }
}

Expectation:
e.error is a GetMetadataErrorPath with the following structure:
{
  '.tag': 'path',
  path: LookupError
}

Also, e.error_summary is a text summary of the error.
Actual Result:

e is missing error_summary.
e.error appears to be a half-Error object. It has an error_summary field.
e.error.error is a GetMetadataErrorPath object with the appropriate structure.

This is really bad. BrowserFS needs to map Dropbox error codes to POSIX-like file system error codes, so it's important that I know why these requests fail. I currently have to add hacks to extract the object I need.

Thanks for reporting @jvilk . There were a couple of pull requests around the returned error objects, I'll look if that broke anything.

Any follow up on this? I'm finding myself writing absolutely bonkers error handlers like this:
if (
   err &&
   err.error &&
   err.error.error &&
   err.error.error[".tag"] === "reset"
) {
      ...
}

What is going on? As far as I can tell, there's nothing in the documentation about handling errors. See also, #129.

I'm also having to cobble together a Dropbox error handler. If nothing else, being able to use "treeify" to quickly print the error "object" would be nice.  Right now, treeify.asTree(obj, true, true); where 'obj' is what's returned from dropbox module (and 'true' and 'true' are params to show values of obj props and to hide obj functions):

TypeError: obj.hasOwnProperty is not a function
at filterKeys (/Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:32:16)
at growBranch (/Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:72:18)
at /Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:78:9
at Array.forEach ()
at growBranch (/Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:73:12)
at /Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:78:9
at Array.forEach ()
at growBranch (/Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:73:12)
at /Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:78:9
at Array.forEach ()
at growBranch (/Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:73:12)
at Object.Treeify.asTree (/Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:103:5)
at /Volumes/RAID1/projects/templates/nodeDropboxMongo.js:783:76
at process._tickCallback (internal/process/next_tick.js:68:7) } , reason:  TypeError: obj.hasOwnProperty is not a function
at filterKeys (/Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:32:16)
at growBranch (/Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:72:18)
at /Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:78:9
at Array.forEach ()
at growBranch (/Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:73:12)
at /Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:78:9
at Array.forEach ()
at growBranch (/Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:73:12)
at /Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:78:9
at Array.forEach ()
at growBranch (/Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:73:12)
at Object.Treeify.asTree (/Volumes/RAID1/projects/templates/node_modules/treeify/treeify.js:103:5)
at /Volumes/RAID1/projects/templates/nodeDropboxMongo.js:783:76
at process._tickCallback (internal/process/next_tick.js:68:7) ).
at process. (/Volumes/RAID1/projects/templates/nodeDropboxMongo.js:129:11)
at process.emit (events.js:182:13)
at emitPromiseRejectionWarnings (internal/process/promises.js:119:20)
at process._tickCallback (internal/process/next_tick.js:69:34)

Thanks for the note!


Refactor Filesystem bootstrapper source

I ended up not needing to touch this file in a separate P.R, but I already did all the work to extract a few helper methods so we might as well clean it up a little.

Coverage increased (+0.02%) to 77.909% when pulling fc98d9513d181ab6a2cea0f7b2675b45e161ae4b on richardartoul:ra/refactor-fs-source into dbfa4e03bb1293f1cfb597775ed71c9c3296672b on m3db:master.


Rewrite CMake support

SIMDe currently has both CMake and Meson-based build systems for building the tests, and they work somewhat differently.  CMake creates one giant run-tests executable, whereas Meson creates separate a separate executable for each suite.  This isn't really a consequence of the build system, it's just that I chose a different route when I added Meson support. I think the Meson approach has proven superior, for several reasons, including:

You don't have to build the whole project when you update tests; for example, if you are working on SSE, with Meson all you have to do is rebuild one or more of the SSE tests (test/x86/sse-{native,emul}-{c,cpp}) to test your work, but with CMake you have to rebuild run-tests, which also requires all other ISA extensions (and since sse.h is included by almost every other Intel ISA extension that also means rebuilding those every time).
Easy to run tests in parallel (in fact, the Meson "test" target runs the tests parallel).
We can drop the µnit dependency, which is the only git submodule we use.  This is technically possible without moving to multiple executables, but we would lose the ability to run only a subset of the tests unless we also wrote a new harness.

Although I have deprecated the CMake support I've kept around it because, at least for now, CMake works in some places where Meson doesn't.  For example, Meson doesn't support the XL C/C++ compilers.
Rewriting the CMake build system to work more like the Meson system would make the CMake system much more useful, and I don't think it would be particularly difficult for someone already familiar with CMake.  That said, I have absolutely no intention of ever doing it myself.  I would, however, be happy to accept a patch if someone else wants to do it.

Cmake appears to be broken, the tests build but no tests are run https://github.com/simd-everywhere/simde/actions/runs/4155968543/jobs/7189426363
This is a big problem as the CI didn't catch theses failures!


RollForward strategy for CLI tool

attempt to fix #4088

@forki Paket 6.2.0
dotnet paket restore
It's invalid to use both `rollForward` and one of `rollForwardOnNoCandidateFx` or `applyPatches` in the same runtime config.
Invalid runtimeconfig.json [/Users/nikolay/.nuget/packages/paket/6.2.0/tools/netcoreapp2.1/any/paket.runtimeconfig.json] [/Users/nikolay/.nuget/packages/paket/6.2.0/tools/netcoreapp2.1/any/paket.runtimeconfig.dev.json]

@forki , looks similar to following:
To reconcile the various scopes the host will apply the following precedence:
environment variable DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX
.runtimeconfig.json global setting - rollForward and rollForwardOnNoCandidateFx (it's invalid to specify both)
.runtimeconfig.json per-framework setting - rollForward and rollForwardOnNoCandidateFx (it's invalid to specify both)
environment variable DOTNET_ROLL_FORWARD
command line arguments - rollForward and rollForwardOnNoCandidateFx (it's invalid to specify both)

Looks like <RollForward> conflicts with
https://github.com/fsprojects/Paket/blob/b2feccc8f9e49f731083d2e2bfc5f47e5328eaa8/src/Paket/runtimeconfig.template.json#L4

can someone please send another PR?


HSEARCH-3043 Upgrade byteman to 4.0.2

https://hibernate.atlassian.net//browse/HSEARCH-3043

merged, thanks!


Feature/Cucumber Messages

Draft PR to provide a space for reviews and suggestions on this Feature.
🤔 What's changed?
Adds support for creation of Cucumber Messages during the execution of Reqnroll scenarios.
Changes are in three main area:
FeatureGeneration: as a feature file is processed and used to generate C# code, the Gherkin toolchain is used to create the first few Messages for the feature. These are attached to the FeatureInfo object.
CucumberMessagePublication: written as an embedded plugin, this component listens for ExecutionEvents and converts them, and their attached state, to Cucumber Messages. These are 'published' to one or more sinks.
FileSinkPlugin: a traditional runtime plugin, this plugin registers with the Publishing component to receive the Messages as they are released by the Publisher and stored to a file (one per feature file).
Messages are strings serialized from the CucumberMessage Envelope format and stored one per line in an ".ndjson" result file.
⚡ What's your motivation?
To provide future compatibility with the broader Cucumber eco-system of tooling.
To provide the input to a future implementation of a Reqnroll replacement to LivingDocs.
🏷 What kind of change is this?

:zap: New feature (non-breaking change which adds new behaviour)

♻ Anything particular you want feedback on?
Anything.
📋 Checklist:

[X] I've changed the behaviour of the code

[ ] I have added/updated tests to cover my changes.

[ ] My change requires a change to the documentation.

[ ] I have updated the documentation accordingly.

[ ] Users should know about my change

[ ] I have added an entry to the "[vNext]" section of the CHANGELOG, linking to this pull request & included my GitHub handle to the release contributors list.

FYI, github Build is failing b/c one produced component (FileSinkPlugin) gets published only to my local Nuget store. It can then not be found by the build pipeline in github.

First end-to-end working scenario is operational.
Needed out of a PR review:

Overall code structure
Patterns that have been used (good/bad) and patterns that should have been used
Thread-safety: is the level of thread awareness and approach to thread-safety appropriate and adequate?

Build is failing b/c I have a private build of Cucumber Messages nuget package. When the next release of that comes out, I will patch up the nuget references in this branch.

Build is failing b/c I have a private build of Cucumber Messages nuget package. When the next release of that comes out, I will patch up the nuget references in this branch.

This is fine. We have feed https://www.myget.org/feed/Packages/reqnroll-unstable where we could publish interim releases (of dependencies as well) and I think this feed is added to the nuget sources, so the build would be able to resolve it though them. But I never tested this model yet.

In order to fix the System.Text.Json loading problem I have found a fix: We need to ensure that the necessary System.Text.Json related assemblies are packaged with our generator, so that they can be loaded in frameworks that does not have this version.
In order to do that, you need to add these lines to the Reqnroll.Tools.MsBuild.Generation.nuspec file (to the "files" section):
    <!-- Ensure that the needed version of System.Text.Json and its dependencies are available for the generator. -->
    <file src="bin\$config$\netstandard2.0\System.Text.Json.dll" target="tasks\$Reqnroll_Core_Tools_TFM$" />
    <file src="bin\$config$\netstandard2.0\Microsoft.Bcl.AsyncInterfaces.dll" target="tasks\$Reqnroll_Core_Tools_TFM$" />
    <file src="bin\$config$\netstandard2.0\System.Text.Encodings.Web.dll" target="tasks\$Reqnroll_Core_Tools_TFM$" />

@clrudolphi while working on the diagnosis of this, I noticed that there is now a generic catch in UnitTestFeatureGenerator.PersistStaticCucumberMessagesToFeatureInfo  (line 247) that hides different assembly loading issues (e.g. if a dependency of the System.Text.Json is missing). As a result it hides the error and an empty pickle collection is initialized that causes an index out of range error when calling PickleJar.CurrentPickleId. (You can test if you comment out the last two lines of the fix I pasted.)
We would need to find a way to propagate these errors (should we really catch?), or at least somehow make sure that it is possible to figure out what is wrong without debugging. (Now I found them by putting a Debugger.Launch(); inside that catch block.)

I believe this is now ready for a shakedown and code review. I've fixed the issues that I'm aware of and completed my punch-list. Documentation is updated. I've tested it with multiple Features running in parallel and desk-checked it for thread safety for the upcoming Scenario parallel execution model.

It looks like Cucumber Messages schemas are changing in an upcoming release PR102. This will require some changes to logic within the Messages implementation.
If you can, please go ahead and provide review comments on the subsystem as it exists now; as I'm sure there is plenty to be improved.

It looks like Cucumber Messages schemas are changing in an upcoming release PR102. This will require some changes to logic within the Messages implementation. If you can, please go ahead and provide review comments on the subsystem as it exists now; as I'm sure there is plenty to be improved.

Messages v27 and CCK updates have been published. Today's commits update our Messages implementation to support this release. This adds a HookType enumeration for Hooks and a TestRunStartedId attribute to the TestRunStarted and TestRunFinished  messages.


Banner images for smarthome dhh project are low res

I couldn't find the original high-level images so just grabbed a few for now. Need to be replaced by their hi-res counterparts:

@higherdefender, can you do this?

Yep, done! I will update photos once more after we make the video as well.


Wait for event implementation question

What versions are you running?

$ go list -m github.com/chromedp/chromedp
github.com/chromedp/chromedp v0.5.3
$ google-chrome --version
83.0.4103.61
$ go version
1.14.3

Sorry if I skip the rest of the issue template, it's not so much of an issue than looking for your help to solve my implementation issue.
I'm trying to wait for a whole web page to load before printing it to pdf. The page in question is dynamic, so first I scroll through it to force the various elements to load. Then I would like to implement a wait function until no more of a certain type of network event (such as "load" or "networkIdle") is recorded in the past x seconds.
At the moment, my implementation looks like that (summarized):
network.Enable(),  // though I'm not sure this one is needed
enableLifeCycleEvents(),
chromedp.Navigate(url),
chromedp.WaitReady("body"),
// Then for scrolling the page:
chromedp.EvaluateAsDevTools(`
			var totalHeight = 0;
			var distance = 100;
			var timer = setInterval(() => {
				var scrollHeight = document.body.scrollHeight;
				window.scrollBy(0, distance);
				totalHeight += distance;
				if (totalHeight >= scrollHeight) {
					clearInterval(timer);
				}
			}, 100)
		`, &res),
chromedp.ActionFunc(func(ctx context.Context) error {
			waitForLoadEvent(ctx)
			return nil
		}),
PageToPdf(&buffer),

// With:
func enableLifeCycleEvents() chromedp.ActionFunc {
	return func(ctx context.Context) error {
		err := page.Enable().Do(ctx)
		if err != nil {
			return err
		}
		err = page.SetLifecycleEventsEnabled(true).Do(ctx)
		if err != nil {
			return err
		}
		return nil
	}
}

// and:
func waitForLoadEvent(ctx context.Context) error {
	ch := make(chan struct{})
	cctx, cancel := context.WithCancel(ctx)

	chromedp.ListenTarget(cctx, func(ev interface{}) {
		switch e := ev.(type) {
		case *page.EventLifecycleEvent:
			if e.Name == "load" {
				cancel()
				close(ch)
			}
		}
	})
	select {
	case <-ch:
		return nil
	case <-ctx.Done():
		return ctx.Err()
	}
}

Of course waitForLoadEvent works as intended, which is not as I want it to work. It stops the wait when the first "load" event is recorded, but I would like to make sure that there is no more "load" event in the next x seconds.
Any help would be hugely appreciated, I've spent the last three days on this problem... (Go is new to me.)
Thank you very much in advance!
M.

Is https://github.com/chromedp/chromedp/issues/431 what you want? Or how is that different from the "load" lifecycle events?

Hi @mvdan,
I tried this solution at first, but it wasn't satisfying (the lock was released before the browser had time to scroll down the whole page and trigger the loading of some elements).
I ended up using a blocking loop on DOM elements filtered by class (fortunately this crawler of mine is focused on just one particular website so I could use custom CSS targets).
In any case, thanks for your answer!


NetworkManager fails to autoconnect on login

Describe the bug
When I log into my desktop environment (i3), the network manager tries to connect to my home wlan but fails. If I then manually click to connect, it succeeds. For some reason it fails only when trying to connect automatically at the first login after a boot.
I've noticed that this happens on my home wlan that has a password but on some public wlans without passwords. I haven't tested other networks, but I'm guessing it fails on password-secured wlans but not on passwordless open wlans. This might be related to the gnome keyring (I assume the network manager is using that, but I'm not sure).
These might be useful lines from journalctl logs:
Sep 24 19:40:34 leevi kernel: IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
Sep 24 19:40:34 leevi dbus-daemon[7319]: [session uid=1000 pid=7317] Activating service name='org.freedesktop.secrets' requested by ':1.4' (uid=1000 pid=7377 comm="/nix/store/djflnag4w55jmiaz1fz2pqbjq51i3jlz-networ")
Sep 24 19:40:34 leevi dbus-daemon[7319]: [session uid=1000 pid=7317] Successfully activated service 'org.freedesktop.secrets'
Sep 24 19:40:34 leevi NetworkManager[1084]: <warn>  [1569343234.1288] device (wlp3s0): no secrets: No agents were available for this request.
Sep 24 19:40:34 leevi NetworkManager[1084]: <warn>  [1569343234.1295] device (wlp3s0): Activation: failed for connection 'Kotiloinen'
Sep 24 19:40:34 leevi kernel: IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready

To Reproduce
Steps to reproduce the behavior:

Reboot
Log in to the desktop environment
Network manager tries to automatically connect to a familiar wlan and fails.

I'm not using any existing desktop manager. I'm using i3 with my own simple "desktop environment". FWIW, here's the how it's defined:
    systemd.user.targets.vaakko = {
      requires = [ "graphical-session.target" ];
      unitConfig = {
        RefuseManualStart = false;
        StopWhenUnneeded = false;
      };
    };

    services.xserver.enable = true;
    services.xserver.desktopManager.session = lib.singleton {
      manage = "desktop";
      name = "vaakko";
      bgSupport = false;
      start = ''
        ${pkgs.i3}/bin/i3 &
        waitPID=$!

        until ${pkgs.i3}/bin/i3-msg
        do
          echo "Waiting for i3 socket.."
        done

        systemctl --user start vaakko.target
      '';
    };

Any other information I should provide?
Expected behavior
Network manager should connect automatically and successfully to the wlan.
Metadata
$ nix run nixpkgs.nix-info -c nix-info -m
 - system: `"x86_64-linux"`
 - host os: `Linux 4.19.74, NixOS, 20.03.git.d484f2b (Markhor)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3`
 - nixpkgs: `/etc/nixpkgs`

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module: `networking.networkmanager`

I do 't have this issue with i3 and network manager connects automatically to known networks.
I use below config
    networking = {
      hostName = "nixos";
      networkmanager.enable = true; # enable network manager to start during boot
      nameservers = [ "<IP_ADDRESS>" "<IP_ADDRESS>" ];
      enableIPv6 = false;
      nat = {
        enable = true;
        internalInterfaces = ["ve-+"];
        externalInterface = "enp0s31f6"; # eth interface
      };
    };

Note: I didn't install NetworkManager as separate pkgs.

@mudrii Does it connect to wlan with a password that's stored in some keyring (e.g., gnome keyring)? I guess the problem is that the secrets service isn't up yet, then network manager requests it and it gets up, but for some reason network manager doesn't get the secrets.. If I just restart the network manager after login (sudo systemctl restart NetworkManager), it connects automatically. So I believe it's somehow related to not finding the password at first..

I am not using Gnome and can't confirm but seems Network Manager needs to start after gnome keyring.
I am not familiar with gnome keyring if is a service may need to be started 1st before network manager

I also had this issue with networkmanager until I tried the iwd backend from this pr. You may want to do this as well to work around the issue.

@xaverdh Thanks, that indeed fixes the issue. Weird. :slightly_smiling_face:
Not sure if I should thus close this issue or is there still some underlying bug that needs fixing and this was just a workaround to avoid it.

I would consider this a workaround. networkmanager definitely is supposed to work with wpa_supplicant as backend.

Still important to me. The root cause is most likely #69788.

Cause: https://unix.stackexchange.com/questions/534439/networkmanager-fails-to-auto-connect-to-wifi-network-when-the-password-is-kept-i

I'm not using Gnome Keyring anymore but Pass Secret Service. With that, I don't have the issue anymore. Can't say if the issue with Gnome Keyring and NetworkManager still exists though.

I'll close this but someone can comment if the issue still exists and I'll reopen this.


fix: docs/guide/technology-choices/compute-comparison.md

Footer link typo: node -> note

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

File
Status
Preview URL
Details

docs/guide/technology-choices/compute-comparison.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


How to access elements of an input tensor in custom layers?

I wanted to assign an element of input tensor X to an element of an output tensor Y inside a custom layer like
Y[0,0,0,0] = X[0,1,1,1]
For example:
from keras.layers import Layer
import numpy as np
from keras.layers import Input
from keras.models import Model

Images = [[[[255,0,0],[255,0,0]],[[255,0,0],[0,144,0]]]]

InputTensor = np.array(Images)

class MyLayer(Layer):
    def __init__(self, **kwargs):
        super(MyLayer, self).__init__(**kwargs)
    def build(self, input_shape):
        self.built = True
        super(MyLayer,self).build(input_shape)

    def call(self, X):
        Y = [[[[0,0,0,0]]]] # Output tensor
        Y = np.array(Y)
        Y[0,0,0,0] = X[0,1,1,1]   # <------ does not work because X[0,1,1,1] is a sequence instead a scalar
        return np.ndarray.tolist(Y)

inputlayer = Input(shape = InputTensor[0].shape)
layer = MyLayer()(inputlayer)

model = Model(inputlayer, layer )
model.summary()

Output = model.predict(InputTensor)
Output = np.array(Output)
print("Output = "+str(Output))

If the call-function returns X , then X[0,1,1,1] is not anymore a sequence after it passed the modell.
It make not sense to use custom layers if you have no access to the elements of an input tensor as expected.
For example:
from keras.layers import Layer
import numpy as np
from keras.layers import Input
from keras.models import Model

Images = [[[[255,0,0],[255,0,0]],[[255,0,0],[0,144,0]]]]

InputTensor = np.array(Images)

class MyLayer(Layer):
    def __init__(self, **kwargs):
        super(MyLayer, self).__init__(**kwargs)
    def build(self, input_shape):
        self.built = True
        super(MyLayer,self).build(input_shape)

    def call(self, X):
        return X

inputlayer = Input(shape = InputTensor[0].shape)
layer = MyLayer()(inputlayer)

model = Model(inputlayer, layer )
model.summary()

Output = model.predict(InputTensor)
Output = np.array(Output)
print("Output = "+str(Output))

The Output is:
_________________________________________________________________
Layer (type)                 Output Shape              Param #
=================================================================
input_78 (InputLayer)        [(None, 2, 2, 3)]         0
_________________________________________________________________
my_layer_77 (MyLayer)        (None, 2, 2, 3)           0
=================================================================
Total params: 0
Trainable params: 0
Non-trainable params: 0
_________________________________________________________________
Output = [[[[255.   0.   0.][255.   0.   0.]][[255.   0.   0.][  0. 144.   0.]]]]

@Oezkan23 ,
Can you please fill the issue template from here and also please let us know the tensorflow version you are using.Thanks!


Link to Brew Troubleshooting not working

[X] Confirmed this is a problem with running a brew command and not brew installing or the post-install behaviour of one or more formulae? If it's a formulae-specific problem please file this issue at the relevant tap e.g. for Homebrew/homebrew-core https://github.com/Homebrew/homebrew-core/issues/new
[X] Ran brew update and retried your prior step?
[X] Ran brew doctor, fixed all issues and retried your prior step?
[X] Ran brew config and brew doctor and included their output with your issue?

To help us debug your issue please explain:

What you were trying to do (and why):
I was attempting to run brew outdated to see which packages are out of date
What happened (include command output)
I received a package related error, but it told me to visit https://git.io/brew-troubleshooting. When visiting that page, it responds "No url found for brew-troubleshooting". See output below.
What you expected to happen
I expected to see a page to tell me more about reporting the package related error
Step-by-step reproduction instructions (by running brew commands)

Steps:

I ran brew update twice, without error, then ran brew outdated, saw a bunch of errors (see output below).
Tried the broken link.
Then ran brew doctor (see broken output below).
brew config worked successfully (output below).

Brew Config:
HOMEBREW_VERSION: 1.1.5
ORIGIN: https://github.com/Homebrew/brew.git
HEAD: 9cd5a21b473f0271b162bbe7f77f7d1468c0cfa1
Last commit: 10 months ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 94caae24875610574dfde8c3c7db9e44638d98c6
Core tap last commit: 7 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local/Homebrew
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: octa-core 64-bit skylake
Homebrew Ruby: 2.0.0-p648
Clang: 9.0 build 900
Git: 2.14.2 => /usr/local/bin/git
Perl: /usr/bin/perl
Python: /usr/bin/python
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
Java: 1.8.0_101, 1.7.0_45
macOS: 10.12.6-x86_64
Xcode: 9.0.1
CLT: <IP_ADDRESS>.1.1506734476
X11: 2.7.9 => /opt/X11

Brew Doctor:
Error: /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:73: syntax error, unexpected <<
  def caveats; <<~EOS
                 ^
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:77: syntax error, unexpected tIDENTIFIER, expecting keyword_end
    can add a "gnubin" directory to your PATH from your bashrc like:
                                ^
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:77: syntax error, unexpected ':', expecting keyword_end
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:79: dynamic constant assignment
        PATH="#{opt_libexec}/gnubin:$PATH"
             ^
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:81: dynamic constant assignment
    Additionally, you can access their man pag...
                 ^
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:81: syntax error, unexpected tIDENTIFIER, expecting keyword_do or '{' or '('
    Additionally, you can access their man pages with ...
                         ^
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:82: syntax error, unexpected tIDENTIFIER, expecting keyword_end
    the "gnuman" directory to your MANPATH from your bashrc as well:
                          ^
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:82: syntax error, unexpected ':', expecting keyword_end
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:84: dynamic constant assignment
        MANPATH="#{opt_libexec}/gnuman:$MANPATH"
                ^
Please report this bug:
  https://git.io/brew-troubleshooting
/usr/local/Homebrew/Library/Homebrew/formulary.rb:25:in `module_eval'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:25:in `load_formula'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:42:in `load_formula_from_path'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:97:in `load_file'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:88:in `klass'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:84:in `get_formula'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:253:in `factory'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1460:in `[]'
/usr/local/Homebrew/Library/Homebrew/diagnostic.rb:969:in `check_for_non_prefixed_coreutils'
/usr/local/Homebrew/Library/Homebrew/cmd/doctor.rb:43:in `block in doctor'
/usr/local/Homebrew/Library/Homebrew/cmd/doctor.rb:35:in `each'
/usr/local/Homebrew/Library/Homebrew/cmd/doctor.rb:35:in `doctor'
/usr/local/Homebrew/Library/Homebrew/brew.rb:94:in `<main>'

Brew Outdated:
Error: /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/ansible.rb:565: syntax error, unexpected tLABEL
      - hosts: all
              ^
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/ansible.rb:566: syntax error, unexpected ':', expecting keyword_end
        gather_facts: False
                     ^
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/ansible.rb:567: syntax error, unexpected ':', expecting keyword_end
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/ansible.rb:569: syntax error, unexpected ':', expecting keyword_end
Please report this bug:
  https://git.io/brew-troubleshooting
/usr/local/Homebrew/Library/Homebrew/formulary.rb:25:in `module_eval'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:25:in `load_formula'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:42:in `load_formula_from_path'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:97:in `load_file'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:212:in `load_file'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:88:in `klass'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:84:in `get_formula'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:206:in `get_formula'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:253:in `factory'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:284:in `from_keg'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:267:in `from_rack'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1406:in `block in installed'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1404:in `map'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1404:in `installed'
/usr/local/Homebrew/Library/Homebrew/cmd/outdated.rb:28:in `outdated'
/usr/local/Homebrew/Library/Homebrew/brew.rb:94:in `<main>'

If you run
brew update --force

what is the output of brew config afterwards?

$ brew update --force
error: Could not read ef6b55125c3af20ac39d1d98848cf2aa0f6c4dd5
error: Could not read ef6b55125c3af20ac39d1d98848cf2aa0f6c4dd5
fatal: pack has 243 unresolved deltas
fatal: index-pack failed
Error: Fetching /usr/local/Homebrew failed!
Updated 3 taps (caskroom/cask, homebrew/core, homebrew/php).
==> Updated Formulae
ansible-lint                             homebrew/php/php72-tidy
convox                                   irssi
homebrew/php/deployer                    libmatio
homebrew/php/php72                       libwebsockets
homebrew/php/php72-gmp                   mosquitto
homebrew/php/php72-intl                  ripgrep
homebrew/php/php72-opcache               terraform-docs
homebrew/php/php72-pcntl                 terragrunt
homebrew/php/php72-pdo-dblib             ttyd
homebrew/php/php72-pdo-pgsql             wxmaxima
homebrew/php/php72-pspell                ykman
homebrew/php/php72-snmp

$ brew config
HOMEBREW_VERSION: 1.1.5
ORIGIN: https://github.com/Homebrew/brew.git
HEAD: 9cd5a21b473f0271b162bbe7f77f7d1468c0cfa1
Last commit: 10 months ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 1436f5f9ee6728662ef377cc00377f0fa93bd00e
Core tap last commit: 7 minutes ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local/Homebrew
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: octa-core 64-bit skylake
Homebrew Ruby: 2.0.0-p648
Clang: 9.0 build 900
Git: 2.14.2 => /usr/local/bin/git
Perl: /usr/bin/perl
Python: /usr/bin/python
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
Java: 1.8.0_101, 1.7.0_45
macOS: 10.12.6-x86_64
Xcode: 9.0.1
CLT: <IP_ADDRESS>.1.1506734476
X11: 2.7.9 => /opt/X11

OK try this
rm -rf /usr/local/Homebrew/.git
brew update
brew config

@yaykyle ping

Sorry for delayed response. This appears to have resolved my issues. I can now run brew outdated without errors.
Thank you for the help! Let me know if you need me to provide anything else.
$ rm -rf /usr/local/Homebrew/.git

$ brew update
Initialized empty Git repository in /usr/local/Homebrew/.git/
remote: Counting objects: 1136, done.
remote: Compressing objects: 100% (1044/1044), done.
remote: Total 1136 (delta 116), reused 368 (delta 48), pack-reused 0
Receiving objects: 100% (1136/1136), 1.21 MiB | 9.37 MiB/s, done.
Resolving deltas: 100% (116/116), done.
From https://github.com/Homebrew/brew
 * [new branch]      master     -> origin/master
HEAD is now at 357b7bb Merge pull request #3350 from DomT4/gpg_executable
To restore the stashed changes to /usr/local/Homebrew run:
  'cd /usr/local/Homebrew && git stash pop'
==> Downloading https://homebrew.bintray.com/bottles-portable/portable-ruby-2.3.3.leopard_64.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring portable-ruby-2.3.3.leopard_64.bottle.1.tar.gz
==> Homebrew has enabled anonymous aggregate user behaviour analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics.html

Already up-to-date.

$ brew config
HOMEBREW_VERSION: 1.3.6
ORIGIN: https://github.com/Homebrew/brew
HEAD: 270b752f5d9d218bfbed6fe85b6974fa653fb25f
Last commit: 5 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: b7d1e926e9f2e3e950866b7e82ad1fbe34f1fb12
Core tap last commit: 2 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local/Homebrew
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: octa-core 64-bit skylake
Homebrew Ruby: 2.3.3 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.3/bin/ruby
Clang: 9.0 build 900
Git: 2.14.2 => /usr/local/bin/git
Perl: /usr/bin/perl
Python: /usr/local/opt/python/libexec/bin/python => /usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
Java: 1.8.0_101, 1.7.0_45
macOS: 10.12.6-x86_64
Xcode: 9.0.1
CLT: <IP_ADDRESS>.1.1506734476
X11: 2.7.9 => /opt/X11

I was having same problem with ruby multiline strings (<<~EOS).
This fixed it.


string primary key

Hi!
When I try to create a model from an existing postgreSQL database, with a primary key being of string type as shown here:
class Stuff(db.Model):
    __tablename__ = 'stuff'
    stuff1 = db.Column(db.String(100), primary_key = True),
    stuff2 = db.Column(db.String(1000)),
    stuff3 = db.Column(db.String(1000))

    def __init__(self, stuff1, stuff2, stuff3):
        self.stuff1 = stuff1
        self.stuff2 = stuff2
        self.stuff3 = stuff3

    def __repr__(self):
        return '<Stuff %r>' % self.stuff1

The soft return Mapper Mapper|Stuff|stuff could not assemble any primary key columns for mapped table 'stuff'
It works just fine with the same database + an id column of integer type as a primary key instead.
Is there any particular reason it does not work?
Thanks a lot.

You have a typo: remove the comma at the end of the stuff1 =  line.

And after the stuff2 = ... line, too

It was quite obvious, I am really sorry, thank you very much!


QC Checklist for Clinical Biospecimen Data

Below is a list of QC checks needed for regularly on the clinical biospecimen data. These items will be an overall review/check and an output listing of any of these occurrences.

A comparison of the blood accession ID sent from KP (BioClin_SntBloodAccID_v1r0) and the blood accession ID entered in the biospecimen dashboard (BioClin_DBBloodID_v1r0). The output for this comparison is a list of any blood accession IDs that do not match and should only include samples with a blood accession ID from both sources. The list should include the Site, Connect ID, and blood accession ID from both sources.

A comparison of the urine accession ID sent from KP (BioClin_SntUrineAccID_v1r0) and the urine accession ID entered in the biospecimen dashboard (BioClin_DBUrineID_v1r0). The output for this comparison is a list of any urine accession IDs that do not match and should only include samples with a urine accession ID from both sources. The list should include the Site, Connect ID, and urine accession ID from both sources.

A comparison of the blood date received at the RRL from KP data (BioClin_SiteBloodRRLDt_v1r0) with the blood date received at the RRL from the biospecimen dashboard (BioClin_DBBloodRRLDt_v1r0). The output for this comparison is a list of any dates received that do not match and should only include samples with a blood date received from both sources. The list should include the Site, Connect ID, blood accession ID, and blood date received from both sources.

A comparison of the urine date received at the RRL from KP data (BioClin_SiteUrineRRLDt_v1r0) with the urine date received at the RRL from the biospecimen dashboard (BioClin_DBUrineRRLDt_v1r0). The output for this comparison is a list of any dates received that do not match and should only include samples with a urine date received from both sources. The list should include the Site, Connect ID, urine accession ID, and urine date received from both sources.

Output list of any instances where data sent by KP says a baseline blood sample was collected (BioClin_SiteBloodColl_v1r0 = Yes), but the biospecimen dashboard does not have a record of receiving a baseline blood sample at the RRL (BioClin_DBBloodRRL_v1r0 = No). This output list should include the Site, the Connect ID, the accession ID from KP, the date blood collected sent by KP, and the blood collection location sent by KP.

Output list of any instances where data sent by KP says a baseline blood sample was not collected (BioClin_SiteBloodColl_v1r0 = No), but the biospecimen dashboard has a record of receiving a baseline blood sample at the RRL (BioClin_DBBloodRRL_v1r0 = Yes). This output list should include the Site, the Connect ID, the accession ID from the biospecimen dashboard, and the date blood collected from the biospecimen dashboard.  Exclude the most recent 48 hours of data.

Output list of any instances where data sent by KP says a baseline urine sample was collected (BioClin_SiteUrineColl_v1r0=Yes), but the biospecimen dashboard does not have a record of receiving a baseline urine sample at the RRL (BioClin_DBUrineRRL_v1r0=No). This output list should include the Site, the Connect ID, the accession ID from KP, the date urine collected sent by KP, and the urine collection location sent by KP.

Output list of any instances where the data sent by KP says a baseline urine sample was not collected (BioClin_SiteUrineColl_v1r0=No), but the biospecimen dashboard has a record of receiving a baseline urine sample at the RRL (BioClin_DBUrineRRL_v1r0=Yes). This output list should include the Site, the Connect ID, the accession ID from the biospecimen dashboard, and the date urine collected from the biospecimen dashboard. Exclude the most recent 48 hours of data.

The annotated clinical QC document (12/12) below includes comments, corrections, and edits to be made.
PROD_clinical_biospecimen_QCChecklist_GitHub10_12122022.pdf

@jeannewu No, you don't have to run this QC check report this week.

@KELSEYDOWLING7 Hi Kelsey. I'm unsure if you will take this over from Jing too, but this QC check output was completed. The latest report can be viewed here: https://nih.app.box.com/file/1121254901765. I do not think we are generating this report weekly like the biospecimen metrics; it is generated upon request. Michelle can confirm this when she returns next week from PTO. Let me know if you have any questions.

@HopkinsDC Yes, Madhuri and I met to go over how the rules were created, and I reached out to Jake about it being in the process. He would code it into BQ once we have the rules written and structured. Is that sufficient, or would you need a separate report also coded?

@KELSEYDOWLING7 The process you describe should be fine. Thank you!


updated defaults.js with scale  set to 20

Checklist

[ ] I ran npm test locally and it passed without errors.

[ ] I only edited the _data/pixels.json file.

[ ] I entered the username in the pixels.json that I'm also using to create this pull request.
[ ] I acknowledge that all my contributions will be made under the project's license.

Closing this one in favor of your actual pixel contribution in #1984


Update useSteps to use useEffect

Update useSteps to use useEfect instead of useMemo.
Rework useSteps.js to allow for testing by passing in a Context into a
factory function
Add tests for useSteps

Thanks for this! Might need a little more context into the motivation for this changes...

Heads up, I'm doing some major refactoring to use react hooks, so you may get some conflicts soon. If you'd like to keep working on adding some unit tests, I can give some pointers once things settle a little more

You can close this PR if that's the case.
Sure thing, I wouldn't mind adding more unit tests and even looking into functional tests as well.


Set up viewer API

Hey, @MichaelJamesParsons another PR,
I have just implemented the viewer API according to the doc plus improved the view one.
I'll be more than grateful if it's reviewed faster, depending on your planning of course.
We depend on this SDK for our interactions with this service, Thank you again for building this.
Best Regards,

Thanks for the contribution! I'll create a new release tonight.

Thanks for your prompt action on this.


chore(typo): Replace l with L

Coverage remained the same at 62.483% when pulling a6d152d135a1292417ee50c88be927379754bffa on rsilvestre:patch-1 into 9cc95f3380873094417793ff9d6f5a2a883b1e32 on nodefluent:master.


COMP: Move RayCastHelper from unnamed namespace to private class section

Put the RayCastInterpolateImageFunction helper class that is not meant to be exposed to the user inside RayCastInterpolateImageFunction, as a private nested type, instead of in an unnamed namespace. Header files (including *.hxx files) just shouldn't use an unnamed namespace.
Avoids a Clang-Tidy 17.0.0 warning saying:

warning G253035D5: do not use unnamed namespaces in header files [google-build-namespaces]

Following C++ Core Guidelines, September 23, 2022 "Don’t use an unnamed (anonymous) namespace in a header",
http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#sf21-dont-use-an-unnamed-anonymous-namespace-in-a-header

I guess we could still shorten the identifier from "RayCastHelper" to just "Helper", once it is nested inside RayCastInterpolateImageFunction. But that would just be a minor style adjustment that could be done at any time afterwards.


[BUG FIX] milestones tab ui is not consistent with others

Fixes Issue
Closes #7945
BEFORE FIX

AFTER FIX

Thank you for the collaboration 👍 I will merge to a temporary branch and make some tweaks

Thanks Eddie


Add support for PinePhone/Manjaro ARM

I tried setting up ykfde on my PinePhone (running Manjaro ARM) the same way I did on my laptop, but it doesn't work:

Set up an encrypted filesystem on the phone's SD card
Then set up /etc/ykfde.conf
Add ykfde hook to /etc/mkinitcpio.conf
sudo mkinitcpio -P
When I reboot, my drive does not appear under /dev/mapper

I am able to manually decrypt it using the YubiKey with ykfde-open, so it has something to do with the hook, probably. I tried moving the keyboard hook to the front, but that didn't help.
What else can I try to debug this?

I noticed this during mkinitcpio:
  -> Running build hook: [ykfde]
==> ERROR: module not found: `dm_integrity'

Does that mean the dm_integrity module is not present in my kernel?

How did you encrypt the filesystem?  I used the Arch Linux Arm FDE installer script. I was able to get the ykfde hook working correctly on my installation. From my understanding, FDE on the pinephone is taken care of using the osk-sdl hook, which also draws a keyboard on the screen, meaning you don't need a physical keyboard. A current limitation of using the ykfde hook is that there is no virtual keyboard, so you'll have to have both the YubiKey and a physical keyboard plugged in to use 2FA. If you just want 1FA, it should work just fine.
I'm not sure why dm_integrity wouldn't be present. It may be a Manjaro problem. Do you have any luck adding dm_integrity to the MODULES array in /etc/mkinitcpio.conf?
Also, what are all the hooks you are calling in /etc/mkinitcpio.conf?

So far I've only encrypted home, no FDE yet.
Step 1 is to recompile the kernel from here, changing line 1741 to
CONFIG_DM_INTEGRITY=y

Then run updpkgsums to recalculate the checksums, makepkg --syncdeps to build the kernel and makepkg --install to install. (Make sure to do all this on the PinePhone itself.)
My step 2 was to encrypt the SD card with cryptsetup luksFormat using both a backup password and a key file. As a proof-of-concept I moved that key file to /etc and set up /etc/crypttab and /etc/fstab to respectively decrypt and mount the SD card as /home. I then added the encrypt hook to /etc/mkinitcpio.conf and ran sudo mkinitcpio -P. These are my hooks:
HOOKS=(base udev keyboard autodetect modconf block encrypt filesystems fsck)

That works, so at least I know encrypting home is possible. My next step is to use a YubiKey instead of the key file, so at least 1FA (instead of my current 0FA).
I'm not sure about full disk encryption, because then you need to play around with the kernel parameters in /boot/boot.txt, and I'm not familiar with the U-Boot bootloader.
I did not know about osk-sdl. I'll have to dive into that, but it reads like a feasible method for 2FA.

Ok, so it sounds like you're no longer missing the dm_integrity module after recompiling the kernel.
Also, in my setup, I didn't need to mess with the kernel parameters in /boot/boot.txt. As long as YKFDE_DISK_UUID and YKFDE_LUKS_NAME are properly set in /etc/ykfde.conf, the ykfde hook should still work.  You have the option of setting these parameters in /boot/boot.txt, but it's not necessary.
To be clear, I think osk-sdl only accepts passphrases at the moment with no YubiKey support. So the only options at the moment for FDE on the PinePhone are:

ykfde - 1FA with YubiKey
osk-sdl - 1FA with passphrase

2FA is possible with ykfde, but it requires:

Physical keyboard with a dock or PinePhone keyboard add-on
Remove the quiet kernel parameter from /boot/boot.txt so you can see the prompt

To make 2FA usable with yubikey-full-disk-encryption on the PinePhone, there would need to be some sort of virtual keyboard that displays when prompting for the challenge.  I suppose a similar approach could be taken to how osk-sdl does it, but that would probably be a non-trivial amount of work.

@crispy-landslide Did you actually get the ykfde hook to work? Whenever I add it, my PinePhone won't boot anymore. Just the LED and then black. The only way to recover is to reflash the image and start over

Yes, adding the ykfde hook works for me. I think you mentioned before that you did not have full-disk encryption setup on your PinePhone, but I think that is a pre-requisite to getting this to work. Did you end up using FDE, or are you still just encrypting your home directory?

You're right, it makes sense that ykfde only works for fde. I'll take a look at the Arch Linux Arm FDE installer script you mentioned

I was trying to see if I could rewrite that script to use Manjaro ARM instead, but since that uses finished img files that was going to be more complicated than I thought. I'll try with Arch first

I can confirm that ykfde works with Arch Linux ARM installed with the Arch Linux Arm FDE installer script. That means that ykfde is fine, and the work needs to be done on the Manjaro ARM side. I'll focus on this issue and close this one


Test server pipeline buffering causes "Stream was too long" failure for large filestreams

This happens in FileStreamVeryLarge for body-file on the test server when using a non-simple pipeline.

Fixed in this PR: https://github.com/Azure/autorest.csharp/pull/448
Closing...


ConvertFrom-Base64, ConvertTo-Base64

Currently to decode/encode Base64 we have to call into cumbersome .NET APIs:
[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String('aGVsbG8gd29ybGQK'))

Base64 is needed in a lot of cases. For example, getting a secret value out of kubectl is incredibly cumbersome:
[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String((kubectl get secret database -o json | ConvertFrom-Json).data.username))

It would be great if we could just do this:
(kubectl get secret database -o json | ConvertFrom-Json).data.username | ConvertFrom-Base64

This is something that is available on every Unix shell with the base64 utility (which can be piped into).
There is a Base64 module on PSGallery, but given this is available in .NET and Unix shells imo it should be exposed as a convenient PS cmdlet, so it is available in all installations and reliable.
For example, the Base64 module on PSGallery always uses UTF16 so the above example just results in mangled characters. A core implementation should support the standard -Encoding parameter etc.
This is unlikely to create a maintenance burden because it just calls into .NET and the Base64 spec will not change.

What would an approved interface for this cmdlet look like?


Documentation (all): Add new Discord invite

Description of the improvement
Summary of the proposal

The community is moving away from Slack and towards Discord. Naturally, we should replace all invitation links to Slack with the Discord counterpart.
How, where did you look for information

Missing or unclear documentation

Improvement

Update links in Readme and documentation (https://github.com/awslabs/aws-lambda-powertools-typescript/search?q=slack&type=code)
Related existing documentation

Related issues, RFCs

Hi @sthuber90 thank you for opening the issue, it's indeed an action that we should perform soon.
I'll put this in the backlog of issues to be worked on and add the good-first-issue label.
If anyone is interested in making this update please leave a comment below before opening a PR so we can confirm all the occurrences where the change is needed.

You can assign  it to me if you want, as I already did the same in the python repository but I'm happy to leave it to another first time contributor 😄

No no, it's great if you want to do it. I just didn't want to assume you would.
I'll assign it to you then!

https://github.com/awslabs/aws-lambda-powertools-python/blob/develop/README.md?plain=1#L6


pull should fast-forward any branches mirroring remote branches

The main use case is I would like for gg pull to be fast-forwarding refs/heads/master whenever refs/remotes/origin/master is updated.

Closing this in favor of #108, which is way more thought through than this.


feat: add support for multiple accounts

Description
This PR introduces the necessary changes to support multi-account configurations.

Plugin database now supports account reference
All PagerDuty API operations are account aware
Updated plugin configuration schema to accept multi-account configurations

We made extensive tests to ensure that the existing configuration for a single PagerDuty account still works.
Issue number: N/A
Type of change

[x] New feature (non-breaking change which adds functionality)
[ ] Fix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

[x] I have performed a self-review of this change
[x] Changes have been tested
[x] Changes are documented
[x] Changes generate no new warnings
[x] PR title follows conventional commit semantics

If this is a breaking change 👇

[ ] I have documented the migration process
[ ] I have implemented necessary warnings (if it can live side by side)

Acknowledgement
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

@t1agob should the PR removed the what that they token gets refreshed once its expired?
From the look the getAuthToken check that its not expired but only returns an empty string which goes straight into the request.


I receive the error "command not found", but actually exists

When I run this command I get this error message:
shell2http -export-all-vars -shell="bash" -form /unblock-ip "csf -g $v_ip"

[root@acesso ~]# shell2http -export-all-vars -shell="bash" -form /unblock-ip "csf -g $v_ip"
2021/03/17 14:26:29 register: /unblock-ip (csf -g )
2021/03/17 14:26:29 register: / (index page)
2021/03/17 14:26:29 listen http://localhost:8080/
2021/03/17 14:26:31 /unblock-ip - 404
bash: csf: command not found

I can affirm that this command exists.

Hi, you can debug this shell issue by adding an additional route to print your PATH, like this
shell2http -export-all-vars -shell=bash -form /test 'echo $PATH'

and you can check if the directory with your utility is included in the PATH
Also using double quotes will not work when using variables ($v_ip) because your shell expands variable before run shell2http, you should use single quotes: /unblock-ip 'csf -g $v_ip'

Thanks! I can see that the "csf" utility is in the PATH environment variable:
[root@acesso public_html]# echo $SHELL
/bin/bash

[root@acesso public_html]# which csf
/usr/sbin/csf

[root@acesso public_html]# shell2http -export-all-vars -shell=bash -form /test 'echo $PATH'
2021/03/17 17:17:50 register: /test (echo $PATH)
2021/03/17 17:17:50 register: / (index page)
2021/03/17 17:17:50 listen http://localhost:8080/

I receive the result in my browser: /snap/shell2http/120/usr/sbin:/snap/shell2http/120/usr/bin:/snap/shell2http/120/sbin:/snap/shell2http/120/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
"/usr/sbin" is in list.
[root@acesso public_html]# shell2http -export-all-vars -shell="bash" -form /unblock-ip 'csf -g $v_ip'
2021/03/17 17:19:40 register: /unblock-ip (csf -g $v_ip)
2021/03/17 17:19:40 register: / (index page)
2021/03/17 17:19:40 listen http://localhost:8080/

I still receive the same error using single quotes.

/snap/...
do you use snap installation?
The snap-package has its own sandbox with the /bin, /usr/bin directories which are not equal to system-wide PATH directories. Please use another type of installation, for example deb-package from release page.

Thanks! I install the binary and now works!


Fixed Incorrect CS Grid Layout Data

Chrome and Firefox still have not enabled it by default. I wonder where you found this data...
For Chrome -
https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in&q=grid file:WebKit file:\.in&sq=package:chromium&type=cs&l=49
"=experimental" means you must use the --enable-experimental-web-platform-features flag.
It might be ready later this year, see -
https://groups.google.com/a/chromium.org/d/msg/blink-dev/y221wJxoh84/qU_el0JRAwAJ
Mozilla bug and platform status -
https://bugzilla.mozilla.org/show_bug.cgi?id=1217086
https://platform-status.mozilla.org/#grid-layout

Thanks!
You're right about Chrome...someone informed me it was enabled by default in upcoming builds but I guess I failed to verify the truth to that.
For Firefox, originally https://developer.mozilla.org/en-US/Firefox/Releases/45 simply stated that it was enabled by default, only later did they amend that to point out it's only in nightly & dev editions.


Fix problems reported by sonar

Description
Fix error reported by sonar.
Link to sonar: https://sonarcloud.io/project/overview?id=stliu_azure-sdk-for-java
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.

@yiliuTo