Do something else with examples_utils code?

Currently, we have a folder of examples_utils, which contains some code leftover from the workshop(s) we ran, including downloading data and plotting. Should think more carefully about what to do with them (downloading data, in particular, should probably be changed to using pooch, see this plenoptic PR and the FENS workshop). And the plotting code could potentially be made more general.

importlib is pretty cool, we should use it! For what it concerns the plotting utils, is there a way to include the script when downloading the notebook/script generated by mkdocs-gallery? It is a bit annoying that people cannot run the notebook without downloading extra utils.

Agreed that it's annoying and ideally people won't have to download anything else. I think the mplstyle file and data downloading should be moved into the main code. For the plotting code, I think we'll need to think: for some of them, it may be worth generalizing them a little and including in the main code. For others that are too example-specific, ideally they'd be in the notebook but hidden, but I can't find a way to do that in mkdocs-gallery (or sphinx-gallery, for that matter). It's probably worth poking around other packages, to see what they do, and asking around.

Edoardo figured out how to get collapsible blocks using the ??? syntax, but those cells don't get run, so it doesn't solve this problem. what we want is something like the hide-input tag from myst-nb

close with PR #216


 error message when creating blogs in production.
May be localized to 'clean-jekyll' theme.

Just got a new error:

Checked PaperTrail log and found this:
PUT https://api.github.com/repos/trevormast/error-check/contents/README.md: 409 - README.md does not match

and this:
GET https://api.github.com/repos/trevormast/error-check4/git/refs/heads/master: 404 - Not Found // See: https://developer.github.com/v3

The page build failed with the following error:
Your site is using the relative_permalinks configuration option. This setting is deprecated as has been removed from the latest version of Jekyll. To ensure your site continues to build as expected, remove the option from your site's configuration and update any post or page permalinks to be absolute to the site root, not the parent folder. For more information, see https://help.github.com/articles/page-build-failed-relative-permalinks-configured.

Looks like Heroku times out requests after 30 seconds and isn't configurable.
https://devcenter.heroku.com/articles/request-timeout

I'm getting build error emails from Github saying that there are symlinks that are not in the _includes directory.  This is likely because GHPages is attempting to build after every commit--the builds error because the Jekyll site is only partially committed.
A possible solution to this problem could be to initially commit to a feature branch and then merge into gh-pages.


ServerReflectionResponse.original_request not populated in Python grpc_reflection

What version of gRPC and what language are you using?
Python, grpc version 1.64.1
What operating system (Linux, Windows,...) and version?
macOS
What runtime / compiler are you using (e.g. python version or version of gcc)
Python 3.9.9
What did you do?
We have some client code manually making gRPC reflection calls, and it relies on ServerReflectionResponse.original_request.
What did you expect to see?
Since this is defined in the reflection proto (v1 and v1alpha), we assume it should be there:
https://github.com/grpc/grpc/blob/205783fc4fedeb0f606b53c79014d2bbdba68eed/src/proto/grpc/reflection/v1/reflection.proto#L84
https://github.com/grpc/grpc/blob/205783fc4fedeb0f606b53c79014d2bbdba68eed/src/proto/grpc/reflection/v1alpha/reflection.proto#L74
What did you see instead?
But it's not being populated by the Python server library grpc_reflection.v1alpha:
https://github.com/grpc/grpc/blob/b4fa67a4525e72015f551cdd44f0eead100ce897/src/python/grpcio_reflection/grpc_reflection/v1alpha/_base.py#L131-L139
While it is being populated in Java and Node.js for example.

I opened a PR to close the issue: https://github.com/grpc/grpc/pull/36944


Could not resolve resource  Function Apps

This is probably related to 4111, but the new version did not work for us. We are not using any form of Azure Government.

1- macOS.
2- Contributor role present.
3- Issue happens across team members.
5- App services and Static web apps are facing the same issue. However, containers apps and service busses for example work fine.
6- Azure Resources extension works as expected when uninstalling Azure Functions extension. Same thing for other resources.
7- FAs are spread across different resource groups.
Things we've tried so far:
1- Downgrading Azure Resources and Azure Functions to previous version.
2- Uninstalling and reinstalling package.
3- Updating both Azure Resources and Azure Functions extensions to the latest versions.

Hi @vdmazahreh
Sorry you're running into this issue, but could you answer a few questions for me to help debug this?

Is there an error popping up on the bottom right? If so, could you give me the exact error message that is popping up?
Have you create a containerized function app? And if so, is it in the same geolocation as the App Service/Static Web/Function apps that are having this error?

Hey @nturinski maybe i can chime in here since @vdmazahreh was helping me out with this issue.

Is there an error popping up on the bottom right? If so, could you give me the exact error message that is popping up?

Have you create a containerized function app? And if so, is it in the same geolocation as the App Service/Static Web/Function apps that are having this error?

Yes the containerized func app is in west europe which is same as the location of app service

Thanks for the fast response @yashdhanore
Well, it's good to know that it was the issue that I was expecting 🤔
Unfortunately, this is an Azure service issue. For whatever reason, Azure does not love when a containerized function app is in the same region as another app type (it can be App Service, Static, or Function). The payload we get from the LIST call doesn't contain this required property (defaultHostName) and causes our extension to break.
The current workaround is to have your containerized function app in a different region from all of your other standard apps, though I realize that is not a great solution 🙁
I would hope that the service would fix this, but we will investigate a workaround from the dev tooling side as well. Sorry about this inconvenience.

@nturinski Thanks for clarifying this! i think we can work with having it in different region for now 😁

Thank you @nturinski for your help!

hey @nturinski i deleted the containerized function app and the managed environment associated with it and i still get the same error 🙁

😭 Okay, well that super sucks.
Sorry, I don't have a clear timeline when this will be fixed, but we'll start investigating what we can do on our end to mitigate this nasty behavior. I'll let you all know when we have a fix up for PR and when you can expect it to release.

Hi, just wanted to let you know that we have merged a fix and it should be released sometime next week!
If you'd like to test it now, you can download the artifact from this run:
https://github.com/microsoft/vscode-azurefunctions/actions/runs/9107955805

Scroll to the bottom of the page

Unzip the file
In VS Code, press F1 to open the command palette
Search for the command Install from VSIX
Select the vsix you just extracted

If you do end up trying the alpha build, please let me know if it actually resolves the issue!

Found an alternative way to deploy azure function locally: https://learn.microsoft.com/en-us/azure/azure-functions/functions-core-tools-reference?tabs=v2#func-azure-functionapp-publish

[like]  Zihan Fang reacted to your message:

