How do you want to engage with Puck?

The last few days have been a blast - we've gone from 8 stars on Tuesday morning to 2.1k and counting on Thursday.
We've been thinking a lot about the best way to engage with you all.
Currently we're considering:

GitHub only (issues, discussions and releases)
X/Twitter (via the @hellomeasuredco account, or a new dedicated account)
Discord
Mailing list

Are there any things we're missing, or anything you'd like us to consider? Free-form responses welcome.

@chrisvxd I'd love to chat on Discord!

GitHub only  +1, with so many discord channels nowadays and then github issues/disccussions as well it becomes sometime hard to find required info/help. i feel like keeping it at one place makes it easier to access and manage too 🙂

Notwithstaning that it does feel like Discord is the way things are going these days:
Don't use Discord as your Q&A forum

We've created a Discord server:  https://discord.gg/D9e4E3MQVZ (@xaviemirmon @spellew)
We'll also continue to actively engage via GitHub.
We didn't get tonnes of feedback on this, but decided to open a Discord as we want a place to engage with the community more synchronously. We want to hear more of what people doing with Puck, and also have a way to engage with non-technical users of Puck (like content teams).
I understand and share the concerns regarding finding the necessary information, so we'll aim to to keep GitHub thriving and direct people here from Discord where appropriate. Our hope is this may also have the effect of raising the quality of issues opened on GitHub. If it becomes difficult to maintain or isn't working for our users, we'll move back to GitHub only.
Aside - I'm also open to exploring the use of Discord bots to index things on GitHub.


user_profile_modal: Updates "edit" icon and "copy link" icon of user profile modal.

The PR is made as per the discussion on #CZO
This PR includes the following changes in the user profile modal :

Updates the "edit-profile" icon with the one used in the context menu for edit messages(zulip-icon-edit)
Updates the "copy link" icon to match the one found in the compose formatting area.

Screenshots and screen captures:
Light Mode

Dark Mode

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Thanks! Visually, the edit icon looks bigger than the link icon. Can we make them match better?

@alya, I have resized the icon. Let me know if further adjustments are required.

Thanks! Please update the icon in the help center as well:
% git grep "pencil and" help/
help/include/manage-this-user-via-user-profile.md:1. Select the **Manage user** tab, or click the **pencil and paper**
help/include/manage-user-tab-tip.md:    You can also access the **Manage user** tab by clicking the **pencil and
help/preview-your-message-before-sending.md:Click the **pencil and paper** (<i class="fa fa-edit"></i>) icon to resume editing.

Are you up for adding a help center page to document the link feature? I would call it "Link to a profile", and place it right under "View someone's profile" in the left sidebar. You can follow the patterns from similar pages for how to do the instructions, and I'll be happy to do an editing pass.

Sure, I am on it!

I've  added a help center page as suggested and also made updates to the icons within the help center pages.

Thank you for the feedback, @alya. I've updated the help center page as suggested.

@alya , Just wanted to know if there is any additional feedback?

Sorry I lost track of this PR! @sahil839 could you please do a review pass?

@sahil839, This PR is ready for another round of review! Please let me know if further changes are required.

@sahil839 just making sure this is still on your list to review.

Posted one comment. Looks good otherwise. Would be good if @karlstolley can also have a look on CSS changes.

One improvement can be if the refactor commit can be the first commit, that would remove the unnecessary changes in the commit which changes the icons. You can do this change if that's easy to do, otherwise it is fine.

I've removed the formatting changes.

Uhh, sorry, but I still meant to keep the changes for CSS refactroing and updating the icons in separate commits, with only order being changed, which would make it easy to review.

My bad, I've now kept the CSS refactoring and icons changing commits separately with proper ordering as suggested.

Looks good. @karlstolley pinging you in case you have suggestions regarding CSS changes.

Overall this LGTM. It would be nice to clean up the underscore-style classes and replace them with hyphenated versions as a prep commit.

As suggested, I've added a prep commit that replaces the underscore-style classes of the user profile modal with the hyphenated one. Please let me know if any more adjustments are required.

Commit message looks good, but as a prep commit, that should be your first commit, so that the substantive changes here already have the hyphenated class. git rebase -i is your friend here, and you might have some merge conflicts with yourself that you'll have to fix as you go.

@timabbott looks like everyone's feedback has been addressed. @timabbott let me know if you need me to re-test.

I reworked this to address that last batch of feedback and marked this to merge once CI passes, thanks @Pratik2026 and @karlstolley!

And @sahil839 . :)


[Orc-Binary-Cache-02] Derive subclasses for implementing ORC Binary Cache

What changes were proposed in this pull request?
After #1144 , this PR derives subclasses from RecordReaderImpl.java and RecordReaderUtils.java for implementing ORC Binary Cache.
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

@LuciferYang  @ivoson
Please have a review.
Thanks

@ivoson
Done.
Thanks

@ivoson
I  will merge this  PR, and submit the last orc PR.
Do you have any other views?
Thanks.

hi, @zhixingheyi-tian I have left some new comments, sorry for the late.


Quick information needed in the current release can we create the component using C# code, Without creating using .cshtml file and use it as component

