MakeAmount usage

Hello, I am working on Fletching and when Fletching bows, There's a make dialogue where the player selects an option, I have repurposed the make code from else where in void but I can't seem to get it to work for itemonItem interactions
This is the code I currently have;
itemOnItem("knife", "logs") {
    val usedLog = if (toItem.log) toItem else fromItem
    it.weakQueue("fletching_make_dialog") {
        val (selected, amount) = makeAmount(
                listOf("arrow_shaft", "shortbow_u", "longbow_u", "wooden_stock"),
                type = "Make",
                maximum = 10,
                text = "Test fletch"
        )
        //fletch(player, selected, amount)
        it.message("Selected: $selected Amount: $amount")
    }
}

When using the knife on the logs the make-x interface displays as expected but then clicking an option for example arrow_shaft nothing seems to happened when either calling fletch or sending a message to the player ingame.

Thanks in advance for the help.

i just changed it.message to player.message and it is showing for me if that is not the thing you need im not the best with this stuff sorry

Same, the snippet works fine for me too. Do you perhaps have some additional itemOnItem calls which could be interfering/overriding the behaviour?

interesting, the only itemonItem code i have is the code for making darts and bolts, but that should be overriding this? just to clarify, for you guys the dialog closes and displays the selected item and amount in chat? If that's the case i will try a fresh project.

yer it closes and shows in chatbox

I found the issue, i noticed that the terminal was throwing this error [DialogueContinueHandler] - Dialogue 905 not found for player Player(1, index=1, tile=Tile(2849, 3542, 2)) and then i remembered that i was playing around with interfaces.yml to learn how they worked, after removing what i added which was a duplicated interface with the ID 905 it works as expected, so sorry about that, it was actually my mistake and i should have remembered i was playing around with interface code.

its fine its how you learn

Haha no worries


support show the outline when focus on md preview

it is better to show the outline of md even in preview

Duplicate of #97095


allow setup matching between SACs and submissions

We should allow SACs to be assigned to submissions as well, instead of only to ACs.
This are the changes to be made:

[x] add this as an option in the request form. This should allow the PCs to setup the paper matching between SACs and submissions (compute conflicts and affinity scores)
[ ] Create bid invitation for SACs to bid on papers
[ ] Fix the deploy when SACs should be assigned to papers
[ ] Fix any process functions that expect SACs to be assigned to ACs

@melisabok anything else missing?

Create bid invitation for SACs to bid on papers

I'm not sure if we should make this optional in the BidStage form.

I was planning on asking PCs in the bid stage form if they would like to enable it for SACs as well. I also don't think this should be the default.

Missing:

add a property in the group.content about assigning ACs or submissions
change the SAC console to load the AC tab when the property says they are assigning ACs.

I've added this two to the description. The first one is already done.


TicTacToe game using ERC7715 permissions

Implemented TicTacToe Game which utilize the ERC7715 Permissions (async signing of user's action is performed by Dapp server)

We use API route but seems like we are leaking private keys


Catalina is released.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

I don't see the reference it's mentioning in docs/Installation.md

There's already a PR in process for this.
https://github.com/Homebrew/brew/pull/6500

Oh, huh, apologies, I did check, but I didn't notice it wasn't one that was within the past 24 hours.


Update README: add configurations part

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 84.137%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1029

Relevant Lines:
1223

💛  - Coveralls


Dashboard: Template "See details" button improvements

Feature Description
Noted in bug bash 1.5.0-A by @o-fernandez about the "see details" button on Explore Templates seen when you hover or focus on a template in the grid:

Seems a bit bland or "unfinished" as a user.

The question here is, is there something to do here that will make this feel more polished?
Alternatives Considered

Additional Context
This is something that has no updated designs in Figma so eng ( @BrittanyIRL ) improvised off of the hover/focus of the stories grid for 'use template' to be the same CTA/Primary button and figured that the tertiary style button would be ok for the 'see details' since it's not as important and doesn't draw a way from the preview you're watching as you hover.
Just to note, Brittany and Tadeu discussed "offline", design is OK with how this is currently implemented for the time being. So i've set this as a p3.

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

New designs for the "See details" button of Explore Templates template hover
Implement said new design

Implementation Brief

@agingoldseco took a look at this and DM'd me an update to try out.

(left is hover, right is focus)

Waiting to hear back from @agingoldseco. Transparent background may not be the best solution for all templates.

This was discussed in slack: https://xwp.slack.com/archives/C01ESBB8ZN1/p1637686477021000?thread_ts=1637347640.010700&cid=C01ESBB8ZN1
We're going to update the see details button to be the tertiary button in the DS and override the default background color to be white.


Implement translation/interpretation system

Initial tasks for implementing a translation/interpretation system. This list is likely to grow as we progress.

[x] Investigate streaming configuration options
[x] Enable YouTube video as a streaming source
[x] Implement a language selection dropdown menu
[x] Pre-load audio on language button selection
[ ] Configure translations button functionality

The functionality works in the way that the video source stays always the same no matter what language is used. But: When the user clicks on another language the audio source changes.

Duplicate of https://github.com/fossasia/eventyay-video/issues/113


Send email to multiple recipients so that everyone sees only their email in TO header

Hello,
How can I send mail individually with one API call using Web API v3 so that every recipient sees only his address in TO box? Currently, I'm sending mails using nodejs, Web API v3 and sendgrid dependency but the problem is that users get the entire list of recipients in TO box. Here is the request:
var request = sg.emptyRequest({
        method: 'POST',
        path: '/v3/mail/send',
        body: {
            personalizations: [
                {
                    to: recepientEmails,
                    substitutions: emailTemplate.substitutions
                }
            ],
            from: {
                email<EMAIL_ADDRESS>                name: 'Dorotea from AWW'
            },
            template_id: emailTemplate.template_id,
            categories: emailTemplate.categories
        }
    });

I've read that with Web API v2 I would need to use x-smtp header so that email would be sent to each recipient individually here at first row in table.
https://sendgrid.com/docs/API_Reference/Web_API/mail.html
And I've read that everything from Web API v2 with SMTP can be done with Web API v3 using only one request here.
https://sendgrid.com/docs/Classroom/Send/v3_Mail_Send/how_to_migrate_from_v2_to_v3_mail_send.html
To wrap up, I want to make one API call with Web API v3 to send email to multiple addresses and want every email to have only that recipient email in TO header.
All best,
Zvonimir

Hi @zvone187,
I don't know if you've already figured out how to do this, but this looks like what you're trying to achieve.
You should add a different personalization for each recipient. It should translate to something like this in the code:
// This assumes every recipient gets the same substitutions. If not, just add the right substitution for each user
const personalizations = recipientEmails.map(email => ({
    to: [{ email }],
    substitutions: emailTemplate.substitutions
}));
const request = sg.emptyRequest({
    method: 'POST',
    path: '/v3/mail/send',
    body: {
        personalizations,
        from: {
            email<EMAIL_ADDRESS>            name: 'Dorotea from AWW'
        },
        template_id: emailTemplate.template_id,
        categories: emailTemplate.categories
    }
});

@iamtheib thanks for the response. I got an answer from Sengrid. Yes, that was exactly what needs to be done.

It works, but what about send different attachments for different recipients?
I need to send multiple emails with the same template but different personalizations and a different attachment file for each user.

@iamtheib,
Thanks for helping out! Please fill out this form and we will send you some swag :)
With Best Regards,
Elmer


⚠ Mobitopup has degraded performance

In 5edfdbb, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 7170 ms

Resolved: Mobitopup performance has improved in 35e60f2.


Pretrain data

Hi, Thanks for sharing such a great work.
I would like to ask that do use remove the 'docsring' from the code of the codesearchnet dataseet when you pretrain the CodeBert?  In detail, whether you use the 'code' for code generator and 'docstring' for nl generator; or use 'code(remove docstring from the code)' for code generator and 'docstring' for nl generator?
Thanks for your help.

'code(remove docstring from the code)' for code generator and 'docstring' for nl generator


Extra IntelliSense errors caused by include paths and precompiled headers

Environment
Windows build number: 10.0.18363.0
Windows Terminal version (if applicable): master branch, commit fc083296b98a2c45126da7a0a61a2ccb37786e48
Visual Studio 2019, 16.6

Steps to reproduce

Clone the project as described in the README.
Open OpenConsole.sln in Visual Studio, switch the platform from "Any CPU" to "x64," and build the TerminalAppLib project.
Open TerminalPage.cpp (under controls/TerminalPage.xaml in the solution explorer).

Expected behavior
IntelliSense should not show any errors/red squiggles, given that the build succeeded.
Actual behavior
IntelliSense finds the wrong pch.h file and goes on to produce a few hundred errors about missing definitions.
Specifically, it finds src\cascadia\TerminalApp\pch.h instead of src\cascadia\TerminalApp\lib\pch.h. You can confirm this by using Go To Definition/F12 on the #include "pch.h" at the top of TerminalPage.cpp. Changing this to #include "lib/pch.h", or making an equivalent change to the project include paths, lets IntelliSense find the right header and all the errors disappear.
The build succeeds because the compiler does not use the usual include path search for this header when PCH is enabled, while IntelliSense fails because its PCH implementation does not work this way.

This is the first time we've ever had a lead on exactly why IntelliSense is busted in our project. Thank you!

Thanks @rpjohnst for filing this following my post on Developer Community!


add pre-commit hook to run lint in msal-core

Currently, contributors won't know their code has lint errors until the PR ran the CI. This will allow the contributor to find and fix the lint errors sooner and enforce the lint rules earlier.
It uses husky to run the pre-commit hook.

can you explain why husky vs pre-commit ?

so package isnt nutty can we use .huskyrc

Please add documentation in contributing or development or something applicable that explains that there are precommit hooks, what they are, why we have them, how to bypass them if you need to push something up, and all that

We uses husky in our code base and husky has more active download. Generally that translates to more support for the long term.
Yes. I'll move the config over.
Yes. I'll update the documentation too

thanks for introducing a new tool!


Set up cached object storage

In order to use Cloudflare to cache our images by assigning a subdomain to point to our Object Storage, we need the bucket to have the same name as the TLD. Therefore, sync the bucket to a new one, set ACLs (using the script data/set_acls.sh), and set the IMAGE_BUCKET_URL setting to reflect the new location.

Tested, deployed.


Newsletters: add 301 (2024-05-08)

[ ] Finish first draft @harding
[ ] Lede, releases/RCs, topic entries @harding
[ ] PR Review Club section @stickies-v

