Is folder based docs structure incompatible with static navigation?

I'm trying to build a mkdocs document with this plugin. Since it contains 12 categories and dozens of pages and images, I choose to use folder base docs structure when working on its i18n.
It works perfectly when I just set the folder. However, when I'm trying to add static navigation, it begins to throw an exception as below:

INFO     -  Building documentation...
INFO     -  Setting the default 'theme.language' option to 'zh'
INFO     -  Cleaning site directory
INFO     -  Translated default navigation to zh
INFO     -  Translated navigation to zh
Traceback (most recent call last):
  File "C:\Users\night\anaconda3\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\night\anaconda3\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\night\anaconda3\Scripts\mkdocs.exe\__main__.py", line 7, in <module>
  File "C:\Users\night\anaconda3\lib\site-packages\click\core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\night\anaconda3\lib\site-packages\click\core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "C:\Users\night\anaconda3\lib\site-packages\click\core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\night\anaconda3\lib\site-packages\click\core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\night\anaconda3\lib\site-packages\click\core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\night\anaconda3\lib\site-packages\mkdocs\__main__.py", line 234, in serve_command
    serve.serve(dev_addr=dev_addr, livereload=livereload, watch=watch, **kwargs)
  File "C:\Users\night\anaconda3\lib\site-packages\mkdocs\commands\serve.py", line 83, in serve
    builder(config)
  File "C:\Users\night\anaconda3\lib\site-packages\mkdocs\commands\serve.py", line 76, in builder
    build(config, live_server=live_server, dirty=dirty)
  File "C:\Users\night\anaconda3\lib\site-packages\mkdocs\commands\build.py", line 302, in build
    nav = config.plugins.run_event('nav', nav, config=config, files=files)
  File "C:\Users\night\anaconda3\lib\site-packages\mkdocs\plugins.py", line 520, in run_event
    result = method(item, **kwargs)
  File "C:\Users\night\anaconda3\lib\site-packages\mkdocs_static_i18n\plugin.py", line 418, in on_nav
    nav = folder_structure.on_nav(self, nav, config, files)
  File "C:\Users\night\anaconda3\lib\site-packages\mkdocs_static_i18n\folder_structure.py", line 402, in on_nav
    raise Exception(
Exception: could not find default homepage Page(url='')

Are they incompatible, or do I miss some setting on MkDocs or this plugin?
Here is my project:
https://github.com/CeVIO-User-Guide-Unofficial/CeVIO-AI/tree/i18n
The package version. Thought Material for MkDocs is 9.0.0b3 here, I have met this problem in ver 8.5 before:

mkdocs                                    1.4.2
mkdocs-material                           9.0.0b3
mkdocs-material-extensions                1.1
mkdocs-static-i18n                        0.53

I think I have reproduced the problem with the given demo pages. In mkdocs.yml, if you put the index.md under a top level like this:
nav:
  - Home:
    - index.md

It will throw this exception.
But only folder mode occurs this problem, it works fine in suffix mode.

To be honest, I can avoid this problem if I put index.md in a separate top level, but I really do not want to use the 13th category in the document. And for some reason in this document, I had to put some MarkDown files together with index.md. Would you please fix it?

On the off-chance of sounding dense: I am not sure whether I understand your problem correctly to be honest.
so this config snippet:
nav:
  - Home:
    - index.md

in conjunction with docs_structure: folder will result in the exception being thrown, correct?
What do you mean with this?:

I can avoid this problem if I put index.md in a separate top level,

and this:

I really do not want to use the 13th category in the document

How would the desired outcome look like exactly?
Also:

And for some reason in this document, I had to put some MarkDown files together with index.md

Which files exactly are you refering to here?

Hello @NachtgeistW
Just like @adamkusmirek I installed your documentation but I find any problem with it and your static navigation.
Is this issue still accurate?

Hello @NachtgeistW
Just like @adamkusmirek I installed your documentation but I find any problem with it and your static navigation.
Is this issue still accurate?

Yes, it is. I will reply to adamkusmirek soon in detail.

@adamkusmirek Thanks for your reply! Because it's too long, I use @ to reply to you.

so this config snippet:
nav:
  - Home:
    - index.md

in conjunction with docs_structure: folder will result in the exception being thrown, correct?

Yes. According to my research, if index.md isn't put in the root folder, for example, putting it in a subfolder named Home, the plugin will throw this exception.

I can avoid this problem if I put index.md in a separate top level,

means "A simple way to avoid this is to move index.md out of the subfolder." Apologize for my poor English😢

I really do not want to use the 13th category in the document

Please ignore it. This is not related to the exception. Apologize for reporting unrelated content.

BTW: just tried to run your code and everything seemed to go just fine

I think I have pushed the right codes on that branch after reporting this bug by accident. Now I push it again, please use those codes:
https://github.com/CeVIO-User-Guide-Unofficial/CeVIO-AI/tree/i18n_plugin_testing

@NachtgeistW did you make progress on this issue?
You might be interested in #175 and the testing branch of #187

will land in 0.55


[R-package] Add missing prediction functions to R interface

Fixes #4966
This PR adds R wrappers over important C-level functions for predictions which are currently missing from the R interface - particularly, functions dealing with single-row predictions and CSR data.
After issue https://github.com/microsoft/LightGBM/issues/4980 is sorted out, the documentation for lgb.configure_fast_predict needs to be updated to reflect the details about it.

The sanitizer issues are not from this PR and should be fixed in this other PR: https://github.com/microsoft/LightGBM/pull/4984

if it were to be done in sequential PRs, the first one would need slightly different code to leave something usable, which the second would then have to undo to arrive at the current code.

it's more work

Reviewing a PR this large is, in my experience, more work for reviewers than the sum of reviewing smaller changesets that add up to this PR's changes. Maintainers in this project regularly context-switch between many different issues and PRs (here and in other open source projects), and PRs that are this large require a substantial amount of dedicated time to re-gather the right context to be able to thoroughly review changes.
Looking at the diff tonight, it seems to me that it should be possible to make these changes in the following sequence without any merge conflicts or half-solutions:

support predcontrib predictions for all sparse types
support non-predcontrib predictions for all sparse types (using only the multi-row prediction interfaces, e.g. LGBM_BoosterPredictSparseOutput_R)
support fast single-row predictions (e.g. LGBM_BoosterPredictForMatSingleRow) predictions for all types supported by predict()

If you're willing to do that, we'd appreciate it. If you're still not open to that after reading the suggestion above, then we can leave this as one PR but I expect there will be a much longer review cycle.

Let's break it into 4-5 PRs then.

Great, thank you very much!

I believe this can be closed, based on the description of #5312.

This PR adds the remainder of prediction functions from PR #4982... The idea in #4982 was to split the additions into multiple PRs, but ... this PR just adds the rest of C prediction functions that are not in the R interface together.

@david-cortes correct me if I'm wrong about that and this can be re-opened.


Rely on str() to extract exception information

For the purpose of extracting exception messages from possible user-defined exceptions (which is the case of #484), the best approach IMHO is relying on __str__().
This patch does this when handling exceptions from INVOCATION endpoints.
Fix #484.

Thanks.
Yes, str() is a good solution however the plan with autobahn logging is to use the newly-landed txaio logging API, so it will look something like: https://github.com/meejah/AutobahnPython/blob/txaio-logging-rebase/autobahn/wamp/protocol.py#L606

Got it. I'll close the pull request then.
Thank you for your thoughtful comment.


PRD: [JB] Document command

Description:
As a user, I want Cody to generate inline documentation for code that I've selected.
Objectives:
Provide an easily discoverable, pre-packaged prompt that allows Cody to provide inline documentation for selected code.
### Acceptance Criteria:
- [ ] https://github.com/sourcegraph/jetbrains/issues/421
- [ ] https://github.com/sourcegraph/jetbrains/issues/422
- [ ] https://github.com/sourcegraph/jetbrains/issues/423
- [ ] https://github.com/sourcegraph/jetbrains/issues/424

Design Tasks:
### Design Tasks

Engineering Tasks:
### Engineering Tasks
- [ ] https://github.com/sourcegraph/jetbrains/issues/118
- [ ] https://github.com/sourcegraph/jetbrains/issues/1108
- [ ] https://github.com/sourcegraph/jetbrains/issues/1109
- [ ] https://github.com/sourcegraph/jetbrains/issues/1110
- [ ] https://github.com/sourcegraph/jetbrains/issues/1112
- [ ] https://github.com/sourcegraph/jetbrains/issues/1265
- [ ] https://github.com/sourcegraph/jetbrains/issues/1268

Related Docs:
PRD: Cody Chat and Commands

done as of 6.0.0


Tenable Nessus Agent Fails To Install

Trying to install nessusagent fails with exit code 3, appears to have issue mounting. May be related to invisible file at the root of the volume /Volumes/Nessus Agent Install/.NessusAgent.pkg
Issue appears on mac os 14.1 and 13.6
invoked locally:
2023-11-07 17:23:15 : REQ   : nessusagent : ################## Start Installomator v. 10.5, date 2023-10-15
2023-11-07 17:23:15 : INFO  : nessusagent : ################## Version: 10.5
2023-11-07 17:23:15 : INFO  : nessusagent : ################## Date: 2023-10-15
2023-11-07 17:23:15 : INFO  : nessusagent : ################## nessusagent
2023-11-07 17:23:15 : INFO  : nessusagent : SwiftDialog is not installed, clear cmd file var
2023-11-07 17:23:15 : INFO  : nessusagent : BLOCKING_PROCESS_ACTION=tell_user
2023-11-07 17:23:15 : INFO  : nessusagent : NOTIFY=success
2023-11-07 17:23:15 : INFO  : nessusagent : LOGGING=INFO
2023-11-07 17:23:15 : INFO  : nessusagent : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2023-11-07 17:23:15 : INFO  : nessusagent : Label type: pkgInDmg
2023-11-07 17:23:15 : INFO  : nessusagent : archiveName: Nessus Agent.dmg
2023-11-07 17:23:15 : INFO  : nessusagent : no blocking processes defined, using Nessus Agent as default
appCustomVersion: no such file or directory: /Library/NessusAgent/run/bin/nasl
2023-11-07 17:23:15 : INFO  : nessusagent : Custom App Version detection is used, found
2023-11-07 17:23:15 : INFO  : nessusagent : appversion:
2023-11-07 17:23:15 : INFO  : nessusagent : Latest version of Nessus Agent is 10.4.3
2023-11-07 17:23:15 : REQ   : nessusagent : Downloading https://www.tenable.com/downloads/api/v2/pages/nessus-agents/files/NessusAgent-latest.dmg to Nessus Agent.dmg
2023-11-07 17:23:19 : REQ   : nessusagent : no more blocking processes, continue with update
2023-11-07 17:23:19 : REQ   : nessusagent : Installing Nessus Agent
2023-11-07 17:23:19 : INFO  : nessusagent : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.M4p4hmFmUS/Nessus Agent.dmg
hdiutil: attach failed - no mountable file systems
2023-11-07 17:23:24 : INFO  : nessusagent : Installomator did not close any apps, so no need to reopen any apps.
2023-11-07 17:23:24 : ERROR : nessusagent : ERROR: Error mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.M4p4hmFmUS/Nessus Agent.dmg error:
Checksumming Protective Master Boot Record (MBR : 0)…
Protective Master Boot Record (MBR :: verified   CRC32 $9FC3D2F4
Checksumming GPT Header (Primary GPT Header : 1)…
GPT Header (Primary GPT Header : 1): verified   CRC32 $A49973C5
Checksumming GPT Partition Data (Primary GPT Table : 2)…
GPT Partition Data (Primary GPT Tabl: verified   CRC32 $582B2804
Checksumming  (Apple_Free : 3)…
(Apple_Free : 3): verified   CRC32 $00000000
Checksumming disk image (Apple_HFS : 4)…
disk image (Apple_HFS : 4): verified   CRC32 $AB819464
Checksumming  (Apple_Free : 5)…
(Apple_Free : 5): verified   CRC32 $00000000
Checksumming GPT Partition Data (Backup GPT Table : 6)…
GPT Partition Data (Backup GPT Table: verified   CRC32 $582B2804
Checksumming GPT Header (Backup GPT Header : 7)…
GPT Header (Backup GPT Header : 7): verified   CRC32 $1FF76342
verified   CRC32 $E4932FE6

2023-11-07 17:23:24 : REQ   : nessusagent : ################## End Installomator, exit code 3

invoked via jamf pro:
Script result: 2023-11-07 17:00:33 : REQ   :  : shifting arguments for Jamf
2023-11-07 17:00:33 : REQ   : nessusagent : ################## Start Installomator v. 10.5, date 2023-10-15
2023-11-07 17:00:33 : INFO  : nessusagent : ################## Version: 10.5
2023-11-07 17:00:33 : INFO  : nessusagent : ################## Date: 2023-10-15
2023-11-07 17:00:33 : INFO  : nessusagent : ################## nessusagent
2023-11-07 17:00:33 : INFO  : nessusagent : SwiftDialog is not installed, clear cmd file var
2023-11-07 17:00:33 : INFO  : nessusagent : setting variable from argument LOGGING="INFO"
2023-11-07 17:00:33 : INFO  : nessusagent : BLOCKING_PROCESS_ACTION=tell_user
2023-11-07 17:00:33 : INFO  : nessusagent : NOTIFY=all
2023-11-07 17:00:33 : INFO  : nessusagent : LOGGING=INFO
2023-11-07 17:00:33 : INFO  : nessusagent : LOGO=/Library/Application Support/JAMF/Jamf.app/Contents/Resources/AppIcon.icns
2023-11-07 17:00:33 : INFO  : nessusagent : Label type: pkgInDmg
2023-11-07 17:00:33 : INFO  : nessusagent : archiveName: Nessus Agent.dmg
2023-11-07 17:00:33 : INFO  : nessusagent : no blocking processes defined, using Nessus Agent as default
appCustomVersion: no such file or directory: /Library/NessusAgent/run/bin/nasl
2023-11-07 17:00:33 : INFO  : nessusagent : Custom App Version detection is used, found
2023-11-07 17:00:33 : INFO  : nessusagent : appversion:
2023-11-07 17:00:33 : INFO  : nessusagent : Latest version of Nessus Agent is 10.4.3
2023-11-07 17:00:33 : REQ   : nessusagent : Downloading https://www.tenable.com/downloads/api/v2/pages/nessus-agents/files/NessusAgent-latest.dmg to Nessus Agent.dmg
2023-11-07 17:00:33 : INFO  : nessusagent : notifying
displaynotification:7: no such file or directory: /usr/local/bin/dialog
2023-11-07 17:00:37 : REQ   : nessusagent : no more blocking processes, continue with update
2023-11-07 17:00:37 : REQ   : nessusagent : Installing Nessus Agent
2023-11-07 17:00:37 : INFO  : nessusagent : notifying
displaynotification:7: no such file or directory: /usr/local/bin/dialog
2023-11-07 17:00:37 : INFO  : nessusagent : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.EdkL5DusLD/Nessus Agent.dmg
hdiutil: attach failed - no mountable file systems
2023-11-07 17:00:42 : INFO  : nessusagent : Installomator did not close any apps, so no need to reopen any apps.
2023-11-07 17:00:42 : ERROR : nessusagent : ERROR: Error mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.EdkL5DusLD/Nessus Agent.dmg error:
Checksumming Protective Master Boot Record (MBR : 0)…
Protective Master Boot Record (MBR :: verified   CRC32 $9FC3D2F4
Checksumming GPT Header (Primary GPT Header : 1)…
GPT Header (Primary GPT Header : 1): verified   CRC32 $A49973C5
Checksumming GPT Partition Data (Primary GPT Table : 2)…
GPT Partition Data (Primary GPT Tabl: verified   CRC32 $582B2804
Checksumming  (Apple_Free : 3)…
(Apple_Free : 3): verified   CRC32 $00000000
Checksumming disk image (Apple_HFS : 4)…
disk image (Apple_HFS : 4): verified   CRC32 $AB819464
Checksumming  (Apple_Free : 5)…
(Apple_Free : 5): verified   CRC32 $00000000
Checksumming GPT Partition Data (Backup GPT Table : 6)…
GPT Partition Data (Backup GPT Table: verified   CRC32 $582B2804
Checksumming GPT Header (Backup GPT Header : 7)…
GPT Header (Backup GPT Header : 7): verified   CRC32 $1FF76342
verified   CRC32 $E4932FE6

2023-11-07 17:00:42 : REQ   : nessusagent : ################## End Installomator, exit code 3 ```

problems with mounting dmgs are usually related to security tools or settings preventing this

No antivirus or third party security tools were installed during testing


LUCENE-10083: Analyzer and stemmer for Telugu language

Description
Lucene does not have an analyzer for Telugu language. JIRA for this feature is LUCENE-10083.
Solution
Created an analyzer and stemmer for Telugu. Tested it with SOLR and search results are very encouraging.
Tests
Created test cases using Lucene's testing framework. Also tested it using SOLR for website అమర్కోష్.భారత్.

looking good! fyi, I just recently saw this test resource for telugu language: https://github.com/castorini/mr.tydi
in their paper, they had to run with the whitespaceanalyzer because no telugu analyzer was available in lucene. I wonder how difficult it would be to reproduce their process, but instead with your new analyzer here.


Better styles

Hi
When I created this project I did my best to have good UI and pleasant appearance, but now I realized that it really looks bad, but to be honest my front-end knowledge is very poor to write decent styles
If there is someone who wants to fix even one button or anything very small I'll be happy to merge Pull Requests

Hey, I am down to work on this if it is still available.

I'd like to help (if I can) too.

Thank you all for support


Safari doesn't like multiple CSP headers

Recursive Ordinals aren't working on Safari because Safari only uses the first CSP header from the response.
By moving all values to the insert en removing the append Recursive Ordinals will also work on Safari.
You can use this recursive ordinal to test
https://ordinals.com/inscription/370706072e6a03c3eb1349bf4531fe20e60d28063fac1f1c3a0774b094efb931i0

I don't think this works. I just tested it on my local version of ordinals . com and I am still getting CSP errors.
I posted what I thought was a fix a few days ago, but it ended up not working either. I'm still working on trying to get it working on Safari. Safari CSP implementation is a bit tricky to figure out.

Hey that's weird. I'm sure I had it working but when I run it again now it's giving errors again. Let's see if I missed something

My change fixes it when you load the recursive inscription using /content/ but it's still giving errors on /inscription/
So I think /inscription/ also has to be added somewhere

Okay, so it was the /inscription/ page which was loading the /preview/ into an iframe which still wasn't working. I've added 'allow-same-origin' to the sandbox attribute and now it's also working on the /inscription/ page with preview

Just letting @veryordinally and @raph know that I have verified that this PR works. The test inscriptions originally mentioned in #2236 all work with this latest PR. I tested on Safari and I tested on iPhone.

Another consideration for this PR regarding using sandbox + allow-scripts + allow-same-origin.
"When the embedded document has the same origin as the embedding page, it is strongly discouraged to use both allow-scripts and allow-same-origin, as that lets the embedded document remove the sandbox attribute — making it no more secure than not using the sandbox attribute at all." - from https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe)

Another consideration for this PR regarding using sandbox + allow-scripts + allow-same-origin.
"When the embedded document has the same origin as the embedding page, it is strongly discouraged to use both allow-scripts and allow-same-origin, as that lets the embedded document remove the sandbox attribute — making it no more secure than not using the sandbox attribute at all." - from https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe)

Okay, when I remove allow-scripts and only set allow-same-origin it won't work because then script execution is not allowed.
So this means using both allow-scripts and allow-same-origin atribute possibly isn't the solution and it has to be done differently.
But it does show why Safari is refusing to execute the scripts because it treats the urls in the iframe as coming from a different origin.

I have read a bit more about sandbox + allow-same-origin flag and I think it's probably not the way you want to go because it is not secure enough. I also saw some posts from other people related to Safari ignoring the allow-scripts flag on sandboxed iframes and some of them are a few years old. So even if it is a Safari bug, I don't think it will be fixed soon. :-(

I've reverted last change and removed 'allow-same-origin' because it is a security risk and allows the code from within the iframe to access cookies, localStorage, etc.
So the /inscription/[inscriptionid] page is broken again for Safari. But I think this is due to a bug in Safari ignoring or at least not correctly using the allow-scripts value for sandbox.

@bodily11
I've been digging a bit deeper and suddenly I noticed none of the ordinals are showing up in Safari when they are loaded in an iframe running ord  on a local server. So I think the fix will work when deployed on a real server. It's just not working with Safari and running on localhost.

Hmmm not sure this is right. I pulled your CSP change into my instance of Ord and deployed it to a production server, but it still wasn't working. It needed the iframe fix before it started working for me, and this was on the latest version of Ord deployed to a production server.

Bummer, maybe there are still some missing values in the CSP header, like :/inscription/ and/or :/preview/ because the page being loaded is /inscription/... and this page creates an iframe which loads /preview/...
Although it works, I don't think adding the allow-same-origin is secure.

By the way Xverse wallet now supports recursive inscriptions. And when I look into the source on the inscription page I see they also use allow-same-origin and allow-scripts.

Yeah, if you allow scripts and allow same origin you are essentially removing sandbox (because it can be removed via script). So in that case, as long as you are disabling access to those APIs yourself on your frontend (maybe Xverse is doing this) then you should be ok. But if you aren't disabling access to those APIs, then you are essentially allowing Ordinals to access local storage and cookies.

Maybe it should be configurable with an argument ord server --allow-same-origin so you have to explicitly set it.
But I'm new to Rust so I'm not sure how to do this in code :-)

Why does the ord server serve paths that aren't a part of the public APIs? It seems best to use a separate host name for pages that aren't exposed via the API. With that, this CSP for whitelisting paths will no longer be needed:
HeaderValue::from_static("default-src *:*/content/ *:*/blockheight *:*/blockhash *:*/blockhash/ *:*/blocktime 'unsafe-eval' 'unsafe-inline' data: blob:"),

I just tested this and still not working on Safari. I'm using a M1 MacBook Pro running Safari Version 16.5.1 (186<IP_ADDRESS>.7). The consolidation of the CSP headers into one does work (on Chrome and Firefox) so definitely an improvement!
A note on contributing. I wrote a small guide to how our tests work here. When you make a change run the ci script and modify the test or write a new test. Thanks!

Why does the ord server serve paths that aren't a part of the public APIs? It seems best to use a separate host name for pages that aren't exposed via the API. With that, this CSP for whitelisting paths will no longer be needed:

I'm not quite sure what you mean by this. All of those endpoints are served by the server and are public.

@raphjaph I believe the whitelisting of paths via CSP header is needed because ordinals.com serve paths that shouldn't be available to inscriptions, such as https://ordinals.com/sat/a, https://ordinals.com/block/00000000000000000000ad2683dabaee3b02e12f6a14af9a8cd4ab9cd719d0c3 etc.
If inscriptions are served from its own subdomain, where only paths exposed are the ones available through the official API (i.e /content/, /blockheight etc.), there's no need to whitelist any specific paths via a CSP header. Because that subdomain should only serve /content/ and other paths that should be available to all inscriptions.

I'll reply back in another day or two, but the crux of the issue here is the following:

Consolidate CSP headers into one rather than two (this is for Safari)
Next, you have to allow cross origin and allow scripts to the /inscription iframe to get it working in Safari, but in doing so, you allow the inscription itself to completely remove all sandbox restrictions. This means inscriptions can access local storage, cookies, indexedDb, etc. You could try blocking those, but the inscription could still access top (the outer pages context). This solution was originally attempted (and it worked on Safari), but it removes sandboxing of inscriptions which is undesirable for security.
The next solution we are going to try is to serve up the inscriptions from a separate sub-domain as the parent. This way you have separation of domain between child/parent, you can protect parent cookies, local storage, indexedDb, etc, but the child domain loading the inscriptions can still load content from the parent. I'll let you know how this test works, but I think this might be the way to get recursive inscriptions loading securely in Safari/iPhone. The annoying part is you have to use a separate subdomain, but I think it will be worth it.

Merging CSP headers as is done in this PR does not work. When a single CSP header is used, requests to any of the sources are allowed, so, for example, https://foo.com/content/bar will work, even though it's an external resource, because it matches *:*/content/, and so matching self is not required.


Old UI: Delete It!

Good night sweet prince. React + Chakra has replaced you.
Closes #267

QA 🎬
Old UI is gone now.

CR 👍 with a question about possibly another unused npm package.

CR 🌵


Add screen reader text for errors for translation

Description
This will be used to announce that errors are present for screen reader users. I checked with UX that this text sounds good.
Release notes:
N/A
Checklist

[x] Added the correct label: < feature | bug | dependencies | infrastructure | ignore-for-release >
[ ] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

Issue(s)
#3563

Codecov Report

Merging #3706 (0943218) into main (af9e81b) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##               main    #3706   +/-   ##
=========================================
  Coverage     80.53%   80.53%
  Complexity     2431     2431
=========================================
  Files           295      295
  Lines          9618     9619    +1
  Branches        658      658
=========================================
+ Hits           7746     7747    +1
  Misses         1619     1619
  Partials        253      253

Impacted Files
Coverage Δ

server/app/services/MessageKey.java
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Please update the Release Notes since this will have user impacting changes.

Otherwise LGTM


Build process

How would this work in production? If I have apps in different repos, I need to build (i.e. ng build --prod) which produces bundled files with random names, and then dump the output into respective folders. Also what's up with the reference to .ts files?

Hey sharpcoder28, good question! The docs here hopefully explain some of the problems and solutions for creating a large, microserviced frontend with single-spa. Let me know if they help, or if they could be improved!
About your specific questions, though:

If I have apps in different repos, I need to build (i.e. ng build --prod) which produces bundled files with random names, and then dump the output into respective folders

It sounds like you're using angular-cli to build at least one of the single-spa applications? The example here in single-spa-examples actually does not use angular-cli, which is why you can't find it in this repo. You can check out single-spa-angular-cli, which is a library that helps you get things set up with angular-cli apps. It also explains how they fit into the single-spa world. The basic approach taken in that project is that ng build produces a bundle that creates a global variable for your single-spa application. Your singleSpa.registerApplication calls go through the library and lazily download the bundles for each of the applications that were built by angular-cli.

Also what's up with the reference to .ts files?

I'm not sure what you mean here, could you clarify? Are you talking about the .ts files like this one in the repo? Or maybe how the code has the .ts extension in its imports?

I tried single-spa-angular-cli, all kinds of issues. From the start it says "In the child application" what child application? And then in the app entry file? What file? I'm guessing you mean for us to create one. That link is a 404.
The if I follow to run examples locally, first of all the git clone is a bad url. Running npm start throws an error. Npm start in the /src/menu throws an error, have to install @angular/dev something. Same thing for the other folders. The it says to add an angular cli apps, app1, but that already exists. How do I run the root application with all of the components working?

I get this error when running npm run start in the root folder:

@robinComa could you comment on this one, since you maintain single-spa-angular-cli? (Also, THANK YOU for being so great at helping me field some of these questions)

Hello @sharpcoder28 and @joeldenning
To use an ng cli apps with single spas, it is really simple.
You have to generate you projet with angular cli (if not already create : not existing app) : ng new app1 --prefix=app1
And after you have to change somethings inside your angular app :
// src/apps/app1/src/main.ts

import { enableProdMode } from '@angular/core';
import { Router } from '@angular/router';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { singleSpaAngularCliPlatform } from 'single-spa-angular-cli/lib/single-spa-angular-cli-platform';

import { AppModule } from './app/app.module';
import { environment } from './environments/environment';

if (environment.production) {
  enableProdMode();
}

// Router is not mandatory, only if you use a router for your app1
singleSpaAngularCliPlatform.mount('app1-root', Router).subscribe((attachUnmount) => {
  platformBrowserDynamic().bootstrapModule(AppModule).then(attachUnmount);
});

And remove zone.js :
// src/app1/src/polyfills.ts

// Comment zone.js, it is globaly imported by the portal
// import 'zone.js/dist/zone';  // Included with Angular CLI.

And add zone.js only for your cli app (to run it outside the portal :
// src/app1/src/index.html

  <app1-root></app1-root>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/zone.js/0.8.19/zone.js"></script>
</body>

After it, you can use the ng build --prod to build your cli app, I recommend for the moment to use :
ng build --prod --output-hashing=media
Now you can use single spa all usual :
// src/main.js

import { registerApplication, start } from 'single-spa';
import { singleSpaAngularCliRouter } from 'single-spa-angular-cli/lib/utils';
import 'babel-polyfill';
import 'zone.js';

const LOADER = {
    menu: import('./loaders/menu.js'),
    home: import('./loaders/home.js'),
    app1: import('./loaders/app1.js'),
    help: import('./loaders/help.js')
};

registerApplication('menu', () => LOADER.menu, singleSpaAngularCliRouter.hashPrefix('/**', true));
registerApplication('home', () => LOADER.home, singleSpaAngularCliRouter.hashPrefix('/home', true));
registerApplication('app1', () => LOADER.app1, singleSpaAngularCliRouter.hashPrefix('/app1'));
registerApplication('help', () => LOADER.help, singleSpaAngularCliRouter.hashPrefix('/app1'));
start();

// src/loaders/app1.js

import singleSpaAngularCli from 'single-spa-angular-cli';

const lifecycles = singleSpaAngularCli({
    name: 'app1',
    selector: 'app1-root',
    baseScriptUrl: '/src/apps/app1/dist',
    css: [
        'styles.bundle.css',
    ],
    scripts: [
        'inline.bundle.js',
        'polyfills.bundle.js',
        'vendor.bundle.js',
        'main.bundle.js'
    ]
});

export const bootstrap = [
    lifecycles.bootstrap
];

export const mount = [
    lifecycles.mount
];

export const unmount = [
    lifecycles.unmount
];

export const unload = [
    lifecycles.unload
];

The only tricks to run your app on cli and single spa is to add this on your single spa index.html:
// src/app1/src/index.html

  <app1-root></app1-root>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/zone.js/0.8.19/zone.js"></script>
</body>

For more information, see the doc :
https://github.com/PlaceMe-SAS/single-spa-angular-cli-examples
Is it more clear?
@joeldenning no problem to help you when I can!

First error I get when trying to follow examples:

Did a normal git clone, and I still get that error above about build/common.js. Are you missing a webpack build in the tutorial?

more errors:

@sharpcoder28 I tried to run single-spa-angular-cli-examples as well a couple days ago and ran into issues as well. The error that you screenshotted above is the same one that I saw because the locally install angular-cli wasn't working correctly. I submitted https://github.com/PlaceMe-SAS/single-spa-angular-cli-examples/pull/2 to fix the issues that I saw. Here were some of the things I had to do to get things working:

Make sure that each of the apps npm installs correctly. This should happen in the preinstall step, but if any one of the installs fails, the build will fail
npm run ng:build
npm start

I also ran into issues using the local version of angular-cli for each of the builds. So I changed it to use the globally installed version of angular-cli and that seemed to work better. If you have trouble getting any of the builds to work, try running ng build --prod --output-hashing=media in each application directory manually and diagnosing the errors one by one. I had to install @angular-devkit/core in each of the directories to get things fixed.
Can you try doing a git pull and following the steps above to see if that fixes things. I also updated the readme so that others don't run into these issues.

Thanks! I got it working. I'm going to prototype a build process soon, but I'm pretty confident. Do you see any issue in having the apps build and just drop into the dist folder of the main running app? I testing it and didn't need to do a build in the host app. Not unless a new child app was added.

@sharpcoder28 happy to hear it's working!
Yes, as long as you don't change anything in the main file or the the loaders directory, you don't have to re-build the root application (or "host app")


Issue 640

Resolves: Islandora-CLAW/CLAW#640
Testing instructions
This PR assumes on the other PRs for Islandora-CLAW/CLAW#640 have been merged in and are available through composer / maven.  So to test, we need to set it up to build from source and pull from my branches for Crayfish and Alpaca.  To do so, scrape out the following patch file and apply it to your claw-playbook clone.
diff --git a/inventory/vagrant/group_vars/webserver/drupal.yml b/inventory/vagrant/group_vars/webserver/drupal.yml
index 09f7e9d..5edca07 100644
--- a/inventory/vagrant/group_vars/webserver/drupal.yml
+++ b/inventory/vagrant/group_vars/webserver/drupal.yml
@@ -12,6 +12,7 @@ drupal_composer_dependencies:
   - "drupal/media_entity_image:^1.2"
   - "drupal/search_api_solr:1.0.0"
   - "drupal/facets:1.x-dev"
+  - "drupal/filehash:^1.1"
   - "islandora/carapace:dev-8.x-1.x"
   - "islandora/islandora_image:dev-8.x-1.x"
 drupal_composer_project_package: "drupal-composer/drupal-project:8.x-dev"
@@ -41,6 +42,7 @@ drupal_enable_modules:
   - devel
   - search_api
   - carapace
+  - filehash
   - islandora_image
 drupal_trusted_hosts:
   - ^localhost$
diff --git a/roles/internal/alpaca/defaults/main.yml b/roles/internal/alpaca/defaults/main.yml
index 6848277..988b184 100644
--- a/roles/internal/alpaca/defaults/main.yml
+++ b/roles/internal/alpaca/defaults/main.yml
@@ -1,8 +1,8 @@
 ---

-alpaca_from_source: no
+alpaca_from_source: yes

-alpaca_version: master
+alpaca_version: issue-640
 alpaca_clone_directory: /opt/alpaca

 alpaca_karaf_repos:
diff --git a/roles/internal/alpaca/tasks/compile.yml b/roles/internal/alpaca/tasks/compile.yml
index 30507d4..fcc66fb 100644
--- a/roles/internal/alpaca/tasks/compile.yml
+++ b/roles/internal/alpaca/tasks/compile.yml
@@ -17,7 +17,7 @@

 - name: Clone CLAW Alpaca
   git:
-    repo: https://github.com/Islandora-CLAW/Alpaca.git
+    repo: https://github.com/dannylamb/Alpaca.git
     dest: "{{ alpaca_clone_directory }}"
     version: "{{ alpaca_version }}"
   register: alpaca_git
diff --git a/roles/internal/crayfish/defaults/main.yml b/roles/internal/crayfish/defaults/main.yml
index 2cf93e0..fd3df83 100644
--- a/roles/internal/crayfish/defaults/main.yml
+++ b/roles/internal/crayfish/defaults/main.yml
@@ -1,5 +1,5 @@
 crayfish_user: www-data
-crayfish_version_tag: 0.0.7
+crayfish_version_tag: issue-640

 crayfish_services:
   - Gemini
diff --git a/roles/internal/crayfish/tasks/install.yml b/roles/internal/crayfish/tasks/install.yml
index 780e718..36f1ecc 100644
--- a/roles/internal/crayfish/tasks/install.yml
+++ b/roles/internal/crayfish/tasks/install.yml
@@ -14,7 +14,7 @@

 - name: Install crayfish code
   git:
-    repo: https://github.com/Islandora-CLAW/Crayfish.git
+    repo: https://github.com/dannylamb/Crayfish.git
     dest: "/var/www/html/Crayfish"
     version: "{{ crayfish_version_tag }}"

Then we need to pull in Islandora and from my branches as well, since they're not available from composer yet either.  Put the following into a file named issue-640.sh and run it with $ sudo bash issue-640.sh
cd /var/www/html/drupal/web/
/var/www/html/drupal/vendor/bin/drush --y pmu islandora_image
/var/www/html/drupal/vendor/bin/drush --y pmu islandora_collection
/var/www/html/drupal/vendor/bin/drupal config:delete active field.field.media.tn.field_mimetype
/var/www/html/drupal/vendor/bin/drupal config:delete active field.field.media.tn.field_height
/var/www/html/drupal/vendor/bin/drupal config:delete active field.field.media.tn.field_width
/var/www/html/drupal/vendor/bin/drupal config:delete active field.field.media.tn.field_image
/var/www/html/drupal/vendor/bin/drush --y pmu islandora
cd /var/www/html/drupal/web/modules/contrib/islandora
git remote add danny https://github.com/dannylamb/islandora.git
git fetch danny
git checkout issue-640
cd /var/www/html/drupal/web/modules/contrib/islandora_image
git remote add danny https://github.com/dannylamb/islandora_image.git
git fetch danny
git checkout issue-640
cd /var/www/html/drupal/web/
/var/www/html/drupal/vendor/bin/drush en -y islandora_image

To verify it's all working, try creating, updating, and deleting both media and nodes in Drupal.  Files won't delete until cron runs a specified time after no media/nodes reference them anymore.  So to trick drupal into using a short timeframe, run the following command from Drupal's web directory:
ubuntu@claw:/var/www/html/drupal/web$ drupal config:override system.file temporary_maximum_age 1
 Configuration name system.file
 ----------------------- ---------------- ----------------
  Configuration key       Original Value   Override Value
 ----------------------- ---------------- ----------------
  temporary_maximum_age   21600            1
 ----------------------- ---------------- ----------------

Now you can delete references to files and run cron to delete the files from Fedora.

@dannylamb @whikloj
The instructions are bit out of date.  I manually changed some and test this.  When creating the event, it gets posted to the right queue (islandora-indexing-fcrepo-content) and is picked up Alpaca as well.  But, fails to connect to Milliner.
I am getting the following error in the Karaf log:
2017-11-14 21:11:56,122 | ERROR | -fcrepo-content] | FcrepoIndexer                    | 166 - ca.islandora.alpaca.islandora-indexing-fcrepo - 0.3.1.SNAPSHOT | Error indexing resource in fcrepo: HTTP operation failed invoking http://localhost:8000/milliner/content with statusCode: 500

org.apache.camel.http.common.HttpOperationFailedException: HTTP operation failed invoking http://localhost:8000/milliner/content with statusCode: 500
	at org.apache.camel.component.http4.HttpProducer.populateHttpOperationFailedException(HttpProducer.java:312)
	at org.apache.camel.component.http4.HttpProducer.process(HttpProducer.java:207)
	at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
	at org.apache.camel.processor.SendDynamicProcessor$1.doInAsyncProducer(SendDynamicProcessor.java:124)
	at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:436)
	at org.apache.camel.processor.SendDynamicProcessor.process(SendDynamicProcessor.java:119)
	at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)

I have the required branch for the Crayfish.
commit 41add9b5d450f0e28d012c9479bc350428460ea7
Author: dannylamb<EMAIL_ADDRESS>Date:   Fri Oct 20 17:59:17 2017 +0000

Also, noted the following:
fcrepo-api-x-indexing                   | 0.3.0.SNAPSHOT   |          | Uninstalled | fcrepo-api-x-karaf             | fcrepo-api-x-indexing
fcrepo-api-x-karaf                      | 0.3.0.SNAPSHOT   |          | Uninstalled | fcrepo-api-x-karaf             | fcrepo-api-x-karaf

@Natkeeran If you still have the box, do you see anything in the Milliner logs?

@dannylamb Milliner log does not get created.

@Natkeeran Sounds like a permissions issue 😦

@dannylamb
apache error log:
[Wed Nov 15 15:59:53.665632 2017] [:error] [pid 5665] [client <IP_ADDRESS>:46684] PHP Fatal error:  Uncaught Pimple\\Exception\\UnknownIdentifierException: Identifier "crayfish.debug" is not defined. in /var/www/html/Crayfish/Milliner/vendor/pimple/pimple/src/Pimple/Container.php:101\nStack trace:\n#0 /var/www/html/Crayfish/Milliner/src/app.php(19): Pimple\\Container->offsetGet('crayfish.debug')\n#1 /var/www/html/Crayfish/Milliner/src/index.php(3): require_once('/var/www/html/C...')\n#2 {main}\n  thrown in /var/www/html/Crayfish/Milliner/vendor/pimple/pimple/src/Pimple/Container.php on line 101

I commented out line 19 and now Milliner log gets generated.  It has the following error:
milliner error log
[2017-11-15 11:07:37] app.CRITICAL: Pimple\Exception\UnknownIdentifierException: Identifier "crayfish.gemini_base_url" is not defined. (uncaught exception) at /var/www/html/Crayfish/Milliner/vendor/pimple/pimple/src/Pimple/Container.php line 101 {"exception":"[object] (Pimple\\Exception\\UnknownIdentifierException(code: 0): Identifier \"crayfish.gemini_base_url\" is not defined. at /var/www/html/Crayfish/Milliner/vendor/pimple/pimple/src/Pimple/Container.php:101)"} []
[2017-11-15 11:07:37] app.DEBUG: < 500 [] []

@Natkeeran Ah ok. It's a config deployment issue. I must've missed committing them after working out the issues :man_facepalming:

@dannylamb It is more likely that I did not follow the instructions properly.  Sorry if I lead you astray.  @whikloj game me some guidance, and I am testing it again.

@dannylamb @whikloj The above noted issues are due to me not following the instructions clearly.  I am able to build the machine following the instructions.  When a node gets created, it gets synched to fedora.  However, when trying to create media from inline forms (i.e image), I am seeing the following error:
Drupal\Core\Entity\EntityStorageException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1) VALUES ('15', NULL, '016d6b8a79c713e3bfc2a0e4c5c3afcaa98a9476', NULL, '')' at line 1: INSERT INTO {filehash} (fid, md5, sha1, sha256, 1) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4); Array ( [:db_insert_placeholder_0] => 15 [:db_insert_placeholder_1] => [:db_insert_placeholder_2] => 016d6b8a79c713e3bfc2a0e4c5c3afcaa98a9476 [:db_insert_placeholder_3] => [:db_insert_placeholder_4] => ) in Drupal\Core\Entity\Sql\SqlContentEntityStorage->save() (line 805 of /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php).

Confirming that I'm seeing the same behaviour as @Natkeeran.

I think I got it, the claw_vagrant script you run once your vagrant is up is different. It installs filehash, this one doesn't seem to.
@Natkeeran @MarcusBarnes - If you can try this again but instead of putting the stuff listed above into the issue-640.sh script, use this gist once vagrant is up.
I'm going to try this tomorrow too.

We got the following error when running the gist:
``

DrupalProject\composer\ScriptHandler::createRequiredFiles
filehash is already enabled.                                                                                [ok]
There were no extensions that could be enabled.                                                               [ok]
The source directory does not exist.                                                                          [error]
``

The following appear in the Drupal log when trying to add an image to a basic image:
Drupal\Core\Entity\EntityStorageException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1) VALUES ('3', NULL, '016d6b8a79c713e3bfc2a0e4c5c3afcaa98a9476', NULL, '')' at line 1: INSERT INTO {filehash} (fid, md5, sha1, sha256, 1) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4); Array ( [:db_insert_placeholder_0] => 3 [:db_insert_placeholder_1] => [:db_insert_placeholder_2] => 016d6b8a79c713e3bfc2a0e4c5c3afcaa98a9476 [:db_insert_placeholder_3] => [:db_insert_placeholder_4] => ) in Drupal\Core\Entity\Sql\SqlContentEntityStorage->save() (line 805 of /var/www/html/drupal/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php).
Drupal\Core\Database\DatabaseExceptionWrapper: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1) VALUES ('3', NULL, '016d6b8a79c713e3bfc2a0e4c5c3afcaa98a9476', NULL, '')' at line 1: INSERT INTO {filehash} (fid, md5, sha1, sha256, 1) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4); Array ( [:db_insert_placeholder_0] => 3 [:db_insert_placeholder_1] => [:db_insert_placeholder_2] => 016d6b8a79c713e3bfc2a0e4c5c3afcaa98a9476 [:db_insert_placeholder_3] => [:db_insert_placeholder_4] => ) in filehash_save() (line 192 of /var/www/html/drupal/web/modules/contrib/filehash/filehash.module).

I hope the above are relevant and helpful.  Thanks in advance.

Hmm okay. I'm wrong about filehash, it is already added in the patch above...this worked so well in vagrant. I'll try rebuilding this again as described above and see if I can catch anything the second time around.

@whikloj  When testing, please be sure to create a basic image object and attach an image (say, a .tiff file) to see if you get similar messages in the Drupal log.

Ok so I feel like filehash is the problem. In my claw-playbook the filehash.view.inc was throwing errors, but in claw_vagrant it was fine. I just built another claw_vagrant box and it works great. I'm going to try building this again tomorrow expect I won't install filehash at the start and will mimic the claw_vagrant process of installing it at the end.

@whikloj @Natkeeran @MarcusBarnes hopping onto this as well.  let me see what pops.
Looks like being clever and providing a patch has failed since the code has shifted underneath :man_facepalming:

I have been using your (@dannylamb) issue-640 claw-playbook branch to build this so I don't think it has changed. I am using this branch but have removed the filehash lines so it isn't installed and I have commented out the installation of the drupal configuration (much like claw_vagrant).
I'm going to reinstall it after words in much the same way as claw_vagrant.

Could all this be due to the difference in MySQL version between vagrant and playbook? Everything seems to have loaded and installed correctly. Its just that INSERT statement that throws a MySQL Exception.

Or maybe MySQL configuration options?
https://github.com/bennojoy/mysql/blob/master/defaults/main.yml#L25

@whikloj @Natkeeran @MarcusBarnes So it appears that even though we've got the config loaded up, it's just not taking hold correctly in Drupal.  For example, in the filehash settings, we've got dedupe: true, but if you go to the actual config form, that checkbox is empty instead of checked.  Oddly enough, if you go to the configuration synchronization dashboard and export filehash.settings, it is what ansible provies and even has dedupe: true in it!  The Node and Media REST endpoints also behave similarly.
My best guess is something's up with how I'm deploying the configs through Ansible.  That or it's an 8.4 issue.

@dannylamb oh...here I was so excited that I figured it out and you already had.
The config we are loading is taking dedupe: true as an algorithm and that causes the problem. If you go Admin -> Configuration -> Media -> Filehash, change a setting and save, change it back. Then it works perfectly.

Also when I pull this branch and look at the filehash.settings.yml in the roles/internal/webserver-app/files directory. I see
lgos:
  sha1: sha1
  md5: '0'
  sha256: '0'
  dedupe: true

https://github.com/dannylamb/claw-playbook/compare/issue-640...whikloj:weird-spaces?expand=1

Confirmed, fixing the filehash.settings.yml in this PR I was able to stand up the playbook following these instructions exactly and create a Collection and an Image with file that were all persisted to Fedora. Able to edit and delete and see that occur in Fedora.
For some reason the JPG I uploaded to Drupal is still listed as Permanent even after deleting the Media associated with it, but I'll see if that changes shortly.

@whikloj @dannylamb We are close.
After getting @whikloj change, able to create/delete media.  Some media info such as title does not populated in Fedora even thought is specified in RDF mapping for that bundle.  I applied the maximum_age command and ran the cron, but the entries do not get deleted in Fedora.

Is the entry (I'm assuming a file) deleted from Drupal?

@Natkeeran Sorry I missed the last sentence of your comment. I did notice the same issue for a JPG I uploaded. The fact the the file is not delete from Drupal is why it does not delete from Fedora. But I am unclear why the file gets a status of Permanent and is never removed from Drupal.

@whikloj yes, that is correct.  Files are marked permanent and are not deleted from Drupal.
My understanding is that Media bundles get synched to Fedora as well.  Thus, If we create a Media entry there should be a corresponding Fedora entry.  The current corresponding entry does not reflect the mapping.
(Note that Media did not have REST configured by default. It should.  But, configuring it still does not solve the issue.)
uuid: 0a1369ba-3052-4194-801d-b32f96cb99cb
langcode: en
status: true
dependencies:
  config:
    - media_entity.bundle.web_content
  enforced:
    module:
      - islandora_image
  module:
    - media_entity
_core:
  default_config_hash: iDbQbJblaZWIoXCEPfb_aePaQP7eW6SlK5M_Vvxe98g
id: media.web_content
targetEntityType: media
bundle: web_content
types:
  - 'use:ServiceFile'
fieldMappings:
  name:
    properties:
      - 'dc:title'
      - 'rdf:label'
  created:
    properties:
      - 'schema:dateCreated'
    datatype_callback:
      callable: 'Drupal\rdf\CommonDataConverter::dateIso8601Value'
  changed:
    properties:
      - 'schema:dateModified'
    datatype_callback:
      callable: 'Drupal\rdf\CommonDataConverter::dateIso8601Value'
  uid:
    properties:
      - 'schema:author'
    mapping_type: rel
  field_mimetype:
    properties:
      - 'ebucore:hasMimeType'

I don't think the Media bundles are persisted to Fedora, but I could be incorrect. Have to bring @dannylamb in for confirmation.

@whikloj Oh man, what a facepalm...  Ok, so the REST entities are also suffering from that as well.  I'll re-export and we'll try this again.

Second facepalm... refresh the browser instead of looking at an old tab.
@Natkeeran @whikloj Media should be persisted as the LDP-RS that describes the LDP-NR.  The changes associated wtih Islandora-CLAW/CLAW#640 actually implement that.  The codebase as it stands does not persist media at all.
The weird bit, because of how Drupal handles the whole file reference thing, is that deleting Media does not delete its counterpart in Fedora, as that would trigger the deletion of the LDP-NR but keep the File dangling in Drupal.  To make matters worse, in Drupal 8.4, they've disabled the deletion of files when there's no more references.  This means we'll have to start deleting Files in response to Media getting deleted, which, in all honesty, sounds like a better approach anyway.

@whikloj @Natkeeran I just pushed fixes to the configuration.  I vagrant up'd with it and followed the testing instructions and everything worked fine.  Media sync'd its metadata just fine.  I could confirm because the filename flows through as dc:title.
Since this is on 8.4, files will not delete as per the testing instructions due to changes that were made.  That's my bad because I wrote the changes targeting 8.3 and didn't realize claw-playbook wasn't locked down to a particular version of Drupal.  For the sake of getting these changes in, let's handle deleting files when deleting media in a separate ticket if possible.

vagrant up

Ok this works. But I don't see any of the alternative text from the media. What I get for one islandora_collection is one RDFSource object. For one islandora_image with a Web Image and a TN. I get 3 resources, 1 RDFSource and 2 NonRDFSource. The NonRDFSource do not contain the alternative text.
Maybe that is for another day.
Also the correction to the resource entity needs to happen in the actual islandora module.
https://github.com/Islandora-CLAW/islandora/blob/8.x-1.x/config/install/rest.resource.entity.media.yml#L12-L14

@whikloj I'm not sure if/how we can map the alternative text.  I'm guessing as long as its either a field or a property we're ok.
https://github.com/Islandora-CLAW/islandora/pull/67/files actually pulls the file altogether since we install with both claw_vagrant and claw-playbook.  I'll do a README update to say you need to manually configure it if you're installing it on your own.

@Natkeeran you want to try this and let me know if you are satisfied.

@whikloj sure, get the latest from the branch and vagrant up.  Is that right?

@Natkeeran yep, you still need to apply the patch and run the batch script inside the vagrant machine. But otherwise it should work out of the box.


Crash in Texture Viewer on Intel GPU

I get a crash on my Intel HD 530 when viewing the Texture Viewer tab and clicking on the EID (70-81) "execute_tristrip_godl" with this capture file:
test.zip containing test.rdc
I'm running off the git repo, and see this in the output log, but I cannot find exactly where it's crashing:
First-chance exception at 0x12d38a0e in renderdocui.exe: 0xC0000005: Access violation reading location 0x00000058.
A first chance exception of type 'System.AccessViolationException' occurred in renderdocui.exe
An unhandled exception of type 'System.AccessViolationException' occurred in renderdocui.exe

Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

I'm on driver version <IP_ADDRESS>64 WHQL / Win10 64.
When I switch to my nvidia 960M, I don't get the crash.
Side issue, I also noticed it looked like it was using uninitialized values in RenderTexture(), specifically TextureDisplay::offx and TextureDisplay::offy.  (I added
disp.offx = disp.offy = 0.0f; in replay_output.cpp line 496.)

I can repro it, thanks for including the capture. I think I've seen something like this before but didn't have a solid repro. I believe it's a driver bug when binding both depth and stencil as readable SRVs in a drawcall.
I'll dig into it more next week and see if I can produce a simple repro app to send to Intel for fixing, but I can't say when a fix would be available or what driver it would be in. I'd suggest if you have access to an nvidia (or AMD) card that's always a better option, only using Intel if there's not an alternative available.

Cool, right, I actually didn't know RD was using my Intel card, and switched it to now use nvidia for RD.  Thanks.

I've isolated it to a simple standalone program that produces the crash, I'll report to Intel shortly.
It's possible that I could work around it in renderdoc, but I think what I'd need to do to workaround it would then break stencil display on AMD. Since the current code is valid and shouldn't be crashing, and I suspect I have more users on AMD, unfortunately there's not much I can do directly about this.
All I can do is recommend that anyone running into this uses a discrete card (NV/AMD) if possible, and if not you can try locally backing out c35531c65fd5b07b688867b4d2499836436eef2a - this may or may not help. Otherwise just wait until a fixed driver is out :(.

Reported to Intel.


expand eval framework analyses to include all paper analyses

To-do items from discussion with @nbokulich:

[ ] add plotting of heatmaps of taxa that are detected at significantly different abundances between configurations
[ ] add comparisons of runtimes (maybe if provided by the user - this will be dependent on where the analysis is run, so maybe not something we want to include in the eval framework itself)
[ ] add evaluations on simulated communities (@nbokulich, can you follow up with where these are in the repo. If we can add these in in the same way as the other data sets (i.e., in the data directory it would be very easy to include them in the analyses)).

these are all in progress in other issues.


Add note about unloading Native AOT DLLs

Summary
Note that unloading Native AOT libraries is not supported.
Fixes https://github.com/dotnet/runtime/issues/103028

Internal previews

📄 File
🔗 Preview link

docs/core/deploying/native-aot/libraries.md
Building native libraries

Responding to this previous comment from @jkotas :

Should we add the same note to the general .NET hosting topic (https://learn.microsoft.com/en-us/dotnet/core/tutorials/netcore-hosting)?

I read through that article and didn't see any suggestion that hosts are expected to call dlopen on the runtime assemblies directly. Because of this I'm not sure if it's expected that dlclose would be supported. I'm open to adding some note on this somewhere, but it's not clear to me where would be best to add it.

I read through that article and didn't see any suggestion that hosts are expected to call dlopen on the runtime assemblies directly.

The article tells the host to call load_library and leaves it as an exercise to the reader to figure out what it is. The actual sample implements load_library as dlopen/LoadLibrary - https://github.com/dotnet/samples/blob/main/core/hosting/src/NativeHost/nativehost.cpp#L272-L296 . If somebody tries to do a matching dlclose/FreeLibrary to unload the hosted runtime, it is not going to work as expected (it is either going to do nothing or potentially crash).

Talked offline -- I'm going to adjust this in the samples, since the linked doc is written as a tutorial and this info doesn't flow very cleanly into the tutorial language.


Fix typo in docs

There're was a component name typo, FCM official docs were referenced as Remote Config docs.

Thanks! 🙏🏻


Add Reminder

I added reminder to your app for my Open Source Tech assignment. I think its really cool how you come out  to that ide for sliding the item to edit or delete it. Me and My team has modify it with adding a reminder to your code, but i think its need an upgrade in forward. Sorry for using ur code without your permission. And thank you, your code has given me idea for my next project.

@lolo-io i would like this feature to be merged in, and i will also make 2 PRs with lots of new features. If you don't have time to maintain the project, i can become a maintainer if you want, I already am a maintainer since years in other big projects such as reedsolo. I think I'm now familiar enough with the OneList codebase to be a maintainer, i would ve happy to take care of the project while maintaining your original vision.

Thank you for your interest. Unfortunately adding reminders feature wasn't in the plans for this app as this is intended to stay a simple & minimalistic lists app (which make its charm) with no overwhelming features on top of it that would make it not minimalistic anymore.
Please discuss new feature additions in the issues section.


case glPatchParameteriEXT should return Serialise_glPatchParameteri(ser, eGL_NONE, 0);？

Description

in gl_driver.cpp
case GLChunk::glPatchParameteri: return Serialise_glPatchParameteri(ser, eGL_NONE, 0);
case GLChunk::glPatchParameterfv: return Serialise_glPatchParameterfv(ser, eGL_NONE, 0);
case GLChunk::glLineWidth: return Serialise_glLineWidth(ser, 0);
case GLChunk::glPointSize: return Serialise_glPointSize(ser, 0);
case GLChunk::glPatchParameteriEXT:
case GLChunk::glPatchParameteriOES:
case GLChunk::glPointParameteri: return Serialise_glPointParameteri(ser, eGL_NONE, 0);
when case glPatchParameteriEXT and glPatchParameteriOES should return Serialise_glPatchParameteri or Serialise_glPointParameteri?
Steps to reproduce

Environment

RenderDoc version: 1.7
Operating System: android
Graphics API: gles

Hi there, your issue has been closed due to not correctly following the issue template. Please read the documentation about filing issues and open a new issue which does follow the issue template. Do not reply to this issue with more information or with a correctly formatted issue, as that will only lead to confusion.
I try to address all github issues and fix bugs quickly, but badly formatted issues or poorly described bug reports especially are a significant drain on project resources. Taking a few minutes to file a good issue makes a huge difference and will get it addressed faster - everybody wins!
In github when you first create a new issue the form is pre-populated with a template which you should read over and follow. As linked above there is documentation going into more detail about what makes a good issue.


it dont work for 1.18

i ned same  bot but for 1.18 can u make it?

use ViaBackwards Plugin on the server
Then Deply The bot


Target AVX2 in releases?

I noticed this in the makefile
ifndef CXXFLAGS_BITSHUFFLE
  ifeq ($(OS_NAME)-$(OS_ARCH),Linux-x86_64)
	# SSE2 is supported in all the x86_64 platforms and AVX2 is only supported
        # in the small part of them. gcc in linux/x86_64 typically enables SSE2 by default though,
	# we explicitly set flags below to make this precondition clearer.
	CXXFLAGS_BITSHUFFLE:=-U__AVX2__ -msse2
  else
	# Undefined macros to generate a platform-independent binary
	CXXFLAGS_BITSHUFFLE:=-U__AVX2__ -U__SSE2__
  endif
endif

This was written in 2016 but AVX2 is quite mainstream now, is it worth revisiting this? Obviously a user can build their own, but not all users will have the required skills to do this in order to get more from their commodity class servers.

Having multiple binaries and deciding at startup might be a good idea.


[FEATURE] Adding Error Handling Middle-Ware

Adding an Error Handling Middleware to properly and gracefully handle most error Messages that might occur.

A new file would be created called errorHandler
app.js can use the errorHandler by calling app.use(errorHandler) a function in the errorhandler file.

I would like to work on this if needed.

Hey @DevKanmi , You can proceed!

Alright, thank you!


Symlinked gulpfile.js works in a wrong directory

Aftermath of https://github.com/gulpjs/gulp/issues/704
Gulp executes tasks of a symlinked gulpfile.js in a context of a directory where the original file is.
$ ln -s ~/docs/beta/gulpfile.js gulpfile.js
$ gulp sass
[02:37:01] Working directory changed to ~/docs/beta
[02:37:02] Using gulpfile ~/docs/beta/gulpfile.js
[02:37:02] Starting 'sass'...
[02:37:02] Finished 'sass' after 1.52 ms

For what it's worth, I'm encountering this problem right now and am having to do a bit of hackery to get it to work. In particular, we have this lovely environment that puts Bazel in Docker containers, and I have to manually symlink the node_module directories into some other test directory. :-(
Not sure what the solution is, but wanted to chime in that this is still an issue. Sorry I can't be of more help.


Increase code coverage, Remove unused codecs

Removed the unused codec based on the coverage report.
Also added some tests for coverage.

Test FAILed.

Test FAILed.

Test PASSed.


Gitlab download fails starting at 7.4.3

If gitlab_download_link parameter is not supplied, then this puppet module will attempt to download from the default url. This makes it really easy for end users to install gitlab since they only need to supply a version(e.g 7.4.3) and not a full blown url.
Unfortunately gitlab changed their download links when they started including gitlab-ci
Before
https://downloads-packages.s3.amazonaws.com/centos-6.5/gitlab-7.4.3_omnibus.1-1.el6.x86_64.rpm
Now
https://downloads-packages.s3.amazonaws.com/centos-6.6/gitlab-7.4.3_omnibus.5.1.0.ci.1-1.el6.x86_64.rpm
Not sure this can be fixed.
The work around is to manually set the download_url, however that will require setting two parameters in the puppet module. It will require the user to lookup the new url every time they upgrade gitlab.
Before
class { 'gitlab':
  gitlab_branch => 7.4.0,
  external_url    => 'http://gitlab.example.com',
}

After
class {'gitlab':
  gitlab_branch => 7.4.3,
  external_url    => 'http://gitlab.example.com',
  gitlab_download_link => 'https://downloads-packages.s3.amazonaws.com/centos-6.6/gitlab-7.4.4_omnibus.5.1.0.ci.1-1.el6.x86_64.rpm',
}

The best option would be to try and bribe the gitlabhq guys to place symlinks with their rpm artifacts.
gitlab-7.4.3_omnibus.1-1.el6.x86_64.rpm => gitlab-7.4.3_omnibus.5.1.0.ci-1-1.el6.x86_64.rpm

There seem to be a yum repo setup at https://packages.gitlab.com/gitlab/gitlab-ce

Yes however the package cloud puppet module is quite broken right now. #150

Module transitioned to here:  https://github.com/vshn/puppet-gitlab


Doom and Gloom cannot light candles

What happened?
Unable to light candles using flint and steel when the mod is installed
Mod Version
1.01
Minecraft Version
1.20
Relevant log output
No response

Should be fixed on 1.0.2


Error Assertion failed when computing eigenvalues for a particular matrix

When this matrix
[
[0.0 + 0.0 * I, 0.0 + 0.0 * I, 0.0 + 0.0 * I, 2.220446049250313e-16 + -1.0000000000000002 * I],
[0.0 + 0.0 * I, 0.0 + 0.0 * I, 2.220446049250313e-16 + -1.0000000000000002 * I, 0.0 + 0.0 * I],
[0.0 + 0.0 * I, 2.220446049250313e-16 + -1.0000000000000002 * I, 0.0 + 0.0 * I, 0.0 + 0.0 * I],
[2.220446049250313e-16 + -1.0000000000000002 * I, 0.0 + 0.0 * I, 0.0 + 0.0 * I, 0.0 + 0.0 * I],
]

as a Mat<c64> is passed to eigenvalues or complex_eigenvalues, it throws an error.
numpy does compute eigenvalues:
ar = np.array([
[0.0 + 0.0j, 0.0 + 0.0j, 0.0 + 0.0j, 2.220446049250313e-16 + -1.0000000000000002j],
[0.0 + 0.0j, 0.0 + 0.0j, 2.220446049250313e-16 + -1.0000000000000002j, 0.0 + 0.0j],
[0.0 + 0.0j, 2.220446049250313e-16 + -1.0000000000000002j, 0.0 + 0.0j, 0.0 + 0.0j],
[2.220446049250313e-16 + -1.0000000000000002j, 0.0 + 0.0j, 0.0 + 0.0j, 0.0 + 0.0j],
])

In [1]: np.linalg.eigvals(ar)
Out[1]:
array([ 1.11022302e-16-1.j, -2.22044605e-16+1.j,  1.11022302e-16-1.j,
       -2.22044605e-16+1.j])

The error messages are
Assertion failed at /home/lapeyre/.cargo/registry/src/index.crates.io-6f17d22bba15001f/faer-core-0.13.0/src/lib.rs:2093:13:
  assert!( row < this.nrows() )
with expansion:
  4 < 4

Several other matrices do give the same eigenvalues that numpy does.
Version: 0.13.1
Arch Linux

thanks for opening an issue! i've managed to reproduce the bug locally and i'm currently investigating it

should be fixed in 13.3
i published it just now

Great. It looks like it is fixed on our end as well.


less vertical space consumption by dconf links

subjects says it all

Looks a little cramped.

Suggestion: Just put "DConf 2015: Call for submissions open through Feb 27!" Move the other two editions in a submenu or drop entirely.

I will have a look

superseded


--request-log significantly affects measured throughput

I'm using goose to load-test an app under development & I've noticed something rather surprising: the measured throughput is significantly affected by the presence or absence of the --request-log option. Weirdly, giving the option more than doubles reported QPS.
No idea where to begin trouble-shooting this one.

I am unable to duplicate this. Is there anything non-standard or otherwise unusual about your configuration/usage? Are you able to duplicate this by enabling any log file, or just --request-log (because they all share the same thread and the same logic). Please provide more detail so that I can better attempt to duplicate.

I freely admit, it seems nuts. I can't explain it based on my reading of the code. But the behavior is consistent, and tied to --request-log specifically (I systematically tried all combinations to narrow it down).
Only non-standard thing I can think of is that in one scenario, because I'm testing two requests hitting my endpoint in a particular order, but at the same time, I synthesized one request through GooseUser and another just with reqwest.
Not sure I'd spend too much time on this, since it seems so odd. Maybe tag it as "if seen again, investigate".

Is this only a Goose reporting anomaly? Or are you actually seeing more load server side? Where exactly are you seeing the difference? Can you provide specific examples of metrics with and without the option enabled?
Requests made directly by reqwest would not be included in the metrics reported by Goose.

Adding invalid tag to flag that with the information we have nothing more can be done.

Closing for now -- if you or anyone else runs into this and can answer the above questions, please re-open!


FBT003: ruff reports about function calls from C-extentions

In my case this is calls from pygame, for example:
pygame.mouse.set_visible(False)

Ruff reports FBT003 Boolean positional value in function call.
If I try use keyword argument, I'll get TypeError: set_visible() takes no keyword arguments
And it happens with every function from every C-library that takes bool.
So the only solution now is suppress this message.
Ruff version: 0.1.9.

I believe this is a duplicate of https://github.com/astral-sh/ruff/issues/3247. There aren't many good solutions here -- I typically recommend just not using the FBT rules (which are quite rigid and opinionated) if you're not working in a fairly strict project or setting.

Ok, thanks


[WIP] Implementation with transactional-based locks

Backward-incompatible major version upgrade with transaction-level locks instead of advisory locks.

Codecov Report

Merging #21 into master will increase coverage by 2.79%.
The diff coverage is 97.56%.

@@            Coverage Diff             @@
##           master      #21      +/-   ##
==========================================
+ Coverage   88.97%   91.76%   +2.79%
==========================================
  Files           4        4
  Lines         263      255       -8
==========================================
  Hits          234      234
+ Misses         19       13       -6
+ Partials       10        8       -2

Impacted Files
Coverage Δ

gue.go
94.89% <97.56%> (+7.16%)
:arrow_up:

Continue to review full report at Codecov.

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


Update sample links

Update links to more relevant examples. Use bullet points formatting.

@simonaco,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/includes/mysql-samples.md
:white_check_mark:Succeeded

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.

#sign-off

@simonaco Merged


:construction_worker: Updates from CI/CD source

Upstream CICD repo handles the dependabot file. Downstream repos can still use dependabot updates.


Unable to add defs to DescriptorPool: out of memory (Google::Protobuf::TypeError)

Hello,
I'm running an issue when trying to start a rails server after adding the gem in the project. It seems to be related to the following issues but I haven't been able to figure out a workaround yet.
Related issues:

https://github.com/ruby-protobuf/protobuf/issues/381
https://github.com/protocolbuffers/protobuf/pull/2478

The stacktrace:
bash-5.0# bundle exec rails s -b <IP_ADDRESS>
Traceback (most recent call last):
	61: from bin/rails:6:in `<main>'
	60: from /bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/dependencies.rb:332:in `require'
	59: from /bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/dependencies.rb:299:in `load_dependency'
	58: from /bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/dependencies.rb:332:in `block in require'
	57: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
	56: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
	55: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
	54: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
	53: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
	52: from /bundle/ruby/2.7.0/gems/railties-6.1.0/lib/rails/commands.rb:18:in `<main>'
	51: from /bundle/ruby/2.7.0/gems/railties-6.1.0/lib/rails/command.rb:50:in `invoke'
	50: from /bundle/ruby/2.7.0/gems/railties-6.1.0/lib/rails/command/base.rb:69:in `perform'
	49: from /bundle/ruby/2.7.0/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'
	48: from /bundle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'
	47: from /bundle/ruby/2.7.0/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'
	46: from /bundle/ruby/2.7.0/gems/railties-6.1.0/lib/rails/commands/server/server_command.rb:135:in `perform'
	45: from /bundle/ruby/2.7.0/gems/railties-6.1.0/lib/rails/commands/server/server_command.rb:135:in `tap'
	44: from /bundle/ruby/2.7.0/gems/railties-6.1.0/lib/rails/commands/server/server_command.rb:138:in `block in perform'
	43: from /bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/dependencies.rb:332:in `require'
	42: from /bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/dependencies.rb:299:in `load_dependency'
	41: from /bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/dependencies.rb:332:in `block in require'
	40: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
	39: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
	38: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
	37: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
	36: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
	35: from /var/www/app/config/application.rb:15:in `<main>'
	34: from /usr/local/lib/ruby/2.7.0/bundler.rb:174:in `require'
	33: from /usr/local/lib/ruby/2.7.0/bundler/runtime.rb:58:in `require'
	32: from /usr/local/lib/ruby/2.7.0/bundler/runtime.rb:58:in `each'
	31: from /usr/local/lib/ruby/2.7.0/bundler/runtime.rb:69:in `block in require'
	30: from /usr/local/lib/ruby/2.7.0/bundler/runtime.rb:69:in `each'
	29: from /usr/local/lib/ruby/2.7.0/bundler/runtime.rb:74:in `block (2 levels) in require'
	28: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
	27: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
	26: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
	25: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
	24: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
	23: from /bundle/ruby/2.7.0/gems/apollo-studio-tracing-1.0.1/lib/apollo-studio-tracing.rb:3:in `<main>'
	22: from /bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/dependencies.rb:332:in `require'
	21: from /bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/dependencies.rb:299:in `load_dependency'
	20: from /bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/dependencies.rb:332:in `block in require'
	19: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
	18: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
	17: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
	16: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
	15: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
	14: from /bundle/ruby/2.7.0/gems/apollo-studio-tracing-1.0.1/lib/apollo-studio-tracing/proto.rb:3:in `<main>'
	13: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:53:in `require_relative'
	12: from /bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/dependencies.rb:332:in `require'
	11: from /bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/dependencies.rb:299:in `load_dependency'
	10: from /bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/dependencies.rb:332:in `block in require'
	 9: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
	 8: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
	 7: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
	 6: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
	 5: from /bundle/ruby/2.7.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
	 4: from /bundle/ruby/2.7.0/gems/apollo-studio-tracing-1.0.1/lib/apollo-studio-tracing/proto/apollo_pb.rb:7:in `<main>'
	 3: from /bundle/ruby/2.7.0/gems/apollo-studio-tracing-1.0.1/lib/apollo-studio-tracing/proto/apollo_pb.rb:7:in `build'
	 2: from /bundle/ruby/2.7.0/gems/apollo-studio-tracing-1.0.1/lib/apollo-studio-tracing/proto/apollo_pb.rb:7:in `instance_eval'
	 1: from /bundle/ruby/2.7.0/gems/apollo-studio-tracing-1.0.1/lib/apollo-studio-tracing/proto/apollo_pb.rb:8:in `block in <main>'
/bundle/ruby/2.7.0/gems/apollo-studio-tracing-1.0.1/lib/apollo-studio-tracing/proto/apollo_pb.rb:8:in `add_file': Unable to add defs to DescriptorPool: out of memory (Google::Protobuf::TypeError)

Thanks before hand!

Thanks for the report! Is there any chance you can provide a repro case in the form of a repo?

Will see if I can reproduce it outside of my project!


feat(conductor): implement derivation and execution of optimism DepositTransactions

Summary
At a high level, this PR introduces the ability to bridge ETH from an ETH-L1 to a rollup running on Astria. This occurs by updating the consensus driver (ie conductor) to derive deposits from an ETH-L1 and send them to a rollup node which is able to understand and execute these deposits, thus minting the funds on the L2.
see also https://github.com/astriaorg/op-geth/pull/1
Background
We want to be able to use ETH as a gas token on rollups running on Astria. As well, we want to see if we can use the op-stack as a bridging solution for these rollups.
Changes

implement the astria-optimism crate which contains logic for reading and submitting deposits to an OptimismPortal contract (the contract deployed on L1 for op-stack rollups, which accepts ETH deposits)
the astria-optimism crate also contains logic for converting TransactionDeposited events (emitted when a deposit is made) into a DepositTransaction which is a transaction type on the L2
update conductor to have an optional optimism config, which, when enabled, allows conductor to watch for TransactionDeposited on an ETH L1 and convert and execute these as DepositTransactions on the L2.
TODO; we also need to figure out block timing and finality; this PR will not sync deposit transactions properly if conductor restarts (it will re-execute all of them, unless the initial_ethereum_l1_block_height is updated), or deal with re-orgs on the ETH chain. we need to figure out how to map sequencer/rollup blocks to eth blocks in a deterministic way.

Testing
astria-optimism: unit tests
conductor: unit test + manual testing, see https://www.notion.so/astria-org/op-stack-on-astria-ba781ff4bc3244de84f91fef523dbb43?pvs=4
Breaking Changelist

none, as the optimism feature is disabled by default

Related Issues
none

Going to give an early comment on the draft: can you redefine executor in terms of abstract interfaces that can be implemented for optimism or any other chains that require custom logic?

yeah i can try, in this case might end up being basically two separate implementations of executor lol. but i'll see what i can do

@SuperFluffy comments addressed! except for the builder pattern for Executor, let me know if you are still going to address that


Update Go paging iterators

The slight differences between Next and NextPage were hard to get right
using the existing division of labor. Refactored so that apiCall does
not deal with when to return Done, it just calls the List method and
sets some iterator fields. Deciding when to return Done and what to
return along with it is left to Next and NextPage.
This change was tested against the iterator tests of the logging client.

@saicheems

Ah, I couldn't figure out for a while why the spacing looked weird in the diff.
Due to some failures in the template language, mixing spaces and tabs doesn't work well - could you run a text replace on tab => 4 spaces?
To get the tests working, the generator outputs the actual baseline to /tmp/com.google...
Copy that into the test/com.google.../testdata directory.

Thanks for making this change! It is tricky to get some functional subtleties across via docs and email

I fixed the spacing, but I can't find the file go_main_library.baseline anywhere.

Hmm... It should be here /tmp/com.google.api.codegen_testdata/go_main_library.baseline
If it's not, I ran the build for your branch on my machine:
https://gist.githubusercontent.com/saicheems/83509f4ca04a2c76a3093e6b2ba3e11a/raw/0ac2596205d59ba270ae07747fffb1801e132eb7/gistfile1.txt

The only file I see in that gist is google.golang.org/cloud/library/apiv1/library_client.go. Also it's v1, not v2.

Right, it's the full baseline: go_main_library.baseline
If you copy that into src/test/java/com/google/api/codegen/testdata the travis build will pass

Looks like it worked. Thanks!

lgtm


Bump iohk-nix to get new shelley_testnet genesis

shelley_testnet was restarted this morning. This updates iohk-nix to get the latest deployment configurations in the $CARDANO_NODE_CONFIGS variable.

bors r+


[New Resource] xNetAdapterBinding

Add a new resource for enabling/disabling Net Adapter binding on specific Adapters. This would be mainly used for disabling the "Client for Microsoft Networks" or other similar bindings.
It would use the:
Get-NetAdapterBinding and Set-NetAdapterBinding cmdlets.

This resource will also need Enable-NetAdapterBinding and Disable-NetAdapterBinding as well.
I have started work on this one.


fix: Improve support for dynamic text in content cards GRO-1403

Turns out it's pretty easy to get at the font scale for users that have increased it! Docs here:
https://reactnative.dev/docs/pixelratio#getfontscale
And so @pvinis had the idea to just use this scale to grow the content card height and that does in fact ensure that the button shows up.

screenshots

https://artsyproduct.atlassian.net/browse/GRO-1403
/cc @artsy/grow-devs

We thought we could switch the layout on high font scales, so that the image is on top and text at the bottom, so that there is more horizontal space for the text to do its thing. 🤔 though, like @jonallured said, it's a whole thing again to go through design, which is annoying to block devs, but 🤷.

Ok paired with @kathytafel and made a couple more improvements by clamping the image width and increasing the number of description lines - looks like this:


Kafka Misspelled

Kafka is misspelled in the sentence "Then it sends a notification message using Kakfa-enabled Event Hubs."

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1970e0cd-53ae-02f6-479b-9ca386a5220e
Version Independent ID: 8a81baa3-61c2-a8f6-540c-9a239583b8d6
Content: Claim-Check pattern - Cloud Design Patterns
Content Source: docs/patterns/claim-check.md
Service: architecture-center
Sub-service: cloud-fundamentals
GitHub Login: @yorek
Microsoft Alias: pnp

@ScoGroMSFT  Thank you for your feedback! We will review and update as appropriate.

Hi @ScoGroMSFT Thanks reporting this to us and helping us drive improvements towards MS Docs. I've gone ahead and created a PR for this issue, and the change should reflect soon.
We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Add a 'lit' test for Xcode project generation

The test takes ~100s on my machine.

@swift-ci please smoke test macOS

186.43s: Swift-validation(macosx-x86_64) :: BuildSystem/generate_xcode.test

@swift-ci please smoke test macOS

Hm, it seems like none of the macOS PR testing jobs run long tests. I can only see branch jobs running them. Do we keep the requirement?

Let’s make it a non-long test then, I’d say.

@swift-ci please smoke test macOS

When you @mention a GitHub username anywhere
in the context of an issue or pull request, that person is notified and
subscribed to future updates.

@shahmishal ping

@swift-ci smoke test


FastAccelStepper not installed automatically when using PlatformIO

At the moment, you can download this library with the following syntax in your platformio.ini file, however it will not pull in the dependencies:
; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
lib_deps =
    https://github.com/theelims/StrokeEngine.git#main

This is easily solved by adding an additional line:
; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
lib_deps =
    https://github.com/theelims/StrokeEngine.git#main
<EMAIL_ADDRESS>
however it would be good if the dependencies could be installed automatically via https://docs.platformio.org/en/latest/manifests/library-json/fields/dependencies.html

Good point. I will rework library.properties into a library.json with the next release.

Thanks!
It's working really well though on my test rig, I just need to fine tune the settings at the top of the file and get some silent stepper drivers because it's squealing at the moment!


[zh] Update reference\glossary (14)

Update about reference/glossary,this chapter is often used, so make adjustments,and ensure all these files were still in sync with English upstream now.
the following
content/zh-cn/docs/reference/glossary/finalizer.md
content/zh-cn/docs/reference/glossary/flexvolume.md
content/zh-cn/docs/reference/glossary/garbage-collection.md
content/zh-cn/docs/reference/glossary/helm-chart.md
content/zh-cn/docs/reference/glossary/horizontal-pod-autoscaler.md

Signed-off-by: ydFu<EMAIL_ADDRESS>

Thanks.
/approve

Thanks
/lgtm


removes use of sc_client::Client from sc_network

see #4452

@seunlanlege needs merge and tests are failing.

@gnunicorn green check marks on tests.


Featured image in post tile

In the posts view, each post is shown in a tile, three columns wide.
Posts with a featured image show without image.
It would be nice if the tile also shows that featured image.

I also want the same.

I can get that to work if I have it in the root of the posts.  However, if I have it in its own directory, it does not show any image in the post tiles.
If I move a post into the root, the picture shows up in the post tile preview.  I put it back in a sub directory (for its category) it has no picture.
Is there a way to make this work for subdirs?

First, the Ananke theme expects that your “posts” will be in content/post/ (singular) not content/posts/ (plural).
Second, to render featured images when viewing “post” list pages (regardless of depth):
mkdir -p layouts/post
cp themes/ananke/layouts/post/list.html layouts/post/list.html
Then edit layouts/post/list.html. Change this:
{{ .Render "summary" }} to this:
{{ .Render "summary-with-image" }}
I have confirmed this works.  Issue should be close.
Answer from  https://discourse.gohugo.io/t/looking-for-theme-that-does-posts-previews-with-thumbnails-on-subdirectories/38472

Ananke does this partially but not specifically in this situation.  Don't close my issue because you think it should be. Unless you are the repo owner of course.

You should adjust your original complaint or make a new one.

Tried this, unfortunately it doesn't work.
It used to be that in config.toml you could set featured_image to the path of the image you wanted and get the hero image for the site.

I don't really like this feature. If it's added in the future, I'd like to have the option to keep it as is!

cp themes/ananke/layouts/post/list.html layouts/post/list.html

doesn't work for me either
any other ideas would be appreciated


Label kube-aggregator.kubernetes.io/automanaged not registered / documented

This is a Bug Report

Problem:
Code from the Kubernetes project sets (or previously did set) a label, kube-aggregator.kubernetes.io/automanaged
This looks intended, but https://kubernetes.io/docs/reference/labels-annotations-taints/ doesn't document that label.
Proposed Solution:
Document that label; as a side effect, this registers it. If it's deprecated, we should mark it as deprecated but still document it.
Page to Update:
https://kubernetes.io/docs/reference/labels-annotations-taints/

Additional Information:
/language en
/priority backlog

/assign

/triage accepted

Created a PR, Havent seen any document for it's deprecation . Please let me know if any change is needed.

Since this issue's PR is already merged. i'd like to close it

/close


Update determining-whether-a-leak-exists.md

Did you mean to add something different?  I see bbb as the payload of this PR.

Hi, Ted. I clicked on submit accidentally. Sorry!
I use this page to teach technical writing graduate students on how Github is being used to collect user feedback. Sorry for the bother.
Nupoor.
On Sep 28, 2022, at 3:42 PM, Ted Hudek<EMAIL_ADDRESS>wrote:
Did you mean to add something different? I see bbb as the payload of this PR.
—
Reply to this email directly, view it on GitHubhttps://secure-web.cisco.com/1Cu7jh4lLGcdINcW7ftm-EjzHfset2CwzlB1u8MnhDENQsmVxNHnAMF2oOJS65glI9SAdr2Mc1AjhIVKrL6D3L968wo1Vf8WUJOkeCCK3vXCn21d3r4RbCIEmPin1WT3ECCjU_vAATfwqdxY8KXuVLxlHIdgaMPKbw0mUTNc60ESbgF4x2YXDGQLt32ncEBvrm_xnPRf48YtD9yjw6Y7K3mGU-XMNzHGMFWJH56iDGK6m30XIpH7w1p09gioxKjcYYP_vnnEFbUV1CAjOkw3y0KMCcfwRvDVaZD2ctmYk9Bt2NtSJOhV7-c6klrUb3bwHomhCpXmxydJEqTe5dIh7hyIdbGb6s3h3UTigNKPqqVHpW7bnFtHHU6EICY3n_9AU-D08Y-FjNTMlkZhb2GrzynNBP_kyJAw7DWUu600XrmQB0YNVik4749iNHzNerFNeF2m5IjWppQWkw39B5F9eZg/https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fwindows-driver-docs%2Fpull%2F3282%23issuecomment-1261537183, or unsubscribehttps://secure-web.cisco.com/1dWT5gJoPcIh8S4bm9K_vKnRQX_Kq6cxxXx7z-ylmos-xwtgTPSxcDKizN84O0QIOXvx8aV8p56pvC-nDguo2hAwwaFYlPcttKkcJIwA3ya8cX2kBAvSHpp4X5C9plFRv1oyqXjNHQThq-dukXRJehlAYsdqD6DgUWlO43bCyYCgwvgo14DNpcNB3vUe9zBnkCHsiZb! fg-FCs8eyQivXO8MsufURGbKNtOO0eGXFoAPO7DkhZ8jBk-n8tFHEXQ2HKOiZzo215xp_sW-HdqToXJJDJT8nOQKx__rQqgACLUT_uLGikLNx3qKqr4mhyGEFQj5ILaZB1UjKBl_FY5NfPUIjjmgqjmmRDI3YNauyl8hAIIJF7bSVbCNNLGyf_C1sR8AeQyr3vMiB0r5BiaNU-fD_5LJjQX53EN4zfqVqTrcFOsENXx__G_VjieuqBGS82Q_ANphKdUFhg21ngWiXb2A/https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAUVAL3YXNQZ7HKJS7NG3ZH3WATCWFANCNFSM6AAAAAAQYG3U7A.
You are receiving this because you authored the thread.Message ID: @.***>

Learn Build status updates of commit 2e7b762:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-driver-docs-pr/debugger/determining-whether-a-leak-exists.md
:white_check_mark:Succeeded

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 learn.microsoft.com contributor guidesPost your question in the Learn support channel


Getting Delegation for Script based addess fix

Getting delegation info from Ogmios for rewards accounts based on script was failing when fetching based on hash.
Passing the rewards address raw works for regular and script address.

I don't think this is the case, but I merge this anyway. Need to make one transformation less in the function.

https://github.com/CardanoSolutions/ogmios/issues/305#event-8457287944


Missing dependency: urllib3

The library depends on urllib3, which is not specified as a dependency.

Fixed with new setup.py file as v0.3.2 and reuploaded to pypi.