Calling Model.predict in graph mode is not supported when the Model instance was constructed with eager mode enabled. Please construct your Model instance in graph mode or call Model.predict with eager mode enabled.

Click to expand!
Issue Type
Bug
Have you reproduced the bug with TF nightly?
Yes
Source
source
Tensorflow Version
2.6.0
Custom Code
Yes
OS Platform and Distribution
No response
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
We are using tensorflow version 2 where eager model is enabled by default.
while predicting from trained model we are getting this error.
Calling `Model.predict` in graph mode is not supported when the `Model` instance was constructed with eager mode enabled. Please construct your `Model` instance in graph mode or call `Model.predict` with eager mode enabled.

As a workaround, for time being we resolved this issue, by disabling eager mode, and load the model inside graph mode.
We would like to know, how can we resolve this issue without disabling the eager mode.
Standalone code to reproduce the issue
This is not an issue, which can be reproduced as its happening only for few requests.

Relevant log output
No response

@Arnold2381,
Could you please provide the complete code to reproduce the issue, which helps us to analyse the issue in an effective way. Also could you please try to load your model inside the graph and take a look at this comment from the developer for the similar error. Thank you!

with graph.as_default():
        #load weights into the model
        loaded_model.load_weights("model.h5")
        #compile and evaluate loaded model
        loaded_model.compile(loss='sparse_categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
        # perform the prediction
        out = loaded_model.predict(img)
        print(out)
        print(class_names[np.argmax(out)])
        # convert the response to a string
        response = class_names[np.argmax(out)]
        return str(response)

em = tf.keras.models.load_model(model_path)
model = {
    'key': em,
}
em = model['key']
dta = input_data['data']
df = np.array(dta).reshape(1, -1)

ed = em.predict(df).tolist()

@Arnold2381,
I was facing a different error while executing the mentioned code on tensorflow v2.12. Kindly find the gist of it here and provide complete dependencies. Thank you!

Closing this as stale. Please reopen if this is still a valid request. Thank you!


What is love?

@NameYT stop making dunplicated issues about pellet mode and extension for bots, I'm tired of it. Baby don't hurt me don't hurt me no more.

Well you already did the "Baby don't hurt me" so I have nothing to do now.

All I said was that you already put "baby don't hurt me" and that I did not know the rest of the lyrics.

LOL

Sorry his grammar wasn't clear, I didn't quite understand him. @Fantasy-Agario

Yeah its alright , just don't get triggered XD

@AlexandriteErikParacelsus

XD Yes sometimes my grammar clear isn't.

Like now ? XD @XtremePlayzCODE LOL

That was 100% intentional. Seriously.
P.S. I really wanna play a private server, wanna team or r u busy

Yeah ok, i'm busy atm , but I'll play :)
P.S This is what Im working on : https://github.com/FantasyArts/ConsoleChat

Ok

Come say when you have some time back here, I'll work on my own project

I have time now ,
if u like i can help , what's your project anyways ?

Xenirus.Runtime, a copy of the C# runtime

but don't worry, it's easy

I can teach you how to do what I am doing

Yeah ok , why not :)
Do u have discord or skype ?

disscord

but no mic

yh same here :)

lol

invite me to a chat

kk just w8 a sec :p

I messaged u :)

??

on what?

discord :)

o

XD

im on disstrackcord


feat: initialise a new totals tab with basic UI

Simple UI which shows the group level spending similar to splitwise
closes #93
Preview:

I don't have much to contribute here, but I thought I would suggest using "Stats" (or similar) instead of "Totals" as you could then expand it with other things, like spending charts etc raised in https://github.com/spliit-app/spliit/issues/82

Oh I agree. That would be much better. I was just making it closer to what splitwise has to offer but definitely could go with "Stats" and further add spending charts to it like you mentioned

I'm also wondering if this takes into account not having a default active user set? It looks like it's still going through all of the expenses when it could just exit the functions in case the active user is '' without doing any calculations.
But will all the boxes still render? imo Total you paid for and Your total share should not show if you do not have an active user set.

I'm also wondering if this takes into account not having a default active user set? It looks like it's still going through all of the expenses when it could just exit the functions in case the active user is '' without doing any calculations (this is an improvement I would suggest in either case).
But will all the boxes still render? imo Total you paid for and Your total share should not show if you do not have an active user set.

Agreed, will make the change


Add Ubuntu 22.04 LTS Testing

Is your feature request related to a problem? Please describe.
This is to track addition of the latest Ubuntu 22.04 LTS testing (with gcc 11.04).
Describe alternatives you've considered
Currently, some of our developers are working on 22.04 to perform manual testing and limit build impact.
Additional context
Ubuntu 22.04 specific failure was undetected by the gate: #2447 . Workaround in #2448.
Information Checklist
Please make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[X] Description Added
[X] Expected solution specified

We need to add 22.04 to the pipelines in C


texture demo issue

Hi,
thanks for the great project!
I have some trouble to get the texture demo working.
I get:
  File "demo_texture.py", line 101, in <module>
    texture_editing(prn, parser.parse_args())
  File "demo_texture.py", line 67, in texture_editing
    new_colors = prn.get_colors_from_texture(new_texture)
AttributeError: PRN instance has no attribute 'get_colors_from_texture'

I checked the code and it seems 'get_colors_from_texture' is indeed missing. Maybe you did not commit an updated api.py?

Yes, sorry for forgetting to update this file. I've just fixed.
Thanks for your reporting.

@YadiraF thanks! Got if working now.
While the speed of the core system is impressive, I have a question regarding the texture demo:
It seems that the render_texture() util function is very slow (~3-4 seconds) on my system. Do you have any suggestion/idea on how to improve this? I really do not know much about this but it seems that the nested for loops might slow things down and potentially could be vectorized?


I can build my app but it throws error during preview testing (pnpm run preview:worker)

Hello,
Thanks for your work on supporting Next.js with Cloudflare workers.
Here is some information about my application, I am using Next.js 14.2.3 but the API routes are handled by Hono.js and my authentication also happens on the server side.The application works fine while developing with next dev and next build.
I followed all the steps from here on an already existing app to see if cf workers could be an option for deployment but the preview testing(pnpm run preview:worker) fails when I try to redirect my application from an auth provider after authentication back into my dashboard. Here is the error that I get
✘ [ERROR] t [KindeSDKError]: Attempting to commit invalid access_token token <access_token_placeholder> to memory

      at new t
  (file:///Users/shashankreddyboosi/Documents/Projects/Darwin/.worker-next/.next/standalone/.next/server/app/api/[[...route]]/route.js:1:257792)
      at null.<anonymous>
  (file:///Users/shashankreddyboosi/Documents/Projects/Darwin/.worker-next/.next/standalone/.next/server/app/api/[[...route]]/route.js:1:259689)
      at null.<anonymous>
  (file:///Users/shashankreddyboosi/Documents/Projects/Darwin/.worker-next/.next/standalone/.next/server/app/api/[[...route]]/route.js:1:259174)
      at Object.throw
  (file:///Users/shashankreddyboosi/Documents/Projects/Darwin/.worker-next/.next/standalone/.next/server/app/api/[[...route]]/route.js:1:259278)
      at a
  (file:///Users/shashankreddyboosi/Documents/Projects/Darwin/.worker-next/.next/standalone/.next/server/app/api/[[...route]]/route.js:1:258049)
  {
    errorCode: 'INVALID_TOKEN_MEMORY_COMMIT'
  }

Here is the api routes(route.ts) entry point where hono.js is used instead of next.js
Path: app/api/[[...route]]/route.ts
import { Hono } from "hono";
import { handle } from "hono/vercel";
import { logger } from "hono/logger";
import { authRoute } from "./auth";

const app = new Hono().basePath("/api");

const routes = app
  .route("/", authRoute);

app.use("*", logger());

app.get("/hello", (c) => {
  return c.json({
    message: "Hello Next.js!",
  });
});

export const GET = handle(app);
export const POST = handle(app);

export type AppType = typeof routes; // Using this to take advantage of Hono RPC

I am using Kinde as my auth provider. Here is the Kinde config
Path: app/api/[[...route]]/kinde.ts
import {
  createKindeServerClient,
  GrantType,
  type ACClientOptions,
  type SessionManager,
  type UserType,
} from "@kinde-oss/kinde-typescript-sdk";
import { type Context } from "hono";
import { getCookie, setCookie, deleteCookie } from "hono/cookie";
import { createMiddleware } from "hono/factory";

export const kindeClient = createKindeServerClient(
  GrantType.AUTHORIZATION_CODE,
  {
    authDomain: process.env.KINDE_DOMAIN,
    clientId: process.env.KINDE_CLIENT_ID,
    clientSecret: process.env.KINDE_CLIENT_SECRET,
    redirectURL: process.env.KINDE_REDIRECT_URI,
    logoutRedirectURL: process.env.KINDE_LOGOUT_REDIRECT_URI,
  } as ACClientOptions
);

export const sessionManager = (c: Context): SessionManager => ({
  async getSessionItem(key: string) {
    const result = getCookie(c, key);
    return result;
  },
  async setSessionItem(key: string, value: unknown) {
    const cookieOptions = {
      secure: true,
      httpOnly: true,
      sameSite: "Lax",
    } as const;
    if (typeof value === "string") {
      setCookie(c, key, value, cookieOptions);
    } else {
      setCookie(c, key, JSON.stringify(value), cookieOptions);
    }
  },
  async removeSessionItem(key: string) {
    deleteCookie(c, key);
  },
  async destroySession() {
    ["id_token", "access_token", "user", "refresh_token"].forEach((key) => {
      deleteCookie(c, key);
    });
  },
});

and I have configured my logic on the authRoute
Path: app/api/[[...route]]/auth.ts
import { Hono } from "hono";
import { kindeClient, sessionManager } from "./kinde";

export const authRoute = new Hono()
  .get("/login", async (ctx) => {
    const manager = sessionManager(ctx);
    const loginUrl = await kindeClient.login(manager);
    return ctx.redirect(loginUrl.toString());
  })
  .get("/callback", async (ctx) => {
    // called every time we login or register
    const url = new URL(ctx.req.url);
    console.log("callback url", ctx.req.url);
    await kindeClient.handleRedirectToApp(sessionManager(ctx), url);
    return ctx.redirect("/dashboard");
  });

The error mainly occurs in the callback get endpoint and it throws 500 Internal Server error with the error mentioned on the top.

One weird thing that I noticed is that the callback url on the browser is different to when I printed it on the server in the endpoint. It shows as follows http://n/api/callback?code=<code_placeholder>&scope=openid%20profile%20email%20offline&state=ceee3598cfc87428e886232a574a. The localhost:8771 becomes n on the server log, I hope that helps.
This is my wrangler.toml:
main = ".worker-next/index.mjs"
name = "darwin-app"
compatibility_date = "2024-09-23"
compatibility_flags = ["nodejs_compat"]
assets = { directory = ".worker-next/assets", binding = "ASSETS" }

[[kv_namespaces]]
binding = "NEXT_CACHE_WORKERS_KV"
id = <id_placeholder>

As I said, this error happened when I started using cloudflare workers preview to see if it is viable for deploying the application. If you can help me find the root cause of this. That would be great as I was potentially considering Cloudflare for my app deployment.
Thanks :)

Any update on this @vicb? Any insight would be greatly appreciated. So that I can decide if this is the direction to go or not. Thanks :)

Hey @shashankboosi ,
As of today opennextjs-cloudflare is more a proof of concept than something you can really rely on for a prod app.
However the team is dedicated and hard at work to make the cloudflare adapter more reliable. We are working on improving the cloudflare adapter itself, the compatibility with Node.js, and the tooling. That's a lot of work but we will get there.
On the adapter side, @mhart was able to get PPR to work on workers. We also want to re-use the awesome work @conico974 , @khuezy, and others have put into opennextjs-aws. For example we plan to re-use their solution to run middleware & routing (I believe this will solve your issue).
Sharing code with other members of OpenNEXT will allow us to catch up with their level of support. It also means that a fix or a feature contributed to the common code will benefit all of us. That's the power of open source!
Integrating more deeply with OpenNEXT will also enable users to deploy part of their apps to different platforms. For example you will be able to deploy most of your app to cloudfare workers and a the few routes needing Node.js to AWS or any other serverless platform.
The future is exciting but we need a little bit of time ;)

Hey @vicb,
Thanks for getting back on this!
I am glad you guys are pushing hard on the adapter, and deeply integrating with OpenNext. I am looking forward to see all of this come to life as it will help a lot more developers to integrate with Cloudflare.
I would have happily contributed to this if I had more context on the exact problem and places to look at on the AWS side of OpenNEXT to integrate it on the Cloudflare side but I guess you guys might be more equipped for this :)
I am hoping to reach MVP for the project by the end of year, so fingers crossed on where I might deploy ;)