Sorry this is late.  I got nerd snipped by the lamport discussion.  I'll take this out of draft when the main content is ready for review.

Added review club commit - will take another look tomorrow with a set of fresh eyes.

Added remaining core content and addressed all feedback to date (thanks @LarryRuane @jirijakes!).  I'll be back in a couple hours to add the remaining bits and to review @stickies-v's section (thanks!).

Made edits for @bitschmidty follow-up (thanks!), made some own edits of my own (including correcting the described protocol---oops!), added lede, added releases/RCs, and added topic entries.  Reviewed and added one link to @stickies-v section (great job, thanks!).


Fix pre-commit issue (#65)

Original PR: https://github.com/triton-inference-server/openvino_backend/pull/65

This PR should be merged together with https://github.com/triton-inference-server/openvino_backend/pull/64


Revert "CI: Use matrix for metal3 images building"

Reverts Nordix/metal3-dev-tools#599

You might need to sign the commit as well


Improve deployment docs

Expand the deployment documentation for AWS, AZURE, GCP to include example build + deploy patterns for each.

second this. Our org uses Azure, having maybe a CI/DI documentaiton for Evidence to Azure static web apps would be very helpful!


Change default private key of WSO2 keystore (wso2carbon.jks) with signature algorithm SHA-256

Just FYI, Shariq is now working on apply this fix to master branch.


DatabaseCluster compatibility?

Hi,
what is the appetite for adding support for providing a DatabaseCluster rather than DatabaseInstance? It looks like the properties are the same (Vpc, Secret)

I have no problem with that. I assume the connection information is the same so I'll try to get to an update soon but if you'd like to submit a PR I'd greatly appreciate it.

Let me test with the secret, otherwise perhaps I can work on a PR next week.

I'll work on the documentation.


llvm-tracer github url in dockerfile need to update

https://github.com/ysshao/LLVM-Tracer  ==>  https://github.com/harvard-acc/LLVM-Tracer

We're happy to take a pull request :)


Bump Apache Parquet to 1.10.0

Hi all,
I'd like to bump Parquet to 1.8.3 for now. This is a minor upgrade and fixes some issues with the statistics of the Parquet file format. Maybe later I would like to update to 1.10.x.
I'm working on porting the indexing process to Spark: https://github.com/Fokko/druid-indexing-on-spark. Currently not yet working, but I expect a first version in a couple of weeks.
Cheers, Fokko

Hmm, I see that Spark already updated to 1.10.0: https://github.com/apache/spark/commit/cac9b1dea1bb44fa42abf77829c05bf93f70cf20
Lets bump Druid as well to 1.10.0

Ping! Any thoughts on this?


prevent html tags from appearing in the toc

This resolves #487 by not including html tags while building header information for the table of contents.
It retains html tags in headers for the regular markdown output, as previously.

Perfect, thanks!


User should be able to Upgrade from Community to Pro tier and get Pro for free until February

We are not moving the Cody Manage and onboarding from dotcom to SSC. This is already solved in the current version.


Refactor option and serializer resolution.

@dblock, @jrhe, @siong1987 - This refactors the class methods in the Grape::Formatter::ActiveModelSerializers in to separate classes. The functionality should be exactly the same - this refactor just moves logic around to leverage OOP.
I'm planning on reimplementing the changes in pull https://github.com/ruby-grape/grape-active_model_serializers/pull/58 on top of this infrastructure

👍


feat: Implement the rule "vitest"

Describe your changes
Implement the ruleset based on eslint-plugin-vitest recommend ruleset.
And, the following rules are set by us:

no-duplicate-hooks

Improper naming reduces the readability of test coverage.

valid-title

Turn on ignoreTypeOfDescribeName.

This ruleset depends on eslint-plugin-vitest.
Issue ticket number and link
Checklist before requesting a review

[ ] I have performed a self-review of my code
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics?
[ ] Will this be part of a product update? If yes, please write one phrase about this update.

:tada: This PR is included in version 1.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Configure Azure Pipelines

This pipeline configuration builds the application and produces a build for the Release configuration.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: sukhsaggu sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Odd/even CSS selectors

Thanks for a great plugin! I'm using CSS odd/even rules (http://www.w3.org/Style/Examples/007/evenodd) to style row backgrounds. When filtering rows with Sieve, the backgrounds of course aren't updated which doesn't look really great. Is there any way to re-apply them after filtering is complete?

Hmm, yes, I see how that might be a problem. By default jquery-sieve merely calls jquery's .toggle() method on rows for whether they match or not.  This effectively just adds a display: none; to rows that don't match.  nth-child selectors ignore any kind of visibility; they only work against the parent element.
I don't think it's worth changing jquery-sieve for this scenario, but I think you have one possible solution. It's not super pretty though. jquery-sieve gives you the option to override the "toggle" visibility behavior. Instead of hiding and showing the rows, you could outright remove them from the parent element and store them in a cache (by index) instead.
This article covers that (in the last example):
http://christianheilmann.com/2013/12/12/zebra-tables-using-nth-child-and-hidden-rows/
Note that jquery-sieve has a toggle option where you can pass a custom function to change the behavior of the toggling.


Set language from browser, accept enter key in planner #242 #243

Resolves issues #242 and #243.
Note:
\Locale::lookup is a php function from the php_intl module. The page won't show if this module is not available.

Tests will need to change I guess (as well as linting errors)

Looks good indeed! Can you fix the test as well?

This probably means we can finally get rid of the cookies as well, right?

While fixing the tests, I also added some new tests, to ensure that special cases are handled correctly. The language detection has been changed, instead of locale_lookup we're now using our own method. This was needed to support headers like "da, nl;q=0.9, en;q=0.2", where danish is not supported but Dutch and English are. While locale_lookup would fail, our own method will select nl in this case.
About the cookies: since users can still override the language, the cookies are still used.

Cookies will have to stay required. When using a device frome someone else with a different browser language, users should still be able to pick their language (looking up trains while at a friend, for example). However, maybe we can keep all cookie code in the language middleware, including the pick language redirect (this redirect is currently still located in the home controller).
Also note that cookies to remember a language are allowed in the updated cookie law. (since widely used for user expierience, and not used for tracking)


Can't configure camera-less Eufy Security

Describe the bug
I'd like to use the Alarm Kit (HomeBase v2), without any cameras.
To reproduce

Install
Configure
Get stuck on the "web socket" IP:port.

Expected behavior
Being able to configure the Eufy Security integration without having a camera.
Additional information
HA 2024.1.0 running in Docker w/ HACS.

I think I confused the first dialog - it's not about cameras.


Relaxed required version checks to major version only

Since Redis is still in 0.x, I'm leaving minor version requirement there as there could be breaking changes on minor differences.

@ofrobots PTAL

Me so confused. This redis seems to be at 2.x? Looking at our source, we are indeed looking for that redis.
I might be missing something :confused:.

Redis went from 0.12 to 2.1 in the last month. We can update to redis 2 in a later PR.

LGTM.


[Bug] Generated animation is slightly off on y-axis compared to original image

I absolutely love the tool but faced this bug today, so thought I will report it.
Here's my excalidraw image:

When I try to import it in excalidraw-animate it is animated, but slightly off-axis! This is a bit confusing, I have tried importing both via link and the .excalidraw file.
Here's what it looks like:

If you observe, the red arrows are offset on y-axis by a few pixels, unlike the original drawing!
Attaching my .excalidraw image for reproduction of the bug here:
day_16.excalidraw.zip
p.s: Attaching as a .zip as Github doesn't support .excalidraw format! 🤦

Interestingly!
It seems like an inline render issue in the webapp, because when I downloaded the SVG and tried opening it in my Safari/Chrome (tested both) browser tab, it did render correctly:

Interesting indeed.


TERRAGRUNT_FETCH_DEPENDENCY_OUTPUT_FROM_STATE updates wrong option in code

Describe the bug
The TERRAGRUNT_FETCH_DEPENDENCY_OUTPUT_FROM_STATE / --terragrunt-fetch-dependency-output-from-state flag updates opts.UsePartialParseConfigCache instead of FetchDependencyOutputFromState
To Reproduce
Set TERRAGRUNT_FETCH_DEPENDENCY_OUTPUT_FROM_STATE=1 and start seeing cache hit/miss debug logs.
Expected behavior
Flag enables the right feature.
Nice to have

[ ] Terminal output
[ ] Screenshots

Versions

Terragrunt version: 0.50.9
Terraform version: v1.5.6
Environment details (Ubuntu 20.04, Windows 10, etc.): Ubuntu 22.04

Additional context
https://github.com/gruntwork-io/terragrunt/blob/7d4c2b3cb9e79727d1da93af87466a519003b38e/cli/commands/flags.go#L200-L205

Fix released in https://github.com/gruntwork-io/terragrunt/releases/tag/v0.50.12


Is there a way to let the Template overwrite the Button, instead of inserting it under the Button?

I build a template for my Journal with multiple Smartblock-Buttons. So I can deside, which section of the daylie journal I want to get shown....e.g. a button for "Workout", which then inserts my workout template.
Is there any way to let the inserted template overwrite the button itself, instead of insert the template under the button?

Hmm. Maybe something like the mod+t smart block insertion window?
On 23 Jul 2022 at 8:33 PM +0530, Skyryd @.***>, wrote:

I build a template for my Journal with multiple Smartblock-Buttons. So I can deside, which section of the daylie journal I want to get shown....e.g. a button for "Workout", which then inserts my workout template.
Is there any way to let the inserted template overwrite the button itself, instead of insert the template under the button?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

What do you mean with "mod+t"?
Sorry, I'm new on GitHub:) In my case, it would be a nice feature, to get rid of the button automatically, after i clicked it. So...button clicked...template inserted...no other need for the button, cause I never want to click it again in this scenario.

Well you can click command t or control t on windows to trigger an insertion window. Or try /insert smartblock. May be better for your workflow.
On 24 Jul 2022 at 6:47 PM +0530, Skyryd @.***>, wrote:

What do you mean with "mod+t"?
Sorry, I'm new on GitHub:) In my case, it would be a nice feature, to get rid of the button automatically, after i clicked it. So...button clicked...template inserted...no other need for the button, cause I never want to click it again in this scenario.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

Thx for your replies:)
Maybe it's just a very niche request, but I like the idea, the button has an option to get overwritten bei clicking (inserting hier template) him.


The type for bullets and slides of the .d.ts file is not reported correctly in the documentation

The type for bullets ( Dom7Array[] ) and slides ( any[] ) currently present in the .d.ts files is not reported correctly in the documentation and is therefore omitted
https://github.com/nolimits4web/swiper/blob/4eac3e8bf1c7619d28da92e2e8ff0bf268886392/src/types/components/pagination.d.ts#L11-L16