I i tried to create component by creating only the C# class inheriting from Component class, but i am getting below error. i do not have any valid use case of this.
WASM: * Assertion at /Users/builder/jenkins/workspace/test-mono-mainline-webassembly/label/highsierra/mono/metadata/loader.c:2468, condition `mono_metadata_token_table (m->token) == MONO_TABLE_METHOD' not met
MonoPlatform.ts:191:25
WASM:
MonoPlatform.ts:191:25
uncaught exception: abort(). Build with -s ASSERTIONS=1 for more info.

I don't think you're inheriting from the correct base class. You should inherit from Microsoft.AspNetCore.Blazor.BlazorComponent. I think you're inheriting from something unrelated, since Blazor doesn't have a type called Component.
Note that writing components purely in C# (not Razor) is advanced and not really documented at this stage. Good luck :)


Student Courses Tab

I like this

Ano dapat ilagay sa Students Courses Tab

Perhaps, the list of courses that the student has taken and is taking.

We should figure out how are we going to sync the enrolled subjects of the students without integrating it to the MSU System

Could you elaborate "syncing the enrolled subjects"?


MITM and Chained proxy support

PR for MITM + Chained proxy support. Basic scenarios work. Raising an early PR to get feedback and review comments.
PS : This is my first PR to any project. :) Please do let me know if there's anything to be modified/changed.

Currently, this PR does not support MITM + chained proxy where the chained proxy is SSL enabled. Working on it.

Hi @MediumOne, thank you for the PR. I had a little vacation last week, but I've fetched it now.

Hello MediumOne,
great work. I haven't thought, this is such a little modification within
the current LittleProxy implementation. Please have a look at this Netty
4.1 feature too: https://github.com/netty/netty/pull/2817 . The examples
demonstrate a chain of chained proxies and it supports https. This could
be simplify the client part of the proxy in the future.
I'm happy to see, you've implemented a test. All tests succeeds in my
environment. In my experience the inherited test framework was hard to
understand and to extend with special requirements - a lot of work.
First thoughts:
https://github.com/adamfisk/LittleProxy/pull/251/files#diff-7f535123edb811193a7050ce04e30ea0R275
I see, you've saved the original code, but please consider to simplify
this condition. It's a single boolean return with tree conditions, I think.
Your comment suggests to extract this part into a separate method with
an explaining name, eventually.
https://github.com/adamfisk/LittleProxy/pull/251/files#diff-7f535123edb811193a7050ce04e30ea0R572
A littleness, but please avoid the trailing whitespace.
https://github.com/adamfisk/LittleProxy/pull/251/files#diff-7f535123edb811193a7050ce04e30ea0R655
The formatting looks inconsistent here :-) . And another comment, please
consider a method, too.
Next, I will cherry pick it into my application (since it depends on a
modified MitmManager) and give it some more manual testing.
Great feature. Thank you again!
Regards Frank
Am 03.11.2015 um 19:59 schrieb Sivasubramaniam S:

Currently, this PR does not support MITM + chained proxy where the
chained proxy is SSL enabled. Working on it.
—
Reply to this email directly or view it on GitHub
https://github.com/adamfisk/LittleProxy/pull/251#issuecomment-153454230.

Thanks @ganskef. Even I was surprised that it took little modification to add this feature. :-)

Please have a look at this Netty
4.1 feature too: netty/netty#2817 . The examples
demonstrate a chain of chained proxies and it supports https.

I will look into it. Can you please share a link to the netty example using this proxy handler? I am unable to find any examples using this handler.

In my experience the inherited test framework was hard to
understand and to extend with special requirements - a lot of work.

IMO, I found it easy to extend the test cases for this feature. :-) I need to modify the class level documentation of my test case. I just copy-pasted it and forgot the change it. I will make this change.

I see, you've saved the original code, but please consider to simplify
this condition. It's a single boolean return with tree conditions, I think.

Sure, I will refactor this condition. I think I also need to add a comment explaining why we return true when the currentRequest is null. I will do this.
About the whitespace and formatting, I will correct them. Didn't pay attention to them. :-)
Currently, I am working on making this MITM proxy work with a chained proxy that has SSL enabled (Client --> P1 (MITM) --> P2 (HTTPS) --> Server). I have got this scenario working. I am working on cleaning up method signatures and adding test cases.
Can I push commits to this branch or create a new PR with all the changes together?

This test is a good example: https://github.com/netty/netty/blob/master/handler-proxy/src/test/java/io/netty/handler/proxy/ProxyHandlerTest.java
This PR is all yours. It's okay in only once or two branches. If you're ready to merge, tell it. We'll discuss it and it will be merged into master. But no hurry, I will be waiting for @jekh , I think.

Added support for MITM + chaining with SSL enabled proxy. Two newly added tests are failing - MitmWithBadClientAuthenticationTCPChainedProxyTest and MitmWithBadServerAuthenticationTCPChainedProxyTest. Currently ignored them. Working on it.

@MediumOne, any update with such issue ?

Hi @bwzhang2011,
I could not work on it in the past few days. But the implementation already completed should solve almost all of the use cases.
Can you please detail the use case you are trying to solve?

@MediumOne, thanks for view and following up. my use cases is similar to description of https://github.com/adamfisk/LittleProxy/pull/249. from such issue, I noticed that many chose different way to implement reverse proxy and I also noticed that the MITM way as my solution is based on the chainProxy so I will also care for such with the integration and I also confused that MITM and chainedProxy could not be set together so I'd like to integrate your contribution to have a test and hope it will be merged not long in the future.

@MediumOne, I run the test by it failed with one of the test but not in your test code. it appeared in the
TimeoutTest.testIdleConnectionTimeout.
from the testing result, the result return with 504 timeout tag but the resource code expect 502 bad gateway result.

@jekh @ganskef  I'm building a custom in-house proxy for my company which needs to support chaining as well as header inspection for HTTPS requests. Am I right to think that this would require MITM + chaining to be active? Got an idea when this functionality might be reviewed and/or included for distribution with LP? Any kind of time-frame would help me communicate with my team to set expectations.
As well, if I can be of any help with coding, reviewing, etc, I can get authorization to work on the problem full-time if it would help deliver this feature.

@MediumOne I've cherry picked the first commit in https://github.com/ganskef/LittleProxy master. It's working with my offline proxy requirements with no problem. The upstream proxy tunnels HTTPS and LittleProxy does MITMing.
Chained proxy with MITM works for me via WWWOFFLE and GlimmerBlocker in my Linux desktop environment.
@dparis Yes, MITM is needed to inspect headers with a filter in LittleProxy. Using and testing chained proxy is not a natural requirement for me. Please consider to use https://github.com/ganskef/LittleProxy-parent to build LittleProxy with MITM and proxy chaining enabled. Report your results and issues here.

@ganskef Thanks for the testing and feedback. Any reasons why you have not picked the second commit? It adds support for MITM + Chaining with a "HTTPS" proxy.

Hi @MediumOne, I wasn't sure, if it is in ready state, since you've ignored some tests. Thank you for creating a PR there, too. I'll test it, but it's not my intention, to create a separated fork of LittleProxy. Your feature should be integrated into adamfisk/LittleProxy. I'm waiting for #230, to use LittleProxy with my requirements.

@jekh, @MediumOne oh sorry, I'm out of sync, 9 commits behind adamfisk:master, and I'm in trouble after merging upstream.

@ganskef, @MediumOne, any update with such issue ? will it be merged as expected with mitm and chained proxy working together ? by the way, how about #249, we're expecting to make full use of littleproxy for its reverse use cases. hope those could be provide for next release.

@jekh any concerns with this PR. It's tested and it works with my use cases without side effects. I think it's a valuably addition and I would like to merge it.
@bwzhang2011 #249 is closed, so I think it's obsolete. Please comment your issues there, if needed.

No concerns from me. This looks good and I'm very pleased to see this make it into LP. I've been working on a flexible MITM implementation for BMP, and this was the next thing on my list. Glad somebody beat me to it!

So, I'll merge this with no more delay.


Build Error - "Field does not exist" - 'keywords' in WordPressAttachment_MediaDetails

Description
I've been working on a website using the WordPress data source for a couple months. Today, the build process to Netlify encountered an error. In the past I've been able to debug these errors, because they've been due to something on my end. This seems different.
I reverted the change I made between the previous build and this one, and the same error occurred.
I updated WordPress core on the source URL this afternoon, so that might have something to do with it.
Below is the error from the Netlify console:
2:16:21 PM: Error: Cannot get field 'keywords' from type 'WordPressAttachment_MediaDetails_ImageMeta'. Field does not exist.
2:16:21 PM:     at ObjectTypeComposer.getField (/opt/build/repo/node_modules/graphql-compose/lib/ObjectTypeComposer.js:167:13)
2:16:21 PM:     at ObjectTypeComposer.getFieldExtensions (/opt/build/repo/node_modules/graphql-compose/lib/ObjectTypeComposer.js:976:24)
2:16:21 PM:     at ObjectTypeComposer.extendFieldExtensions (/opt/build/repo/node_modules/graphql-compose/lib/ObjectTypeComposer.js:989:26)
2:16:21 PM:     at addFieldExtensions (/opt/build/repo/node_modules/gridsome/lib/graphql/nodes/index.js:153:25)
2:16:21 PM:     at addFieldExtensions (/opt/build/repo/node_modules/gridsome/lib/graphql/nodes/index.js:156:9)
2:16:21 PM:     at addInferredFields (/opt/build/repo/node_modules/gridsome/lib/graphql/nodes/index.js:141:9)
2:16:21 PM:     at createFields (/opt/build/repo/node_modules/gridsome/lib/graphql/nodes/index.js:113:3)
2:16:21 PM:     at createNodesSchema (/opt/build/repo/node_modules/gridsome/lib/graphql/nodes/index.js:30:5)
2:16:21 PM:     at createSchema (/opt/build/repo/node_modules/gridsome/lib/graphql/createSchema.js:60:3)
2:16:21 PM:     at Schema.buildSchema (/opt/build/repo/node_modules/gridsome/lib/app/Schema.js:28:28)
2:16:21 PM:     at Plugins.createSchema (/opt/build/repo/node_modules/gridsome/lib/app/Plugins.js:94:22)
2:16:21 PM:     at process._tickCallback (internal/process/next_tick.js:68:7)

Steps to reproduce
Running gridsome build on a project using WordPress as the data source might work, presumably on a WordPress site with the most recent version of WordPress, 5.2.3.
Expected result
The build normally succeeds without any issues
Actual result
The build failed, attempting to get the 'keywords' endpoint from WordPressAttachment_MediaDetails_ImageMeta
N.B. I'm not accessing that endpoint anywhere in the project. The only endpoints I'm accessing for WordPressAttachment_MediaDetails are:
width
height
Environment

Libs:
- gridsome version: 0.7.6
- @gridsome/cli version: 0.2.1

You are right. Some changes in 0.7.6 caused som issued with inferred fields. We'll fix that asap :)

Thanks. Definitely interested to know what caused the issues and to see your fix, so I can attempt to patch issues like this, if they come up in the future.

The fix is in these lines. The other changes in the commit are mostly tests to ensure this doesn't happen again :)

Thank you guys for fixing this bug. It will be possible to udpate npm/yarn packages?

The fix has been published to npm now. Hopefully without introducing new bugs.

Amazing. This worked perfectly. Thanks @hjvedvik

@hjvedvik break for me https://github.com/hacknug/klayaya/pull/92

@hacknug It seems like the WordPress plugin creates a reference to a post type that hasn't been fetched. You can try to enable the DlmDownload post type for the REST API in WordPress. But I'll take a look at how it was handled in earlier versions.

@hjvedvik tried that but now it breaks because it's getting a 404 in /blocks ("No route was found matching the URL and request method").
~This is weird because that definitely is the rest_base listed under types.~
Just found the culprit of that /blocks. For some reason either WP REST Cache or Ultimate WP REST (this one's been disabled for a while, only tried it out) probably tweaked that and didn't put theit cached version in there. After disabling/enabling the plugin again, rest_base points to /wp-block where the content should appear.
I guess the only gridsome issue is breaking the build when encountering a 404. This should be handled the same way 401 are, no?


Renaming paw_gui -> pawgui

Description
Change per @theweirdn8 request.
Goal

Rename the folder paw_gui to be pawgui.
Refactor all the references.

Oops... Noticed a typo... Fix incoming.


API part of the website returns 500 HTTP error

As the title says the api part is broken atm

Which endpoint returns a 500?

API doc link at the botom of the website

this here :) maybe i should have uploded it erlier :)

Ok, I'll look into it shortly :)

Fixed


add matching on string value having only upper case characters to matchCriteria

Add testing for a string value having only upper case characters to satisfy matchCriteria

Resolved in v1.4.315


Feature Request: GitLab Support

Hey everyone,
I've been playing around with README-AI and I'm seriously impressed. The quality of READMEs this tool generates is just awesome, and you can tell the GPT-powered magic does its job well. Props to the team behind this! 🙌
However, I noticed that the tool only supports GitHub repositories at the moment. As a GitLab user (and I'm sure there are others out there), it would be fantastic to have GitLab support built into README-AI. The more, the merrier, right?
I'm guessing that because GitHub and GitLab share a lot in common, it might not be a massive leap to include this feature. Imagine having the power to auto-generate beautiful READMEs for GitLab repositories, or easily transfer your killer READMEs from GitHub to GitLab (and back!). That'd be a game changer.
So, that's my two cents. Anybody else out there think GitLab support would be a cool addition?
Oh, and by the way, this message was written with a little help from a friend - ChatGPT, to be exact. Kinda meta, right?

Very meta indeed @codingjerk! Thanks for the awesome feedback and trying out the tool! 👏
I just merged the PR to implement GitLab compatibility. It was fairly straightforward as you mentioned, but please let me know if its working as expected.
The addition of GitLab support is a logical step in making this tool more robust and platform-agnostic. I encourage you to continue exploring README-AI and sharing your experiences. Looking forward to collaborating again in the future!
Best,
Eli


Summary Tab: #1 UI and logic

Description
It's time to implement the Summary Tab which displays a lot of information about the request

Acceptance Criteria

Use Tree View React: https://mui.com/material-ui/react-tree-view/
Add a tab Summary: By default, it's a custom Tab (Enabled by default), it positions after the | separator. (Open the macOS app and see what it looks like)
All Sections are collapsed, except the Summary Section.
When the user expands some section -> It will persist when we select a different Request (GIF)

https://github.com/ProxymanApp/proxyman-windows-linux/assets/5878421/185c3d33-7c38-4591-8e1b-6dcebdba74de

If we close the Proxyman app, the section is reset (Summary Section is expanded)

1. Summary Section

URL
Status
Response Code
Method
Content-Type: (Get from Content-Type from the Response Header)

2. Debugging Tools
If the flow is matched with any debugging tools, we should save it as a property -> Show it in the Debugging Tool section

Tool Name
Rule Name
Matching Rule
Notes
Open Rule

3. Timing

Request Start Time
Request End Time
Request Time
Response Start Time
Response End Time
Response Time
Latency (No need to implement since we don't have this data)
Duration
Duration (Exact)

4. Size

Request Header
Request Body (Just get the body length)
Response Header
Response Body (Body Length)
Total Size

5. Connection

Client Address
Remote Address

Other

No need to implement the TLS and Server Certificate Section

Code requirement

Do not calculate the summary when the Flow is initialized. We should init the FlowMetadata in the lazy mode => When the user opens the Summary Tab -> It's time to initialize the FlowMetadata class
Ping @NghiaTranUIT to get the FlowMetadata in Swift file, so you can understand how it's designed
Some info is not missing (e.g. Client Address, Remote Address): we should add this new property to the Flow class
When we export the Flow to ProxymanLog or HAR, the Summar Tab should display the same data

Filter

Able to filter the Row or Section
If we select a different flow -> The filtered Section/Row must be updated
Use the same shortcut: Control+F to focus and open, ESC to hide it

https://github.com/ProxymanApp/proxyman-windows-linux/assets/5878421/dde3f6b4-8998-4147-b311-678d586d3794


Inaccurate type for v-model in select-menu

Environment

Operating System: Windows_NT
Node Version:     v20.18.0
Nuxt Version:     3.13.2
CLI Version:      3.15.0
Nitro Version:    2.9.7
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      default
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Version
v3.0.0-alpha.7
Reproduction
To reproduce the issue, simply specify the type of ref assigned to v-model as the type of your value-key. Additionally, include a value-key attribute. While everything functions correctly, the types are not accurately represented, which leads to errors. Here is a CodeSandox with a select-menu page.

Description

The type of v-model should now be a string, as a value-key has been specified, and its type is defined as a string.
The types in label-key should support dot notation like user.name.

Additional context
The issue with fast-deep-equal persists; I had to install the dependency and include it in optimizeDeps to resolve the problem.
Additionally, I was unable to add w-full to the root of selectMenu in app.config.ts, as I did for input and textarea. It appears that the root slot is not provided in this case. I’m also curious why the inputs no longer occupy the full available width as they used to. 🤔
No response
Logs
No response

Duplicate #2470.
This has already been solved by https://github.com/nuxt/ui/pull/2471.
The issue with fast-deep-equal has already been solved by https://github.com/nuxt/ui/commit/309e52faa76fc0a135dbc0d9543380ffd9066bda.
None of this has been released yet.

In Nuxt UI v2, the wrapper of the SelectMenu had w-full. We decided to let the select take its content width instead in v3.
You can just do <USelectMenu class="w-full" />, not sure to understand the issue here.

@benjamincanac Glad to hear the issues have been resolved. My problem with the SelectMenu is that I could not configure the defaults in my app.config.ts. I could configure other inputs like so
export default defineAppConfig({
   ui: {
      colors: {
         // @ts-expect-error TODO: add a workaround for the Color type or add blue-stone to Color type
         primary: "blue-stone",
         gray: "slate",
      },
      icons: {
         loading: "tdesign:loading",
      },
      input: {
         slots: {
            root: "w-full",
         },
      },
      textarea: {
         slots: {
            root: "w-full",
         },
      },
      selectMenu: {
         slots: {
            itemLabel: "capitalize",
         },
      },
   },
});

It seems there is no root slot for the select-menu. Also, configuring the array values in the theme is challenging. Nothing I pass to base seems to work. I could be missing something.

Indeed, the SelectMenu has no root slot, you can pass the width to the base slot but there's indeed a type error.


LazyVim Profile, maybe something is wrong?

Did you check docs and existing issues?

[X] I have read all the LazyVim docs
[X] I have searched the existing issues of LazyVim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
NVIM v0.10.0-dev-2982+gea1c9f60e
Operating system/version
MacOS
Describe the bug
I saw on reddit a post, where some people showing there profiles.
This is mine:
LazyStart 16.79ms
LazyDone  486.56ms (+469.77ms)
UIEnter   526.77ms (+40.21ms)
I mean is this normal or is it way to much?
Steps To Reproduce
Press: leder l
Press: P
Expected Behavior
Maybe less time.
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  "folke/LazyVim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

This is totally dependent on your hardware. Also, this kind of questions are more appropriate for the Discussions section and not bug issues.

Sorry i move this question, thanks for repliying.


/results-API ignores manual Testruns

Describe the bug
Sometimes the automatic tests after the deadline fail at some particular students. In this case the instructors trigger a new manual run at theses students. But the /results-API ignores these new runs and stil shows the old automatic result (if there is no manual result).
To Reproduce

You need a programming exercise with at least one participation and the test must run automatically after the deadline.
Update the tests and start a manual run of this participation.
The /results-API (e.g. used at the Scores-Page) still returns the old automatic result.

This can be best seen at the PGDP-Course, Exercise 2577, ID 2009677. This is also the score seen at the screenshot below.
During the assessment the code editor shows the new result. It seems like students also can't see this new result but this needs additional testing to be confirmed.
Expected behavior
A manual rerun of the test updates the returned score.
Screenshots
The participation mentioned above:

These 4 / 4 are only the public tests. I don't have a screenshot but I know for sure that the newest result differs from what is seen here.

API-Response
"id": 2067317,
"resultString": "4 of 4 passed",
"completionDate": "2020-12-21T08:51:38+01:00",
"successful": true,
"score": 100,
"rated": true,
"hasFeedback": false,
"submission": {
	"submissionExerciseType": "programming",
	"id": 2009677,
	"submitted": true,
	"type": "INSTRUCTOR",
	"submissionDate": "2020-12-21T06:38:49+01:00",
	"commitHash": "b27b938136e6c2cc0b91f820e74b5babc1ec5a18",
	"buildFailed": false,
	"buildArtifact": false,
	"empty": false,
	"durationInMinutes": 4607
}, ...

Environment

 - Artemis 4.9.2
 - OS: Windows 10 19042
 - Browser Firefox 84.0.2

Should be fixed with #2696

Should be fixed with #2696


Gitlab support request

Awesome project! Definitely interested in using this for gitlab

@hrwebasst Great! I don't have much experience with Gitlab, but if the underlying infrastructure supports webhooks then it should be relatively trivial to get working.
Is this something you'd like to tackle?

@hrwebasst Any update on this?


Fix zb failing to build on windows due to misconfigured package name

I was getting an error while trying to compile zb on windows, it seems like this package was misconfigured.
Without this patch, go wasn't able to compile the project for windows returning this error:
go build
derivation.go:17:2: found packages frontend (derivation_eval.go) and zb (path_eval_windows.go) in C:\zb\internal\frontend

After changing this, I was able to generate the .exe for zb

lol, that would do it. Thank you!


AppEngine crashes when trying to remove an unexisting alias

{:error, :alias_tag_not_found} is not handled in Astarte.AppEngine.APIWeb.FallbackController, this causes AppEngine to reply with an internal server error when trying to remove an unexisting alias tag.

Closes by #618


less than 80 characters in displayed messages needed

It looks like I was wrong insisting that each printed line should have at most 80 characters.  It looks like it should have 79.  Note the --directory option below, where an empty line is printed because the previous line has precisely 80 characters.  So from now on, at most 79 characters per line, please.
D:\github.grosu\k\samples\kast>kompile --help
Usage: kompile [options] <file>
  Options:
    --backend
       Choose a backend. <backend> is one of
       [pdf|latex|html|maude|java|unparse|symbolic]. Each of [pdf|latex|html]
       generates a document from the given K definition. Either of [maude|java]
       creates the kompiled K definition. 'unparse' generates an unparsed
       version of the given K definition. 'symbolic' generates symbolic
       semantics. Experimental: 'doc' generates a .tex document, omitting rules
       unless specified.
       Default: MAUDE
    --debug
       Print debugging output messages
       Default: false
    --directory, -d
       Path to the directory in which the output resides. An output can be
       either a kompiled K definition or a document which depends on the type of

       backend. The default is the current directory.
       Default: .
    --doc-style
       Specify a style option for the package 'k.sty' (when '--backend
       [pdf|latex]' is used) or path to an alternative .css file (when
       '--backend html' is used).
    --help, -h
       Print this help message
       Default: false
    --help-experimental, -X
       Print help on non-standard options.
       Default: false
    --main-module
       Specify main module in which a program starts to execute. This
       information is used by 'krun'. The default is the name of the given K
       definition file without the extension (.k).
    --smt
       SMT solver to use for checking constraints. <solver> is one of
       [z3|gappa|none].
       Default: Z3
    --supercool
       Specifies which rules supercool the computation. To be used in
       combination with --superheat. <string> is a comma-separated list of rule
       tags.
       Default: [supercool]
    --superheat
       Specifies which syntactic constructs superheat the computation. To be
       used in combination with --supercool. <string> is a comma-separated list
       of production tags.
       Default: [superheat]
    --syntax-module
       Specify main module for syntax. This information is used by 'krun'.
       (Default: <main-module>-SYNTAX).
    --transition
       <string> is a comma-separated list of tags designating rules to become
       transitions.
       Default: [transition]
    --verbose, -v
       Print verbose output messages
       Default: false
    --version
       Print version information
       Default: false
    --warnings, -w
       Warning level. Values: [all|normal|none]
       Default: NORMAL

D:\github.grosu\k\samples\kast>

Closing. Apparently we handled this already.


chore: enable dependabot

adding dependabot config file

@dspashynskyi  how to verify the PR?
Can you explain briefly what it does?

@dspashynskyi how to verify the PR? Can you explain briefly what it does?

It changes the PR title for dependabot to match our convention


Combine Downloadify with FileSaver.js?

It seems like a good idea. How do you feel about it? We're both MIT-licensed.

I think it seems a very good idea, indeed :+1:


Meaning of 1x/2x/3x etc in HTML report

What's the meaning of 1x/2x etc. flags in the HTML report?

As far as I can tell, this correlates with the output of flow coverage <filename> --json (or --pretty, to get pretty-printed readable json output)., independent of the flow-coverage-report frontend wrapping around the underlying flow coverage call.
For example, the --pretty JSON output contains the properties:
{
  "uncovered_count": 6,
  "uncovered_locs": [
    ...
    {
      "source": <full path to file>,
      "type": <type of file, e.g. SourceFile,
      "start": {"line": <line number>, "column": <col number>, "offset": <offset?>},
      "end": {"line": <line number>, "column": <col number>, "offset": <offset?>,},
    }
    ...
  ]
}

I think your original question highlights a related and distinct potential bug in this repo - if you were to run flow coverage <file> --pretty on the file you included a screenshot of, IIUC it should break up line 14 in to 6 distinct sections, making it clearer what the 6x actually means - by highlighting the entire section within the brackets, it's become less clear.

As far as I can tell, this correlates with the output of flow coverage <filename> --json (or --pretty, to get pretty-printed readable json output)., independent of the flow-coverage-report frontend wrapping around the underlying flow coverage call.
For example, the --pretty JSON output contains the properties:
{
  "uncovered_count": 6,
  "uncovered_locs": [
    ...
    {
      "source": <full path to file>,
      "type": <type of file, e.g. SourceFile,
      "start": {"line": <line number>, "column": <col number>, "offset": <offset?>},
      "end": {"line": <line number>, "column": <col number>, "offset": <offset?>,},
    }
    ...
  ]
}

I think your original question highlights a related and distinct potential bug in this repo - if you were to run flow coverage <file> --pretty on the file you included a screenshot of, IIUC it should break up line 14 in to 6 distinct sections, making it clearer what the 6x actually means - by highlighting the entire section within the brackets, it's become less clear.


Fix distributed barrier hang

This is bug reported in issue #998 (and is also valid for run_squad.py).
What is happening?
When launching a distributed training on one of the task of the GLUE benchmark (for instance this suggested command in the README here for GLUE or here for SQUAD), the training is performed in a distributed setting (expected behavior). Evaluation can be tricky for certain metrics in a distributed setting so the evaluation is performed solely by the master process (cf L476: if args.do_eval and args.local_rank in [-1, 0]:).
During the evaluation, the process hangs/gets stucked at L290 (torch.distributed.barrier()). It turns out that all the processes except the master one already exit at L476 and thus never enter the symmetric torch.distributed.barrier() at L254-255. It means that the master process is waiting at L290 for his process friends who already left the party without telling him (printing a torch.distributed.get_world_size() at L290 during evaluation reveals torch is expecting $NGPU processes).
Adding a and not evaluate condition both at L254 and L289 is a solution to fix the bug (the master process is the only surviving process at evaluation, so no need to wait for others...)

Ok great, thanks a lot @VictorSanh


ci: support @typescript-eslint/lines-between-class-members

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows Conventional Commits
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Refactoring
[ ] Code style update
[x] Build or CI related changes
[ ] Documentation content changes

New behavior
Support quick fix
Does this PR introduce a breaking change?

[ ] Yes
[x] No

@nsbarsukov @vladimirpotekhin please, review me)


[backstage-plugin] getting error on yarn dev

Describe the bug
on the backstage plugin am getting errors on the main branch
To Reproduce
Steps to reproduce the behavior:

Go to main in https://github.com/janus-idp/backstage-plugins (observed on latest commit dcf345f8f0ca27f85cb4bf158a1d223cb706bb60)
yarn install
yarn dev
See the below error and the app won't start properly

node --version
v16.17.1
yarn -v
1.22.0
yarn run v1.22.0
$ concurrently "yarn start" "yarn start-backend"
$ yarn workspace app start
$ yarn workspace backend start
$ backstage-cli package start
$ backstage-cli package start
[0] ⚠   Some of the following packages may be outdated or have duplicate installations:
[0]
[0]           @backstage/plugin-catalog-backend, @backstage/plugin-catalog
[0]
[0] ⚠   This can be resolved using the following command:
[0]
[0]           yarn backstage-cli versions:check --fix
[0]
[1] Build succeeded
[0] Loaded config from app-config.yaml
[0] <i> [webpack-dev-server] Project is running at:
[0] <i> [webpack-dev-server] Loopback: http://localhost:3000/, http://<IP_ADDRESS>:3000/
[0] <i> [webpack-dev-server] Content not from webpack is served from '/Users/jaivardhankumar/workspaces/backstage-plugins/packages/app/public' directory
[0] <i> [webpack-dev-server] 404s will fallback to '/index.html'
[0] <i> [webpack-dev-middleware] wait until bundle finished: /catalog
[1] Loaded config from app-config.yaml
[1] 2023-04-20T08:09:25.398Z backstage info Found 2 new secrets in config that will be redacted
[1] 2023-04-20T08:09:25.416Z backstage info Created UrlReader predicateMux{readers=azure{host=dev.azure.com,authed=false},bitbucketCloud{host=bitbucket.org,authed=false},github{host=github.com,authed=false},gitlab{host=gitlab.com,authed=false},awsS3{host=amazonaws.com,authed=false},fetch{}
[1] 2023-04-20T08:09:25.452Z catalog info Performing database migration type=plugin
[1] Backend failed to start up Error: Could not locate the bindings file. Tried:
[1]  → /Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/build/better_sqlite3.node
[1]  → /Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/build/Debug/better_sqlite3.node
[1]  → /Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/build/Release/better_sqlite3.node
[1]  → /Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/out/Debug/better_sqlite3.node
[1]  → /Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/Debug/better_sqlite3.node
[1]  → /Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/out/Release/better_sqlite3.node
[1]  → /Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/Release/better_sqlite3.node
[1]  → /Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/build/default/better_sqlite3.node
[1]  → /Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/compiled/16.17.1/darwin/x64/better_sqlite3.node
[1]  → /Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node
[1]  → /Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node
[1]  → /Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node
[1]  → /Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/lib/binding/node-v93-darwin-x64/better_sqlite3.node
[1]     at bindings (/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/bindings/bindings.js:126:9)
[1]     at new Database (/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/lib/database.js:48:64)
[1]     at Client_BetterSQLite3.acquireRawConnection (/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/knex/lib/dialects/better-sqlite3/index.js:12:12)
[1]     at create (/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/knex/lib/client.js:254:39) {
[1]   tries: [
[1]     '/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/build/better_sqlite3.node',
[1]     '/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/build/Debug/better_sqlite3.node',
[1]     '/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/build/Release/better_sqlite3.node',
[1]     '/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/out/Debug/better_sqlite3.node',
[1]     '/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/Debug/better_sqlite3.node',
[1]     '/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/out/Release/better_sqlite3.node',
[1]     '/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/Release/better_sqlite3.node',
[1]     '/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/build/default/better_sqlite3.node',
[1]     '/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/compiled/16.17.1/darwin/x64/better_sqlite3.node',
[1]     '/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node',
[1]     '/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node',
[1]     '/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node',
[1]     '/Users/jaivardhankumar/workspaces/backstage-plugins/node_modules/better-sqlite3/lib/binding/node-v93-darwin-x64/better_sqlite3.node'
[1]   ]
[1] }
[0] webpack compiled successfully

Expected behavior
Shouldn't get any errors and the app should start
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

I removed node_modules and did a fresh install and this seems to help. Thus closing it.


Release Cryostat 3.0.0 on OperatorHub.io

Describe the feature
See https://github.com/cryostatio/cryostat-operator/issues/699
Anything other information?
No response

upstream PR: https://github.com/k8s-operatorhub/community-operators/pull/4617


Adding BRACKEN module and functionality

This PR is meant to add BRACKEN functionality to the SpeciesAbundance pipeline.
The kraken2/bracken Viral Collection database was downloaded locally from https://benlangmead.github.io/aws-indexes/k2 and used for testing the pipeline. A smaller viral database will need to be generated for GitHub Actions.

New fastq files have been added to the tests/data folder that represent viral metagenomes. The assests/samplesheet.csv has also been updated to direct to these new fastq files.

Some files (not directly related to the BRACKEN module) have had formatting updates for consistency.

I just realized I added the adjust_bracken_for_unclassified_reads.py script to bin/ in this PR by mistake. It was meant for another PR for the next module in the pipeline.


addition of coercive composition

Would the following be within the scope of this library?:
-- | Coercive left-composition.
infixr 9 #.
(#.) :: Coercible b c => (b -> c) -> (a -> b) -> a -> c
(#.) _ = coerce
{-# INLINE (#.) #-}

-- | Coercive right-composition.
infixr 9 .#
(.#) :: Coercible a b => (b -> c) -> (a -> b) -> a -> c
(.#) f _ = coerce f
{-# INLINE (.#) #-}

These can be especially handy, due to problems expressed in GHC Trac #7542. To quote the note in Data.Functor.Utils (in base):
"The problem, in a nutshell:
If N is a newtype constructor, then N x will always have the same
representation as x (something similar applies for a newtype deconstructor).
However, if f is a function,
N . f = \x -> N (f x)
This looks almost the same as f, but the eta expansion lifts it--the lhs could
be |, but the rhs never is. This can lead to very inefficient code.  Thus we
steal a technique from Shachaf and Edward Kmett and adapt it to the current
(rather clean) setting. Instead of using  N . f,  we use  N #. f, which is
just
coerce f asTypeOf (N . f)
That is, we just pretend that f has the right type, and thanks to the safety
of coerce, the type checker guarantees that nothing really goes wrong. We still
have to be a bit careful, though: remember that #. completely ignores the
value of its left operand."

If this isn't in the scope of the library, you can just let me know and close the issue

Just in case you aren't aware, you can already find these functions in Data.Profunctor.Unsafe.

Ah, yes, Edward Kmett brought this to my attention when I asked on the libraries mailing list that #. and .# be exported somewhere from base, since I noticed that some internal modules in base contain some useful functions.
Here is the mailing list issue: https://mail.haskell.org/pipermail/libraries/2018-April/028725.html


Add self keyword semantic token type

Not sure if this is warranted a new token type or just a modifier.

CC #4583, @GrayJack

bors r+


Duplicate has function for oneofs

Hi, I have to following .proto file:
syntax = "proto3";

message WorldJoinRequest {}
message WorldLeaveRequest {}

message ControlMessage{
	string sessionKey = 1;
	oneof MessageData {
		WorldJoinRequest joinMessage = 2;
		WorldLeaveRequest leaveMessage = 3;
	}
}

Running it throught the generator produces two has_ functions for the variants:
	func has_joinMessage() -> bool:
		return data[2].state == PB_SERVICE_STATE.FILLED
	func has_joinMessage() -> bool:
		if __joinMessage.value != null:
			return true
		return false
       ...
	var __leaveMessage: PBField
	func has_leaveMessage() -> bool:
		return data[3].state == PB_SERVICE_STATE.FILLED
	func has_leaveMessage() -> bool:
		if __leaveMessage.value != null:
			return true
		return false

I see a recent change in ec3c6bdada2f7a7a60d1bd90b6a613f3b2fc1bb7:
https://github.com/oniksan/godobuf/blob/e677d2c7b89e76c1ab3d0ef963c9d1647164d9e5/addons/protobuf/parser.gd#L1813-L1815
maybe line 1813 is an error and should be removed?

it looks like it is

PR added by me to master were not tested by me.
Therefore, they were not included in release. Unfortunately, there is no time for this yet.
It seems that this happened here:
https://github.com/oniksan/godobuf/pull/42/files
I'll have to find time and test it
Use release version


How to scroll to top?

I think as following.
mainScrollview.setContentOffset(.zero, animated: true)
But it is not working.

pageViewController.mainScrollView.setContentOffset(.zero, animated: true)
childScrollView.setContentOffset(.zero, animated: true)

Thank you for your answer.
childScrollView is not found. So instead of childScrollView, I used currentChildScrollView.
(I changed currentChildScrollView's accessor 'internal' to 'public')
pageViewController.currentChildScrollView!.setContentOffset(.zero, animated: true)
pageViewController.mainScrollView.setContentOffset(.zero, animated: true)
But it does not scoll to top at once.
At first
So I try as following.
pageViewController.currentChildScrollView!.setContentOffset(.zero, animated: true)
DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) {
pageViewController.mainScrollView.setContentOffset(.zero, animated: true)
}
It is working, but scrollToTop animation is paused for a while.
Any idea?
Thank you

You can get childScrollView at AquamanChildViewController.

But it does not scoll to top at once. It need two action for scroll to the top

Aquaman's current implementation cannot achieve smooth animation. Try Shazam

If I use Shazam, does it have  this feature 'ScrollToTop'.

Yes, but Shazam has other bugs I haven’t solved. So it is recommended that you use Aquaman.

Or convince your product manager to accept this fact

Thank you. I will try again.

Scroll to top function has been added.
public func scrollToTop(_ animation: Bool)

You are awesome. Thank you very much.!!!


DaskMethodsMixin compute does not work with async clients

Below is a minimal repro
import dask.distributed as dd
import dask.bag as db

cluster = dd.LocalCluster()
client = dd.Client(cluster.scheduler_address,asynchronous=True)

bag = db.from_sequence(range(0,4))
bag.map(lambda x:x).compute()

Gives the error
/opt/conda/envs/python3/lib/python3.7/site-packages/dask/base.py in compute(*args, **kwargs)
    445     postcomputes = [x.__dask_postcompute__() for x in collections]
    446     results = schedule(dsk, keys, **kwargs)
--> 447     return repack([f(r, *a) for r, (f, a) in zip(results, postcomputes)])
    448
    449

TypeError: zip argument #1 must support iteration

It looks like compute has not been changed to deal with the coroutine when the client is asynchronous.  Presumably compute should be a coroutine in that case.
I believe this affects all versions but just in case my environment is:
dask                      2.3.0                      py_0    conda-forge
dask-core                 2.3.0                      py_0    conda-forge
distributed               2.5.1                      py_0    conda-forge

@tilign thanks for the interest in the async side of dask!  A few things:

you can easily create a client with the following:

from distributed import Client
client = Client(asynchronous=True)

No need to go through LocalCluster but if you prefer that, that's ok!

I think the issue is related to async interface.  It's good to remember that you can await futures directly or you can use the client interface like the following:

await client.compute(bag.map(lambda x: x))

Thanks for the quick update @quasiben.  As you said:
await client.compute(...)

Works fine.  In fact I am currently getting around the issue I described above by monkey patching the compute method on the mixin:
    def async_aware_compute(self):
        return client.compute(self)
    dask.base.DaskMethodsMixin.compute = async_aware_compute

@tilign great!  Ok to close ?

May I submit a pull request with a fix instead so that others can benefit from the fix and to avoid monkey patching?

I think this is currently by design.  @jcrist, if you have time can you comment here ?

Yeah, we'd need to update compute (and I think persist as well) to deal with the case when the client as asynchronous. The trick here is we can't import distributed to check, so you'll need to make whatever fix you use do a generic check. You might modify get_scheduler to also check the asynchronous attribute on the client, and have a separate code path for the async case.

In general the methods weren't designed with an async context in mind. I think it makes sense to support this use case, if you'd like to submit a PR I'd happily review it.

Am curious how persist would be updated (given it has its own lazy evaluation behavior as well)


How to get training dataset

Hi, Thanks for the amazing work!
I was trying to run the training scripts but I get this error while running:
FileNotFoundError: [Errno 2] No such file or directory: 'assets/drawer/train'

How do I setup the training assets?

Thank you for your interest in our work! We have already released our assets for PartManip here.
If you have further questions, feel free to contact us.

Hi @geng-haoran , Thanks for sharing the link to the assets.
I think the franka panda arm description is missing from the asset dataset. When I run the training script I get the following error:
Creating envs:    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% -:--:--*** Failed to load 'assets/franka_description/robots/franka_panda_slider_new.urdf'[Error] [carb.gym.plugin] Failed to parse URDF file 'franka_description/robots/franka_panda_slider_new.urdf'
[Error] [carb.gym.plugin] Failed to import URDF file 'franka_description/robots/franka_panda_slider_new.urdf'

  File "/home/pkatara/PartManip/gym/envs/utils/load_env.py", line 455, in _load_franka
    franka_dof_state["pos"] = (state[:-1, 0])
ValueError: could not broadcast input array from shape (11,) into shape (0,)

Hi, our modified Franka asset has been uploaded. You can check the here again.

Hi @geng-haoran , thanks for sharing the modified asset.
The above error is resolved but I think the log files are missing in ppo_utils.  I get this error while running the training script:
  File "/home/pkatara/PartManip/gym/algorithms/pregrasp_ppo/imitation.py", line 33, in <module>
    from ..ppo_utils.log_util import log, log_test
ModuleNotFoundError: No module named 'algorithms.ppo_utils.log_util'

Yes! My mistake! I accidentally ignored it using git. I update the code just now. Please pull it again! Thank you very much to point it out!!!

I test the training script again just now and it runs well! Good luck and contact me if you meet any other questions!

Thanks @geng-haoran for the prompt response.
I tried running the training script without headless mode.
For some reason, the base of the Franka Panda arm is not static on the table. Is this expected?

Yes, we have different versions of Franka, check it in the assets. For OpeningDoor, it's a bit challenging if the base can not move. We also train a model that the base can not move, and use this model in real-world experiments. The performance drops a bit.

Thanks @geng-haoran for the details! I'll try running with the other versions Franka descriptions.

I had another follow-up question:
How do I generate training data for other GAPartNet object categories?

Yes! You can download the GAPartNet dataset here and use the annotated bbox and identify which part to manipulate. You can check the assets format and implement it the same way.

Thanks! This was really helpful.

Hi @geng-haoran ,
I tried training for the drawer task referring to the script here, but for some reason unable to get the same success rate in 60k steps.
I trained till 3M but convergence seem slow. here are the wandb logs for my run.
what might go wrong while training? is it related to the number of envs spawned while training? in my case, 30env are spawned with 6 assets and 5 replications.

Yes, you can try to use like 200_40_40_5 assets for training, which is more stable.

update the readme file as well


gRPC service for kv storage

Issue: #743

Another thought: unit tests for the grpc package could be a good-first-issue.

Another thought: unit tests for the grpc package could be a good-first-issue.

In general, we don't want this to become a practice. I think it is important for the author of the PR to include tests in the PR. I don't think it is fair on others to write tests for code that was authored by someone else as very few people look forward to writing tests.
We have codecov/patch to keep track of this and ideally, we should aim for 80% (it's not always possible that's why it is not a required condition for merging). 1.08% coverage doesn't seem enough.
For now, we can merge it but @kirugan should write tests for it soon.

First of all, thank you for this! I played around with this and here's my thoughts:

It would be nice to have a Version() method that returns the current Juno version. Not because it's that useful to know the version, but because it makes it straight forward to test if the connection is going to work (easier than setting up bidi stream).
It looks like the Open operation is not supported? It's useful to get a cursor_id assigned by the server.
Since there are no buckets, is it possible to have a seek_range operator that positions at the first element greater than or equal the provided key? That way seek_range(table_prefix || 0) is equivalent to positioning to the first element of the table.

If that's the behavior of seek, then it would be useful to have a seek_exact that returns an empty kv if the key doesn't match exactly.

How would I implement something like last?
I also added some smaller comments to the discussion.

@fracek

It would be nice to have a Version() method ...

Implemented

It looks like the Open operation is not supported? It's useful to get a cursor_id assigned by the server.

Initially I thought client should send cursorId and if doesn't exist server creates new iterator for new cursorId. I've changed this logic, added open operation

If that's the behavior of seek, then it would be useful to have a seek_exact that returns an empty kv if the key doesn't match exactly.

yep, current seek works the way you described seek_range operation. I've also added seek_exact

How would I implement something like last?

The only way to do it right now is to iterate over all keys with same prefix until you reach next prefix key. I know it's not super convenient, I'll think how to fix it.

I also added some smaller comments to the discussion.

Thanks

I'll merge this PR. The main functionality is implemented. All subsequent edits and features will be added to other pr


solarflare NIC Init reintroduced after major code changes in device plugin

…lugin

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

will be creating a branch


Improve marker detection lighting

Built on #74
This increases the number of adaptive thresholding steps which are performed when detecting marker contours. This will help improve marker detection in more difficult lighting conditions.
53 results in twice the number of steps being performed (23 being the default max value, with the window starting at 3 and increasing by 10 each time).
This patch has been tested in similar ways to #74. It's worth noting that whilst these thesholds are performed in parallel, this patch will slow down marker detection. By exactly how much isn't clear, but locally it was around 20%.

This change increases the time for see_ids from 290ms to 426ms.


Ternary Logic for Contains Key/Value

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.
Also, constants for TRUE/FALSE and added valueOf methods

Coverage decreased (-0.5%) to 99.458% when pulling 41f0fe0f6966616afe2aea7b1a2277f23e499780 on ternary into 7df5518d60dd40f7cf4c146f3f05151766997a51 on master.


How to use ~/.ssh/config in Linux?

How to use ~/.ssh/config in Linux ?
~/.ssh/config
Host somehost
    Hostname <IP_ADDRESS>
    Port 8400
    User someuser

.vscode/sftp.json
{
    "protocol": "sftp",
    "host": "somehost",
    "remotePath": "/home/someuser",
    "agent": "$SSH_AUTH_SOCK"
}

It will use ~/.ssh/config automatically.

"will" as in "work in progress" or it should work now in latest stable version?
Will it support whole ssh_config syntax - e.g. "Match" or "Include config.d/*"?

It works in the latest stable version. Only support these: HostName, Port, User, IdentityFile, ConnectTimeout.


@load_all_pages() decorator does not work

Describe the bug
When I defined a function to get inventory summary with the decorator, the generator did not call the other page even when response has the nextToken pagination.
To Reproduce
@throttle_retry()
@load_all_pages()
def load_all_inventory(**kwargs):
return Inventories().get_inventory_summary_marketplace(**kwargs)
for page in load_all_inventory(details=False):
print(page.pagination)
Expected behavior
The function load_all_inventory returns all pages considering the nextToken.
Desktop (please complete the following information):
MAC
Additional context
API returns only the first page.

Hi,
the load_all_pages decorator takes next_token_param as an input.
It's explained at the bottom of this page: https://sp-api-docs.saleweaver.com/utils/load_all_pages/
Unfortunately, Amazon doesn't follow naming conventions. The next token parameter is sometimes called NextToken, next_token, or nextToken like in you example.
To make the decorator work for inventories, simply follow the doc's advice and pass the name to it.
@load_all_pages(next_token_param='nextToken')

Hello guys,
The problem persists even next_token_param. I think this parameter will be used on the next request. However, the problem is in getting the token from the response.
I have made a change on ApiResponse.py (line 48) and it worked. I didn't performed unit test to check side-effects.
Please, see below the modification.
self.next_token = (
nextToken
or self.payload.get("NextToken", None)
or self.pagination.get("nextToken", None)
)

Sorry, I just saw it. I actually was thinking it would make sense to alter the behavior and always find it in ApiResponse. I'll make some changes tomorrow and push them. Do you want to create a pull request for the pagination?

Yes,I've created the pull request to your develop branch.

Thank you, I've merged it into master. I'll add a release the next couple of days.


Records with _id type string are not getting deleted or updated and not able to search as well

resolved in #35


Fix build on newer Node.js and on Windows.

Replaces calls to writeFile with writeFileSync, and fixes some path separator instances where Windows was getting confused. Also allows the example to run by omitting the write to ctx.canvas if it's already defined.

@dhritzkiv do you know would be an appropriate reviewer for PR's against this repository?


support ANYDATA type columns as long as subtype is one of date, numbe…

Hi Marc,
My use case is pulling data from a user provided spreadsheet where the user can put text in data and number columns. I need to postprocess SOME of that data, adding to it, and generate a new spreadsheet.  For example they might put N/A in a date column and want that preserved. Annoying but fairly common. I use Anton Scheffer's as_read_xlsx to pull the data out of their spreadsheet (will be releasing a wrapper for it). I build a cursor that has ANYDATA columns so that any given cell can be number, date or varchar2 .
test_cases/test_anydata.sql has an example of using ANYDATA columns. Biggest drawback is must do a setColumnFormat on any column that is primarily date or Number. Otherwise dates come out as default numbers format. There may be a better way to handle that but I got lost in the code that creates xfId stuff. I don't see how I can handle it at the time I inspect the content of an individual cell and write it out.
I verified it is working as I expect for both XLSX and XLSB.
I changed desc_tab2 to desc_tab3 which was available in the earliest version we support (11).  I can't see any downside. Other changes are isolated to handling the new input data type.
If you are willing to move forward with it, I am willing to add the other data types that could be inside an ANYDATA. I don't have a use case for them, but it won't be hard to do if you want that.
Please let me know if you have questions or concerns or simply don't want to do it.

Hi Lee,
Thanks for submitting this new PR.
Unfortunately, I'm in the process of a major refactoring, so I won't be able to merge it as is.

I use Anton Scheffer's as_read_xlsx to pull the data out of their spreadsheet

Why not ExcelTable? (getRawCells)

I don't see how I can handle it at the time I inspect the content of an individual cell and write it out.

Indeed, in the current version, the data type of a given column is known before actually fetching data from the cursor, so the format can be tied to the column at that time.
In the case of an ANYDATA column where the actual type may vary for each row, we have to duplicate what is done in createWorksheet with defaultFmt variable in order to assign the correct format.
In the upcoming version, I'll support a cell-wise API where format can be specified individually for each cell, or inherited from column settings.
Handling ANYDATA is a good enhancement though, so I'll probably add it from my side.

Acknowledged. Looking forward to your next version. Grab the anydata test
case sql I built.
I'll look at ExcelTable.
Lee Lindley
@.***
On Aug 14, 2022 at 10:16 AM, Marc Bleron @.***> wrote:
Hi Lee,
Thanks for submitting this new PR.
Unfortunately, I'm in the process of a major refactoring, so I won't be
able to merge it as is.
I use Anton Scheffer's as_read_xlsx to pull the data out of their
spreadsheet
Why not ExcelTable? (getRawCells)
I don't see how I can handle it at the time I inspect the content of an
individual cell and write it out.
Indeed, in the current version, the data type of a given column is known
before actually fetching data from the cursor, so the format can be tied to
the column at that time.
In the case of an ANYDATA column where the actual type may vary for each
row, we have to duplicate what is done in createWorksheet with defaultFmt
variable in order to assign the correct format.
In the upcoming version, I'll support a cell-wise API where format can be
specified individually for each cell, or inherited from column settings.
Handling ANYDATA is a good enhancement though, so I'll probably add it from
my side.
—
Reply to this email directly, view it on GitHub
https://github.com/mbleron/ExcelGen/pull/26#issuecomment-1214387226, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AU4D5LBANGS3YV7DUQXSYTLVZD5VNANCNFSM56ORPHTQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

“Why not ExcelTable? (getRawCells)”
My use case is to get dirty spreadsheet data (strings in the middle of date columns, etc…) in and back out again to Excel (using the most excellent ExcelGen version 3 with new support for AnyData input!). Along the way I’ll use the  more well behaved data I need from the input spreadsheet (by contract with the users) to add information to the resultset, but on output I need to preserve the spreadsheet content we receive. I also want to support the use case that the input spreadsheet can change. They may add or remove columns. As long as the user keeps the columns I need for processing intact, I need to preserve whatever they give me and add to it.
I can get the column headers from the first row (which is simple enough with getRawCells), then construct a query that pivots the raw cell content of the data into rows using those column header names as identifiers. This is in-line with what getRows() does; however, I need

to keep the anyData type for the cell value.
Use the found column names to construct the resultset
It feels like the right way to do this is to modify getRows() to support anyData type.  An overload of the call can construct the p_cols structure and p_range from the column headers. Unfortunately, I get lost in the bowels of ExcelTable. I can handle the anyDataSet stuff – it is how you have internally built and use the column_list structures where I can’t quite get my head around it. I set out to add AnyData as an allowed type and am not sure where to even begin. I may go back to it one more time, but this morning I’m feeling like throwing in the towel.
I can construct a standalone package/type implementing AnyDataSet . It can call getRawCells from dynamic sql to do everything I want. It would not be as efficient but is at least something I could do.
Honestly, for the latter approach as opposed to overloading getRows(), ExcelTable does not offer much advantage over as_read_xlsx. ExcelTable has more potential, but perhaps not for my immediate use case.
Thoughts?

--
Lee Lindley
@.***

Well, since getRawCells readily returns a collection of ANYDATA values, you can probably use it to read everything from the input spreadsheet and write it back to a new one using ExcelGen Cell API, without resorting to an intermediate set of rows.

Implemented in v3.0.
See Variant column data type example.
Number and datetime instances will be formatted according to workbook or sheet-level settings.

Outstanding!
--
Lee Lindley
@.***
From: Marc Bleron @.>
Sent: Wednesday, November 2, 2022 5:18 PM
To: mbleron/ExcelGen @.>
Cc: Lee Lindley @.>; Author @.>
Subject: Re: [mbleron/ExcelGen] support ANYDATA type columns as long as subtype is one of date, numbe… (PR #26)
Implemented in v3.0.
See Variant column data type https://github.com/mbleron/ExcelGen#variant-column-data-type  example.
Number and datetime instances will be formatted according to workbook or sheet-level settings.
—
Reply to this email directly, view it on GitHub https://github.com/mbleron/ExcelGen/pull/26#issuecomment-1301280977 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AU4D5LDLEKZEMCYQ7LJ3ZFDWGLK67ANCNFSM56ORPHTQ .
You are receiving this because you authored the thread.  https://github.com/notifications/beacon/AU4D5LEL4L33NYJ4EGSTMBDWGLK67A5CNFSM56ORPHT2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOJWH7RUI.gif Message ID: @.*** @.***> >


how to stop or disable popup "Karma v0.12.31 - connected..."?

When i run the meteor the popup Karma v0.12.31 - connected... is show auto.
Why and How to stop or disable this?

Now i find JASMINE_BROWSER=PhantomJS meteor [options] for do this, but I don't know where to place it.

On linux you can move the windows to another virtual screen: https://github.com/Sanjo/meteor-karma/issues/4
If you don't use the Client unit mode, you can disable the mode with export JASMINE_CLIENT_UNIT=0. This will also remove this window.


Azure Government Work Accounts Support?

Agree with this article which states "Organizations are increasingly moving to Azure AD-based identities to provide improved security and support for automated management of subscription."
Given that Microsoft understands the security and support benefits of "work accounts", when will Visual Studio Subscriptions support Azure Government Azure AD work accounts? It's a security concern when users have to create a Microsoft Account (MSA) tied to their work account and/or utilize a non work account (e.g., @hotmail.com, @outlook.com, @gmail.com, etc.) to access a subscription provided by the user's organization.

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

ID: b8a5f5e2-2957-f296-5551-750ff9d0cff1
Version Independent ID: 88a13bf8-eddc-3e72-0c97-93d7013854ac
Content: How to use connected Microsoft account and Azure Active Directory identities
Content Source: subscriptions/use-connected-identities.md
Product: visual-studio-family
Technology: vs-subscriptions
GitHub Login: @evanwindom
Microsoft Alias: v-evwin

cc @evanwindom for awareness

@gwturner - Thanks for reaching out.  I apologize for the delay in responding.
Tenants that are using GCC High or other private Azure Active Directory (Azure AD), i.e. the non-public Azure AD services, are not supported by Visual Studio Subscription services. If your organization is using these non-public Azure AD solutions you have the following options:

Change the tenant back to a public Azure AD tenant (Please note this may not be compatible with your organization’s security requirements, please consult with your organization’s internal policies before making this change)
Use Microsoft Accounts (MSAs) to assign subscriptions (this may limit those individuals from linking some Visual Studio subscription functions with internal resources, depending on your organization’s policies). This solution gives your organization less control since you will not be able to close the individual Microsoft Accounts.
Create a new public Azure AD tenant and create and assign users from that tenant (for Visual Studio Subscription purposes only). This options gives your organization more control.

If your organization has specific needs outside the above options please contact Microsoft support:  https://visualstudio.microsoft.com/subscriptions/support/#talktous

#please-close


dig a "small/tiny/big"  hole always digs a 1 x 1 x 1

Type of Issue
Select the type of issue:

[x] Bug report (to report a bug)
[ ] Feature request (to request an additional feature)
[ ] Tracker (I am just using this as a tracker)
[ ] Refactor request
[ ] Documentation Ask

Description
@MarcyLee has been noticing a bug that it doesn't seem to make a difference when we specify tiny/big holes with dig command. The digging is always one unit -- width/depth/length = 1 in task data.

"dig a 3 x 3 hole" was failing too.


💥 Update, ForceUpdate: allow abortion through error return value (reverts #306)

In #306, we disabled update abortion under the assumption that there aren't many use cases for it.
Since then, we discovered that in two of our applications we were using this functionality (perun-credential-payment and perun-websocket-backend).
Hence, I propose to enable it again.

@manoranjith here is one case where the error return is used
https://github.com/hyperledger-labs/perun-credential-payment/blob/98a948d52f397999b44b0b5e6418937d975efc8d/client/channel/channel.go#L156
up := func(s *channel.State) error {
		// Check inputs against current state.
		curOffer, ok := s.Data.(*data.Offer)
		if !ok {
			return fmt.Errorf("data has wrong type: %T", s.Data)
		} else if !curOffer.Equal(offer) {
			return fmt.Errorf("unequal offers: got %v, expected %v", curOffer, offer)
		} else if addr := acc.Account.Address; offer.Issuer != addr {
			return fmt.Errorf("unequal addresses: got %v, expected %v", addr, offer.Issuer)
		}

		// Sign.
		sig, err := app.SignHash(acc, offer.DataHash)
		if err != nil {
			return fmt.Errorf("signing hash: %w", err)
		}

		// Update state data.
		var cert data.Cert
		copy(cert.Signature[:], sig[:])
		s.Data = &cert

		// Update balances.
		asset := s.Allocation.Assets[app.AssetIdx]
		s.Allocation.SubFromBalance(channel.Index(offer.Buyer), asset, offer.Price)
		s.Allocation.AddToBalance(ch.Idx(), asset, offer.Price)

		return nil
	}

We basically make sure that we are in the expected state. If not, we error and abort.
Then we create the signature. If this fails, we abort as well.
It might actually be fine here to run the checks and generate the signature before calling update.
In the case of the usage in perun-websocket-backend, which is a private repo, we did some decoding conversion within the update function. There it was obvious that this should have been done outside of update in the first place as it did not depend on the current state.
The thing is: If we argue that we usually don't need to check the state in the updater function, why do we use an updater function at all?

@matthiasgeihs  In the example posted above, I agree that, we could do the tests outside of the updater function. Hence, the error return will not be needed.
Reg, the need for an updater function, my understanding is that the user is able to read the state of the chain and modify in place. They should be able to do this for balance and data. Validation of these modifications will be done by the Update function, after applying the updater.a


installation fails

Hello
I try to install the plugin, but Calibre can't install it. saying "It does not contain a top-level init.py file"
The details of the error are below.
I'd before downloaded kepubify-windows-64bit.exe and put in the directory "C:\Program Files\Calibre2" which is my calibre directory and set as a PATH.
thank you to give me  the solution
Villard
details of the error :

calibre, version 6.7.1
ERREUR : Exception non gérée: InvalidPlugin:The plugin in 'C:\Users\localadmin\Downloads\calibre-kepubify-master.zip' is invalid. It does not contain a top-level init.py file
calibre 6.7.1  embedded-python: True
Windows-10-10.0.19044-SP0 Windows ('64bit', 'WindowsPE')
('Windows', '10', '10.0.19044')
Python 3.10.1
Windows: ('10', '10.0.19044', 'SP0', 'Multiprocessor Free')
Interface language: fr
Successfully initialized third party plugins: DeDRM (10, 0, 3) && EpubMerge (2, 15, 0) && EpubSplit (3, 5, 0) && Find Duplicates (1, 10, 7) && KePub Input (3, 6, 3) && KePub Metadata Reader (3, 4, 3) && KePub Metadata Writer (3, 4, 3) && KePub Output (3, 6, 3) && Kobo Books (1, 9, 2) && Kobo Utilities (2, 16, 6) && KoboTouchExtended (3, 6, 3) && Obok DeDRM (10, 0, 3) && Quality Check (1, 13, 0)
Traceback (most recent call last):
File "calibre\gui2\preferences\plugins.py", line 325, in add_plugin
File "calibre\customize\ui.py", line 479, in add_plugin
File "calibre\customize\ui.py", line 64, in load_plugin
File "calibre\customize\zipplugin.py", line 298, in load
File "calibre\custo_mize\zipplugin.py", line 393, in locate_code
calibre.customize.InvalidPlugin: The plugin in 'C:\Users\localadmin\Downloads\calibre-kepubify-master.zip' is invalid. It does not contain a top-level init.py file
**

Hi,
The problem is with the archive generated by GitHub, as it puts the contents of the repository inside a calibre-kepubify-master directory in the zip file. You can download the CalibreKepubify.zip in Releases. Alternatively, re-zip the contents inside the calibre-kepubify-master folder of your already downloaded zip.
I did not test the plug-in on windows, so let me know if you find any other error.
J.L.

Hello Jose, here is another Windows issue.

calibre, version 6.17.0
ERROR: Unhandled exception: InvalidPlugin:The plugin at C:\Users\Billy\Downloads\calibre-kepubify\calibre-kepubify.zip cannot be used on windows
calibre 6.17  embedded-python: True
Windows-10-10.0.22621-SP0 Windows ('64bit', 'WindowsPE')
('Windows', '10', '10.0.22621')
Python 3.10.1
Windows: ('10', '10.0.22621', 'SP0', 'Multiprocessor Free')
Interface language: None
Successfully initialized third party plugins: Kobo Utilities (2, 16, 7)
Traceback (most recent call last):
File "calibre\gui2\preferences\plugins.py", line 325, in add_plugin
File "calibre\customize\ui.py", line 513, in add_plugin
File "calibre\customize\ui.py", line 64, in load_plugin
File "calibre\customize\zipplugin.py", line 328, in load
calibre.customize.InvalidPlugin: The plugin at C:\Users\Billy\Downloads\calibre-kepubify\calibre-kepubify.zip cannot be used on windows

I have the same issue as @Clearmist above, it gives me a "This plugin cannot be used on Windows". Running Win11.

Hi,
I cannot add Windows as a supported platform, as I am not able to test it. If anyone is willing to check whether it works or not, try adding it to the supported_platforms list in the __init__.py file. I would gladly append it to the OS list when someone confirms it works (it may be required to add the .exe extension to the command or whatever).

I got it to run on osx.

add 'osx' to the list of supported platforms

    supported_platforms = ['linux','osx']

install kepubify brew install kepubify
done


NTLM and cookie authentication

Our application uses windows authentication by default, however, for testing purposes, if a certain cookie is set, it should authenticate using cookie authentication.
So in the testing environment we tried to add the following to our pipeline:
app.UseCookieAuthentication (new CookieAuthenticationOptions ()
  {
    AuthenticationScheme = "TestingCookieAuthenticationScheme",
    AutomaticAuthenticate = true,
    AutomaticChallenge = false,
    CookieName = "TestingCookieAuthenticationSchemeCookie"
  });

Our testers can surf to a special controller where they can login as any user (again, the controller is only available in our testing environment). The controller action looks like this:
public async Task<IActionResult> SwitchUser (string user)
{
  var nameClaim = new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", user);
  var claimsIdentity = new ClaimsIdentity(new[] { nameClaim });
  await HttpContext.Authentication.SignInAsync("TestingCookieAuthenticationScheme", new ClaimsPrincipal(claimsIdentity));

  return View();
}

However, even when the cookie is present (checked this via F12 tools), the User.Identity.Name still shows the NTLM authenticated user and not the cookie-authenticated user.
What are we doing wrong?
(ASP.NET Core 1.1)

Why don't the schemes match? You configured the cookie with the "TestingCookieAuthenticationSchemeCookie" scheme but then signed in with the "WebTestingCookieAuthenticationScheme" scheme.
Are you expecting the user to have both the windows identity and the cookie identity? Is the windows identity always there?

@davidfowl : Sorry, that's been a copy&paste error when creating a minimal repro sample. Actually they are the same, re-checked it & fixed in the original post.

This issue was moved to aspnet/Security#1467


pull request for e2e test at 12/07/2016 12:26:02

:white_check_mark: Validation status: passed
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.


[vcpkg_find_acquire_program] Fix extraction, cleanup

Amends #34881.
vcpkg_extract_archive expects the destination to not exist:
https://github.com/microsoft/vcpkg/blob/ee2d2a100103e0f3613c60655dcf15be7d5157b8/scripts/cmake/vcpkg_extract_archive.cmake#L18-L20
but there was no code to ensure that property, leading to
https://github.com/microsoft/vcpkg/issues/40902#issuecomment-2344467731
In addition, simplify processing of the optional tool_subdirectory variable.

vcpkg_extract_archive expects the destination to not exist:

I think this check failing strongly indicates a bug of some sort and I wouldn't want to paper over it like this. For example, in the original bug report, it isn't clear that completely deleting $downloads/tools/nasm is safe or correct.
It seems like we should have been picking something like $/downloads/tools/nasm-$version or $/downloads/nasm/nasm-$version instead?

vcpkg_extract_archive expects the destination to not exist:

I think this check failing strongly indicates a bug of some sort and I wouldn't want to paper over it like this.

IDK. There are only two uses of the function.

For example, in the original bug report, it isn't clear that completely deleting $downloads/tools/nasm is safe or correct.

I think that <downloads>/tools is expected to be under vcpkg's control, including removal of subdirs.
Otherwise, would it really be a location to write to at all?

It seems like we should have been picking something like $/downloads/tools/nasm-$version or $/downloads/nasm/nasm-$version instead?

What if extraction fails in the middle? This isn't solved with version-based subdirs. Is the user expected to cleanup manually?
IIRC this type of issue has come up a few times, but I don't remember if it was always about nasm/tool_subdirectory. Should tool_subdirectory become mandatory (or at least derived)?

IIRC this type of issue has come up a few times, but I don't remember if it was always about nasm/tool_subdirectory. Should tool_subdirectory become mandatory (or at least derived)?

Good question

IIRC this type of issue has come up a few times, but I don't remember if it was always about nasm/tool_subdirectory. Should tool_subdirectory become mandatory (or at least derived)?

Good question

NASM examples:

https://github.com/microsoft/vcpkg/issues/40902#issuecomment-2344467731
https://github.com/microsoft/vcpkg/issues/35884#issuecomment-1925391828

Other examples:

?

IIRC this type of issue has come up a few times, but I don't remember if it was always about nasm/tool_subdirectory. Should tool_subdirectory become mandatory (or at least derived)?

Good question

NASM examples:

[poco] Build error vcpkg --triplet x64-windows install poco[netssl] fails #40902 (comment)
[libjpeg-turbo] Build error on x64-windows #35884 (comment)

Other examples:

?

Given this it seems like the correct change is indeed that tool_subdirectory should always be there so that different versions of nasm don't try to stomp on each other like this. (It seems like we break people if we ever change the version of nasm?)
Another thing to watch out for is that the downloads directory is expected to be concurrently modified by different running vcpkgs; it isn't one-copy-at-a-time like the installed directory or similar. The existing rename-into-place is intended to preserve this behavior, and it might be broken by the proposed remove-if-the-directory-exists.

To clarify about nasm specifically: the nasm zips have nasm-2.16.01/nasm.exe inside and we're expecting the version number to come from inside the zip. Which is broken because we are requiring that downloads/tools/nasm does not exist.
(Which I argue means that vcpkg_find_acquire_program not deleting the directory has pointed out this bug to us so I'm still weakly opposed to removing the directory first)

What can be done:

Fix the nasm problem pattern.
(Probably: subtract to temporary dir, then move.)
Improve the message.
(Give a hint what to check and do.)

@BillyONeal The modified test failed with the original code and passed with the new code.
Please review.
I will remove the x64-windows scope when there is a Go.

Flag info:reviewed for further review.


Improve the API resource creation form

Below issues need to be addressed.

The way of adding query parameters should be improved so that it would be more clear to the user. Currently we need to append them using {} to the resource path.
'None' for URL style can be removed because it is the same as context /
'URL_Mapping' and 'Protocol' need to be moved to the Advanced section
'URI Template' field can be renamed as 'Resource Path'

The latest release v1.1.3 has resolved this issue. Please reopen if the problem persists.


Fails to retrieve values with two servers

With Dalli 2.7.4 storing and receiving data with two Memcached servers from two different clients fails. memcached is a Memcached host in the same network and memcached-remote is a Memcached server in a remote network. Both can be pinged.
Server 1
Loading production environment (Rails 3.2.22)
irb(main):001:0> dc = Dalli::Client.new(["memcached", "memcached-remote"])
=> #<Dalli::Client:0x0000000a37d2c8 @servers=["memcached", "memcached-remote"], @options={}, @ring=nil>
irb(main):002:0> dc.set(30, "x")
=><PHONE_NUMBER>232319488

Server 2
Loading production environment (Rails 3.2.22)
irb(main):001:0> dc = Dalli::Client.new(["memcached", "memcached-remote"])
=> #<Dalli::Client:0x00000009f69538 @servers=["memcached", "memcached-remote"], @options={}, @ring=nil>
irb(main):002:0> dc.get(30)
=> nil

Using just one Memcached server works.
Server 1
Loading production environment (Rails 3.2.22)
irb(main):001:0> dc = Dalli::Client.new(["memcached"])
=> #<Dalli::Client:0x0000000a1d7a68 @servers=["memcached"], @options={}, @ring=nil>
irb(main):002:0> dc.set(40, "x")
=><PHONE_NUMBER>346103296

Server 2
Loading production environment (Rails 3.2.22)
irb(main):001:0> dc = Dalli::Client.new(["memcached-remote"])
=> #<Dalli::Client:0x0000000a2c28b0 @servers=["memcached-remote"], @options={}, @ring=nil>
irb(main):002:0> dc.get(40)
=> "x"

Hopefully, I am not missing something obvious.

I’ll need to verify it, but it looks like the name of the Memcached server is involved and these differ between the different servers. Here is the output with puts statements added for hkey, entryidx and server.name in the method server_for_key in lib/dalli/ring.rb.
Server 1
irb(main):001:0> dc = Dalli::Client.new(['memcached', 'memcached-remote'])
=> #<Dalli::Client:0x00000009ebe750 @servers=["memcached", "memcached-remote"], @options={}, @ring=nil>
irb(main):002:0> dc.get(300)
552830084
36
memcached-remote:11211
=> 300

Server 2
irb(main):001:0> dc = Dalli::Client.new(['memcached', 'memcached-remote'])
=> #<Dalli::Client:0x0000000905adf8 @servers=["memcached", "memcached-remote"], @options={}, @ring=nil>
irb(main):002:0> dc.get(300)
552830084
36
memcached-remote:11211
=> nil

memcached-remote is pointing to a different IP address, set in /etc/hosts.

Using the IP addresses instead of the names works.

Thinking about it, there is no solution to fix both cases, when you have different host names for Memcached servers and when you want to be able to move servers around and there IP address changes.
The reason in this case, why this issue came in the first place is, to use Docker containers on two different servers and then linking them together with docker run … --link memcached:memcached memcached-remote:x.x.x.x ….
So, this issue can be closed, I guess. But if the maintainers confirm the conclusion, maybe some comments could be added to the README.md.

Per last comment, closing.


fix: inefficient kademlia metrics saving

This change is

Is there going to be a migration to remove all of the obsolete keys from the statestore?

Yes, it is already included.


Missing loader gif

Loader gif is missing
GET http://www.abbystahlwedding.com/img/loading.gif 404 (Not Found)

Fixed


Removing .bowerrc file

Removing the last remnants of Bower
Changes

Removing .bowerrc file

Review

@anselmbradford

Checklist

[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[ ] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

👍


Multiple buckets sharing a single S3 access key

Describe the bug
When trying to create more than one bucket with the same S3 access key the following error is encountered:
error: duplicate accessKey[XXXXXXXXXXXXXXXX], already configured in user[existing-bucket-name]

System Setup
SeaweedFS 3.27
Expected behavior
Most S3 filesystems (AWS, Ceph, for example) allow multiple buckets per single access key. I suggest the same behavior on SeaweedFS, multiple buckets should be accessible using a single access key.

Just define multiple buckets under same section in S3 config:
{
  "name": "seafile",
  "credentials": [
    {
      "accessKey": "XXXXX",
      "secretKey": "XXXXX"
    }
  ],
  "actions": [
    "Read:seafile-cob",
    "List:seafile-cob",
    "Tagging:seafile-cob",
    "Write:seafile-cob",
    "Read:seafile-fsob",
    "List:seafile-fsob",
    "Tagging:seafile-fsob",
    "Write:seafile-fsob",
    "Read:seafile-bb",
    "List:seafile-bb",
    "Tagging:seafile-bb",
    "Write:seafile-bb"
  ]
},


Adjust Jarvis's device success connection modal on mobile

![image](https://user-images.githubusercontent.com/25020300/79233904-bfa2ba00-7e69-11ea-
8d3a-477e266e05c1.png)


Unable to run as a non-admin

Polaris Bug Report
Description of the bug
Unable to run Polaris as a non-admin due to httplistener use of http.sys and that needs admin rights to create a port reservation.
Steps to reproduce
Steps to reproduce the behavior:
Attempt to create a Polaris route and start polaris as a non-admin, you get access denied. If you use an admin account to pre-create a url reservation via "netsh http add urlacl url=http://:8082/ user=<USER>", you will no longer get access denied however Polaris will still not be responsive. This is due to line 265 of polaris.class $this.UriPrefix = $ListenerPrefix + '://' + $HostName + ':' + $this.Port + '/'" is creating the UriPrefix for the root path, not the specific route. If I manually modified that line to reflect the route, everything worked,
Expected behavior
If url reservation(s) is/are pre-created by an admin, Polaris should do the other side and create uriprefixes for each route. I'd suggest a foreach to create the uriprefix for each route. Something like
    ForEach($route in $routes){
        $this.UriPrefix = $ListenerPrefix + '://' + $HostName + ':' + $this.Port + $route + '/'

        $this.Listener.Prefixes.Add($this.UriPrefix)

        $this.Log("URI Prefix set to: $($this.UriPrefix)")
    }

Verbose output of the script
"PS C:\temp> C:\temp\polaris.ps1
VERBOSE: URI Prefix set to: http://CM4:8082/
VERBOSE: Authentication Scheme set to: Anonymous
Exception calling "Start" with "0" argument(s): "Access is denied"
At D:\Polaris\lib\Polaris.Class.ps1:283 char:9

    $this.Listener.Start()

    ~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
FullyQualifiedErrorId : HttpListenerException
"

Additional context
Add any other context about the problem here.
Version Information

NameVersion
Polaris0.2.0

PSVersionPSEditionPSCompatibleVersionsBuildVersionCLRVersionWSManStackVersionPSRemotingProtocolVersionSerializationVersion
5.1.17763.503Desktop1.0.-1.-1,  2.0.-1.-1,  3.0.-1.-1,  4.0.-1.-1,  5.0.-1.-1,  5.1.17763.50310.0.17763.5034.0.30319.420<IP_ADDRESS>.0.1

```