I would have happily contributed to this if I had more context on the exact problem and places to look at on the AWS side of OpenNEXT to integrate it on the Cloudflare side but I guess you guys might be more equipped for this :)

We would be delighted to get some contributors. We will share what we have as soon as possible (days) so that contributors can help us - we'll probably create "Help Wanted" issues for contributors to pick at that point.

Hey @vicb,
I had a bit of time today and I decided to investigate the codebase to understand and also try to see if a fix for the above issue can be found :)
I believe the reason for the error lies in the fact that, currently all the requests in the workers go through packages/cloudflare/src/cli/templates/worker.ts where the fetchHandler defined, takes care of all the requests but looks like the response is transformed to only cater for a few use cases and sets the content-encoding to identity for all requests(see the end of file).
The response doesn't handle cookies as there is a bit of a difference in the way cookies are handled on cf workers as seen here.
I checked my headers and the encodings are compressed. I checked the aws repo for it and they do something like that for their lambda env as seen at packages/open-next/src/wrappers/aws-lambda-streaming.ts but in Cloudflare's case we might have to use the CompressionStream provided by workers
I believe if the compression streams are implemented and handled within that fetch handler along with cookies. The issue that I am facing might be fixed.
Posting this so that it might help you guys as I believe there is still a bit of a knowledge gap for me to implement it myself given that I had zero idea about this work till last week. I hope this helps you guys or anyone working on the fetch handler.
Correct me if I am wrong on any of this hehe
Thanks :)


Error: You should have at least two distinct break values.

Hi. Thanks for this great tool.
I am trying to get through your last code from the cellphonedb tutorial and cannot figure out my problem.
I am comparing 2 cellphonedb-generated files with data successfully extracted as LR (s1a and s2a) and have successfully initiated the code using:
data <- generate_report(paths,
genes=genes1,
out_path='~/Desktop/',
threshold = 0,
out_file='All_DG.html' )
where genes1 = c("TGFB1", "TNF")
Here is what I get:
Reading Files
CTR
"s1a_filtered_corrected.csv"
EXP
"s2a_filtered_corrected.csv"
Create a Differential Table
Calculating CCI Ranking
EXP_x_CTR
Calculating GCI Ranking
EXP_x_CTR
Annotating the top Cell Genes
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:1 mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
'select()' returned 1:many mapping between keys and columns
Defining templates
Generating Report
Preparing Single Phenotype Report
Printing CCI CTR
Printing CCI EXP
Preparing Comparative Phenotype Report
Printing CCI EXP_x_CTR
Quitting from lines 133-145 (./Comparative_Condition_cgi.Rmd)
Quitting from lines 79-90 (./Comparative_Condition_cgi.Rmd)
Error: You should have at least two distinct break values.
In addition: Warning messages:
1: In eattrs[[name]][index] <- value :
number of items to replace is not a multiple of replacement length
2: In eattrs[[name]][index] <- value :
number of items to replace is not a multiple of replacement length
3: Removed 1290 rows containing missing values (geom_label_repel).
4: Removed 1291 rows containing missing values (geom_label_repel).
Error: You should have at least two distinct break values.
It looks to me like most of the code has run successfully. I have tried adding colors (2 colors or 7 colors), changing the number of genes to examine (3 genes, 2 genes, 1 gene). I would really appreciate your help with this.
Thanks!

I should add that my s1 and s2 csv files are organized as follows:
Ligand  Receptor  Ligand.Cluster  Receptor.Cluster  isReceptor_fst  isReceptor_scn  MeanLR
rather than:
Ligand  Ligand.Cluster  Receptor  Receptor.Cluster...
I don't know if this makes any difference. Thanks again.

Hi. I see that I have received the LR_report for what looks like all receptor:ligand pairs. I just don't see anything for the queried gene "TGFB1". I guess this is where the error is being thrown. Any help with this would be much appreciated.
Thanks again for this great tool.

Hi @dengay . Thank you for your feedback. Can you run the generate_report setting the report variable as FALSE. In this way, we can identify if the problem is in the analysis part or if it is on report part.  Also, you can try set variable genes as NA.

Hi. I updated python from 3.7.9 to 3.9.2, pandas to 1.3.2, reran the code to extract LRs and changed the csv output slightly to
s1_filtered.to_csv('s1_filtered_corrected.csv', index=False) (although I have not confirmed that this is really necessary) and reran CrossTalkeR code as specified in your cellphonedb-to-CrossTalkeR vignette. Now it works perfectly.
The analysis produced both comparative and single htmls as well as interactive rds files.
Thanks for your help and again for this great tool!


Update pylint version

Update the version of pylint that is used during PR tests to 2.7.x.
Fix any issues that may arise with the newer version of pylint.

@bnemanich
After upgrading pylint to 2.7.x, most of the pylint errors are invalid-name pointing to the Enum keys we have defined in env_config.py, test_feedstock.py or get_licenses.py. I think changing all those keys everywhere will also need us change the environment files. So, I think we should add this error to the exception list. My PR for #329 already adds it in exception list (disabled in .pylintrc) as it was complaining for invalid name of open-ce file.
Other errors can be addressed for which I'll create a PR after merging my PR for #329.


added dump-config command, prints out configuration in JSON format

this echoes a pull request on upstream, but I choose to bring this downstream

At this time I'm merging without waiting for code reviews. We will need to establish how code reviews are going to happen on orchestrator.


SeriousSamClassic-VK SDL2 surface not displaying correctly in full screen mode in Gnome 44

Hello . Gnome 44 users are experiencing an issue with games that use SDL2. https://gitlab.gnome.org/GNOME/mutter/-/issues/2678
This problem also applies to SeriousSamClassic-VK.
The problem was solved by this commit:
https://github.com/tx00100xt/SeriousSamClassic-VK/commit/f6a559f13eaccb9364e80ab6a5711fc4b4175156
I think you can change the building to this commit. (5725e81 -> f6a559f)
Have a nice day

Thanks for the heads up, I've updated the commit as requested: https://github.com/luxtorpeda-dev/packages/commit/b713d64880cf862a4fccb92a2755e57cc18c0abc
It'll be live as soon as the actions are complete.


using s3 buckets?

there are a few mentions of S3 bucket support in 2015.  Does it actually work, and if so, how do I configure so it will actually work?

HI @chichicuervo, the support for S3 buckets was contributed from someone outside of IIPC via #188 and #189, but as far as I know, there was no documentation provided for it. The code to support it is still in ResourceFactory. It indicates credentials would go into $HADOOP_CONF/core-site.xml. Other than that, I would try to configure it per the CDX instructions in the wiki and using a FlatFileResourceFileLocationDB (path-index.txt) as described there, that had the addresses of the WARCs in the S3 buckets.

yeah... the lack of documentation is kind of the problem.  Particularly since the hadoop stuff neither makes any sense to me (not a java dev) or does the link mentioned in previous issues point to anything but a 404

It looks like the Internet Archive has an archived copy of that page from around the time that shows key configuration.

for reference's sake... this didn't work.. attempting to go the CDX route


Accessibility: Put Status Line Information In a Footer Tag

Issue Type: Feature Request
Doing this will automatically create a landmark that screen readers can use to easily find status information.
VS Code version: Code - Insiders 1.46.0-insider (da98a19a5d6724367bd99c8ec3b8f55054be37d1, 2020-05-20T22:21:02.272Z)
OS version: Windows_NT x64 10.0.18362

Status line information is already captured by the role status. Thus your screen reader should read when you tell it to read status bar inforamtion. Though note there is an issue on the nvda side
https://github.com/nvaccess/nvda/issues/11064
Can you elaborate what you mean by the "Footer Tag"

Hi,

Status info goes here.

