When going through the config naming the module doesn't let me go to next and adds white spaces to the input field

Required check list:

[x] I didn't find in the repository's issues section a similar bug.
[x] I understand, this is an Open Source and not-for-profit product.
[x] This is not about a third-party project, framework, or technology.

My environment:
✓ Your system information has been collected successfully!
│
│ Copy this information to paste into an issue ↘
│
│ Gowebly CLI: v2.6.1 (build with go1.22.2 on windows/amd64)
│
│ Go: 1.22.2 windows/amd64
│ Node.js version: 20.9.0 (npm 10.4.0)
│ Bun version: not installed
│
│ Is Air tool installed? false
│ Is Templ package installed? true
│
✱ For more information go to the official docs: https://gowebly.org
...
Describe the bug:
When going through the configuration with the CLI command (go run github.com/gowebly/gowebly/v2@latest create) I get stuck on the step 'What's your Go module name in the go.mod file?'
When pressing enter on this step it just adds white spaces to the field. Even if not changing the name it still has 'focus' in the textfield.
I tried it with Windows Powershell, bash and cmd. All the same outcome.
...
Steps to reproduce the behavior:

Use any of mentioned command lines
Execute the command: go run github.com/gowebly/gowebly/v2@latest create
Go to the module name step and try to press enter

Expected behavior:
Pressing enter takes me to the next step instead of adding white spaces to the module name input
...
Screenshots:

...

Hi, @Silvallis
I did some CLI tests on a Windows 10 VM, but I didn't encounter this bug. Therefore, I'm not sure if it's the Gowebly CLI, maybe there's a problem in your system?
Can you please try to run the CLI via WSL?


Use ied instead of npm

