Index out of bounds when performing removePage action

pdf-lib 1.0.0
Uncaught (in promise) Error: Index out of bounds: 1/1
    at PDFPageTree.removeLeafNode (PDFPageTree.js:95)
    at PDFCatalog.removeLeafNode (PDFCatalog.js:33)
    at PDFDocument.removePage (PDFDocument.js:244)
    at PagesDisplayer.handleDownload (pages_displayer.tsx:71)
    at HTMLUnknownElement.callCallback (react-dom.development.js:147)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:196)
    at invokeGuardedCallback (react-dom.development.js:250)
    at invokeGuardedCallbackAndCatchFirstError (react-dom.development.js:265)
    at executeDispatch (react-dom.development.js:571)
    at executeDispatchesInOrder (react-dom.development.js:596)
    at executeDispatchesAndRelease (react-dom.development.js:695)
    at executeDispatchesAndReleaseTopLevel (react-dom.development.js:704)
    at forEachAccumulated (react-dom.development.js:676)
    at runEventsInBatch (react-dom.development.js:844)
    at runExtractedEventsInBatch (react-dom.development.js:852)
    at handleTopLevel (react-dom.development.js:5029)
    at batchedUpdates$1 (react-dom.development.js:21463)
    at batchedUpdates (react-dom.development.js:2247)
    at dispatchEvent (react-dom.development.js:5109)
    at react-dom.development.js:21520
    at Object.unstable_runWithPriority (scheduler.development.js:255)
    at interactiveUpdates$1 (react-dom.development.js:21519)
    at interactiveUpdates (react-dom.development.js:2268)
    at dispatchInteractiveEvent (react-dom.development.js:5085)

Hello @gonuit!
Based on the stacktrace you shared, it looks like you are trying to call pdfDoc.removePage(1) on a document with only a single page. In v1.0.0, you must use zero-based indexes. So you’ll have to call pdfDoc.removePage(0).
If this doesn’t work, then I’ll need to see some sample code that I can use to reproduce the issue.
I hope this helps. Let me know if you have any additional questions!

@gonuit Please see the discussion in https://github.com/Hopding/pdf-lib/issues/150#issuecomment-518006267. Also, if you update to v1.0.1, you should see a different (more understandable) error message.


Enhance the test suite on Travis-CI

To test the functionality more comprehensively, one could automatically test that SiQt is able to run example directories from PyQt4, PyQt5 and PySide with a different backend. The ratio of successfully run examples then would provide a measurement of the progress for the compatibility hooks.

Closing as not relevant anymore. QtPy should be used instead.


python311Packages.torchrl: disable flaky tests

Description of changes
This is a problem

I disabled the one that fail on hydra, and the one that failed locally for me

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

An other problem is that pytest took 8847.24s on my latest run

Result of nixpkgs-review pr 317953 run on aarch64-darwin 1

4 packages marked as broken and skipped:

python311Packages.torchrl
python311Packages.torchrl.dist
python312Packages.torchrl
python312Packages.torchrl.dist

Result of nixpkgs-review pr 317953 run on x86_64-darwin 1

4 packages marked as broken and skipped:

python311Packages.torchrl
python311Packages.torchrl.dist
python312Packages.torchrl
python312Packages.torchrl.dist

Result of nixpkgs-review pr 317953 run on aarch64-linux 1

4 packages marked as broken and skipped:

python311Packages.torchrl
python311Packages.torchrl.dist
python312Packages.torchrl
python312Packages.torchrl.dist

Result of nixpkgs-review pr 317953 run on x86_64-linux 1

2 packages marked as broken and skipped:

python312Packages.torchrl
python312Packages.torchrl.dist

2 packages built:

python311Packages.torchrl
python311Packages.torchrl.dist


Bastions Additions

Module: 01
Exercise 2, Task 2, Step 6
Description of issue
When creating Bastions, a name is needed under Instance details.  It is also advisable that a small note be added to ensure pop-ups are enabled in the browser.

The name of the Bastion is already specified in the instructions. We'll be adding a note regarding pop-ups...
rgds
Marcin

updated


deprecation warning when deployment target is ios8

/Pods/PINRemoteImage/Pod/Classes/PINRemoteImageManager.m:1245:19: 'threadPriority' is deprecated: first deprecated in iOS 8.0

There's a runtime check to make sure it only gets called on iOS 7 or below. Maybe we should wrap in a pragma warning suppressor.

Suppressing warnings is not a good way. I think a better solution would be wrapping in
#if  __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_8_0
//code
#endif

so this code will never gets included in ios8+ apps

@Sega-Zero Hmm, but what if you want to support iOS 7 & 8? It only compiles one way or the other, thus the need for a runtime check?

If deployment target is lower than _IPHONE_8_0, the code will be included and the deprecation warning will not be shown. That code will not throw an exception, for now it is just a warning, that threadPriority should no longer be set manually. There is a better way for this in ios8: the new qualityOfService property.

We were already using qualityOfService with a runtime check :) I've submitted a PR that addresses the warning.


DPL-273 Allow import of tubes from SS for PacBio pipelines (M)