==========
Jim Homme
Skype: jim.homme
FreeChess: jhomme
Twitter: jimhomme https://twitter.com/jimhome
Facebook: jimhomme
Website: jimhomme.com https://www.jimhomme.com/
From: Isidor Nikolic<EMAIL_ADDRESS>Sent: Tuesday, May 26, 2020 6:51 AM
To: microsoft/vscode<EMAIL_ADDRESS>Cc: Jim Homme<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [microsoft/vscode] Accessibility: Put Status Line Information In a Footer Tag (#98376)
Status line information is already captured by the role status. Thus your screen reader should read when you tell it to read status bar inforamtion. Though note there is an issue on the nvda side
nvaccess/nvda#11064 https://github.com/nvaccess/nvda/issues/11064
Can you elaborate what you mean by the "Footer Tag"
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/microsoft/vscode/issues/98376#issuecomment-633952174 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABRUZJM3FVUFKDCMOA63SDTRTONJJANCNFSM4NHYKZAA .

Yes, but what would be gain by it.
@joanmarie does Orca handle footer tags in any special way?

Hi,
It would create a landmark. Screen readers have special functions for jumping among landmarks. Right now the only landmark is main. The screen reader user could go into Browse mode, press one or two keys, and they’d be at the top of the status information, and review it.
==========
Jim Homme
Skype: jim.homme
FreeChess: jhomme
Twitter: jimhomme https://twitter.com/jimhome
Facebook: jimhomme
Website: jimhomme.com https://www.jimhomme.com/
From: Isidor Nikolic<EMAIL_ADDRESS>Sent: Friday, May 29, 2020 3:07 AM
To: microsoft/vscode<EMAIL_ADDRESS>Cc: Jim Homme<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [microsoft/vscode] Accessibility: Put Status Line Information In a Footer Tag (#98376)
Yes, but what would be gain by it.
@joanmarie https://github.com/joanmarie  does Orca handle footer tags in any special way?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/microsoft/vscode/issues/98376#issuecomment-635801046 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABRUZJP2SBGGB75DP3CWU2TRT5NHVANCNFSM4NHYKZAA .

Assigning to June so we can experiment with this then.

Just tried changing our Status Bar Part to not be div but a footerand seems to work just fine.
Alternatives are: leave it as it is, or introduce two footers, one for left side and one for right side. Or to introduce a new elemetn between the part and the left and right which would be the footer containing them
@bpasero toughts if we change this?

My understanding is that footer is just a div so it is probably fine. However my understanding was always that you do not have to use the semantic HTML elements and can do everything through ARIA roles and div too.

Exactly. We already set the appropriate ARIA roles, but it seems there would be additional benefits as @jhomme mentions. Though let's wait for more community feedback.
And yeah footer is just a div

@jhomme based on your comment adding verfied label


[JAVA-2655] Spelling mistake : $fact in toString() method

Can you please give me more details about failed test
com.mongodb.client.CommandMonitoringTest
✗ [TEST FAILURE] shouldPassAllOutcomes[A successful delete many] (81 ms)

Because it's work on my machine and previous PR #426 was success with same changes.
Maybe try to restart build, or should i close this PR and create new ?

I'm not concerned about the test failure with regard to this change, as there's no way they can be related.


[BuildEngine] Fix potential deadlock during cancel

If a failure occurs updating the build DB during finished task
processing, we trigger synchronous cancellation of the build. This
currently triggers a deadlock, waiting for the task that failed to be
marked as finished. This change prevents that deadlock by decrementing
the outstanding task count prior to such cancellation.
rdar://problem/50203529

@swift-ci please smoke test

Probably could interpose a wrapper class around the BuildDB that would cause that specific path to fail.

To keep the great being the enemy of the good, going to merge this and follow up with the test later rdar://problem/53994643.


Deploy to Heroku Issue

I can't figure out how to deploy gulp-webserver to Heroku. Has anyone tried this? Here is my gulpfile:
	var gulp = require('gulp');
	var webserver = require('gulp-webserver');
	var mainBowerFiles = require('main-bower-files');
	var inject = require('gulp-inject');
	var del = require('del');

	var paths = {
		temp: '.tmp',
		tempVendor: '.tmp/vendor',
		tempIndex: '.tmp/views/index.html',

		index: 'app/views/index.html',
		appSrc: ['app/**/*', '!app/views/index.html'],
		bowerSrc: 'bower_components/**/*',
	};

	gulp.task('default', ['watch']);

	gulp.task('watch', ['serve'], function () {
		gulp.watch(paths.appSrc, ['scripts']);
		gulp.watch(paths.bowerSrc, ['vendors']);
		gulp.watch(paths.index, ['copyAll']);
	});

	gulp.task('serve', ['copyAll'], function () {
		return gulp.src(paths.temp)
			.pipe(webserver({
				host: '<IP_ADDRESS>',
				port: '8000',
				fallback: 'index.html',
				livereload: false,
				proxies: [{
					source: '/api',
					target: 'http://localhost:1337'
				}]
			}));
	});

	gulp.task('copyAll', function () {
		var tempVendors = gulp.src(mainBowerFiles()).pipe(gulp.dest(paths.tempVendor));

		var appFiles = gulp.src(paths.appSrc).pipe(gulp.dest(paths.temp));

		return gulp.src(paths.index)
			.pipe(gulp.dest(paths.temp))
			.pipe(inject(tempVendors, {
				relative: true,
				name: 'vendorInject'
			}))
			.pipe(inject(appFiles, {
				relative: true
			}))
			.pipe(gulp.dest(paths.temp));

	});

	gulp.task('vendors', function () {
		var tempVendors = gulp.src(mainBowerFiles()).pipe(gulp.dest(paths.tempVendor));

		return gulp.src(paths.tempIndex)
			.pipe(inject(tempVendors, {
				relative: true,
				name: 'vendorInject'
			}))
			.pipe(gulp.dest(paths.temp));
	});

	gulp.task('scripts', function () {

		var appFiles = gulp.src(paths.appSrc).pipe(gulp.dest(paths.temp));

		return gulp.src(paths.tempIndex)
			.pipe(inject(appFiles, {
				relative: true
			}))
			.pipe(gulp.dest(paths.temp));
	});

	gulp.task('clean', function () {
		del([paths.temp]);
	});

I was also trying this; my heroku logs tell me:
Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch

Gotta set the port parameter to process.env || 8000
Best,
Chris Newell

On Nov 17, 2015, at 5:44 AM, Anthony Hastings<EMAIL_ADDRESS>wrote:
I was also trying this; my heroku logs tell me:
Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
—
Reply to this email directly or view it on GitHub.

Hi Chris,
I tried that myself (as Heroku assigns to a specific port) but still no dice. I can clearly see in the logs that webserver is assigning itself to the port chosen but heroku seems to just time out.

Can you show me your gulp file
Best,
Chris Newell

On Nov 17, 2015, at 8:57 AM, Anthony Hastings<EMAIL_ADDRESS>wrote:
Hi Chris,
I tried that myself (as Heroku assigns to a specific port) but still no dice. I can clearly see in the logs that webserver is assigning itself to the port chosen but heroku seems to just time out.
—
Reply to this email directly or view it on GitHub.

In my package.json I have:
scripts: {
    'start': 'gulp server'
}

and my server task is as follows:
'use strict';

/**
 *  Hosts the `dist` folder on a specific port.
 *
 *  Example Usage:
 *  gulp server
 */
var gulp = require('gulp'),
    webserver = require('gulp-webserver');

gulp.task('server', function() {
    return gulp.src('./dist/').pipe(webserver({
        port: process.env.PORT || 5000,
        https: false,
        open: true
    }));
});

add host: '<IP_ADDRESS>' so it looks like this:
'use strict';
/**

Hosts the dist folder on a specific port.

Example Usage:
gulp server
*/
var gulp = require('gulp'),
webserver = require('gulp-webserver');

gulp.task('server', function() {
return gulp.src('./dist/').pipe(webserver({
host: '<IP_ADDRESS>',
port: process.env.PORT || 5000,
https: false,
open: true
}));
});
On Tue, Nov 17, 2015 at 9:47 AM, Anthony Hastings<EMAIL_ADDRESS>wrote:

In my package.json I have:
scripts: {
'start': 'gulp server'
}
and my server task is as follows:
'use strict';
/**

Hosts the dist folder on a specific port.

Example Usage:
gulp server
*/
var gulp = require('gulp'),
webserver = require('gulp-webserver');

gulp.task('server', function() {
return gulp.src('./dist/').pipe(webserver({
port: process.env.PORT || 5000,
https: false,
open: true
}));
});
—
Reply to this email directly or view it on GitHub
https://github.com/schickling/gulp-webserver/issues/94#issuecomment-157409784
.

That's done the trick; thank you! It was really trippy that the original author of the ticket was the one who gave me the solution though :D
Perhaps close this ticket now since you also seem to have sorted it for yourself?
Thanks again,
Anthony


Create codeql-analysis.yml

Description

Adding codeql scanning for 3.0.0 branch
Related Issue

Closes #138
Motivation and Context

Currently no static code analysis, adding codeql scanning will advise us on any potential problems
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation

Checklist:

[x] I have read the CONTRIBUTING document.
[x] I have checked to ensure there aren't other open PULL REQUESTS for the same update/change.
[x] My code follows the code style of this project.
[ ] I have updated the documentation accordingly where applicable.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[ ] Coverage is 100% for new code.

If I understand the error correctly, the issue is that the project file needs to be updated?
I think it would be okay to have that change as part of this PR.
If that is not the issue, then I am unsure how would be best to proceed

@M-Zuber All fixed now, the autobuild doesnt support .net 6 yet so had to manually setup dotnet 6 and build the project that way and if you have a look here https://github.com/scientistproject/Scientist.net/security/code-scanning we get a nice 'latest scan' section too

lets do this.gif


Publish 6.0.1

Is there a chance to have the latest changes published to NPM?

@iamcal did you have a chance to look at this?

Is this package dead?

i've just published 6.0.1


Wait on all jobs by omitting running-workflow-name not working for amplify check hook

Hi, i am having issues with waiting on an aws amplify deploy check to complete
name: CI
on:
  pull_request:
    branches: ["master"]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:
    jobs:
      test:
        name: CI Test
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
          - name: Wait for amplify preview to deploy
            uses<EMAIL_ADDRESS>            with:
              ref: ${{ github.ref }}
              repo-token: ${{ secrets.GITHUB_TOKEN }}
              wait-interval: 10
          - uses: actions/setup-node@v2
          ................

I  have omitted running-workflow-name: as to force this job to wait for all other jobs, as specifying the amplify job name wasn't working either.

Maybe the config is wrong??

For me it's not working either, even when I do include running-workflow-name

for reference, heres the result of the curl command to gh api
{
    "total_count": 2,
    "check_runs": [
      {
        "id":<PHONE_NUMBER>,
        "name": "AWS Amplify Console Web Preview",
        "node_id": "CR_kwDOHF8L2M8AAAAB5hDczQ",
        "head_sha": "e97ebb905a1642df07a9f58792e3465ef7bb6a91",
        "external_id": "arn:aws:amplify:eu-west-2:475154751441:omited",
        "url": "https://api.github.com/repos/omited/check-runs/8154832077",
        "html_url": "https://github.com/omited/runs/8154832077",
        "details_url": "https://console.aws.amazon.com/amplify/omited",
        "status": "in_progress",
        "conclusion": null,
        "started_at": "2022-09-02T11:10:18Z",
        "completed_at": null,
        "output": {
          "title": null,
          "summary": null,
          "text": null,
          "annotations_count": 0,
          "annotations_url": "https://api.github.com/repos/omited/check-runs/8154832077/annotations"
        },
        "check_suite": {
          "id":<PHONE_NUMBER>
        },
        "app": {
          "id": 43827,
          "slug": "aws-amplify-eu-west-2",
          "node_id": "MDM6QXBwNDM4Mjc=",
          "owner": {
            "login": "aws-amplify-console",
            "id": 45215622,
            "node_id": "MDQ6VXNlcjQ1MjE1NjIy",
            "avatar_url": "https://avatars.githubusercontent.com/u/45215622?v=4",
            "gravatar_id": "",
            "url": "https://api.github.com/users/aws-amplify-console",
            "html_url": "https://github.com/aws-amplify-console",
            "followers_url": "https://api.github.com/users/aws-amplify-console/followers",
            "following_url": "https://api.github.com/users/aws-amplify-console/following{/other_user}",
            "gists_url": "https://api.github.com/users/aws-amplify-console/gists{/gist_id}",
            "starred_url": "https://api.github.com/users/aws-amplify-console/starred{/owner}{/repo}",
            "subscriptions_url": "https://api.github.com/users/aws-amplify-console/subscriptions",
            "organizations_url": "https://api.github.com/users/aws-amplify-console/orgs",
            "repos_url": "https://api.github.com/users/aws-amplify-console/repos",
            "events_url": "https://api.github.com/users/aws-amplify-console/events{/privacy}",
            "received_events_url": "https://api.github.com/users/aws-amplify-console/received_events",
            "type": "User",
            "site_admin": false
          },
          "name": "AWS Amplify (eu-west-2)",
          "description": "Hosting for fullstack serverless web apps with continuous deployment",
          "external_url": "https://eu-west-2.console.aws.amazon.com/amplify/home?region=eu-west-2#/",
          "html_url": "https://github.com/apps/aws-amplify-eu-west-2",
          "created_at": "2019-10-16T19:05:27Z",
          "updated_at": "2022-03-29T18:24:04Z",
          "permissions": {
            "checks": "write",
            "contents": "read",
            "metadata": "read",
            "pull_requests": "write",
            "repository_hooks": "write",
            "single_file": "write"
          },
          "events": [
            "check_run",
            "check_suite",
            "pull_request",
            "push"
          ]
        },
        "pull_requests": [
          {
            "url": "https://api.github.com/repos/omited/pulls/92",
            "id":<PHONE_NUMBER>,
            "number": 92,
            "head": {
              "ref": "CICDtest",
              "sha": "258de5a0c766e32a5043a9acf7e83fc5a820b995",
              "repo": {
                "id": 475991000,
                "url": "https://api.github.com/repos/omited",
                "name": "erp-system"
              }
            },
            "base": {
              "ref": "master",
              "sha": "07a9deacc9643ec4f0deb79a771475fc407c37f0",
              "repo": {
                "id": 475991000,
                "url": "https://api.github.com/repos/omited",
                "name": "erp-system"
              }
            }
          }
        ]
      },
      {
        "id":<PHONE_NUMBER>,
        "name": "test",
        "node_id": "CR_kwDOHF8L2M8AAAAB5hDZqw",
        "head_sha": "e97ebb905a1642df07a9f58792e3465ef7bb6a91",
        "external_id": "5264e576-3c6f-51f6-f055-fab409685f20",
        "url": "https://api.github.com/repos/omited/check-runs/8154831275",
        "html_url": "https://github.com/omited/runs/8154831275?check_suite_focus=true",
        "details_url": "https://github.com/omited/runs/8154831275?check_suite_focus=true",
        "status": "completed",
        "conclusion": "failure",
        "started_at": "2022-09-02T11:10:23Z",
        "completed_at": "2022-09-02T11:15:04Z",
        "output": {
          "title": null,
          "summary": null,
          "text": null,
          "annotations_count": 1,
          "annotations_url": "https://api.github.com/repos/omited/check-runs/8154831275/annotations"
        },
        "check_suite": {
          "id":<PHONE_NUMBER>
        },
        "app": {
          "id": 15368,
          "slug": "github-actions",
          "node_id": "MDM6QXBwMTUzNjg=",
          "owner": {
            "login": "github",
            "id": 9919,
            "node_id": "MDEyOk9yZ2FuaXphdGlvbjk5MTk=",
            "avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4",
            "gravatar_id": "",
            "url": "https://api.github.com/users/github",
            "html_url": "https://github.com/github",
            "followers_url": "https://api.github.com/users/github/followers",
            "following_url": "https://api.github.com/users/github/following{/other_user}",
            "gists_url": "https://api.github.com/users/github/gists{/gist_id}",
            "starred_url": "https://api.github.com/users/github/starred{/owner}{/repo}",
            "subscriptions_url": "https://api.github.com/users/github/subscriptions",
            "organizations_url": "https://api.github.com/users/github/orgs",
            "repos_url": "https://api.github.com/users/github/repos",
            "events_url": "https://api.github.com/users/github/events{/privacy}",
            "received_events_url": "https://api.github.com/users/github/received_events",
            "type": "Organization",
            "site_admin": false
          },
          "name": "GitHub Actions",
          "description": "Automate your workflow from idea to production",
          "external_url": "https://help.github.com/en/actions",
          "html_url": "https://github.com/apps/github-actions",
          "created_at": "2018-07-30T09:30:17Z",
          "updated_at": "2019-12-10T19:04:12Z",
          "permissions": {
            "actions": "write",
            "administration": "read",
            "checks": "write",
            "contents": "write",
            "deployments": "write",
            "discussions": "write",
            "issues": "write",
            "merge_queues": "write",
            "metadata": "read",
            "packages": "write",
            "pages": "write",
            "pull_requests": "write",
            "repository_hooks": "write",
            "repository_projects": "write",
            "security_events": "write",
            "statuses": "write",
            "vulnerability_alerts": "read"
          },
          "events": [
            "branch_protection_rule",
            "check_run",
            "check_suite",
            "create",
            "delete",
            "deployment",
            "deployment_status",
            "discussion",
            "discussion_comment",
            "fork",
            "gollum",
            "issues",
            "issue_comment",
            "label",
            "merge_group",
            "milestone",
            "page_build",
            "project",
            "project_card",
            "project_column",
            "public",
            "pull_request",
            "pull_request_review",
            "pull_request_review_comment",
            "push",
            "registry_package",
            "release",
            "repository",
            "repository_dispatch",
            "status",
            "watch",
            "workflow_dispatch",
            "workflow_run"
          ]
        },
        "pull_requests": [
          {
            "url": "",
            "id":<PHONE_NUMBER>,
            "number": 92,
            "head": {
              "ref": "CICDtest",
              "sha": "258de5a0c766e32a5043a9acf7e83fc5a820b995",
              "repo": {
                "id": 475991000,
                "url": "",
                "name": "erp-system"
              }
            },
            "base": {
              "ref": "master",
              "sha": "07a9deacc9643ec4f0deb79a771475fc407c37f0",
              "repo": {
                "id": 475991000,
                "url": "",
                "name": "erp-system"
              }
            }
          }
        ]
      }
    ]
  }

I've tried to write such an action on my own.
https://github.com/ArcticLampyrid/action-wait-for-workflow
jobs:
  publish:
    if: startsWith(github.ref, 'refs/tags/v')
    runs-on: ubuntu-latest
    steps:
      - name: Wait for build workflow
        uses<EMAIL_ADDRESS>        with:
          workflow: build.yml
          sha: ${{ github.sha }}


Only first torrent active

I have just upgraded from version 0.15 to 0.16.  The previous version was working fine (apart from the odd crash), but the latest version only downloads from the first torrent in the list, even though my settings specify 5 active torrents.
Furthermore, if it can't download from the first torrent, it doesn't then try activating the next one, and so on.  All but the top torrent remain "Queued" until the top one is complete.

Sorry for the issues you’re having! I’ll have a look at both issues.
You might be able to force resume a torrent or move it up the queue to activate it in the meantime.

On 23 Oct 2019, at 17:40, keithlatheron<EMAIL_ADDRESS>wrote:

I have just upgraded from version 0.15 to 0.16. The previous version was working fine (apart from the odd crash), but the latest version only downloads from the first torrent in the list, even though my settings specify 5 active torrents.
Furthermore, if it can't download from the first torrent, it doesn't then try activating the next one, and so on. All but the top torrent remain "Queued" until the top one is complete.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Rigidbody 2D platformer example is broken in v3.2.alpha

Godot version:
v3.2.alpha.custom_build.dc114fa2e
OS/device including version:
AMD CAICOS (DRM 2.50.0 / 5.2.0-gentoo, LLVM 8.0.1)
Issue description:
Assets are offset up and to the right, causing player to float, enter walls, get stuck, and fall through the world.
https://imgur.com/a/LVLYG2Y
Steps to reproduce:
Make new project with Rigidbody 2D platformer template
Minimal reproduction project:

This is caused by all the collision in the tilemap having their offset wrong when loading the old project, because shape_offset property in TileSet resources has lost retro-compatibility with this change:
#31050
CC @codecustard
shape_offset property is saved before the list of shapes in the old format:
0/shape_offset = Vector2( 32, 32 )
0/shapes = [ SubResource( 1 ) ]

Whereas in the new format, it's saved as shape_transform for each shape in shapes.
Previously, during loading the offset would be stored as a first entry in the shape list, and then used as a default value when loading the shapes:
else if (what == "shape_offset")
	tile_set_shape_offset(id, 0, p_value);

With the current code, the value is lost when loading the resource because the shape list is empty:
else if (what == "shape_offset")
	for (int i = 0; i < tile_get_shape_count(id); i++)
		tile_set_shape_offset(id, i, p_value);


Ability to check if any "on-destruct" warnings have occurred.

As far as I know the only such error is the 'unused stub criteria' warning.
I'd like to be able to fail CI builds when any such warning occurs. Perhaps the facade could gain some methods to start/end capturing such events. In which case they would not be printed to the terminal, but rather captured in an array. Much like ob_get_clean(), reading the events would clear the list.
You could then check for any such events at the end of each test/suite/build - whatever is appropriate. In my specific use case I'd probably use peridot's event system to check at the end of each test.

Given #179, I'm happy to close this. The common case will be easier to spot, and less likely in the first place.

And then I immediately had second thoughts.  I'd still prefer to be able to fail the build.

As discussed, this is no longer really relevant.


Move margin from inner LinearLayout to ScrollView to fix cut-off content

It affects Password and Manual add activities.
Tested in Android Studio Layout Preview for a small factor phone (320x427dp). It should fix issue reported by @sphh in issue #349.

Thank you for the fix.


Refine readme

The top level readme is a little difficult to read.
Specifically

switch communication to active voice
improve the organization of sections.
remove conjunctions.
add emojis to look hip!

PR with my take: https://github.com/todogroup/ospology/pull/80
Rendering is here: https://github.com/sdake/ospology/tree/refine/readme

Thanks a lot for your contributions @sdake ! I've added some comments to your PRs 🙂

PRs are merged and we can close this task!


ODE Solver : Adams-Bashforth

Adams-Bashforth Method

first order
second order
third order
fourth order

You can see the related stuff on wikipedia.

Excellent, thanks again!


Bug: Only Temperature is not being retrieved from Switchbot Meter.

Describe The Bug
Only Temperature is not being retrieved from Switchbot Meter.
To Reproduce
At the Homebridge UI accessory view, You can see that the temperature is displayed as 0.1 C. If you wait a few seconds, the correct number will be displayed, but if you refresh the browser, it will display 0.1 C again.
Expected behavior
At the Homebridge UI accessory view, the temperature is displayed as 0.1 C. If you wait a few seconds, the correct number will be displayed, but if you refresh the browser, it will display 0.1 C again.
Relevant log output
[11/14/2021, 4:04:16 AM] [@switchbot/homebridge-switchbot] This plugin generated a warning from the characteristic 'Current Temperature': characteristic value expected valid finite number and received "undefined" (undefined). See https://git.io/JtMGR for more info.
[11/14/2021, 4:04:16 AM] [@switchbot/homebridge-switchbot] Error:
    at CurrentTemperature.Characteristic.characteristicWarning (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2074:105)
    at CurrentTemperature.Characteristic.validateUserInput (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1967:16)
    at CurrentTemperature.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1492:24)
    at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
    at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
    at fulfilled (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:114:62)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
[11/14/2021, 4:04:16 AM] [@switchbot/homebridge-switchbot] This plugin generated a warning from the characteristic 'Current Temperature': characteristic value expected valid finite number and received "undefined" (undefined). See https://git.io/JtMGR for more info.

Config for homebridge-switchbot
{
    "bridge": {
        "name": "Homebridge 7312",
        "username": "SECRET",
        "port": SECRET,
        "pin": "SECRET"
    },
    "accessories": [],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "platform": "config"
        },
        {
            "name": "SwitchBot",
            "credentials": {
                "openToken": "SECRET",
                "notice": "Keep your token a secret!"
            },
            "platform": "SwitchBot",
            "_bridge": {
                "username": "SECRET",
                "port": 46530
            }
        }
    ]
}