https://github.com/nolimits4web/swiper/blob/4eac3e8bf1c7619d28da92e2e8ff0bf268886392/src/types/components/virtual.d.ts#L17-L20

https://github.com/nolimits4web/swiper/blob/4eac3e8bf1c7619d28da92e2e8ff0bf268886392/src/types/components/virtual.d.ts#L68-L70
https://github.com/nolimits4web/swiper/blob/4eac3e8bf1c7619d28da92e2e8ff0bf268886392/src/types/components/virtual.d.ts#L74-L79
This is currently reported in the documentation of version 6.6.2:

and so it was instead reported in the documentation of version 6.3.5:

Thanks.

@nolimits4web After the last changes, the problem seems solved only for the slides parameter of Virtual Slides.

But there are still problems with Virtual Slides' slides method

and Pagination's bullets property.

Thanks.

@nolimits4web Even after the release of version 6.8.0 this situation persists. So you think it's okay as it is?
Thanks.

report another types here.

seems controller.control should be Swiper | Swiper[] rather than Swiper only.

Hello @fenyiwudian
In fact, a few months ago (https://github.com/nolimits4web/swiper/commit/efd95a8b7a86184c93f5a27595d0594b356d0db3) it was only correct in ControllerOptions:
https://github.com/nolimits4web/swiper/blob/3faa10dc6987d5309ccda2fa2d90186576d30695/src/types/components/controller.d.ts#L13-L18
and not in ControllerMethods:
https://github.com/nolimits4web/swiper/blob/3faa10dc6987d5309ccda2fa2d90186576d30695/src/types/components/controller.d.ts#L3-L9

fixed in #4846


Error using the Layout library with Typscript

Hello,
I created a new apps/testApp folder, with a testApp.app.ts file inside.
I am trying to recreate the Layout tutorial code in Typescript so I have
const layout: Layout.Layout = new Layout.Layout( {
  type:"v", c: [
    {type:"h", c: [
      {type:"txt", font:"12x20:2", label:"One", pad:4 },
      {type:"txt", font:"12x20:2", label:"Two", pad:4 }
    ]},
    {type:"txt", font:"12x20:2", label:"Three", fillx:1 },
    {type:"h", c: [
      {type:"txt", font:"12x20:2", label:"4", fillx:1 },
      {type:"txt", font:"12x20:2", label:"5", fillx:2 }
    ]},
  ]
});
g.clear();
layout.render();
layout.debug();

But VSCode throws an error for render() and debug():
Property 'render' does not exist on type 'new <T extends Hierarchy>(hier: T, options?: { lazy: boolean; btns?: { label: string; cb: () => void; cbl: () => void; }[]; back?: () => void; remove?: () => void; } | undefined) => Layouter<T>'.ts(2339)
Am I doing something wrong?
Thank you for your help

I found what the problem was.
I needed to define ids for each node of the Hierarchy object.
The code becomes:
let testLayout = new Layout.Layout(
  {
    type: "v", c: [
      {
        type: "h", c: [
          { type: "txt", font: "12x20:2", label: "One", pad: 4 , id:"a"},
          { type: "txt", font: "12x20:2", label: "Two", pad: 4 , id:"b"}
        ]
      },
      { type: "txt", font: "12x20:2", label: "Three", fillx: 1 , id:"c"},
      {
        type: "h", c: [
          { type: "txt", font: "12x20:2", label: "4", fillx: 1 , id:"d"},
          { type: "txt", font: "12x20:2", label: "5", fillx: 2 , id:"e"}
        ]
      },
    ]
  }
)

testLayout.render();

Sorry, now I have a new problem.
I am trying to access testLayout.a.label but I have a bunch of errors:
'testLayout.a' is possibly 'undefined'.
Property 'a' comes from an index signature, so it must be accessed with ['a'].
Property 'label' does not exist on type '{ type: "txt"; font: "Dennis8"; label: string; pad: number; id: string; } | { type: "txt"; font: "12x20:2"; label: string; pad: number; id: string; } | { type: "h"; c: ({ type: "txt"; font: "Dennis8"; label: string; pad: number; id: string; } | { ...; })[]; id: string; font?: never; label?: never; fillx?: never; } |...'.
  Property 'label' does not exist on type '{ type: "v"; c: ({ type: "h"; c: ({ type: "txt"; font: "Dennis8"; label: string; pad: number; id: string; } | { type: "txt"; font: "12x20:2"; label: string; pad: number; id: string; })[]; id: string; font?: never; label?: never; fillx?: never; } | { ...; } | { ...; })[]; id: string; }'.ts(2339)

Could someone give me a snippet of code that replicates the JS examples? https://www.espruino.com/Bangle.js+Layout

Glad you solved the first one, for the second issue I've got an MR in progress which will fix it but I'm out of time. It'll be a little while until I can get a solution. In the meanwhile, you can use testLayout.a!.label as a workaround though - let me know if you run into anything else.

@paul-arg if you rebase on #3252, does that work? (or alternatively, cherry-pick the changes across)

@bobrippling
Sorry I won't be able to check this week.
But my test was very simple: declaring testLayout and then trying to access testLayout.a.label

No worries! Thanks for the test, sounds good. I'll merge it and @paul-arg if you see any issues we can adjust further


Favourite list management

Hi @Chavithra ,
Could you add some features to edit favourite lists?

Create a new favourite list:

POST https://trader.degiro.nl/pa/secure/favourites/lists?intAccount=xxxxx&sessionId=yyyyy
json payload: {name:"<LIST NAME>"}
json return:  {data:<LIST ID>}

Discard an existing favourite list:

DELETE https://trader.degiro.nl/pa/secure/favourites/lists/<LIST ID>?intAccount=xxxxx&sessionId=yyyyy

Add / Remove a product to an existing favourite list:

PUT / DELETE https://trader.degiro.nl/pa/secure/favourites/lists/<LIST ID>/products/<PRODUCT ID>?intAccount=xxxxx&sessionId=yyyyy

Many thanks for your great work!

Hey @facoptere, good idea.
Will check that when I will have some time during the month.

Done.

Thanks. It works. Please note that intAccount is mandatory for all these.


Add button for launching WebHook

Issue #115
Not the prettiest, but then again, neither was the previous.
Before:

After:

I added an scss file to enable that nifty icon overlay. It's essentially a polyfill for some features not available in the free version of font-awesome. I didn't find it in any CDN's.

Also, I meant to ask if a transaction status should have any bearing on whether the webhook is available to called?


AccountsProcessor: move XDR ingestion code to processor

https://github.com/stellar/go/issues/3196

Can be fixed with: https://github.com/stellar/go/issues/3927


Use (:) to select special characters

So like if I do :anchor then it'll auto suggest ⚓

Added in a6eaa330b636ceee9e6ec6d99af87442a57c8777

Fixed in 492c078b07d41b6083ea8e31ca5e7bec68fbfb3a

Thanks!


[iOS]Cache images when loading floor maps

Kind (Required)

Improvement

Overview (Required)
floor map is a page that you will see many times.
So, cache images when loaded.
Links

Nuke

I want to try🤚

OK! Assigned 👍


investigate why colours are not correct in wsl + windows terminal + tmux (fine in everything else)

fixed in https://github.com/petertriho/dotfiles/commit/043a0c16f65011659b3425f2c8b5291d8ed6c478

fixed in https://github.com/petertriho/dotfiles/commit/043a0c16f65011659b3425f2c8b5291d8ed6c478


Change how applying type extensions work

I think that if Sourcery finds type extensions it should only add methods/variables/subscripts if they are considered unique, and when resolving uniqueness the order should be defined as:

base implementation
inheritance
protocol conformance
type extensions

Scenario 1.
Given a code like
protocol UrlOpening {
  func open(_ url: URL)
  func open(
    _ url: URL,
    options: [UIApplication.OpenExternalURLOptionsKey: Any],
    completionHandler completion: ((Bool) -> Void)?
  )
}

extension UrlOpening {
    func open(_ url: URL) {
        open(url, options: [:], completionHandler: nil)
    }
}

You'd expect UrlOpening.methods to contain 2 methods and not 3 like we have currently because the default implementation shouldn't matter from AST perspective right?
Scenario 2.
protocol RemoteUrlOpening {
  func open(_ url: URL)
}

protocol UrlOpening: RemoteUrlOpening {
  func open(
    _ url: URL,
    options: [UIApplication.OpenExternalURLOptionsKey: Any],
    completionHandler completion: ((Bool) -> Void)?
  )
}

extension UrlOpening {
  func open(_ url: URL) {
    open(url, options: [:], completionHandler: nil)
  }
}

When looking at UrlOpening.allMethods I should see the open(_:options:completionHandler:) and method from RemoteUrlOpening, where both are not definedInExtension and we should simply ignore the default implementation here. (currently we return the base method + extension one so we miss the inheritance).
Do you agree about those expectations?

Seems sensible to me. Should we also specially consider protocol extensions? We probably don't need to distinguish it on the level of dynamic dispatch (wether method was defined in the protocol and then has a default implementation or only has a default implementation), but type should have this method whenever it is in the protocol it conforms to or in its extension. Although maybe we already do that when aggregating protocol methods, but maybe worth having as a test case.

@ilyapuchka not sure if I follow what you meant here but I've added 2 protocol inheritance + default implementation tests do they cover It?
if not could you write some sample code / expectation so I can spec it properly?

yes, that's one of the cases I mean, I'd add another case like that to make sure we consider protocol extensions methods even if they were not defined in a protocol. Unless we already have this covered with another test, then it's ok! =)
protocol UrlOpening {
  func openURL(_ url: URL, parameters: ...)
}

extension UrlOpening {
  func openURL(_ url: URL) { ... }
}

oh yeah that's covered by checking if UrlOpening.allMethods contains anotherFunction(key:) in this test

          1 Error

:no_entry_sign:
Any changes to library code need a summary in the Changelog.

  Generated by :no_entry_sign: Danger

@ZevEisenberg in most cases it shouldn't matter since there were very few tests I've had to touch and those I did were just defining wrong Swift code, but I'm going to release it as new version anyway just to be safe


urllib3.connectionpool logs pre-signed URLs in DEBUG level

If we set logging level to DEBUG, pre-signed URLs are emitted in the logs by urllib3.connectionpool. Can we implement a log redactor so that it strips query params from the URLs?
urllib3 version urllib3-1.26.15
databricks-sql-connector version 3.0.1

https://github.com/databricks/databricks-sql-python/pull/341


Python 3 Install

I can install hask with Python 2 with no issues, but in Python 3 I get the error:
Traceback (most recent call last):
  File "setup.py", line 1, in <module>
    import hask
  File "/home/user/Downloads/hask/hask/__init__.py", line 9, in <module>
    import Data.Char
ModuleNotFoundError: No module named 'Data'

This is presumably because relative imports are gone in Python 3. Is there any way to get it working regardless? I'm really keen to use this.

@xnmp This project seems pretty dead. I emailed the author, but he hasn't responded for a year.

Coconut (https://github.com/evhub/coconut) seems to be a usable alternative.

I can confirm that coconut is excellent. Well documented, usable and source compatible with Python 3.

Yes, I worked my way through the tutorial. Feels like a working cross-over between Python and Haskell.

@xnmp @pya @iamrecursion Hey, it's been a pretty long time. I wanted to see if anyone's interested in joining me to create a Python 3 fix for hask. Coconut is usable, but it doesn't have the same level of tooling support and maturity as Python. Additionally, hask is far more functionally oriented, whereas Coconut simply happens to add functional syntax. Coconut doesn't have typeclasses, Haskell types, or decent type checking in a Hindley-Miller rather than default Python way.
I think it would be a very fun and useful endeavor.

https://github.com/forked-from-1kasper/hask
I tried to port hask to Python 3. It works.
All tests pass, but not all of the code is covered by them.
We need to work even more, yes.
(no, this is not advertising)

I have tried to communicate with the original author, but I've gotten no response.  I've recently published this on PyPI which supports Python 3 (up to whatever tests do test): https://pypi.org/project/hask3
I'm not probably taking over the project with the same goal of the original (that's why I changed the name to hask3), but I'm probably going to use some of it's features.

@forked-from-1kasper  and  @mvaled , what is the status of your forks? I may be interested in contributing.

@james1293, if you want to contribute to my fork, then do it.

My fork is https://github.com/mvaled/hask.
But currently @med-merchise is doing most of the changes in https://gitlab.merchise.org/merchise/hask which I regularly push back to github.
When we starting exploring hask, we kept Python 2.7 support, but recently we decided to work only in Python 3.6+.  To make this decision less intrusive we also changed the package name to 'hask3' and made some initial releases in the PyPi: http://pypi.org/project/hask3
We may use hask3 in our project https://gitlab.merchise.org/merchise/xopgi.ql, which (will) implement an expression language.  hask3 may provide the concrete values in the language.  So far, we have done the basic typechecker.

Super cool. Is there active work going on, or a to do list? I'd be happy to contribute.

@dmlerner I stopped from doing any more changes on hask3.


Authorization

In the times I've used vanilla Apollo, I pass an Authorization header via the network interface opts.  This is how the API authorizes graphql access.  I can do that using Nuxt, but I've only gotten as far as hardcoding the token into nuxt.config.js in my initial R&D.  For instance:
modules: ['@nuxtjs/apollo'],
apollo: {
    clients: {
        default: {
            uri: 'https://example.com/graphql',
            opts: {
                headers: {
                    Authorization: 'Bearer ABCDEF1234567'
                }
            }
        }
    }
}

So I guess my question is two-fold:

Server-side, how can I dynamically set the network interface options?  For instance, setting the Bearer token from a cookie sent in the request.  In a previous version of Nuxt, I was able to do that using a custom auth middleware (cookie.parse(req.headers['cookie']).

Once the app hits the browser, if the user's token is stored in local storage, how would I update the network interface with the new options?

EDIT: See below for current working solution to this
TL;DR use Nuxt middleware to access Apollo middleware.  Steps:

Extract the token from an HTTP Only cookie.  You can either:

bake the token extraction logic into an app-specific Apollo middleware
extract in nuxtServerInit

Assign the token to the store. This makes the token accessible in the browser.  Also necessary if you went the nuxtServerInit route, as you need a way to get the token into the next step
Create a Nuxt middleware that applies an Authorization header via apollo's applyMiddleware method.  This is possible because the apollo clients are accessible via context.app.apolloProvider (examples below)
Run the middleware on any page/layout that apollo auth is needed.

After some more digging on this, I tried a few different options, all of which were dead ends.
I was able to apply a middleware to an Apollo client anywhere context is available.  Here is an example within middleware:
let client = context.app.apolloProvider.defaultClient
client.networkInterface.use([{
    applyMiddleware (req, next) {
        if (!req.options.headers) req.options.headers = {}
        req.options.headers['Authorization'] = `Bearer ${jwt}`
        next()
    }
}])

In this example, the JWT is retrieved from a http only cookie.

The problem with this, is that it seems middleware only runs on the server, which is fine for the initial request, but further requests that happen on the browser no longer have the Authorization header set.
I appreciate that this module exists, but I'm not sure how authorization on both server/browser could be handled.  Could the example be expanded to include auth?

@bjunc Think we can help each other. I only do authorization to the token on the client side at the moment.
Now trying out a setup where I use the vuex store to set/get the token. Because it's available on both the client/server. You can follow the progress here: https://github.com/nuxt-community/apollo-module/issues/6

Hey @frankspin89 happy to share what I've done so far with this.  Maybe we can help each other. A little context:
Prior to trying the Apollo module (or even the Vue-Apollo plugin), I was able to get this to work with Vanilla Apollo and Nuxt. I used a middleware, which would instantiate an Apollo client (made available throughout the app via setting context.app.apolloClient vs this module's convention of context.app.apolloProvider.defaultClient).  Server-side, the client would be retrieve a JWT from an HTTP Only cookie.  I called this cookie: UJSSESSID (as in Universal JS), which follows similar convention to Symfony's cookie name PHPSESSID.  If that cookie didn't exists, the app assumed you were logged out.  Once you've authenticated, the cookie was set.  Since the cookie was also the JWT, this is what was used for any server-side API calls.  This worked well, and basically behaved like a conventional session cookie.
Once the app hits the browser, it needs the token for browser-based API calls.  You could put the token in local storage, but that seems unnecessary to me, as you're essentially storing the token in two places (once as an HTTP Only cookie, and once in local storage).  Rather, since you have the token server-side, simply pass down to the browser app via the initial store state.  The token would be in the store upon app load (assuming you're authenticated).  Then, the same middleware I used before (now context.isClient) instantiates an Apollo client using the token from the store (not the token from the cookie).
My attempts to use this module, lead me to want to tweak my Nuxt middleware to apply an Apollo middleware; rather than create a new Apollo instance.  I've gotten that to work, which provides server-side and client-side authentication.
Interested to hear your thoughts on the above.
For the record, I couldn't do this in the apollo/network-interfaces/default.js because I need access to the request to grab the cookie server-side, and I need access to the store to grab the token client-side.  Middleware provides both.  So if you want to use this module, you can instantiate a default client, then apply an Apollo middleware (see above).  I also looked into nuxtServerInit, but ran into issues with that (I don't recall what the issue was with that).
Also worth noting, I've seen code snippets referring to req.session.  I'm not really sure what this is, maybe something I should have looked into...

Not sure if this is the right approach but it works for me pretty good:
authenticateApolloMiddleware.js
export default function ({store, app}) {
  const defaultClient = app.apolloProvider.defaultClient
  defaultClient.networkInterface.use([{
    applyMiddleware (req, next) {
      if (!req.options.headers) {
        req.options.headers = {} // Create the header object if needed.
      }
      const token = store.state && store.state.authToken
      req.options.headers.Authorization = `Bearer ${token}`
      next()
    }
  }])
}

Yeah, that's basically where I settled with my implementation.  Only difference is that I didn't use nuxtServerInit.  Rather, in my middleware, I check if (context.isServer), and grab from the cookie there.  I think it'd be better to use nuxtServerInit if you were making a shareable middleware, that was less opinionated on where the token comes from.  In my case, for my apps, I am sticking with a convention of using UJSSESSID for Nuxt session cookies, and so I don't feel the need to extract/set the token externally (who knows, I could change my mind).
Overall though, sounds like we're largely doing the same thing.   Curious if @Atinux has an opinion on this?

@bjunc I have to admit that I haven't done enough testing: the edge starts with following use-case: page-reload on a page where authentication is necessary. The initial request will have the correct credentials because the middleware applied the apollo network middleware with the store value. But now, if the client will do some action (for example search) then the client of $apollo does not have the middleware applied because it ran only on the server
@Atinux is this currently the correct behaviour of the middleware? I thought the middleware is getting called once on server and once on client side before page render?

The above scenario shouldn't be a problem.  Yes, the Apollo middleware is applied on the server, but the Nuxt (and Apollo) middleware will continue to run for subsequent server and browser requests.  Since the token is referencing the store, you can even swap the token in the browser and it'd still work.
It sounds like I should probably post up a repo to show how I have it set up, but here's a work-in-progress snippet from my Nuxt apollo-auth middleware:
export default function (context) {

  let token = null

  // grab the token from the store's initial state
  if (context.isClient) token = context.store.state.token

  // retrieve the JWT from the cookie
  if (context.isServer) {
    if (!context.req.headers['cookie']) return
    let cookies = cookie.parse(context.req.headers['cookie'])
    if (cookies.UJSSESSID) token = cookies.UJSSESSID
    context.store.state.token = token
  }

  let client = context.app.apolloProvider.defaultClient
  client.networkInterface.use([{
    applyMiddleware (req, next) {
      if (!req.options.headers) req.options.headers = {}
      req.options.headers['Authorization'] = `Bearer ${token}`
      next()
    }
  }])
}

As I noted above, this takes an opinionated perspective, and tightly couples the middleware with the session cookie/token logic.  That may not be desirable in your case.  If so, just move the context.isServer logic to nuxtServerInit

@bjunc thanks for your code snippet. I do basically the same but realized one drawback: do a page reload on a page where u call the middleware. Now do a client side call to your graphql backend ( I do this through a client side search to filter data ). You will realize that the client side search won't have the middleware applied and thus will be without authenticated token. You will have the token applied as soon you do a state change because then the middleware will be called again.
I handle this edge case now like this:
AbstractVueClass.vue
  export default {
    created () {
      const networkInterface = this.$apollo.provider.defaultClient.networkInterface
      applyApolloMiddleware(networkInterface, this.$store.state.authToken)
    }
}

authenticateApolloMiddleware.js
import applyApolloMiddleware from '~/util/applyApolloMiddleware'
export default function ({store, app}) {
  const defaultClient = app.apolloProvider.defaultClient
  applyApolloMiddleware(defaultClient.networkInterface, store.state.authToken)
}

utilApplyMiddleware.js
export default function (networkInterface, token) {
  const count = networkInterface._middlewares.length
  if (count) return
  networkInterface.use([{
    applyMiddleware (req, next) {
      if (!req.options.headers) {
        req.options.headers = {} // Create the header object if needed.
      }
      req.options.headers.Authorization = `Bearer ${token}`
      next()
    }
  }])
}

That's a good point.  In my prototype, I hadn't actually done a GQL request that wasn't part of a page load.
However, I think a simple solution is to move the logic from a Nuxt middleware to a Nuxt plugin.  Unless I am mistaken, the plugin will run for the server and browser, for every request, which will apply the Apollo middleware in both situations.  I was able to literally copy my entire middleware logic over to a plugin without any modification, and my initial tests worked.  I'll test further later today.
Steps:

Copy my code above, and move it to a new plugin file (eg. /plugins/apollo-auth.js)
Update your nuxt.config.js: plugins: ['~/plugins/apollo-auth']
Delete the middleware: 'apollo-auth' you might have had on layouts/pages

asyncData will behave the same, but now, you'll be able to make post-load GQL requests with the Authorization applied.  Example:
methods: {
    async onSomeButtonClick () {
        let client = this.$apollo.provider.defaultClient
        try {
            await client.query({
                fetchPolicy: 'network-only', // ensure cache isn't being used
                query: gql`{ ... }`
            })
        } catch (err) {
            // error handling
        }
    }
}

With this, you won't need the logic you added in your created handler.

Here's the plugin's base logic, if you'd rather have the token set outside the plugin (eg. in nuxtServerInit).  I left out logic that would bail/throw if token and apolloProvider didn't exist.
If this works for you, we might want to create a repo for this plugin, and make it a bit more legit.
~/plugins/apollo-auth.js
export default (context) => {
   let token = context.store.state.token
   let client = context.app.apolloProvider.defaultClient
   client.networkInterface.use([{
      applyMiddleware (req, next) {
         if (!req.options.headers) req.options.headers = {}
         req.options.headers['Authorization'] = `Bearer ${token}`
         next()
      }
   }])
}

@bjunc I just tried your version and moved my code to plugins but then the token is never available on the first SSR request. I guess this happens due to the initial onServerInit on the server is running after the first time the plugin is being called. I modified your snippet that it works for me like following:
import applyMiddleware from '../util/applyApolloMiddleware'
import { getTokenFromCookie } from '../util/auth-helpers'

export default ({store, app, req, isServer}) => {
  let token
  const client = app.apolloProvider.defaultClient
  if (isServer) {
    token = getTokenFromCookie(req)
  } else {
    token = store.state.authToken
  }
  applyMiddleware(client.networkInterface, token)
}

@dohomi My snippet doesn't include the token extraction in an effort to decouple the Apollo auth from the session logic. If you're building the plugin only for yourself, then I don't think it'd hurt to bundle them together (as you've done, and even I did at first).  However, if you break them apart, they would be more modular/flexible.  For instance, if you also wanted to run Axios, and use the token for that as well, you could set the token prior to the plugins running, then have an Axios auth plugin, and an Apollo auth plugin.  To do that, simply move your getTokenFromCookie logic to nuxtServerInit.  Set the token there, and by the time the apollo-auth plugin ran, the token would be set.

@bjunc sounds good. I'm quite happy with the solution now, there should be probably some source on the main README.md about some best practices for new users

@dohomi Yeah, probably so.  I think I'm happy with this approach too.  If I get some time over the weekend, I'll pull together an example repo with a plugin for Apollo auth and session management.
Out of curiosity, what are you calling your session cookie?  I've been using UJSSESSID which follows the PHPSESSID convention.

I use this ( I think originally from some example I found ):
export const setToken = ({token, user}) => {
  if (process.server) return
  Cookie.set('access_token', token)
  Cookie.set('user_credentials', JSON.stringify(user))
  window.localStorage.setItem('token', token)
}

Would love to see a example :)

@t0ker I'll create an example that uses both a session plugin (for extracting the token from an HTTP Only cookie I call UJSSESSID) and an Apollo auth plugin (mostly shown above).  Hopefully over the weekend.

@bjunc I think this issue is resolved. In v2.0 you export a function which holds the whole context as first argument. This is a superset of all our discussions we had earlier

@dohomi v2 of what, Apollo?
I created an initial repo that serves as an example for updating the Apollo client Nuxt Apollo Auth.  Let me know if this is helpful.  I plan on building this out a bit more, as well as creating another one for session logic.
Somewhat related, I recently started a new project where we are using Nuxt to talk to a Phoenix (Elixir) API.  The authorization basically works as I am showing in the repo above.  Session logic is a combination of using serverMiddleware, nuxtServerInit, and a small auth middleware.  The combined effect is really pretty awesome, and lightweight.  I didn't have to resort to incorporating Express.  I was thinking of extracting that out into an example repo as well, as I'm not quite happy with the session example on nuxtjs.org

@dohomi Just pulled the 2.0.0 update.  Yep, the fact that context is now sent into network interface pretty much negates any need for the plugin since that's what it did.  Kind of wish @Atinux had chimed in on the conversation regarding that update as to not waste everyone's time trying to figure out a workaround, but oh well.
Here's a quick example for anyone else coming in looking for how to do this in v2.0.0:
// ~/apollo/network-interfaces/default.js
// @nuxtjs/apollo v2.0.0

export default ({ store }) => {
  const networkInterface = createNetworkInterface({
    uri: 'http://localhost:4000/graphql',
    transportBatching: true
  })

  let token = store.state.session
  networkInterface.use([{
    applyMiddleware (req, next) {
      if (!req.options.headers) req.options.headers = {}
      req.options.headers['Authorization'] = `Bearer ${token}`
      next()
    }
  }])
  return networkInterface
}

This was mostly a copy/paste job out of the plugin into the network interface creation.  Works great alongside the session logic I did for talking to a Phoenix GQL API.

@bjunc to complete your network interface, keep in mind that on client side the store is called after the plugin based on this discussion: https://github.com/nuxt-community/apollo-module/issues/23
This is my solution which works very good. I abondend the use of NUXT.onServerIntit inside of Vuex because the plugin code is triggered before the initialServerInit function.
export default ({store, req, isServer}) => {
  let token
  if (isServer) {
    token = getTokenFromCookie(req)
    token && store.commit('SET_AUTH_TOKEN', token)
  } else {
    token = window.__NUXT__.state.authToken
  }
  const networkInterface = createNetworkInterface({
    uri: 'https://api.graph.cool/simple/v1/' + process.env.GRAPH_FILE_API
  })
  applyMiddleware(networkInterface, token)
  return networkInterface
}

@dohomi yeah, good call. I realized shortly after I wrote my comment that client calls weren't getting the token set, only server-side calls.  What you did is pretty clever, accessing __NUXT__.state, but doesn't that feel a bit dirty?   Almost makes me feel better about doing it the previous plugin way.
Also, not sure if this will help you, but I actually used serverMiddleware to handle the token extraction from the cookie.  You need access to the response to be able to set an HttpOnly cookie, so it just made sense to keep them coupled (get and set).
// server-middleware/session.js

let cookie = require('cookie')
module.exports = function (req, res, next) {

  // req is the Node.js http request object
  // res is the Node.js http response object

  if (req.url === '/logout') {
    res.setHeader('Set-Cookie', cookie.serialize('UJSSESSID', null, { maxAge: 0 }))
  }

  if (req.headers['cookie']) {
    let cookies = cookie.parse(req.headers['cookie'])
    if (cookies.UJSSESSID) req.session = cookies.UJSSESSID
  }

  next()
}

left out the cookie set logic for setting a session, as that would muddy up the example

sure that example would work as well. I just simply wire up the token handling inside of the network plugin directly, because the only piece of code where the token is needed is that exact location where I apply the middleware. I think you can safely close the issue now - we have many ways to deal with vue-apollo thanks again @Atinux

Sorry, I have a dummie question. How did you guys set the token into req.session in Nuxt?

@kieusonlam the example above should get you most of the way there.  The JWT is initially assigned to an HttpOnly cookie (upon successful authentication), which is extracted and assigned to req.session in a server middleware for every server request.  If the cookie doesn't exist, then it's assumed the user is not authenticated.  In your Vuex storenuxtServerInit, you have access to req.session, which you can then assign to your store state. That will give you a way to know across the whole app whether the user is authenticated, as well as a way to assign the token in other areas that need it for auth headers.
Worth noting, you can call the cookie anything you want.  I am using UJSSESSID per the PHP convention of using PHPSESSID.   You could use MyNuxtToken, etc..

Did you guys made the repo for this??? I require the step by step process!!
have you guys made it??

Im a little bit confused.
Did you guys put the other options on a middleware?


Fix: Allow hashing of metrics with lists in their state

What does this PR do?
Fixes #5926. This PR allows metrics to contain lists within their internal state, so long as the contents of those lists are hashable.
Before submitting

[X] Was this discussed/approved via a GitHub issue? #5926
[X] Did you read the contributor guideline, Pull Request section?
[X] Did you make sure your PR does only one thing, instead of bundling different changes together?
[X] Did you make sure to update the documentation with your changes? (if necessary) (N/A)
[X] Did you write any new necessary tests? (not for typos and docs) (Feel free to push back on this 🙂 )
[X] Did you verify new and existing tests pass locally with your changes?
[X] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings) (bug not in released version, so omitted from CHANGELOG)

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified
[ ] Check that target branch and milestone match!