ied aims to be a faster npm (it's true).
Some issue before I can use ied with this project:

No install hook (https://github.com/alexanderGugel/ied/issues/82)

affected deps: node-sass, markdown-it-toc --> slug--> unicode
temporary solution: make a script to install it manually

No github dep

affected deps: bootstrap (gonna remove bootstrap soon)
temporary solution: just use tarbal link instead

won't work with eslint (https://github.com/alexanderGugel/ied/issues/32)
This is a big drawback. Will keep track of this

Using pnpm.

This just broke my heart.

@alexanderGugel I didn't check out ied for a while. But right now, I don't use pnpm or ied. With proper npm cache (using local-npm), I can use npm directly with acceptable installation time. Thanks a lot for working on ied and I hope it will be a npm alternative one day.


build(v2.0): 排列组合功能

:tada: This PR is included in version 1.6.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Update to Vue 3

I've made this. It's a minimal amount of work required for it to run on Vue 3 + some doc updates. Bear with me on this, this is the first time I have anything to do with a "plugin" or "library" of any (frontend) sort.
Things that still need work:

When running npm install there's a bunch of deprecation notices, vodal complains about vue 2.5 dependency, etc.
I haven't been able to run the tests for some reason. Maybe because I'm on Windows?

><EMAIL_ADDRESS>lint:js C:\Users\T\Desktop\Dev\www\_pr\vue-treeselect
> eslint --ext .js --ext .vue --cache --cache-location node_modules/.cache/eslint --rule 'no-console: 2' .

Oops! Something went wrong! :(

ESLint: 6.8.0.

No files matching the pattern "2'" were found.

At runtime you can see in the console:

runtime-core.esm-bundler.js?5c40:38 [Vue warn]: Failed to resolve component: transition-group
runtime-core.esm-bundler.js?5c40:38 [Vue warn]: Failed to resolve component: transition

I have no idea why. According to https://v3.vuejs.org/guide/transitions-list.html#list-entering-leaving-transitions these tags should be working. This is however just a warning, they are rendered as HTML tags and the component is functional! 🎉
Note for anyone wokring with this:
When I was trying to import from src or from dist I couldn't get this to work when node_modules was present.
runtime-core.esm-bundler.js?5c40:38 [Vue warn]: Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.

At first I thought it was a bug in one of the JSX packages, but by chance I tried removing the node_modules folder during npm run serve and I noticed that those files were in use. When I got rid of the folder all of the ref errors in the console were also gone WTF. When the folder is present all the library's dependencies are loaded from node_modules/@riophae/vue-treeselect/node_modules causing weird errors. WTF. I've literally spent a little over a day trying to figure out those ref errors before stumbling upon the solution by accident. If someone can explain this to me please do. Restore sanity to this world.

#422

#422

A package ported from this is working fine with Vue 3 @tkmam1x/vue3-treeselect

Even though the library is not maintained, its one of the great select libraries in vue, also @tkmam1x/vue3-treeselect seems to work fine on my side

@tkmam1x/vue3-treeselect

But i am getting below error while using tkmama lib

If you are still struggling with this library while trying to update your project to VUE3, i highly recommend this library:
.
This guy has managed to upgrade this library for vue3 and in my project (which is a really big project) it works like a charm.


Makefiles on MacOS X don't work

Manually changed a bunch of stuff to get them to function.  Will submit a PR soon.

The path for libraries is non standard on OSX. You can specify it via LD_PATH=/usr/share/dmd/lib (or whatever it is on your install).
Maybe it can be found using the output of dmd -v . That would be the only way to make that work IMO.

The issue is two-fold.  DMD.Conf has to be setup correctly (I did that) but also on Darwin llvm-config (as installed by brew) is in another location.  Additionally, gcc is not gcc on MacOS X, it's a translation late for gcc args to clang.  It's not 100% compatible.   There's a naked - on one of the gcc lines that trips it up.

Ha yes, I use the real gcc on my OSX setup (if I want clang, I'll type clang, thank you apple).
You can specify the LLVM_CONFIG you want via LLVM_CONFIG=~/d/llvm/build/Debug+Asserts/bin/llvm-config (or whatever the path you want).I prefers using my own build of LLVM so I get the assertion enabled and I can work on optimization passes.

Let's close that one has we have the default location for phobos in the linker path now on OSX. llvm-config still need to be specified, but I see no way around this.


ophyd_async.core.signal.set_and_wait_for_value() within tolerance

Hello, I am interested in understanding more about how we can use ophyd-async to improve the way we interact with our EPICS PVAccess control system.
I have created a test EPICS RW signal connected to a SET/READ pair of PVs where I expect there to be some delay between the updates:
from ophyd_async.epics.signal import epics_signal_rw
from ophyd import Component, Device, EpicsSignal, EpicsSignalRO
import asyncio
from ophyd_async.core.signal import set_and_wait_for_value

async def main():
    signal = epics_signal_rw(
        float, read_pv="pva://TEST:PV:READ", write_pv="pva://TEST:PV:SET"
    )
    connection = await signal.connect()
    status = await set_and_wait_for_value(signal, 8, timeout=1)

asyncio.run(main())

Currently the read PV is configured to have some noise associated with it (as we might expect to see from the hardware). However this means that I get a TimeoutError on the set_and_wait_for_value() call because it expects the values to match exactly.
TimeoutError:  didn't match 8 in 1s, last value 8.001638609114593

Is there any option to provide a tolerance for this command to say that I want it to update to within 0.01 or something? For example:
status = await set_and_wait_for_value(signal, 8, timeout=1, tolerance=0.01)

I'm currently using ophyd-async==0.3.4 with Python 3.10.14

There isn't at the moment, but this would be a fairly easy addition. It would need adding to wait_for_value and the tolerance passing down from set_and_wait_for_value. I should note that we are about to do a repository restructure in #279 , so these functions will be moving to a different file in about a week's time, so these changes should probably be done after that ticket is complete.
Is this something you'd like to make a PR for, or shall we put it on our backlog?

Thanks for the explanation, I think with that I should be able to try doing a PR myself. I'll wait until the restructure goes through though.

With more digging I also found that you could solve this issue through the use of a callable in the match parameter for the wait_for_value() call in the following way:
    signal = epics_signal_rw(
        float, read_pv="pva://TEST:PV:READ", write_pv="pva://TEST:PV:SET"
    )

    set_val = 9
    tolerance = 0.1

    def within_tolerance(v):
        return (v > set_val - tolerance) and (v < set_val + tolerance)

    signal.set(set_val)
    status = await wait_for_value(signal, within_tolerance, timeout=2)

Although this requires you to separate the set() call from the wait_for_value() call so I think it would still be nice to have the tolerance parameter as an option.

Alternatively we could change set_and_wait_for_value to also take a Union[T, Callable[[T]]? Seems more flexible and gives parity with the behaviour of wait_for_value

Yes, I think that makes sense. Let's make wait_for_value and set_and_wait_for_value both take a Union[T, Callable[[T]], and say that you do tolerance via the callable.


If I use the method Statsig.shutdown() on android my app crashes because of the runBlocking

Migrated from https://github.com/statsig-io/ruby-sdk/issues/3

Published v4.3.1 - I think this should address it.  I suspect this is the key change:
https://github.com/statsig-io/android-sdk/blob/main/src/main/java/com/statsig/androidsdk/StatsigLogger.kt#L107

If you're using kotlin, you could also try the shutdownSuspend method instead, and use your own coroutine logic for waiting (or not) for that to resolve

@AndreNagem, do you have a stack trace for you crash?

@tore-statsig  I have tried to use v4.3.0, v4.2.4 and v4.2.2. None have worked
Really good news is that shutdownSuspend worked for me, thank you very much !
@pablobaxter  My app does not crash, with an fatal error it just stop responding, I believe it is because of the runBlocking that is used in .shutdown() method, therefore I could not retrieve any log or stack trace from this error, I have tried many things to catch any log, but could not get any

Gotcha. Were you using a coroutine with the main dispatcher to call shutdown()?

@AndreNagem  - but did you try v4.3.1?  Thats the only version that contains the potential fix I pointed out (which seems related to your app hanging and not exiting)
Glad shutdownSuspend is working, but that wont guarantee your logs are posted to Statsig servers before the app exits

Closing this for lack of repro steps, and because there is a workaround.  We've also updated the shutdown path and it should not crash


No Version Info

Code needs version info added

https://github.com/davidjbradshaw/image-map-resizer/blob/master/package.json#L3

Cool. However, I didn't look at the JSON or min file at the time - which I now see has it. I was looking at the non min file - imageMapResizer.js - which doesn't have it

That is the source file, the version number is added by the Grunt script.

Didn't know that. Thanks.


Build doesn't work locally with recent node/npm versions

The build doesn't appear to work with recent node/npm versions. With node v7.10.0 and npm v4.5.0, I get the dreaded Error: Cannot find module 'internal/fs'. I think I've traced this down to gitbook 2.6.7 which seems to rely on older versions of node and graceful-fs. On the other hand upgrading gitbook to 3 breaks restructure-navigation which seems to be fixed to gitbook 2.x (upgrading all other dependencies to their latest seems to be ok, including grunt). I also  tried the restructure-navigation3 version in npm and had no luck. It looks like restructure-navigation is something Zalando built for itself (and perhaps for these guidelines, not sure). I haven't tried a workaround with moving the global npm/node versions back yet, but that's suboptimal for contributors.
This isn't breaking builds for publishing, but gitbook 3's been out for a while and staying on old versions in the node/npm ecosystem is usually unwise.

We once decided to stick with old Gitbook version https://github.com/zalando/restful-api-guidelines/issues/106
I think, if the guild decides to go with Gitbook 3 the guidelines need to be reordered to fit in default gitbook chapter structure. I would not adapt custom plugins or implement another plugin. Just stick to the default.

And current build is working with Node 5.1.1 Can we at least hardwire this somewhere?

We once decided to stick with old Gitbook version #106

Got it. I don't know how that stays realistic for (#106 is nearly a year old) in this particular ecosystem. It's disappointing the piece holding back an upgrade is an unmaintained Zalando plugin.

@fmueller We can specify the engine version to the package.json.

From the meeting: We should mention our decision to stay at this old Gitbook version in BUILD.md (maybe inviting volunteers to work on improving this). @fmueller could you do this?

Yes @ePaul, will put this into BUILD.md and mention it in README accordingly. Good idea.


Support for Get-Credential

It would be neat to support Get-Credential. It would just be feedback requested and then you would end a credential so the script could continue.

MUCH more important than Get-Credential itself is - to us at least - the support of [PSCredential] parameter types.
The majority of our scripts have to do something on a remote system, so they all have a parameter like this:
Param (
    [Parameter ( Mandatory = $true )]
    [PSCredential]$Credential
)

and UA unfortunately only prompts for a simple string, and the script fails.
In an existing powershell automation solution we use, PSCredential parameters are automatically recognized and when you want to run the script a dropdown of credentials you've configured before is available to choose from. I think that is the ideal approach.

Thanks for the feedback! I think making the parameter input more useful should be something we focus on sooner than later.


Push notifications not being recieved by the iPhone

I went through the instructions on http://docs.ionic.io/v1.0/docs/push-from-scratch.
The issue is that the push notifications work on Android devices, but not iOS.
This is a link to my repository that I created. https://github.com/hejalsoni/push-tutorial
Thank you!
Please let me know if you need more information.

Greetings @hejalsoni!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

Please ask this in our gitter chat room for the io-services.
https://gitter.im/driftyco/ionic-io-testers


redact should be called 'remove' to match riot/web, and show placeholder redacted msg bubbles as per web

Related Android issue:
https://github.com/vector-im/riot-android/issues/2752


Upgrade to 3.8.4

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@isuruf any idea where this one is coming from:
lld-link: warning: ignoring unknown argument '-rpath'
lld-link: error: could not open 'D:/bld/normaliz_1590582882765/_h_env/Library/lib': is a directory

Here and here

Output precision has changed in recent versions of e-antic:
diff -b test-nf/2cone.ref test-nf/2cone.out > test-nf/2cone.diff
11c11
< resulting sum of |det|s = (a+2 ~ 3.414214)
---
> resulting sum of |det|s = (a+2 ~ 3.4142136)
19c19
< volume (lattice normalized) = (a+1 ~ 2.414214)
---
> volume (lattice normalized) = (a+1 ~ 2.4142136)
26c26
<  1 (a ~ 1.414214)
---
>  1 (a ~ 1.4142136)
30c30
<  (a ~ 1.414214) -1
---
>  (a ~ 1.4142136) -1


Error: Can't set headers after they are sent. when using next() in production

I used to have route handlers like this:
router.get("/", async (_req, res) => {
	try {
		return res.json({ foo: "bar" });
	} catch (err) {
		console.error(err);
		return res.status(500).json({ foo: "", error: err });
	}
});

and after reading #24 and #29, I've started using next:
-router.get("/", async (_req, res) => {
+router.get("/", async (_req, res, next) => {
	try {
-		return res.json({ foo: "bar" });
+		res.json({ foo: "bar" });
+		return next();
	} catch (err) {
		console.error(err);
-		return res.status(500).json({ foo: "", error: err });
+		res.status(500).json({ foo: "", error: err });
+		return next(err);
	}
});

This seems to work fine in development, but when using the API in production, I get errors like this:
Error: Can't set headers after they are sent.
    at SendStream.headersAlreadySent (/home/kipras/projects/turbo-schedule/node_modules/send/index.js:390:13)
    at SendStream.send (/home/kipras/projects/turbo-schedule/node_modules/send/index.js:617:10)
    at onstat (/home/kipras/projects/turbo-schedule/node_modules/send/index.js:729:10)
    at FSReqCallback.oncomplete (fs.js:159:5)

If I revert back to how I was using the route handlers without calling next OR only calling next if the response body/headers were NOT modified, everything works fine & I don't get the errors anymore.
This answer provides some useful information: https://stackoverflow.com/a/7789131
also, from the same thread: https://stackoverflow.com/a/7086621

What solves the issue is only calling next() when the NODE_ENV !== "production", which makes the code look terrible and I'd love to avoid this:D
router.get("/", async (_req, res, next) => {
	try {
		res.json({ foo: "bar" });
+		if (process.env.NODE_ENV !== "production") {
-		return next();
+			return next();
+		}
+
+		return;
	} catch (err) {
		console.error(err);
		res.status(500).json({ foo: "", error: err });
+		if (process.env.NODE_ENV !== "production") {
-		return next(err);
+			return next(err);
+		}
+
+		return;
	}

Is there possibly any way to work around this?

I only really use the API spec generation once building:
I start up the server,
init expressOasGenerator,
activate API routes so that the docs get generated
& stop the server.
Then, once I have the openAPI.json file, I serve it in production through another package from npm (I use redoc, one could also use swagger-ui), because the file is just static, it does not need updating etc.

TL;DR:
The errors shouldn't be there. The next() also should not be called in these places, as noted in the stackoverflow threads above.
Working around with process.env.NODE_ENV works, but it's just wrong and I don't want to have my stuff like this.
Once again, I'd love to solve this if possible.

@sarpik Are you using any middleWare? Like SwaggerUI?
Also, can you show us your app.js/main.js/index.js?

@Nathan961207 yes, I'm using middleware.
Everything's available in my project - https://github.com/sarpik/turbo-schedule - specifically the server/ folder.
server.ts: https://github.com/sarpik/turbo-schedule/blob/master/server/src/server.ts
the routes are available in server/src/route/v1
If you have questions - feel free to ask!

@sarpik I took a look at https://github.com/sarpik/turbo-schedule/blob/master/server/src/util/applyAPIDocsGenerator.ts and saw this:
    if (process.env.NODE_ENV === "production") {
		/**
		 * this SHALL NOT be used in production!
		*/

	return;
    }

Is this done to avoid having to type
(process.env.NODE_ENV !== "production")

in your routes?
Otherwise, I would suggest removing any middleware you are using. That was my issue when generating a swagger.json.

Hey @Nathan961207, thanks for taking a look.
This is done to avoid invoking expressOasGenerator.init so that it's not applied in production - so that there's no /api-docs endpoint and no route handlers are added from express-oas-generator.
You'd still have to use
if (process.env.NODE_ENV !== "production") {
	return next()
}

in the routes, because calling next() after you've modified the responses body (like res.json({ foo: "bar" })) should never be done (stackoverflow.com/a/7789131, stackoverflow.com/a/7086621).
But I do it in development to generate the documentation and because no errors are produced in development mode, but once you run the app in production, the errors do start coming up on every request, hence why I use the !== "production" check.

By the way, this issue originally was that I need to use next() in places where it shouldn't be used (after modifying the response's body/headers etc).
By the way, I do not have a problem with generating the openapi.json docs there are some problems, I'll create a separate issue later - I just run the server/script/generateOpenAPIDocs.ts with ts-node-dev and both the openAPI.json and my modified version, openAPI.lean.json get generated, from which I use the openAPI.lean.json.

What middleware did you disable to generate the swagger.json?
For me, it works as it is currently.
I should note that the endpoint /api/v1/docs becomes available after a openAPI.lean.json file gets created by server/script/(generateOpenAPIDocs|modifyGeneratedOpenAPIDocs).ts, but the regular file openAPI.json is always served in development mode at the route /api-docs by express-oas-generator anyways.

My main concern in this issue is the Error: Can't set headers after they are sent. when using next() in production.

@sarpik I did disable SwaggerUI to get it working. Then i refactor the code so SwaggerUI was setup before express-oas-generator middleware.
I am sure you can call next() after modifying the body because you have not sent the header back.
Here is an important snippet from a previous issue: https://github.com/mpashkovskiy/express-oas-generator/issues/24#issuecomment-518607492

Ok, here is the problem: express-oas-generator (EOG) adds parameters handler as a very last middleware. If any middleware or path in router breaks the chain and doesn't pass execution to next middleware/router then very last EOG middleware won't be called. So call next() or next(err) as the very last line in your handler.

@Nathan961207  oh nevermind I found what was causing the inability to generate the openapi spec - I just needed to place the expressOasGenerator.init(app) right after creating the express app (const app = express()). More info here: https://github.com/mpashkovskiy/express-oas-generator/pull/32#issuecomment-546630020
This solves the second issue, but this original one (req headers can't be set after they're sent) - I'm still not sure about. I'll do some testing soon and will report back here.
Thank you for your help by the way, Nathan:)

Need some more time to investigate/understand the "original issue".

One note: this module should not be used in production. It may add too much overhead to your service by intercepting each and every request/response. Idea of the module is to generate baseline OpenAPI specification which will be reviewed, manually edited and only after deployed with your service or made available for REST API consumers by other means (swagger generators, etc).
I suppose you would like to use it because it provides Swagger UI for generated specification. There could be several options to get it:

use swagger-ui-express/swagger-ui-dist module directly, same way as it is done in index.js:143
add production mode to express-oas-generator so it intercepts nothing but just serves SwaggerUI and specification
deploy separately Swagger UI web site (it contains only static assets: HTMLs, CSSs and JSs) to CDN for your company with specifications to your services

I would like to emphasize one more time: express-oas-generator generates baseline specification, it should be reviewed and edited to avoid publishing sensitive information in examples of requests/responses.
But I'm not saying that I'm not going to investigate the problem.

@mpashkovskiy  Yeah I'm currently using express-oas-generator only in development mode - it's disabled in production.
Once I'm deploying my application, I run the tests and thus the documentation gets generated. Then I serve it with redoc, similarly to swagger-ui-dist.
I'm not afraid of potential security issues, because I use a fake database and only test with the data I code into my tests, meaning that no real data is used.
And the performance is fine, because I do not use express-oas-generator in production - I only serve the already generated specification.

I was concerned about the error
Error: Can't set headers after they are sent.

which happens to occur only in production mode, even though the express-oas-generator is not enabled; only because of (I suspect) the next() calls, which I avoid in production by using a condition, as mentioned above:
if (process.env.NODE_ENV !== "production") {
	return next()
}

with it, no errors occur. Without it, they do.
The error is my only concern at the moment, as I don't have any other problems.

@kiprasmel Is this still happening? Would you create an example to try it and include it on the roadmap? Ty!

@maxiejbe Yep, it indeed is.
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
    at ServerResponse.setHeader (_http_outgoing.js:518:11)
    at exports.openAPIDocsHTMLHandler (/home/kipras/projects/turbo-schedule/server/src/route/v1/openAPIDocs.ts:69:7)
    at Layer.handle [as handle_request] (/home/kipras/projects/turbo-schedule/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/home/kipras/projects/turbo-schedule/node_modules/express/lib/router/index.js:317:13)
    at /home/kipras/projects/turbo-schedule/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/home/kipras/projects/turbo-schedule/node_modules/express/lib/router/index.js:335:12)
    at next (/home/kipras/projects/turbo-schedule/node_modules/express/lib/router/index.js:275:10)
    at /home/kipras/projects/turbo-schedule/node_modules/express/lib/router/index.js:635:15
    at next (/home/kipras/projects/turbo-schedule/node_modules/express/lib/router/index.js:260:14)
    at next (/home/kipras/projects/turbo-schedule/node_modules/express/lib/router/route.js:127:14)
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

currently, as mentioned above ☝ https://github.com/mpashkovskiy/express-oas-generator/issues/36#issuecomment-546595767, I use a work-around to not get these errors in production, and ignore them in development.
The project is available -- https://github.com/kiprasmel/turbo-schedule, though it's not a small one, so debugging might be harder. I should try to create a simpler reproducible project, but am afraid I won't have much time anytime soon, sadly.

@kiprasmel In my opinion this is not exactly an issue of express-oas-generator but a consequence of using it. Let me explain:
Just reproduced it on the examples by running server_advanced.js and executing GET /students/stranger request. Here's the thing: To execute handleRequests at the end of each request we always need to call next() after responding, as it's always the last middleware.
But what happens with the paths that are matched by more than one app.use selector? (Eg: GET /students/stranger and GET /students/:id). So consider the following options:

Reply and not calling next() to avoid the subsequent routes to be executed (response won't be documented).
Check res.headersSent on the subsequent matched routes and then recalling next(). Check this post.

Let me know if it helps!

@kiprasmel Please take a look at this fix: https://github.com/mpashkovskiy/express-oas-generator/pull/63/commits/a2aa633bbc2590cad579f505733e4e4712b4372c 👍

@maxiejbe, bravo, excellent investigation! @kiprasmel could you confirm that it is the case?

@maxiejbe

In my opinion this is not exactly an issue of express-oas-generator but a consequence of using it

lol, this sentence alone made me realize what's wrong:D I've encountered the issue where more than one handler gets reached, and indeed it's because we call next, not because we're using express-oas-generator:D
Great job finding this out - I'll try the fix real soon, but I'm pretty sure that it's indeed the case.

@maxiejbe

Please take a look at this fix: a2aa633 +1

Yep, that's indeed the fix :tada: I suppose we can close this, or perhaps add this note to the documentation?

@maxiejbe

Please take a look at this fix: a2aa633 +1

Yep, that's indeed the fix 🎉 I suppose we can close this, or perhaps add this note to the documentation beforehand?

If you agree, let's close it and I'll include a note for this case after updating the README.md. Just to keep a cleaner roadmap.

Sounds like a plan.

@maxiejbe : this was most helpful! 👏


Audit log and follow klog standard

Describe what this PR does
Standardize the log and follow klog standard
Related issues
#795

@chenxu1990 thanks.. LGTM.. Approving.

@nixpanic ptal.


Add Breakpoints Composable

Added breakpoints composable for figuring out screen size

If I have this right, this change sets up a listener on the page dimensions so those values auto-update? Let me know if the intent is something different

If I have this right, this change sets up a listener on the page dimensions so those values auto-update? Let me know if the intent is something different

That is correct. this is useful for determining breakpoints and displaying different info on different screen sizes

That is correct. this is useful for determining breakpoints and displaying different info on different screen sizes

Thanks, then looks good


Updated NGA GEOPackage core from 2.0.1 to 6.5.0

#1707
#1684
#1706
Looking to update the NGA-Geopackage libraries within OSMDroid to the latest versions.

Because GeoPackage now supports DocumentFile natively, we may be able to provide support for DocumentFile as an alternative to File (polymorphs methods to support both classes) so Geopackage files can be opened from the shared storage with respect to scoped storage introduction since Android 10+.

Because GeoPackage now supports DocumentFile natively, we may be able to provide support for DocumentFile as an alternative to File (polymorphs methods to support both classes) so Geopackage files can be opened from the shared storage with respect to scoped storage introduction since Android 10+.
Even, to make it more flexible, we can simply use the GeoPackage class instead of the File class. A Geopackage file can have multiple tiles tables storing different tile maps. With a single tile source approach, we can separately handle each tile table with a separate GeoPackageMapTileModuleProvider().
Map<String, MapTileModuleProviderBase> providers = new LinkedHashMap<>();
//tiles object stores info about each geopackage file data (database, tile table, current tile table active state)
//so, we can granularly control its data that we want to manipulate
//key is database:table string format
String key = String.join(":", tiles.getDatabase(), tiles.getName());
//handle one geopackage
GeoPackage geoPackage = geoPackageViewModel.getGeoPackage(tiles.getDatabase());
GeoPackageProvider geoPackageProvider = new GeoPackageProvider(geoPackage, activity);

if (tileOverlays.get(key) == null) {
    TilesOverlay tilesOverlay = new TilesOverlay(geoPackageProvider, activity); //with default MapTileProviderBase
    tilesOverlay.setLoadingBackgroundColor(Color.TRANSPARENT);
    tilesOverlay.setLoadingLineColor(Color.TRANSPARENT);
    tilesOverlay.setLoadingDrawable(null);

    tileOverlays.put(key, tilesOverlay);
}

//...
if (!mapView.getOverlayManager().overlays().contains(tileOverlays.get(key))) {
    mapView.getOverlayManager().add(tileOverlays.get(key));
    mapView.setDrawingCacheBackgroundColor(Color.TRANSPARENT);
    mapView.setBackgroundColor(Color.TRANSPARENT);
}

//this geopackage may have multiple tile tables
GeoPackageMapTileModuleProvider provider = geoPackageProvider.geoPackageMapTileModuleProvider();
providers.put(key, provider);
GeoPackageMapTileModuleProvider provider = (GeoPackageMapTileModuleProvider) providers.get(key);
List<GeopackageRasterTileSource> tileSources = provider
        .getTileSources(tiles.getDatabase(), tiles.getName(), tiles.isActive());
tileSources.forEach((tileSource) -> {
    if (tileSource != null) {
        String tileSourceName = ((GeopackageRasterTileSource) tileSource).name();
        //...
        final MapTileFileStorageProviderBase cacheProvider =
                MapTileProviderBasic.getMapTileFileStorageProviderBase(simpleRegisterReceiver, tileSource, tileWriter);
        providers.put(String.join("-", key, "cacheProvider"), cacheProvider);
        //...
        mapView.setTileSource(tileSource);
        mapView.zoomToBoundingBox(((GeopackageRasterTileSource) tileSource).getBounds(), true);
        mapView.getController().setZoom(((GeopackageRasterTileSource) tileSource).getMinimumZoomLevel()*1.0);
    }
});
String[] providerNames = new String[providers.size()];
int i = 0;
for (Map.Entry<String, MapTileModuleProviderBase> entry : providers.entrySet()) {
	if (entry.getKey() != null && entry.getValue() != null) {
		providerNames[i++] = String.format("%s (%s)", entry.getKey(), entry.getValue().getClass().getSimpleName());
	}
}

MapTileProviderArray obj = new MapTileProviderArray(tileSource, new SimpleRegisterReceiver(activity), providerArray);
mapView.setTileProvider(obj);

This improvement is to limit GeoPackageProvider() to a single GeoPackage file so that we may control its tile source(s) more precisely with the required tileprovider(s) to manage a separate tile cache. It will be very simple to control the tile source hide/unhide feature (which is currently missing).
From
public GeoPackageProvider(final IRegisterReceiver pRegisterReceiver,
                              final INetworkAvailablityCheck aNetworkAvailablityCheck, final ITileSource pTileSource,
                              final Context pContext, final IFilesystemCache cacheWriter, File[] databases)

to
public GeoPackageProvider(final IRegisterReceiver pRegisterReceiver,
                                 final INetworkAvailablityCheck aNetworkAvailablityCheck, final ITileSource pTileSource,
                                 final Context pContext, final IFilesystemCache cacheWriter, GeoPackage geoPackage)

From
public GeoPackageMapTileModuleProvider(File[] pFile,
                                           final Context context, IFilesystemCache cache)

to
public GeoPackageMapTileModuleProvider(final Context context, IFilesystemCache cache, GeoPackage geoPackage)

This is my version to idealize the above proposal. I've also hacked a way to control the range of zoom levels allowed on the tile source of each tile table based on the data from the GeoPackage file itself in the getMapTile() method rather than relying on the getMaximumZoomLevel() method. The latter's original method has a global effect: if there are multiple GeoPackage files loaded, the first one loaded will restrict the max zoom level allowed in the MapView which is not desired. The same global effect occurs with the min zoom level of the original getMinimumZoomLevel() method.
GeoPackageProvider
GeoPackageMapTileModuleProvider
GeopackageRasterTileSource
Discussions on my approach can be found here: #1709 (comment)
Next support should be able to tell whether a table in a GeoPackage file is a features-based (vector type), a tiles-based (raster type), or feature tiles.

@eclectice Are these changes something that will be added to OSMDroid in the next release? Or is this a suggestion for developers who wish to use this feature going forward?

@monsieurtanuki The CI looks like it is failing for an API version. Should I address that? Or could that be a breaking change for the application as a whole?

The CI looks like it is failing for an API version. Should I address that? Or could that be a breaking change for the application as a whole?

That does look like a breaking change.
Given that this could impact only the geopackage package (in its own build.gradle), and assuming that your PR is really worth it, we could upgrade only the geopackage package to sdk 32.
Or, maybe you're able to identify what is causing this "min sdk 32" error - if it's something unimportant we can get rid of it.
Actually, I don't know very much about those things. @spyhunter99?

@PWRxPSYCHO I suggest it as a proposal to be implemented once your change has been successfully committed, as I was unable to push my change owing to an unknown OsmDroid build issue with Gradle-Fury last time. I'm also unfamiliar with the Git tool.
On minimum SDK version, there is a note regarding Android platform support

Starting with AGP 7.3.0-beta05, the highest supported minimum SDK version is 33 (you can use minSdk = 33). The minimum SDK represents the minimum version of Android that your app can run on and is set in the app-level build.gradle file.

https://developer.android.com/studio/releases/gradle-plugin#android-platform-support

Starting with AGP 7.3.0-beta05

We don't need to go that high, do we?

Starting with AGP 7.3.0-beta05

We don't need to go that high, do we?

My current AGP 7.3.0 build (which I will upgrade soon) generated this lint error demanding minSDKversion 24. https://issuetracker.google.com/issues/219091668?hl=id

My current AGP 7.3.0 build (which I will update this info soon) generated this lint error demanding minSDKversion 24.

That would be problematic for my Lollipop smartphone (21).

Latest CI build issue is related to this: j256/ormlite-android#141
The compileSDK bump is no longer required

It is just a variable but it is not applied in the android {} entry

Latest CI build issue is related to this: j256/ormlite-android#141
The compileSDK bump is no longer required

This is how I solved dependency duplicates between libraries that use different versions, and how I implemented my local version of OsmDroid Geopackage API support without using the same class package names. For example, I created SafGeoPackageProvider as a replacement for OsmDroid GeoPackageProvider version so that I could use the most recent GeoPackage API version.
    api 'mil.nga.geopackage:geopackage-android:6.6.0'
    implementation('org.osmdroid:osmdroid-geopackage:6.1.14') {
        exclude group: 'org.osmdroid.gpkg'
        exclude module: 'ormlite-core'
        exclude group: 'com.j256.ormlite'
    }

Last issue seems to be on the DocumentFile
There are 2 different versions being used. Android.x 1.0.1 & android support: 28.0.0

Latest CI build issue is related to this: j256/ormlite-android#141
The compileSDK bump is no longer required

It is just a variable but it is not applied in the android {} entry

Hmm, compileSdkVersion is still required in the android {} section since AGP complains about it if missing during the build.

Latest CI build issue is related to this: j256/ormlite-android#141
The compileSDK bump is no longer required

It is just a variable but it is not applied in the android {} entry

Hmm, compileSdkVersion is still required in the android {} section since AGP complains about it if missing during the build.

If you checkout the CI run here: https://github.com/ScriptTactics/osmdroid/actions/runs/3244600273/jobs/5320984386#step:5:327
You'll see that it's clashing with the document file issue. Android-Support brings in version 28.0.0 while the NGA-Geopackage-Android brings in Androidx which uses version 1.0.1.
I am also running CI on my newest PR: #1856 ->
https://github.com/ScriptTactics/osmdroid/actions/runs/3245757323/jobs/5323696698
This has all the changes in from this PR and the other PR. (Removing all android-support libraries and updating to Androidx) and there does not seem to be any issues about dependencies or duplicates

Because of changes in the GeoPackage API since v2.0.1, this WIKI must be updated.
https://github.com/osmdroid/osmdroid/wiki/Geopackage-Support

merged, feel free to update the wiki


Interactive Client API Documentation

RAML or Swagger based Interactive API to try out in real time in a web browser

Maybe consider something like using https://github.com/paritytech/substrate-api-sidecar to put a simple json api on top of SCALE.

William has started work on this, but it needs help from a web-dev, a repository on GitHub and hosting.

we should tackle this from within iroha-docs repository


Joins by back refs does not working

I try to make query like this
query = ItemModel.select(ItemModel, ManyToManyItemModel)
        .join(VideoItemScreenshotModel, JOIN.LEFT_OUTER,
              on=(ItemModel.id == ManyToManyItemModel.item_id)
              .alias('m2m_item_set')).aggregate_rows()

I expected to have results list of objects at m2m_item_set and i have it if i call this synchronously.
But when i call it async for example await ItemModel.db_manager.execute(query) i'v got ManyToManyItemModel in the m2m_item_set. Am I doing something wrong?
I understand how joined data adds in peewee and i did not find code which should do this in peewee_async.
In peewee https://github.com/coleifer/peewee/blob/master/peewee.py#L2720 this place do exactly what i want.
I can provide small app for showing the problem if you interested in.

@dyus Yes, there's no support for aggregated queries in peewee-async yet.  This is tricky part and seems that we need to re-implement it in async manner to have it.

As I can see, there's no more aggregate_rows() in peewee 3.0+


Allow to deploy architecture against CRC

This patch allows to deploy at least va-hci.yml scenario against CRC.
It's not enough, crafted parameter files are also needed to ensure
proper variables are passed in the right order, but mostly: it works.
It could be used to run architecture validation jobs, at least when VMs
are enough to test things up (for now, HCI, mostly).
When it comes to "baremetal provisioning", sushy may be leveraged to act
as the IPMI/related interface for metal3, allowing to go further down
the path of architecture testing.
This capability isn't "the end" - it's just offering a light way to test
things up.
Documentation will follow to show what specific parameter files are
needed (hence the DRAFT here).
As a pull request owner and reviewers, I checked that:

[X] For now there's no real testing for that patch. Running Architecture driven deploy isn't a thing yet.

recheck

/approve


Improve logging

This addresses the Issue #35

If tidy readable outputs interest you, try using colorama to indicate log levels

I think you missed the whole point of logging in the code changes you made. We don't just want colored output, we need to log things out, and print is not the function for that.

@pixalquarks actually colored output was part of one of the 4 tasks on that issue. But using colorama was debated. on the same issue. @bilal-aamer you need to use rich and do the same. I'll review both PRs soon and find a resolution

@pixalquarks  actually colored output was part of one of the 4 tasks on that issue. But using colorama was debated. on the same issue. @bilal-aamer  you need to use rich and do the same. I'll review both PRs soon and find a resolution.

What I mean is our first importance should be logging, since using print is not recommended to log stuffs. Also about colored outputs, we can just use rich for that too.

What I mean is our first importance should be logging, since using print is not recommended to log stuffs. Also about colored outputs, we can just use rich for that too.

Agreed will start on the rich part

closing for now.. Feel free to open once code is ready.


Save function names in presets

Get rid of hashes in preset files.

I did not look at the code, but I assume this will break compatibility with old preset files? If that is the case, please make sure the corresponding bug is included in the sprint hotlist and has a release note

I did not look at the code, but I assume this will break compatibility with old preset files? If that is the case, please make sure the corresponding bug is included in the sprint hotlist and has a release note

It won't.


Default taxonomies

Feature Request
Summary
Zola can do unlimited taxonomies, provided there is a fallback template.
I would like to request such a feature.
Motivation
Multiple taxonomies allows applying more granular metadata and more ways to "slice" up the site's content.
Detailed Description
I think all we need is to add taxonomy_single.html and taxonomy_list.html to the templates directory.
I suspect it would be much the same content of the tags taxonomy templates.
Additional Context
https://www.getzola.org/documentation/templates/taxonomies/

Thanks for requesting this and sharing the docs.
I'll look into it soon.

I think all we need is to add taxonomy_single.html and taxonomy_list.html to the templates directory.

This is indeed enough to create the pages.
However, do you expect these taxonomies to be shown in the post metadata? That is, in the actual article, below the title, and in the post listing (blog section)?
Can you tell me a bit more about your intended use case?
Thanks!

Good question, I would like to at least be able to filter posts based on a second taxonomy. Presently I have one for post category, where I track if it's a tutorial, reference document, etc. I don't need the taxonomy to show on the post page or in sections, it's a nice-to-have but I think it would be complicated to generalize for n taxonomies

So, if I understand correctly, it would be enough for your needs to only provide the fallback templates?
The listing or individual pages would be orphan links unless you linked them yourself from some place (like the menu or an article).
Is that good enough?

Yes. I only have one other taxonomy so it doesn't bother me to link it  manually.

Done!


Method in Table to invert transformer

Is your feature request related to a problem?
To allow method chaining, I'd like to have a method in the Table class to invert a (fitted) transformer.
Desired solution
class Table:
   def inverse_transform_table(self, transformer: InvertibleTableTransformer) -> Table:
      ...

It should also maintain the tagging of a TaggedTable (#58).
Possible alternatives (optional)
No response
Screenshots (optional)
No response
Additional Context (optional)
No response

:tada: This issue has been resolved in version 0.12.0 :tada:
The release is available on:

v0.12.0
GitHub release

Your semantic-release bot :package::rocket:


Support for image with no annotations in RetinaNet

Fixes #2800
Merge after #3031, coauthored with @fmassa.
To ensure that the patch in this branch does not affect the performance of the model I retrained it and compared it with master.
Branch
retinanet_resnet50_fpn + no annotations support: boxAP=36.4
0: IoU metric: bbox
0:  Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.364
0:  Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.558
0:  Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.384
0:  Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.190
0:  Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.401
0:  Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.492
0:  Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.314
0:  Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.503
0:  Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.542
0:  Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.342
0:  Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.584
0:  Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.690

Master
retinanet_resnet50_fpn: boxAP=36.4
0: IoU metric: bbox
0:  Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.364
0:  Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.558
0:  Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.381
0:  Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.193
0:  Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.400
0:  Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.489
0:  Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.314
0:  Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.502
0:  Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.541
0:  Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.334
0:  Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.584
0:  Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.692

The above master metrics were taken from the recently merged PR on #2954.

Rebasing this on the latest master fails an unrelated CI test:

Windows GPU
Linux GPU

Let's try rebasing later to see if this was the result of a bug nightly upstream.

There seems to be some upstream change that has side-effects to this PR. It's unclear how this is possible since the changes don't affect the DeformConv2d operator. Details:

The commit c5d2868, passed all CI test on  20th of November (CI logs)
Rebasing on latest master with commit 860669e, failed CI tests on 27th of November (CI logs)
Undoing the rebase and force pushing passes all the CI test on 27th of November (CI logs)

I did a dummy PR #3054 to remove the test introduced and rebase and it works. It seems that the DeformConv2d test for autocast is flaky and we hit a bad seed. I'm going to try to fix this here by setting the seed to a different value.


How To Reproduce
Steps to reproduce the behavior(code or script):
def test_fn():
    import torch
    from diffusers import StableDiffusionXLPipeline
    from onediff.infer_compiler import oneflow_compile
    t2i_pipe = StableDiffusionXLPipeline.from_pretrained(
        "/data/hf_models/sdxl/stable-diffusion-xl-base-1.0",
        torch_dtype=torch.float16,
        variant="fp16",
    )
    t2i_pipe.to("cuda")
    t2i_pipe.vae.decoder = oneflow_compile(t2i_pipe.vae.decoder)
    t2i_pipe(
        prompt="a photo of a cat",
        negative_prompt="",
        num_inference_steps=30,
        height=2048,
        width=2048,
    )
test_fn()

The complete error message
Additional context
Add any other context about the problem here.

Related inner issue: https://github.com/siliconflow/sd-team/issues/158

On A100 40G.
Vae compile peak memory cost:

Without onediff: 10G(unet iter), 37G(vae)
With onediff: 10G(unet iter), OOM(vae)

Unet compile peak memory cost:

Without onediff: 10G(unet iter), 37G(vae)
With onediff: 10G(unet iter), 38G(vae)

oneflow reuses the parameter memory with torch, but uses a different memory pool for the output tensor.
vae costs a lot of memory for activation, so this will cost a lot more of memory when compiling VAE when the output image is very large.
So currently it's not recommended to compile the vae for very large output images.
And we will try to fix this with our new nexfort compiler which will use torch runtime to avoid this problem.


Merchant logo on checkout pages

Adding this to have a section in best practices docs for adding a merchant logo for checkout pages.
That should covers both of client side and API based integrations.
Regards,
Shoaib

Also interesting in set Logo. Please provide some information about customisation of Payment page


Implement a simpleLottie animation

Superseded by https://github.com/godotengine/godot/pull/91580.


Added Make an announcement guide

This guide explains how to make an announcement on Zulip.

Automated message from Dropbox CLA bot
@Jeffthebest1, it looks like you've already signed the Dropbox CLA. Thanks!

@lonerz Fixed! 👍

Hi @Jeffthebest1!
Could you check your submission with the docs style guide, especially the screenshot part?
Thanks!

Hey @Jeffthebest1 , this is looking good, but you might want to go into more detail on how to send a message from the #announce stream. Try seeing the other docs about sending a message for reference.
Also, to fit with the styling guide, check to see if you can cut down your image size (I'm pretty sure we don't need to see the whole screen) or use any of the new macros we have.
Good work!

@synicalsyntax @trueskawka I think I've fixed everything. Thanks! 😄

Can you try formatting your steps as a series of numerical steps? (1. 2. 3.)

@synicalsyntax How's that?

@synicalsyntax I think this is Ok. Thanks 👍

@anirudhjain75 t not T is used in !!! tip "" in the doc

@Jeffthebest1 then just change warn -> warning

Fixed :) Thanks @anirudhjain75

@anirudhjain75 I already tried removing the indentation before !!! but it doesn't do anything. So, I reverted it to how it originally was

Here is a screenshot of the working doc:

@Jeffthebest1 You forgot one important thing - you have to add a link to your doc in templates/zerver/help/index.md :P

Thanks @synicalsyntax Fixed! 👍

Looks great! This should be ready for merging :)

@timabbott Could you take a look now? I think I've fixed everything. There seems to be confusion about using !!! warn instead of !!! warning (which doesn't work)

Thanks @synicalsyntax. This is the first doc I've worked on!

Oh, there's one more thing you could fix. Right now we're trying to replace all icon images with the icons themselves, so do you mind replacing ![x](/static/images/help/x.png) with <i class="icon-vector-remove"></i>? It may prevent a merge conflict in the future.

@synicalsyntax Fixed! 😄

Thanks! Hopefully a mentor will come and merge this soon :)

merged! thanks, @Jeffthebest1 and @synicalsyntax !

Thanks @showell 😄


When I scroll the screen is too twitchy, unpleasant and uncomfortable, disgusting, so impossible to use

When I scroll the screen is too twitchy, unpleasant and uncomfortable, disgusting, so impossible to use
poco x3 pro

Let's hope this will make things better: https://github.com/vitorpamplona/amethyst/commit/e18945b3787db99744bce908a1eef663bafcd994

Can you check if version 0.88.0, on the performance mode (left drawer/Settings) makes it work better?

Please check if the Release v0.88.2 fixes it


Alternative options: Redis cache

Description
https://redis.com/blog/redis-adopts-dual-source-available-licensing/
Starting with 7.4, non-open/source-available license is in effect.

I'm wondering, what are the implications of this for distribution users -- this project does not aim to provide a commercial offering of Redis cache. Does merely using Redis in one's registry stack violate the license? I'm not a [SW license] lawyer so it'd be nice if someone could weigh in on this.

It might be easier to switch to one of the Redis forks instead as the suggestion? Redict has a couple of RCs out (https://codeberg.org/redict/redict) and uses Distribution for its own containers already: https://registry.redict.io/


Hardcoded v-prefix in changelog

Hi there, I just recently started using this great library.
I set the tag_format to {version} without the v-prefix.
[tool.semantic_release]
# ...
tag_format = "{version}"

In the changelog headers however there is a hardcoded v-prefix.
# Changelog

All notable changes to this project will be documented in this file.

## v0.7.1 (2023-02-19)
### Fix
...

There is no way to disable this via another setting, right?
Any help would be appreciated. Thank you.

Hey @afuetterer - I don't think there is a way to disable this setting currently, for example it is hardcoded here.
This should be possible in the upcoming major version - you can try it out yourself with pip install --upgrade --pre python-semantic-release :slightly_smiling_face:

Hi @bernardcooke53, thanks for taking the time to answer me.
That is great news. v8 looks awesome. I will try the pre-release soon.

Hi @bernardcooke53, I tried the pre-release. What is the best way to give feedback on things I discover? If I understood the configuration correctly, some things don't work as expected.

For example: Using the pre-release v8.0.0-alpha.3 seems to not take into account the tag_format specified in pyproject.toml, when tagging and releasing?
tag_format = "{version}"

See my config in https://github.com/afuetterer/minimal-example
It tagged and released v0.1.0, instead of 0.1.0. Or am I doing something wrong here?

Probably best to take other bugs to https://github.com/python-semantic-release/python-semantic-release/issues/487 - thanks for testing it out and for sharing the minimal example, I have used your repo locally to test it out and that should now be fixed in v8.0.0-alpha.4 :crossed_fingers:

Excellent, thank you very much for your reply.
I tried alpha.4, the fix works and minmal-example gets tagged with the specified tag_format.
I will report other links in #487 as suggested.


Images contained in a widget are not displayed on WIDGET TESTS

Steps to Reproduce

We have screens/widgets that load some assets like:
Image.asset(
'lib/assets/icons/icon_image.png',
)
When we run the app, the screens are loading fine.
When we created a widget test on one of our screens, the images are not displayed
flutter run test/your_test.dart

Below is the asset section of the pubspec.yaml file
assets:
- lib/assets/
- lib/assets/icons/
Logs

/Users/user/Documents/Flutter/sdk/flutter/bin/flutter doctor --verbose
[✓] Flutter (Channel stable, v1.7.8+hotfix.4, on Mac OS X 10.14.4 18E226, locale en-US)
• Flutter version 1.7.8+hotfix.4 at /Users/user/Documents/Flutter/sdk/flutter
• Framework revision 20e59316b8 (5 weeks ago), 2019-07-18 20:04:33 -0700
• Engine revision fee001c93f
• Dart version 2.4.0
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at /Users/user/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• ANDROID_HOME = /Users/user/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 10.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.2, Build version 10E125
• CocoaPods version 1.6.1
[✓] iOS tools - develop for iOS devices
• ios-deploy 1.9.4
[✓] Android Studio (version 3.3)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 33.4.1
• Dart plugin version 182.5215
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
[✓] IntelliJ IDEA Community Edition (version 2019.1)
• IntelliJ at /Applications/IntelliJ IDEA CE.app
• Flutter plugin version 33.4.3
• Dart plugin version 191.6183.87
[✓] Connected device (1 available)
• SM A520F • 52105109ea678475 • android-arm64 • Android 8.0.0 (API 26) (emulator)
• No issues found!
Process finished with exit code 0

/cc @chunhtai

Do you have a runnable example? This should be supported if you use testWidget.

@chunhtai I tried this as an example:
void main(){
Widget testWidget() => MaterialApp(
home: Scaffold(
body: RepaintBoundary(
child: Container(
width: 200.0,
height: 200.0,
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage(
'lib/assets/icons/icon_image.png',
),
),
),
),
),
),
);
testWidgets('Widget Test', (WidgetTester tester) async {
await tester.pumpWidget(testWidget());

await expectLater(find.byType(Container),
  matchesGoldenFile('sample_golden.png'),);

});
}
and then ran flutter test --update-goldens test/widget_test.dart
00:03 +1: All tests passed!
but sample_golden.png is a blank image.

Since the assets loaded in an async manner, you will need to run in async
void main(){

  Widget testWidget() => MaterialApp(
    home: Scaffold(
      body: RepaintBoundary(
        child: Container(
          width: 200.0,
          height: 200.0,
          decoration: const BoxDecoration(
            image: DecorationImage(
              image: AssetImage(
                'lib/assets/icons/icon_image.png',
              ),
            ),
          ),
        ),
      ),
    ),
  );

  testWidgets('Widget Test', (WidgetTester tester) async {
    await tester.runAsync(() async {
      await tester.pumpWidget(testWidget());
    });
    await expectLater(find.byType(Container),
      matchesGoldenFile('sample_golden.png'),);
  });
}

@chunhtai I tried your code but it ran too fast when I executed flutter run test/widget_test.dart (instead of flutter test) .
I tried to add await tester.pumpAndSettle(Duration) after calling tester.pumpWidget(testWidget) and the image appeared. However, when i executed flutter test --update-goldens in order to update the golden file. The images are still not part of the snapshot to be used in golden test.

@chunhtai
I'm experiencing the same thing with PieChart
https://pub.dev/packages/charts_flutter
https://github.com/google/charts/blob/master/charts_flutter/lib/src/pie_chart.dart
Can you please advise?
Thank you!

@snickersv2
Do you runnable test example? It depends on how you set up the test to manually precache the image.

@chunhtai I don't have one yet but it seems we need to call tester.runAsync to load the widget that contains the chart.
await tester.runAsync(() async {
await tester.pumpWidget(MaterialApp(home: ChartContainingWidget(
data: dataModel )));
await tester.pumpAndSettle();
});

@snickersv2 yes, you will need to use runAsync if the widget relies on any asynchronized function to build which loading asset does

Closing this one.

Just in case someone is testing multiple asset images in a single widget in their test, this line of code might be helpful (assuming that you are using Image class to create the Widget, not DecoratedBox).
  /// current workaround for flaky image asset testing.
  /// https://github.com/flutter/flutter/issues/38997
  Future<void> pump(WidgetTester tester, Widget w) async {
    await tester.runAsync(() async {
      await tester.pumpWidget(w);
      for (var element in find.byType(Image).evaluate()) {
        final Image widget = element.widget;
        final ImageProvider image = widget.image;
        await precacheImage(image, element);
        await tester.pumpAndSettle();
      }
    });
  }

Several of the comments above suggest running WidgetTester methods like pump and pumpWidget inside a runAsync callback. This will not have the desired effect -- in fact, I'm surprised it doesn't crash or otherwise fail. The only part that's appropriate to put inside a runAsync is the precacheImage call.


traefik: fix cross compilation

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[x] risv64-linux (cross)
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

@ofborg eval

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

1 package built:

traefik


Nest set_fan_mode results in exception

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
0.37.0
Python release (python3 --version):
3.5.3
Component/platform:
Nest Thermostat
Description of problem:
The climate.set_fan_mode service no longer works on the Nest component, it results in a nest.nest.APIError: Invalid content sent.
Expected:
Nest fan to assume the requested mode
Problem-relevant configuration.yaml entries and steps to reproduce:
nest:
  client_id: CLIENT_ID
  client_secret: CLIENT_SECRET

Call climate.set_fan_mode with data:

{"entity_id": "climate.apartment", "fan_mode": "on"}

Traceback (if applicable):
17-02-01 10:12:14 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "uvloop/future.pyx", line 374, in uvloop.loop.BaseTask._fast_step (uvloop/loop.c:112704)
  File "/usr/src/app/homeassistant/core.py", line 1052, in _event_to_service_call
    yield from service_handler.func(service_call)
  File "/usr/src/app/homeassistant/components/climate/__init__.py", line 373, in async_fan_mode_set_service
    yield from climate.async_set_fan_mode(fan)
  File "uvloop/future.pyx", line 230, in __iter__ (uvloop/loop.c:110600)
  File "uvloop/future.pyx", line 432, in uvloop.loop.BaseTask._fast_wakeup (uvloop/loop.c:113980)
  File "uvloop/future.pyx", line 101, in uvloop.loop.BaseFuture._result_impl (uvloop/loop.c:108900)
  File "/usr/local/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/app/homeassistant/components/climate/nest.py", line 204, in set_fan_mode
    self.device.fan = fan.lower()
  File "/usr/local/lib/python3.5/site-packages/nest/nest.py", line 286, in fan
    self._set('device', {'fan_timer_active': mapped_value})
  File "/usr/local/lib/python3.5/site-packages/nest/nest.py", line 158, in _set
    response = self._nest_api._put(path=path, data=data)
  File "/usr/local/lib/python3.5/site-packages/nest/nest.py", line 1525, in _put
    return self._request('PUT', path, data=data)
  File "/usr/local/lib/python3.5/site-packages/nest/nest.py", line 1517, in _request
    raise APIError(response)
nest.nest.APIError: Invalid content sent

Additional info:
The services.yaml incorrectly states that the climate.set_fan_mode parameter is fan when it should be fan_mode. I'm going to look into this whole issue and any PR that addresses it should also fix the parameter name in services.yaml.

Seems to be a dependency issue: jkoelker/python-nest#63

This should be fixed in python-nest 3.1.0.

Fixed in 35f6dbc9


Port directory structure to correct Meteor Package layout

https://guide.meteor.com/structure.html
consider using:
http://cleverbeagle.com/pup/v1/file-structure

moved to next milestone


Lazy metafunctions and predicates should be SFINAE friendly

Taken from https://lists.boost.org/Archives/boost/2017/04/234333.php:

The documentation explicitly states that the violation of pre-conditions for transformation traits produces a SFINAE-friendly substitution error. While that does seem to be true for their eager *_t versions as fair as I could verify, it can't possibly hold true for the lazy versions of transformation traits, which is a direct consequence of the way they are defined, namely
template<typename T>
struct trait {
    using type = trait_t<T>;
};

This always produces a hard error if the pre-conditions for trait_t are violated. One option would be to clearly state in the documentation to what extent transformation traits are SFINAE-friendly, however I deem it surprising that the eager versions should be SFINAE friendly whereas lazy versions are not, therefore I suggest that the definition of lazy transformation traits be amended to guarantee this property as well, possibly by simply explicitly triggering a substitution error like follows
template<typename T, typename = void>
struct trait {};
template<typename T>
struct trait<T, std::void_t<trait_t<T>>> {
    using type = trait_t<T>;
};

The above is also true for predicate traits, which define a nested typename type in terms of an unfriendly expression, instead of inheriting it along with the integral constant value. This is less of a problem in this case, since the user is most interested in the nested integral constant value, but still there doesn't seem to be any reason for the nested typename type to not be SFINAE-friendly.

From a user perspective, I find it highly surprising that the lazy traits are not SFINAE friendly, while the aliases are. Typically, a XYZ_t trait should just be a shorthand for typename XYZ<...>::type, but both should be interchangeable as much as possible.

Fixed via 96264a9d997463d8ea83838e2df11ebf7009afd0


Maybe a weird question but...

Why isn't this on Nexus Mods? I haven't seen it even mentioned there at all. Found it by chance when someone posted it on the FO3 PCGW page. Is it highly WIP or usable already? Anyway thank you very much for it.

Sure it's usable, but there are many potential caveats when it comes to different setups and modlists, so I didn't feel like putting it on Nexus. I don't know who added it on PCGW.

I see, thanks. Hopefully you can smooth things out with the mod.


Is there a way to convert asConst enums to PascalCase?

Instead of this:
export const bankTransferType = {
  INTERNAL: 'INTERNAL',
  EXTERNAL: 'EXTERNAL',
} as const;

I'd prefer to have this:
export const BankTransferType = {
  INTERNAL: 'INTERNAL',
  EXTERNAL: 'EXTERNAL',
} as const;

or BANK_TRANSFER_TYPE.
IS there any way to achieve this currently?
Thank you, very nice lib!

Added a new property/setting to the enumType of the config of swagger-ts.
See https://kubb-git-feat-aspascalconst-kubb.vercel.app/plugins/swagger-ts#enumtype.
Will be merged in the following PR: https://github.com/kubb-project/kubb/pull/223

Love U <3


Adopt ORD v1.2.0

Description
Changes proposed in this pull request:

Adopt ORD v1.2.0

Related PR(s)

https://github.com/kyma-incubator/compass/pull/2949

https://github.tools.sap/CentralEngineering/open-resource-discovery-specification/issues/670


Added support for oneof fields

I was in need of support for oneof fields (https://protobuf.dev/programming-guides/proto2/#oneof) and created this PR which adds support for both generating and parsing of oneof fields.

@lyda is there any interest in oneof support? If there is, then I can perhaps add some tests and make this ready for review?


basic SQL expressions

Z should be able to embed SQL expressions.  We will start with a basic implementation of SELECT, FROM, JOIN, GROUP BY, HAVING, ORDER BY, and LIMIT.  Support for recursive joins will be added later.

This depends on #2260

Verified in zq commit 28a347d using the fruit sample data.
There's lots of variations shown in the tests in the linked PR, but here's a simple one.
$ zq -version
Version: v0.29.0-167-g28a347d7

$ cat fruit.zson
{name:"apple", color:"red", flavor: "tart"} (=fruit)
{name:"banana", color:"yellow", flavor: "sweet"} (fruit)
{name:"bob", likes: "tart", age:61} (=person)
{name:"strawberry", color:"red", flavor: "sweet"} (fruit)
{name:"dates", color:"brown", flavor: "sweet" } (fruit)
{name:"joe", likes: "sweet", age:14} (person)
{name:"figs", color:"brown", flavor: "plain" } (fruit)
{name:"pomegranate", color:"red", flavor: "tart" } (fruit)
{name:"jim", likes: "plain", age:30} (person)

$ zq -f table 'SELECT * FROM fruit WHERE color=red ORDER BY name LIMIT 2' fruit.zson
NAME        COLOR FLAVOR
apple       red   tart
pomegranate red   tart

Thanks @mccanne!


Crashes when entering subdirectory (e.g. Popular) after upgrading to beta5

I'm submitting a ...

[ x] bug report
[ ] feature request
[ ] support request

General infomration
Prerequisites

[x ] Are you running the latest version?

Description
Yesterday i upgraded OSMC so now the Kodi is at 18.0-BETA5, after this upgrade when I enter into some subcategory (e.g, Kids -> Popular) it shows loading sign and then Kodi crashes
Steps to Reproduce

Launch Netflix Addon
Select Kids profile
Select "Popular" (or anything else, like search, does not matter)
Kodi interface crashes with a sad face

Expected behavior:
Expect to see  a list of movies
Actual behavior:
Kodi crashed
Context (Environment)
Installation

[ ] I installed the plugin via zip from the Releases page
[x ] I´m using the Netflix Repo
[ ] I´m using a different source (Please tell which)

Operating System

[ ] Linux (x86/x64)
[ ] OSX (x86/x64)
[ ] Windows (x86/x64)
[x ] Linux (ARM)
[ ] Android

Additional informatin on the environment
Raspberry PI 3 B+
Starting Kodi (18.0-BETA5). Platform: Linux ARM (Thumb) 32-bit
Using Release Kodi x32 build (version for Raspberry Pi)
Kodi compiled Oct 24 2018 by GCC 6.3.0 for Linux ARM (Thumb) 32-bit version 4.9.30 (264478)
Debug log
https://paste.osmc.tv/urorujacup
Other information
Tried clear netflix config from userdata, tried clearing widevine folder, does not help

seems to be latest OSM issue


auth0 integration

This is a WIP pull request.
The login fails currently although my details are correct, maybe there's something wrong with our api endpoint? You can just run this and it will immediately prompt you for credentials, so you can give it a try, @karissa

seems to be working for me, what were you trying to do? Did you try creating an account first?

Ah ok It seems that the bug is the popup is going blank the first time, then if you cancel and try again, it goes through the second time... no errors.

found the bug cross referenced here: https://github.com/auth0/auth0-electron/issues/16

looks like it works now with sso: false

ok updated the theme, too.

works great! we should probably have logout and a way to configure different client key based on dev/prod before this gets merged.

ok, added simple logout button but it needs to be actually designed. going to wait on choo for that.
I also added dev/prod environment stuff.
in the meantime i think we can merge.


fix content-length for 9.8.2 on linux64-tinfo6

Here's how I reproduced the issue:
$ docker run -it --entrypoint=/bin/bash ghcr.io/commercialhaskell/stackage/build:nightly
root@190222c36ed8:/# GHCVER=9.8.2
root@190222c36ed8:/# STACK_VERSION=2.15.3
root@190222c36ed8:/# curl -L https://github.com/commercialhaskell/stack/releases/download/v${STACK_VERSION}/stack-${STACK_VERSION}-linux-x86_64-bin > stack
root@190222c36ed8:/# chmod +x stack
root@190222c36ed8:/# ./stack setup ghc-$GHCVER
Writing the configuration file for the implicit global project to:
/home/stackage/.stack/global-project/stack.yaml. Note: You can
change the snapshot via the resolver field there.
Using the latest snapshot lts-22.11.
Preparing to install GHC (tinfo6) to an isolated location. This
will not interfere with any system-level installation.
Preparing to download ghc-tinfo6-9.8.2 ...
Download expectation failure: ContentLength header
Expected: 214363160
Actual:   213956760
For: https://downloads.haskell.org/ghc/9.8.2/ghc-9.8.2-x86_64-fedora33-linux.tar.xz

I manually downloaded and checked the xz and it matches the expected shas. The actual length is as it says, which does not match the expectations currently listed in stack-setup-2.yaml.

@DanBurton, yes it does - sorry, I had originally picked up the size for fedora38 instead of fedora33.


App crashes when downloading 1st app from Appstore [1-2hr]

This bug is related to https://github.com/elimu-ai/webapp/issues/605#issuecomment-346429908
I'm working on fixing the back-end now.


Can we hide pagination dots for mobile?

Can we hide pagination dots that come on the top of the screen. Screenshot is attached for the reference:

Also can we change the text/color of buttons?

There is a stepperBuilder field in SurveyLayout which maybe you can override.
As for the theming of widgets, you may wrap your entire SurveyWidget in a flutter Theme widget and use its data field to customize the colors. (see #14)

See https://github.com/goxiaoy/flutter_survey_js/blob/main/example/lib/components/custom_layout.dart


Rewrite the TypeScript generator

I'd like to convert the TypeScript generator code from JavaScript to TypeScript, but I keep running into a wall with the Requirement class. A Requirement is a wrapper for a node in the OpenAPI spec.
Option 1: Fix the Requirement Class
The Requirement class has three parts:

the data (the node itself)
a reference to the specification
a URL (where it is in relation to the specification)

A few methods assume the data is an object, which is making adding type annotations difficult. It might help if we split the Requirement class into BranchRequirement and LeafRequirement. (Note that when the data is an array, it's treated as an object with numeric keys.)
Option 2: Rewrite the whole thing
This was originally written as a proof of concept. I wasn't sure where I was going with it, or if I could even pull it off. Now that I know what I want to achieve, it might make sense to take a step back and rewrite the whole thing from scratch.
Option 3: Do nothing
The code works and it's not terribly difficult to modify to add new features. So maybe it's best to leave the code in JavaScript for now.

I think having the code in TS is a noble idea, but don't let the perfect be the enemy of the good. The code is working well.


adding base java client with listMetrics

Summary

adding base java client with list metrics
Test Plan

[ ] PR has an associated issue: #
[ ] make check passes
[ ] make test shows 100% unit test coverage

Deployment Plan

n/a

Hey @Geo881 thanks for starting the journey on the Java client! I think its totally fine to add things slowly, but would you also mind to start with a unit test harness and the first unit test for your listMetrics() ?


Use service port for audio groups

Possible fix for audio groups. Tested with out having audio groups and normal cast functionality remains.

Just tested this on my new chromecast set up and it casts to groups successfully with some modifications inside GPMDP as well 👍


CHANGELOG is outdated

Versions 0.17.1 and 0.18.0 are missing in CHANGES.rst

Fix by PR #621 ... but version 17.1 is missing.

Fixed by #627.
@lbartoletti thanks for reporting.


Suggested improvements to OTB Documentation made during FOSS4G code sprint

Minor edits made to the documentation by Daniel McInerney with Manuel during the FOSS4G code sprint in Boston.

+1

Merge in develop with additional commits:

add Daniel to the list of contributor
Improve documentation of Orthorectification app to document the support of radar image


moduleNameMapper does not work with constants

🐛 Bug Report
When I'm trying to use moduleNameMapper to resolve import from constants local folder, it does not work. It works fine, when I use singular form: constant.
I think it might happen because constants is sort of reserved module in node.js. However, plural form (constants) works fine with web pack aliases, so they find a workaround somehow.
To Reproduce
In one of the files import variable from constants module:
import { A_CONSTANT } from 'constants'

Set up an alias with moduleNameMapper:
"moduleNameMapper": {
      "^constants$": "<rootDir>/src/constants/index.js"
    }

Run tests
Expected behavior
The variable should be defined. Instead it is undefined
Link to repl or repo (highly encouraged)
https://github.com/maksimsemenov/jest-module-name-mapper
Run npx envinfo --preset jest
System:
    OS: macOS 10.14.5
    CPU: (4) x64 Intel(R) Core(TM) i5-4260U CPU @ 1.40GHz
  Binaries:
    Node: 10.15.3 - /opt/local/bin/node
    Yarn: 1.15.2 - /opt/local/bin/yarn
    npm: 6.9.0 - /usr/local/bin/npm
  npmPackages:
    jest: ^24.8.0 => 24.8.0

I am facing this issue too.
The alias 'constants' does not work with Jest.
Any import from this alias comes as undefined during tests.
Jest: 23.6.0

Woah, this issue is super weird! The reason is that constants is a node core module
$ node -p "require('module').builtinModules.includes('constants')"
true

In that case, we give you that instead of the mapped module: https://github.com/facebook/jest/blob/94067089dd25c77463e24e981fe979fb6cc0b2fb/packages/jest-runtime/src/index.ts#L313-L315
I'm not sure how we should deal with this. We currently match node's behavior (even if you install e.g. fs from npm, doing require('fs') will silently give you the core module). Could we possibly throw an error if we resolve a local module, but figure out it's a node builtin?
/cc @thymikee @jeysal thoughts?

I think that the main confusion point, at least for me, was that I can normally use constants with webpack aliases, they resolve it to local modules instead of node builtin. Not sure which approach is more correct, but webpack's is more convenient: I can put all my constants in one folder and easily access them.

Intuitively, I'd assume moduleNameMapper overrides every aspect of the normal resolution like apparently it does in webpack, disregarding kinds of modules. And why not - if you want to use the respective core module in the same project, then ... umm, just don't configure the module name mapping like that 😅

I suggest to add new field in the config with name is node and implement like webpack config but exclude mock value, only support: true, false and empty. This config will be used in _requireCoreModule function. If you think it is a good idea, I can help! :D

I don't think we need config for this, I think it should just be changed (fixed IMO). It should apply to module names like constants just like to any other module name.

If the core modules are outside constants we will have many other names (os, util,...), this seems to be reasonable for this feature request! https://nodejs.org/api/index.html
I only think the case of a project that has been implemented and modified to use Jest fails as above.  and I'm still the same as you, we shouldn't use those names in the first place!

I didn't quite understand your last message, I think you understood me, but just to confirm: IMO we should resolve this issue by changing from (pseudocode)
isCoreModule ? getCoreModule : (isMappedModule ? getMappedModule : getModule)

to
isMappedModule ? getMappedModule : (isCoreModule ? getCoreModule : getModule)

Thanks, I will be create PR for it!

It seems that this problem still exists in the latest version(26.6.3), @lamhieu-vk

It seems that this problem still exists in the latest version(26.6.3), @lamhieu-vk


Eratosthenes Sieve, a helpful and interesting example of using DeltaIteration

Thank you for this contribution. Please open a ticket describing your algorithm and its appropriateness as an example running on a distributed stream processor.

Hello,
I can describe the algorithm but I cannot say anything about appropriateness as an example running on a distributed stream processor. I don't use Flink, I just tried to learn quickly its API and get a handle of it and certainly I cannot run/try distributed instances.
Is this okay ? How can I best help with this example ?

The code would need to be cleaned up. I would look to the other examples, add comments, remove unused code, change anonymous inner classes to be static inner classes, etc. There is also the question, what makes a good Flink example? Single-threaded programs 1 and 2 can sieve 10^9 numbers in under 1 second. I think we are better off with batch examples that demonstrate Flink's performance (such as processing sparse datasets).
If you are interested in adding to the existing examples that would be a good discussion for the dev mailing list. I also expect that more users are reading the online documentation than inspecting the examples so that is another opportunity for contributions.

@dsnz Thanks for this PR. In general, I think it's a good idea to think about what kind of example programs we have. Unfortunately, I don't think that this example adds much in comparison to the already available ones. Would you mind closing this PR? I'm happy to revisit this if a discussion as suggested by Greg on the dev mailing list comes to the conclusion that we should add this or other examples.

Hi,
The examples given (by greghogan) are specialized C++ programs. I don't say that this example shows Flink's capabilities relative to other solutions but that it's a very helpful for the novice to understand how to setup a new Flink program and use the DeltaIteration API call and is also in the spirit of some other Flink examples like 'Pi Estimation'.
In fact it helped me a lot to learn about developing with Flink because the documentation was/is quite lacking in many areas.
Most novices do benefit from examples first and from good documentation later when they grasp the subject.
I'm closing this anyway as I'm not in the Flink community of users and don't have time and further interest to start a discussion for such a simple example.


Add submission request form to site

Create web form for public submissions. Use web to lead?
Fields to collect

Repo Name
Repo Url
Platform (Github, Gitlab, etc)
Submitter Name (Optional)
Submitter Email (Optional)
Organization (Optional)
License (Optional)
Language (Optional)
Comments/Notes about submission?

Add form to front page.

@aheber @grekker @ChuckJonas For this I was thinking we use web-to-lead to collect the submissions. On Lead Create, a trigger will generate the Resource__c record in an "unapproved" status. Our approval is to convert the lead to create a Contact and Account (if they specify an organization). Then we put an "on convert" action for the Lead Trigger to move the Resource__c to "approved'.  If we disqualify the lead, we can either delete the Resource__c record or mark it as "denied".
Thoughts?

@mikesimps in thinking through this same path we started to be concerned about the security of the action. How do we limit the fields submitted, prevent spam, etc... Unless we can figure a way to lock it down web-to-anything might be off the table.
Leaning toward having the React app use the API.

Just a few thoughts

Spam - we can require a captcha for submissions (I've never set this up but it looks possible)

Even in a dev org, we have 2 licenses, one license could be used as the default lead creator and we lock them down to only be able to see the exact fields on the leads that we want them to be able to submit. If people get around the captcha they still won't be able to make a valid submission using that form.

would be extremely easy to update the resource object directly via heroku

My two cents would be:

Web form in React App that calls Heroku
Heroku writes to Resource__c object via API to create a new record
Add a boolean/picklist to Resource__c to indicate approved items
Update Heroku code that fetches Resource__c records to filter on this new field

Because everyone is still pretty new to these technologies, here's a step by step of how we would implement this:
1: Add a "Submit Repository" <Button/> to either the <App/> or <Repository/>.

Add new boolean state property showingSubmitForm to the component. (by adding property to state interface & initializing = false in constructor
On button click, call this.setState({showingSubmitForm: true});
2: Add  a submit form (3) modal.  set the showing property = this.state.showingSubmitForm
3: Add a new component for the submit form.
For each input, add a new state property.  The input should get passed the state value and update it on change: <Input value={this.state.repositoryName} onChange={(e)=>this.setState({repositoryName: e.target.value})} />
Add a Submit button.  On submit, gather the current state of the component and call the Heroku API for submitting resources (4).  It should be typed using the definition setup in shared/types.d.ts (5)
4: Setup a new post method route in server/index.ts: EG:  app.post('/api/submission', async function (request, response).
5: Define the request data interface and store it in the shared/types.d.ts
6: Create a new class 'submissionService.tswhich takes the request data interface (5) as a param, and creates a new object request object in salesforce 7: In the POST route, respondresponse.send()a success/fail response 8: Back in the Form component, handle the response. If failure, display error.  If success, close modal (method to do so will need to be passed from the components that controls theshowingSubmitForm` state)

If I have a couple minutes this evening, I'll try to submit a PR with these steps so you can really get a feel for how all this works together

@grekker @aheber @mikesimps
I think this is a really good commit to take a look at in order to get an understanding of how to make end-to-end updates.  https://github.com/open-force/website/commit/a5fa2338fff79c1766df4192fef140a4f97acddf
There's still quite a bit of polishing to do.  Hopefully one of you can take this and finish it up.
Also, my impression so far is that react SLDS is no where near as well built as antd.   Could be I just still don't know how to properly use it yet.  Having types would help as right now you have to go to the documentation constantly to see how to use the library.

also, if you haven't done any basic react training, this tutorial series doesn't take very long and will get you up to speed: https://www.codecademy.com/learn/react-101