Screenshots

Device & Model
SWITCHBOT-METERTH-S1
Node.js Version
v16.13.0
NPM Version
v8.1.0
Homebridge Version
v1.3.6
Homebridge Switchbot Plugin Version
v1.0.0
Homebridge Config UI X Plugin Version
No response
Operating System
Docker

@watakushi-info, can you try Beta:

Thank you very much for making the fix.
At the Homebridge UI accessory view, the temperature works well.
I believe the fix is probably complete for this issue. Thank you very much.
The error message still shows up, but it may be related to a different problem.
Looking at the messages before the error message, my guess is that the error message might be related to air conditioning.
(The only Switchbot gadget that is related to 'Current Temperature' is the air conditioner, except for the Meter.)

[11/14/2021, 11:57:14 PM] [SwitchBot] CurrentHeaterCoolerStateGet: 0
[11/14/2021, 11:57:14 PM] [SwitchBot] onGet: 24
[11/14/2021, 11:57:14 PM] [SwitchBot] Trigger Get CurrentTemperture
[11/14/2021, 11:57:14 PM] [SwitchBot] HeatingThresholdTemperatureGet: 24
[11/14/2021, 11:57:14 PM] [SwitchBot] HeatingThresholdTemperatureGet: 24
[11/14/2021, 11:57:14 PM] [@switchbot/homebridge-switchbot] This plugin generated a warning from the characteristic 'Current Temperature': characteristic value expected valid finite number and received "undefined" (undefined). See https://git.io/JtMGR for more info.
[11/14/2021, 11:57:14 PM] [@switchbot/homebridge-switchbot] Error:
at CurrentTemperature.Characteristic.characteristicWarning (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2074:105)
at CurrentTemperature.Characteristic.validateUserInput (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1967:16)
at CurrentTemperature. (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1492:24)
at step (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:143:27)
at Object.next (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:124:57)
at fulfilled (/usr/local/lib/node_modules/homebridge/node_modules/tslib/tslib.js:114:62)
at processTicksAndRejections (node:internal/process/task_queues:96:5)