Did you have fun?
Make sure you had fun coding 🙃
Always

@peblair could you add a test to this file:
https://github.com/PyTorchLightning/pytorch-lightning/blob/master/tests/metrics/test_metric.py
that test that metrics are hashable, preferable both metric for which the metric state is a tensor and one where it is a list.

@SkafteNicki I went to add the test, but I came across something weird in the process. This was my original test:
def test_hash():

    class A(Dummy):
        pass

    class B(DummyList):
        pass

    a1 = A()
    a2 = A()
    assert hash(a1) == hash(a2)

    b1 = B()
    b2 = B()
    assert hash(b1) == hash(b2)
    assert isinstance(b1.x, list) and len(b1.x) == 0
    b1.x.append(torch.tensor(5))
    assert isinstance(hash(b1), int) # <- check that nothing crashes
    assert isinstance(b1.x, list) and len(b1.x) == 1

This actually fails on the first assert, though, since the hash() of each A instance's x values (both Torch tensors) are different. A quick trip to the CLI confirms this:
>>> import torch
>>> t1 = torch.tensor(0.0)
>>> t2 = torch.tensor(0.0)
>>> hash(t1) == hash(t2)
False

This is a bit counterintuitive to me, since it appears that the __eq__ is doing a structural equality check (meaning that their hashes should be the same so long as their contents are the same). I am 90+% sure that this is an even deeper bug in __hash__ (distinct from the one which I am trying to fix in this PR). How should we proceed?