Also, wildcards in the url reservation did not work for me, nor did using "everyone". I had to use the exact url and user I was going to run Polaris as,

Hi kwygant,
It looks like you may have a typo in your urlacl command. I just tested to make sure and this works for me:
Run as admin user
netsh http add urlacl url=http://CM4:8082/ user=MYDOMAIN\MYUSER

Run as MYDOMAIN\MYUSER (non-administrator)
Start-Polaris -Port 8082 -HostName CM4

If you wanted to do wildcards you should be able to do:
Run as admin user
netsh http add urlacl url=http://*:8082/ user=MYDOMAIN\MYUSER

Run as MYDOMAIN\MYUSER (non-administrator)
Start-Polaris -Port 8082 -HostName "+"

Optionally of course for local development or if you're hosting inside of a docker environment localhost and <IP_ADDRESS> do not require admin rights or a urlacl to use.

Somehow when I was removing the hostname and domain, I didn't get the new ones to stick. The command I ran looks just like what you have so I tried starting over on a new test system. I must have the other test system screwed up from everything I was trying. I'll reset it and try again with my custom routes added.

Sounds good. I'll hold the bug open until we hear back it's working for you.

Confirmed on multiple systems to work, it was just that test box.


Fix Read the Docs build

Type of changes

[x] Bug fix
[ ] New feature
[x] Documentation / docstrings
[ ] Tests
[ ] Other