I will keep track of the air conditioner issue on #43.


[Localization] wrong word for 'Degrees' on Angle

Describe the bug

Having wrong translation on Angle
Expected behavior

English
Korean (current)
Fix to

Degrees
온도
도

Also, grad at bottom for displaying "About equal to ~" translated wrong.
0 grad is not 0 대학원생  in korean, "대학원생" means graduate student. 🤣
0 도 is right.
Screenshots

Device and Application Information

OS Build: 10.0.19043.0
Architecture: X64
Application Version: 10.2103.8.0
Region: en-US
Dev Version Installed: False

Thanks for the feedback! We need to route this to our internal localization team, so closing this issue.


⚠ GitLab Server has degraded performance

In 70daa09, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 6694 ms

Resolved: GitLab Server performance has improved in a4a101a.


Add GitPenguin extension

i made extension to connect to GitHub and i wanna add it here

extension ID should be prefixed, usually with one's own username or its abbreviation.


Add Action Cable section to Readme

Add Action Cable section to Readme

As promised, here's the update to Readme. I image some of this may sound clumsy, so I'd be glad for a native speaker's feedback. Also, I wasn't sure about the positioning of Action Cable section -- I put it right before What it doesn't do, but of course we can move it around.


proposal: Go 2: "static" (local-to-file) symbols (underscore notation)

Go Programming Experience
Experienced
Other Languages Experience
Go Python Rust C C++ PHP Perl C#
Related Idea

[X] Has this idea, or one like it, been proposed before?
[ ] Does this affect error handling?
[ ] Is this about generics?
[ ] Is this change backward compatible? Breaking the Go 1 compatibility guarantee is a large cost and requires a large benefit

Has this idea, or one like it, been proposed before?
Yes, see here: https://github.com/golang/go/issues/33202
Does this affect error handling?
No
Is this about generics?
No
Proposal
Speaking in terms of (proper) C, it is common when building large libraries that c files make use of "static" functions, variables, ect (or just symbols as we call them). The static keyword in C technically denotes that the symbol will not be referenced elsewhere except for the current file (technically, its a compiler hint to not to expose the symbol to the linker but I digress). Anyways, declaring a function as static is common practice due to hinting to the programmer that said function is not to be used outside of the file. In a way its the unofficial keyword to denote a particular function as a helper-function.
Use of this keyword is exceptionally helpful when it comes to reading code. As when looking at just the prototypes of a given file, you can quickly deduce where the program counter will enter, rather than looking through hundreds of lines of code to which isn't designed to even act alone without a driver function or sorts. Furthermore, a function declared as static hints to the programmer that changing this function's prototype comes with minimal consequence as such a function is used only inside of this single file, this allows for a speedier risk-assessment when it comes time to fix bugs.
Lastly, static functions give the developer a chance to declare as many functions as they need in pursuit to cleaner, more readable, code without having to dirty up the amount of exported/visible symbols in other files. This is paramount when building larger packages with more complex features. I'd rather have a single complex function broken up into smaller, readable functions then having a mega-function with 6 levels of scope at some point. And of course, breaking up complex functions allow for re-used code between similar functions that would otherwise be completely useless outside of the file to which these complex functions are found:
static void verify_record() {/* code that is usually completely useless outside of this file */}

/* 3 functions that usually belong in the same file */
void create_record() { ...verify_record() ... }
void insert_record() { ... verify_record() ... }
void select_record() { ... verify_record() ... }

But up until this point I've only used C as my delegate for this matter. In Go, I think we can improve on these benefits of file-only scope, while also making it simpler, all without adding a new keyword (in contrast to https://github.com/golang/go/issues/33202). And that is to make all symbols that start with underscore (_) have the same semantics as C's global-static keyword.
/* cannot be used outside of this file */
func _verifyRecord() error {}

/* Can be used outside of this file */
func createRecord() error { ... _verifyRecord() ... }
func insertRecord() error  { ... _verifyRecord() ... }
func selectRecord() error  { ... _verifyRecord() ... }

Language Spec Changes
Much like how use upper/lower case notation to denote the visibility of a symbol as exported/package-only, we can use a starting underscore _ to denote the visibility as file-only. All symbols that start with _ inherit all the restrictions of package-only symbols with the additional restriction that only the file to which it is declared in can see such symbol.
Informal Change
(see language spec changes, it's a rather simple change)
Is this change backward compatible?
No, it wouldn't be backward compatible if a package that uses a variable starting with an underscore in multiple files. Such case is used frequently with Cgo-backed packages as well as large parts architecture-specific go code. But realistically, it shouldn't be too much of an adjustment for package maintainers. As I would think that no one in their right mind is actively using starting-underscore'd functions/variables as a naming convention other than, well, denoting file-only usage... or otherwise a "do not use" type of notation.
Orthogonality: How does this change interact or overlap with existing features?
N/A
Would this change make Go easier or harder to learn, and why?
By definition it will make it harder to learn. But provided newer developers understand the very idea of visibility and its relationship to the capital-ness of symbols, it would take but a single sentence to teach them what file-only scope is and how to use it.
 I can see this being somewhat of a pain to implement sense we have a completely new definition of visibility to concern ourselves with. However, it's not like the file-scope doesn't already exist: as each file has their independent assortment of imports and aliases thereof. In other words, the go compiler is already conscious that symbols exist on a per-file basis so I couldn't imagine this being too dramatic of a development.
Other than that, there would be an effort into rewriting any of the compiler or runtime that uses globally-scoped symbols starting with _. Though I'd be curious to see why the underscore notation was used in the first place.
Admittedly, this is such a minor feature that - provided is also a minor change to the syntax - would cause some not-so-minor re-writes if it were to be implemented. But I honestly feel like if we were writing Go again, implementing something like this wouldn't rustle any more feathers than already was with the upper/lower case notation design.
Changes to Go ToolChain
go build
Performance Costs
run-time costs: N/A. As for compile time, having the compiler aware of what symbols cannot be used elsewhere opens up opportunities to optimize per-file builds and caching.
Prototype
No response

I don't hate the idea, but being backwards incompatible is a deal-breaker.

How about //go:onlyfile for functions and methods and global variables?

Backwards compatibility is an issue, but actually a big fan of the sentiment behind this proposal

I hate this idea. 😄 😉
I don't think it solves a real problem. It adds noise once you decide "oh, database_init.go is too large now and I want database_init_conn.go and database_init_network.go but I will need to take everything out of static scope". I think programmer discipline is a good enough way to keep things in one file. If you need more than that, you can have init functions with variables just scoped to the function body.

Putting aside the backward-compatibility issue (which is a more significant problem, but already mentioned), another part of this that gives me pause is:
The Go spec already defines something it calls the "file block" which represents the scope of a single source file. As far as I can tell, the only symbols that live in that scope today are the package names declared by import statements for use in qualified identifiers, but notably those do not have underscore prefixes and so the one existing example we have of something with this scope does not match the new convention proposed here.
Of course, that doesn't necessarily mean that a hypothetical new thing being added to the file block necessarily needs to follow the same naming scheme, but nonetheless it would be an inconsistency that would make it (perhaps only marginally) harder to build a mental model for Go's scoping rules.

I don't think I've personally ever found myself wishing for the ability to declare symbols with only file-level scope instead of package scope -- aside from the notable exception of import statements I tend to think of a whole Go package as the equivalent to a C compilation unit, rather than the individual files within it -- but I also don't really mind the idea in principle since the "file block" is already something existing in the spec, and so that's already a (small) part of the mental model of the language.
However, the bar for adding something new to the language is typically higher than "seems okay, I guess" :grinning: so I'm curious to see how the emoji-voting plays out.

Duplicate of #33202


Xcode 7 problem

Hi, there is a problem with the Xcode 7 GM and Swift 2
   public override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
    if keyPath == observeKeyContentOffset {
        srollViewDidScroll(change[NSKeyValueChangeNewKey]?.CGPointValue)
    } else if keyPath == observeKeyFrame {
        setNeedsLayout()
    }
}