@peblair this might be the reason: https://discuss.pytorch.org/t/why-hash-values-of-a-same-tensors-change-if-we-affect-it-to-different-variables/40028

@SeanNaren Understood. The issue is that __hash__ and __eq__ are intended to have a specific relationship; specifically, a == b => hash(a) == hash(b). This relationship is important to make data structures such as sets and hash maps behave correctly. This is currently being violated on master, though, since a == b is doing a structural equality check (i.e. do all of the fields on these metrics have the same contents?), whereas hash(a) == hash(b) is doing an identity equality check (i.e. are all of the fields on these metrics the same objects?).
One of these two implementations needs to be changed; I am unsure which, though, since I am unsure what the original intention was when the __eq__ and __hash__ implementations were written. Take the snippet in my above post, for example. Is the intention for a1 == a2 to be True? If so, we need to fix __hash__. If not, we need to fix __eq__.

(To clarify, when I said "This is a bit counterintuitive to me", I specifically mean "This implementation of __hash__ is a bit counterintuitive to me;" apologies if that led to any confusion)

we should probably get @justusschock opinion
IMO two metrics should be equal if they are the same class and their metric states are equal

@SkafteNicki that is my intuition too. Let's see what he has to say, but, if that is the intention, I can propose this alternative implementation of __hash__ which fixes this PR's bug and the equality issue:
    def __hash__(self):
        hash_vals = [self.__class__.__name__]

        for key in self._defaults.keys():
            val = getattr(self, key)
            # Special case: allow list values, so long as their elements are hashable
            if isinstance(val, list):
                hash_vals.extend(val)
            else:
                hash_vals.append(val)

        # Torch tensors are hashable, but based on their underlying pointer.
        # Since we do a structural equality check below, we circumvent this
        # by hashing the _sum_ of tensors' contents
        hash_vals = [(float(x.detach().cpu().sum()) if isinstance(x, torch.Tensor) else x) for x in hash_vals]

        return hash(tuple(hash_vals))