User story
As a user I would like to be able to scan tubes into the Sequencescape reception pages, and import them into the Pacbio pipelines. Currently this page works for plates alone.
It is likely that we can combine this with: https://github.com/sanger/traction-ui/issues/706 to unify the reception process.
Who are the primary contacts for this story
e.g. John S (don't include surnames in public repos)
Acceptance criteria
To be considered successful the solution must allow:

[x] Receptions should be distinguished by sources (Sequencescape, Samples Extraction) Not labware type.
[x] The import button should say 'Import X Labware' not plates.
[x] Both tube barcodes and plate barcodes can be scanned in to the barcode box
[ ] src/services/traction/Pacbio.createPlates should be renamed (importLabwareFromSequencescape?)
[x] It should pull back all plates and tubes from sequencescape, I think this will be a case of updating /Users/jg16/projects/sanger/traction-ui/src/views/pacbio/PacbioReceptionPlate.vue#sequencescapeRequest to use the labware endpoit ininstead.
[ ] It should register the corresponding plates/tubes in traction

Background:

Sequencescape provides a 'Labware' endpoint, which can find both plates and tubes
'Receptacles' is provided on both plates and tubes, and can be used in place of wells when pulling back included information.

Dependencies
This story is blocked by the following dependencies:

#<issue_no.>
sanger/#<issue_no.>

References
This story has a non-blocking relationship with:

#<issue_no.>
sanger/#<issue_no.>

Additional context
Add any other context or screenshots about the feature request here.

Also see:
https://github.com/sanger/sequencescape/pull/3545
https://github.com/sanger/traction-service/pull/727


How to delete data by configuring serilog?

Hello, may I ask how to clear historical data from 30 days ago? I always execute SQL to delete data. Is there a way to delete data by configuring serilog?

Take a look at #221 and #519.

We even had a PR once where someone put significant effort into adding this as a feature to our MSSQL sink. During the PR review and discussing the feature we had more and more doubts if adding such a feature could cause more questions and problems in practice as it would help so we decided. In the end we decided against adding it and our recommendation is to use tools and features of SQL Server/Azure SQL to clean up old logs.


[Event]: San Giorgio Canavese Brick Expo 2022

Description
Save the date

Dates: Saturday, 2022-10-01 and Sunday, 2022-10-02
FB Group: https://www.facebook.com/SanGiorgioBrickExpo/
Home page: https://sangiorgiobrickexpo.wordpress.com/

Additional Information
No response

The event took place more than one year ago, closing issue


key-vault-use-from-web-application.md deleted without guidance/obsolete information

The following tutorial, key-vault-use-from-web-application.md was deleted.  This tutorial covered scenarios of accessing the Key Vault from on-premises, legacy applications (e.g. Asp.Net Web application not running in Azure).  Article in Github: https://github.com/MicrosoftDocs/azure-docs/blob/7b99c4cf3ca7dced4924669a0dc0bee56c379511/articles/key-vault/key-vault-use-from-web-application.md
This was really useful and I used this approach to add the capability to access the Key Vault from a legacy application.
Why was this tutorial removed?  Are the methods deprecated?  Should we no longer follow the approach?  Is there a security issue?  Etc.
It is difficult to create a longterm strategy if documentation just disappears -- it would be more helpful if documentation, when it is retired, an explanation is given as to why, etc.
(I had opened a ticket that the article didn't support Windows Server 2012 R2 as written, but the solution isn't just to delete it!!!!)

@jeanluc33 Thank you for the detailed feedback. We are actively investigating and will get back to you soon.

@jeanluc33 Sorry for your inconvenience. I have assigned this issue to content author to investigate and update you on the same.

@jeanluc33 The document was already going to be replaced and the new article was intended as its replacement. As you know the new article uses .Net core. so the example works across multiple Windows and Linux versions.

These are two completely different articles.
Old article: .net Framework 4.7.2 etc.
New article: .net Core
Old article: any web application (eg on premises)
New article: azure web app.
I guess it’ll be as it is but this is disappointing that the former documentation couldn’t be maintained.

On Mar 14, 2019, at 6:40 PM, Barclay Neira<EMAIL_ADDRESS>wrote:
@jeanluc33 The document was already going to be replaced and the new article was intended as its replacement. As you know the new article uses .Net core. so the example works across multiple Windows and Linux versions.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

#please-close


Consumer stops consuming messages and lag increases

Versions
Please specify real version numbers or git SHAs, not just "Latest" since that changes fairly regularly.

Sarama
Kafka
Go

1.34.1
3.3.1
1.16

Configuration
What configuration values are you using for Sarama and Kafka?
kafkaConfigs:
  brokers:
    - "localhost:9092"
  group.id: "GroupId"
  producerConfig:
    acks: "1"
    compression.type: "lz4"
    request.timeout.ms: 5000
    max.request.size: 2097152
  consumerConfig:
    auto.offset.reset: "latest"

Logs
When filing an issue please provide logs from Sarama and Kafka if at all
possible. You can set sarama.Logger to a log.Logger to capture Sarama debug
output.
logs: CLICK ME

Problem Description
Hi,
We are seeing this issue where the consumer stops consuming messages all of a sudden from a single partition and consumer lag increases and reaches up to 90K. We have faced this issue twice each one month apart in our production env. In order to resolve this issue, we had to restart the pod, and the messages were consumed successfully after that.
There is only one consumer in our consumergroup and it is expected to read from all the partitions of the topic.
Can we please get some help to identify what can cause the consumer to get stuck?

The same behavior was observed by our team as well in all the envs, the consumer stopped consumption after some time without any errors and lag increases, we've tried to modify some configs but unfortunately nothing helped. We use confluent for the Kafka managed service.

@AmiKotia / @VipulZopSmart if you're both on v1.34.1 or older then I'd strongly suggest upgrading to the latest version (v1.41.0) as there have been a few fixes to the consumer group code since then and we've also overhauled the kafka protocol in the most recently release to bring it up to a higher level of API compatibility
There's not much we can identify from the screenshot alone, apart from that lag is increasing. It would be helpful if you could capture kafka server/broker logs when the problem has occurred and ideally sarama debug logging too by setting sarama.Logger to a log.Logger

@dnwe
Do you think there is any 30-31 days kafka/sarama config that could have caused this issue for the consumer to get stuck?
The weird part is that it happened like a month apart from the previous restart and was wondering if we are missing out on any config here.

Nothing builtin to Sarama that would do that. If your Kafka cluster or topics have custom config then I guess it’s possible that you have log retention or offset retention that might have been set to 30 days and some cleanup operation was happening at that time that somehow triggered the consumer freezing. That should show up in your Kafka broker logs

Hey all. New to the Sarama community 👋
Just jumping on to this thread. As you might see, I have mentioned this issue on an issue I listed against Dapr. I am busy working on a system which processes relatively high volumes (in the region of 4000 events per second during peak hours of a day). We're running in Azure Kubernetes Service consuming from Confluent Cloud.
We are experiencing this same problem with our system. Obviously we're using Dapr consumers, which is using this library down below that. What we have in our situation is a Kafka topic in Confluent Cloud configured with 30 partitions. By default, we run 2 pods. However, our scaling configuration allows us to scale out to 30 pods when volumes increase. Right now this is done by HPA, but longer term will be KEDA.
However, what we actually have going is even when we are running the peak amount of 30 pods, we have yet to see the number of consumers match the number of pods actually running.
I've even go so far as to disable HPA and simply set replica counts to match the topic partition sizes. On smaller topics (10 or fewer partitions), we often see 10 pods in the consumer group. But for our topics where we see large volumes of data flowing, in particular when consumer lag is high, new pods are not placed into the consumer group. This despite the pod logs saying it entered the consumer group. From this point onward, the pod simply hangs around doing nothing at all while the pods who were originally placed into the consumer group keep going.
In a weird turn of events, today I toggled off message production into the topic, and restarted all 30 pods. Despite this, only 19 pods entered the consumer group and consumer lag sat at 103K messages with zero consumption. It has remained this way for hours and hours.
I am unsure what could be causing this issue. I have tried using StatefulSets and setting consumerID to that of the pod name in an effort to try make rebalancing the consumer groups a bit more efficient but this has had no impact. I've tried configuring the consumer retry in the hopes that it would force unresponsive consumers out of the group and new ones to replace it. That also did little to solve the problem.
At this point I am at a bit of a loss. Any advice would be appreciated at this point.

@AmiKotia I also encountered a similar problem. The reasons for the problem were mentioned in the comments of this question.https://github.com/IBM/sarama/issues/2682

We have the same problem.
Sarama version: v1.41.2
Kafka version: 3.4.1
The topic has 10 partitions, 3 consumers in the consumer group, so each consumer will be responsible for 3 or 4 partitions.
We observe different partitions getting stuck, sometimes for 15-30 minutes, sometimes for hours. Interestingly, the consumer the stuck partition is assigned to consumes other partitions without problem, and eventually the stuck partition will be consumed again without intervention. This happens once or twice every other day.

@dnwe ^^


introduce edge group api

closes #3636
blocked by #3628

CI is dead, cc @ssbkang for notification.
I'll build locally to validate.


ZEPPELIN-293 notebook execution results leaking to dashboard page

Original PR https://github.com/apache/incubator-zeppelin/pull/293
When we run a paragraph, and without it completing we navigate to dashboard page; upon execution the results are displayed on the dashboard.

Tested, I think its good to merge

Looks good to me.

Merging if there is no more discussions


Category example is a preorder/partial order

The example category, Max, is a preorder. The resulting category is skeletal; there is at most one arrow between any two objects. This is not bad, but most categories will be richer than this, and the example should say so.

We're going for just a taster of the concepts so I want to be careful of adding complexity for the sake of completeness or correctness. Still, is there a better example you can think of to imply the richness you're looking for?


Usage example with Next.js edge functions

Improve documentation
Describe the problem
There is no documentation on the use of auth helpers in Next.js edge functions to be used on Vercel or Cloudflare. The Edge Functions API is somewhat different, so it seems that createServerSupabaseClient from @supabase/auth-helpers-nextjs cannot be used directly.  I found an example using a third-party library. But it would be great if we could perform Supabase authentication in edge functions using the official library from Supabase.

@ilyabo you should be able to use the createMiddlewareSupabaseClient: https://supabase.com/docs/guides/auth/auth-helpers/nextjs#auth-with-nextjs-middleware
As middleware is always run on the edge: https://nextjs.org/docs/api-reference/edge-runtime
Which brings up a good point that we should likely rename createMiddlewareSupabaseClient to createEdgeSupabaseClient.
Thanks for flagging this!

@ilyabo you should be able to use the createMiddlewareSupabaseClient: https://supabase.com/docs/guides/auth/auth-helpers/nextjs#auth-with-nextjs-middleware
As middleware is always run on the edge: https://nextjs.org/docs/api-reference/edge-runtime
Which brings up a good point that we should likely rename createMiddlewareSupabaseClient to createEdgeSupabaseClient.
Thanks for flagging this!

Do I need to pass Authorization header with fetch API to use nextjs edge functions?
I found out that, calling nextjs edge function from server component with fetch API, middleware doesn't receives req.cookies.
Without cookies I can't create supabase client because it will always return session null.
Server component code in app directory:
const getUser = async () => {
    const res = await fetch('http://localhost:3000/api/user');

    if (!res?.ok) { return null; }

    return await res.json();
}

const Header = async () => {
    const user = await getUser();

    return(
        <div>
            {JSON.stringify(user)}
        </div>
    )
}

export default Header

This solution did not work for me. I am still receiving the same error
Code: EDGE_FUNCTION_INVOCATION_FAILED```

Is it possible to send a JSON via an edge API with createMiddlewareSupabaseClient?
In the code below, res is not setting a cookie unless being returned return res
Benefit would be sending session data upon login avoiding an additional getSession()
import { createMiddlewareSupabaseClient } from "@supabase/auth-helpers-nextjs";
import { NextRequest, NextResponse } from "next/server";

export const config = {
  runtime: "edge",
};

export default async function handler(req: NextRequest) {
  const res = NextResponse.next();
  const { email, password } = (await req.json()) as {
    email: string;
    password: string;
  };
  const supabase = createMiddlewareSupabaseClient({ req, res });
  const { data, error } = await supabase.auth.signInWithPassword({
    email: email,
    password: password,
  });

  if (data.session) {
   // return res // correctly sets cookie but unable to attach a JSON
    res; // not setting cookie but JSON returned
    return new Response(
      JSON.stringify({
        session: data.session,
      }),
      {
        status: 200,
        statusText: "Successfully logged in",
        headers: {
          "content-type": "application/json",
        },
      }
    );
  }
}

@ilyabo you should be able to use the createMiddlewareSupabaseClient: https://supabase.com/docs/guides/auth/auth-helpers/nextjs#auth-with-nextjs-middleware
As middleware is always run on the edge: https://nextjs.org/docs/api-reference/edge-runtime
Which brings up a good point that we should likely rename createMiddlewareSupabaseClient to createEdgeSupabaseClient.
Thanks for flagging this!

Ok, how do I get req and res in the server components? Those are required to call createMiddlewareSupabaseClient

Here's the workaround:
Suppose you have a route handler for a nodejs runtime like this:
// https://supabase.com/docs/guides/auth/auth-helpers/nextjs#route-handlers
import { createRouteHandlerClient } from '@supabase/auth-helpers-nextjs'
import { NextResponse } from 'next/server'
import { cookies } from 'next/headers'

import type { Database } from<EMAIL_ADDRESS>
export async function POST(request: Request) {
  const { title } = await request.json()
  const supabase = createRouteHandlerClient<Database>({ cookies })
  const { data } = await supabase.from('todos').insert({ title }).select()
  return NextResponse.json(data)
}

You can change the runtime to edge by adding export const runtime = "edge" to the file. But this changes the APIs available for execution. Notably, cookies() from Vercel's next/headers no longer works. So you have to swap that out with the RequestCookies object from @edge-runtime/cookies (also from Vercel). The new one is not a callable function, its an object so you have to wrap it in a callback for the createFOOClient functions. The edge version would look like this:
  import { createRouteHandlerClient } from '@supabase/auth-helpers-nextjs'
  import { NextResponse } from 'next/server'
+ import { RequestCookies } from "@edge-runtime/cookies";
- import { cookies } from 'next/headers'

  import type { Database } from<EMAIL_ADDRESS>
  export async function POST(request: Request) {
    const { title } = await request.json()
+   const cookies = new RequestCookies(request.headers) as any;
+   const supabase = createRouteHandlerClient<Database>({ cookies: () => cookies })
-   const supabase = createRouteHandlerClient<Database>({ cookies })
    const { data } = await supabase.from('todos').insert({ title }).select()
    return NextResponse.json(data)
  }

Here's the workaround:
Suppose you have a route handler for a nodejs runtime like this:
// https://supabase.com/docs/guides/auth/auth-helpers/nextjs#route-handlers
import { createRouteHandlerClient } from '@supabase/auth-helpers-nextjs'
import { NextResponse } from 'next/server'
import { cookies } from 'next/headers'

import type { Database } from<EMAIL_ADDRESS>
export async function POST(request: Request) {
  const { title } = await request.json()
  const supabase = createRouteHandlerClient<Database>({ cookies })
  const { data } = await supabase.from('todos').insert({ title }).select()
  return NextResponse.json(data)
}

You can change the runtime to edge by adding export const runtime = "edge" to the file. But this changes the APIs available for execution. Notably, cookies() from Vercel's next/headers no longer works. So you have to swap that out with the RequestCookies object from @edge-runtime/cookies (also from Vercel). The new one is not a callable function, its an object so you have to wrap it in a callback for the createFOOClient functions. The edge version would look like this:
  import { createRouteHandlerClient } from '@supabase/auth-helpers-nextjs'
  import { NextResponse } from 'next/server'
+ import { RequestCookies } from "@edge-runtime/cookies";
- import { cookies } from 'next/headers'

  import type { Database } from<EMAIL_ADDRESS>
  export async function POST(request: Request) {
    const { title } = await request.json()
+   const cookies = new RequestCookies(request.headers) as any;
+   const supabase = createRouteHandlerClient<Database>({ cookies: () => cookies })
-   const supabase = createRouteHandlerClient<Database>({ cookies })
    const { data } = await supabase.from('todos').insert({ title }).select()
    return NextResponse.json(data)
  }

So far the cleanest approach. Thank you.

I am seeing this error
TypeError: requestHeaders.get is not a function     at new RequestCookies (/node_modules/@edge-runtime/cookies/dist/index.js:102:35)
Any idea whats causing this?

Here's the workaround:
Suppose you have a route handler for a nodejs runtime like this:
// https://supabase.com/docs/guides/auth/auth-helpers/nextjs#route-handlers
import { createRouteHandlerClient } from '@supabase/auth-helpers-nextjs'
import { NextResponse } from 'next/server'
import { cookies } from 'next/headers'

import type { Database } from<EMAIL_ADDRESS>
export async function POST(request: Request) {
  const { title } = await request.json()
  const supabase = createRouteHandlerClient<Database>({ cookies })
  const { data } = await supabase.from('todos').insert({ title }).select()
  return NextResponse.json(data)
}

You can change the runtime to edge by adding export const runtime = "edge" to the file. But this changes the APIs available for execution. Notably, cookies() from Vercel's next/headers no longer works. So you have to swap that out with the RequestCookies object from @edge-runtime/cookies (also from Vercel). The new one is not a callable function, its an object so you have to wrap it in a callback for the createFOOClient functions. The edge version would look like this:
  import { createRouteHandlerClient } from '@supabase/auth-helpers-nextjs'
  import { NextResponse } from 'next/server'
+ import { RequestCookies } from "@edge-runtime/cookies";
- import { cookies } from 'next/headers'

  import type { Database } from<EMAIL_ADDRESS>
  export async function POST(request: Request) {
    const { title } = await request.json()
+   const cookies = new RequestCookies(request.headers) as any;
+   const supabase = createRouteHandlerClient<Database>({ cookies: () => cookies })
-   const supabase = createRouteHandlerClient<Database>({ cookies })
    const { data } = await supabase.from('todos').insert({ title }).select()
    return NextResponse.json(data)
  }

This should be added to the supabase documentation @kiwicopple

Not sure how I found this but thank goodness I did.

I think there is an issue with next/headers: https://github.com/vercel/next.js/issues/45371 . We're currently checking with the Vercel team.

But what about the OP – is it possible to run createServerSupabaseClient inside an edge function?
I don't see any way how the cookie from RequestCookies could be passed into it.

I have verified that it works. You don’t pass the cookie in, you create a new object and pass on an anonymous function that returns that object (see above).
I’d be happy to share more details if the @supabase team would like or if people are still getting stuck here.
On Aug 25, 2023 at 11:37 AM -0300, Alex Wilde @.***>, wrote:

But what about the OP – is it possible to run createServerSupabaseClient inside an edge function?
I don't see any way how the cookie from RequestCookies could be passed into it.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

The Next.js team has stated that they have fixed this issue in their latest canary version. https://github.com/vercel/next.js/issues/45371#issuecomment-1719071552. I'm leaving this issue open until I get around to testing it out or someone having this issue report it has been fixed upstream. Do note that this isn't an auth-helpers issue, it's a Next.js issue.

The Next.js team has stated that they have fixed this issue in their latest canary version. vercel/next.js#45371 (comment). I'm leaving this issue open until I get around to testing it out or someone having this issue report it has been fixed upstream. Do note that this isn't an auth-helpers issue, it's a Next.js issue.

There's still a couple of issues open around using cookes in next13 for those who use edge runtime when deployed or windows when developing locally:
https://github.com/vercel/next.js/issues/53331
https://github.com/vercel/next.js/issues/52176

The Next.js team has stated that they have fixed this issue in their latest canary version. vercel/next.js#45371 (comment). I'm leaving this issue open until I get around to testing it out or someone having this issue report it has been fixed upstream. Do note that this isn't an auth-helpers issue, it's a Next.js issue.

There's still a couple of issues open around using cookes in next13 for those who use edge runtime when deployed or windows when developing locally: vercel/next.js#53331 vercel/next.js#52176

Please read my comment carefully, this is not a auth-helpers issue. The issues you linked to are all old and none have tested the canary release which was mentioned in the issues I linked to only a few days ago. You should be testing this out with Next.js canary release and report back here if its not working.

@silentworks Hi, the problem with cookies still persists at<EMAIL_ADDRESS>

@NastykSwED thanks for reporting this. I'm going to keep this issue open until there is a solution that truly fixes this issue.


Simplify the overcomplicated parts of the stamp ecosystem

@FredyC brought few valid points here. Quoting:

To me personally it's super confusing to have a same name of a function with different behavior. I already said it with stampit, but having X different implementations of compose seems like a way to unmaintainable hell in my opinion. Call me lazy, but I think this is a bad decision.

Just think of a new user coming to stamps which are already mind blowing on its own. That user has to face decision what module to pick: stamp-specification, stampit or stamp-utils? Studying what are differences and what he might actually need. I believe that for such innovative approach, the entry should be as smooth as possible.

I think that eventually there should be just single most performant implementation of a compose and ideally any helper functions could be made as a separate module (I really like babel plugins way).

I fully agree with all statements. Having such a diversity of tools delays the stampit v3 release (I spread my time across too many activities, modules, and repositories). We unnecessarily overcomplicated the stamp ecosystem.
To improve the situation I propose to do the following steps (feel free to adjust my vision):

Create a new super-performant pure compose implementation module (I parked name stampx for us). It should contain no shortcut functions, statics, infections or else. It should prioritise performance over distribution size. And then:

Deprecate the stamp-specification NPM module for production use
Recommend the new module as the people's default compose implementation
Reuse the new module in stampit

Make stampit a multi-export module. It should:

export main stampit function as export default function stampit() {. It's the "infected compose" function.
export utility functions as ES6 exports - export function init() {

the utility functions should not add any statics or configuration, they should not infect either

export same utility functions as stampit/init files, like lodash (for people worrying about too large bundle sizes)
export the pure compose as ES6 and stampit/compose

temporary stop development of stamp-utils, but bring it back when stamps get more traction and the need in the module increases

Also, I'll try producing the Fun with stamps series covering all the things mentioned above.

Why not use stamp-utils as the home for the core utilities like compose() and init(), then have stampit consume those? Extras can go in stampx, which could stand for "stamp extras".
I have already discussed removing the export from the stamp specification. It never should have had an export to begin with.

There are few complications here.
Stampit adds multiple new static methods to each stamp it generates (like .props() or .methods(), etc). So, people would expect:
import {init} from 'stampit';
init(() => {}).props // MUST EXIST
init(() => {}).props({foo: 'bar'});

stamp-utils does not (and should not) do that.
import {init} from 'stamp-utils';
init(() => {}).props // must NOT exist

Moreover, it's better stampit to not depend on a module which can be re-implemented in 45 characters: const init = f => compose({initializers: [f]})
Also, @ericelliott please reread the quoted.

Just think of a new user coming to stamps which are already mind blowing on its own. That user has to face decision what module to pick: stamp-specification, stampit or stamp-utils? Studying what are differences and what he might actually need.

You are correct saying that stamp-specification better not be a module. Also, Daniel is correct saying that user's better not be faced with the choice: "stampit or stamp-utils?"

Daniel is correct saying that user's better not be faced with the choice: "stampit or stamp-utils?"

This part I disagree with. We have agreed since we decided to create the more functional micro-library functions that stampit is for people who want the convenience of the original chaining API.  I think that's easy to explain. And your suggestion would have the same problem anyway, except they'd be faced with "stampx or stampit?" instead.
I still feel quite strongly that putting the core utilities in stamp-utils and extras in stampx would be a lot less confusing. Consider also that I've already started using stamp-utils for core functions in blog posts and in my book, and if you change the location now, it creates a lot of work for me -- and as far as I can see, creates zero benefit. =)

The way I see it:

stamp-specification = specification only, NO EXPORTS
stamp-utils = core utilities only (compose, init, isStamp, etc...)
stampx = eXtra (but still commonly used) utilities.. stuff you might write about in your stamp articles
stampit = original stamp chaining API + chain-enhanced utils

I like would propose rather different approach. First we shall use scoped modules in NPM. Then we can have like @stamp/specification along with @stamp/compose package with universal and most performant implementation of a core idea which will be reused in all other packages. Those other packages can be then split by some common idea, eg @stamp/chain (currently stampit) or @stamp/check (isStamp, isComposable) and @stamp/classes (eg. convertConstructor) and finally also @stamp/react.
Let's avoid using names like utils. It's terrible generic name that doesn't say anything specific about its uses. It feels like dumpster full of things that could not fit anywhere else.
I think it's really important for people learning about stamps to know where to begin. Which package to grab to start using it. Don't burden them with a choice of various packages right from the beginning.
Also Fun with Stamps articles should be focused around compose only and stop referencing stamp-utils randomly. Instead there should could be article for these helper modules explaining what they bring on the table in comparison to core compose.

@FredyC - what you're suggesting would deprecate a lot of existing code in a lot of software not controlled by us. It would also invalidate a lot of existing documentation.
What are the benefits? What would we gain by doing that?  This isn't Lodash, or jQuery, or React. All of compose is less than 100 LOC. Many utilities (like init()) are literally one-liners.
You're suggesting that we create tens of thousands of hours of work for people so we can split some one-liners into their own modules?

EVERY TIME we make a breaking change to our libraries, we create LOTS OF WORK that real people must do (quite a bit for me, personally). The work is multiplied by every use of our libraries.
You really need to make a STRONG CASE for that work. Put another way programmers bill time at $50-$250/hour, and thousands of apps depend on stampit and other stamp APIs.
Imagine each necessary change takes 30 minutes and there are 3,000 changes required. Imagine the average hourly cost is $100/hour. ((30 * 3000)/60) * 100 = $150,000.
It's super easy to spend other people's money, but just imagine that you had to pay for the changes. Is it worth the cost?

Well if you want to relate it to money, then why do you actually create and maintain stamps? It has surely cost you some dollars too. I don't agree with recalculating it like that. Open source is not about money, it's a journey how to make things better, not about sticking to couple of bad decisions because of some strange fear of change.
Nobody is talking about deleting those packages and forcing people to rewrite. Those packages can be alive for quite some time, but for sake of new projects, maintainability and less painful entry, there could slowly emerge what I've suggested to have a solid foundations for something amazing.

I feel we're going to have a good outcome from this conversation. I agree to both of you to some extent.

@FredyC is right. We need a performant implementation of compose. Anywhere. Any new or existing module is fine to me. Maybe not today, but some day we would definitely need that.
@ericelliott is right too. stampit is a trademark already. We should maintain it as long as we can.

stampit = original stamp chaining API + chain-enhanced utils

However,

The idea to have all these @stamp/* modules/repos is great but requires a lot of effort. I welcome anyone to do it. (I've just parked and started paying for the npm private user ~stamp to make scoped modules a thing.)
At this point I don't see why we need that "stampx" at all. I made a mistake reserving that module. Let's forget about it existence please. :) Sorry about bringing it up.

I'd resume:

Eric would continue to work on stamp-utils.
I'd continue to work on stampit.
Someone might start creating micromodules at @stamp/.

EVERYBODY HAPPY! DANCE! :)

Completely agree @koresar, that's very good way to go for sure. Eventually it could even be like having those scoped modules together with stampit which would essentially have those scoped ones as dependencies to create a full package for head start. Then when people will understand what they need, they can create their own "bundle" of micro packages.

By the way, for those scoped modules, we certainly don't need multiple repos. I would go the way Babel makes it's plugins. They even extracted that functionality as a reusable module lerna. And here is some reasoning with cons/pros.

So the current plan is:

stamp-specification = specification only, NO EXPORTS
stamp-utils = core utilities only (compose, init, isStamp, etc...)
stampit = original stamp chaining API + chain-enhanced utils
@stamp/modules = misc.. microlibrary modules

Frankly, I don't really see the point of splitting compose() and init() into their own tiny microlibraries. As I mentioned before, compose() is less than 100 lines of actual code, and init() is literally a one-liner with a direct dependency on compose(), but if you guys insist that they be in their own microlibraries, I'm happy to aggregate those in stamp-utils.

I support the plan. It's good.
I have no strong feelings about that init being a micromodule. We'll see how it goes.
Now, let's try answering the question:

How we can ease newcomers' choice on which library to use? What should we recommend?

@ericelliott Point of spliting compose is to have a single most performant implementation that can be shared and reused. I said it many times, trying to keep multiple copies it maintenance hell.
Nobody said that init should be in a single package, that's definitely too much. Goal is to have only single init not like now same function with different functionality, that surely confuses people.

How we can ease newcomers' choice on which library to use? What should we recommend?

I would surely speak about stampit as a main module. It will be full featured with everything that is needed to start with it. It can reference specification for sure. Also stamp-specification could back reference stampit, but nobody is going to find spec first before module I suppose.
What we need the most is definitely documentation and meaningful examples. I believe those examples should be in some codepen so they can be executed and played with. We could also have one official codepen playground with updated stampit.
Possibly we should also create small static website. People tend to use modules that are presented nicely instead of just bunch of MD files.

@ericelliott We are going more likely with mono repo, so everything will be in a single repo just published to separate packages. One liners were already separated in stampit, so there isn't much of difference except that they can be reused, especially isStamp and isComposable instead of redefining those all over different packages.

Mono repo is fine.

The mono repo was created: https://github.com/stampit-org/stamp
All the unanswered questions, planning, and discussions should be moved there.
Feel free to reopen this issue if there are more to discuss.
Closing.


Add thicken as a shell method

Currently I don't believe it is possible to thicken a shell directly. I am not sure if it is possible but OCCT may support this operation.

This is exactly why I wanted a Mixin2D class - some of the Face methods work for Shell too:
Shell.thicken = Face.thicken

faces = Cylinder(1, 5).faces().sort_by(Axis.Z, reverse=True)[1:]
shell = Shell(faces)
solid = shell.thicken(1)


Float events map

Yarocvet is not one event, but complex of different events, so we need demonstrate them. I think up show them into float map, where "regions" are global themes like botanic and "towns" are events themselfs. These entities have some attributes, which affect to grafical properties. I will model all in way that map will be generate all as it can at some range, so with new generation map will be another beatiful. It's mean that map will be float
[G] - only graphical, [F] - first of all, [I] - information by text and graphical influence of property [*] - not important, but very fun

Region property
Values
Influence
Note

[I] Subject area
Some assigned colors
It's color, bro, u know what to do
[*] with :hover show value (what is sub. area)

[G] Region border
Automaticly (random)
Regions must stick together and have fancy border
Outer regions must end with edge of map window

[*] Difficulty level
Number, can be complex of star bar (to some parameters with descriprion)
Some "geographicals" objects to this region
To the future

[G] [I] Position and size
Automaticly
Towns are anchors for countries and dictate obligatory points; last must be adapative, spill into map like a honey

Regions are support object: they have not too much information, just bless us by it beatiful. But town conceal inside more information: that has been opened by double click or touch. They small and haven't a lot of graphical demonstrable properties.

Town property
Values
Influence
Note

[F] [I] Name
String up to X characters (short message)
Just string below dot

[*] How soon it? Diffirence between today and event date
Date
Positinal at laitude: center of map (like equator or tropical zone at geography) is the most actual, periphirial zones are the most unactual and zones between perifirial and center are more actual, than periphirial
These zones are square peices. Together make up all map. They don't highlighted spectial. This property influence to region.

[I] Type
Name to assigned shape

[F] [I] Form with further information
Some other information or link to own page
Summare some another inforamation at scheme

At the future I would realise another one object - road. It associate towns.

Road property
Values
Influence
Note

[*] Track
Path as string with separator like "-"
Automaticly draw not straight line
By double click or touch hightlighte towns and himself

I wanted use EMF to model that, but Yarocvet is web, so I want use ecore.js.

Events-map aimed to preview actualy and archieve events like view from high place.
I have good imagination how events-map must look like (at the issue and at my head), but there ar problems with realisation. EMF model was created and JSON files generated with .ecore and tests. I solved problems to get JSON file content to JS: CORS policy was mitigated by creating server with Simple Web Server.  Now Yarocvet need to parce and visuale data. To where technicaly?
I throught up some ideas:

~<canvas> tag~. Bad, becouse primivitely (low-level technology) for my purpose.
Libriries from data visualsing: d3js and Plot. Good, but long to realise events-~map~. At future - certanly yes. Maybe for section "cause-to-participate" too.
List of widgets. Simple alternative to events-map for first version and alt for plot realisation.

At previouse comment I thinked, list of widgets will be generated from resoucres. Now first (and maybe last solution) is just HTML blockes, which can be hided/showed with JS.
It can be last realisation of events chain. Maybe there not must need to use EMF? Data base can have work with big data massive. It's backend work. There are frontend side of site at this repository.

Look at this repository condition. Here are last EMF tries.


bugfix: fix type error when fastjson deserialize long type

Ⅰ. Describe what this PR did
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #2234 into develop will decrease coverage by 0.18%.
The diff coverage is 0%.

@@              Coverage Diff              @@
##             develop    #2234      +/-   ##
=============================================
- Coverage       53.8%   53.61%   -0.19%
+ Complexity      2622     2620       -2
=============================================
  Files            491      491
  Lines          15385    15370      -15
  Branches        1760     1723      -37
=============================================
- Hits            8278     8241      -37
+ Misses          6325     6322       -3
- Partials         782      807      +25

Impacted Files
Coverage Δ
Complexity Δ

.../java/io/seata/rm/datasource/DataCompareUtils.java
73.07% <0%> (-3.96%)
25 <0> (ø)

...obuf/convertor/BranchRegisterRequestConvertor.java
90.47% <0%> (-9.53%)
3% <0%> (ø)

...otobuf/convertor/BranchReportRequestConvertor.java
90.9% <0%> (-9.1%)
3% <0%> (ø)

...obuf/convertor/BranchRollbackRequestConvertor.java
92% <0%> (-8%)
3% <0%> (ø)

...otobuf/convertor/GlobalBeginResponseConvertor.java
92.59% <0%> (-7.41%)
3% <0%> (ø)

...otobuf/convertor/GlobalStatusRequestConvertor.java
93.75% <0%> (-6.25%)
3% <0%> (ø)

...otobuf/convertor/GlobalCommitRequestConvertor.java
93.75% <0%> (-6.25%)
3% <0%> (ø)

...obuf/convertor/GlobalRollbackRequestConvertor.java
93.75% <0%> (-6.25%)
3% <0%> (ø)

...protobuf/convertor/RegisterTMRequestConvertor.java
94.73% <0%> (-5.27%)
3% <0%> (ø)

...protobuf/convertor/RegisterRMRequestConvertor.java
90.47% <0%> (-4.77%)
3% <0%> (ø)

... and 22 more


WorkSpaceUnusuedForDefinedPeriod being erroneously set to true

Have noticed an issue where occasionally the WorkSpaceUnusuedForDefinedPeriod value is being set to TRUE even though the workspace either has been used in the defined period (60 in my case) or was created but not used yet.
Examples:
ADComPuterCreated      LastKnownUserConnectionTimestamp     WorkSpaceUnusuedForDefinedPeriod
11/21/2022 20:20             11/22/2022 17:56                                            TRUE
10/28/2022 12:14              1/1/0001 00:00:00                                          TRUE
We have a few hundred workspaces and only 32 are reporting an erroneous WorkSpaceUnusuedForDefinedPeriod value.

Region added via the other pull request


codestyle optimization

remove unused import
refactor read_config function
enable env_setting param in entry
remove flag in import_helper

Codecov Report

Merging #7 (df67f14) into main (b4a52b3) will decrease coverage by 0.20%.
The diff coverage is 90.42%.

@@            Coverage Diff             @@
##             main       #7      +/-   ##
==========================================
- Coverage   90.76%   90.56%   -0.21%
==========================================
  Files         327      327
  Lines       23420    23017     -403
==========================================
- Hits        21258    20845     -413
- Misses       2162     2172      +10

Flag
Coverage Δ

unittests
90.56% <90.42%> (-0.21%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

ding/envs/common/env_element.py
68.75% <ø> (-0.95%)
:arrow_down:

ding/reward_model/pwil_irl_model.py
93.81% <ø> (-0.13%)
:arrow_down:

ding/reward_model/red_irl_model.py
82.22% <ø> (-0.39%)
:arrow_down:

ding/reward_model/rnd_reward_model.py
90.00% <ø> (-0.48%)
:arrow_down:

ding/rl_utils/coma.py
100.00% <ø> (ø)

ding/rl_utils/exploration.py
95.23% <ø> (-0.08%)
:arrow_down:

ding/rl_utils/isw.py
100.00% <ø> (ø)

ding/torch_utils/metric.py
100.00% <ø> (ø)

ding/torch_utils/network/nn_module.py
96.79% <ø> (-0.02%)
:arrow_down:

ding/torch_utils/optimizer_helper.py
87.65% <ø> (-0.04%)
:arrow_down:

... and 200 more

Continue to review full report at Codecov.

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


Does the plugin support directive

for example
type User {
id: ID!
age: Int! @sort
}
directive @sort on FIELD_DEFINITION

Yes, it does.
What exatly is the point, here ?
Etienne


Merge default command and image in containersSpec

This commit makes use of the default and command and image values for ManagedOSImage updateContianerSpec if they are not defined despite having other updateContainerSpec values defined.

This PR is two ease forced upgrades as suggested in https://github.com/rancher/elemental/pull/699#issuecomment-1449537479


python: wtf-peewee: 3.0.1 -> 3.0.2

Motivation for this change
v3.0.1 had a test failing, ref https://discourse.nixos.org/t/problem-building-python3-8-wtf-peewee-3-0-1-drv/8618. v3.0.2 fixed that, ref https://github.com/coleifer/wtf-peewee/issues/54.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/problem-building-python3-8-wtf-peewee-3-0-1-drv/8618/4


MSI support in Azure Cloud Shell

Related: https://github.com/hashicorp/terraform-provider-azuread/issues/633
Hamilton's MSI authentication doesn't consider the URL formats needed to get an MSI Access Token when run inside the cloud shell.
https://docs.microsoft.com/en-us/azure/cloud-shell/msi-authorization
The URL format is http://localhost:50342/oauth2/token
In https://github.com/manicminer/hamilton/blob/main/auth/msi.go#L115 we see the format of the URL expects to contain "/metadata", which is part of the URL when MSI is used in a VM, for instance
'http://<IP_ADDRESS>/metadata/identity/oauth2/token"

--- PASS: TestAzureCliAuthorizer (1.23s)
=== RUN   TestMsiAuthorizer
--- PASS: TestMsiAuthorizer (0.01s)
=== RUN   TestParseClaims_azureCli
--- PASS: TestParseClaims_azureCli (1.15s)
=== RUN   TestParseClaims_clientCertificate

system@Azure:~/msitests/hamilton$
system@Azure:~/msitests/hamilton$ git diff
diff --git a/auth/msi.go b/auth/msi.go
index e87f18e..b2c64fd 100644
--- a/auth/msi.go
+++ b/auth/msi.go
@@ -112,10 +112,11 @@ func NewMsiConfig(ctx context.Context, resource, msiEndpoint, clientId string) (
        }

        // determine the generic metadata URL and check if we can reach it
-       e.Path = "/metadata"
+       e.Path = "/oauth2/token"
        e.RawQuery = url.Values{
                "api-version": []string{msiDefaultApiVersion},
                "format":      []string{"text"},
+               "resource": []string{"https://management.azure.com/"},
        }.Encode()

        _, err = azureMetadata(ctx, e.String())

@marcogsm Thanks for raising this, the next release of the SDK will remove a configuration check that was hindering managed identity authentication in Cloud Shell.


Not working with Svelte/kit beta

Hi David,
When using svelt/kit (beta) with Vite (2.1.2) getting error:
[vite] Error when evaluating SSR module<EMAIL_ADDRESS>SyntaxError: Unexpected token '.'
at new Function ()
at instantiateModule (/Users/nima/DeltaStream/node_modules/.pnpm/vite@2.1.2/node_modules/vite/dist/node/chunks/dep-efe32886.js:68893:9)
not sure if it's Vite or xState

Ah seems it's vite ssr issue, closing...

@psyCodelist were you able to work around this?

@bwaidelich , They opened a new issue with Vite. it doesn't work for server less adapter until they fix it.
but if you are using node as your adapter and do not care about server-less stuff, this code in svelte.config.cjs will get you going:
vite: {
ssr: {
external: Object.keys(pkg.dependencies || {})
}
}


CI: push coverage file for unit tests

Second attempt to update CI so that coverage info for unit tests is uploaded to Coveralls (and could be displayed for future PRs).
I looked at the setup for btcd:
https://github.com/btcsuite/btcd/blob/master/.github/workflows/go.yml
https://github.com/btcsuite/btcd/blob/b161cd6a199b4e35acec66afc5aad221f05fe1e3/Makefile#L109
I think we don't need to change directory into subfolders for unit tests since we don't have sub-packages in this repo?
Itest coverage may more involved so deferring that for a separate PR.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>7
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall first build on coveralls_unit_only at 0.0%

Totals

Change from base Build<PHONE_NUMBER>4:
0.0%

Covered Lines:
0

Relevant Lines:
0

💛  - Coveralls

Perhaps we should base it off what lnd does since it's more updated? Eg: I don't see where in this PR we start to run go test with the relevanta coverage args (-coverprofile).

Perhaps we should base it off what lnd does since it's more updated? Eg: I don't see where in this PR we start to run go test with the relevanta coverage args (-coverprofile).

We still use goacc here and in lnd:
https://github.com/lightninglabs/taproot-assets/blob/b3a0095eb01181a3bc957986c8b0568398cd399d/make/testing_flags.mk#L116
https://github.com/lightningnetwork/lnd/blob/8a5160e1de6568699d2244fc63162b05febf380c/make/testing_flags.mk#L147
So coverage has always been collected, just not uploaded/finished correctly.


Enable/Disable Exceptions

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

15 of 16 (93.75%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+4.1%) to 85.514%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/WMF/Reader/WMF/ReaderAbstract.php
3
4
75.0%

Totals

Change from base Build<PHONE_NUMBER>1:
4.1%

Covered Lines:
183

Relevant Lines:
214

💛  - Coveralls


FrontEnd: CLEAN code that we are not using (components)

Description
This PR to remove all paths which unwanted for project
Please provide a short summary explaining what this PR is about.
Fixes #293
How to test?
npm run dev
localhost:3000/sign-in should show 404Page
Please provide a short summary how your changes can be tested?
Checklist

[x] I have performed a self-review of my own code
[x] I have followed the name conventions for CSS Classnames and filenames, Components names and filenames, Style filenames, if you are in doubt check the the project README.MD and here https://github.com/HackYourFuture-CPH/curriculum/blob/master/review/review-checklist.md
[x] I have commented my code, particularly in hard-to-understand areas, if you code was simple enough mark the box anyway
[x] I have made corresponding changes to the documentation, if you code was simple enough mark the box anyway
[x] This PR is ready to be merged and not breaking any other functionality

Hey @simonreddy2001, I checked, everything working correctly but I think you can delete all Form folder from components folder. You deleted containers but component files are still in project. Can you remove them too?

Done

The deletions seem GOOD but I am wondering if these components are not being used anywhere else. Can you double check it?

These are not using anywhere ... Checked


Using cmake instead of makefile in flutter desktop example

I'm trying to replace the Makefile in Flutter's desktop example by a cmake generated Makefile. Here's my CMakeLists.txt:
cmake_minimum_required(VERSION 3.10)
project (flutter_desktop_example)
set(CMAKE_VERBOSE_MAKEFILE ON)
add_subdirectory(../../myRtspClient _myRtspClient)

set(BUILD debug)
set(FLUTTER_ROOT /home/dev/development/flutter)
set(PROJECT_DIR /home/dev/orwell/orwell_flutter)
set(FLUTTER_TARGET /home/dev/orwell/orwell_flutter/lib/main.dart)
set(TRACK_WIDGET_CREATION false)
set(FLUTTER_ENGINE ../engine/src)
set(LOCAL_ENGINE host_debug_unopt)

#SET (CMAKE_C_COMPILER             "/usr/bin/clang")
SET (CMAKE_C_FLAGS                "-std=c99 ")

#SET (CMAKE_CXX_COMPILER             "/usr/bin/clang++")
SET (CMAKE_CXX_FLAGS                "-std=c++14")
set (CMAKE_MODULE_LINKER_FLAGS      "-Wl,-rpath=\$$ORIGIN/lib")

find_package(OpenGL REQUIRED)
#-lGLEW -lGLU -lGL -lX11
#sudo apt-get install libglew-dev #will install everything below
find_library(GLEW_LIBRARY GLEW)
find_library(GLU_LIBRARY GLU)
find_library(GL_LIBRARY GL)
find_library(X11_LIBRARY X11)
find_library(ZLIB_LIBRARY z)
find_library(MLIB_LIBRARY m)
find_library(LIBDL_LIBRARY dl)
find_library(LIBDRM_LIBRARY drm)
find_library(LIB_SSL ssl)
find_library(LIB_CRYPTO crypto)

#These driver libraries are only available for x86 or x86_64, arm libs are not compiled with them
if (CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
find_library(LIB_VDPAU vdpau) #sudo apt install libvdpau-dev
find_library(LIB_VA va)
find_library(LIB_VA_DRM va-drm)
find_library(LIB_VA_X11 va-x11)
endif()

include_directories(../common/include ../../engine/src/flutter/third_party/glad/include
../../engine/src/third_party/glfw/include ../../engine/src/third_party/glfw/include
../../cpp/common ../../deps/ffmpeg/build/desktop/x86_64/include
../../deps/ZLMediaKit/src ../../deps/ZLMediaKit/3rdpart/ZLToolKit/src
../../myRtspClient/myRtspClient/include)
add_subdirectory(../../deps/ZLMediaKit _ZLMediaKit)

find_library(FLUTTER_LIBRARY flutter_linux_glfw PATHS ${CMAKE_CURRENT_SOURCE_DIR}/flutter/ephemeral)
add_library(LIBORWELL STATIC IMPORTED)

set(FFMPEG_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../deps/ffmpeg/build/desktop/x86_64_generic/lib)
add_library(AVDEVICE_LIB STATIC IMPORTED)
set_target_properties(AVDEVICE_LIB PROPERTIES IMPORTED_LOCATION ${FFMPEG_LIB_DIR}/libavdevice.a)
add_library(AVFILTER_LIB STATIC IMPORTED)
set_target_properties(AVFILTER_LIB PROPERTIES IMPORTED_LOCATION ${FFMPEG_LIB_DIR}/libavfilter.a)
add_library(AVFORMAT_LIB STATIC IMPORTED)
set_target_properties(AVFORMAT_LIB PROPERTIES IMPORTED_LOCATION ${FFMPEG_LIB_DIR}/libavformat.a)
add_library(AVUTIL_LIB STATIC IMPORTED)
set_target_properties(AVUTIL_LIB PROPERTIES IMPORTED_LOCATION ${FFMPEG_LIB_DIR}/libavutil.a)
add_library(AVCODEC_LIB STATIC IMPORTED)
set_target_properties(AVCODEC_LIB PROPERTIES IMPORTED_LOCATION ${FFMPEG_LIB_DIR}/libavcodec.a)
add_library(SWS_SCALE_LIB STATIC IMPORTED)
set_target_properties(SWS_SCALE_LIB PROPERTIES IMPORTED_LOCATION ${FFMPEG_LIB_DIR}/libswscale.a)
add_library(SWRESAMPLE_LIB STATIC IMPORTED)
set_target_properties(SWRESAMPLE_LIB PROPERTIES IMPORTED_LOCATION ${FFMPEG_LIB_DIR}/libswresample.a)
set(FFMPEG_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../deps/ffmpeg/build/desktop/x86_64_generic/include)

set_target_properties(LIBORWELL PROPERTIES IMPORTED_LOCATION ../../gtk/build/desktoplinux/liborwell.a)
set(RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../build/linux/debug")
SET(CMAKE_INSTALL_RPATH "$ORIGIN/lib")
include_directories(flutter/ephemeral flutter/ephemeral/cpp_client_wrapper_glfw flutter/ephemeral/cpp_client_wrapper_glfw/include)
file(GLOB SOURCES main.cc
flutter/generated_plugin_registrant.cc
"../common/src/*.cc"
flutter/ephemeral/cpp_client_wrapper_glfw/flutter_window_controller.cc
flutter/ephemeral/cpp_client_wrapper_glfw/plugin_registrar.cc
flutter/ephemeral/cpp_client_wrapper_glfw/engine_method_result.cc
flutter/ephemeral/cpp_client_wrapper_glfw/standard_codec.cc
../../engine/src/flutter/third_party/glad/src/gl.c)

add_custom_target(sync COMMAND FLUTTER_ROOT=${FLUTTER_ROOT} PROJECT_DIR=${PROJECT_DIR} FLUTTER_TARGET=${FLUTTER_TARGET}
TRACK_WIDGET_CREATION=${TRACK_WIDGET_CREATION} FLUTTER_ENGINE=${FLUTTER_ENGINE} LOCAL_ENGINE=${LOCAL_ENGINE}
${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh linux-x64 ${BUILD} COMMENT "sync running")
add_executable(flutter_desktop_example ${SOURCES})
add_dependencies(flutter_desktop_example sync myRtspClient-static zlmediakit zltoolkit)
set_target_properties(flutter_desktop_example
    PROPERTIES
    ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../build/linux/debug"
    LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../build/linux/debug"
    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../build/linux/debug"
    INSTALL_RPATH "\$ORIGIN/lib"
    BUILD_WITH_INSTALL_RPATH TRUE
)
#${LIB_VDPAU} ${LIB_VA} ${LIB_VA_DRM} ${LIB_VA_X11}
target_link_libraries(flutter_desktop_example PRIVATE LIBORWELL ${FLUTTER_LIBRARY} PRIVATE
AVCODEC_LIB AVUTIL_LIB SWS_SCALE_LIB SWRESAMPLE_LIB
${ZLIB_LIBRARY} ${LIBDL_LIBRARY} ${X11_LIBRARY}
myRtspClient-static pthread -lstdc++fs ${GL_LIBRARY} zlmediakit zltoolkit)

I generated a Makefile from it and then when I do flutter run, I get:
root@fc1b880841da:/home/dev/orwell/orwell_flutter# flutter --local-engine-src-path ../engine/src --local-engine=host_debug_unopt run
Launching lib/main.dart on Linux in debug mode...
Building Linux application...

Oops; flutter has exited unexpectedly.
Crash report written to /home/dev/orwell/orwell_flutter/flutter_02.log;
please let us know at https://github.com/flutter/flutter/issues.

Here's what the log says:
## command

flutter --local-engine-src-path ../engine/src --local-engine=host_debug_unopt run

## exception

ArgumentError: Invalid argument(s): Cannot find executable for build/linux/debug.

#0      _getExecutable (package:process/src/interface/local_process_manager.dart:127:5)
#1      LocalProcessManager.start (package:process/src/interface/local_process_manager.dart:43:30)
#2      LinuxDevice.startApp (package:flutter_tools/src/linux/linux_device.dart:89:50)
<asynchronous suspension>
#3      FlutterDevice.runHot (package:flutter_tools/src/resident_runner.dart:378:54)
<asynchronous suspension>
#4      HotRunner.run (package:flutter_tools/src/run_hot.dart:258:39)
<asynchronous suspension>
#5      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:481:37)
<asynchronous suspension>
#6      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:557:18)
<asynchronous suspension>
#7      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:457:33)
<asynchronous suspension>
#8      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:157:29)
<asynchronous suspension>
#9      _rootRun (dart:async/zone.dart:1124:13)
#10     _CustomZone.run (dart:async/zone.dart:1021:19)
#11     _runZoned (dart:async/zone.dart:1516:10)
#12     runZoned (dart:async/zone.dart:1463:12)
#13     AppContext.run (package:flutter_tools/src/base/context.dart:156:18)
<asynchronous suspension>
#14     FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:446:20)
#15     CommandRunner.runCommand (package:args/command_runner.dart:197:27)
<asynchronous suspension>
#16     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:416:21)
<asynchronous suspension>
#17     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:157:29)
<asynchronous suspension>
#18     _rootRun (dart:async/zone.dart:1124:13)
#19     _CustomZone.run (dart:async/zone.dart:1021:19)
#20     _runZoned (dart:async/zone.dart:1516:10)
#21     runZoned (dart:async/zone.dart:1463:12)
#22     AppContext.run (package:flutter_tools/src/base/context.dart:156:18)
<asynchronous suspension>
#23     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:367:19)
<asynchronous suspension>
#24     CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:112:25)
#25     new Future.sync (dart:async/future.dart:224:31)
#26     CommandRunner.run (package:args/command_runner.dart:112:14)
#27     FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:251:18)
#28     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:63:22)
<asynchronous suspension>
#29     _rootRun (dart:async/zone.dart:1124:13)
#30     _CustomZone.run (dart:async/zone.dart:1021:19)
#31     _runZoned (dart:async/zone.dart:1516:10)
#32     runZoned (dart:async/zone.dart:1500:12)
#33     run.<anonymous closure> (package:flutter_tools/runner.dart:61:18)
<asynchronous suspension>
#34     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:157:29)
<asynchronous suspension>
#35     _rootRun (dart:async/zone.dart:1124:13)
#36     _CustomZone.run (dart:async/zone.dart:1021:19)
#37     _runZoned (dart:async/zone.dart:1516:10)
#38     runZoned (dart:async/zone.dart:1463:12)
#39     AppContext.run (package:flutter_tools/src/base/context.dart:156:18)
<asynchronous suspension>
#40     runInContext (package:flutter_tools/src/context_runner.dart:63:24)
<asynchronous suspension>
#41     run (package:flutter_tools/runner.dart:50:10)
#42     main (package:flutter_tools/executable.dart:65:9)
<asynchronous suspension>
#43     main (file:///home/dev/development/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3)
#44     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:303:32)
#45     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)

## flutter doctor

[!] Flutter (Channel unknown, v1.10.13-pre.11, on Linux, locale en_US.utf8)
     Flutter version 1.10.13-pre.11 at /home/dev/development/flutter
     Framework revision 1196f91f71 (11 days ago), 2019-10-06 14:38:17 -0700
     Engine revision 7d90779bb6
     Dart version 2.6.0 (build 2.6.0-dev.5.0 d6c6d12ebf)
    ✗ Downloaded executables cannot execute on host.
      See https://github.com/flutter/flutter/issues/6207 for more information
      On Debian/Ubuntu/Mint: sudo apt-get install lib32stdc++6
      On Fedora: dnf install libstdc++.i686
      On Arch: pacman -S lib32-gcc-libs

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/setup/#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, set ANDROID_HOME to that location.
      You may also want to add it to your PATH environment variable.

[✓] Linux toolchain - develop for Linux desktop
     clang++ 6.0.0
     GNU Make 4.1

[!] Android Studio (not installed)
     Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/setup/#android-setup for detailed instructions).

[✓] Connected device (1 available)
     Linux  Linux  linux-x64  Linux

! Doctor found issues in 3 categories.

As you can see that in the CMakeLists I setted RUNTIME_OUTPUT_DIRECTORY to "${CMAKE_CURRENT_SOURCE_DIR}/../build/linux/debug" which is exactly the path that the  log complained: ArgumentError: Invalid argument(s): Cannot find executable for build/linux/debug.
The archive is indeed there

As you can see that in the CMakeLists I setted RUNTIME_OUTPUT_DIRECTORY to "${CMAKE_CURRENT_SOURCE_DIR}/../build/linux/debug" which is exactly the path that the log complained: ArgumentError: Invalid argument(s): Cannot find executable for build/linux/debug.

That is a directory, not an executable. The fact that it's trying to execute a directory rather than something in that directory means the path isn't correct. Looking at your code above I don't see
BINARY_NAME anywhere in your code above, which will break this code, so that makes sense.
Closing, since this isn't a Flutter bug. The only thing the Linux build currently supports is exactly the structure used in the FDE example; if you are doing something different that's not compatible, it's up to you to alter Flutter locally to match what you are doing. There are plans to eventually move to something more flexible, but the current code isn't intended to support arbitrary build systems.

Stepping back a bit: I would encourage you not to do this. As flutter.dev/desktop says, this change is all subject to change without warning; any time you update Flutter your code may break, and you'll need to reverse-engineer things again and rework your build.
It will be much easier for you to maintain if you use CMake for all the other libraries you are building, create a dylibr from that, and then add that dylib to the existing makefile so that you are using the stock makefile with minimal changes that can be easily re-applied to a fresh copy pulled from FDE any time you update Flutter.

help me configure cmake for flutter linux


Add validate for query param should be a valid string #4822

I want to merge this change because resolve #4822

Screenshots

Pull Request Checklist

[ ] Privileged views and APIs are guarded by proper permission checks.
[ ] All visible strings are translated with proper context.
[ ] All data-formatting is locale-aware (dates, numbers, and so on).
[ ] Database queries are optimized and the number of queries is constant.
[ ] Database migration files are up to date.
[x] The changes are tested.
[x] GraphQL schema and type definitions are up to date.
[x] Changes are mentioned in the changelog.

Here is the report for eb32ed2b47f69269785655081cf8cb5fe3b5449c (nix010/saleor @ feature/validate-query-param-string)
Base comparison is b92e705d631746c89756cb269b392f96dbd6ffe2.
No differences were found. (click me)

# api.benchmark checkout
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  add billing address to checkout            	         34	         34	             20
  add shipping to checkout                   	          7	          7	              0
  checkout payment charge                    	         14	         14	              0
  complete checkout                          	          6	          6	              0
  create checkout                            	         48	         48	             24

# api.benchmark homepage
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  retrieve main menu                         	          5	          5	              0
  retrieve product list                      	          4	          4	              0
  retrieve secondary menu                    	          5	          5	              0
  retrieve shop                              	          2	          2	              0

# api.benchmark product
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  product details                            	         15	         15	              3
  retrieve product attributes                	         13	         13	              2

# api.benchmark variant
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  retrieve variant list                      	         15	         15	              6

# api product sorting attributes
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  sort product not having attribute data     	         21	         21	              0

@nix010 could you also add entry about this change to the "Unreleased" section in the CHANGELOG.md file?

@maarcingebala yes. just added

Thanks for your PR and for taking part in Hacktoberfest!


Update FiltersSummary.md

Update according to https://microsofthealth.visualstudio.com/Health/_git/conversion-template-generation?path=%2Fdoc%2FCDA.md&version=GBpersonal%2Fboywu%2Fcda-document&anchor=new-filters&_a=preview

Since we have updated the title of the document, we may also need to update the link in README.md: https://github.com/microsoft/FHIR-Converter#reference-documentation.

Since we have updated the title of the document, we may also need to update the link in README.md: https://github.com/microsoft/FHIR-Converter#reference-documentation.

Yup! Updated in the README PR.

Hi @ginalee-dotcom, could you please update the document to main branch? The PR looks good and I try to merge the PR, but find out that it was based on dotliquid branch.

Closing and reopening a new PR.


ShortUUIDs don't work with models.device.get if they have no alpha characters.

models.device.get accepts Device ID, UUID, or ShortUUID.  However, if the ShortUUID only contains numerical values (e.g. 8051271 as in this example), then device will not be found.
This appears to be caused by this line.  The utility function isId() is mapped to lodash/isNumber, so isId() will incorrectly return true for ShoortUUIDs with no alpha characters.

@srlowe is using _.isNumber which returns false for strings.
This is probably a bug on the CLI side, where capitano is inferring & parsing numeric-only short uuids as numbers.
That's already handled in other actions using either the normalizeUuidProp util function, or by directly using the propname_raw variant (I did fix a few of them back then :smile:)
See: https://github.com/balena-io/balena-cli/search?q=normalizeUuidProp&unscoped_q=normalizeUuidProp


Doctrine Semantical error during normal request

Hey,
I was testing the API generator and everything works fine, but now I can not access my service with normal HTTP requests. I am using Doctrine as ORM.
Every request ends with
{
      "message": "[Semantical Error] The annotation \"@Dingo\Blueprint\Annotation\Resource\" in class xyz does not exist, or could not be auto-loaded.",
      "status_code": 500
}

Since I have seen this previously with JMS serializer, I tried to add
AnnotationRegistry::registerAutoloadNamespaces([
    'JMS\Serializer\Annotation' => base_path('vendor/jms/serializer/src'),
    'Dingo\Blueprint\Annotation' => base_path('vendor/dingo/blueprint/src'),
    'Dingo\Blueprint\Annotation\Method' => base_path('vendor/dingo/blueprint/src'),
]);

But that didn't work, so I have tried adapting the code in Blueprint::registerAnnotationLoader method, but after that all I got was "Class Resource does not exist" from dotrines DocParser.
Did someone manage to get this working somehow? Or am I just missing something plain and obvious?

So, as I always I managed to fix right after I ask about it...
Problem was I had to "narrow" down the namespaces and paths in laravel doctrine configuration file.


Why the TVM impelmentation is memroy efficient

Thanks for your excellent work!
Just want to discuss the memory reduction problem. It seems that the TVM implementation does not store fewer matrices (like Queries, Keys, and Values matrix). The num of Q-K pairs is less than the full attention so that we can get a faster calculation speed, but why the memory reduction has a similar trend with the time reduction? Seems the TVM kernel does not use any technique to save the memory, and the padding 0 values are also int32, but the fact is that TVM implementation is memory efficient...
Looking forward to your reply.

Hello, thanks for your interest in our work.
In fact, the number of Q-K pairs not only corresponds to the computational complexity, but also contributes to the memory consumption. The memory occupied by the attention scores matrix $S$ (S=Q@K, where @ is the matrix multiplication) grows quadratically with the sequence length $L$. Therefore, reducing the number of attention weights that need to be stored leads to reduced memory consumption. The TVM implementation stores a maximum of $A+C+1$ attention weights per query, thus reducing memory consumption.


Submission of substrate_client_java

Correction of typos and project name
Ready for submission
Project Abstract

Please provide a brief description of your project here summarising key points (1-2 paragraphs).
If your application is a follow-up to a previous grant, please mention which one in the first line of the abstract and include a link to previous pull requests if applicable.

For which grant level are you applying?

[ ] Level 1:  Up to $10,000, 2 approvals
[ ] Level 2:  Up to $50,000, 3 approvals
[ ] Level 3:  Unlimited, 5 approvals (for > $100k Web3 Foundation Council approval)

Application Checklist

[x] The application template has been copied, renamed ( project_name.md) and updated.
[] A BTC or Ethereum (DAI/USDT) address for the payment of the milestones is provided inside the application.
[X] I have read and acknowledged the terms and conditions.
[X] The software delivered for this grant will be released under an open-source license specified in the application.
[X] The initial PR contains only one commit (squash and force-push if needed).
[X] The grant will only be announced once the first milestone has been accepted.

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

Thank you for your application, @strategyobjectadmin! We will look into it as soon as possible.

Thanks for the tip @Noc2 we've added a clarification on this into the application form. Actually, we've researched the available solutions before writing one of our own. Up to now we've already implemented the client supporting features that are available in the libraries that you mentioned and are using it in our corporate landscape (available here). Our application is not about creating a new client from scratch, but is more about continuing further development. We believe that the architectural approach that we picked will lead to a fully functional, easy to use and maintain solution.

Thanks for the reply here. I have one additional comment: The license seems to be missing for all of your deliveries and in your repository. Is this on purpose? This is usually mandatory for all milestones, see our template:  https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md#milestone-1-example--implement-substrate-modules

No, that wasn't on purpose. The license is added now to both the repository and the application form.

Would be good to make it compatible with Android too.

@gautamdhameja indeed. We have this in mind since we are currently designing a mobile app that we'd like to let communicate with the substrate network directly. But firstly we'd like to concentrate on the main goal and leave it for later.

@strategyobjectadmin @gautamdhameja We have an ongoing grant to make PolkaJ Android compatible: https://github.com/emeraldpay/polkaj/pulls?q=is%3Apr+Android & https://github.com/w3f/Grants-Program/pull/301

Hey @strategyobjectadmin, what are your plans for milestone 3? It looks like there's been no activity on the project repository since the last delivery.

Hey @alxs Sorry, for the delay. The team was very busy with the other tasks. Will continue to work on the client asap.

Hi @keeganquigley. Sorry for the delay. We will make the amendment during next week.

Hi @strategyobjectadmin just a friendly reminder as I haven't seen an amendment filed yet. Thanks!

Hi @strategyobjectadmin are you still working on this grant?

Hi @strategyobjectadmin since we haven't heard from you after repeated attempts, we will go ahead and close the grant for now. Let us know if you wish to continue working on it.

Hello,
The Java Substrate library is actively in use in production. However, we
have been internally discussing adjustments to our roadmap, as our current
production engagements are taking considerable time.
Please allow us some additional time to redefine our roadmap, and we will
get back to you with a clear action plan.
Thank you for your understanding.
Best Regards,
Andrea
On Fri, Nov 8, 2024 at 1:53 AM 'Keegan | W3F' via
@.*** @.***> wrote:

Hi @strategyobjectadmin https://github.com/strategyobjectadmin since we
haven't heard from you after repeated attempts, we will go ahead and close
the grant for now. Let us know if you wish to continue working on it.
—
Reply to this email directly, view it on GitHub
https://github.com/w3f/Grants-Program/pull/726#issuecomment-2463302672,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWFTNV3XKVFBEF6PWZIZFRLZ7POMVAVCNFSM6AAAAABQRWBNHSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRTGMYDENRXGI
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thanks @strategyobjectadmin just replied by email.

Grant has been canceled per email thread.


Fix Delete Encrypted Etcd Cluster

Issue #, if available:
Description of changes:
Delete workflow uses mover to create a paused cluster on bootstrap with encrypted etcd configuration. Our webhook does not allow this, so we can skip this validation when paused to allow moving cluster to bootstrap.
Testing (if applicable):
Documentation added/planned (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm
/approve
/woof


Issue with 'ERROR: Could not resolve "path", "fs", "crypto"'

Hi @elaichenkov
Good day,
I have a problem with your plugin.
I use Cypress(10.2.0) + @badeball/cypress-cucumber-preprocessor >>  example with esbuild-cjs
When I try to install your plugin I get the following error (ERROR: Could not resolve "path", "fs", "crypto")
Screenshot
please fix it

You can check this PR
https://github.com/elaichenkov/cy-verify-downloads/pull/7
Please try my solution for your case
npm i https://github.com/MaximBelov/cy-verify-downloads.git#0.1.1 -D

Hello, I'm facing the same issue like this.
It still not solving my issue after installing
npm i https://github.com/MaximBelov/cy-verify-downloads.git#0.1.1 -D
This is the error that i've got after installing that :

@myoanita I realized, this plugin it's not nessesary. You can veryfy downloads with pure cypress. Here my code example:
const downloadsFolder = Cypress.config('downloadsFolder')
cy.get('#download-link').click()
cy.readFile(downloadsFolder + '/downloaded_file.xlsx')


Display error messages, prevent silent failures

Running on: 3d839498a1a694095c89e4798e7f1bb5c643e727
Steps to repro:

Go to /account/repos
Select a repo that belongs to another group (one that you aren't an admin for)
Click the "activate now" button

Expected results:

An error message pops up, telling me what's going on. Something like:

Oops, looks like you don't have permission to install Drone on this repository. You should talk to the owner of the repo about it.

Actual results:

Silently fails, logging some 403s in the console

Yep, parsing private variables was failing due to a lack of space after the colon but no indication was given.  It's been years since I've used YAML so was trying to figure out why my env vars weren't being set.
imho I think env vars are better off with just key value pairs like you get on a lot of other services then issues like this wouldn't really occur.

fixed in 0.4


Styles for dark mode

Corrected styles for

[x] math block.
[x] note
[x] admonitions
[x] margins
[x] overall background color
[x] code block

A screenshot for the math block:

fixes https://github.com/QuantEcon/quantecon-book-theme/issues/214
fixes https://github.com/QuantEcon/quantecon-book-theme/issues/216

@mmcky some netlify rules are throwing errors, but that's not becuase of this. So, I will go ahead and merge.


Stale Erlang nodes on workers

When I run a scenario on specific nodes (I allocate them by myself), sometimes due to some abnormal termination of the test I run into the following situation: worker nodes keep some Erlang code running and when a new test starts it can not provision workers because there is already something there. Usually such a new test times out when in the provisioning stage.
In order to start the test I need to ssh to each worker node and kill Erlang processes there.

I think it would useful if MZ Bench controller cleans up the worker nodes before provisioning them.

We are calling 'mzbench/bin/mzbench stop' before every provisioning actually. It's a bit odd it doesn't work in your case.
I have an idea about some kind of watchdog to run on the worker nodes: if worker node has been disconnected for the server for several minutes(or seconds) it stops itself.

I think I found one of the possible reasons when it happens. It happens when I accidentally run a new bench before stopping the previous one. In this case the new run will not work which is expected, but then, even after I stop the old run, the new one still doesn't work with the error:
11:50:06.745 [error] [ API ] [ EXEC ] Command execution failed in 31378.307 ms
Cmd: ssh -A -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no<EMAIL_ADDRESS>"source /etc/profile; ~/.local/share/mzbench/bin/wait_cluster_start.escript 30000 mzb_director47@ip-172-31-196-170 mzb_worker47@ip-172-31-196-90 mzb_worker47@ip-172-31-196-181 mzb_worker47@ip-172-31-196-248 mzb_worker47@ip-172-31-196-174 mzb_worker47@ip-172-31-196-219 mzb_worker47@ip-172-31-196-64 mzb_worker47@ip-172-31-196-233"
Exit code: 1
Output: Warning: Permanently added '<IP_ADDRESS>' (ECDSA) to the list of known hosts.
{1452,685776,108109} starting
{1452,685776,243878} hostnames are resolvable
{1452,685776,310531} hostnames are reachable
unexpected stop: timeout
{"init terminating in do_boot",timeout}

Crash dump was written to: erl_crash.dump
init terminating in do_boot (timeout)

11:50:06.746 [error] [ API ] Stage 'pipeline - provisioning': failed
Command returned 1:
 ssh -A -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no<EMAIL_ADDRESS>"source /etc/profile; ~/.local/share/mzbench/bin/wait_cluster_start.escript 30000 mzb_director47@ip-172-31-196-170 mzb_worker47@ip-172-31-196-90 mzb_worker47@ip-172-31-196-181 mzb_worker47@ip-172-31-196-248 mzb_worker47@ip-172-31-196-174 mzb_worker47@ip-172-31-196-219 mzb_worker47@ip-172-31-196-64 mzb_worker47@ip-172-31-196-233"
Command output: Warning: Permanently added '<IP_ADDRESS>' (ECDSA) to the list of known hosts.
{1452,685776,108109} starting
{1452,685776,243878} hostnames are resolvable
{1452,685776,310531} hostnames are reachable
unexpected stop: timeout
{"init terminating in do_boot",timeout}

Yep, that looks weird. I'm gonna push some changes to fix it in a day or two.


Replace crossterm ScrollUp with universal workaround

Replace scrolling via escape sequence with workaround that prints newlines to retain scrollback regardless of terminal implementation of scroll sequence. See nushell/9166 for discussion and related info.
This PR replaces using ScrollUp sequence "\[e<num>S" with printing desired amount of blank lines at the last line of terminal window. This workaround functions on all terminals that have scrollback buffer regardless of their ability to handle and implementation of ScrollUp sequence.

Also anybody interested can test this changes by compiling nushell against  this revision of reedline and running two following nushell scripts:

$env.PROMPT_COMMAND = {|| "\n>\n>" }; clear; for i in (term size | get rows | 1..$in) {print $i} It will clear screen. Fill it with numbers and then scroll two lines. Scroll your terminall up a bit, all lines should be there. Before fix it looked like this on my windows terminal:

after change all numbers are present:

$env.PROMPT_COMMAND = {|| ">" }; clear; for i in (term size | get rows | 1..($in - 5)) {print $i} and then press F1 or ctrl + R (or invoke any menu with your preferred shortcut) This will scroll terminal several lines up. Difference is that this time scroll is initiated when cursor is not at the bottom of window, but it still should work. Before fix i could not scroll up at all (notice absence of scroll bar on right) because nothing was moved into scrollback buffer by ScrollUp:

after change all numbers are available and I can scroll up:

Love it! Nice work @NotLebedev!

@NotLebedev I'm seeing missing lines in Windows Terminal but seemingly only when maximized.
❯ detect columns --help

produces this problem on the first example.
Examples:
  Splits string across multiple columns
  > 'a b c' | detect columns -n
  │ # │ column0 │ column1 │ column2 │
  ├───┼─────────┼─────────┼─────────┤
  │ 0 │ a       │ b       │ c       │
  ╰───┴─────────┴─────────┴─────────╯

The top of the table is cutoff and it's the very first line.

Then I scroll up and see it cut off

@NotLebedev I'm seeing missing lines in Windows Terminal but seemingly only when maximized.

Is master branch (or your branch) of nushell using this patch? It seems like at least master does not. Here in Cargo.lock https://github.com/nushell/nushell/blob/545697c0b20b58f13b8dfbbefa700e2dbd08d864/Cargo.lock#L4215 revision is cf841 and this change is one commit later on 4f31e

rebuilding on latest main to make sure. stay tuned.

I think you're right @NotLebedev. I got the latest main, checkout the detect columns pr, merged main, then did cargo update -p reedline and now my reedline is on 4f31e. I missed doing the cargo update last time so my mistake. It's working great now. Sorry for the false alarm!


Services Don't Seem To Work

With the latest rmw_coredx_cpp, we aren't seeing services working correctly.
If we run ros2 run demo_nodes_cpp add_two_ints_server and ros2 run demo_nodes_cpp add_two_ints_client, the client never finds the server.
When we run ros2 topic list, we see services as well as regular pub/sub topics. We've also seen that get_service_names_and_types is not implemented, which makes  ros2 service list fail. Normal ros2 behavior is that ros2 topic list would list pub/sub topics only, and ros2 service list lists services only.

Are you sure you're looking at the latest?  get_service_names_and_types() is implemented...

We were using as of 4-25. We'll check the latest.

Here is what we see on the latest: https://github.com/tocinc/rmw_coredx/blob/27adf9cb1d7e818b5dd0140cb3378c3d3087db54/rmw_coredx_cpp/src/rmw_get_service_names_and_types.cpp
It appears that it isn't implemented and always returns an error.

Sure enough...

We've been trying to implement it in our fork, but we're just running into issue after issue. Things are done differently in this rmw than they are in fastrtps, so it's hard to use fastrtps as a guide. So we're getting lost in the weeds. Any help would be greatly appreciated.

I'll take a look.

We've found one problem that was causing services to be created incorrectly. In summary, the partition strings were backwards in create_service. We can submit a pull request if you'd like, but it's a simple enough fix. Either way is fine, let us know.

I just committed an implementation of get_service_names_and_types().  The test:

ros2 run demo_nodes_cpp add_two_ints_server &
ros2 run demo_nodes_cpp add_two_ints_client

seems to work OK for me now.

Ok. The test for if get_service_names_and_types works is actually ros2 topic list and ros2 service list. The topic list should not list services. The service list should.
Sorry there were multiple issues in this one issue. We'll try your latest and see if it works. Thanks for the speedy responses.

Yep, I see that also.
But it seems that neither one of those (ros2 topic list or ros2 service list) calls any rmw_coredx methods.  I'm not sure how the data gets populated...

Just a note on my progress...
I've found that running ros2 topic list (for example) starts a daemon that services HTTP POST requests to obtain the requested information.  I'm now looking into the daemon to see what's going on...

You might look at this: https://github.com/ros2/ros2cli/blob/c35a841f7d3aacb6272b37772bbbf7744f28c937/ros2topic/ros2topic/verb/list.py
Also this: https://github.com/ros2/ros2cli/blob/c35a841f7d3aacb6272b37772bbbf7744f28c937/ros2service/ros2service/verb/list.py

OK, I just merged a change that fixes the behavior of get_service_names_and_types() as well as get_topic_names_and_types().   The ros2 topic list -t, ros2 service list -t, and ros2 run demo_nodes_cpp add_two_ints_service/client tests work for me now.  I think this will address the issue.  Check it out when you have a chance.
Thanks!

Gentle ping... have you been able to verify the latest?

It seems that it behaved differently on different computers. On one computer, it worked, on one it didn't. We still need to investigate.
Are you able to successfully run the ros1_bridge with it?
ros2 run ros1_bridge dynamic_bridge -- --bridge-all-topics

OK I've had some time to look at this. I now see ros2 topic list and ros2 service list look correct. However, we don't see the dynamic bridge working properly.
Here is my test:
Terminal 1 - source ros1 and run roscore
Terminal 2 - source ros2 (with this newest rmw_coredx) and run ros2 run demo_nodes_cpp talker
Terminal 3 - source ros1, then source ros2 (with this newest rmw_coredx) and run ros2 run ros1_bridge dynamic_bridge -- --bridge-all-2to1-topics
Terminal 4 - source ros1 and run rostopic echo /chatter
Terminal should be outputting what talker is sending.
The errors I'm seeing come from the dynamic bridge. It is repeatedly spitting out
invalid service type 'DescribeParameters', skipping...
invalid service type 'GetParameterTypes', skipping...
invalid service type 'GetParameters', skipping...
invalid service type 'ListParameters', skipping...
invalid service type 'SetParameters', skipping...
invalid service type 'DescribeParameters', skipping...
invalid service type 'GetParameterTypes', skipping...
invalid service type 'GetParameters', skipping...
invalid service type 'ListParameters', skipping...
invalid service type 'SetParameters', skipping...

which makes me think something is amiss with this new service stuff. All of this works with the previous rmw_coredx before these latest fixes for services.
Let me know if you need more info. We are using ros1 kinetic. Ubuntu 16.04 on intel x64 machine. Coredx version is 4.2.0

Gentle ping. Any progress on this?


Click to Dial

Add content script to find <a href="tel:..."> links and pre-populate in extension
A setting to enable or disable this feature and perhaps another to auto dial
Could go a step further and interpret anything that resembles a phone number but not linked...

Have implemented the start, the auto dial feature not yet...

Should consider using a MutationObserver
as currently only finds links in initial DOM, in the modern web SPAs and the likes manipulate the DOM


Support cargo-udeps

cargo-udeps is a tool to find unused dependencies.
It is useful to keep the binary size of the crate no larger than necessary.
To run cargo-udeps on a crate with many combinations of features, it is better to use GitHub Actions.
I want to use this action to easily use cargo-udeps, so I created this pull request.
This action falls back to cargo-binstall by default when trying to install an unknown package, but it did not work well in my environment.

On macOS, an installation by cargo-binstall failed.

macOS CI log (Job is successful because the error was ignored)

On Linux/Windows, cargo-udeps could not find when cargo directory is restored by a cache

Linux CI log
Windows CI log

I don't know why this occurred, but with this pull request, the installation succeeded and I was able to use cargo-udeps as expected.

Linux CI log with this PR
macOS CI log with this PR
Windows CI log with this PR

@gifnksm That's strange since we already use create_dir_all to ensure dirs exist before installing.

@gifnksm For ubuntu and win, what happened isna caching problem.
cargo-binstall writes metadata about crates installed to $CARGO_HOME/binstall/crates-v1.json and skip when asked to install again.

Published in 1.11.0.