the error is: Cannot subscript a value of type '[String : AnyObject]?' with an index of type 'String'

@MarvinNazari Thanks for you issue. It has been resolved, but Xcode 7 is not supported by Cocoapods official repo yet. See 48bb6661a3c93154e587106f288a68e719eaf800.


Maybe Problem in Where-Clause of Delete Statement?

In the WHERE clause of SELECT statements, terms can be exchanged. If I do the same in DELETE statements then I can see following behaviour in crate.io version "0.54.7".
First statement worked (TS is of type TIMESTAMP):
cr> DELETE FROM TestTable WHERE   TS < date_trunc('day', current_timestamp(0)-(10003600100));
DELETE OK, -1 rows affected (0.008 sec)
Second statement (with exchanged terms in where clause) failed:
cr> DELETE FROM TestTable WHERE    date_trunc('day', current_timestamp(0)-(10003600100)) > TS;
SQLActionException[io.crate.analyze.symbol.Reference cannot be cast to io.crate.analyze.symbol.Literal]

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/32367069-maybe-problem-in-where-clause-of-delete-statement?utm_campaign=plugin&utm_content=tracker%2F505659&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F505659&utm_medium=issues&utm_source=github).

Hi,
thanks for reporting the issue. It's already fixed in our master branch and i applied a fix for 0.54.* (https://github.com/crate/crate/pull/3393) now. The fix will be released with the next crate release.


Can't process columns with null values?

I'm getting errors with MSSQL columns with no content. On debugging it seems to happen in choose_text_strategy(), this is Ubuntu. Below is the bad sql_type that seems to be triggering the error. Could you please suggest a workaround because I'm not able to use arrow_odbc because of this issue. Thanks!
?sql_type
{column_size:None, decimal_digits:0}
data_type: {0:-151}
0: -151
column_size: None
[raw]: core::option::Option<core::num::nonzero::NonZero<usize>>::None
decimal_digits: 0

What is the error emitted by arrow-odbc and which function returns it?

It happens in OdbcReaderBuilder::new().build(cursor). Below is the error:
ColumnFailure {
    name: "Location",
    index: 0,
    source: ZeroSizedColumn {
        sql_type: Other {
            data_type: SqlDataType(
                -151,
            ),
            column_size: None,
            decimal_digits: 0,
        },
    },
}

Using the Display trait to render the error rather than Debug one gets a human readable description. You can look it up in code here: https://github.com/pacman82/arrow-odbc/blob/55dec538dd7066dc709ceb9feb61e370fded6b1c/src/reader.rs#L205
This is a variadic type without an upper bound. arrow-odbc will process it just fine, but you need to give it an upper bound. You can do so using with_max_text_size. See: https://docs.rs/arrow-odbc/latest/arrow_odbc/struct.OdbcReaderBuilder.html#method.with_max_text_size

Hello @allurefx ,
does with_max_text_size help you? Did the documentation help understanding the issue?
Best, Markus

Closing this issue for now. As far as I can tell with_max_text_size should already allow you to mitigate the situation. Please reopen the ticket if this is not true.
Best, Markus

Thanks @pacman82, I finally got the chance to test this and it appears to be working once I specify a max value. I'll post back if I run into this or other issues, thanks again for your prompt responses and support.


Demand for VSCode Extension?

Was playing around with VSCode and Zod based on #53 -- seeing if there is enough demand for this to put time into the concept.  It is slow in the preview as I built that out in about 1 hour, but seems it could be nice - and make it easier to use Zod since you wouldn't really need to even learn all the specifics - you could just create your TypeScript Type then translate it.
It utilizes the TypeScript Compiler API to read the AST and infer from there.

Since this is just using the TypeScript compiler API - this could pretty easily become a browser tool as well which you could just paste in your type and get a valid zod schema out from it.

On that note, this is more of a Typescript Plugin than a VSCode Extension - since the vscode part of it is just providing the menu option to run the TS Compiler and it uses the TS Compiler to build Typescript Code.

export const generatePrimitive = ({ kind, name, props, zodImportValue }: {
  kind: ts.SyntaxKind;
  name: string;
  zodImportValue: string;
  props: { isOptional: boolean; errorMessage: undefined | string; isNullable?: boolean }
}) => {
  let flags = '';

  if (props.isOptional) {
    flags += '.optional()';
  }
  if (props.isNullable) {
    flags += '.nullable()';
  }

  let errorMessage = props.errorMessage ? wrapQuotes(props.errorMessage) : '';

  switch (kind) {
    case ts.SyntaxKind.NumericLiteral:
      return `${zodImportValue}.literal(${name})${flags}`;
    case ts.SyntaxKind.StringLiteral:
      return `${zodImportValue}.literal(${wrapQuotes(name)})${flags}`;
    case ts.SyntaxKind.StringKeyword:
      return `${zodImportValue}.string()${flags}`;
    case ts.SyntaxKind.BooleanKeyword:
      return `${zodImportValue}.boolean()${flags}`;
    case ts.SyntaxKind.NullKeyword:
      return `${zodImportValue}.null()${flags}`;
    case ts.SyntaxKind.UndefinedKeyword:
      return `${zodImportValue}.undefined()${flags}`;
    case ts.SyntaxKind.NumberKeyword:
      return `${zodImportValue}.number()${flags}`;
    case ts.SyntaxKind.AnyKeyword:
      return `${zodImportValue}.any()${flags}`;
    case ts.SyntaxKind.BigIntKeyword:
      return `${zodImportValue}.bigint()${flags}`;
    case ts.SyntaxKind.VoidKeyword:
      return `${zodImportValue}.void()${flags}`;
    case ts.SyntaxKind.ClassKeyword: {
      if (name === 'Date') {
        return `${zodImportValue}.date()${flags}`;
      }
      // TODO : Handle Class & InstanceOf based on symbol & import detection context
    }
    default:
     return `${zodImportValue}.any(${errorMessage})`;
  }
};

The code above just uses strings to build it which was easier in this case.  For those potentially interested, to move to using the TypeScript Compiler / AST to build it all, the generated type in the gif would be something like:
[
  ts.createVariableStatement(
    undefined,
    ts.createVariableDeclarationList(
      [ts.createVariableDeclaration(
        ts.createIdentifier("TestSchema"),
        undefined,
        ts.createCall(
          ts.createPropertyAccess(
            ts.createIdentifier("z"),
            ts.createIdentifier("object")
          ),
          undefined,
          [ts.createObjectLiteral(
            [
              ts.createPropertyAssignment(
                ts.createIdentifier("three"),
                ts.createCall(
                  ts.createPropertyAccess(
                    ts.createCall(
                      ts.createPropertyAccess(
                        ts.createIdentifier("z"),
                        ts.createIdentifier("literal")
                      ),
                      undefined,
                      [ts.createStringLiteral("hi")]
                    ),
                    ts.createIdentifier("optional")
                  ),
                  undefined,
                  []
                )
              ),
              ts.createPropertyAssignment(
                ts.createIdentifier("one"),
                ts.createCall(
                  ts.createPropertyAccess(
                    ts.createIdentifier("z"),
                    ts.createIdentifier("number")
                  ),
                  undefined,
                  []
                )
              ),
              ts.createPropertyAssignment(
                ts.createIdentifier("two"),
                ts.createCall(
                  ts.createPropertyAccess(
                    ts.createIdentifier("z"),
                    ts.createIdentifier("literal")
                  ),
                  undefined,
                  [ts.createNumericLiteral("3")]
                )
              ),
              ts.createPropertyAssignment(
                ts.createIdentifier("four"),
                ts.createCall(
                  ts.createPropertyAccess(
                    ts.createIdentifier("z"),
                    ts.createIdentifier("string")
                  ),
                  undefined,
                  []
                )
              ),
              ts.createPropertyAssignment(
                ts.createIdentifier("five"),
                ts.createCall(
                  ts.createPropertyAccess(
                    ts.createIdentifier("z"),
                    ts.createIdentifier("date")
                  ),
                  undefined,
                  []
                )
              )
            ],
            true
          )]
        )
      )],
      ts.NodeFlags.Const
    )
  ),
  ts.createTypeAliasDeclaration(
    undefined,
    undefined,
    ts.createIdentifier("Test"),
    undefined,
    ts.createTypeReferenceNode(
      ts.createQualifiedName(
        ts.createIdentifier("z"),
        ts.createIdentifier("infer")
      ),
      [ts.createTypeQueryNode(ts.createIdentifier("TestSchema"))]
    )
  )
];

-->
const TestSchema = z.object({
	three: z.literal('hi').optional(),
	one: z.number(),
	two: z.literal(3),
	four: z.string(),
	five: z.date()
})

type Test = z.infer<typeof TestSchema>;

Wow this is awesome!
Can't speak to the demand for this since all my current projects are "Zod native".
@danenania @birowsky would this help you?
@bradennapier I'll leave this issue here and you can check back periodically to see how many 👀 it's getting.

@vriad damn right it would! I would love to have this feature on IntelliJ!

I added the code I built thus far which does most of the core properties and unions.
https://github.com/bradennapier/zod-vscode-extension
I think it'd be really cool if someone modified ts-ast-viewer to become an online tool that would allow you to paste in a type and get a zod schema back

Interesting concept! I would personally prefer to see GraphQL schema -> Zod types, but interesting either way! I suppose it's also possible to generate GraphQL -> TS -> Zod in some kind of pipeline as well. In general, I'd expect to auto-generate Zod types which then get manually edited. Certainly it's more complicated than just the proposal here, and I'm not sure exactly what it would look like in terms of UX.

It'd be fairly easy to expand this to convert GraphQL to zod as well since GraphQL introspection just builds out an object you'd just need to translate it to the TS ast.  I'd be surprised if there wasn't already tools for that as well.

