Hamburger menu adds extra margin on left side

I added a hamburger menu and it's created an extra margin on the left side. My UI now looks weird because the Rows>Tiles (that populate the Content) have a larger margin on the left side compared to the right side (even when menu is not open). (i.e. the margins are unequal)
Is this intended behaviour? If so, then shouldn't it be changed.

Could you provide a minimal repro? That would greatly aid in debugging/investigating this issue.

I have a similar issue. When the left side nav is closed, the content gets an extra margin of 3rem on the left.

I barely changed the code that I copied. This is what my layout page looks like

    <svelte:fragment slot="skip-to-content">
        <SkipToContent />
    </svelte:fragment>
    <HeaderUtilities>
        <HeaderAction bind:isOpen transition={expoIn}>
            <HeaderPanelLinks>
                <HeaderPanelLink href="/login">Login</HeaderPanelLink>
                <HeaderPanelLink>Admin</HeaderPanelLink>
                <HeaderPanelLink>API</HeaderPanelLink>
            </HeaderPanelLinks>
        </HeaderAction>
    </HeaderUtilities>

<SideNav bind:isOpen={isSideNavOpen}>
    <SideNavItems>
        <SideNavLink text="Home" href="/" />
        <SideNavLink text="About us" href="/about" />
        <SideNavMenu text="Competitions">
            <SideNavMenuItem href="/" text="Competition #1" />
        </SideNavMenu>
        <SideNavDivider />
        <SideNavLink text="Dashboard" href="/dashboard" />
    </SideNavItems>
</SideNav>

<Content>
    <slot />
</Content>

The Content component also adds a background colour that is especially noticeable with darker themes.

After disabling these rules in the browser, it looked good again:
.bx--side-nav ~ .bx--content {
	/* margin-left: 3rem; */
}

.bx--content {
	padding: 2rem;
	/* background: var(--cds-ui-02, #474d38); */
	will-change: margin-left;
}

Still, not quite sure how to fix it.

@AlvaroPata Upstream issue regarding the .bx--content background color: https://github.com/carbon-design-system/carbon/issues/9877

this seems fixed in upstream, how to make this work here?

this seems fixed in upstream, how to make this work here?

Are you referring to the .bx-content background color?

https://github.com/carbon-design-system/carbon/pull/10992 is merged

@endigma That was released as part of carbon-components version 10.56.0, which is now supported in v0.63.0.

I'm experiencing this issue as well. Putting the side nav elements inside the header "fixes" the margin issue, but then the side nav floats on top of the content instead of pushing it to the side.

Having the same issue as @iohzrd, I would love to be able to have the side navs occupy space on the left hand side on desktop, which requires that the SideNav be outside my Header. However, this means that when the menu collapses into the hamburger on mobile, the left margin on  takes up unnecessary space.