From: Nathan @.>
Sent: Thursday, May 16, 2024 7:20:57 AM
To: microsoft/vscode-azurefunctions @.>
Cc: Zihan Fang @.>; Comment @.>
Subject: Re: [microsoft/vscode-azurefunctions] Could not resolve resource  Function Apps (Issue #4121)
Hi, just wanted to let you know that we have merged a fix and it should be released sometime next week!
If you'd like to test it now, you can download the artifact from this run:
https://github.com/microsoft/vscode-azurefunctions/actions/runs/9107955805

Scroll to the bottom of the page
image.png (view on web)https://github.com/microsoft/vscode-azurefunctions/assets/5290572/908b7ca1-a08c-4459-b3df-7f54c94bfb99
Unzip the file
In VS Code, press F1 to open the command palette
Search for the command Install from VSIX
Select the vsix you just extracted

If you do end up trying the alpha build, please let me know if it actually resolves the issue!
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vscode-azurefunctions/issues/4121#issuecomment-2114252246, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A7T4LXCSHZN645IEK2BG2JLZCRM5TAVCNFSM6AAAAABHFZYL6OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJUGI2TEMRUGY.
 I'm using v1.14.4-alpha.0 which you mentioned and i still get the same could not resolve resource error. Apart from that in the outputs section i see that it is trying to fetch resources which have been deleted so it says the The Resource 'Microsoft.Web/sites/' under resource group '' was not found.


Arven Scans Theme Changed

Source information
Arven Scans 1.4.30
Source language
English
Source new URL
https://arvencomics.com
Other details
Not showing manga on extension.
Acknowledgements

[X] I have updated all installed extensions.
[X] I have opened WebView and checked that the source URL has not changed yet.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I will fill out all of the requested information in this form.

Wrong issue request, make one with the issue report, not URL change

This is not a duplicate. Arven Scans theme has changed


Mod Icon Transparency

I don't know if there were big changes between those two versions, but in version 1.5.4, mod icons could use transparent backgrounds, I just updated to 1.6.1 and it doesn't seem to be transparent anymore.

Using Fabric API v0.3.0 b175

This is intentional, to give mods more uniformity.


[Feature/extensions] Add dependency information to Extensions

Signed-off-by: Frank Lou<EMAIL_ADDRESS>
Description

Create ExtensionDependency class with two field (uniqueId and version) to  get and store dependency information data
Add optional field List<ExtensionDependency> dependencies in DiscoveryExtension class to let Jackson ObjectMapper can automatically map the dependencies entry to List<ExtensionDependency>.
Update the extensions.yml to show how it looks like after get the dependency information.

Issues Resolved
Fixs https://github.com/opensearch-project/opensearch-sdk-java/issues/151
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Good start. Don't forget you'll need tests.

for the tests, do you means ExtensionsOrchestratorTest.java or I need to create a new test for ExtensionDependency.java?

Codecov Report

Merging #5438 (ea6c97c) into feature/extensions (b49e2af) will increase coverage by 0.12%.
The diff coverage is 80.00%.

@@                   Coverage Diff                    @@
##             feature/extensions    #5438      +/-   ##
========================================================
+ Coverage                 70.97%   71.09%   +0.12%
- Complexity                58486    58541      +55
========================================================
  Files                      4756     4757       +1
  Lines                    278926   278956      +30
  Branches                  40283    40287       +4
========================================================
+ Hits                     197964   198321     +357
+ Misses                    64810    64516     -294
+ Partials                  16152    16119      -33

Impacted Files
Coverage Δ

...org/opensearch/extensions/ExtensionDependency.java
68.42% <68.42%> (ø)

.../org/opensearch/extensions/DiscoveryExtension.java
94.73% <100.00%> (+4.73%)
:arrow_up:

.../opensearch/extensions/ExtensionsOrchestrator.java
66.84% <100.00%> (+0.18%)
:arrow_up:

.../org/opensearch/extensions/ExtensionsSettings.java
96.61% <100.00%> (+0.05%)
:arrow_up:

...cluster/coordination/PendingClusterStateStats.java
20.00% <0.00%> (-48.00%)
:arrow_down:

...pensearch/action/ingest/DeletePipelineRequest.java
31.25% <0.00%> (-37.50%)
:arrow_down:

...ion/admin/cluster/node/info/PluginsAndModules.java
53.12% <0.00%> (-34.38%)
:arrow_down:

...search/search/aggregations/pipeline/EwmaModel.java
24.44% <0.00%> (-33.34%)
:arrow_down:

...search/aggregations/pipeline/HoltWintersModel.java
21.47% <0.00%> (-29.54%)
:arrow_down:

...opensearch/index/reindex/BulkByScrollResponse.java
48.38% <0.00%> (-28.23%)
:arrow_down:

... and 457 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@mloufra Can you confirm that ./gradlew :server:test passes? We can ignore the 2.5 errors for now if the server tests are successful.

sure

@mloufra will this change affect SDK in any way? Do we have to raise any companion PR?

Will this change affect SDK in any way? Do we have to raise any companion PR?

The work on SDK issue 149 will leverage this, but for now it's stand-alone.

@mloufra Can you confirm that ./gradlew :server:test passes? We can ignore the 2.5 errors for now if the server tests are successful.

sure

The /gradlew :server:test is pass on my local.

LGTM.  Tests should pass after a rebase, @mloufra.


Add sample file for the act-as-share-provider-dll.yml rule

Add sample file for the act-as-share-provider-dll.yml rule - https://github.com/mandiant/capa-rules/pull/902

thanks


ARMADA-799 Update charm for next-gen jobbergate

What
Update charm for next-gen jobbergate.
Why
Need to have a branch targeting the next-gen jobbergate-cli that includes these updates.
The main branch should continue to support the legacy jobbergate-cli.
Task: https://app.clickup.com/t/18022949/ARMADA-799

Peer Review
Please follow the upstream omnivector documentation concerning
peer-review guidelines.

It's been very weird for me to have it named as new-jobbergate. I think just jobbergate-v3 would be better

It's been very weird for me to have it named as new-jobbergate. I think just jobbergate-v3 would be better

Specially because, as far as I tested here, I still need to run jobbergate to invoke the commands

It's been very weird for me to have it named as new-jobbergate. I think just jobbergate-v3 would be better

Specially because, as far as I tested here, I still need to run jobbergate to invoke the commands

Do you mean we need a way to rename the executable command as well? Any suggestions on that?


Create table "img_rescan_candidates", and the dao funcs for CRUD.

All it needs will be image which is $repo:$tag and creation_time which is the timestamp

Per discussion and the scope change, close it for now.


[Bug Report] table: Multiple select

Element UI version
2.9.1
OS/Browsers version
Win10/Chromium 69.0
Vue version
2.6.10
Reproduction Link
https://codepen.io/anon/pen/qGgmdX
Steps to reproduce

Bind the 'select' event on a multiple select table.
Click the 'TOGGLE!' button, it will call table's function:  'toggleRowSelection()'
The function triggers the 'select' event which is not called manually. Because there's an alert dialog showed.

What is Expected?
The 'select' event only triggers when USER clicks the checkbox in a row in the version 2.6.3.
Any function call (e.g.: toggleRowSelection()) SHOULD NOT trigger this event.
What is actually happening?
Call MultipleTable's function: 'toggleRowSelection()' will trigger its 'select' event in version 2.9.1.

我也遇到了 目前只能将版本回退到2.8才能正常


A multiple choice question in which a user does not want to select any of the options cannot be marked as complete

If someone does not want to select any of the options on a multiple choice question and leaves it blank intentionally, this still counts as an incomplete question. I am not sure how to best approach this problem.

Found a solution: we first ask did you use .... with options yes and no, and only offer the options if the user says yes


Integration - caf_solutions - Add RG and VM in output

Issue-id
PR Checklist

[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[ ] My code follows the code style of this project.
[ ] I ran lint checks locally prior to submission.
[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Description

Does this introduce a breaking change

[ ] YES
[ ] NO

Testing

@arnaudlh can you please approve and merge this PR ?

@arnaudlh can you please cancel and close this one as it's no longer needed with 5.3.0

Closing as fixed in 2103 release.


Reorder steps

Currently the steps run in this order:

Checkout code
Compile Paper
Upload PDF file to papers repo
Find most similar paper
Post recommendations
Reply message with PDF links

There are two problems with that order:

TheCheckout code step runs always and takes a long time because it clones all the joss-papers repo, but is only needed when the Find most similar paper is run
The reply with the links to the compiled pdf is sent after the recommendations are created and only if it doesn't fail

This PR reorders the steps to make the pdf generation to run faster (before checkout code) and reply sooner (before calculating recommendations):

Compile Paper
Upload PDF file to papers repo
Reply message with PDF links
Checkout code
Find most similar paper
Post recommendations

It also adds extra conditions to run the 3 recommendations-related steps: They will only run when
PDF step was successful AND when the issue_title starts with '[PRE REVIEW]'

:+1: LGTM

Nice, just got a live test here: https://github.com/openjournals/joss-papers/actions/runs/6311277332/job/17134960677

Great!


Sync problem (同步问题)

你好。
首次同步正常，后续同步就出现这样的错误显示，我没做任何修改设置。
我不懂程序代码，专业术语我看不懂，不知道如何修改。
后续根据教程修改connect设置，但还是出现这个。

软件很喜欢。操作方便，同步效果非常棒，几乎做到了完全数据同步。
小问题：

从obsidian同步到anki的文档中有一些长文，居中显示的话就观感不舒服。想通过添加靠左显示的代码来呈现，可同步用的默认模板又不可修改。
标题识别，初次同步到anki时，微信读书同步的标题会自动识别到首字段，但后续同步时可能出现替换为元数据标题。同时它也将obsidian中微信读书插件同步文档的书名标题全部更改为元数据三个字。
同步文档内时间戳视频笔记截图稍多时，图片则不显示，显示为图片的链接。

Machine translation of the above:

Hello.
The first sync works normally, but subsequent syncs show this error, and I haven't modified any settings. I don't understand programming code or technical terms, so I don't know how to fix it. I later modified the connect settings according to the tutorial, but this still occurs.
I really like the software. It's easy to operate, and the sync effect is excellent, achieving almost complete data synchronization.
Minor issues:

Some long texts from Obsidian synced to Anki are center-aligned, which isn't visually comfortable. I want to add code for left alignment, but the default template used for syncing can't be modified.
Regarding title recognition, during the initial sync to Anki, WeChat Reading's synced titles are automatically recognized in the first field, but in subsequent syncs, they might be replaced with metadata titles. At the same time, it also changes all book title headers in Obsidian's WeChat Reading plugin synced documents to the word "metadata."
When syncing documents with timestamps and multiple video note screenshots, the images don't display and instead show up as image links.

很抱歉，我不会说中文。请您自行翻译以下内容。
Thank you for opening an issue and for using the plugin. I'll try to address your questions as best as I can understand them through machine translation:
Synchronization issues
I can't quite understand what might be causing this from your description, and I haven't seen this particular error come up before. Can you please share a minimal Obsidian vault / set of markdown notes that reproduces the issue?
The nature of the error message points to only a few points in the source code, one related to tag equality checks and the other related to loading local note files.
Minor issues
Center alignment
Yanki Obsidian uses the default Anki CSS stylesheet, which is why you're seeing the centered text. The CLI version of Yanki provides a style command to manage custom style sheets, but this functionality is not currently exposed in the UI provided in Yanki Obsidian. I'm planning to add support for custom CSS in a future version of Yanki Obsidian. If you really want this functionality now, you could look into using the CLI version directly.
Title recognition
I'm not quite clear on this, if you can provide a sample note reproducing the issue that would help. do you have automatic note names enabled?
Attachments
Have you confirmed that this is related to timestamps? Not all file types can be synced and played back in Anki, in these cases Yanki will fall back to a link. Again if you can provide an example note and asset I can take a look! Also note that the Sync media assets settings will affect how linked assets are handled.

你好，非常感谢你的回复。我的英文不好，不好用翻译软件发给你，担心有语法相关的错误。你可以使用翻译软件阅读。
同步出错问题

终于找到了，通过文件夹和文档一个个来排除，检验，最终确认是这个文档导致的，我也不知道为什么。
把这个文档移动到任意文件夹中，初次同步有效，后续就会出现错误。删除该文档又可以同步。

《春雪》.md

春雪附件：

图片不显示问题

有些文档中的图片不显示，与格式，时间戳和文档无关，相同的图片文件在不同的文档中，有的显示，有的不显示。把不显示的图片插入到可显示图片的文档中，却可以显示出来。
应该是同步问题。

CLI版本

抱歉，我没有程序编程相关的知识，若是复杂，我可能不知道怎么使用它。我期待后续yanki的更新。

增加小功能

希望在后续的yanki同步中添加同步进度状态的显示。

@kitschpatrol
你好，非常感谢你的回复。我的英文不好，不好用翻译软件发给你，担心有语法相关的错误。你可以使用翻译软件阅读。
同步出错问题

终于找到了，通过文件夹和文档一个个来排除，检验，最终确认是这个文档导致的，我也不知道为什么。
把这个文档移动到任意文件夹中，初次同步有效，后续就会出现错误。删除该文档又可以同步。

《春雪》.md

春雪附件：

图片不显示问题

有些文档中的图片不显示，与格式，时间戳和文档无关，相同的图片文件在不同的文档中，有的显示，有的不显示。把不显示的图片插入到可显示图片的文档中，却可以显示出来。
应该是同步问题。

重命名问题

确认是微信读书插件同步时会激活yanki的重命名功能。

CLI版本

抱歉，我没有程序编程相关的知识，若是复杂，我可能不知道怎么使用它。我期待后续yanki的更新。

希望增加小功能

希望在后续的yanki同步中添加同步百分比进度状态的显示。目前是完成后的情况。
导出同步时基于标签过滤掉某些不太重要的obsidian文档。

@kitschpatrol
"Hello. The mnemonic 'double the number of cards' has been executed --- times. However, after repeated testing by me, it did not cut the card into two. Additionally, I would like to inquire if there will be customizable fill-in-the-blank marker symbols in future updates? Because when I use Markdown, highlight and bold markup languages are used more frequently, and I would like to use them together with the cloze fill-in-the-blank marker symbols."
自学大全（掀起日本自学狂潮！送给所有不想放弃学习的人55个自学方法！雄踞日本各大畅销书榜！自学百科全书！买回家管用一辈子）.md

Thanks for the suggestion — there will not be an option to customize the syntax. This would be complex to implement, and the plugin already has too many options.
This is one of the tradeoffs of overloading Markdown syntax to represent Anki constructs instead of using raw Anki-style markup.
This approach works well when you're you're writing cards specifically in Markdown with Yanki in mind, but isn't going to work well if you're syncing a large collection of existing Markdown notes.
If you need more customizable behavior, you might want take a look at some of the other Obsidian Anki plugins which offer different sets of tradeoffs from Yanki.

@kitschpatrol
Hello. Not much is needed; just add an option in Yanki to convert the fragments that need to be filled in by replacing the strikethrough with highlighting. Because the strikethrough is not commonly used, it is suitable for Yanki but not for daily annotation, including exporting to other file formats.

I've provided a fix for the TypeError: e.entries is not a function or its return value is not iterable issue in the latest version of the plugin,  1.5.1. Thank you for providing a reproducible example. (It was related to the tag in the YAML frontmatter being a single word instead of an array of tags. The plugin has been updated to support single tags.)
Regarding your other comments:
Tag-based synchronization filtering

Export synchronization filters out some less important obsidian documents based on tags

This has come up before, please see the discussion in #16.
Sync progress

I want to add a display of the sync percentage progress status in the subsequent Yanki sync. It is currently the situation after completion."

I'd welcome a PR with this functionality, but don't have time to implement it right now. (It would be fiddly to implement since Obsidian's plugin API doesn't provide an abstraction for showing progress in the pop-up notices.)
Strikethrough vs. Highlight for cloze deletions
Strikethrough was chosen for cloze deletions specifically because it is semantically consistent with the concept of a cloze (since it resembles redaction), and also specifically because it's not commonly used, making it less likely to be accidentally invoked with typical markup.
If might not sound like much is needed to implement what you've suggested, but there's some technical complexity involved behind the scenes, and I don't want to add options that complicate an (already complicated) part of the plugin's behavior.
If you think otherwise, you are welcome to fork the plugin and implement any options or customizations you'd like. The note type detection code is here, and most of the parsing process happens here.
Picture not showing problem / attachments
I'm interested in this issue but I can't reproduce it with the information provided. Please open a separate issue and provide a test vault if you'd like me to take a look.

I'm closing this issue thread since the synchronization error was the only problem I was able to reproduce from the information provided. Typically, it's helpful to have a single issue for a single bug or feature request, so please feel free to open multiple individual issues each focused on a single topic in the future.


Move xtask under crates/ for consistency

We can leverage the goods of xtask without polluting the root directory with stuff that non-Rust folks will find confusing.

checks are failing because we moved the data-edge.json ABI file in #108, but I believe it is safe to merge this.


Add option for adding content at the start/end of every webpage.

Is your feature request related to a problem? Please describe.
I like to link a page on my website that takes the viewer to the Contact page where they can contact me for further queries or corrections.

This needs to be manually added to every single file, which takes up space and makes it hard to edit down the line (Eg. I move where the contact's page is down the line)
Describe the solution you'd like
An option to add a header template and a footer template file as defined by the user, which automatically appends the contents of those files to the start/end of every page/defined pages
Describe alternatives you've considered
Copy pasting each and every note
using templates
Using tags to quickly find the place where this contact's footer is found
frontmatter
Additional context
There exists an option to use Head content for the plugin, especially with regards to my use case, but I am not sure how to use it for this purpose. It seems perfect, but I am not sure how to use it. A guide would be helpful.

Yes this should be acomplished using the head content. I will create a tutorial for document modifications eventually. But basically you can just upload a javascript file that would add the element dynamically to each page when it loads. You can explore the available frontend api by opening the dev tools on your exported site and typing in ObsidianSite. and exploruing the different objects and options available to interact with.

Hi there. It seems my email didn't go through.
I'm looking forward to that tutorial. I looked around in ObsidianSite. but couldn't find anything that was relevant to my needs. Could you point me to the most relevant function?

Hi there! I'm sorry for bumping this.
I've looked through all the functions of ObsidianSite and I just cannot figure out which function I should use/which object I should modify to do what I need to. My best guesses are ObsidianSite.document (Not sure how I can modify that...) ObsidianSite.loadWebsiteData() (not sure how it works either....)
Anyway, I'm looking forward to that tutorial!

Hi sorry I forgot to get back on this. It is pretty simple, you should be able to run something like this:
ObsidianSite.onDocumentLoad((doc) =>
{
    var footer = document.createElement("div");
    footer.innerText = "Hello World!";
    doc.footerEl.appendChild(footer);
});

ObsidianSite.onDocumentLoad allows you to run a function which returnsany document when it is loaded and allows modifications to the document. Adding elements to the footerEl is probably what you want. This API will get better in the upcoming release as I have put a lot of focus on modularity. Let me know if this doesn't work or if you need any other help :)

Hi there!
I'm not super experienced with HTML or Java, but here's what I did :
I have a folder in my vault that contains various stuff my site could need, like favicons and such called ! - DO NOT EXPORT. Here I put the head.html file I made.

In custom head content I put the following settings

The path points to
! - DO NOT EXPORT/head.html
head.html contains
<!DOCTYPE html>

    <title>Obsidian Page with Footer</title>

I wasn't sure what to look for, so I did a search on the website in the inspector and that returned nothing

And it doesn't appear anywhere on the site either

Note : I did purge +  delete and re-exported everything

Thanks, can you try just pasting the script into the dev tools console in the browser and then switch to a new page and see if it works there? Also what version of the plugin are you using?

Hi!
that worked!
Not sure why I didn't try that at first...
Now I think it has to do with the path itself.
I'm on the following version

Ironically I think that custom head content may be broken in this version. Let me actually go ahead and release a new beta right now, just for you lmao
If you could install the new beta version from BRAT let me know how that goes :)

Hi there! No rush, custom Head content is more of a novelty for my site, not a necessity.
No need to develop anything just for me, considering there are a lot more critical issues needed to be fixed. Let me know when the update is done though! I'll be sure to update via BRAT and let you know

It is actually already done, I already had it fixed in the dev branch just hadn't released it yet XD

Hi! I put the exact same path as before
! - DO NOT EXPORT/head.html but it still doesn't do anythig.
Does HTMLExport look for a full path (i.e. /home/user/Documents/...) or is it with reference to the vault itself? Also, do I need to put escape characters for spaces?

Unfortunately, the browse button does not work properly, so I have to type it myself.  I decided to type in the whole path, which is /home/soham/Documents/Diary/Vaults/My Site/! - DO NOT EXPORT/head.html
Now, the entire head.html file is just

and I re-opened obsidian, and lo and behold, it worked!

Thank you for helping me out with this, and i'll be sure to let you know if this feature breaks in future versions. I'll also have to experiment on making this more dynamic (eg. headings and such, but it should be easy now that we got it working).
I'll keep this issue open in case. Feel free to close it if you believe it's truly done.

A question :
How do I do headings, and links (hrefs and such) from this state? I tried

``` and it wouldn't render the footer in a heading. I even tried `# END OF FILE` but that too did nothing
![image](https://github.com/user-attachments/assets/b46624c5-f0d7-4542-b512-66a766be935f)

Yeah, if you do want to write plain html inside a div like that, you can use innerHTML rather than innerText. But I think you've got it :)

I did, but still, thanks for the tip on innerHTML! There were more options just by inspecting all the properties of document.createElement("div"), all of them seem extremely useful


Error with "reg:tweedie"

Hello.
I installed XGBoost based on the instructions provided [here] for Anaconda 3.4 (Python 3.5) on Windows 10(https://www.ibm.com/developerworks/community/blogs/jfp/entry/Installing_XGBoost_For_Anaconda_on_Windows?lang=en). It seems that xgboost 0.6 is already installed but if I use "reg:tweedie", this error is reported:
xgboost.core.XGBoostError: b'[23:08:27] src/objective/objective.cc:21: Unknown objective function reg:tweedie'
It works well with "reg:linear". Also, there is some problem with determining feature importance. I use XGBRegressor.
Thanks in advance.
Best regards,

Old question, no answer. Closing

Can you link the question or solution to this?

The solution is to install xgboost code that is recent enough to have Tweedie (not from pypi).


Proxy changed, but docker doesn't change it

Hi, I'd like to make a question.
My host need a proxy to connect to external network, and proxy <IP_ADDRESS> is distributed to it.
Now, for some reason, the proxy changed, and I modify the config file to adapt to it. However, when I execute cmd
docker pull mysql:5.6.17
I get the following error
root@ubuntu50:~# docker pull  mysql
Using default tag: latest
Pulling repository docker.io/library/mysql
Error while pulling image: Get https://index.docker.io/v1/repositories/library/mysql/images: http: error nnecting to proxy http://<IP_ADDRESS>:808: dial tcp <IP_ADDRESS>:808: i/o timeout
The proxy that Docker uses doesn't change.
Even if I restart the Docker service, it doesn't make any sense.
So, What need I to do to resolve it?
docker version:
Client:
Version:      1.9.0
API version:  1.21
Go version:   go1.4.2
Git commit:   76d6bc9
Built:        Tue Nov  3 17:43:42 UTC 2015
OS/Arch:      linux/amd64
Server:
Version:      1.9.0
API version:  1.21
Go version:   go1.4.2
Git commit:   76d6bc9
Built:        Tue Nov  3 17:43:42 UTC 2015
OS/Arch:      linux/amd64

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

So, if I understand correctly, <IP_ADDRESS> is not the IP address of the proxy you configured in the configuration file? Are you sure you modified the right file?
If your system is using systemd, did you systemctl daemon-reload before restarting the service? Otherwise systemd won't pick up changes you made

@thaJeztah ,sorry, it's my fault. the proxy now is <IP_ADDRESS>.
but my host is ubuntu, so what command can replace systemctl daemon-reload ?

It depends on the version of Ubuntu if that uses systemd or upstart ununtu 14.10 and lower use upstart, higher use systemd

@thaJeztah , thanks!
I may resolve it.
Previously, I just kill docker daemon process, now I use cmd "service docker restart", it make sense.
I forget whether used this cmd ever.

Cool, good to hear you resolved it; killing the docker is not the best way to do that, because it may lead to corruption of files that the daemon writes to, also there's a chance that child processes are not "reaped" properly.


Acceptable error threshold [Enhancement]

What is an error threshold?
The accelerated data lake framework follows strict validation policy. The data file is considered failed if there is even a single validation error. The error threshold is a mechanism to allow an acceptable number of validation errors per data file.
Does error threshold apply to all validations?
The error threshold only applies to semantic validation rules e.g. number ranges, enumeration values etc. The data file is rejected if there are syntactic errors.
How is error threshold configured?
The error threshold can be configured via the data source config file. The error threshold is represented as % of allowed errors per total number of records in a file.
Where do I need error threshold?
The error threshold can be useful when dealing with low quality data files. With error threshold, the  customers can still build the data lake without having to correct the errors for each files.
cc @paulmacey1 @tpbrogan

Validation / data quality is a huge subject and there is no "one size fits all" approach. The accelerated data lake schema checking can be as strict or as forgiving as the user requires, but if the user's schema validation fails then the object is moved to the failed bucket. This is the correct approach as even a small percentage of input data having an invalid schema can have adverse later on when querying the data.
To test for low quality data, the data can be staged with schema validation that is as strict as the user requires, then Amazon's Deequ ran against the data.


Update community files (#3859)

Signed-off-by: Knative Automation<EMAIL_ADDRESS>

OCF Webhook is merging this PR


Uses the first 2xx content media found es primary response type #239

Uses the first 2xx content media found es primary response type #239

Upgrade dependencies & linter

Closes #239

👍

LGTM. Nice one @averabaq and thanks for the reminder

Awesome! Can't wait to give this a run!

Cool I can give this a run once 11.0.0 is released here: https://repo1.maven.org/maven2/com/cjbooms/fabrikt/


simplify factory and add hasDefinition to the Interface

Coverage remained the same at 100.0% when pulling 13c629fe7a5342badffbbb8365d1a89854a2923b on hotfix/minor_fix into 5e0b3970227205b0f82e62290502bc25520cc587 on master.

Coverage remained the same at 100.0% when pulling bf8a4dd5da53df3ce6fd6f2bcd7626301b2935df on hotfix/minor_fix into 5e0b3970227205b0f82e62290502bc25520cc587 on master.


Add initContainers and ephemeralContainers to Require Images Use Checksums

Related Issue(s)

Description

Checklist

[x] I have read the policy contribution guidelines.
[x] I have added test manifests and resources covering both positive and negative tests that prove this policy works as intended.
[x] I have added the artifacthub-pkg.yml file and have verified it is complete and correct.

@chipzoller I have updated the policy. Also, I have updated the chainsaw tests to include init containers. I could not include ephermeral container as my chainsaw test was failing with below error.. Please review and let me know.
 Pod "goodpod04" is invalid: spec.ephemeralContainers: Forbidden: cannot be set on create     | 22:20:58 | require-image-checksum | step-02  | APPLY     | ERROR | v1/Pod @ chainsaw-mint-sponge/goodpod04         === ERROR         Pod "goodpod04" is invalid: spec.ephemeralContainers: Forbidden: cannot be set on create

You cannot add ephemeral containers on a create request. These can only be added on an update. Either use kubectl debug in a step or apply an updated manifest which contains them.

Hi @chipzoller Do we have any policy examples where we have chainsaw test case written for ephemeral containers. I tried something like below but getting an error.
`# yaml-language-server: $schema=https://raw.githubusercontent.com/kyverno/chainsaw/main/.schemas/json/test-chainsaw-v1alpha1.json
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
creationTimestamp: null
name: require-image-checksum
spec:
steps:

name: step-01
try:

apply:
file: ../require-image-checksum.yaml
patch:
resource:
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: require-image-checksum
spec:
validationFailureAction: Enforce
assert:
file: chainsaw-step-01-assert-1.yaml

name: step-02
try:

apply:
file: pod-good.yaml
apply:
expect:

check:
($error != null): true
file: pod-bad.yaml

apply:
file: podcontroller-good.yaml
apply:
expect:

check:
($error != null): true
file: podcontroller-bad.yaml

name: step-03
try:

apply:
file: pod-good.yaml
patch:
resource:
apiVersion: v1
kind: Pod
metadata:
name: goodpod01
spec:
containers:
- name: busybox
image: busybox@sha256:67a8ef886e2ca4055f00e7cd13aedb9b24148c1451a6832d16fcc997a157eedc
- name: busybox02
image: busybox@sha256:67a8ef886e2ca4055f00e7cd13aedb9b24148c1451a6832d16fcc997a157eedc
ephemeralContainers:
- name: debug-container
image: busybox@sha256:67a8ef886e2ca4055f00e7cd13aedb9b24148c1451a6832d16fcc997a157eedc
command: ['sh', '-c', 'sleep 1000']

`
  | 12:52:43 | require-image-checksum | step-03  | PATCH     | ERROR | v1/Pod @ chainsaw-vital-doberman/goodpod01         === ERROR         Pod "goodpod01" is invalid: spec: Forbidden: pod updates may not change fields other thanspec.containers[].image,spec.initContainers[].image,spec.activeDeadlineSeconds,spec.tolerations (only additions to existing tolerations),spec.terminationGracePeriodSeconds (allow it to be set to 1 if it was previously negative)           core.PodSpec{                 Volumes:        {{Name: "kube-api-access-vhvdt", VolumeSource: {Projected: &{Sources: {{ServiceAccountToken: &{ExpirationSeconds: 3607, Path: "token"}}, {ConfigMap: &{LocalObjectReference: {Name: "kube-root-ca.crt"}, Items: {{Key: "ca.crt", Path: "ca.crt"}}}}, {DownwardAPI: &{Items: {{Path: "namespace", FieldRef: &{APIVersion: "v1", FieldPath: "metadata.namespace"}}}}}}, DefaultMode: &420}}}},                 InitContainers: nil,                 Containers: []core.Container{

Please use code blocks to show code/YAML. I can't read that.

I have edited my response. Please take a look.

You can't patch with containers[] being as part of the partial resource. Try with only ephemeralContainers.

Tried with just ephemeral containers. But still seeing an error.
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
  creationTimestamp: null
  name: require-image-checksum
spec:
  steps:
  - name: step-01
    try:
    - apply:
        file: ../require-image-checksum.yaml
    - patch:
        resource:
          apiVersion: kyverno.io/v1
          kind: ClusterPolicy
          metadata:
            name: require-image-checksum
          spec:
            validationFailureAction: Enforce
    - assert:
        file: chainsaw-step-01-assert-1.yaml
  - name: step-02
    try:
    - apply:
        file: pod-good.yaml
    - apply:
        expect:
        - check:
            ($error != null): true
        file: pod-bad.yaml
    - apply:
        file: podcontroller-good.yaml
    - apply:
        expect:
        - check:
            ($error != null): true
        file: podcontroller-bad.yaml
  - name: step-03
    try:
    - apply:
        file: pod-good.yaml
    - patch:
        resource:
          apiVersion: v1
          kind: Pod
          metadata:
            name: goodpod01
          spec:
            ephemeralContainers:
            - name: debug-container
              image: busybox@sha256:67a8ef886e2ca4055f00e7cd13aedb9b24148c1451a6832d16fcc997a157eedc
              command: ['sh', '-c', 'sleep 1000']
---

Here is the error:
| 13:11:57 | require-image-checksum | step-03  | PATCH     | ERROR | v1/Pod @ chainsaw-humorous-quagga/goodpod01
        === ERROR
        Pod "goodpod01" is invalid: spec: Forbidden: pod updates may not change fields other than `spec.containers[*].image`,`spec.initContainers[*].image`,`spec.activeDeadlineSeconds`,`spec.tolerations` (only additions to existing tolerations),`spec.terminationGracePeriodSeconds` (allow it to be set to 1 if it was previously negative)

Ok, the issue is that ephemeral containers is a subresource, so you can't patch the Pod directly. My suggestion would be to do a kubectl debug as a Chainsaw step.

Hi @chipzoller I have updated the chainsaw-test.yaml to include tests for ephemeral containers as well. Please take a look.

Hi @chipzoller I have removed the ephemeral containers from the resource.yaml. Please take a look.


feature: timed measurements

There's already a pull request for timestamp instrument #79 to add time to a measurement but it would also be useful to be able to use time in a Loop to trigger a measurement so that a parameter could be measured periodically. It seems to me this isn't covered at the moment given that measurement takes some time so using qc.Wait(5) doesn't actually guarantee a measurement every 5 seconds for example. I'm opening this as a discussion as to how this might be implemented and also if anyone else had thoughts/requirements for this.

@nataliejpg @MerlinSmiles  this is in a nutshell having the option to run a sweep over time, correct?

@giulioungaretti yes, but also adding timestamps to datapoints without having a dedicated time instrument that needs to be measured (I think they should always be there...).

It's basically the ability to start the next iteration of the Loop after a set amount of time instead of just when it has completed the tasks (problem then being what should happen if the tasks in the loop take longer than that amount of time). Also timestamps as Merlin says.

@MerlinSmiles got it
@nataliejpg  not sure I get what you mean. The next iteration over another parameter ?
i.e.
 loop(yolo.sweep, time_step=1s ).each(soo, much, that bar)

yielding :

yolo1:soo, much, that bar; at time 0s
yolo2 :soo, much, that bar; at time 1s

yes, exactly 👍

@nataliejpg @MerlinSmiles @giulioungaretti Timed measurements are something we want as well, but I would like to keep them outside the default qcodes Loop.
For example adding timestamps by default (instead of having a TimeStamp instrument) adds overhead and complexity to the qcodes.Loop. Also timed measurements would add complexity to the Loop. I would prefer a specialized loop structure, or the right set of tools for people to write their own loop.

@peendebak I don't think having a timestamp is really what is suggested here (although thats also obviously useful and I can see the case for having it as an option and not a default). I would like the ability to do times measurements in the loop, of course not as a default but it would be really useful if you want to take temporally evenly spaced measurements and not rely on the contents of the loop taking the same amount to time to execute each step and having to guess how long that will be.
@AdriaanRol  am I right in thinking that you basically want this but to have it running in a background loop and have the data used in the snapshot of any measurements that are run at the same time... is that about right?

@peendebak just to be on the same page, which overhead are you talking about ?
In terms of performances, having a timestamp IS negligible:
10000000 loops, best of 3: 139 ns per loop  (worst 0,001 milliseconds).
Complexity, also not so sure what you mean 🐸

@giulioungaretti , I agree with @peendebak, mostly for the complexity argument.
I think that qcodes should strive to get it's basic functionality working in a very modular way. The moment timestamps get integrated into the loop, the dataformat becomes more complex and therefore less modular. Currently the Loop does not do everything we require, this is not a problem as we can write our own loop and still adhere to the standard.
It should be fairly trivial to do a timestamp parameter.get at each point in the loop to reach the desired effect. This way it is trivial to turn on and has limited overhead (as you've benchmarked).
@nataliejpg I am indeed talking about timed measurements, similar to how you describe them.  However I consider this a different issue from the one discussed here. Which is a timestamp on measurements.  For now I have working hack but I'll probably make another issue for that.

@AdriaanRol  'Timed measurement' as described by both of us are exactly what this issue is about. Timestamp is  #79 which was closed. I think it important to keep the distinction though as the functionality is really different.

In that case I apologize. Let's indeed try to avoid issues getting mixed up :)


[REEF-619]  Remove unused bindings from ConfigurationModuleBuilder for Evaluator for CLR

The two start/stop handler bindings will remain for Java only. C# doesn't need it. This PR is to remove it from the ConfigurationModuleBuilder for Evaluator
JIRA: REEF-619(https://issues.apache.org/jira/browse/REEF-619)
This closes #
Author: Julia Wang  Email<EMAIL_ADDRESS>

Looks good, I will merge


minor fixes in osmdroid-forge-app and osmdroid-mapsforge

fixed:

osmdroid-mapsforge: adding a lib should not generate manifest merge conflicts with the main-app

example: osmdroid-mapsforge-manifest: android:allowBackup="true" mainapp-mainfest : android:allowBackup="false" gives a build error.

=> I removed application part of osmdroid-mapsforge-manifest and the unused string-resource

fixed lint-compatibility warning in osmdroid-forge-app
added package javadoc for org.osmdroid.mapsforge (package-info.java)

thanks!


Adding notebook and code for mosaicking and visualizing OPERA S1-RTC images

RTC notebook looks good and functions as expected.


[SPARK-27992][PYTHON] Synchronize with Python connection thread to propagate errors

What changes were proposed in this pull request?
Currently with toLocalIterator() and toPandas() with Arrow enabled, if the Spark job being run in the background serving thread errors, it will be caught and sent to Python through the PySpark serializer.
This is not the ideal solution because it is only catch a SparkException, it won't handle an error that occurs in the serializer, and each method has to have it's own special handling to propagate the error.
This PR instead returns the Python Server object along with the serving port and authentication info, so that it allows the Python caller to synchronize with the serving thread. During the call to synchronize, the serving thread Future is completed either successfully or with an exception. In the latter case, the exception will be propagated to Python through the Py4j call.
How was this patch tested?
Existing tests

Test build #106364 has started for PR 24834 at commit f20a156.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/11608/
Test PASSed.

I think might be a better way to propagate exceptions from the Python connection serving thread for the cases of toPandas() with Arrow and toLocalIterator(). This way, any exception in the serving thread will be raised in Python when making the call getResult() in Python, which will join the thread and evaluate the thread future and raise any exception that occurred.
Here I duplicated the serveToStream() code path so that if we want to backport this fix to branch-2.4, it will be a lot easier. If we don't want to backport, I can clean this up quite a bit. I still think it is probably better to not backport due to the risk, but I'll leave this as is if we want to discuss the possibility.

From the discussion in #24677 , regarding the DataFrame.collect() with collectToPython() code path. This doesn't have quite the same issue. collect() and the standard toPandas() methods first make a Py4j call, then in Scala they run the Spark job and gather all data in the main thread. Once data is local, the serializer is started in the background thread, completing the Py4j call. If the spark job raises an error, then the Py4j call is interrupted and the error is propagated. If somehow there is an error during the serializer part, then I don't think it will be propagated to Python.
toLocalIterator() and toPandas() work differently by first making a Py4j call, which sets up the socket connection and starts the background thread. The Py4j call is returned immediately, then the Spark job(s) are run in the background thread. The current approach catches a SparkException in the background thread and sends it through the serializer, where this PR returns the serving thread object in the first Py4j call, so that an additional Py4j call will synchronize and evaluate the thread future, raising the exception if occurred.

I'm attaching error messages from toPandas()

master without Arrow
master_toPandas_error_no_arrow.txt

master with Arrow
master_toPandas_error_with_arrow.txt

this PR with Arrow
SPARK-27992_toPandas_error_with_arrow.txt

To sum up the differences:
(2) master with arrow, is a little different because the Python error is a RuntimeError and not Py4JJavaError and for some reason there is a Driver stacktrace section that is empty - probably not a big deal but still looks odd and I'm not sure why it is empty.
(3) this PR, it is more similar to (1) in that it has a Py4JJavaError and the Driver stacktrace is populated correctly, but the exception is actually displayed twice - first when the exception occurs in the JVM serving thread, and then again when it is propagated by Py4j.  I'm not sure if there is a good way to avoid this..

What do you guys think @HyukjinKwon @felixcheung @dvogelbacher ?

Test build #106364 has finished for PR 24834 at commit f20a156.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/106364/
Test PASSed.

I really like the idea. This is much better than having to define a specific protocol for propagating errors like we currently do.
From having a short look at the R code it seems like R would also be affected by https://jira.apache.org/jira/browse/SPARK-27805 and using this same mechanism in R would fix it there, too?

Thanks @dvogelbacher and @felixcheung , I will clean this up then and apply the same fix to toLocalIterator. If it's straightforward to also fix the R collection with Arrow, then I'll do that too, otherwise we can do it in a followup.

@BryanCutler, I don't mind but strongly feel about backporting. If you think we should, we can do.

The approach looks fine.

Test build #106739 has started for PR 24834 at commit ead8978.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/11966/
Test PASSed.

Test build #106740 has started for PR 24834 at commit 5fd8684.

I cleaned up some things with SocketAuthServer and applied the fix to toLocalIterator also. I wasn't able to checkout doing a similar approach for R collection with Arrow. @HyukjinKwon would you be able to check it out and see if a followup is needed?

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/11967/
Test PASSed.

Test build #106739 has finished for PR 24834 at commit ead8978.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/106739/
Test PASSed.

Test build #106740 has finished for PR 24834 at commit 5fd8684.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/106740/
Test PASSed.

Let me give some input within 3 days ..

I wasn't able to checkout doing a similar approach for R collection with Arrow. @HyukjinKwon would you be able to check it out and see if a followup is needed?

R side, I will take a look after merging this in.

cc @vanzin and @squito as well.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/12061/
Test PASSed.

Test build #106844 has started for PR 24834 at commit 20eb748.

Test build #106844 has finished for PR 24834 at commit 20eb748.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/106844/
Test PASSed.

Thanks @HyukjinKwon and @squito for reviewing, I addressed your comments.

merged to master, thanks all for reviewing!


API endpoint error /create/feedback

When I try to create a duplicate feedback record  (for integration tests purpose) via POST /create/feedback endpoint, I got 500 Internal server error.

Good catch! Can you look into this deeper and suggest a fix?

I can fix by adding try: except DuplicatKeyError construction to mentee_router.py API file

nope, that will just hide the problem. The bug is subtle, but it is fixable


Changes to support Bitbucket OAuth2

Changes most API calls to use APIv2 and relies on OAuth2 for sessions. Bitbucket's OAuth2
implementation expires tokens after 2 hours, so this also implements token refreshing on
the general session creation.
This updates the UI around connecting accounts, namely:

Use our common list styling for list of connected services
Add a basic warning element for guiding users to reconnect accounts
Make connect services buttons themed buttons instead of basic links
Updated some of the text from "Social Accounts" to "Connected Services".

The project import page will now warn when deprecated accounts are connected, the new API sync code for Bitbucket uses version 2 of the API for almost all requests. Our API will filter out repos/orgs from these deprecated services, but the services themselves are kept around to allow for user administration on the connected services page.
Refs pennersr/django-allauth#1215
Refs pennersr/django-allauth#1212
Fixes #1675
I believe this fixes #1864
Fixes #1696
Refs #1893 - repin django-allauth next release
Fixes #1684 - "social accounts" rename
Fixes #1668 - social account page 500 error
Fixes #1446 - add bitbucket tests
Outstanding:

[x] Test handling of existing Bitbucket social accounts
[x] How to handle migration fo existing Bitbucket social accounts
[x] UI and styling bits to point users to reconnect
[x] Some more test cases around bitbucket
[x] Import form uses HTTP, but complains about "this is a private repo"

@agjohnson good job, i was thinking about same kind of implementation using an abstract base class, which you implemented using a non-abstract Service base class.
class Service:
    __metaclass__ = ABCMeta

@abstractmethod
def sync(self, sync):
    pass

@abstractmethod
def create_repository(self, fields, privacy=DEFAULT_PRIVACY_LEVEL, organization=None):
    pass

@abstractmethod
def create_organization(self, fields):
    pass

@abstractmethod
def setup_webhook(self, project):
    pass

Making it abstract would make more sense to me, what do you think?
After this was merged into master i'll rebase #1870.

@saily interesting, I almost settled on a similar pattern. In the end, I kept the pattern here simple, as we have some complications with inheritance for readthedocs.com. There's a good deal of common functionality implemented in the base class, so I think it's fair to consider services as subclasses of this class anyways.

LGTM :+1: -- definitely happy to have this stuff sanely refactored.


Some proposal for less gpu memory cost

First of all, thank you very much for this excellent work.
As I work on my cuda-affine-sift project base on this, it went out of memory when sift points count grows up to more than 25600.
I resolve this problem by these steps:
in file matching.cu, function MatchSiftPoints2:

I removed the memory copy codes (from sift1, sift2 to siftPoints1, siftPoints2), because I think pt1 and pt2 can directly point to sift1[n1].data and sift2[n2].data.
We only need to know max sum score, max sum index and second max sum score for each point in sift1, if we define grid and block like those for funciton FindMaxCorr:
dim3 blocksMax(iDivUp(numPts1, 16));
dim3 threadsMax(16, 16);
then these array is enough:
shared float maxScore[1616];
shared float maxScor2[1616];
shared int maxIndex[16*16];

Yes, as you guess, I combine function MatchSiftPoints2 and FindMaxCorr together, and compare the sum values as soon as they are calculated. My codes:
`
global void MatchSiftPoints(float *corrData, SiftPoint *sift1, SiftPoint *sift2, int numPts1, int numPts2)
{
int block_dim = blockDim.x; // blockDim.x == 16
const int tx = threadIdx.x;
const int ty = threadIdx.y;
const int p1 = blockIdx.x * block_dim + ty;
const int idx = ty * 16 + tx;
__shared__ int maxIndex[16 * 16];
maxIndex[idx] = 0;
__syncthreads();

float *corrs = NULL;

if (p1 < numPts1) {
	corrs = &corrData[p1 * block_dim * 2];
	corrs[tx] = 0.0f;
	corrs[tx + 16] = 0.0f;
	const float *pt1 = sift1[p1].data;
	for (int p2 = tx; p2 < numPts2; p2 += 16) {
		float *pt2 = sift2[p2].data;
		float sum = 0.0f;
		for (int i = 0; i < 128; i++) {
			//int itx = (i + tx) & 127; // avoid bank conflicts
			sum += pt1[i] * pt2[i];
		}
		if (sum > corrs[tx]) {
			corrs[tx + 16] = corrs[tx];
			corrs[tx] = sum;
			maxIndex[idx] = p2;
		}
		else if (sum > corrs[tx + 16])
			corrs[tx + 16] = sum;
	}
}
__syncthreads();

//if (p1==1)
//  printf("tx = %d, score = %.2f, scor2 = %.2f, index = %d\n",
//	   tx, maxScore[idx], maxScor2[idx], maxIndex[idx]);

if (p1 < numPts1) {
	for (int len = 8; len > 0; len /= 2) {
		if (tx < len) {
			float val = corrs[tx + len];
			int i = maxIndex[idx + len];
			if (val > corrs[tx]) {
				corrs[tx + 16] = corrs[tx];
				corrs[tx] = val;
				maxIndex[idx] = i;
			}
			else if (val > corrs[tx + 16])
				corrs[tx + 16] = val;
			float va2 = corrs[tx + 16 + len];
			if (va2 > corrs[tx + 16])
				corrs[tx + 16] = va2;
		}
		__syncthreads();
		//if (p1 == 1 && tx<len)
		//	printf("tx = %d, score = %.2f, scor2 = %.2f, index = %d\n",
		//		tx, corrs[tx], corrs[tx + 16], maxIndex[idx]);
	}
	if (tx == 6)
		sift1[p1].score = corrs[0];
	else if (tx == 7)
		sift1[p1].ambiguity = corrs[16] / (corrs[0] + 1e-6);
	else if (tx == 8)
		sift1[p1].match = maxIndex[ty << 4];
	else if (tx == 9)
		sift1[p1].match_xpos = sift2[maxIndex[ty << 4]].xpos;
	else if (tx == 10)
		sift1[p1].match_ypos = sift2[maxIndex[ty << 4]].ypos;
}
__syncthreads();
//if (p1 == 1 && tx == 0)
//	printf("index = %d/%d, score = %.2f, ambiguity = %.2f, match = %d\n",
//		p1, numPts1, sift1[p1].score, sift1[p1].ambiguity, sift1[p1].match);

}
codes affected in function MatchSiftData:
int block_dim = 16;
float *d_corrData;
int corrSize = numPts1 * block_dim * 2;
safeCall(cudaMalloc((void **)&d_corrData, sizeof(float) * corrSize));
//double allocTime = timer.read();
dim3 blocks(iDivUp(numPts1, block_dim));
dim3 threads(block_dim, block_dim); // each block: 1 points x 16 points
//std::cout << "numPts1=" << numPts1 << ",numPts2=" << numPts2 << ",corrSize=" << corrSize << std::endl;
MatchSiftPoints << <blocks, threads >> > (d_corrData, sift1, sift2, numPts1, numPts2);
safeCall(cudaThreadSynchronize());
checkMsg("MatchSiftPoints() execution failed\n");

//double matchTime = timer.read();
//printf("MatchSiftPoints time =          %.2f ms\n", (matchTime - allocTime));

safeCall(cudaFree(d_corrData));

`
It works for me, as I can match more than 32000 points for each image on GTX1060 6G. And besides, it runs as fast as original code.

Thank you very much for your suggestions. I will definitely take a look at them. That code has not been changed much in recent years, but the O(N^2) memory requirement has always annoyed me. It does make perfect sense to rely on global reads, instead of using shared memory buffers. Caching has improved considerably in newer GPU versions and the benefit of shared memories is no longer as obvious.

When testing what you suggested on a Titan Xp the current code is about 5 times faster, so it seems you still benefit quite a bit from the shared memory, at least on that GPU. I dropped the extra global memory completely in another version and got down to a factor of about 3 slower, which is still a bit much. Having two kinds of operation modes might be an idea, since getting rid of extra memory requirement is sometimes important.

I think I have a version that is similar in speed to the existing version, but without the extra global memory requirement. Thank you for kicking my butt!
`
global void FindMaxCorr4(SiftPoint sift1, SiftPoint sift2, int numPts1, int numPts2)
{
shared float siftPoint[128FMC2H];
shared float maxScore[FMC2H];
shared float maxScor2[FMC2H];
shared int maxIndex[FMC2H];
const int tx = threadIdx.x;
const int ty = threadIdx.y;
if (tx==0) {
maxScore[ty] = -1.0f;
maxScor2[ty] = -1.0f;
maxIndex[ty] = 0;
}
const int p1 = blockIdx.xFMC2H + ty;
const float pt1 = sift1[p1].data;
for (int j=tx;j<128;j+=FMC2W)
siftPoint[128ty + j] = pt1[j];
__syncthreads();
for (int p2=0;p2<numPts2;p2++) {
const float pt2 = sift2[p2].data;
float sum = 0.0f;
for (int j=tx;j<128;j+=FMC2W)
sum += siftPoint[128ty + j] * pt2[j];
for (int j=FMC2W/2;j>0;j/=2)
sum += __shfl_down_sync(0xffffffff, sum, j);
if (tx==0) {
if (sum>maxScore[ty]) {
maxScor2[ty] = maxScore[ty];
maxScore[ty] = sum;
maxIndex[ty] = p2;
} else if (sum>maxScor2[ty])
maxScor2[ty] = sum;
}
}
__syncthreads();
if (tx==0) {
sift1[p1].score = maxScore[ty];
sift1[p1].ambiguity = maxScor2[ty] / (maxScore[ty] + 1e-6);
sift1[p1].match = maxIndex[ty];
sift1[p1].match_xpos = sift2[maxIndex[ty]].xpos;
sift1[p1].match_ypos = sift2[maxIndex[ty]].ypos;
}
__syncthreads();
}
dim3 blocksMax(iDivUp(numPts1, FMC2H));
dim3 threadsMax(FMC2W, FMC2H);
FindMaxCorr4<<<blocksMax, threadsMax>>>(sift1, sift2, numPts1, numPts2);
safeCall(cudaThreadSynchronize());
checkMsg("MatchSiftPoints() execution failed\n");
`

You are right. I test your code and it is much faster than mine.
Thank you.


Hopper Improvements

Block placement of hoppers below a shop if the placer does not have Owner(possibly Manager+) permissions
Add per shop settings for import/export if the server has them enabled
Add limiter settings to allow/block product, cost, and/or other items from hopper import/export
Add player settings to be able to set default for placed shops settings(import/export)

+1 please implement this so we don't need need to use other chest protection plugins and it would be easier for us to restock our shops.

Already implemented in the dev version

Ohhh thanks for quoting it.

Fixed in #127


I met a question about the security of Kong admin.

Summary
I refer to this document and use Kong API Loopback to protect admin API.I added <IP_ADDRESS>:8001 to the service and added the Basic Authentication plug-in to it.the result was that I was not required to authenticate when I visited <IP_ADDRESS>:8001, but was required to authenticate when I visited <IP_ADDRESS>:8000.
Steps To Reproduce
1.add service,parameter is {'name':'kong_admin','host':'<IP_ADDRESS>','port':'8001'}
2.add routing for service,parameter is  'paths':'/'
4.add plugin for service or route,parameter is  {'name':'basic-auth','config.hide_credentials':'true'}
3.add consumer,parameter is   {'username':admin}
4.add certificates,parameter is  {'username':username, 'password':password}
finally
5.access to <IP_ADDRESS>: 8001 is not restricted.
6.access to  <IP_ADDRESS>:  8000 is required for username and password**
Additional Details
my kong.conf :admin_listen = <IP_ADDRESS>:8001, <IP_ADDRESS>:8444 ssl
kong version is 0.14.1

I just want to protect the 8001 port.


[QUESTION API] How to set some additional flags on the result item with the API

Hi I'm trying to understand how the API works, I created a code to retrieve the ItemTags module flags from one of the components set as "consumed" and to transfer them to the "produced" component, but it doesn't seem to work can you help me ?
// Assuming recipeData.input is the object containing the ingredient containers
const ingredientContainers = Object.values(recipeData.input);

// Use an async function to handle the asynchronous nature of fromUuid or a similar function
async function processIngredients() {
  for (const ingredientContainer of ingredientContainers) {
    // Access the ingredient details, which is the first property of the container object
    const ingredientDetails = ingredientContainer[Object.keys(ingredientContainer)[0]];

    // Check if the ingredient's name contains 'Ingot'
    if (ingredientDetails.name && ingredientDetails.name.includes('Ingot')) {
      try {
        // Retrieve the document from the UUID
        const document = await fromUuid(ingredientDetails.uuid);

        // Now we have the document, we can retrieve the tags
        const tags = ItemTags.Get(document);

        // Log the tags or a message if no tags are found
        if (tags) {
          console.log(`Tags for ${ingredientDetails.name}:`, tags);
        } else {
          console.log(`No tags found for ${ingredientDetails.name}`);
        }
		return tags;
      } catch (error) {
        console.error(`Error retrieving document for ${ingredientDetails.name}:`, error);
      }
    }
  }
}

const currentTags = await processIngredients();
console.log(currentTags);

if(!result.hasError()){
  console.log(`TS All Results |`, result);
  if(recipeData.components?.length <= 0){
	  console.warn(`TS All Results | is empty`);
	  return;
  }
  const output1 = Object.values(recipeData.output)[0];
  result.updateComponent("produced",output1,
	  (componentResult, quantity) => {
		componentResult.userInteraction = "onSuccess"
                // The item no exists yet
		//const uuidResult = componentResult.uuid;
		//const documentResult = fromUuidSync(uuidResult);
		//ItemTags.Set(documentResult, currentTags);

                // Yea this is not working maybe a simple post hook at the 100% is a simplier solution ?
		setProperty(componentResult.component,`flags.item-tags.tags`, currentTags);
  });
}

My 99% use cases are about updating the result that is created arrived at 100%, but do you think it is worthwhile to put a hook listening when it arrives at 100% ? For my use case it would be more than enough.

###TODO
yeah i can add some hooks i guess. I will think about it.
Meanwhile
The componentModell might rejecting everything it does not know if it get clones ore recrated on its procssing way  but you can extend the componentModell.
You would need something like this.
Hooks.once("beavers-system-interface.ready", async function(){    beaversSystemInterface.addExtension("item-tags",{componentAddFlags:["tags"]}) }
and i think this line here would then add it.

be carefull you will soon again run into the problem that then next you want to differentiate between items with diffrent tags else it might stack it to others that should not have that tags set.
Then you would need to tinker with an extended isSame for this flagg :-)

Also when you use the above hook you also store this tag information on recipes you then will create after this extension is enabled.
e.g. When you created a recipe with an output the tags are serialized into the recipe and when you afterwards add or remove tags from the original output, it might be that the line shown above will overwrite what is loaded from origin object with what you had serialized into your recipe.

so just have tested my code and observed that my module does not behave like i was expecting turns out setProperty of foundry is not creating necessary deep structures. So that recipes serialized the flag had not been true -> BSI: 2.1.9 now it is as it should.

wait setProperty is bugged or is it just a special case ? ? Is this something I should open an issue on foundry for ?

well yes probably a bug :-)

I do not think a Hook here will help you much i will provide an undocumented one as it wont hurt me much:
called "beavers-crafting.processed" and has {recipe: Recipe, result: Result, processed: ItemChange }
The itemChange contains created, updated, deleted items !BUT! of the complete process you would need some logic to gather what you really want. E.g. in the processEnd step i will return ingredients when they are not consumed in the process -> those and the produced items might end up in the created stack or the updated stack (which ever it is for the actor).

Ty for the hook i will check out this week end!
For the setProperty thing i have open a issue on the foundry project if you are interested https://github.com/foundryvtt/foundryvtt/issues/10310
then sorry one question is it possible to use the API to increase the difficulty of the dc when the roll is rolled ? Basically is I am trying to solve with the use of the API the issue mentioned here:
https://github.com/AngryBeaver/beavers-crafting/issues/79
from what you say it should be possible using module interfaces, but I couldn't... can you give me an example  ?
P.S. again in my ignorance not to break you too much on your side I would say that a hook to customize the value of the DC , (when you click on the "play" button to understand each other) maybe is the easiest solution ?

3.4.1. Released.
I will close this now. Your latest request will be tracked in the linked other issue.


Approve PR when issues have been fixed

Thanks for making this action!
It's working well in the sense that it's requesting changes when clang-tidy has issues, but even once those issues have been fixed by the submitter, it will forever remain in a "changes requested" state, preventing merging of the PR without administrator override.
This could be fixed by simply having the action submit an "approved" review when there are no changes to make, or otherwise, dismissing its previous review.

I see you point however I also see an problem with the reasoning. Submitting an approval implies "the code is good to be merged" which cannot be inferred by the absence of clang-tidy warnings.
The tool may be able to tell you when there's something wrong with the code as far as clang-tidy has a say, but not much more than that. This is why most, if not all, Github actions and CI pipelines I've come across, block merging when they fail and allow it when they succeed, but they don't approve anything themselves.

Reading again, I think I understand the actual problem though: The Action should take dismiss its old request for changes if it has ran without issues.
I can look into that.

Anyone can approve a PR so I don't think an approval of any one particular user can in any case be taken as an indication the PR is good to be merged in general - but I would be quite happy with simply dismissing the old request for changes (assuming those review comments no longer apply), I think that would also solve the problem.
Thanks!

I am thinking of the current flow: If the bot has no comments to make, it will go through any reviews and will try to find its own where it has requested changes and will dismiss them.
I hope the bot has enough permissions to do that, we'll see.
Btw, I wonder if selecting the "dismiss" option as seen below in the branch protection rules, also dismisses the change requests:

@rdb you can try out the dismiss_stale_reviews branch and see if it's what you're after.
I tried it out myself here.

I'm trying, though I'm running into a different problem right now:
fatal: ambiguous argument 'HEAD^': unknown revision or path not in the working tree.

Not sure why, it worked before.

:thinking: the issue seems very irrelevant, do you have some link so I can take a look?

Yeah, sure:
https://github.com/rdb/panda3d/blob/master/.github/workflows/lint.yml
https://github.com/rdb/panda3d/actions/runs/4163065036/jobs/7202990629
It worked before.  Not sure what changed.

My bad, I think I had accidentally removed the fetch-depth line.

It's working great.  Dismissing all the previous reviews once there are no more warnings.  Thank you!

Thanks for suggesting this new feature! :+1:


Move to 1.8.0

Changes

Moves the repo to cert-manager 1.8.0. Intention is to add support for secret template for work in https://github.com/knative-sandbox/net-istio/pull/920 and auto-tls integration.
1.8.0 brings changes to imported packages jetstack is renamed to cert-manager. Might be smoother to get 1.7.0 first but trying the long shot and see.

Release Note

cert-manager is now in version 1.8.0.

/cc @carlisia @ZhiminXiang


Use cask from main repo

Cask was submitted to main Hombrew Cask repo by @jascodes in https://github.com/Homebrew/homebrew-cask/pull/74513, and accepted.


format docstrings

Codecov Report

Merging #117 (7e627fd) into develop (11c86c2) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           develop      #117   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           33        35    +2
  Lines          905       945   +40
=========================================
+ Hits           905       945   +40

Impacted Files
Coverage Δ

pfhedge/instruments/american_binary.py
100.00% <ø> (ø)

pfhedge/instruments/base.py
100.00% <ø> (ø)

pfhedge/instruments/european.py
100.00% <ø> (ø)

pfhedge/instruments/european_binary.py
100.00% <ø> (ø)

pfhedge/instruments/lookback.py
100.00% <ø> (ø)

pfhedge/instruments/underlier.py
100.00% <ø> (ø)

pfhedge/nn/functional.py
100.00% <ø> (ø)

pfhedge/nn/modules/bs/black_scholes.py
100.00% <ø> (ø)

pfhedge/nn/modules/bs/european_binary.py
100.00% <ø> (ø)

pfhedge/nn/modules/bs/lookback.py
100.00% <ø> (ø)

... and 12 more

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 11c86c2...7e627fd. Read the comment docs.


Endowments bug

In the config: allowing "process.version.match": true doesn't work but "process.version": true does.

process.version.match is also a problem in the package default-resolution


([PSCustomObject]@{}).Count returns 1

Steps to reproduce
([PSCustomObject]@{}).Count

Expected behavior
0

Actual behavior
1

Environment data

Name                           Value
----                           -----
PSVersion                      7.1.3
PSEdition                      Core
GitCommitId                    7.1.3
OS                             Microsoft Windows 10.0.19042
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

.Count is not a property of the created object. [PSCustomObject]@{} creates one object with zero properties attached. Ergo, you have a count of 1.
This is by design for how the .Count auto-property works; if you don't have a collection object, .Count will be 1 for non-null objects, and 0 for null.

Gotcha.
Thanks for clarifying this.


Bad docs for Ecto.Repo.insert_or_update and Ecto.Repo.insert_or_update!

For both methods first parameter name is bad:
insert_or_update(struct_or_changeset, opts)
insert_or_update(struct_or_changeset :: Ecto.Schema.t | Ecto.Changeset.t, opts :: Keyword.t) ::
  {:ok, Ecto.Schema.t} |
  {:error, Ecto.Changeset.t}
# and:
insert_or_update!(struct_or_changeset, opts)
insert_or_update!(struct_or_changeset :: Ecto.Schema.t | Ecto.Changeset.t, opts :: Keyword.t) ::
  Ecto.Schema.t |
  no_return

in description:

Inserts or updates a changeset depending on whether the struct is persisted or not.

So we can pass only changeset.
This found forum user Crowdhailer, see his topic.
After looking deeper I also found:
Another fault in docs is result of example code:

Please note that for this to work, you will have to load existing structs from the database. So even if the struct exists, this won’t work:

struct = %Post{id: 'existing_id', ...}
MyRepo.insert_or_update changeset
# => {:error, "id already exists"}

&MyRepo.insert_or_update/2 should return {:error, changeset} instead of {:error, "description"}.

there's a test that ensures this behaviour so looks like indeed the arg names (and typespecs) need to be updated: https://github.com/elixir-ecto/ecto/blob/v2.1.4/test/ecto/repo_test.exs#L285:L289


How to execute something at webman start

Hi,
Trying to figure out what is the best way to execute a DB query at webman start, without a need to run a query for every single request.
In my case, I am trying to load a complex category structure into a variable for later use. Static configuration in app.php is not sufficient nor do I want to query redis if the structure is cached.
Thanks!

Not sure if it's correct to do it like this (please confirm):
added app\support\bootstrap\Categories::class to bootstrap
created Categories.php in /app/support/bootstrap where I'll use the following:
namespace app\support\bootstrap;
use Webman\Bootstrap;
use Workerman\Worker;
use support\Db;
class Categories implements Bootstrap {
public static function start($worker)
{
    ... calling db
    saving result as constant
}

}

Yes,  it's correct.
A simpler way. Add cache() function to app/functions.php
function cache($key)
{
    static $cache = [];
    if (!isset($cache[$key])) {
        $cache[$key] = Db::table('xxx')->get();
    }
    return $cache[$key];
}

In this way, there is no need to add categories class set bootstrap configuration, and it is more flexible and easy to use.

Great!
And this is set for all users, globally, right?

Yes

Thank you! Appreciate your speedy responses.
Keep it up. Big fan of webman


Does Leela 0110 use "Last Good Reply"?

Hi,
Does Leela 0110 use "Last Good Reply"?
Thanks.

This issue mentions an older version, or hasn't been discussed in a long time, so we close it.


Preprod instance may be somewhat too open

State of preprod homeserver
Thanks to awesometechnologies/synapse-admin we realized that our HS is federated with a ton of other homeservers and that some non eimis related users are using it.
Not an emergency but we should somehow restrict access to staging environments.
Possible actions
order by drasticity level

[x] activate white list for preprod
[x] deactivate users who registered with temporary e-mail
[ ] activate default join room

Hey team! Please add your planning poker estimate with Zenhub @JDixmier @ad2ien

Here's the issue for instance reset: #286

auto_join_rooms config is activated only for discovery rooms.
-> Add an optional default/welcome room as parameter. @heroinedor @JDixmier is it ok with you?


Copying Django's global settings triggers RemovedInDjango30Warning

django-configurations copies Django's django.conf.global_settings (https://github.com/jazzband/django-configurations/blob/f887ad5821ed4f95ac4dac543122102f77647273/configurations/base.py#L29), which then leads to Django thinking they are explicitly defined (https://github.com/django/django/blob/c89ab95a3684c48dd377602686b85631f3f2be3c/django/conf/init.py#L127-L128).
I think it would be nice if django-configurations would not copy the default settings as-is, but only the necessary/used ones.

.venv/lib/python3.6/site-packages/django/conf/init.py:128
…/python3.6/site-packages/django/conf/init.py:128: RemovedInDjango30Warning: The DEFAULT_CONTENT_TYPE setting is deprecated.
warnings.warn('The DEFAULT_CONTENT_TYPE setting is deprecated.', RemovedInDjango30Warning)

this also fires django-debug-toolbar's MIDDLEWARE_CLASSES detection


Model serialization

See description by @maximskorik:
Added functionality to export and import genesim.models.Word2Vec objects without pickling. Such a model can be used to calculate Spec2Vec scores, but is untrainable.
The model can be written on disk in two files: .json for model's metadata and .npy for its weights. If model's weights are in scipy.sparse format, the weights are converted into numpy.ndarray prior to saving (scipy uses pickle to save matrices); when reading the model such weights are converted back to their initial format.

Added serialization module, which exposes export_model and import_model functions;
added Word2VecLight class, which follows the interface of the original Word2Vec just enough to calculate similarity scores;
added data subdir to tests, which stores test files for serialization; moved pesticides.mgf to that directory;
added scipy dependency to the library

Testing

added test_model_serialization.py to tests; all newly introduced scripts are 100% covered as per pytest --cov
integration test with saving and reloading the model passes (this change is not pushed to this PR)

Closes #78

Thanks again for the great work @maximskorik !
Since there haven't been additions for a while, some tests failed due to old code examples in the documentation or outdated dependencies. This should be fixed now and I will merge your code into the main branch. A new release should follow soon.


conflict with jquery-1.6.2.min.js

when foundation.js and jquery-1.6.2.min.js are both loaded, $ function will occur error, as firebug states:
f.easing[e.animatedProperties[this.prop]] is not a function
(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1...:a+"px")}}),a.jQuery=a.$=f})(window);
when ONLY load  jquery-1.6.2.min.js, the problem goes away.

My copy of foundation.js came with jQuery 1.6.4 embedded at the top?

foundation.js includes jQuery 1.6.2, so you should not be loading it again if you are using the combined foundation.js file.
If you want to use a different version of jQuery with Foundation then pull the code from GitHub instead which has each of the js files broken apart. Just note that you will want to combine and minify these files yourself at some point for performance reasons.


Android release build

React native android release build not working on “classpath('com.android.tools.build:gradle:7.2.2')”.
App crashes immediately after opening.
If anyone has faced this issue and know a workaround for it. Please mention. Thanks in advance.
Expected behavior
A clear and concise description of what you expected to happen.
App should work fine. It's working in debug mode. Stripe has some gradle depencies and it doesn't compile on my previous 7.0.4 version. I also tried creating a new project with just this library in it but still the app crashes on release as soon as i open it.

Can you share the crash logs? Run adb logcat during the crash.

Can you share the crash logs? Run adb logcat during the crash.

Can't determine type for tag '?attr/shapeAppearanceCornerSmall'

I have already included the material library in my app/build.gradle

React native version:0.68.2
Stripe version: 0.25
Gradle tools: 7.0.2

If i upgrade gradle tools to 7.2.2 then it works for debug not on release. But on gradle tools 7.0.2 the debug build gives this error related to material ui

Please share the full crash logs, otherwise there's not much I can help with without a way to reproduce on my end

Please share the full crash logs, otherwise there's not much I can help with without a way to reproduce on my end

Can't determine type for tag '?attr/shapeAppearanceCornerSmall
Does this help ?

Please share the full crash logs, otherwise there's not much I can help with without a way to reproduce on my end

React native version : 0.68.2
Stripe version: 0.25
Scenario 1...
classpath('com.android.tools.build:gradle:7.2.2');
This case works on debug mode but throws this error on release build. I am attaching the log below.
--------- beginning of crash
2023-03-01 02:29:16.525 22283-22308/? E/AndroidRuntime: FATAL EXCEPTION: create_react_context
Process: com.s2m, PID: 22283
java.lang.RuntimeException: Unable to load script. Make sure you're either running Metro (run 'npx react-native start') or that your bundle 'index.android.bundle' is packaged correctly for release.
at com.facebook.react.bridge.CatalystInstanceImpl.jniLoadScriptFromAssets(Native Method)
at com.facebook.react.bridge.CatalystInstanceImpl.loadScriptFromAssets(CatalystInstanceImpl.java:248)
at com.facebook.react.bridge.JSBundleLoader$1.loadScript(JSBundleLoader.java:29)
at com.facebook.react.bridge.CatalystInstanceImpl.runJSBundle(CatalystInstanceImpl.java:277)
at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1422)
at com.facebook.react.ReactInstanceManager.access$1200(ReactInstanceManager.java:138)
at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:1111)
at java.lang.Thread.run(Thread.java:1012)

Scenario 2....
classpath('com.android.tools.build:gradle:7.0.2');
This case shows this error on debug mode when i try to build the app.
Can't determine type for tag '?attr/shapeAppearanceCornerSmall'

java.lang.RuntimeException: Unable to load script. Make sure you're either running Metro (run 'npx react-native start') or that your bundle 'index.android.bundle' is packaged correctly for release.

That's your error, actually. It doesn't have to do with the Stripe React Native package, it has to do with your build script. Maybe you're not running the JS bundle during your build. Take a look at this stack overflow post: https://stackoverflow.com/questions/55441230/unable-to-load-script-make-sure-you-are-either-running-a-metro-server-or-that-yo

This issue comes with stripe version 0.24 and 0.25.
I tried with stripe version 0.19. It works on both debug and release.

You might need to address some of the Breaking Changes since v0.19.0, it's possible that the metro server is erroring out which is why the build process doesn't think it's running.
I tested this in a blank project and I'm not getting the error, so if you can share a github repo that does reproduce the same crash I'm happy to take a look

i have the same issue

I have same issue


Don't create insecure sudoers file

We need to validate the paths before we generate a sudoers file.
Lima would not execute commands when they are insecure, but another app or user could once they are configured in /etc/sudoers.d. So it is best not to generate an insecure file at all.
Fixes #2663

Sorry for the churn, but the initial PR was not correct.
I believe it is fixed now and ready for review.