Here is a little gif of the updated types that i added in the last hour.

https://github.com/bradennapier/zod-web-converter
Here it is running in web browser by just modifying the ts-ast-viewer source.

:-P

We were recently setting up a serverless function as a webhook end point to use with Typeform. As a starting place we ended up fleshing out a zod scheme to represent the incoming data. Now it didn't take long to write - but at the end I was wandering if this wouldn't be something that would be worth sharing in a similar way to definitely typed - a shared community repo of zod types. Because obviously they will need to be updated over time.
Then I saw this issue and thought "Damn my original idea was so naive" - it would simply be far better to have a way to zodify the definitions from any @type/* file you add to package.json
Maybe the function is a npx/cli/script that you run and commit the result in a zods folder? and it honours the versions defined in the yarn.lock/package-lock.json
Anyway @bradennapier thanks for the trail-blaze on this.

Yeah, a zodify would be nice, but that would be fairly difficult to do with any kind of confidence overall - just due to the massive difference of what Typescript can represent vs the small subset that Zod can (especially as new features like those being introduced in 4.1 come about).
That isn't to knock Zod, as there wouldn't really be much need to have it be a 1:1 mapping of what Typescript can represent (you really only need the basic data structuring).
This is why I liked the idea of the website to "zodify" as shown in the screenshot - essentially build out your data structure in typescript - paste it in and get you zod schema.
Perhaps I will be proven wrong though :-)

@bradennapier I think I have a nice base for this kind of vscode extension, I tried to cover everything with unit tests & avoid any typecasting/any to be able to throw an explicit error when typescript can't be translated into a zod schema.
I also did find a nice trick for the "confidence" problem,  I do generate an integration tests that compare z.infer and the original types (https://github.com/fabien0102/ts-to-zod/blob/main/example/heros.integration.ts).
I still need to think a bit how, but I guess we should be able to bake this integration test part inside the generation process 🤔
The project -> https://github.com/fabien0102/ts-to-zod
Since this issue seams to be quite popular, I will probably try to make a VSCode extension with this new library as core 😃 (I must admit that this is a really fun project 😁)
Thanks again for your little POC 💯


Client user authentication not required in @Async method?

When we try to request reource that requires acces token, before we aquire token, requirement is we have to be authenticated on client side unless request is associated with the client rather than user and we override clientOnly()  method on OAuth2ProtectedResourceDetails.
If we dont and we try to obtain token InsufficientAuthenticationException is beeing thrown. And we are required to authenticate.
But when  I use asynch method this requirement seems to be bypassed even when clientOnly() returns false.
Is this desired behavior?
I created example of what I mean here
https://github.com/mariubog/oauth-client-sample
If  you try to connect with  /results-nonauthorized and token has not been obtained earlier you'll get exception. In asych method it is not a case.

The @Async annotation is not a Spring Security feature. To secure those methods you would have to use the async support added in Spring Security 3.2. That means either using Spring MVC async support (like here: http://docs.spring.io/spring-security/site/docs/3.2.5.RELEASE/reference/htmlsingle/#mvc-async), or with a special TaskExecutor (http://docs.spring.io/spring-security/site/docs/3.2.5.RELEASE/reference/htmlsingle/#delegatingsecuritycontextexecutor).

I'm closing this because I don't see the relation to OAuth2. If you want to continue the discussion please re-open, and we can see if that was wrong. Or go and ask or search for a question about Spring Security async on Stackoverflow.


page-list should only emit actions

Make sure only freezer can interact with electron-store.

dc84417bc204cdc4fbb62dd747051c6138db7b52


chore: auto-assign issues to new Spanner owner

@bshaffer if you can merge this in for us, that would be great.


Provisioning slave fails, jenkins_data crashes

On OSX 10.11.5, running 1.12.0-rc4, build e4a0dbc, experimental, creating of the jenkins_slave fails with:
Error in provisioning; template='DockerTemplate{configVersion=2, labelString='testslave', launcher=com.nirima.jenkins.plugins.docker.launcher.DockerComputerSSHLauncher@52deb96, remoteFsMapping='/home/jenkins', remoteFs='/home/jenkins', instanceCap=1, mode=EXCLUSIVE, retentionStrategy=com.nirima.jenkins.plugins.docker.strategy.DockerOnceRetentionStrategy@4e4e5b9e, numExecutors=1, dockerTemplateBase=DockerTemplateBase{image=jenkins_slave}, removeVolumes=false, pullStrategy=PULL_LATEST}' for cloud='Local Docker' com.github.dockerjava.api.BadRequestException: {"message":"starting container with HostConfig was deprecated since v1.10 and removed in v1.12"}
Additionally, jenkins_data crashes.
Don't have a clue yet why. Maybe you have an idea on how to resolve?

Absolutely! Just started getting reports of this. The issue is: 1.12.0-rc4 (your docker version).  The docker-plugin is incompatible with Docker 1.12.0.
Which means it's probably timet o move to "Yet Another Docker Plugin" (where the work continued). Which means it's time for me to update all this with how to do that.
In the short term, if you use Docker 1.10 or 1.11 you shouldn't have issues. (I'd advocate for not using an RC version of Docker anyway).

#20 Duplicates this issue.

Makes sense. I'll downgrade, thanks!


CLI REPL requires two ^C to exit

Hitting CTRL+C once puts wat into a weird, hung state and requires a second CTRL+C to actually exit.

Yeah - I'm going to fix this with vantage, but I have to do more research on how that stuff works.

Depending on how you have it now, CTRL+C sends SIGINT to the process. Pretty sure node has these abstracted across platforms, and you can register a SIGINT handler to handle the event gracefully.

Thanks! Will use that data.

Okay, updated Vantage to allow graceful sigint as well to allow a middlware function to be specified on sigint.
It terminates with one CONTROL + C, and for good measure says goodbye in one of 12 langauges :fire:


Add guide to upgrade package dependencies

This outlines the steps to upgrade package dependencies.  Green -> Test -> Yellow -> Test -> Red -> Test

Looks good. And thank you for creating a centralized location where we can talk about this. I do want to integrate the snyk data feed into the upgrade process in the future. Making sure the routine takes purposely ignores it when justified, or closed open issue. https://app.snyk.io/org/cds-snc/


Add RepeatedExample cop

Fixes #260

@bquorning @andyw8 any other flags here?

I still have concerns over the readability of that 7-line method chain.
Meh, let's merge this. 👍🏼

Thanks @bquorning. I'm finding a lot of cases recently where I have this sort of chaining for duplicate detection or code that isn't separated by a newline. I'll try to find a more clean implementation if this pattern keeps showing up

@backus Should this cop also ignore repeated examples if they occur in different case matches?
eg https://github.com/voxpupuli/puppet-squid/blob/192c27213b00f2beb1a7fea63fb109da97f4adc2/spec/classes/init_spec.rb has 28 offenses now.
https://travis-ci.org/voxpupuli/puppet-squid/jobs/193205490
Thanks.

Hm I've never seen specs written like that before. I'll take a closer look later today

@alexjfisher I'm taking a closer look at the moment but I'm going to open a new issue for your question and resume the discussion there. I personally find it much harder to track these discussions when they're in the implementing pull request

See https://github.com/backus/rubocop-rspec/issues/309


Detect Region using the metadata service

If host and aws_region are not set use the metadata of the kong host to get the region.
Our usecase is a multiregion set up, the configuration is shared for the different region, so we need dynamic region.

Had a look at how to determine the region on AWS, but that doesn't seem to be possible in a reliable way...
Compute task metadata

ECS on fargate, see https://docs.aws.amazon.com/AmazonECS/latest/userguide/task-metadata-endpoint-fargate.html

metadata V4: env: ECS_CONTAINER_METADATA_URI_V4, field "AvailabilityZone"
metadata V3: env: ECS_CONTAINER_METADATA_URI, field "AvailabilityZone"

ECS on EC2, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-metadata-endpoint.html

metadata V4: env: ECS_CONTAINER_METADATA_URI_V4, field "AvailabilityZone"
metadata V3: env: ECS_CONTAINER_METADATA_URI, field "AvailabilityZone"
metadata V2: no env, use: "<IP_ADDRESS>/v2/metadata", field "AvailabilityZone"

EC2, see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

IMDSv1:

curl -s http://<IP_ADDRESS>/latest/meta-data/placement/region

IMDSv2 (session based):

export TOKEN=curl -X PUT "http://<IP_ADDRESS>/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"
curl -H "X-aws-ec2-metadata-token: $TOKEN" -s http://<IP_ADDRESS>/latest/meta-data/placement/region

EKS runs on Fargate or EC2

there seems to be EC2 metadata access (if not blocked), see https://aws.amazon.com/about-aws/whats-new/2020/08/amazon-eks-supports-ec2-instance-metadata-service-v2/
dunno if any of the ECS env vars are available??

Question: how to detect in what region we are?
Problem: making a call to the wrong URL will block until a timeout
Problem: env vars are only available at start up (init/init_worker)
Problem: for EC2 there is "region", for ECS there is only "AvailabilityZone", which is usually region+"a/b/c/...",
but that is guessing and might break in the future
Positive: we only need to get the region once over the lifetime of the application run
Try logic:

scan for ECS_CONTAINERMETADATA_URI_V4 or ECS_CONTAINERMETADATA_URI env vars (at startup)
if found request and get "AvailabilityZone" --> seems to be ECS (we're skipping the V2 on ECS, which seems valid since its outdated)
else try IMDSv2 (risks blocking) --> assumes it to be EC2
requests should be within a lock to prevent many simultaneously
the actual requests should be made a run-time, not during start up, because during startup we do not even know whether we're running on AWS infra or even if we need the region info, and then we'd possibly incur the penalty of the blocking requests until a timeout


Advertise the Coder plugin on the bottom of the Gateway screen

What do we need to do to display the Coder plugin here?

We were added in the latest EAP.


Bad indent after multi-line argument inside call expression

In this case, the secon argument (expected) is over-indented:
equal(
  y
    .find()
    .length,
  expected
);

Result:
equal(
  y
    .find()
    .length,
    expected
);

Another indent issue, same disclaimer as for #238 and #239: Blocker, I can't figure it out.

this is probably an edge case related to the chained expression edges (ObjectExpression.getIndentEdges) I did not try to identify the root cause yet but I would start with a basic console.log on the getIndentEdges and see if it is getting the wrong endToken.


Panic occurs when generating tables with only AUTO INCREMENT column

Description / Steps to reproduce
When attempting to create an SQL file from the structure shown below, a panic occurs and SQL generation fails.
package schema

import (
	"github.com/shogo82148/myddlmaker"
)

type Sample struct {
	ID uint64 `ddl:",auto"`
}

func (*Sample) PrimaryKey() *myddlmaker.PrimaryKey {
	return myddlmaker.NewPrimaryKey("id")
}

➜   go generate ./...
panic: runtime error: integer divide by zero

goroutine 1 [running]:
github.com/shogo82148/myddlmaker.(*Maker).generateGoTableInsert(0x0?, {0x104584b28, 0x140000767b0}, 0x1400010ce40)
        /Users/naohirochikamatsu/go/pkg/mod/github.com/shogo82148/myddlmaker@v0.0.8/maker.go:457 +0x6a8
github.com/shogo82148/myddlmaker.(*Maker).generateGoTable(0x1400002e0c0?, {0x104584b28, 0x140000767b0}, 0xd?)
        /Users/naohirochikamatsu/go/pkg/mod/github.com/shogo82148/myddlmaker@v0.0.8/maker.go:431 +0x2c
github.com/shogo82148/myddlmaker.(*Maker).GenerateGo(0x1400002e0c0, {0x104584b48, 0x14000054038})
        /Users/naohirochikamatsu/go/pkg/mod/github.com/shogo82148/myddlmaker@v0.0.8/maker.go:396 +0x98
github.com/shogo82148/myddlmaker.(*Maker).GenerateGoFile(0x1400002e0c0)
        /Users/naohirochikamatsu/go/pkg/mod/github.com/shogo82148/myddlmaker@v0.0.8/maker.go:381 +0x110
github.com/template_webapi/app/datastore/schema.GenerateDDL()
        /Users/naohirochikamatsu/ghq/github.com/webapi/app/datastore/schema/schema.go:46 +0x1bc
main.main()
        /Users/naohirochikamatsu/ghq/github.com/webapi/app/datastore/schema/gen/main.go:6 +0x1c
exit status 2
schema.go:7: running "go": exit status 1

If the auto tag is removed, no panic will occur.
Expected behavior
The myddlmaker print good error message that is easy to speculate about the cause of panic.

closed by #68


add support for ros2cli, rqt and rosbag2

This is a great job that makes it possible to use zero_copy.
And the code is of great quality!
Since there are ecal gui tool to test and debug ros2 application.
I wonder if you will add fully support to ros2cli and rqt, so developers can use ros2cli and rviz with this rmw?
Or are threr any possibilities that opensource developers like us can use APIs exposed from ecal that will get things done?
I gave it a simple test, and found some clis and tools not support in v1.0.
ros2cli

[x] ros2 node list
[x] ros2 node info
[x] ros2 topic list
[x] ros2 topic info
[x] ros2 topic info -v (Failed to get information by topic for publishers: function not supported by RMW_IMPLEMENTATION)
[x] ros2 topic hz
[x] ros2 topic echo

rqt

[x] rqt_graph
[x] rqt_top

rosbag2

[x] rosbag record
[x] rosbag play

rviz

[ ] launch
[ ] image show
[ ] pointcloud show
[ ] urdf show

ros2cli issues have been resolved in #37.
Some other points from this issue might have been resolved also, but i can't test them at the moment.
Regarding eCAL alternatives for these tools, eCAL ecosystem provides its own recorder/player  that could be used instead of rosbag, it also provides monitor that can be used to list topics and their info, hz, and also to echo their messages (in binary form for dynamic typesupport and in both binary and human readable form for protobuf support), it also supports plugins that could be used to visualize data.

@brakmic-aleksandar thanks a lot.

Some other points from this issue might have been resolved also, but i can't test them at the moment.

I will give it a review and test later.

eCAL ecosystem provides its own recorder/player that could be used instead of rosbag
it also supports plugins that could be used to visualize data.

As you can see in Originally posted by @rex-schilasky in https://github.com/continental/ecal/issues/115#issuecomment-720419171  eCAL is designed as a type agnostic middleware, and is originally used for camera based ADAS of your company.
You are right about great tools of eCAL, and it's true that those tools lack of  full support to robotics application.
For example, with plugins we can get pointcloud in the monitor, but it's not possible with monitor to show TF trees and multi-sensor msgs like rviz.
With ros2 tools, it's easy enough.

Got it, i'll see what can i do regarding rviz and ros2bag support.

Got it, i'll see what can i do regarding rviz and ros2bag support.

@brakmic-aleksandar  Great!
According to my experience in https://github.com/ros2/rmw_iceoryx/issues/46 https://github.com/ros2/rmw_iceoryx/issues/53
you may use https://github.com/ros2/system_tests for a comprehensive test.

Reopening, accidentally closed it with pull request.

@brakmic-aleksandar  I tried to test the code, and find that the feature you add in https://github.com/continental/ecal/tree/feature/subscriber_count did not get merged into master.
Open a pull request please.

@brakmic-aleksandar  I updated test result in the top list.
the issue Failed to get information by topic for publishers: function not supported by RMW_IMPLEMENTATION should be resolved.
see /rmw_ecal/rmw_ecal_shared_cpp/src/get_topic_endpoint_info.cpp
rmw_ret_t rmw_get_publishers_info_by_topic(const char * /* implementation_identifier */,
                                               const rmw_node_t * /* node */,
                                               rcutils_allocator_t * /* allocator */,
                                               const char * /* topic_name */,
                                               bool /* no_mangle */,
                                               rmw_topic_endpoint_info_array_t * /* publishers_info */)
    {
      UNSUPPORTED;
    }