Checklist

[ ] I've run the latest black with default args on new code.
[ ] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate.
[ ] I've added tests for new code.
[ ] I accept that @willmcgugan may be pedantic in the code review.

Description
Part of fix #3575.
Fix .readthedocs.yml.
Refs:

build.os: https://docs.readthedocs.io/en/stable/config-file/v2.html#build-os
python.install: https://docs.readthedocs.io/en/stable/config-file/v2.html#python-install

To test this, you may want to set up a pull request trigger:
https://docs.readthedocs.io/en/stable/tutorial/index.html#triggering-builds-from-pull-requests


Image layout validation incorrect when recording command buffers out of submission order

Image layout transitions from render passes are checked at command recording time. However, if two render passes are recorded in different command buffers in parallel (in different threads; this is our use case), then image layout transition tracking in this manner is no longer valid, because recording order might not be the same as command buffer submission order. Actually, even in a single thread, but with two command buffers, the same reasoning still applies about recording and submission order.
That being said, image layout transitions from pipeline barriers are tracked correctly, because they are validated at submission time. So it seems like the fix would be to do the same for image layout transitions from render passes.

@fduranleau-gl  -- if you have a repro case it would help.

Sorry for the delay to replay, I had to dig up in our codebase's history to try to find the exact case. But while doing so and digging into and experimenting more with validation layers and trying to understand better what they do, I just came to realize that what I report here is no issue at all. The problem is something else. So I must apologize for reporting this too eagerly. I am closing this issue now and I will open another one with a more appropriate description.
Sorry again for this noise.


[InAppMessaging] Remove InAppMessagingSwift

[ ] Needs changelog / documentation guide update

The CI failures will be addressed in follow-up PRs to remove more Swift extension code.