There are performance implications for this, of course, but I think the cost is about as sensible I'd expect any other structurally-based hash to be.

@peblair I think your suggestion is quite good, but instead
hash_vals = [(float(x.detach().cpu().sum()) if isinstance(x, torch.Tensor) else x) for x in hash_vals]
i'd probably use
hash_vals = [tuple(x.detach().cpu().tolist()) if isinstance(x, torch.Tensor) else x) for x in hash_vals]

since tuples can be hashed, right?
Also

since a == b is doing a structural equality check (i.e. do all of the fields on these metrics have the same contents?)
should not be true, Instead we actually create a compositional metric there that checks for each output that is compute for a and b if they're identically. So basically this is kind of a lazy way to check equality

@peblair I think your suggestion is quite good, but instead of
hash_vals = [(float(x.detach().cpu().sum()) if isinstance(x, torch.Tensor) else x) for x in hash_vals]

i'd probably use
hash_vals = [tuple(x.detach().cpu().tolist()) if isinstance(x, torch.Tensor) else x) for x in hash_vals]

since tuples can be hashed, right?

That is true, but this has the benefit of working for tensors of an arbitrary dimensionality. Moreover, I'd imagine that, under the hood, it's effectively the same amount of work to do hash(float(sum(tensor))) as doing hash(tuple(tensor)) (since both are O(n)...in fact, the summation avoids an extra traversal of the tensor's contents, so it may even be faster).

Also

since a == b is doing a structural equality check (i.e. do all of the fields on these metrics have the same contents?)

should not be true, Instead we actually create a compositional metric there that checks for each output that is compute for a and b if they're identically. So basically this is kind of a lazy way to check equality

This muddies things a little bit 🙂 . The defined semantics of these methods are less clear in situations like this, but I would argue that we should err on the side of a structural hash here, since that appears to be a sensible choice (all(a == b) => hash(a) == hash(b) doesn't have quite the same ring to it, but it makes sense IMO). So, should I move forward with a version of the proposed solution in my last post?

Hello @peblair! Thanks for updating this PR.

In the file tests/metrics/test_metric.py:

Line 174:37: E261 at least two spaces before inline comment

I have gone ahead and pushed the discussed changes. I am happy to discuss any further feedback, but hopefully this addresses everything. Thanks for being so responsive, everyone!

@peblair mind check the last remaining comments above?

I unfortunately discovered a major issue with this change today, which I think means that we need to revisit the semantics issue. You can see a reproduction on the BoringModule here, but here is the explanation: PyTorch's nn.Module's children() method uses a set under the hood to memoize the parameters on modules. This means that, if you have two metrics which hash the same and are __eq__ to one another, then torch.nn.Module.named_children() (and, by extension, .children()) will only return one of them. This is the case when the metrics' contents are the same, such as during initialization. You can see in the Colab link that this causes issues; because torch.nn.Module.to() delegates out to children(), if you have, say, two MSE metrics on a LightningModule, only one gets moved to the GPU.
So, what to do? Here are some possible options:

Revert to the original hashing semantics (plus the list fix which originally inspired this PR). I still think this is counterintuitive, but it won't crash.
Same as no. 1, but also modify the semantics of __eq__ to better reflect the __hash__ semantics (e.g. doing an identity equality check on underlying tensors).
Something else that someone more clever than I comes up with 🙂

cc @SkafteNicki @justusschock

Then I am in favour of option 1, because else __eq__ will behave differently than other logical operators (I was originally in favour of structual equality, but then I think it should be the same for all logical operators).
That said we should probably clarify this in the documentation, as we right now only have an example of adding two metrics (which makes sense) but not one of a logical operator.

Reflecting on this a bit more, I am wondering if the semantics of __eq__ should be changed. The fact that two tensors hash to different values is mostly a coincidence; I can imagine that this will lead to some confusing errors for people who implement their own metrics (imagine that you had implemented the MSE metric yourself and randomly only one of your metrics was being placed on the GPU)...at a minimum, I think the semantics should be clearly defined and documented.

@peblair mind check the failing test on GPU

I am also in favor of of number one (mostly for the same reasons as @SkafteNicki)
However, we definitely need to fix the moving issue in a separate PR (not yet sure how though)

I think the way forward is to keep the implementation as it is now. It fixes the current bug without introducing a new one (the moving issue is only a problem if we try change the hashing function to do structual similarity).
The tests will have to be changed to
a1 = A()
a2 = A()
assert hash(a1) != hash(a2)

so the tests document that we are not expecting two metric objects to be the same even if their content is the same (basically following pytorch standards).
We can do a follow up PR where we document this behaviour better (that evaluating if two metrics are equal does not check if it is the same metric, but if the output from their compute is the same).

The problematic test is now fixed to be consistent with the new semantics, but I think that the situation is still precarious (on master, before this change). Because __eq__ returns a non-bool, this line passes if I add it to test_hash:
assert (b1 == b2) and (b1 != b2)

Now, that's fine, I suppose, except for the fact that I am 99% sure that torch.nn.Module.named_children() is now only not broken because different metric instances return different hashes, so they happen to be able to both be added to the underlying set() that named_children is using (since they have different hashes, they end up in different buckets in the hash set implementation CPython uses). I feel like this is asking for nondeterministic failures to crop up, since a bad pair of pointers could both hash (mod python_dict_size) to the same bucket. I'm wondering if the solution here (which is beyond the scope of this PR at this point) is to escalate to PyTorch. Maybe their memoization in named_children() should contain the id() of each object so as to only check for identity equality...


When programatically adding pages to the swiper, pages themselves are not initialized properly.

This is a (multiple allowed):

[x] bug

[ ] enhancement

[ ] feature-discussion (RFC)

Swiper Version: 3.4.1

Platform/Target and Browser Versions: Windows, CHROME.

What you did
Initialize swiper as shown in various examples and demos. On post success I add a page to the swiper via one of the exposed methods: mySwiper.appendSlide(slides);
Expected Behavior
Page should be added properly and the navigation bullets should appear. Further more, page clicks should work and swiping in general should work.
Actual Behavior
Pagination is missing, swiping doesn't work. I can swipe images but they are not exchanged accordingly. Funny enough, if I press F12 which enters the debugg mode for Chrome the swiper instantly get initialized properly and everything works just fine. From that point on appending slides to the swiper works fine.

Would be good to see live example, looks like you are doing something wrong

Issue is closed because of outdated/irrelevant/not actual/needed more information/inactivity.
If this issue is still actual and reproducible for latest version of Swiper, please create new issue and fill the issue template correctly:

Clearly describe the issue including steps to reproduce when it is a bug.
Make sure you fill in the earliest version that you know has the issue.
Provide live link or JSFiddle/Codepen or website with issue


Update Route.php

Fixed CodeBlock desc for the group method at Route Facade.

The current one is correct. For example:
Route::namespace('Admin')->group(function () {
    // Controllers Within The "App\Http\Controllers\Admin" Namespace
});

Oh, I see.
It actual for the \Illuminate\Routing\RouteRegistrar.
But I mean \Illuminate\Routing\Router. It allows only array.
Ok, closed.


GDNative C++ library.so: "Attempt to connect nonexistent signal"

Godot version
v3.5.1.stable.arch_linux
System information
Linux Arch (amd64)
Issue description
E 0:00:00.645   connect: In Object of type 'Control': Attempt to connect nonexistent signal 'Game.co' to method 'Control._on_connect'.
  <C++ Error>   Condition "!signal_is_valid" is true. Returned: ERR_INVALID_PARAMETER
  <C++ Source>  core/object.cpp:1468 @ connect()
  <Stack Trace> Login.gd:84 @ _ready()
                Root.gd:5 @ start()

Steps to reproduce
DynLib (*.so) works well, I can uncomment the rest of a code and it connects (by ASIO) to a server and talks to it. But signal doesn't work in any variant.
game.hpp // New empty class
class game: public godot::Node
{
    GODOT_CLASS(game, godot::Node)
    ...
    void game::_register_methods ()
    {
        godot::register_signal<game>("ok");
    }

    start()
    {
        emit_signal("ok");
    }
};

menu.gd
extends Control
....
func _on_lib():  // never runs
    print("ok")

func _start():
    connect("Game.",  self, "_on_lib") // lib.gdns exports it as "Game"
    Game.start()

func _ready():
    call_deferred("_start")

This prints that is the signal is there:
"{args:[], default_args:[], flags:1, id:0, name:ok, return:{class_name:, hint:0, hint_string:, name:, type:0, usage:7}}"

But this presents in Debugger too:
"connect: In Object of type 'Control': Attempt to connect nonexistent signal 'Game.ok' to method 'Control._on_lib'."

Minimal reproduction project
No response

connect("Game." why the signal has . in it's name? I would not declare signals with . in their names

This worked well, but why should it not in C++?

Does it work with some other naming scheme, eg. with a "-" or a "@" in the name?

If You are talking about the screenshot, can't check it anymore.
What is the proper way to name it in C++: connect("Game.ok",  self, "_on_lib") ?

Game.connect("ok", self, "_on_lib")

Game.connect("ok", self, "_on_lib")

At last! Thank You!


Possible crash to assign tableView properties before calling showTable

First of all, thank you for providing great dropdown API. I have noticed that the tableview being allocated and inserted every time showTable() being called. Inserting view could be potentially heavy lifting, how about allocate instance once in the setup() and use the UIView's hide property? Also, by fixing this, API callee can access tableview's properties (currently bug) such as background color, layer border width, etc before even it being displays.

I'm glad you like it!. I'll check it out your pull request and merge it after review it.


Official/Unofficial Docker Image

Are there are plans for releasing a docker image/dockerfile or anything simillar? Selfhosting the app would become much easier, the target audience is very small but it would definitely allow the project to grow and become more wide spread, easier reverse proxy setup, easier cloudflare tunneling. In case there aren't any I would gladly try my best to help release a pull request with a docker image or at least a docker file, another option is linuxserver.io

It's just a pwa. Throw the build output in an nginx container and you're done, but it'll be exactly the same as if you used the real site. What's the use case exactly?

Compared to a nginx container it's way easier for begginers to use a docker image thats an all in one, for updates you'd do them manually or use a script but with a docker image it's simpler, it could promote self hosting in a community that's full of smart people that would probably use this as a good first project and it could introduce them to another big community or another hobby. I self host a website like factoriolab because I have a very bad internet connection that's a hit or miss (I do realize it's an app I load once and forget but still) and getting a nice domain with a cert instead of a lan ip address feels better and I do realize an nginx container ticks all of those boxes but I'd still want to help out the begginers

I'm not convinced there's any value in this, though. Since there is no server component to this project, I don't know why you would self host using a container instead of just running the app locally in dev mode.


[2.5] Remove ansible copry from label (#1720)

Signed-off-by: Maggie Chen<EMAIL_ADDRESS>https://github.com/stolostron/backlog/issues/22881

/unhold


propagate the back the error parsing k256 ecrecover

k256 ecrecover currently is unwrapping and if the signature is invalid this will panic. because the error of recoverable::Signature::try_from is the same as k256::ecdsa::Error I decide to propagate back the error that then in handled in the ec_recover_run function.

Good catch and thank you for contributing!
Will merge after tests go green.


Ask for the file ti1.txt

I noticed that your code loads the ti1.txt file, I being a beginner I don't know the contents of this file format. I realize that perhaps the contents of the file are confidential, can you briefly explain what the ti11.txt file is saving in general?

Hi Mingyong,
Thanks for your interest.
I have uploaded the ti1 file to the repository, you can have a look at it.
Best,
Mahammad
On Wed, Dec 18, 2024 at 12:22 AM Mingyong Liao @.***>
wrote:

I noticed that your code loads the ti1. txt file, I being a beginner I
don't know the contents of this file format. I realize that perhaps the
contents of the file are confidential, can you briefly explain what the
ti11. txt file is saving in
I noticed that your code loads the ti1.txt file, I being a beginner I
don't know the contents of this file format. I realize that perhaps the
contents of the file are confidential, can you briefly explain what the
ti11.txt file is saving in general?
—
Reply to this email directly, view it on GitHub
https://urldefense.com/v3/__https://github.com/mahammadvaliyev/DCGAN-for-parametrization-and-image-generation/issues/2__;!!LIr3w8kk_Xxm!vQt4-Nt52NSGfoZBrbkDzycXgefeBSTXdUD_PgN7JLxBpWfAgNMLkoMCDxtddBVxjXnxqu_P3EUkP_GAlMR85VqG$,
or unsubscribe
https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AQM2K7RKRY3NOVCXATTX2CT2GEWDZAVCNFSM6AAAAABT2EHMNWVHI2DSMVQWIX3LMV43ASLTON2WKOZSG42DOMJSG4YTINI__;!!LIr3w8kk_Xxm!vQt4-Nt52NSGfoZBrbkDzycXgefeBSTXdUD_PgN7JLxBpWfAgNMLkoMCDxtddBVxjXnxqu_P3EUkP_GAlFwTGTl4$
.
You are receiving this because you are subscribed to this thread.Message
ID:
<mahammadvaliyev/DCGAN-for-parametrization-and-image-generation/issues/2@
github.com>

I am sincerely thank you for providing the data. If there is anything I can do to reciprocate or support your work in the future, please don’t hesitate to let me know

No problem. Thanks a lot for offering your help. I am good for now. Good
luck in your endeavours.
On Wed, Dec 18, 2024 at 9:21 PM Mingyong Liao @.***>
wrote:

I am sincerely thank you for providing the data. If there is anything I
can do to reciprocate or support your work in the future, please don’t
hesitate to let me know — Reply to this email directly, view it on GitHub,
or unsubscribe. You
I am sincerely thank you for providing the data. If there is anything I
can do to reciprocate or support your work in the future, please don’t
hesitate to let me know
—
Reply to this email directly, view it on GitHub
https://urldefense.com/v3/__https://github.com/mahammadvaliyev/DCGAN-for-parametrization-and-image-generation/issues/2*issuecomment-2552811816__;Iw!!LIr3w8kk_Xxm!qReQ5t8RUxd7iR2kKxGGg93_-gJGG4PrMiZF-DlaYoV3PB1M-JSTCJueU-GLe1jt-qE6HTCFUaVsti8tJSw8v32C$,
or unsubscribe
https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AQM2K7RFJ7RDYE5WMXHSYOT2GJJUHAVCNFSM6AAAAABT2EHMNWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNJSHAYTCOBRGY__;!!LIr3w8kk_Xxm!qReQ5t8RUxd7iR2kKxGGg93_-gJGG4PrMiZF-DlaYoV3PB1M-JSTCJueU-GLe1jt-qE6HTCFUaVsti8tJa7DfaRf$
.
You are receiving this because you commented.Message ID:
<mahammadvaliyev/DCGAN-for-parametrization-and-image-generation/issues/2/2552811816
@github.com>


Low Battery Alarm Visual / Audio Feedback Not Working

The logs show that a low battery alarm was active, but I didn't get any indication of low battery when using only visual / audio feedback.  (I don't have a telemetry module)
Here is a log with the battery warning:
https://logs.px4.io/plot_app?log=1161c3da-e394-40af-8425-edb0d2ad09d7
Here is the log after I flew the model with the same battery a second time without noticing that the battery was low:
https://logs.px4.io/plot_app?log=39612523-88fd-41b1-8b7e-0c96d29536c7
I can also provide a youtube video if necessary -- I don't really want to show my face to the public.

I beleive this has been addressed in 1.7.4 beta for a while now
https://github.com/PX4/Firmware/issues/8983
low battery alarm is audible on the pixracer (v4), should also be working on v2 baords


Update all dependencies

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 89.86%. Comparing base (fd58ed0) to head (f50dc0e).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #178      +/-   ##
==========================================
- Coverage   90.15%   89.86%   -0.29%
==========================================
  Files           9        9
  Lines         691      691
==========================================
- Hits          623      621       -2
- Misses         68       70       +2

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

🚨 Try these New Features:

Flaky Tests Detection - Detect and resolve failed and flaky tests


Quantity queries

https://github.com/pascalduez/postcss-quantity-queries @pascalduez, do you think this plugin is stable enough to be included?

Is there any specification for this? If not this is not relevant for cssnext.

Hm. Doesn't seem to be. I assumed there was.

From the readme;

This plugin is derived from the Sass Quantity Queries mixins by Daniel Guillan.

https://github.com/pascalduez/postcss-quantity-queries#postcss-quantity-queries
Suggest to close. 😄


Typo in message

“Too many failed login attemtps”
Should be "Too many failed login attempts”

These appear in migrations by the look of it.

Fixed in 1.5.2

The change hasn't been made in models.


Unsupported Accept header, try: application/json

I have latest postgrest and postgresql installed on ubuntu 14.04.  when I test it,  I am getting " Unsupported Accept header, try: application/json".  how do I fix it ?

Try including the request header
Accept: application/json

:smile:
If you're hitting the route with a web browser it is probably asking for HTML and PostgREST is saying it doesn't respond with HTML. It can do application/json or text/csv.
To customize request headers you'll need to use a rest client like Postman or curl.

Also you can join us in the chat room and I'll walk you through how to make requests with the right headers.

curl by default is sending Accept: */* and I would bet the browsers do the same. In that case, I would think postgrest should send json as the default format because the client is basically saying it will deal with whatever.

Actually, PostgREST isn't intended to be called directly from browser. It's API for programs, not humans :)
You can try following:

if you prefer terminal tests, add -H 'Accept:application/json' to curl call (writing some shell script that will simplify tests and allow you to skip all redundant curl options, as well as calling perl via pipeline – is obvious)
if you have Firefox, use Network tab provided in its dev tools. Open that tab, then make a call via inserting your URL calling your API to address bar, catch Unsupported Accept header and then you'll see the call in Network tab. All you need then is to edit Accept header using "Edit and Resend" button. It's located on the right, in "Headers" subtab:

if you don't feel comfortable with this, and have Chrome, use this extension with clear and pretty interface: https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en

Hope this helps.

BTW, I am +1 for returning json by default, with Accept: */* is provided

Ah you're right, I overlooked the */* at the end of the long accept header that chrome sends. Postgrest should definitely notice that and serve json.

why am I still getting this error message ?  I set the content type to application/json
{"readyState":4,"responseText":"Unsupported Accept header, try: application/json","status":415,"statusText":"Unsupported Media Type"}
I am using jquery.
        $("#btnSubmit").click(function () {

            var title = $("#tbxTitle").val()
            var description = $("#txtDescription").val()
            var rating = $("#rating").val()
            var created_date = new Date()

            var request = { "title": title, "description": description, "category": "iPhone", "rating": rating, "created_date": created_date }

            $.ajax({
                url: "http://localhost:3000/app",
                type: "POST",
                data: JSON.stringify(request),
                contentType: 'application/json; charset=utf-8',
                success: function (data) {
                    alert('Inserted Successfully');
                    alert(JSON.stringify(data))
                },
                error: function (msg) {
                    //alert("error:")
                    alert(JSON.stringify(msg));
                }
            });
        })

I'll fix the problem where it is disregarding */*, but until then I think you can add the necessary header with something like
            $.ajax({
                url: "http://localhost:3000/app",
                type: "POST",
                data: JSON.stringify(request),
                headers: {
                    Accept: "application/json; charset=utf-8"
                },
                success: function (data) {
                    alert('Inserted Successfully');
                    alert(JSON.stringify(data))
                },
                error: function (msg) {
                    //alert("error:")
                    alert(JSON.stringify(msg));
                }
            });

The fix is now released in <IP_ADDRESS>, and active on the demo server.

Thanks for the quick fix and release. I have tested it and it works like a charm.


xz

x<y>z currently fails to parse, because x<y> parses as a unary expression (type arguments), preventing the < from being recognized as a binary operator.  By contrast, x<y>z parses in TypeScript as x < y > z (not that that means anything in JavaScript, but it does in Civet).
I think we should add some kind of assertion after type arguments that allows for tight comparisons like this. I'm not sure exactly what the right assertion is though... maybe there's one in the TypeScript source?

Even simpler x<y is currently a parse error... 🙀


Replay Parsing Fails on latest HoTs Patch

@koliva8245
Throw exception at System.IndexOutOfRangeException: 'Index was outside the bounds of the array.'
https://github.com/barrett777/Heroes.ReplayParser/blob/7ce8b00c5d517231715737c9c8fa58861e124604/Heroes.ReplayParser/MPQFiles/ReplayInitData.cs#L251
Looks like it is passing 15 for userID.value into the replay.ClientListByUserID array which is null at index 15
2021-05-18 15.58.01 Warhead Junction.zip

I'll fix this soon

Fixed in version 1.2.14 (Should be on NuGet any minute)
I was only able to test a few Quick Match games.  Let me know if it doesn't work for any other game modes.

When I go to update/install the 1.2.14 update through nuget, it shows the 1.2.14 update, but it appears it is installing the 1.2.13 version.
Can you double check or am I crazy

I created a little console project using the NuGet version and I think it is updated
Try compiling and then check the properties of the 'Heroes.ReplayParser.dll' in your \bin folder

Alright, I did the same thing you did and created a dummy project.  Works without issue.
Problem is, it isn't working with my AWS Lambda function....not sure why yet, its just throwing the same exception, but working on older replays, as if it isnt updating....anyway, thanks for the work on this

I wasn't able to test parsing ranked modes so it may be an issue with ranked game modes


fix: compatible with Obsidian 1.2.0 version

This close: #163
It seem that Obisidian changed its property name.

At the moment, I cannot merge or review this PR because I don't have access to the insider build. I'll leave this one open for now.

Seems inheritance broken :

@Lisandra-dev I'll fix all the issues when obsidian 1.2.0 is officially released.

I will wait 👍

Seems inheritance broken :
More over, many icons jump, be disabled, returns to inheritance...

How to reproduce?

Ah ha, But I meet another inheritance problem:

Seems rules not working :

(I have a rule for all .md files)

Seems rules not working :
(I have a rule for all .md files)
For reference, there is the result of node and titleNode when rules are applied :

Fixed

Now, I have the bug with rules > custom set icons instead of the other.

Sure, Do it if you want.


Documentation is down

In the README, "Learn how to get started with sanjo:jasmine" links to https://velocity.readme.io/docs/getting-started-with-jasmine, but the documentation has been taken down.
It's all well and good to hand testing back to MDG, but do the docs really need to disappear in the meantime? I understand you've got a book to sell, but the link should be changed at least.

Yeah, I will update the documentation link. It has been forgotten..


Address #107, enable file and puppet sources for deployment and module

This PR allows you to use puppet:// and file:/ as source for deployment and module.
Address #107

@jairojunior could you please review and merge if happy with change, many thanks.

Very interesting. Thank you.


Chore: Consolidating logic to build bundledServiceController requests and making POST requests

This PR is just adding a little more DRYness to the handling of POST requests and certain URLs.
@mrooney @jaron-l let me know if you have any issues with this.

Nice, thanks!


Consuming Virtual Coms

Thanks for this library
Got it installed and it works fine up to the telnet part.
Can you reference any libraries or code for NodeJS or the browser itself to consume these virtual COM's
I found this one:
https://github.com/papnkukn/remote-serial-port-client
But this is specifically written for  NodeJS Virtual Com server
Thanks in advance
Theo Boomsma

Update:
Socat to a local dev folder
socat pty,link=/$HOME/dev/VCOM0,waitslave tcp:yourESPIP:YourESPPort/
OR
screen -s19200 telnet yourESPIP YourESPPort
...seem to work but i am looking for a HTML5/JS method of connecting directly so as to host a /client web page on the same ESP32 so to get direct access to the COM ports (after authentication)
Regards

Is it possible to run this on WebSockets optionally of raw TCP sockets? I've been trying to get that working to no avail... please advise


Batched training and silent

Add batch process functionality:

simple approach to looping the train function over a number of files
output audio field type updated to allow multiple file selection or single file (only a single input source can be used)
'modelname' added in some places to propagate the name of the final ".nam" file, so that multiple files can be dumped without overwriting each other.  Modelname is just the filename.

Add two new supporting options to GUI interface:

automatically save plots to png next to model
'silent' run mode which will not prompt the user to close the delay window or final plot before finishing

https://user-images.githubusercontent.com/44332958/226157827-418f7ca3-f68d-4e10-a1c4-82323f168c4b.mp4

Add batch process functionality:

simple approach to looping the train function over a number of files
output audio field type updated to allow multiple file selection or single file (only a single input source can be used)
'modelname' added in some places to propagate the name of the final ".nam" file, so that multiple files can be dumped without overwriting each other.  Modelname is just the filename.

Add two new supporting options to GUI interface:

automatically save plots to png next to model
'silent' run mode which will not prompt the user to close the delay window or final plot before finishing

This is super cool!

Add batch process functionality:

simple approach to looping the train function over a number of files
output audio field type updated to allow multiple file selection or single file (only a single input source can be used)
'modelname' added in some places to propagate the name of the final ".nam" file, so that multiple files can be dumped without overwriting each other.  Modelname is just the filename.

Add two new supporting options to GUI interface:

automatically save plots to png next to model
'silent' run mode which will not prompt the user to close the delay window or final plot before finishing

This is super cool!

Thanks :) this is @northern_fox btw

Add batch process functionality:

simple approach to looping the train function over a number of files
output audio field type updated to allow multiple file selection or single file (only a single input source can be used)
'modelname' added in some places to propagate the name of the final ".nam" file, so that multiple files can be dumped without overwriting each other.  Modelname is just the filename.

Add two new supporting options to GUI interface:

automatically save plots to png next to model
'silent' run mode which will not prompt the user to close the delay window or final plot before finishing

This is super cool!

Thanks :) this is @northern_fox btw