@brakmic-aleksandar I tried to test the code, and find that the feature you add in https://github.com/continental/ecal/tree/feature/subscriber_count did not get merged into master. Open a pull request please.

Wierd, i've just checked the code out and it seems to be merged correctly.

@brakmic-aleksandar I updated test result in the top list. the issue Failed to get information by topic for publishers: function not supported by RMW_IMPLEMENTATION should be resolved.
see /rmw_ecal/rmw_ecal_shared_cpp/src/get_topic_endpoint_info.cpp
rmw_ret_t rmw_get_publishers_info_by_topic(const char * /* implementation_identifier */,
                                               const rmw_node_t * /* node */,
                                               rcutils_allocator_t * /* allocator */,
                                               const char * /* topic_name */,
                                               bool /* no_mangle */,
                                               rmw_topic_endpoint_info_array_t * /* publishers_info */)
    {
      UNSUPPORTED;
    }

Yeah, implementing this should resolve rosbag issues aswell, but it will require some additions to eCAL itself, so it might take a bit for it to be implemented.

Added support for ros2 topic info -v with #38 (will require eCAL version from this pr https://github.com/continental/ecal/pull/483 which isn't merged yet), rosbag will require some additional work though.

rviz seems to be working aswell.

@ZhenshengLee do you mind testing rviz? I can't do it at the moment.

@brakmic-aleksandar I tried to test the code, and find that the feature you add in https://github.com/continental/ecal/tree/feature/subscriber_count did not get merged into master. Open a pull request please.

Wierd, i've just checked the code out and it seems to be merged correctly.

Hi @brakmic-aleksandar
I try to create a pr, and the commit has not been merged into master, look at the screenshot below.

Added support for ros2 topic info -v with #38 (will require eCAL version from this pr continental/ecal#483 which isn't merged yet), rosbag will require some additional work though.

@brakmic-aleksandar
I will try to cherry-pick this commit in my fork of eCAL (which is based on version 5.8.10 or older) and give it a test.
#38 could be merged after your self-test

@brakmic-aleksandar I tried to test the code, and find that the feature you add in https://github.com/continental/ecal/tree/feature/subscriber_count did not get merged into master. Open a pull request please.

Wierd, i've just checked the code out and it seems to be merged correctly.

Hi @brakmic-aleksandar
I try to create a pr, and the commit has not been merged into master, look at the screenshot below.

Hey,
Commit containing code of feature/subscriber_count has been merged in master using this commit, it has different hash than one in feature/subscriber_count i guess whoever merged it used squash method, rather than rebase. Also from what i could see your fork also contains code you are trying to merge, do you maybe have some issues linking to those new features?

Added support for ros2 topic info -v with #38 (will require eCAL version from this pr continental/ecal#483 which isn't merged yet), rosbag will require some additional work though.

@brakmic-aleksandar
I will try to cherry-pick this commit in my fork of eCAL (which is based on version 5.8.10 or older) and give it a test.
#38 could be merged after your self-test

Merged. :)

Commit containing code of feature/subscriber_count has been merged in master using this commit, it has different hash than one in feature/subscriber_count i guess whoever merged it used squash method, rather than rebase.

I see, I am a rebaser and cli user(commits are squashed locally with GUI)

do you maybe have some issues linking to those new features?

Yes,  confilicts and compiling issues happen when sync(rebase) with upstream of eCAL. See this issue https://github.com/continental/ecal/issues/506 I just created.

I will try to cherry-pick this commit in my fork of eCAL (which is based on version 5.8.10 or older) and give it a test.

Now I will update my fork first, after https://github.com/continental/ecal/issues/506 being resolved.

Now I will update my fork after continental/ecal#506 being resolved.
this pr continental/ecal#483

@brakmic-aleksandar
https://github.com/continental/ecal/issues/506 is resolved and clear, I update the master of my fork, and master of eCAL within https://github.com/continental/ecal/pull/483 cannot be compiled with master branch of rmw_ecal.
the error may be related with the new changes in v5.10.0 https://github.com/continental/ecal/pull/487
BTW, the version management should begin, branches could be created to support different needs, we will talk about this in #40
/home/zs/zs_ws/ga_ros2/ga_deps/rmw_ecal/rmw_ecal_shared_cpp/src/internal/graph.hpp: In function ‘eCAL::rmw::pb::GraphInfo::Publishers eCAL::rmw::Graph::GetPublishers(const string&, const string&)’:
/home/zs/zs_ws/ga_ros2/ga_deps/rmw_ecal/rmw_ecal_shared_cpp/src/internal/graph.hpp:256:11: error: ‘SServiceInfo’ is not a member of ‘eCAL’; did you mean ‘SServiceAttr’?
  256 |     eCAL::SServiceInfo service_info;
      |           ^~~~~~~~~~~~
      |           SServiceAttr
/home/zs/zs_ws/ga_ros2/ga_deps/rmw_ecal/rmw_ecal_shared_cpp/src/internal/graph.hpp:263:42: error: ‘service_info’ was not declared in this scope; did you mean ‘ServiceInfo’?
  263 |     client.Call("", "GetPublishers", "", service_info, response);
      |                                          ^~~~~~~~~~~~
      |                                          ServiceInfo

The service API changes for 5.10.x you can find here.

I'll try to update it ASAP.

Updated.

@brakmic-aleksandar

@ZhenshengLee do you mind testing rviz? I can't do it at the moment.

rviz2 showing image works well!
ros2 run v4l2_camera v4l2_camera_node
rviz2

I tried to test pointcloud and urdf visualization, but there are things uncommon during usage with gazebo.
I think this issue should be closed, and #41  be created to track issue for working with gazebo.
Thanks for all!