Interestingly, the demos (eg: https://carbon-components-svelte.onrender.com/framed/UIShell/HeaderNav?theme=g100) keep the SideNav outside the header, and yet don't have this issue. Below is a side by side of the exact same .svelte file as listed in the docs site running in my local dev environment. I've tracked it down to the @media css query which is shown in the left debug window, but which is not generated by my environment. From inspection (and toggling it on and off) that rule is what appropriately removes the left margin when the side nav is collapsed.

I have verified that I'm using the latest release, and this is a brand new fresh SvelteKit project. I haven't yet enabled carbon-preprocess-svelte.

The docs site overrides these styles: https://github.com/carbon-design-system/carbon-components-svelte/blob/f8e400f2edd971f41dacfbc21bfff4ee059e5163/docs/src/global.css#L247-L258
You can apply similar overrides to achieve the desired effect.

@metonym, thanks for the tip! Given your suggestion, I wrote some Svelte logic to hack this using the <Breakpoint /> component instead of hard-coding the pixel value. If anyone else wants this behavior I've included it below.

<Breakpoint bind:size={breakpoint}/>

/* -- Navigation Components Here -- */

On further investigation, this is a much simpler and less hacky way of achieving the same goal while not relying on a hardcoded pixel breakpoint.

Is there any reason this shouldn't be the default behavior? If not, I'd be happy to open a PR for this issue.

That's reasonable – PRs welcome.

Fixed in v0.67.7.
If the SideNav is collapsed, Content will have a left margin of 0. Furthermore, global styles in the docs site have been updated to avoid overriding UI Shell styles to avoid confusion.


fix: fix indexing content between h1 and h2

Closes #154, #109

Coverage decreased (-0.02%) to 75.949% when pulling f38b307a669b582b8571fd2430b4454b49323c85 on steve/fix-parse into f3c55d49c988fc1942582774806bd98ccb332e9d on master.


could you tell me what's mean of t*_ft.txt?

It refers to the finetuning config files in each of the folders in configs/OWOD.


Alertmanager: Templatize config, user, and url.

@mburns @elijah (at any other maintainers)
This Pull Request adds the ability to template the http url, config destination, and user of the alert manager service(s).
Let me know if there's any edits I should make before it can be merged -- or if there are any fundamental problems with it being added in the first place. Like maybe we should add tests. Tests are cool. 😄

I edited the .rubocop.yml config so it should conform with our coding standards, meaning we can run rubocop -c .rubocop.yml locally and it matches what houndci will complain about. I was just running rake spec travis:ci and it didn't hit any of those warnings.
Anyway, I also added a bunch of tests and fixed up the code a bit @MarkGibbons and @elijah (plus other contributors) so please let me know what else I can do to get this merged.

Merged.  Thank you for all the work, and for the attention to tests and code style conventions!


Turning code into Global Variable.

Hi all. I used a method in the below link to force '.white' into the MaterialApp color options so that I could color things like the appBar white.
The method I used was something I found in the following link:
https://github.com/flutter/flutter/issues/23239
OR (here is the actual code);
const MaterialColor white = const MaterialColor(
0xFFFFFFFF,
const <int, Color>{
50: const Color(0xFFFFFFFF),
100: const Color(0xFFFFFFFF),
200: const Color(0xFFFFFFFF),
300: const Color(0xFFFFFFFF),
400: const Color(0xFFFFFFFF),
500: const Color(0xFFFFFFFF),
600: const Color(0xFFFFFFFF),
700: const Color(0xFFFFFFFF),
800: const Color(0xFFFFFFFF),
900: const Color(0xFFFFFFFF),
},
);
It's great for what I want BUT one thing I would like to ask is (and keep in mind that I am new to Flutter/Dart (or programming in general)):
Q: How do I use this globally? I have a dart file that I have named 'globals' and I hold my global variable in there for use across all pages. I tried to put this in there and it wouldn't accept it as it is not a class.  It basically creates a variable named 'white' that can be used in place of only using a MeterialColor option  (i.e. primarySwatch: white,).
The problem is that I don't have the nous to turn this into something that can be used globally.
Q: Anyone able to enlighten me or assist?
Cheers and thanks in advance,
Vincent.

Hi @VincentBayliss
This issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


[Feat] Transfer owned objects

Allow users to transfer objects that they own to another player character by dragging it from their sheet to the token of the other actor.

Secondary feature to #183


How do you relate two collections meteoris using code generator?

Hi,
I have a scenario, I have two collections.
enrollments collection
claims collection
I have enrollees list in enrollments collection.
How do I pass a certain fields from enrollments collection to claims collection with additional fields from the client?
Example
Enrollments collection

NameBirthdateBirthdate

John
02/02/1990
Single
Claim me!

Peter
02/02/1980
Married
Claim me!

Let say i placed a claims button (Claim me!) per enrollee in the list, then if I click it, it will route me to add claims, the fields from that particular enrollee will be carried over plus additional fields(amount,dateofClaims), then click submit.
Claims collection

NameBirthdateBirthdateAmountDate Claimed

John
02/02/1990
Single
$500
06/06/2015

How do i use the generator for this kind of scenario?
Thanks.

@Ajaxsoap
Simply you can easily make enrollments collection with field:

name
birthDate
status
amount
claimedDate

or if you want relational
enrollments collection:

name
birthDate
status
claimId (name), Claims (Relation), claim (relationKey)

claims collection:

amount
date (this is not necessary because meteoris out of the box give you field called "createdAt" and "updatedAt"

Thanks @radiegtya!
However, I didn't get the output that I desired, the output that I want to achieve is passing a data from one collection to another. The approach that you suggested is simply putting a claims on enrollees but it didn't make sense if the enrollee is not yet claiming. The claim ID is supposedly appear after the enrollee claimed. Maybe, I have to figure this out by myself.
Thanks again and more power @radiegtya !

use the relational one then.
I think this is simply just logic, not much related to meteoris it self. I am closing this for now, feels free to reopen if you have another question.


Update mbedos5 target to ignore jerry-port-defaul

Update mbedos5 target to use their own jerry-port implementations.
JerryScript-DCO-1.0-Signed-off-by: Marko Fabo<EMAIL_ADDRESS>

Could you squash these commits?


UX learn.microsoft.com vs. CLI help editorial decisions

A couple of points brought up in PR review about editorial/UX decisions we've made in the markdown docs differing from the CLI output should be considered in future UX work.

https://github.com/Azure/azure-dev/pull/1353#pullrequestreview-1244245237
https://github.com/Azure/azure-dev/pull/1353#pullrequestreview-1244247076

Anything pending on this?

This is tracking comments brought up in the course of reviewing some changes made to the help text. I think these should be discussed as part of the UX work that @Austinauth is doing.

@danieljurek Want to make sure I'm understanding. Are you pointing out that there is some inconsistencies in the language that we're using? If so I feel like a few of us should get together to discuss preferred terminology, and then I can make sure to be consistent based off what we decide.

@Austinauth @danieljurek What was decided here? Anything left?

@savannahostrowski no updates on my end, I'm not totally sure I understand what the request is.

I think we are good to close for now.


WIP: update to NRT API v0.0.11

WIP TBD

replaced by https://github.com/k8stopologyawareschedwg/resource-topology-exporter/pull/74


Execute flowfield for native-table.

Hi All !
I have a case as below:

I add more fields into "G/L Entry" table.
I add new table, add a flowfield which collect data from "G/L Entry" which reference new field of "G/L Entry".

After I build, publish and test this extension. I get the error:

Maybe, I understand this error: because new field of "G/L Entry" table is in a companion table.
But this case is a demand really.
So, this case will be supported in next builds or have another solution to solve this problem ???
Note: I tested on the build: Version W1 10.0 10.0.18032.0 (August Update).

This is a bug, it was also reported under #501.


Update tests to use toThrowErrorMatchingInlineSnapshot in unit tests

We currently use .not.toParse() which doesn't actually provide any information about what the failure mode is.  Switching to toThrowErrorMatchingInlineSnapshot() shouldn't be too much work.  It's probably something that could be done with a find-and-replace regex followed by running jest with the -u to update all of the snapshots.
docs: https://jestjs.io/docs/en/expect#tothrowerrormatchinginlinesnapshotinlinesnapshot

Hi !
Can I try to work on this ?

@3r3n-n go for it.  Maybe try converting a couple uses of .not.toParse() and put up a PR to see what other people think about the change before converting the rest.

Hello - I'm interested in working on this. It looks like there is a similar issue (#2068) from 2019. The only difference is that one also mentions changing instances of .not.toBuild(). However, if I'm not mistaken there is only one instance of that at the moment.
I don't see any open pull requests referencing either of these issues so I'll put together a WIP that changes a few instances like you suggested to gather feedback.

Ok I've prepared a WIP showing what this could look like in #3636.
I found this a little more challenging to get right than I originally anticipated. The tests I changed were initially just failing because they threw the ParseError. The only way I found to get around this was to wrap the parsing with expect(() => ... ).
Please let me know what you think. I see that you already use non-inline snapshots in other places in this file so I wasn't sure if you would prefer to continue following that convention or not. I opted to go with inline for now because that's what you mentioned when initially opening this issue.

@kevinbarabash Do you have any feedback on the approach I've taken in #3636?


[REEF-817] Group comm hangs when root task is added after child tasks…

… start running
This addressed the issue by

adding a isRootPresent() method to Topology
making runTask() of child tasks wait until the root task has been added, in CommunicationGroupDriverImpl

JIRA: REEF-817

@jsjason , I could you rebase it to master for Travis-CI? :)

@dongjoon-hyun Thanks, I merged with master and pushed another commit.

Thank you. By the way, on Windows test, your test case fails.
https://builds.apache.org/job/REEF-pull-request-windows3/535/
https://builds.apache.org/job/REEF-pull-request-windows3/529/
CommunicationGroupDriverImplTest.testLateRootTask:129 number of messages sent from driver expected:<12> but was:<0>

Could you test on Windows?

Did you decrease the timeout from 5000 to 1000?
-    countDownLatch.await(5000, TimeUnit.MILLISECONDS);
+    final boolean allThreadsFinished = countDownLatch.await(1000, TimeUnit.MILLISECONDS);
+    assertTrue("all threads finished", allThreadsFinished);

Thanks, @dongjoon-hyun and @markusweimer. According to the logs, tests seem to pass for both Jenkins and Travis but for some reason Jenkins says tests failed:
ERROR: Publisher 'Set build status on GitHub commit' aborted due to exception:
java.io.IOException: {"message":"No commit found for SHA:<PHONE_NUMBER>102cdc695d1e275c8b8ff818ae9dc7","documentation_url":"https://developer.github.com/v3/repos/statuses/"}

I'll push a dummy commit and try to retrigger the build.

I tested .Net code on Windows 10, too.
Total tests: 19. Passed: 12. Failed: 0. Skipped: 7.
Test Run Successful.
Test execution time: 1.6330 Minutes

It looks good to me. I'll merge this.


(AB#37680) Reorganize and rename issue templates

PR Summary
Prior to this change, distinguishing between issue templates and links could be a little difficult.
This change:

Reorders the issue templates so filing a bug is the first option, then suggesting an improvement, committing to a quality contribution, and finally reporting a product change
Updates the issue template titles to use imperative language with a call to action and links in the issue picker to be questions
Updates the Quality Contributions project links to point to the updated templates

PR Checklist

[x] Descriptive Title: This PR's title is a synopsis of the changes it proposes.
[x] Summary: This PR's summary describes the scope and intent of the change.
[x] Contributor's Guide: I have read the contributors guide.
[x] Style: This PR adheres to the style guide.

Learn Build status updates of commit eed28b7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.github/ISSUE_TEMPLATE/00-bug.yml
:white_check_mark:Succeeded

.github/ISSUE_TEMPLATE/00-quality.yml
:white_check_mark:Succeeded
n/a (file deleted or renamed)

.github/ISSUE_TEMPLATE/01-article.yml
:white_check_mark:Succeeded

.github/ISSUE_TEMPLATE/02-bug.yml
:white_check_mark:Succeeded
n/a (file deleted or renamed)

.github/ISSUE_TEMPLATE/02-quality.yml
:white_check_mark:Succeeded

.github/ISSUE_TEMPLATE/config.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Does not have the chat functionality

Hi Bilal! I plan to keep this app focused on the buzzer only, and do not plan to incorporate additional functionality like chat.


Create Battery Lifetime document

Signed-off-by: jari-pekka walden<EMAIL_ADDRESS>

This document looks ok to me.
There is a related fix coming up. That is to stop charging the battery to 100% of capacity. Instead, stop charging at a user-selectable value (e.g. 80-90%). But let's add that to this document as soon as it is ready.


Samples

May you can add sample to use everything as it is a new client API, i am not able to understand how to use everything in this API

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

ID: d3cb43f3-6ec3-f78b-cdeb-16c371d4e3e9
Version Independent ID: f75a6df8-28c3-0f0d-b40f-47c7debe3c74
Content: PageData - Finance & Operations | Dynamics 365 | #MSDyn365FO
Content Source: articles/dev-itpro/mobile-apps/platform/client-apis/interfaces/services-business-logic-services-ipagedata.md
Service: dynamics-ax-applications
GitHub Login: @shadykdc
Microsoft Alias: kashea

bug logged for investigation: 230852


Updating/moving a record to exist in the past

Context
I'm using Reladomo to manage bi-temporal data. One time dimension is for audit purposes (transaction time). The other time dimension is for business purposes (valid time). A primary key is being used that contains a unique identifier for each entity. Each entity also has a "name" column stored in the database.
Scenario

You insert a record that is valid from present time to infinity with id=5 (primary key) and name="A"
You realize that the entity existed in the past but it had a different name (name = "B")

What is the proper way to correct history on the business time dimension (valid dates)?
Approach 1 (This one does not work. Reladomo does not seem to support changing the valid from date?)

Find dto where id = 5 in present time
Set the validFrom date backwards in history to show that this entity existed in the past
Update the name to equal "B" from past date until present time

Approach 2

Call insert again and pass an entity that contains the primary key (id = 5), name = "B", validFrom = "some past date", validTo = "present/current time"

Questions

What is the recommended way for updating history to show that the entity existed in the past?
Is there anyway to slide the validFrom date backwards?
Is there any danger in inserting doing several inserts with the same primary key? I noticed that there is nothing preventing me from inserting the entity again with id=5 and name="B" where the validTo date is greater then the valid from date on the first insert. This causes the dtos to overlap and there to exist two rows with id = 5 at a single point in time.

Approach 2 is generally what you want. Please also note the existence of the insertUntil() method.
Moving validFrom back doesn't make sense because it destroys audit history: you didn't know that this entity existed before (even if the name was the same) and that fact has to be preserved. In other words, there have to be two rows with two different audit spans.
You have to do your inserts correctly to avoid overlap. Generally, you'd want to do all the work in a single transaction: read the existing record, decide on the correct end point, insert. DB indices prevent simple overlaps, but they can't deal with complex ones.


Can loxilb work as non-default gateway?

I learn loxilb from reddit.  A Quick Look on the docs, seem fuallnat is supported.  but when I see through all the demo topology, LB node is always serving as default gateway as the same time.  I am not sure if this the case, or it is just a coincident.
Anther question is, when working in fullnat, it is possible for real server to see the client real IP address, but not the gateway IP address?

Hello @liyimeng, Yes, LoxiLB can work as a non-default gateway. And, it is not possible to see client's real IP address when you use fullnat mode.

@nik-netlox Thanks for your answer!  Client IP might good to have since fail2ban-liked program need it. I google around, only find some hacky way to solve the problem. it is a pity.

@liyimeng, To preserve client's IP address, you must use default mode. If you have deployed loxilb as default gateway then it is fine otherwise there are two options:

Put selective routes for return traffic (if you know client's IP range) to go towards loxilb.
Or use loxilb with DSR mode.

Thanks @nik-netlox  I got it!


Added Training and Quiz App Template's compose images via upload

Adding Training and Quiz App Template images.
Upload following two images :-
training-app-template-compose-view.gif
quiz-app-template-compose-view.gif

Docs Build status updates of commit bfb32e5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/assets/images/quiz-app-template-compose-view.gif
:white_check_mark:Succeeded
View

msteams-platform/assets/images/training-app-template-compose-view.gif
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


It's not working on List

import Introspect
import SwiftUI

struct ListIntrospectorTest: View {
    var body: some View {
        List {
            Text("Item 1")
            Text("Item 2")
        }
        .introspectTableView { tableView in
            tableView.separatorStyle = .none
        }
        .introspectTableViewCell { cell in
            let backgroundView = UIView()
            backgroundView.backgroundColor = .clear
            cell.selectedBackgroundView = backgroundView
        }
    }
}

struct ListIntrospectorTest_Previews: PreviewProvider {
    static var previews: some View {
        ListIntrospectorTest()
    }
}

I have the same issue as described above. Any updates?

Hi, sorry for the late reply, we didn't have much time in the past few weeks.
Could you try using .introspectTableView inside of the List? We're still looking into weird edge cases where our discovery methods don't do a good job at finding the target component.

I did try to use . introspectTableView inside of the List but the result is the same. However, I can change the .backgroundColor property but other properties such as .separatorStyle or .separatorInset are not working.
Plus, the changes added to UITableViewCell apply to visible cells only and are reset when cells go outside of the visible scope.
https://user-images.githubusercontent.com/8677849/119967053-43573180-bfac-11eb-91fd-9d06649625c2.mov
https://user-images.githubusercontent.com/8677849/119966753-eb202f80-bfab-11eb-944a-5380d9253c2d.mov

Hi, guys. The SwiftUI 3.0 supports more features for List, including listRowSeparator modifier.  wait for xcode 13 release or use xcode 13 beta

Any update on this?

Is there any progress about this bug?
 the changes added to UITableViewCell apply to visible cells only and are reset when cells go outside of the visible scope.

A little late to this, but the new SwiftUIIntrospect module's API accounts for differences between OSes:
List {
    Text("Item")
		.introspect(.listCell, on: .iOS(.v13, .v14, .v15)) { tableViewCell in
		    print(type(of: tableViewCell)) // UITableViewCell
        }
        .introspect(.listCell, on: .iOS(.v16, .v17)) { collectionViewCell in
		    print(type(of: collectionViewCell)) // UICollectionViewCell
        }
}
.introspect(.list, on: .iOS(.v13, .v14, .v15)) { tableView in
    print(type(of: tableView)) // UITableView
}
.introspect(.list, on: .iOS(.v16, .v17)) { collectionView in
    print(type(of: collectionView)) // UICollectionView
}

Closing, but feel free to ask any follow up questions though.


Updated buggy "quick_range"

did not work with transimpedance modes (1 MOhm and 100 Mohm)
there were an access to not-existing "self.R" field, replaced by "self.sensitivity"
enabled the 'LIAE 2,1' request bit to allow overflow detection.

@travis-ci : what's wrong ?

Thank you for your contribution! The Travis error in the doc build is unrelated to you, what was previously a warning in sphinx apparently turned into an error with sphinx >3.0.4. I am trying to resolve that in #293


add date-time type conversion

add date-time type conversion

Build is broken here: https://travis-ci.org/randing89/swagger-model/jobs/120874926


Analyzer warnings/hints cover the entire screen on mobile

On my Nexus 6 I had 3 warnings after I deleted one character and after that I wasn't able to do anything useful because the warnings were show over the entire screen. I had to change to "request desktop site" in order to be able to use the editor again.
I guess for mobile there should only be an icon with the number of hints/warnings which are only shown after tapping on the icon.
Alternatively it should be an area with a splitter to limit its size.

Perhaps just having a max-height on the problem area and ensure that it's scrollable?

Sure, that would be a start. Can always be improved later ;-)

Fixed in https://github.com/dart-lang/dart-pad/pull/699/.


ONNX Export

Hi,
Any plans to enable ONNX export for Matcha TTS?
I developed a script to do it, but it has some issues. Specifically, dynamic shape for input is not possible. And synthesis parameters, such as temperature, cannot be passed as scalars.
To properly enable ONNX export, we need to change how some tensor and scalar parameters are handled.
Are you interested in ONNX export? If so, how I should proceed? Perhaps with a PR?
Best
Musharraf

Maybe just having a script in utils that enables export would be super cool PR. Might be useful for other people as well. I personally have not worked with ONNX. So I might not be a big help there, but would love to read about it and try to help.
Also why ONNX and not something like Torchscript (which can handle dynamic shapes as much as I understand)?

To start with, ONNX is optimized for inference, and works fluently cross-platforms. It can even run inference on the browser, optionally accelerated with web-GPU API.
For neural TTS models, my experience with two different TTS systems shows that onnxruntime is 2x-3x faster than torch, and significantly faster than torch script.
For undevice inference, onnx has an excellent deployment story as demonstrated by Piper TTS

Note: onnx is an open standard, and omnxruntime is is the defacto runtime for onnx.

And also, onnx handles dynamic shapes alright, but the way some layer in Matcha are called makes it harder for the onnx exporter to infer input/output shapes.

Ah! Thanks for the clarification, unfortunately, I haven't worked with it. So I might not be able to lead the PR around it. But if you would be willing to help, we can try solving it together. :D

Let's do this 😀


After refreshing the page, it shows the initial value

import { persistentAtom } from '@nanostores/persistent';
import { useStore } from '@nanostores/solid';

export const $foo = persistentAtom('foo', 1, {
    encode(x) {
        return x + ''
    },
    decode(x) {
        return parseInt(x)
    }
})
export const setFoo = x => {
    $foo.set(x)
}

export default function () {
    const foo = useStore($foo);

    return (
        <>

Foo: {foo()}

            <button class="button is-small" onClick={() => setFoo(foo() + 1)}>Increment foo</button>
        </>
    );
}

First, let's click the Increment button for 4 times, now the foo value is displayed a number 5.
Now refresh the page, the foo value will be displayed a number 1.
Click the Increment button.
The foo value displays a number 6.

The second step is wrong, after refreshing the page, it should display a number 5.
Don't know if I was using it correctly.

The code looks good.
Maybe we have problem in Solid’s useStore? Can you try the same example with React or vanilla JS?

It returns the correct value by accessing $foo.get() on the loading of the component.

It returns the correct value by accessing $foo.get() on the loading of the component.

Let’s create issue in @nanostores/solid if so

It might be because peristentAtom only reads the persisted value into the atom once it is subscribed to. Any reads before that will get the initial value.
@nanostore/solid does a get before the subscribe so it will always render first using the initial value. I think calling setState during the initial rendering might be what is causing the problem, since there is no signal hooked yet to be updated, so it will render using what was first read.
I this line:
https://github.com/nanostores/persistent/blob/3ba73ff7c214c173875f2e0b62cf28ee59793abe/index.js#L44
Should be
let store = atom(storageEngine[name] ? decode(storageEngine[name]) : initial);

I need somebody experienced in the framework for debug to find a reason.
@tordeu can you do a investigation?

@ai I am new to astro, but interested in finding the problem. But I will happily investigate as far as I am able to.
I also created an issue for astro: https://github.com/withastro/astro/issues/11401

As mentioned in https://github.com/withastro/astro/issues/11401#issuecomment-2207232753, I retested https://github.com/nanostores/persistent/issues/49#issuecomment-2204110609 using react and it is working as expected now.


Send screen:Text is getting cut off on the send screen.

It should not be sending from Saving account

Did not get iOS release

Verified this issue on Tribe app v 2.3.0(619)


Support to languages

@jcbvm If you to implement option to multiples languages I will have pleasure to contribuited the translation to portuguese. Unfortunatelly I do not have experience with Java, but if you start I can help you.

There already is support for multi language, currently only dutch and english are supported (it determines your languages by the system language you are using).
You can create a PR or send me a translation file for portuguese. Take a look at https://github.com/jcbvm/ember-i18n-editor/blob/master/src/main/resources/bundles/messages.properties. These are the english translations which then need to be translated to portuguese.

Done! Patch sent, https://github.com/edelciomolina/ember-i18n-editor/commit/7c68b4b4c1087ffe7eab807ca75752a6b276096b
@jcbvm When you can, release a new version of executables with latest commits. Thank you!

Thanks, will create a new release when ready, should be somewhere this week.

I added three new translations:
dialogs.translation.conflict.text.replace = There already exists a translation with this key, do you want to replace it?
dialogs.translation.conflict.text.merge = There already exists a translation with this key, do you want to merge it?
dialogs.translation.conflict.title = Translation conflict

Can you pull these changes in your fork and add the portuguese translations for them?
Afterwards you can create a pull request in this branch, so I can merge your translations :).

Done!
https://github.com/jcbvm/ember-i18n-editor/pull/9

@edelciomolina In a new version I'm preparing I've added a introduction text when the program is opened for the first time. May I ask you what the correct portuguese translation is for:
"Drop a folder here or go to File > Open Folder... to start"


About preprocess

I want to know how to make lables_svo in msrvtt_train_sequencelabel.h5 so that I can preprocess the data on my own.
In your paper, this is produced by using nltk. Could you give me more details?

Hi, I used the code from this repo.

I see. Thank you for your quick reply!


[spirv] Improve (batch) matmul pipeline configuration

Allow tiling K dimension with size 1 to enable odd K sizes to go down the pipeline to use workgroup memory.
Fall back to distribution pipeline if we cannot use all threads in a subgroup.

Dropping this. Not needed for now.


Add info about submodules to README

Description

Since we are adding submodules to our repository, we will need to update the README to reflect the new procedures to download/clone the repository
Checklist:

[ ] I have tested my changes. No regression in existing tests.
[ ] My code is Linted.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/bot run checks


📚 The doc issue
官方文档的示例代码报错，原因是文档过旧吗？
  File "pp_plus.py", line 9, in <module>
    from colossalai.builder import build_pipeline_model
ImportError: cannot import name 'build_pipeline_model' from 'colossalai.builder' (/opt/conda/lib/python3.8/site-packages/colossalai/builder/__init__.py)

@bobo0810 Thanks for the feedback, the documentation may be having these issues because of the fast development. We will fix them gradually in the near future.

Hi @bobo0810 In general, since ViT is a relatively small model, it's not necessary to use the complex PP. Zero, DP, and TP is enough for most cases.
https://github.com/hpcaitech/ColossalAI/tree/main/examples/images/vit
This example was verified and provided a long time ago. ViT with PP is just a simple functional demo, you can refer to the tutorial code.
If you need customized optimization or a specific case solution, it is out of the scope of the general support of the open source community. Feel free to contact us to discuss formal collaboration. Thanks.


RDP not listening, not supported, version - <IP_ADDRESS> and 10.0.19041.2075

RDP is not listening and its also not supported.

Duplicate of https://github.com/stascorp/rdpwrap/issues/1992


⚠ Bofrost.at has degraded performance

In db9e004, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1171 ms

Resolved: Bofrost.at performance has improved in db38c89 after 28 minutes.


react to changes of the istio module

Description
On a cluster eventing was installed before istio was installed. This lead to alerts on SRE side as epp could not be scraped anymore.
Acceptance

[ ] istio related resources should be created by eventing-manager when istio becomes available. Removing those resources is not necessary on istio removal, as istio removes them as well.

One of the two pods did not have a sidecar:
eventing-publisher-proxy-78d9695498-c9pts                     2/2     Running     0             13h
eventing-publisher-proxy-78d9695498-p8jkb                     1/1     Running     0             13h

Interestingly, the scraping worked for the one without a sidecar.
We needed to bounce the eventing proxy manager, so it creates the required peerauthentication resources that complete the service mash configuration, and by that scraping started to work again.

Blocked until we figure out what should we do about the eventing-manager pod itself, as it will require a restart as well to get the istio sidecar which is needed to dispatch events to subscribers in case of the NATS backend.


fix: make a pry a dev dependency rather than runtime

Don't force client applications to require pry in a runtime environment.

@andrewculver my understanding is that add_development_dependency is only for the development of the gem, https://guides.rubygems.org/specification-reference/#add_development_dependency.
A gem should clearly specify what dependencies it has in its gemspec. So, if Magic Test has a dependency on pry it should define that dependency and not rely on another gem to bring it in. What if I wanted to use Magic Test by itself?
And, having pry as a runtime dependency for a library that is intended for testing purposes is ok in my opinion.

@aaricpittman Not sure what the issue is here, but when I merged this and released, I started getting this issue on other repositories test suites:

Going to revert for now.

@andrewculver 🤦. Sorry about that. Not sure how I missed the require. I've made a new PR that fixes that, #39.


[apsi] update to v0.8.1 and fix supports

For https://github.com/microsoft/vcpkg/issues/25179
Update to v0.8.1
Fix the supports, remove static limit to build on other triplets.
Skip x86-windows and arm64-windows in ci.baseline. see upstream bug https://github.com/microsoft/APSI/issues/34
https://github.com/microsoft/APSI/issues/33, will update it once the bugs are fixed.

I have reported issues to upstream, Let's wait for the results. microsoft/APSI#34 microsoft/APSI#33

Those bugs have been fixed.


[tool_crash] When using --profile not debug or --release

Command
flutter run --profile

Steps to Reproduce
Run the program using --profile flag.  Does not occur using no flag (debug mode) or using --release
Says : String: failed to connect to http://<IP_ADDRESS>:49425/
% lsof -i4TCP@localhost
COMMAND  PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
iproxy  3642 user    3u  IPv4 0xac5239a4b1851459      0t0  TCP localhost:49425 (LISTEN)

The server is running and listening on that port.  A web browser cannot access it. No errors in the browser console.
I killed iproxy and that made no difference
The console output:
[VERBOSE-2:ui_dart_state.cc(198)] Unhandled Exception: Exception: Codec failed to produce an image, possibly due to invalid image data.
* thread #24, name = 'Dart Profiler SampleBlockProcessor', stop reason = EXC_BAD_ACCESS (code=1, address=0x3ecec253cf303a94)
    frame #0: 0x0000000103f58770 Flutter`dart::IsolateGroup::ForEach(std::__1::function<void (dart::IsolateGroup*)>) + 80
Flutter`dart::IsolateGroup::ForEach:
->  0x103f58770 <+80>: ldr    x9, [x8, #0x20]
    0x103f58774 <+84>: stp    x8, x9, [sp, #0x20]
    0x103f58778 <+88>: add    x9, sp, #0x18
    0x103f5877c <+92>: str    x9, [x8, #0x20]

The Dart code where I think it is happening:
  ui.decodeImageFromPixels(
    pixelData,
    width,
    height,
    ui.PixelFormat.bgra8888,
    (ui.Image img) {
      completer.complete(img);
    },
  );

This is using FFI.  pixelData is set externally in a C++ code linked via FFI
Logs
String: <44 characters>

[✓] Flutter (Channel stable, 3.0.5, on macOS 12.4 21F79 darwin-arm (Rosetta), locale en-AU)
    • Flutter version 3.0.5 at /Users/user/Documents/Flutter/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f1875d570e (4 weeks ago), 2022-07-13 11:24:16 -0700
    • Engine revision e85ea0e79c
    • Dart version 2.17.6
    • DevTools version 2.12.2

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

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

[✓] VS Code (version 1.54.3)
    • VS Code at /Users/user/Downloads/Visual Studio Code 3.app/Contents
    • Flutter extension version 3.22.0
[flutter_24.log](https://github.com/flutter/flutter/files/9295208/flutter_24.log)

[✓] VS Code (version 1.54.3)
    • VS Code at /Users/user/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.22.0

[✓] Connected device (3 available)
    • Worik’s iPad (mobile) • 00008103-000229CE1E31001E • ios            • iOS 15.5 19F77
    • macOS (desktop)       • macos                     • darwin-arm64   • macOS 12.4 21F79 darwin-arm (Rosetta)
    • Chrome (web)          • chrome                    • web-javascript • Google Chrome 104.0.5112.79

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 2 categories.

Flutter Application Metadata
Type: malformed
Version: null
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: null
Creation framework version: null
Plugins
ios_physical_memory-0.0.6
share_buffer

This is intermittent.  It stops working (as illustrated here) for a while then works for a while....
I cannot work out what changes between it working and not.

Hi @WorikQCI, can you provide a minimal reproducible code sample so that we can try to see if we can repro this?
Thank you

No, I am sorry, I cannot realistically do that.  I think.  I will
It is intermittent.  It does seem to be related to using FFI.

I have seen this in the output:
[VERBOSE-2:FlutterObservatoryPublisher.mm(103)] On iOS 14+, local network broadcast in apps need to be declared in the app's Info.plist. Debug and profile Flutter apps and modules host VM services on the local network to support debugging features such as hot reload and DevTools. To make your Flutter app or module attachable and debuggable, add a '_dartobservatory._tcp' value to the 'NSBonjourServices' key in your Info.plist for the Debug/Profile configurations. For more information, see https://flutter.dev/docs/development/add-to-app/ios/project-setup#local-network-privacy-permissions

In ios/Runner/Info.plist I cannot find the NSBonjourServices key

yes fixed that issue
and still happening
On Thu, Aug 11, 2022 at 2:56 PM WorikQCI @.***> wrote:

I have seen this in the output:
[VERBOSE-2:FlutterObservatoryPublisher.mm(103)] On iOS 14+, local network broadcast in apps need to be declared in the app's Info.plist. Debug and profile Flutter apps and modules host VM services on the local network to support debugging features such as hot reload and DevTools. To make your Flutter app or module attachable and debuggable, add a '_dartobservatory._tcp' value to the 'NSBonjourServices' key in your Info.plist for the Debug/Profile configurations. For more information, see https://flutter.dev/docs/development/add-to-app/ios/project-setup#local-network-privacy-permissions
In ios/Runner/Info.plist I cannot find the NSBonjourServices key
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/109275#issuecomment-1211503230,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AW2HZEDIPIX3SVCE3M3QLRLVYRTVZANCNFSM56CRQKAQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Paul Cardno
Distinguished Engineer
https://quickcustomintelligence.com/
858.299.5715
paulcardno
http://quickcustomintelligence.com/ QuickCustomIntelligence.com
http://www.quickcustomintelligence.com/
SAN |  LAS  |  PHX  |  DFW  |  STL
https://www.linkedin.com/company/quick-custom-intelligence/  QCI LinkedIn
https://www.linkedin.com/company/quick-custom-intelligence/
https://quickcustomintelligence.com/

Hi @WorikQCI, Can you please share a minimal and complete sample project for us to investigate further?
Thanks

please find attached the minimal code you will need to reproduce this issue.
Looks like the difference (between debug and profile mode) is that the size which is passed to the futureBuilder is 0 width and height. In our code this creates knock on effect that crashes the application. With the attached code you will see in generateImage we have a check to see if the width or height is zero. catching this as we do here fixes our issue, but we only see this issue happening in --profile mode.
let me know if this is unclear or you have any other questions.
lib.zip

Hi @QCIPaulCardno, @WorikQCI, what platform is this issue on? So far I've tested iOS, macOS and chrome and I'm not able to reproduce the issue. All I see in my logs is "UI : image created" on all 3 platforms tested.

sorry
I'm developing on mac and running on iPad/iOS

I still cannot reproduce.
Do you have a file like flutter_01.log in your project directory that you can share with us?

Hi Daniel
currently this error is dealt with, I believe that this means that there will be not error log. (let me know if I am wrong about that).
Below is the printout on the terminal when I run  in --profile mode.
"Pauls-MacBook-Pro-2019:error_profile paulcardno$ flutter run --profile
Launching lib/main.dart on iPad Paul Pro 12.9 :) in profile mode...
Automatically signing iOS for device deployment using specified development team in Xcode project: XFK7378Q2T
Running Xcode build...
└─Compiling, linking and signing...                      1,263ms
Xcode build done.                                            4.9s
flutter: width = 0 height = 0
flutter: snapshot.hasError
flutter: snapshot.hasError
flutter: UI : image created
Installing and launching...                                        13.5s
Flutter run key commands.
h List all available interactive commands.
c Clear the screen
q Quit (terminate the application on the device).
An Observatory debugger and profiler on iPad Paul Pro 12.9 :) is available at: http://<IP_ADDRESS>:49745/9neaC9Ws6kc=/
The Flutter DevTools debugger and profiler on iPad Paul Pro 12.9 :) is available at:
http://<IP_ADDRESS>:9102?uri=http://<IP_ADDRESS>:49745/9neaC9Ws6kc=/
flutter: UI : image created
...."
here you will see
"flutter: width = 0 height = 0
flutter: snapshot.hasError
flutter: snapshot.hasError"
this is where we catch the error. of width and height being zero.
not sure what else I can give you here. I could remove this catch of the error and re run giving you the error log. Let me know.

currently, this error is dealt with, I believe that this means that there will be no error log. (let me know if I am wrong about that).

Hi @QCIPaulCardno, the flutter_01.log is usually written to your project directory, so unless you delete it, the file should still remain.

I could remove this catch of the error and re-run giving you the error log. Let me know.

If you can consistently reproduce the tool crash, then it should generate another crash log file. If you could try and get us the full content of that file, that would be appreciated. The name might not be flutter_01.log, but it will be similar


expose 'unionAll()' API for row-binding tbls / Spark DataFrames

E.g. https://spark.apache.org/docs/1.4.0/api/java/org/apache/spark/sql/DataFrame.html#unionAll(org.apache.spark.sql.DataFrame)

Implemented now with a method on rbind.


Fix DYNAMIC_ARCH build for POWER9

Setting DYNAMIC_ARCH=1 on POWER9 does not build POWER9 files due to some
compiler version checks.  This patch fixes some of the macros that are used
to check compiler version.  On fixing those checks, there are some new make
failures related to icamin, icamax, isamin, isamax and caxpy files on POWER9.
This patch fixes those failures as well.

Thanks (sorry, must have totally missed to push my assembler fixes for power9, guess technically these should also have _CALL_ELF==2 guards)


Need is Lost after publish due to an Unhandled exception when publishing with faulty details

Creating a new post with faulty TTL entered as a detail results in an unhandled promise rejection error. Console output:
es6.promise.js:110 Unhandled promise rejection Error: error while parsing the following turtle:

@prefix webID: <http://www.example.com/webids/>.
@prefix msg: <http://purl.org/webofneeds/message#>.
@prefix dc: <http://purl.org/dc/elements/1.1/>.
@prefix agr: <http://purl.org/webofneeds/agreement#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix won: <http://purl.org/webofneeds/model#>.
@prefix gr: <http://purl.org/goodrelations/v1#>.
@prefix ldp: <http://www.w3.org/ns/ldp#>.
@prefix rdfg: <http://www.w3.org/2004/03/trix/rdfg-1/>.

something wrong

----

Unexpected "something" on line 14.
    at l._syntaxError (N3Lexer.js:363)
    at m (N3Lexer.js:330)
    at l._tokenizeToEnd (N3Lexer.js:315)
    at N3Lexer.js:386
    at e.exports (_invoke.js:5)
    at m.(/owner/anonymous function) (https://satvm05.researchstudio.at/owner/generated/app_jspm.bundle.js:83:41376)
    at Number.y (_task.js:21)
    at MessagePort._ (_task.js:25)

From a user perspective, the post just disappears after clicking publish.

may be the cause of the subjective "post creation takes too long issue" #2274 (which has been closed since)

Closing this issue since ttl creation is currently not implemented/accessible


CONTRIBUTING.md

The document should explain how to propose and discuss new ideas/solutions as well as how to contribute the code.
Leave a comments if you have any suggestions or ideas.

I like what @soveran said about making sure we say "start by opening an enhancement issue and saying what you're planning" rather than "start with a PR". PR's are great, of course, but it's even better to get community involvement first.

There are some great ideas in the C4.1 process used in some projects within the ZeroMQ community, but some of the ideas are not helpful on certain projects, so I wouldn't necessarily recommend adopting it wholesale.  Still it's worth a look.
I like the idea of all contributors (even those with direct repository push access) using PRs to make changes.  It creates a nicer trail of ideas and discussions that direct commits do, and groups together commits that are related to be under a common ticket.  However, only the contributors that actually have push access to ponyc can judge and decide whether this would be an undue burden on their development process, or whether it would be worth the benefits.
One of the ideas from C4.1 that has almost universal usefulness is the idea that each PR should consist of a clear, concise Problem Statement for a single problem, and a minimal solution to that single problem.

In the hope that it serves as inspiration, here are the contributing guidelines I use for my projects. They may not apply directly, but perhaps some bits are useful.

I've found this workflow really useful for a clean commit history: http://blog.spreedly.com/2014/06/24/merge-pull-request-considered-harmful/#.Vj1A5berTb0

Yeah ... Some more guidelines and maybe a Roadmap or Todos would be useful. And more documentation. I've collected a lot of stuff from these issues and made a small faq for myself so that could be useful to many people.

@pyros2097 , a FAQ might be very useful. What kind of stuff is in it? Would it be useful to do a PR on the tutorial (https://github.com/CausalityLtd/pony-tutorial) to add your FAQ to it?

@sylvanc the FAQ is very small and contains some info that I got from reading the issues and pony source while developing. It was a bit hard to search everytime through the source so I made it. It contains a few question like how to declare enums (which might actually go into the enum section), how to pass and get structs from C-API. Sure I'll do a pull request to the tutorials section and you can review it.

Ok, sounds good.

Please take a look at pull request.
I'm not a native speaker so any suggestions on style or vocabulary are more than welcome.

That's a great start, @jonas-l thanks. I've added a few minor notes, but nothing big needs to change.


Rename compiled regexp var in match function

Rename dateRegexp to  compiledRegexp to make it more meaningful

That's my missed point. Thank you very much 👍


Adaptive Design for Intro UI and Tutorial

Description:
Ensure that the introduction scene and tutorial of "Green Paw Chefs" are designed with an adaptive UI that provides a consistent and enjoyable experience across various devices and screen sizes:

Test and adjust layouts, font sizes, and interactive elements for readability and ease of use on small and large screens.
Employ responsive design principles to accommodate landscape and portrait orientations.
Conduct user testing across a range of devices to identify and resolve any issues impacting the user experience.

#70


Crowdsource Reporter: Can't edit configuration

@conklinbd it seems like i'm not able to edit crowdsource reporter configs after hitting 'publish' from the  'make gallery application' dialog. and my configuration looks a little ugly with the default color scheme --
https://nsec.esri.com/arcgis/home/item.html?id=e8bdbc493782458dad67680cfeb26d6a
thanks for any guidance you can offer -- i may have missed something somewhere --

same for Crowdsource Manager -- https://nsec.esri.com/arcgis/home/item.html?id=659efff073634843900b22378b585e4c

@jessnoo I have not been able to figure out how to make these apps configurable. Do you know if anyone on the team has tested this with Portal?

@conklinbd - @allisonmuise and I got together and looked through everything.

needed to fill out the configuration Parameters section of the templates' item details pages  (this came from the git hub repos -- configuration-panel.js in the resources folder for the apps)

removed the 'arcgis' from the path to the code used by the templates. This 'arcgis' was resulting in /arcgis/arcgis in the template path causing 500 errors when accessing the config and app.

Verified the config option is now available.


Getting incorrect value when using an external source related to thread : "parent"

Description:

Steps to reproduce:
Consider following code example
public function main() {

    @strand{thread: parent}
    worker W1 {

    }
}

Note that here expected value is "parent" instead of parent
But if we consider following code example
public type Thread1 "parent" | "any";

public type StrandDataHello record {|
    string name?;
    string policy?;
    Thread1 thread = "parent";
|};

public const annotation StrandDataHello strand on source worker;

public function main() {

    @strand{thread: "parent"}
    worker W2 {
    }
}

In this case we get the expected "parent".
The reason for the issue is we are getting incorrect value when we are using an external source.

What is parent in the first example?

@MaryamZi it the value we get when completing the thread field as mentioned in the issue https://github.com/ballerina-platform/ballerina-lang/issues/35225

Reverted the fix with https://github.com/ballerina-platform/ballerina-lang/pull/35798 hence re-opening


Open source GIS tool for planning of water harvesting/recharging zones and appropriate structures in Indian cities

Summary:
The "Open Source GIS Tool for Water Harvesting Planning in Indian Cities" aims to develop a user-friendly and accessible GIS tool to support sustainable water management in urban areas across India. The tool will empower urban planners, engineers, policymakers, and community stakeholders to identify suitable locations for water harvesting and design appropriate structures to harness rainwater effectively. By integrating geospatial data and advanced analytical capabilities, the tool will facilitate informed decision-making, optimize water harvesting strategies, and promote community participation in water conservation initiatives. Emphasizing openness, scalability, and user-centric design, the project seeks to foster collaboration, capacity building, and policy influence to address water scarcity challenges and promote resilience in Indian cities.
Goals
Enhancing water management in a city: Develop a tool that aids urban planners, engineers, and policymakers in identifying suitable locations for water harvesting and designing appropriate structures to optimize water resource management in Indian cities. Pick and choose one small city in India to pilot this tool. Gather all the requirements, like data satellite images, existing GIS tools for analysis etc and create a water rejuvenation plan of a city.
Increase sustainability in water management: Promote sustainable water management practices by facilitating the implementation of rainwater harvesting systems and other water conservation measures at the local level.
Improving accessibility: Ensure the tool is accessible to a wide range of stakeholders, including government agencies, municipal authorities, non-governmental organizations (NGOs), and community groups, regardless of their technical expertise or financial resources.
Context invariant and scalable: Design the tool to be scalable and adaptable to different urban contexts, ranging from smaller NACs to larger municipalities and across diverse geographical and climatic conditions in India.
User-Centric Design: Designing an intuitive and user-friendly interface that facilitates efficient decision-making and planning processes related to water harvesting.
Data Integration: Enable seamless integration of various geospatial datasets, including topography, land use, hydrology, drainage, percolation, lithology, lineament, watershed, slope, rainfall patterns, infrastructure networks, and population density, to provide comprehensive information for water harvesting planning and analysis.
GIS tool for governance in increasing the blue infrastructure at a city level. The tool gives a view of all the blue, grey, and green infrastructure, and city administrations or ward level governance can be established by using the tool to identify the appropriate zones, enhance recharging capacity, and incentivize the best locality for doing so.
Outcomes:
Identification of Suitable Water Recharging Zones: The GIS tool should enable users to identify potential areas for water harvesting structures/zones based on factors such as land use, terrain, slope, drainage, watershed, lineament, lithology, drainage, public infrastructure, topography, population density, and rainfall intensity, helping prioritize locations for intervention.
Optimized Design of Structures: Users will be able to design and optimize the layout and specifications of water harvesting structures, such as rooftop rainwater harvesting systems, check dams, percolation pits, recharge wells, drainage systems, and lakes, to maximize water yield and efficiency.
Risk Assessment and Mitigation: The tool will facilitate risk assessment and mitigation strategies for water harvesting projects by analyzing factors such as flood risk, groundwater contamination, and land use conflicts.
Decision Support: Provide decision support tools and scenario analysis capabilities to evaluate the effectiveness of different water harvesting strategies, compare alternative scenarios, and make informed decisions on investment priorities and resource allocation.
Acceptance Criteria
Functional GIS Tool: The GIS tool should be fully functional and capable of performing key tasks, like identifying suitable water harvesting zones and designing appropriate structures based on user inputs and geospatial data.
User Interface: The user interface should be intuitive, user-friendly, and accessible to users with varying levels of technical expertise. It should enable users to interact with the tool efficiently and effectively.
Data Integration: Relevant geospatial datasets, such as topography, land use, rainfall patterns, and hydrological data, etc should be successfully integrated into the tool to support analysis and decision-making related to water harvesting planning.
Accuracy and Reliability: The tool should produce accurate and reliable results, with minimal errors or discrepancies in the analysis and output generated.
Documentation: Comprehensive documentation, including installation instructions, user manuals, technical specifications, and data sources, should be provided to guide users in installing, configuring, and using the GIS tool effectively.
Testing: Thorough testing should be conducted to ensure the functionality, reliability, and usability of the GIS tool across different operating environments, datasets, and user scenarios.
Performance: The tool should demonstrate satisfactory performance in terms of speed, efficiency, and resource utilization, even when processing large datasets or complex analysis tasks.
Feedback Mechanism: Mechanisms for receiving feedback from users and stakeholders should be established to gather input on the tool's performance, usability, and effectiveness for continuous improvement.
Documentation of Process: The student should maintain documentation of the development process, including design decisions, challenges faced, solutions implemented, and lessons learned throughout the project.
Out of Scope
Large-Scale Deployment: The project's scope may not include the deployment of the GIS tool on a large scale across multiple cities or regions.
Customization for Every City: Customizing the GIS tool for every Indian city or region may be out of scope. The project may focus on developing a generic tool that can be adapted or customized by users based on their specific needs and local conditions.
User Training
Policy Development: The project may not involve the development of policy frameworks, guidelines, or regulations related to water harvesting in Indian cities.
Long-Term Maintenance and Support: While the project may include mechanisms for receiving feedback and making iterative improvements to the GIS tool, long-term maintenance and support beyond the duration of the project may be out of scope. Although online training resources would be provided and online support community would be nurtured
Implementation Details:
Requirement Gathering and Analysis:
User Requirements Analysis:
Scope out the requirements
Document functional and non-functional requirements.
Data Collection and Analysis:
Identify relevant geospatial data sources, such as topography, land use, rainfall, watersheds, infrastructure, etc that are relevant for identification of water harvesting zones.
Assess the quality, availability, and compatibility of data
Design Specification:
Develop a design specification document outlining system architecture, data models, and user interface design.
Development
Prototype Development:
Develop a prototype of the GIS tool, focusing on core functionalities.
Implement basic features for data visualization, spatial analysis, and user interaction.
Data Integration:
Integrate geospatial datasets into the GIS tool using appropriate data formats and protocols.
Develop data processing pipelines for data cleaning and analysis.
Algorithm Development:
Develop algorithms for identifying water harvesting zones and designing appropriate structures based on spatial analysis techniques.
Testing and Validating:
Unit Testing:
Conduct unit tests to validate individual components and functionalities of the GIS tool.
Integration Testing:
Test the integration of different modules and components to ensure interoperability and consistency.
User Acceptance Testing (UAT):
Engage stakeholders and end-users to conduct UAT sessions to validate the tool's usability and functionality.
Performance evaluation and Analysis report
Performance evaluation:
Evaluate the performance of the GIS tool in terms of speed, accuracy, and efficiency.
Benchmark against existing tools or methods for water harvesting planning.
Analysis report
Analyse and publish the report of identifying water rejuvenation zones in a small city in India
Mockups / Wireframes
……………………………………
Product Name
DIGIT
Project Name
Open source GIS tool for planning of water harvesting zones and appropriate structures in Indian cities
Organization Name:
eGovernments Foundation
Domain
Public Services
Tech Skills Needed:
Creative and Innovative mindset
Proficient knowledge of Geographic Information Systems (GIS)
Programming Languages Python, JavaScript/Java
Spatial Database Management like PostGIS, SQLite etc
Data Integration and Analysis
UI/UX design skills for creating user-friendly interfaces
Documentation, Communication
Scalability and Performance Optimization
Security and Privacy Considerations
Mentor(s)
Aniket Talele
Complexity
High
Category
Feature
Sub Category
API, Frontend, Backend

Weekly Learnings & Updates
Week 1
1. Prerequisites

Learned about Geographic Information Systems (GIS) and it’s uses.
Learned topics like GeoPandas, Rasterio, OpenCV, Mapbox, Google Maps API etc.
Learned what shapefiles are (shp, zip, dbf, prj, shx, cpg, fix, qix, sbn ,shp.xml, osm)

Week 2
1. Satellite Images

Selected Maputo, Mozambique as the place of interest to work upon
Downloaded Satellite Images of the region using earthexplorer.usgs.gov and Google Earth Engine
Learned about different types of Satellite Images, Sentinel Hub and Landsat.
Still searching for better quality satellite panchromatic images to ease the building detection process in future. (Images in black and white or grayscale, often known as panchromatic images, record a wide range of wavelengths in a single channel and due to their great spatial resolution they are perfect for uses like urban planning where having precise information about infrastructure, roads and buildings is essential) Example - Landsat ETM+ PAN.

Week 3
1. Shape Files and Folium

Learned about www.openstreetmap.org and started Downloading shape files of smaller regions (osm format)
Learned and started working with QGIS software for processing and obtaining required features from the shape files (roads and routes).
Delved deeper into Folium and Pandas for using maps in Google Colab.
Started using their pre-built functions to work and process Satellite Images.

Week 4
1. Google Earth Engine and Water Sources

Paused working with Folium for now, will visit it later to use more features.
Started learning about Google Earth Engine (Code Editor and API)
Started Pre-processing the satellite images for cloud removal, enhancing image quality and observing between a specific time periods.
Started identifying Landsat Global Inland Water for identifying water sources for the GIS Tool using satellite data on Google Earth Engine - Code Editor

Week 5
1. Adding Shape Files and Household Estimation

Due to less data on African Continent, started testing some things out for Delhi Region. Will make the same for Maputo.
Defined a circular Region of Interest (ROI) around the lake with a radius of 1.5 Km. Users can define their own region of interest in any polygon shape as well.
Using computer vision and Open Buildings V3 Polygons did building detections and household estimation in the region of interest. Assuming 3 people as average number of residents per household, calculated the estimated population.
Found another dataset, which provides population density of regions. Calculated population density around the lake with the help of estimated population and area of region of interest. Compared this Calculated Population Density with Observed Population Density from the dataset. Final values of both Population Densities were almost comparable. Thus backing up our household estimation as well.

Week 6
1. Refining ROI and Household Estimation V2

Refined Region of Interest for more accurate Household Estimation
Used the shapefile of Delhi Wards 2022 to define a function to choose any ward as ROI and using the consensus data found out exact population of the ward selected. Thus did Household Estimation with number of buildings detected and actual population. Also the function finds out the area of the selected ward in sq km (almost equal to actual area of the ward). Also worked upon labels.
Screenshots:

Week 7
1. Geemap and More Functionalities

Learned in-depth about the Geemap Library.
Working on converting the obtained functionalities from Code Editor to Python API in Google Colab using Geemap for African region – Maputo.
Developing a Computer Vision model using Yolo and OpenCV for more precise building detection and route detection using shape files. Also, working on developing an algorithm to find shortest distance between two given points.
Also, worked on refining the presentation and problem statement for Mid-Point Evaluation:

Week 8
1. Scope of the Project and Python Conversion

Updated Issue Ticket content for more generalized project and not just working on “Planning of water harvesting/recharging zones and appropriate structures”
Converted the main functionalities from Google Earth Engine to Python (Colab Notebook) using Geemap Library. Working on converting more features and incorporating Folium Library.

Week 9
1. Data Acquisition and Preparation

Identified and collect relevant data on facilities (warehouses), road networks, and geographic information (latitude, longitude) in Delhi Region.
Overlaid this data on the interactive map to help in planning the distribution routes and logistics.

Week 10
1. Shortest Distance/Path Algorithm Development

Implemented a suitable algorithm using osmnx library to calculate the shortest distance between two given facilities based on their latitude and longitude.
Route Optimization: Considered factors like road types and distance to be loaded to optimize the calculated route and give faster results.

Week 11
1. Network Visualization

Allowed users to filter the network by type (all, all_public, bike, drive, drive_service, walk) and customize the visualization (e.g., color, thickness).
Integrated osmnx part with geemap part.

Week 12
1. Application Development and Testing

Developed code to handle user interactions, perform calculations, and update the visualization accordingly.
Working on the front end part


validate that cluster SP does not have Application.ReadWrite.OwnedBy

Which issue this PR addresses:
Fixes none
What this PR does / why we need it:
Validates cluster AAD application doesn't have Application.ReadWrite.OwnedBy.  I've been suspicious for a while that this was broken, and today got to the bottom of it.  I believe the fix is correct because now it exactly matches the code that enables or disables the cred minter.
Test plan for issue:
A unit test is needed.  This is waiting on foundational work that @mjudeikis has in flight.  TODO for now.
Is there any documentation that needs to be updated for this PR?
No.

/retest


[WIP] Inline text formatting

This is a first WIP implementation of inline text formatting.
Fixes #413.
Fixes #1007.
Fixes #925.
TL;DR:
It works for all the properties: bold, italic, underline font weight, letter spacing and text color, but there's still some stuff to do - however everything can and will be fixed! Also, there's a couple of open questions, that need be answered to fully implement.
Goal
The goal is to be able to update font weight (and bold as a subset of that), italic, underline, text color and letter-spacing both inline and on the entire text field.
This also includes that the text panel is aware of which of these features are currently set to which values while editing the text field - so when selecting text, that "B" button is correctly pressed or not based on whether the currently selected text is all (some) bold.
All of this has to work as before for multiple text fields as well and things should work when pasted too.
Implementation details
Structure
This introduces a new provider located just inside the CanvasProvider in Workspace.
Also, the entire rich text editor is moved to a new component that is then utilized by the text edit component. We might not need this component elsewhere, but the split made sense.
One caveat is, that the rich text provider directly accesses the editingElementState from the CanvasProvider. It would probably be cleaner to pass this in all the way from the text edit component. I might do that in the future.
The text edit component now only updates the HTML on unmount.
Formatting
This PR also completely overrules draftjs' built-in formatting and creates a completely new formatting setup with custom style names. There's a parser, a serializer and a set of rules for display.
This also re-implements the logic as to what it means to press "italic" (both by shortcut and button) by answering the question "is current selection italic or not?" explicitly. It seems like a trivial question, and kind of is for italic, but for bold is a lot more complex - what if some characters are semibold, others are black - what happens when you press the "bold" button? All this is answered in code in styleManipulation.
These same rules will be applied to the entire text field (in upcoming posts) as well as partial selection (which works now for a subset of the properties).
Status
This is the progress so far:

[x] Bold by shortcut and button
[x] Italic by shortcut and button
[x] Underline by shortcut and button
[x] Bold on entire text field
[x] Italic on entire text field
[x] Underline on entire text field
[x] Font weight on selection
[x] Font weight on entire text field
[x] All the above "entire text field" rules applied to multiple selected text fields.
[x] Deprecate old properties not used anymore (fontStyle, textDecoration, bold, fontWeight).
[x] All the above for the "empty" selection. That is, if you're in edit mode but haven't selected anything, just placed your cursor somewhere, and press "bold" and "red", the next text you write at that point should now correctly start out as "bold" and "red". Seems easy enough to do though - just check if selection is collapsed and if so, apply inline style change to override rather than selection.
[x] Letter spacing on selection
[x] Letter spacing on entire text field (+multi-selection)
[x] Color on selection
[x] Color on entire text field (+multi-selection)
[x] Deprecate old properties not used anymore (color, letterSpacing).
[x] Display (multiple) in font weight dropdown when it's the case
[x] Migrate old properties to new inline syntax (which will include a fun new exercise on merging diverging settings in fontWeight versus bold - I'm thinking that if fontWeight=400 and bold wrap everything in font-weight:700, else use actual font weight). Plus intensive unit test!
[x] Refactor and cleanup code so text formatting options are in verticals, not horizontals (adding color as a new option required changing 7-8 files, should just be a single file).
[ ] Display "faux-selection" background when editor is unfocused
[ ] Make sure color presets still work for text fields – both for entire text field and selection. And both for adding and (re)using presets.
[ ] Unit test style manipulation functions
[ ] Unit test text style panel section
[ ] Unit test font weight panel section
[ ] Unit test text color panel section
[ ] Update and amend unit tests for color presets
[ ] Integration test all this in connection

Known bugs:

[x] ~Proper parsing of multiple styles applied to the same character (due to https://github.com/sstur/draft-js-utils/pull/155 going unmerged) - will fix with patch-package in a future commit) [bug can be seen by making some text both italic and bold, exiting edit mode and re-entering edit mode]~ Fixed in 854510f7
[ ] Pasting formatted content doesn't correctly "reformat" to our new styles (will fix in future commit)
[ ] When creating inline style override using controls in the design panel, previous inline style overrides will be lost. Example: Move cursor to some non-bold, non-italic word without selecting anything. Press "bold" button (sets bold in inline override). Now press "italic" button (removes bold from inline override due to focus loss, but then sets italic override). This can be fixed, but it's a bit tricky - it's about remember the inline style override when losing focus, and merging old style back in when focus is regained. There's an open PR for this in https://github.com/facebook/draft-js/pull/2022, but we can work around it without waiting for it to get merged.
[ ] When a single text element is selected, typing a single letter on the keyboard should make the text element go into edit mode with focus and the typed key replacing the entire old content. This is currently broken for unknown reasons.

Possible optimizations:

[ ] Output proper semantic HTML (currently using <span /> with class names and inline styles for all formatting) – proper semantic DOM is not easy due to limitations to draft-js-utils, where only one node can be returned per styled section, where something both bold and italic should have two surrounding nodes (thus the single <span /> used now with multiple styles and class names).
[ ] Don't directly access canvas provider from inside rich text provider.

Open questions:

~What should the font weight drop down display, when multiple font weights are present in selection? (my current idea is to push a disabled <option>(multiple)</option> to the front of the list and mark it as selected)~ added as a proper task above
~What should the letter spacing input display, when multiple letter spacings are present in selection? (currently going for (multiple) as used in inputs elsewhere)~ already handled by component
~What should the font color component display, when multiple color are present in selection? (will implement some kind of (multiple) logic which currently doesn't exist for color display as far as I know).~ already handled by component
What happens to invalid font weights when you change font family? Not sure how to handle this yet.
Should you be able to reset color and letter spacing by keyboard shortcut?
Should you be able to set different font weights (other than bold or non-bold) by keyboard shortcut?

Demo

(when you see the text change without the mouse being over the buttons, it's because I'm using shortcuts - forgot to include the on-screen key-logger for this video)

Most recent state can now also do font weight - both per selection and entire text field.
Also, multiple text fields are supported for bold, italic, underline and font weight.
Please note how the value in the font weight dropdown updates as selection and values change, also how the values of the B/I/U buttons update:

@dvoytenko, @miina, @wassgha - I've added a migration and test in 5dcaf4e, but as it's pretty complex, feel free to review early, to make sure I've caught everything.

@swissspidy, I'll need to support the format used in #1273 here as well, right?

@barklund Yep, looks like it. Happy to help. And if there's now a need for a different format, LMK.

@swissspidy, any idea why this one starts failing in this PR? https://travis-ci.com/github/google/web-stories-wp/jobs/324732896#L333-L348

Looks great from a quick look, and unblocks inline links

I've now added faux-selection highlighting - that is, when editor is unfocused, the last selection is highlighted, so you can see to which section you're applying styles (when selecting a color, typing a letter spacing or selecting a font weight).
The actual style applied is background-color: rgba(169, 169, 169, 0.7) . Why that color? Because it looked nice (and seems to be about the same color/alpha as the browser natively shows on Mac OS X for a selection, when the whole browser window loses focus).
Demo:

From testing:

Selecting part of the text via double click and marking Fill crashes the editor:

Highlighted rows display on top of each other:

There are some console errors:

On Safari: selecting part of text and choosing highlighting crashes the editor:

Note: it doesn't always happen but selecting part of a text a few times and toggling between highlight and Fill should eventually trigger it.

Selecting part of the text and assigning padding crashes the editor:

(Basically using unrelated controls, e.g. element aligning etc. seem to crash the editor while part of the text is selected)

Trying to assign color/fill/highlight to multiple selected text elements results in transparent for all (seems to work on master):

Similar issue for a Text element which has multiple colors at the same time: selecting that text element and trying to assign one color makes it transparent:

@miina
First off, it now works with text color and text style presets! Please check my implementation. I made some assumptions - including:

if you want to add a text color preset for a multi-color text field (or selection), nothing happens.
if you want to add a text style preset for a multi-color text field (or selection), a text style preset with black color is added (so background, fill style, etc. is correct, but font color is default'ed to black).

Secondly, I fixed (most of) the bugs you've mentioned:

Selecting part of the text via double click and marking Fill crashes the editor:
Selecting part of the text and assigning padding crashes the editor:
On Safari: selecting part of text and choosing highlighting crashes the editor:
(Basically using unrelated controls, e.g. element aligning etc. seem to crash the editor while part of the text is selected)

Fixed (but not actively - just fixed through some optimizations made somewhere)

Highlighted rows display on top of each other:

Not a bug / also on master.

There are some console errors:

Fixed (mainly by fixing prop-types, but also defaulting to '' rather than null for input value in a single place).

Trying to assign color/fill/highlight to multiple selected text elements results in transparent for all (seems to work on master):
Similar issue for a Text element which has multiple colors at the same time: selecting that text element and trying to assign one color makes it transparent:

Fixed (by defaulting color in color picker to opaque black rather than transparent black).

@barklund
The presets seem to work well! 🎉

if you want to add a text style preset for a multi-color text field (or selection), a text style preset with black color is added (so background, fill style, etc. is correct, but font color is default'ed to black).

Perhaps in this case, we would ideally not save the font color to the preset at all. We can follow up on this with UX, the assumptions seem reasonable to me for now!
One more thing to follow up later -- IMHO using a style preset should always apply to the whole text element. Currently, it applies only the color to the selected part of the text, which makes sense for a Color Preset but perhaps not for a Style Preset. Otherwise, it should also apply the font family and other styles to the selected part only.
Encountered two more crashing-bugs:

Selecting part of the text, assigning text color, then clicking on canvas without closing the color picker and selecting a color crashes the editor:

In some cases, the editor also crashed with the following errors:

I was assigning colors and text styles and testing out gradients with presets when it suddenly crashed. Unfortunately wasn't able to reproduce it with certain steps, not sure if the console errors are informative enough, will try again later if I can reproduce the bug.

@barklund: Can reproduce now successfully the editor crashing with this:

Steps:

Add general color to a Text element
Double click into selecting part of the text while the element is previously selected
Switch to Highlight background mode.

@barklund: Can reproduce now successfully the editor crashing with this:

Add general color to a Text element
Double click into selecting part of the text while the element is previously selected
Switch to Highlight background mode.

Found and fixed the underlying issue this time - it's the faux selection removal, that caused errors if the component was remounted. Fixed in e03baf3e.

I posted a few more responses on the existing threads. But otherwise my only question is what to do with !important styles for the output (and lesser extend the editor as well). Otherwise, I'm ready to approve this.

@dvoytenko, I think I've addressed most/all of your points now - can you approve, so we can merge or how do you feel?


Adding support for running the python version of ciceroscm

Adding support for running the python version of ciceroscm

[ ] Tests added
[ ] Documentation added
[ ] Example added (in the documentation, to an existing notebook, or in a new notebook)
[ ] Description in CHANGELOG.rst added (single line such as: (`#XX <https://github.com/openscm/openscm-runner/pull/XX>`_) Added feature which does something)

I'll try to clean up duplicate code and make a notebook example, so not done yet, but I think it's working in principle.

I seem to be mainly failing from lack of magicc at the moment...

Alrighty @maritsandstad my attempts to give you access to secrets to make the CI work have failed so far. Can you make a branch in the openscm-runner repository and then create a new PR from that? That will give you access to the secrets while I try and work out a better solution (cc @lewisjared in case you have a better suggestion)

I'll make the separate branch and fix other stuff.

Did it in here: #78 so this can likely be closed

Did it in here: #78 so this can likely be closed

Perfect thanks


Is there a API doc? I'm puzzled in somewhat.

what exactly you trying to find @FreePoi ? Most (if not all) API covered in the readme

Closing due to no response.


Client generation with required sanitization

Purpose
To add spotify icon.png file and change config file.
Examples
Checklist

[ ] Linked to an issue
[ ] Updated the changelog
[ ] Added tests
[x] Updated the spec
[ ] Checked native-image compatibility

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

hi @Sachindu-Nethmin,
This looks great. Could you try and follow this approach in opening pull requests for the different areas mentioned here in this Ballerina hacktoberfest guide.

@aashikam can you please check it again please leave me a comment.

Hi @Sachindu-Nethmin,
LGTM 👍, Could you change the title for something more appropriate.

@aashikam, your suggestion is greatly appreciated! I will make sure to update the title to better fit the content. Your feedback means a lot to me!

@Sachindu-Nethmin Looks good!, I will review it. In the meantime could you add a sanitization doc with the changes you made (if there are any) as mentioned here: https://ballerina.io/learn/create-your-first-connector-with-ballerina/#step-2-prepare-the-openapi-specification.
Here is an example of the doc: https://github.com/ballerina-platform/module-ballerinax-googleapis.gmail/blob/master/docs/spec/sanitation.md

I believe you encountered this error here:
OpenAPI definition has errors:
attribute paths.'/playlists/{playlist_id}/images'(put).requestBody.content.'image/jpeg'.schema.required is not of type `array`

and you have fixed it by changing required: true to required: []. This might not be the ideal solution.
According to the open API spec:
Understanding the Error
The error message you encountered is:
OpenAPI definition has errors:
attribute paths.'/playlists/{playlist_id}/images'(put).requestBody.content.'image/jpeg'.schema.required is not of type `array`

This indicates that the required attribute within the schema for the image/jpeg content type is incorrectly defined. In OpenAPI, the required attribute within a schema is expected to be an array when defining required properties of an object. However, in your case, the schema is defining a primitive type (string), not an object with properties.
Correct Usage of required

For Object Schemas:

When defining an object with properties, required should be an array listing the names of the properties that are mandatory.
type: object
properties:
  name:
    type: string
  age:
    type: integer
required:
  - name

For Request Bodies:

To indicate that the entire request body is required, use the required attribute at the requestBody level, not within the schema.
requestBody:
  required: true
  content:
    image/jpeg:
      schema:
        type: string
        format: byte
        description: Base64 encoded JPEG image data, maximum payload size is 256 KB.

For Primitive Schemas:

The required attribute should not be used within the schema when the schema defines a primitive type like string, integer, etc.
How to Fix Your OpenAPI Definition
Remove the required Field from the Schema:
put:
  tags:
    - Playlists
  operationId: upload-custom-playlist-cover
  summary: |
    Add Custom Playlist Cover Image
  description: |
    Replace the image used to represent a specific playlist.
  parameters:
    - $ref: '#/components/parameters/PathPlaylistId'
  requestBody:
    required: true  # Ensure the request body itself is required
    content:
      image/jpeg:
        schema:
          type: string
          format: byte
          example: /9j/2wCEABoZGSccJz4lJT5CLy8vQkc9Ozs9R0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0cBHCcnMyYzPSYmPUc9Mj1HR0dEREdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR//dAAQAAf/uAA5BZG9iZQBkwAAAAAH/wAARCAABAAEDACIAAREBAhEB/8QASwABAQAAAAAAAAAAAAAAAAAAAAYBAQAAAAAAAAAAAAAAAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAARAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwAAARECEQA/AJgAH//Z
          description: Base64 encoded JPEG image data, maximum payload size is 256 KB.
  responses:
    '202':
      description: Image uploaded
    '401':
      $ref: '#/components/responses/Unauthorized'
    '403':
      $ref: '#/components/responses/Forbidden'
    '429':
      $ref: '#/components/responses/TooManyRequests'
  security:
    - oauth_2_0:
        - ugc-image-upload
        - playlist-modify-public
        - playlist-modify-private

Ensure required is Appropriately Placed: The required: true should be at the requestBody level to indicate that the request body is mandatory.

Hi @Sachindu-Nethmin,
You seem to have attempted to remove the incorrect resource (/playlists/{playlist_id}/images (put)) entirely from the spec without editing it. Shall we edit the spec with the correct format and update the PR. Also the segment you have removed  in this commit doesn't seem to be the incorrect one anyway. https://github.com/ballerina-platform/module-ballerinax-spotify/pull/2/commits/0f96f2e3e451042ab5ac6d495bb15d37c357f858
Feel free to reach out for any doubts 🙌 I am here to help.

@aashikam I want to continue contributing to open-source projects even after completing my current work. I'm not sure if it's feasible, so I would appreciate your assistance. This opportunity could be life-changing for me.

@aashikam I want to continue contributing to open-source projects even after completing my current work. Even though I'm not sure if it's possible or not, I would appreciate your assistance. This opportunity could be life-changing for me.

@Sachindu-Nethmin It's wonderful to hear that you want to continue contributing to our open-source projects!
Ballerina is fully open-source, and we always welcome contributions from the community. Here are some ways you can keep contributing:

We're planning to extend this connector event beyond Hacktoberfest , so once you complete your current work, you’ll have more opportunities to contribute to more connectors (with rewards included)
You can keep an eye on our "Good First Issues" that might interest you:

Ballerina Lang Good First Issues
Ballerina Library Good First Issues

If you happen to be an undergraduate and are interested in representing Ballerina in your university/institute, you might consider joining the Ballerina Ambassador Program.

Excited to see your contributions grow! 🚀 Let me know if you need any help.

Hi @Sachindu-Nethmin,
I feel like you have misunderstood @NipunaRanasinghe's suggestion:

@Sachindu-Nethmin we don't prefer having these inline_response_* record types as the response type in connector APIs. This happens when the particular reponse type is defined as an inline schema in the OpenAPI contract.
So in order to generated the response type with a proper name, you can update the OpenAPI spec file by moving the particular inline schema to the components section. Also Please make sure to mention record these improvements in the sanitations.md file.

Understanding better:
resource isolated function get markets(map<string|string[]> headers = {}) returns inline_response_200_16|error {

If you check this particular resource function for example you can see it has this returns inline_response_200_16|error part at the end. What Nipuna is suggesting is that we don't usually use this inline_response_200_16 as the return type. This inline_response_200_16 is auto-generated by our OpenAPI tool as it is defined as an inline schema in the OpenAPI specification.
Open API spec segment where you need to edit:
  /markets:
    get:
      tags:
        - Markets
      operationId: get-available-markets
      summary: |
        Get Available Markets
      description: |
        Get the list of markets where Spotify is available.
      responses:
        '200':
          description: A markets object with an array of country codes
          content:
            application/json:
              schema:
                type: object
                properties:
                  markets:
                    type: array
                    items:
                      type: string
                    example: [ 'CA', 'BR', 'IT' ]
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
        - oauth_2_0: [ ]

Corrected Open API spec based on the suggestion:
// added in components.schemas section
components:
  schemas:
    MarketsResponse:
      type: object
      properties:
        markets:
          type: array
          items:
            type: string
      example:
        markets: [ 'CA', 'BR', 'IT' ]

paths:
  /markets:
    get:
      tags:
        - Markets
      operationId: get-available-markets
      summary: |
        Get Available Markets
      description: |
        Get the list of markets where Spotify is available.
      responses:
        '200':
          description: A markets object with an array of country codes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
        - oauth_2_0: [ ]

This is an example fix for one API, this needs to be done in all the places where something equivalent to inline_response_200_16 is observed. After making the necessary changes to the specification, regenerating the client will fix the necessary code quality requirement.
Feel free to reach for any doubts. 🙌

@aashikam, I would appreciate your feedback on whether I’m on the right path. This guidance will empower me to move forward successfully with the task.

Hi @Sachindu-Nethmin,
The changes you have done in 4a3b60dbd1aee4c6fd99f88582f0805358268302 seems to be correct. Please repeat the same in places where applicable.

Could you explain how to identify an inline schema within the OpenAPI contract?

Hi @Sachindu-Nethmin,
The correct way to identify the inline responses in the Open API specification is to go through the specification, identify where it has defined the responses without a specific schema type.
What you should look for:
responses:
        '200':
          description: A markets object with an array of country codes
          content:
            application/json:
              schema:
                type: object
                properties:
                  markets:
                    type: array
                    items:
                      type: string
                    example: [ 'CA', 'BR', 'IT' ]

Which should be corrected as:
      responses:
        '200':
          description: A markets object with an array of country codes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketsResponse'

MarketsResponse should be defined  under components.schemas.
But there is an easier way. Since you have already generated the client, you can search for inline_response in the client.bal code and edit the corresponding Open API definition. 😁

I already did that but can not find which lines should move in .yaml file.

@aashikam Please review it once more.

Need @NipunaRanasinghe approval, since he requested changes.

Need @NipunaRanasinghe approval, since he requested changes.

@aashikam once he addresses https://github.com/ballerina-platform/module-ballerinax-spotify/pull/2#discussion_r1821256545 we are good to merge this it seems

@aashikam, could you please guide me on the steps I need to take?

@Sachindu-Nethmin Well done! 🚀
You can proceed with the next steps. Refer to this guide for more detailed explanation. Ballerina hacktoberfest guide.


Fix sdn_preferred_nic_name for multi-node deployments

The sdn_preferred_nic_name config variable is now a global host
specific variable.
This will cover the case when multiple Windows minions will have the
preferred NICs with different names.
Signed-off-by: Ionut Balutoiu<EMAIL_ADDRESS>

Thanks @ionutbalutoiu and @alinbalutoiu applied.


Add a health check endpoint to the Operator

Summary
To keep things consistent and ensure the operator remains online. A health check endpoint similar to what's available in the 1Password Connect container i.e. /health or /heartbeat would be fantastic.
Use cases
This would be very useful in the Kubernetes landscape as a liveness endpoint could be added to the container. Meaning that if the operator were to fail, the pod would automatically be restarted.
Proposed solution
Continual checks to the API, connection to Kubernetes etc. If any of these connections were to fail, /health would no longer return 200 and as a result, the pod would restart.
Is there a workaround to accomplish this today?
/metrics is available, but that doesn't seem like the right place to check for the liveness and readiness of the pod.

Hey there!
Just thought I would give you an update on this since it has been a while. We are currently working on some changes to the operator and hope to include this as a feature in the future as I believe this would be helpful.
Cheers