Yeah - I know! Great stuff!

Multiple files

Single file

I haven't tried this on macOS, btw


Could you please provide the resnet18(edited) imagenet-pretrain?

HI. I find that in your codes, the resnet backbone is not same as pytorch official version, that is, the conv1-7*7 is replaced with 3*3*3. So I could not load the resnet18 imagenet pretrain model(https://download.pytorch.org/models/resnet18-5c106cde.pth). Could you please provide your resnet18 imagenet-pretrain ckpt? Thx

For the new version, we just initialize the network with the  pretrain model(https://download.pytorch.org/models/resnet18-5c106cde.pth) (except the different layers.)
For the cvpr version, the resnet18 still has the conv1-77.

@Jankyee I also encountered this problem, can you tell me where to change it？


Set the default http traffic to a port different than port 80

Copy pasta backstory from https://github.com/SUSE/doc-cap/issues/351
Reported internally some time ago during a CaaSP upgrade, afterwards CAP stopped responding.

Since there's a bit of a race condition at play, it looks like Stratos came up first and grabbed port 80. The operator changed the NodePort of susecf-console-ui-ext to be on port 8080 instead of port 80 and everything worked again.

On the docs end we've been asked to document to not use port 80 by default when using load balancers with Stratos. This has been added and works as a short-term fix, but would be better in the long-term if changed on the Stratos end so users are not doing these additional steps.

Closing. Per RC
 http is disabled now by default with Stratos in the Helm chart and  won't grab port 80 any longer


Large files are slow to open

I tried to open a ~8 MB csv file using the 64-bit windows version, and just saw the loading notification.  After a minute I gave up.  Opening the file in other editors is nearly instantaneous.

This is because Comma Chameleon uses Handsontable under the hood. This loads the entire CSV into memory and converts it into an array of arrays. It would be good if we could stream the CSV and only load into memory the rows that were visible. I'll open a separate issue for this.

Thanks for your quick reply, but I discovered one quick change that dramatically shortens loading times: in the amendRows function in renderer/ragged-rows.js, caching the result of the getMaxColumns call so it is only executed once makes the loading time about a third of what it was on the files I tested.

Great stuff. I'll give that a go :+1: A lot of the raggedRows functionality hasn't been touched for a while, so could probably stand to be optimised

@necase I've just published a new version, which has your suggested change in, and is much quicker 👍


Added ability to pass chunksize in arg parse

Check video was actually downloaded
Add signal handling
Changed default chunk_size to be 1MB

Why you change chunk_size to be 1MB? Also, I think that when the user wants to stop downloading, it's necessary to delete the current not-fully-downloaded file

@luminousmen increasing the chunk_size allows for more data to be read/write at once, instead of many read/write(s) @ 8kb.
Removing the file automatically would be pointless if the user stops the download. Doing the automatic delete would remove the ability to have auto resume downloading the file at the last byte received. Do you agree?

@voidpirate If you aren't very concerned about keeping memory usage down, go ahead and specify a large chunk size, such as 1 Mb. I think it's a good idea to increase chunk_size, but 1Mb is too much. And I'll keep chunk size option for any who want to increase it =)

@voidpirate I agree with you. The project was created for downloading a lot of small video files, it was my specific problem). So deleting one not-downloaded file means just keeping download folder clean. Thanks for your attention!