Option to turn off ability for administrator to merge pull request without getting approvals granted

Feature Description
Say I am one of the 'owners' of a repo and I've set branch protection on the main branch. Specifically, I've set required approvals to 3.
This works fine for the most part, but on the pull request it shows 'As an administrator, you may still merge this pull request.':

So I could click the red 'Rebase and Merge' button and bypass the required approvals.
A feature I would really like would be a way to disable this ability. So that, even as an owner, I don't get this option to merge the PR without approvals.
Now I understand that, as owner of the repo, I have ultimate control of the settings. If I wanted to, I could go into settings and remove the need for required approvals. But that is quite an involved process which under normal circumstances I wouldn't do.
However, I want to avoid the temptation for an owner to quickly merge a PR without getting approvals granted first.
If I could just disable this merge button from showing, until approvals have been granted, then that would improve usability.
Screenshots
No response

I have a different usecase falling on the same issue:
while implementing Zuul CI support for gitea I need to know whether PR can be merged. Now the "mergable" field is not really telling much forcing CI to go through all branch protection definitions and present reviews. But since that already requires having Admin privileges (/branch_protections/ api otherwise return 403) CI is capable to bypass requirements. This makes branch protections pretty much useless (CI need to reimplement all of them).
Instead either https://github.com/go-gitea/gitea/issues/13879 should be addressed, getting branch protections definitions should not require admin privileges or it should be possible to enforce them even for admin privileged account

this is really anoying since its breaking our compliance as no one should be able to merge without approvals no matter whether he is owner of the organisation or owner of the repo.

Workaround:
Create a separate administrator account and remove yourself as an administrator.

I think the work-around is fairly useless if you have multiple owners in your organisation and then probably also one or more administrators per repository (to manage the repo settings). Then they all need to have two personal user accounts, one which is administrator and one which isn't. Each time you need to adjust some repository setting you need to switch accounts and not forget to switch back to the less privileged account.

Yeah I agree. That's why it's only a workaround. I would still like to see an option to either turn it off or hide the option more.
I recently setup a gitea instance for our team and added a few users as Admins and it got "abused" the next day skipping our CI and merging a tiny bit of bad code. Right now Admins are very powerful.

+1
I don't want to be able to press the Big Scary Button by accident, even if there is a confirm dialog. (Is there such a dialog? I've never tried to use the Big Scary Button before as an admin.)

Don't remove this option. It always needs an option to carefully cross the red traffic light in case of a e.g. a hotfix needs to be done _now. A am saturday morning in holiday season when all other devs are having beers for super bowl (or whatever scenario you like most)

GitHub has a nice setting for this:

I'd also want the owner of a repo to adhere to the same rules, even if they can technically circumvent them by adjusting branch protection.

This option is unavailable. Owner can turn it on, then merge and turn it off. Maybe a global option in app.ini will be better.


fix performance regression in all releases-views (Draft for now)

All pages that show data from web::releases::get_releases are insanely slow (>1s).
For manual testing (locally with faked data) it is fixed by this change.
But:
when I run EXPLAIN ANALYZE for that query, it runs 2-3 seconds again (see below).
The problem here is originated in the NULLS LAST ordering, because the index on release_time is ordered NULLS FIRST.
Possible approaches:

We filter the fields so NULLs will not be shown (for example would be visible in the releases-by-stars view).

Easiest approach is reducing the results for the stars-views.

I'm not sure which way to go now, probably a decision for the maintainers.
Easiest approach is reducing the results for the stars-views.

Can we make releases.release_time non-nullable? We appear to just default it to now if we fail to get it from crates.io.

Can we make releases.release_time non-nullable? We appear to just default it to now if we fail to get it from crates.io.

Can we make releases.release_time non-nullable? We appear to just default it to now if we fail to get it from crates.io.

I'll check it

Can we make releases.release_time non-nullable? We appear to just default it to now if we fail to get it from crates.io.

I'll check it

It actually is already NOT NULL; the NULLS LAST is only applied when sorting by stars.

It actually is already NOT NULL; the NULLS LAST is only applied when sorting by stars.

Nulls last is also used for the release time,
Also some other indexes were missing

Nulls last is also used for the release time,
Also some other indexes were missing

for example one on releases.github_repo which is used for the join to github_repos.id
I'll finish everything up, then you'll see

for example one on releases.github_repo which is used for the join to github_repos.id
I'll finish everything up, then you'll see

@Nemo157 could be ready for another round of checks :)

@Nemo157 could be ready for another round of checks :)

Very briefly skimming it looks good, I'm too :sleepy: to properly review the tests today though, I'll take a look tomorrow if jyn514 doesn't before then.

Very briefly skimming it looks good, I'm too :sleepy: to properly review the tests today though, I'll take a look tomorrow if jyn514 doesn't before then.

LGTM :shipit:

LGTM :shipit:


fix: Wallet selection darkmode

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR Type

[x] Bugfix
[ ] Feature
[ ] Refactoring

Context

[x] Closes #4402
[ ] Requires deployment <>

Before submitting pull request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[x] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </bsx/collection>
[ ] I've tested PR on mobile
[ ] I've written unit tests 🧪
[ ] I've found edge cases

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot 📸

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

pay 30
nice

😍 Perfect, I’ve sent the payout
💵 $30 @ 26.64 USD/KSM ~ 1.126 $KSM
🧗 Caiv9TbPz68q5dC8EcHu5xKYPRnremimGzqmEejDFNpWWLG
🔗 0x526c8748f51d179d475bbe0e8a5b7c02541fea30aa4e0d84e9af6a811f01f176
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


Tooltip displayed when mouse leaves and not when the mouse enters while using change detection OnPush

Tooltip displayed when mouse leaves and not when the mouse enters while using change detection OnPush
Detailed description

Describe in detail the issue you're having.
If I use the tooltip in a component which has change detection strategy as OnPush

Is this a feature request (new component, new icon), a bug, or a general issue?
Bug

Is this issue related to a specific component?
Yes, Tooltip

What did you expect to happen? What happened instead? What would you like to see changed?
The tooltip should be displayed when the mouse enters and not when the mouse leaves.

What browser are you working in?
Chrome

What version of the Carbon Design System are you using?
"carbon-components-angular": "^5.14.1",
"@carbon/styles": "^1.35.0",
"@carbon/icons": "^11.27.0",
"@angular/core": "^16.1.0",

What offering/product do you work on? Any pressing ship or release dates we should be aware of?

Steps to reproduce the issue
However over the action items at top right on the UI Shell header
https://codesandbox.io/p/sandbox/recursing-ardinghelli-9rwssc?file=%2Fsrc%2Fapp%2Fapp.component.html%3A12%2C42
Additional information

None of our components currently support OnPush strategy, this would require an overhaul of all components where all components would need to be moved to the strategy.

@Akshat55 Would you accept a PR for adding OnPush to specifically the tooltip? As this is a component that can be used in other components and it heavily relies on events rather than inputs/outputs.


Enforce version registration

Registered versions have different serializations, so versioned types must be uniformly registered. Otherwise, serializations might change if a registration is added or removed.

removed registration functor; %%versioned is required by linter.


v0.0.6

Allow to add more handle to router
Add examples & more tests
Update benchmark info

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

33 of 33 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.9%) to 92.593%

Totals

Change from base Build<PHONE_NUMBER>:
1.9%

Covered Lines:
154

Relevant Lines:
154

💛  - Coveralls


Improve homepage

update description (merging part of the 'Why this exists' section),
mention iCalendar support in the description,
rename Services to Cloud Services,
add Azure Kubernetes Service,
emphasises contribution.

The addition of Azure Kubernetes Service make the table scroll horizontally on my browser. Maybe we should rename it to just "AKS".

I think a little scroll is fine.

Split it using a <br> and it looks good.


Move all secrets to the web ui - only accessible by certain users

I would rather have the riot api key (and other "secrets") using some sort of secret setting, only viewable and settable by certain users.
Dependant on #492

As in an option on the website? I feel like this wouldn't be a good idea. What if someone accidentally shows them on stream when configuring their bot?

That's the idea of the new setting options, one of the settings would be a text field that emulates a password field.

Found the relevant line from the twitter html file: {%- if not session.user.level or session.user.level >= 1000 %}

Due to pajbot being moved into maintenance mode I'm closing this feature request.


FEAT: Adjust withdraw amounts for aave yield bearing tokens

As a user i want to get exactly 1 aUSDC, when I input 1 aUSDC in vault withdraw input, so that i get expected result.

I've update this PR with some more changes, so I think we need to do internal testing before we merge into prod.

Aave yield token withdraw amount should be precisely what we input;
We change all cta buttons to CtaButton component which triggers and says connect wallet; This is to prevent error when we don't have user connected and they click on cta button.
More isPending and isFetching checks let's us remove button flickering. Some context: initially queries sit in isPending state (even when enabled is set to false), so that's why we only take into account config isPending, when we're done with approval, otherwise we are always in isPending state because configs are disabled before isApprovalNeeded === false. For allowance we also check for isFetching, because we want to disable button, when we got the approval receipt and triggered query invalidation, which triggers isFetching=true.
Additionally:
before
https://github.com/user-attachments/assets/cdb2d209-8c5b-4519-9653-d9f996d84f3a
after:
https://github.com/user-attachments/assets/dc8de746-dba1-4171-9c6c-68a069a60c73
Removed redundant useMemo and useCallback, they didn't give us any perf win, but cost for caching. Moreover, it looks like most of the rest useMemo and useCallback can be as well removed, but I decided to leave it when we do filtering or map arrays. And for functions that could maybe potentially be passed down to some hook dependencies, but again, also subject to removal so we don't waste on memoization.


Bug: fragments in fetch more are not handled

If i use fragment in fetchMore query, it is not flatten and it throws error, which is somehow not good too Schema type definitions not allowed in queries. Found: "${definition.kind}"
https://github.com/apollostack/apollo-client/blob/master/src/queries/getFromAST.ts#L38
Quick solution to fix this is to handle fragments in fetchMore, but what i propose is little bit more work. I propose to collocate query with fragments, so I believe to have one function createQuery which would accept query and fragments(similar to createFragment) is better solution. Only issue is if you use some loggic to determine which fragment you use, but i would like to see example of that, because i've got little bit of trouble with that 👍

@svrcekmichal I think this is an AC issue yes?

Yep! Fixed in the newest release: https://github.com/apollostack/apollo-client/pull/842


Fixes the link to the new topic for registering a DICOM application.

The link from this getting started topic to the guidance for registering a client application needs to be updated.  The current link references this generic topic that does not contain the DICOM specific configurations.  Instead, the new topic should be referenced here.
cc @mcevoy-building7 @smithago

@alexandersoy -

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

#sign-off

@alexandersoy -

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged" @MicrosoftDocs/public-repo-pr-review-team
@Jak-MS you have assigned this to a wrong person (aersoy). My credentials in github is alexandersoy. Could you please correct that?

Docs Build status updates of commit 7f5ec71:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/healthcare-apis/dicom/get-started-with-dicom.md
: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 docs.microsoft.com contributor guidesPost your question in the Docs support channel

Abandoning this PR as the change was made using the private repo instead.


Current line is rather hard to see

I've noticed, that I spend quite some time and cognitive effort on finding my current line every now and then.
Especially when working with multiple windows it's hard to find the current one.
This disrupts the flow each time.
I'd argue that aurora would benefit from a more distinct color for the current line

I will take a look. Maybe I will adjust colors a bit

thank you


Accordian doesnt display all code.

When I moved from using "Collapse" to using "Accordion" correctly, I noticed that the chunk of code I placed into the new "Accordion" shortcode wasn't all displayed.  Half the code was cut off.  Can this be fixed?

did you removed all codes from collapse completely? please attach a screenshot.

I believe I did remove all codes, yes.  Did you forget to attach a screenshot?  Could you instruct exactly what to remove?

I want you to attach a screenshot of broken accordion. and also give me a repository link so that I can test it

I cant share the repo with you however this is my process.
Shortcode called like this
{{< tabs >}}
{{< tab "1" >}}
{{< accordion title="This is an accordion" >}}
LOTS OF CODE HERE

{{< /accordion >}}
{{< /tab >}}
{{< /tabs >}}
I have noticed, that once rendered half my code is missing, its as if the accordion has a set size.  If I zoom out, I can see that more is displayed but its unreadable, zoom back in and more code is omitted.

Is everything works if you don't use it inside the Tab?

No same behaviour outside of the tab

Have you been able to reproduce this?

Hey @jonniehack, we have updated logbook hugo with for this module. please re-download it from your dashboard. thanks

I have updated Logbook and this module, and the problem remains for me.  I do not belive this is fixed.

Hey @jonniehack, this is the latest demo of Logbook theme, and everything is working as expected https://demo.gethugothemes.com/logbook/site/elements/

I have run npm run update-modules. It shows me I have version

Yet I am still having problems.
The demo elements page only has a couple of lines inside the accordians, this works fine.  Have a go at dropping 50+ lines of codeblock inside an accordian and see if it still works.  The limit on lines seems to be around 40 lines and no manner of updating Logbook or the modules seems to work.  I have posts ready to publish but the limitation on accordians is frustrating.  I have to shorten my code to get the things.  I am unable to shorten one code block inside accordians to fewer than 44 lines and it does not render it all. it just it off completely so I still think this needs addressing.

Hey @jonniehack, thanks for your clear information. I have fixed it. please update your modules one more time, it should work perfectly.


[Feature]: export journal and abbr at the same time

Debug log ID
3UWSFBTF-refs-euc
What happened?
Hi, thank you very much for this wonderful plugin!
I was trying to write a simple postscript to export both "Journal" and "Journal Abbr" into bibtex, but couldn't make it work. I know there is an option in the setting to export "shortjournal" as "journal", but I wanted to export both at the same time.
As an example (using the entry I generated by the debug log) I would like to have the following fields in the resulting bibentry:
journal = {Statistical Papers},
abbr = {Stat Papers}

This is the following postscript I am currently trying (but not working):
if (Translator.BetterBibTeX) {
  tex.add({name: "abbr", value: zotero.abbr});
}

I would appreciate any help. Thanks!

I am not sure if this is related to issue #2445 and #2448 , but it seems working to me after using the following postscript:
if (Translator.BetterBibTeX) {
  Zotero.log('2431')
  Zotero.log(zotero.journalAbbreviation)
  tex.add({name: "abbr", value: zotero.journalAbbreviation});
}

Without the two logging lines, it didn't work for me whether I enable/disable debug logging or checking/unchecking background export. With these two "Zotero.log" lines, it works with debug logging disabled and background export enabled.
I am not sure why this is the case though.

Please join issue #2445. These are likely all related.

Sure. I'll close this issue then.

My bad, you did in fact find the right solution. zotero.journalAbbreviation is indeed the journal abbrev, zotero.journalAbbreviation || zotero.autoJournalAbbreviation if you use automatic journal abbrev as a fallback.

Thanks for your feedback! However, I tried a couple more times with this postscript, it seems that it only works by disabling "background output". Is this the part that linked to issue #2445 ?

Yes, that is #2445


Sqlness test with remote WAL fails

What type of bug is this?
Unexpected error
What subsystems are affected?
Distributed Cluster
Minimal reproduce step
https://github.com/GreptimeTeam/greptimedb/actions/runs/9814869931/job/27104613264?pr=4303
There is an error in global-bg-worker runtime:
thread 'global-bg-worker' has overflowed its stack
fatal runtime error: stack overflow

What did you expect to see?
Run successfully
What did you see instead?
Error
What operating system did you use?
Not relevant
What version of GreptimeDB did you use?
Not relevant
Relevant log output and stack trace
No response

Looks weird, only failed with remote WAL. I run it locally, and all is good.

After reverting lz4 compression, it works
https://github.com/GreptimeTeam/greptimedb/pull/4303/commits/180dda13faad3713d2597ab9d93235a90ecb9dcd
Looks like it's introduced by #4294

Another failure: https://github.com/GreptimeTeam/greptimedb/actions/runs/9833718316/job/27144618061

fixed in #4317


Delay granularity should be finer

I would like to be able to specify a lower delay/timeout granularity for at least the following commands:

reserve-with-timeout
release (delay)

I would be very happy with microseconds. It is hard to see how this change fits into the current interface, short of providing alternative commands that have these options. Still, it would be very useful to me.
Maybe introduce a 'timer-granularity' command that statefully changes the timer arguments to be of a different resolution?

If we're going to deal with smaller time intervals, we might as well
jump straight to nanoseconds.
The current format for reserve-with-timeout is
reserve-with-timeout 123

It could be extended to notate fractional seconds:
reserve-with-timeout<PHONE_NUMBER>56

That would totally work. Should I propose a patch for this or are you already on top of that?

A patch would be most welcome.

Would be interesting to if introducing fractions would have any performance implications.

Implementing this features is rather trivial, the only place to change is the parsing functions. Internally almost everything is stored in nanoseconds. So fractions could be parsed into nanoseconds.
Does anyone wants to get his hands dirty?


Istioctl cert miner

Provides simple tools/certs/generate-istioctl-certs.sh to create the files needed for istioctl.
No intermediate cert to simplify.
The tools/certs/Makefile worked for me, but I found it hard to collaborate with others on improvements, because it is written using make idioms like @cat $^ ><EMAIL_ADDRESS>cc @sdake

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

an intermediate cert is really needed in this scenario - or at least for other use cases.

@sdake Why do we need an intermediate cert?

Why not use token?

Specifically, token is preferred as its more secure (no private key on disc), works in central istiod, and is simpler

Why not use token?

@howardjohn I need something that works with Istio 1.7.0.  For me, the tools/certs/Makefile works 100% of the time, but others have reported problems.  I would rather fix the Makefile, but it took me a few hours to understand and that is too long for a tiny security tool.
I think it is reasonable to put the token stuff into istioctl 1.7.1.  Experimenting with it now.

+1 on using token approach - as a follow up PR to enhance this.
Ed, I think this looks reasonable.  I like the fact it is using 1 single cert dir now, less error prune. :)

Closing in favor of token use for running clusters, and someone else doing a better version of this for CI/CD.


paging: Rename existing CONFIG_PAGING to CONFIG_LEGACY_PAGING and implement page-fault exception and on-demand paging for RISC-V

Summary

paging: Rename existing CONFIG_PAGING to CONFIG_LEGACY_PAGING: current CONFIG_PAGING refers to an experimental implementation to enable embedded MCUs with some limited RAM space to execute large programs from some non-random access media. On-demand paging should be implemented for the kernel mode with address environment implementation enabled.

riscv: Implement page-fault exception and on-demand paging: When an application is being loaded up_addrenv_create  calls create_region to create the address environment. Only the first entry is mapped when the region is created. Virtual memory that is not mapped will trigger an exception when accessed. Other memory pages are allocated and mapped on-demand. This enables setting larger heap and stack for the process without compromising the overall system memory.

documentation: implement on-demand paging for RISC-V devices: It documents how the on-demand paging was implemented for RISC-V devices and how it can be extended to other architectures.

This discussion started with<EMAIL_ADDRESS>Any considerations and suggestions will be highly welcomed ;)
Impact
It enables applications to have a larger memory address environment than the available physical memory. This is particularly useful for implementing high-level programming language interpreters.
Testing
RISC-V QEMU emulator with testing applications from https://github.com/tmedicci/incubator-nuttx-apps/tree/feature/on-demand_paging:
boards/risc-v/qemu-rv/rv-virt/configs/knsh32_paging/defconfig is similar to knsh32_romfs, but enabling on-demand paging. this configuration simulates a 4MiB device (using QEMU), but sets the number of heap pages equal to CONFIG_ARCH_HEAP_NPAGES=2048. This means that each process's heap is 8MiB, whereas CONFIG_POSIX_SPAWN_DEFAULT_STACKSIZE is 1048576 (1MiB) represents the stack size of the processes (which is allocated from the process's heap). This configuration is used for 32-bit RISC-V which implements the Sv32 MMU specification and enables processes to have their own address space larger than the available physical memory. This is particularly useful for implementing a set of programming language interpreters.
To build and run it:
make -j distclean
./tools/configure.sh -l rv-virt:knsh32_paging
kconfig-tweak -e EXAMPLES_ALLOC_TEST
kconfig-tweak -e EXAMPLES_STACK_TEST
make olddefconfig
make -j$(nproc)
make export -j$(nproc)
pushd ../apps
./tools/mkimport.sh -z -x ../nuttx/nuttx-export-*.tar.gz
make import -j$(nproc)\
./tools/mkromfsimg.sh ../nuttx/arch/risc-v/src/board/romfs_boot.c
popd
make -j$(nproc)
qemu-system-riscv32 -M virt,aclint=on -cpu rv32 -smp 8 -bios none -kernel nuttx -nographic

Some simple tests:
Please note that the riscv_fillpage log just after executing the application refers to text, data and top of the virtual heap sections and are the same for both test scenarios:
Allocation tests:
The alloc_test allocates buffers of a specific size:
nsh> /system/bin/alloc_test
Usage: /system/bin/alloc_test <buffer size> <number of buffers>

Running it to allocate 100 buffers the 128 bytes:
nsh> /system/bin/alloc_test 128 100 &
[   42.848000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000d63e, MTVAL: c0001000
[   42.849000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000d63e, MTVAL: c0002000
[   42.850000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000d63e, MTVAL: c0003000
[   42.851000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000d63e, MTVAL: c0004000
[   42.852000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000de68, MTVAL: c1000ffc
[   42.852000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000e3e8, MTVAL: c0b00374
[   42.852000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000e5b0, MTVAL: c08ffffc
[   42.852000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000f428, MTVAL: c0a00004
[   42.852000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000d508, MTVAL: c0900000
/system/bin/alloc_test [0:100]
nsh> [   42.854000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: c000001e, MTVAL: c09ffffc
[   42.856000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: c00009be, MTVAL: c080300c
100 buffers of size 128 allocated

Shows that it was required to map the page that contains the virtual memory c080300c. This program finishes running in a loop to enable checking the overall system memory:
nsh> ps
  PID GROUP PRI POLICY   TYPE    NPX STATE    EVENT     SIGMASK           STACK COMMAND
    0     0   0 FIFO     Kthread   - Ready<PHONE_NUMBER>000000 003056 Idle_Task
    1     1 100 RR       Kthread   - Waiting  Semaphore<PHONE_NUMBER>000000 001984 lpwork 0x80405c90 0x80405ca4
    3     3 100 RR       Task      - Running<PHONE_NUMBER>000000 003024 /system/bin/init
   14    14 100 RR       Task      - Waiting  Signal<PHONE_NUMBER>000000 1048512 /system/bin/alloc_test 128 100
   15    15 100 RR       Task      - Waiting  Signal<PHONE_NUMBER>000000 1048512 /system/bin/alloc_test 128 100
nsh> free
                   total       used       free    maxused    maxfree  nused  nfree
        Kmem:    4166268      20100    4146168    4234628    3143672     84      6
        Page:    4194304     290816    3903488    3903488

Page is the amount of physical memory that could be used for virtual memory mapping. Killing the processes shows the same amount of free memory before the execution (killing the process calls up_addrenv_destroy which unmaps the virtual memory and frees the physical page. There is no need to call free in the app). It's possible to run multiple instances of this application. Each process has a 8MiB virtual memory (more than the 4MiB physical memory available). It would only fail if the total used memory exceeds the physical memory and there is no room for allocating more memory pages in the page-fault exception.
Stack usage test:
stack_test calls a function recursively to check stack usage. It was run with 10 and 1000 calls to the function, respectively. In the first case, it's possible to check it finished the app (the recursion) without mapping any subsequent pages on stack. Running with 1000, we can check that riscv_fillpage mapped subsequent addresses (highest to lowest, as expected):
NuttShell (NSH) NuttX-10.4.0
nsh> /system/bin/stack_test 10
[   61.934000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000d63e, MTVAL: c0001000
[   61.935000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000d63e, MTVAL: c0002000
[   61.936000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000d63e, MTVAL: c0003000
[   61.937000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000de68, MTVAL: c1000ffc
[   61.937000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000e3e8, MTVAL: c0b00374
[   61.937000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000e5b0, MTVAL: c08ffffc
[   61.937000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000f428, MTVAL: c0a00004
[   61.937000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000d508, MTVAL: c0900000
[   61.939000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: c000001e, MTVAL: c09ffffc
Recursion depth: 10
Reached the base of recursion
nsh> /system/bin/stack_test 1000
[   67.424000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000d63e, MTVAL: c0001000
[   67.425000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000d63e, MTVAL: c0002000
[   67.426000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000d63e, MTVAL: c0003000
[   67.427000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000de68, MTVAL: c1000ffc
[   67.427000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000e3e8, MTVAL: c0b00374
[   67.427000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000e5b0, MTVAL: c08ffffc
[   67.427000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000f428, MTVAL: c0a00004
[   67.427000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: 8000d508, MTVAL: c0900000
[   67.428000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: c000001e, MTVAL: c09ffffc
Recursion depth: 1000
[   67.431000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: c0000040, MTVAL: c09feffc
[   67.432000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: c0000040, MTVAL: c09fdffc
[   67.433000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: c0000040, MTVAL: c09fcffc
[   67.434000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: c0000040, MTVAL: c09fbffc
[   67.434000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: c0000040, MTVAL: c09faffc
[   67.435000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: c0000040, MTVAL: c09f9ffc
[   67.435000] riscv_fillpage: EXCEPTION: Store/AMO page fault. MCAUSE: 0000000f, EPC: c0000040, MTVAL: c09f8ffc
Reached the base of recursion

Again, log messages that refer addresses from c09feffc to c09f8ffc shows stack usage beyond the single physical memory page already allocated and after the program started (i.e. allocated according to the application stack usage needs).

@masayuki2009 and @pussuw , could you please take a look?
@lupyuen , if possible, can you try with BL808 (theoretically, you may need only to set the configs on defconfig)?

@tmedicci Please rebase to the last master which fix the ci broken.

@tmedicci Very sorry for the delay, I made the suggested changes to the NuttX Config, but NSH won't start. I think NuttX for Ox64 has diverged too much from QEMU, I need to backtrack and figure out what failed. Thanks!
Hi @yf13: On-Demand Paging might be helpful for Kendryte K230, if we're planning to run large apps. Thanks :-)

Don't worry, @lupyuen . Please let me know if you figured out the error or if you're planning to implement something that may rely on this on-demand paging.
The idea is to be able to run potentially larger apps and libraries (that don't necessarily use all the provided address space)
Thanks!

@tmedicci and @lupyuen. Sorry for the delay.
I pulled master branch and did booting regression checks with CanMV230, the FLAT and PROTECTED builds can boot , the KERNEL build with OpenSBI also boots, but the KERNEL build with NuttSBI doesn't yet.

@tmedicci I think Ox64 is failing because of Address Wrap-Around in riscv_fillpage:
https://github.com/lupyuen2/wip-pinephone-nuttx/blob/on-demand-paging3/arch/risc-v/src/common/riscv_exception.c#L123-L159
// CONFIG_ARCH_TEXT_VBASE=0x80000000
// CONFIG_ARCH_TEXT_NPAGES=128
// CONFIG_MM_PGSIZE=4096
#define ARCH_TEXT_SIZE  (CONFIG_ARCH_TEXT_NPAGES * CONFIG_MM_PGSIZE)
#define ARCH_TEXT_VEND  (CONFIG_ARCH_TEXT_VBASE + ARCH_TEXT_SIZE)

// This produces:
// ARCH_TEXT_SIZE=0x80000 (which is OK)
// ARCH_TEXT_VEND=0xffffffff80080000 (oops overflow?)

// `ul` seems to fix this problem
#define FIX_CONFIG_ARCH_TEXT_VBASE 0x80000000ul
#define FIX_ARCH_TEXT_VEND  (FIX_CONFIG_ARCH_TEXT_VBASE + ARCH_TEXT_SIZE)

// This produces:
// FIX_ARCH_TEXT_VEND=0x80080000 (yep correct)

I'll add ul to the addresses in ox64/defconfig and retry. Thanks!

@tmedicci and @lupyuen, the NuttX SBI build pass regression check now on CanMV230 device. The issue may not directly related to this patch, which I still need further check with @pussuw later.
However, the CONFIG_PAGING=y doen't launch NSH after showing ABC, need more time on that later.

@tmedicci Ox64 with On-Demand Paging looks complex, I'm moving the investigation here: https://github.com/lupyuen2/wip-pinephone-nuttx/blob/on-demand-paging3/README.md
Sorry to spam everyone :-)

@tmedicci Sorry for my late update here, my test with CONFIG_PAGING=y doesn't work yet and here is the back trace I collected:
#0  _assert (filename=0x704b778 "semaphore/sem_wait.c", linenum=79, msg=0x0, regs=0x70830e0 <g_last_regs>) at misc/assert.c:536
#1  0x000000000700ca8c in __assert (filename=0x704b778 "semaphore/sem_wait.c", linenum=79, msg=0x0) at assert/lib_assert.c:36
#2  0x00000000070069b0 in nxsem_wait (sem=0x708aed8) at semaphore/sem_wait.c:79
#3  0x000000000700cdd0 in nxmutex_lock (mutex=0x708aed8) at misc/lib_mutex.c:204
#4  0x0000000007012c26 in gran_enter_critical (priv=0x708aed0) at mm_gran/mm_grancritical.c:63
#5  0x0000000007011e2c in gran_alloc (handle=0x708aed0, size=4096) at mm_gran/mm_granalloc.c:80
#6  0x00000000070101b0 in mm_pgalloc (npages=1) at mm_gran/mm_pgalloc.c:148
#7  0x0000000007013c32 in riscv_fillpage (mcause=15, regs=0x7092b30, args=0x0) at common/riscv_exception.c:191
#8  0x0000000007002e0c in irq_dispatch (irq=15, context=0x7092b30) at irq/irq_dispatch.c:146
#9  0x0000000007001098 in riscv_doirq (irq=15, regs=0x7092b30) at common/riscv_doirq.c:84
#10 0x0000000007000b8c in riscv_dispatch_irq (vector=15, regs=0x7092b30) at chip/k230_irq_dispatch.c:77
#11 0x0000000007000180 in exception_common () at common/riscv_exception_common.S:129

@yf13 That looks interesting, though I'm seeing different problems on Ox64: https://github.com/lupyuen2/wip-pinephone-nuttx/blob/on-demand-paging3/README.md#on-demand-paging-stuck-at-0x8000_1000
I think I have done enough exploration to write an article about On-Demand Paging on QEMU vs Ox64 :-)


Test: GHPRI - Notifications view

Refs: https://github.com/microsoft/vscode-internalbacklog/issues/5100

[ ] any @TylerLeonhardt
[ ] any @benibenj
[ ] any @rzhao271

Complexity: 4
Authors: @lszomoru, @alexr00, @aiday-mar
Create Issue

This milestone we have added a new Notifications view (experimental) to assist with dealing with GitHub notifications. The new view is powered by VS Code's LLM capabilities to help summarize, and prioritize notifications.
Prerequisites

Install the latest VS Code Insiders release
Install the latest pre-release of the GHPRI extension
Set the following settings:

"githubPullRequests.experimental.chat": true
"githubPullRequests.experimental.notificationsView": true

Notifications view

Launch VS Code Insiders and open a folder/workspace with a GitHub repository
Switch to the "GitHub Pull Requests" view container

Confirm that a "Notifications" view is being shown

Expand the "Notifications" view is not already expanded

Confirm that a list is being shown containing your unread notifications

Notifications view (actions)

Launch VS Code Insiders and open a folder/workspace with a GitHub repository
Switch to the "GitHub Pull Requests" view container
Expand the "Notifications" view is not already expanded
Click on a Notification in the list

Confirm that the quick chat widget is opened and the notification is summarized. Review the provided summary.

Hover over a notification and click on the "Summarize with Copilot" action

Confirm that the quick chat widget is opened and the notification is summarized. Review the provided summary.

Hover over a notification and click on the "Open on GitHub" action

Confirm that the issue/pull request to which the notification belongs is being opened on GitHub

Hover over a notification and click on the "Mark as Read" action

Confirm that the notification is not shown in the list any more
Confirm that the notification is marked as read (you can use https://github.com/notifications to confirm)

Notifications view (load more)

Launch VS Code Insiders and open a folder/workspace with a GitHub repository
Open your user settings and set "githubPullRequests.experimental.notificationsViewPageSize": 1
Switch to the "GitHub Pull Requests" view container
Expand the "Notifications" view is not already expanded

Confirm that the list only contains one notification
Confirm that a "Load More Notifications..." item is shown at the bottom of the list

Click on the "Load More Notifications..." item in the list

Confirm that the next notification is loaded

Notifications view (Prioritize with Copilot)

Launch VS Code Insiders and open a folder/workspace with a GitHub repository
Open your user settings and set "githubPullRequests.experimental.notificationsScore": true
Switch to the "GitHub Pull Requests" view container
Expand the "Notifications" view is not already expanded
In the view's ... click on "Sort by Priority using Copilot"
It will take a bit of time as each notification is being scored and the notifications are reordered

Confirm that each notification has a badge with its score
Confirm that the notifications are being sorted by scope descending
Confirm that hovering over the score shows the reasoning for the score

Currently getting this having Copilot summarize

I love that the notifications viewlet provides the opportunity to look through notifications from within VS Code!
I know that Tyler filed issues for what I am about to write already, but I would like to reiterate that adding the ability to view read notifications and mark them as Done would greatly increase the functionality and capability of the viewlet, allowing users to go through and clear out their entire inbox from within VS Code.


Suggest noting the Apache requirement

On a new server environment, I was getting the error Fatal error: Class 'DOMDocument' not found until an excessive amount of googling led me to try running (on Ubuntu) apt-get install php7.1-xml, after which everything worked.

That's a good idea. I don't know if it's possible to add this dependency into composer.json - that would be a nice solution. I'll add a note to the README.


examples-checker script doesn't work if the name of the directory enclosing the repo is not sway

Reported by @otrho.
The examples-checker is mostly just used for CI, but even still we shouldn't be assuming the name of the directory that encloses the git repository as this can easily differ, e.g. via cloning the repo to a directory with a different name:
git clone https://github.com/fuellabs/sway foobar

Would this implementation solve the problem:

adding a new optional argument to cli such as folder_name and set it to sway by default
adding a new parameter path to get_sway_path() and return a valid path accordingly to parameter

I would like to work on it if it's available

@denizsurmeli that's a fair suggestion! That said, as this tool is very specific to the Sway repo, I think using some other heuristic (like @otrho's suggestions) would be a better approach so that we don't have to manually pass a directory name as a CLI argument every time we run it.
Apart from that - yes, feel free to have a go at tackling this!


[Test-Proxy] eng/common proxy version update

Going after issue specifically with this common update. #2612

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow


how can use syslog as driver for logging?

I would like to use syslog as logging driver for my containers, how can I configure that in the task definition and template?

@ninjatux Believe this is how it is done. Open up .ufo/templates/main.json.erb - this gets created as part of the ufo init command.  Then you can adjust the ecs template definition to something like this:
            "logConfiguration": {
                "logDriver": "syslog"
            },

It looks like for syslog there might be no options: https://docs.docker.com/config/containers/logging/configure/
Here's the specific aws docs section Specifying a Log Configuration in your Task Definition
Also, you might have to enable the log driver by added it the ECS_AVAILABLE_LOGGING_DRIVERS variable to your /etc/ecs/ecs.config. Relevant docs:

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html#enable_awslogs
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-install.html

Hope that helps.

@ninjatux This might also help http://ufoships.com/docs/tutorial-ufo-tasks-build/ It covers how task definitions with ufo works. Closed the issue for tidiness. Feel free to reopen if required.

hi @tongueroo I've already tried to do that, but ufo throws some errors when compiling the task.
Here's the output
Building Task Definitions...
Generating Task Definitions:
  .ufo/output/service.json
Task Definitions built in .ufo/output
Traceback (most recent call last):
	18: from /opt/circleci/.rvm/gems/ruby-2.5.0/bin/ruby_executable_hooks:15:in `<main>'
	17: from /opt/circleci/.rvm/gems/ruby-2.5.0/bin/ruby_executable_hooks:15:in `eval'
	16: from /opt/circleci/.rvm/gems/ruby-2.5.0/bin/ufo:23:in `<main>'
	15: from /opt/circleci/.rvm/gems/ruby-2.5.0/bin/ufo:23:in `load'
	14: from /opt/circleci/.rvm/gems/ruby-2.5.0/gems/ufo-3.3.1/exe/ufo:14:in `<top (required)>'
	13: from /opt/circleci/.rvm/gems/ruby-2.5.0/gems/thor-0.20.0/lib/thor/base.rb:466:in `start'
	12: from /opt/circleci/.rvm/gems/ruby-2.5.0/gems/ufo-3.3.1/lib/ufo/command.rb:43:in `dispatch'
	11: from /opt/circleci/.rvm/gems/ruby-2.5.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'
	10: from /opt/circleci/.rvm/gems/ruby-2.5.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
	 9: from /opt/circleci/.rvm/gems/ruby-2.5.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
	 8: from /opt/circleci/.rvm/gems/ruby-2.5.0/gems/ufo-3.3.1/lib/ufo/cli.rb:53:in `ship'
	 7: from /opt/circleci/.rvm/gems/ruby-2.5.0/gems/ufo-3.3.1/lib/ufo/tasks/builder.rb:9:in `ship'
	 6: from /opt/circleci/.rvm/gems/ruby-2.5.0/gems/ufo-3.3.1/lib/ufo/tasks/register.rb:9:in `register'
	 5: from /opt/circleci/.rvm/gems/ruby-2.5.0/gems/ufo-3.3.1/lib/ufo/tasks/register.rb:9:in `each'
	 4: from /opt/circleci/.rvm/gems/ruby-2.5.0/gems/ufo-3.3.1/lib/ufo/tasks/register.rb:12:in `block in register'
	 3: from /opt/circleci/.rvm/gems/ruby-2.5.0/gems/ufo-3.3.1/lib/ufo/tasks/register.rb:26:in `register'
	 2: from /opt/circleci/.rvm/gems/ruby-2.5.0/gems/ufo-3.3.1/lib/ufo/tasks/register.rb:40:in `fix_log_configuation_option'
	 1: from /opt/circleci/.rvm/gems/ruby-2.5.0/gems/ufo-3.3.1/lib/ufo/tasks/register.rb:40:in `each'
/opt/circleci/.rvm/gems/ruby-2.5.0/gems/ufo-3.3.1/lib/ufo/tasks/register.rb:43:in `block in fix_log_configuation_option': undefined method `delete' for nil:NilClass (NoMethodError)

and this is the task template I am using
{
  "family": "<%= @family %>",
  "containerDefinitions": [
    {
      "name": "<%= @name %>",
      "image": "<%= @image %>",
      "cpu": <%= @cpu %>,
      <% if @memory %>
      "memory": <%= @memory %>,
      <% end %>
      <% if @memory_reservation %>
      "memoryReservation": <%= @memory_reservation %>,
      <% end %>
      "command": <%= @command.to_json %>,
      <% if @environment %>
      "environment": <%= @environment.to_json %>,
      <% end %>
      "logConfiguration": {
        "logDriver": "syslog"
      },
      "essential": true
    }
  ]
}

Aas you see it's pretty basic. Can you help me understand why this fails? It seems it's missing something from the template, but I am not sure about that.

if I comment the line 26 in register.rb (data = fix_log_configuation_option(data)) it works :)
I'll investigate further what is breaking it, but ruby is not my thing :P

forgot to mention that I am using version 3.3.1, anyway problem persists also in 3.4.0

@ninjatux I see! Your configuration is correct. It's a ufo bug. Sorry! Thanks for pointing out. Yup, that method dasherizes the log configuration portion of the task definition json; AWS uses different casing for that portion. Looking at it now.

@ninjatux Fixed with PR #32 and released in version 3.4.1 https://github.com/tongueroo/ufo/blob/master/CHANGELOG.md
Feel free to re-open if needed.

Improvements to log configuration handling also made in #32


missing [] to redirect to proper md file

@eklime Thank you so much for catching this!! Apologies that it took so long for us to get back to you!! @rayne-wiselman @arob98

#sign-off

@JennieHubbard: Only the author, @rayne-wiselman, can sign off on this pull request.

@eklime - The content in this topic has moved to https://docs.microsoft.com/en-us/azure/site-recovery/hyper-v-prepare-on-premises-tutorial.  To propose changes, please submit a new request.  Thank you.
Cc - @JennieHubbard @rayne-wiselman @arob98


Config changes to reflect the default branch from master to main. Please merge to complete the default branch renaming job.

Auto branch renaming content.

Docs Build status updates of commit 0a0b8e7:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch 421b63c0-f8df-45f4-a1a8-eace49760f42 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
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.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


fix(deps): upgrade google-auth-library

Fixes #1121

The CI issue on this one isn't related to a problem with the PR. :| Looks like this might be fallout from some sample updates the other day, though I'm unsure why that CI didn't fail. (Maybe the docsite got updated at a different time than the library?)


The documentation for CMultiSelect seems to be outdated.

options label should be corrected to text, right?
Please let me know if I'm wrong.

@CofCat456 in version 4.x use text in 5.x label

Got it! Thank you for taking the time to reply.


Webpack 4

Was having issues with exporting the classes from this plugin into other plugins.

Looks like we need to drop support for Node v4 and v5. That's fine but it also means this PR would bump up the version number to 5.0.0 since that's a backwards incompatible change.

What node version are we using on the server right now? my local machine is v8.9.1

@siamalekpour you can ssh into the individual boxes via https://github.com/gadventures/precious-frontend/wiki/Common-Support-Issues
2 boxes are at 6.10.3 one box is 6.12.2

Can you update https://github.com/gadventures/gapi-js/blob/master/.travis.yml too so it doesn't fail.

Dropped travis tests on v4 and v5. All nice and rebased.

/Users/tleung/dev/gapi-js/gapi-js/node_modules/webpack/bin/webpack.js:3
let webpackCliInstalled = false;
^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:404:25)
    at Object.Module._extensions..js (module.js:432:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Function.Module.runMain (module.js:457:10)
    at startup (node.js:136:18)
    at node.js:972:3

getting the above error on npm install

could it be your node version? Can you make sure it's the latest (or I think at least 6)

 Precious: Switch to Webpack 4


Regression (v2.4): DataGridFilterColumn doesn't work for combobox column

Run DataGrid Extensions Sample app, go to the Extend 2 tab, the filter of Text/Custom column is not expected as v2.3

thanks for the quick fix

Thanks as well


2.19.3 fails with Error: fatal: pathspec 'undefined' did not match any files

I am using npm 8.5 and the --legacy-peer-deps switch when running npm install.
My environment: @nrwl/* 13.8.3, @jscutlery/semver 2.19.3.
This is the version entry in project.json:
    "version": {
      "executor": "@jscutlery/semver:version",
      "options": {
        "commitMessageFormat": "chore(${projectName}): release version ${version}",
        "skipProjectChangelog": true
      }
    },

Here is the stack trace (with sanitized root paths):
Error: fatal: pathspec 'undefined' did not match any files

    at ./node_modules/@jscutlery/semver/src/executors/version/utils/git.js:62:186
    at Observable.init [as _subscribe] (./node_modules/@jscutlery/semver/node_modules/rxjs/dist/cjs/internal/observable/throwError.js:8:64)
    at Observable._trySubscribe (./node_modules/@jscutlery/semver/node_modules/rxjs/dist/cjs/internal/Observable.js:41:25)
    at ./node_modules/@jscutlery/semver/node_modules/rxjs/dist/cjs/internal/Observable.js:35:31
    at Object.errorContext (./node_modules/@jscutlery/semver/node_modules/rxjs/dist/cjs/internal/util/errorContext.js:22:9)
    at Observable.subscribe (./node_modules/@jscutlery/semver/node_modules/rxjs/dist/cjs/internal/Observable.js:26:24)
    at ./node_modules/@jscutlery/semver/node_modules/rxjs/dist/cjs/internal/operators/catchError.js:17:31
    at OperatorSubscriber._this._error (./node_modules/@jscutlery/semver/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js:43:21)
    at OperatorSubscriber.Subscriber.error (./node_modules/@jscutlery/semver/node_modules/rxjs/dist/cjs/internal/Subscriber.js:60:18)
    at OperatorSubscriber.Subscriber._error (./node_modules/@jscutlery/semver/node_modules/rxjs/dist/cjs/internal/Subscriber.js:84:30)

I'm going to rollback to the previous release and see if that helps. What else can I look for that would help?
Rolling back to 2.18.2 makes the issue go away, so there must be a breakage in 2.19.*

@kurtinatlanta Thanks for the report, this has been fixed in 2.19.4.

Much better. Thank you very much!


TF-TRT: Remove dangerous const_cast in TRT_ShapedWeights::GetValues

This PR splits TRT_ShapedWeights::GetValues() into const and non-const methods to obey const requirements without usingconst_cast. It changes the method to a template which returns a T* or const T* pointer (rather than void*),
eliminating pointer casting throughout code base when using GetValues(). It also rename GetValues to GetPointer as the template actually a pointer not values.
@bixia1, @tfeher for review

@bixia1, I applied your recommended changes.

OK I will change from size_t to int then. Was this caught by internal CI or your build? What is the warning/copt set so this doesn't happen in the future? I am just using default.

@bixia1 updated from size_t to int64. I built with GCC option -Werror=narrowing, and it appears to be fixed. I think you're on Clang, for which I don't have env setup right now. I can add that to my build setup. Do you have non default cxxopts/copts settings for Bazel? Thanks. Let me know if you have any other concerns.


Exclude platform identities from permissions denial

Which issue this PR addresses:

Fixes ARO-6830
What this PR does / why we need it:

Add platform workload identities to the list of service principals excluded from the permissions denial so that those identities can manage Azure resources in the cluster's resource group
Test plan for issue:

Test plan is to PUT/PATCH a PlatformWorkloadIdentityProfile on an existing cluster, PUCM/adminUpdate it, and ensure that the deny assignment is updated correctly. Deny assignment isn't present in dev though so it'll have to be tested in canary.
Is there any documentation that needs to be updated for this PR?

Docs don't need to be updated, this is part of enabling MI/WI
How do you know this will function as expected in production?

Very simple logic. The main question mark is what kind type of principal an identity should have when added to the ExcludePrincipals list

/azp run ci

Forgot PRs to the RP (hah!) can't be from a fork. Reopened this as #3650 3653


use derive macro for Default trait on Scoreboard struct

Description
A Detailed Description:
when I was reading the code I accidentally came across this:
impl Default for Scoreboard {
    fn default() -> Self {
        Self::new()
    }
}

In my opinion, this is a useless piece of code, because we can use #[derive(Default)] instead of this, for speed up
code read time.
Testing
cargo run and joining to server
Checklist
Things need to be done before this Pull Request can be merged.

[x] Code is well-formatted and adheres to project style guidelines: cargo fmt
[x] Code does not produce any clippy warnings cargo clippy

Looks good.
Thanks @suprohub


pythonPackages.rbtools: fix tests

Motivation for this change
rbtools was broken, in the checkPhase it could not find the nosetests executable.
Things done

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

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

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

@GrahamcOfBorg build python27Packages.rbtools

needs backport to 19.03, /cc #56826

picked to 19.03 in c4f45dfe990


FIO-8632: Fixes an issue where required validation is not triggered for multiple value components like Select if it has no values added

https://formio.atlassian.net/browse/FIO-8632
Description
The check I removed was added for the https://formio.atlassian.net/browse/FIO-8336, but the issue is we have Multiple Value flag working differently with different components. For some of them (like Text Field) it treats each value separetely (so if we set Requied validation, it will make sure that we have at least 1 value in the array and that we don't have any empty values in the array even if it has 1 or more values) and some components as a Select one with Multiple Valu flag looks still as a single component with one row, but allows add multiple value, so the required validation should check the whole value
Breaking Changes / Backwards Compatibility
Use this section to describe any potentially breaking changes this PR introduces or any effects this PR might have on backwards compatibility
Dependencies
Use this section to list any dependent changes/PRs in other Form.io modules
How has this PR been tested?
Use this section to describe how you tested your changes; if you haven't included automated tests, justify your reasoning
Checklist:

[ ] I have completed the above PR template
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation (if applicable)
[ ] My changes generate no new warnings
[ ] My changes include tests that prove my fix is effective (or that my feature works as intended)
[ ] New and existing unit/integration tests pass locally with my changes
[ ] Any dependent changes have corresponding PRs that are listed above

Please talk with Alexey about this change.  He explicitly made a change to fix something here https://github.com/formio/core/commit/f4a904b367b4a2b3f545d6662d72dfc62313589e. I want to ensure that whatever he was fixing will now not be broken when we pull this change into place.
Also, I would like to see a test that also tests for the case that Alexey was fixing with his change.


Suspected out-of-memory: verifier crashes with "memory allocation of 8388608 bytes failed"

Hi - Looks like mina crashed, but I'm not sure how to replicate this - it just so happened to appear while I was testing something unrelated. The logs are below, hope they are helpful:
n 20 18:22:17 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:22:17 UTC [Error] Verifier stderr: "memory allocation of 8388608 bytes failed"
Jan 20 18:22:17 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:22:17 UTC [Error] verifier terminated unexpectedly
Jan 20 18:22:17 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:22:17 UTC [Info] verifier successfully stopped
Jan 20 18:22:17 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:22:17 UTC [Info] Daemon started process of kind "Verifier" with pid 21633
Jan 20 18:22:53 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:22:53 UTC [Error] Verifier stderr: "memory allocation of 8388608 bytes failed"
Jan 20 18:23:05 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:23:05 UTC [Error] verifier terminated unexpectedly
Jan 20 18:23:05 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:23:05 UTC [Info] verifier successfully stopped
Jan 20 18:23:05 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:23:05 UTC [Warn] failed to reset stream (this means it was probably closed successfully): $error
Jan 20 18:23:05 mina-testworld-dev-2 coda[4855]: #011error: {
Jan 20 18:23:05 mina-testworld-dev-2 coda[4855]:   "string":
Jan 20 18:23:05 mina-testworld-dev-2 coda[4855]:     "RPC #165518 failed: "internal RPC error error: unknown stream_idx""
Jan 20 18:23:05 mina-testworld-dev-2 coda[4855]: }
Jan 20 18:23:05 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:23:05 UTC [Info] Daemon started process of kind "Verifier" with pid 21687
Jan 20 18:23:12 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:23:12 UTC [Info] Sending transition_chain_proof to $peer
Jan 20 18:23:12 mina-testworld-dev-2 coda[4855]: #011peer: {
Jan 20 18:23:12 mina-testworld-dev-2 coda[4855]:   "host": "<IP_ADDRESS>",
Jan 20 18:23:12 mina-testworld-dev-2 coda[4855]:   "peer_id": "12D3KooWAmjDr9TbTRQQgyqs9P34nBdR3zy5fW5bifHZtdPaSABo",
Jan 20 18:23:12 mina-testworld-dev-2 coda[4855]:   "libp2p_port": 8302
Jan 20 18:23:12 mina-testworld-dev-2 coda[4855]: }
Jan 20 18:23:35 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:23:35 UTC [Error] Verifier stderr: "memory allocation of 8388608 bytes failed"
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:24:00 UTC [Error] verifier terminated unexpectedly
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:24:00 UTC [Info] verifier successfully stopped
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:24:00 UTC [Error] after "the remote host" closed the stream, stream state invariant broke (previous state: "Mina_net2.FullyOpen")
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:24:00 UTC [Error] error sending message on stream 148917: $error
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]: #011error: {
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]:   "string":
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]:     "RPC #165661 failed: "only wrote 0 out of 9 bytes error: libp2p error error: closed stream""
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]: }
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:24:00 UTC [Warn] failed to reset stream (this means it was probably closed successfully): $error
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]: #011error: {
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]:   "string":
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]:     "RPC #165666 failed: "internal RPC error error: unknown stream_idx""
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]: }
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:24:00 UTC [Warn] failed to reset stream (this means it was probably closed successfully): $error
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]: #011error: {
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]:   "string":
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]:     "RPC #165667 failed: "internal RPC error error: unknown stream_idx""
Jan 20 18:24:00 mina-testworld-dev-2 coda[4855]: }
Jan 20 18:24:01 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:24:01 UTC [Info] Daemon started process of kind "Verifier" with pid 21742
Jan 20 18:24:08 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:24:08 UTC [Error] Verifier stderr: $stderr
Jan 20 18:24:08 mina-testworld-dev-2 coda[4855]: #011stderr: "memory allocation of memory allocation of memory allocation of memory allocation of<PHONE_NUMBER>8608 bytes failed bytes failed8388608 bytes failed8388608 bytes failed"
Jan 20 18:24:08 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:24:08 UTC [Error] verifier terminated unexpectedly
Jan 20 18:24:08 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:24:08 UTC [Info] verifier successfully stopped
Jan 20 18:24:11 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:24:11 UTC [Info] Daemon started process of kind "Verifier" with pid 21796
Jan 20 18:24:14 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:24:14 UTC [Error] Verifier stderr: $stderr
Jan 20 18:24:14 mina-testworld-dev-2 coda[4855]: #011stderr: "memory allocation of memory allocation of memory allocation of memory allocation of<PHONE_NUMBER>8608 bytes failed bytes failed8388608 bytes failed8388608 bytes failed"
Jan 20 18:24:41 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:24:41 UTC [Error] verifier terminated unexpectedly
Jan 20 18:24:41 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:24:41 UTC [Info] verifier successfully stopped
Jan 20 18:24:41 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:24:41 UTC [Info] Daemon started process of kind "Verifier" with pid 21849
Jan 20 18:25:21 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:25:21 UTC [Info] Daemon child process 21849 terminated after receiving signal "sigabrt"
Jan 20 18:25:21 mina-testworld-dev-2 coda[4855]: 2021-01-20 18:25:21 UTC [Error] Child process of kind "Verifier" with pid 21849 has terminated
Jan 20 18:25:38 mina-testworld-dev-2 coda[22006]: 2021-01-20 18:25:38 UTC [Info] Coda daemon is booting up; built with commit "[DIRTY]d44a1339bdbdd5ebe747124c7146f435a3f73453" on branch "HEAD"
Jan 20 18:25:38 mina-testworld-dev-2 coda[22006]: 2021-01-20 18:25:38 UTC [Info] Removing lockfile for terminated process
Jan 20 18:25:38 mina-testworld-dev-2 coda[22006]: 2021-01-20 18:25:38 UTC [Info] Daemon will expire at "2024-12-10 14:00:00-07:00"
Jan 20 18:25:38 mina-testworld-dev-2 coda[22006]: 2021-01-20 18:25:38 UTC [Info] Booting may take several seconds, please wait
Jan 20 18:25:38 mina-testworld-dev-2 coda[22006]: 2021-01-20 18:25:38 UTC [Info] Reading configuration files $config_files
4 core, 32GB memory.

These messages seem to indicate that high memory usage is causing problems, e.g.
2021-01-20 18:22:17 UTC [Error] Verifier stderr: "memory allocation of 8388608 bytes failed"

@mnguyen-io can you confirm whether you're seeing high (close to 100%) memory usage on your node?

These messages seem to indicate that high memory usage is causing problems, e.g.
2021-01-20 18:22:17 UTC [Error] Verifier stderr: "memory allocation of 8388608 bytes failed"

@mnguyen-io can you confirm whether you're seeing high (close to 100%) memory usage on your node?

Hi, the VM has 32GB of RAM and the only thing that's really running on it is Mina (it's been running for about a week now). I didn't get a chance to see the memory usage at the time of the crash, I'll setup some monitoring around it. FYI - It is not running as a block producer.
I can see it's currently utilizing 16GB of memory and it's been running for about 2 hours.

Hi, the VM has 32GB of RAM and the only thing that's really running on it is Mina (it's been running for about a week now). I didn't get a chance to see the memory usage at the time of the crash, I'll setup some monitoring around it. FYI - It is not running as a block producer.
I can see it's currently utilizing 16GB of memory and it's been running for about 2 hours.

We're seeing better behaviour around memory usage after #7551. Tentatively closing this.


Added a HSLToHexadecimal code snippet

Thanks for contributing. However, this can be easily produced by combining HSL to RGB and RGB to hex, so there's no need to add an additional snippet.


Provide script for deployment of the full platform stack

Use some script or utility to deploy Karvdash along with dependencies and integrated software. Maybe use Helmfile.

Our Makefile now also supports deploying on bare metal. This should be sufficient for now.

Indeed Helmfile seems like a better option, especially for providing different options for different environments.


Smartparens and delete-selection-mode do not play nice

You can unbalance a region easily using delete-selection-mode.

Fixed by updating Smartparens.


String interpolation used outside of the context of format!()

https://github.com/cloudflare/pingora/blob/5fdf287c4d6a9ddc8a9caf3447cd27575c13a24c/pingora-core/src/listeners/tls.rs#L59-L74
In these lines, the string contents are not interpolated, so I see this on the command line:
thread 'main' panicked at src/main.rs:29:67:
called `Result::unwrap()` on an `Err` value: Error { etype: Custom("TLSConfigError"), esource: Unset, retry: Decided(false), cause: Some(ErrorStack([Error { code:<PHONE_NUMBER>, library: "system library", function: "file_ctrl", file: "crypto/bio/bss_file.c", line: 297, data: "calling fopen(./assets/test.pem, r)" }, Error { code: 268959746, library: "BIO routines", function: "file_ctrl", reason: "system lib", file: "crypto/bio/bss_file.c", line: 300 }, Error { code: 168296450, library: "SSL routines", function: "SSL_CTX_use_PrivateKey_file", reason: "system lib", file: "ssl/ssl_rsa.c", line: 386 }])), context: Some(Static("fail to read key file {key_path}")) }

Specifically:
context: Some(Static("fail to read key file {key_path}"))

The correct syntax for this would be something like:
.or_err(TLS_CONF_ERR, &format!("fail to read key file {key_path}"))

This should be fixed with commit e6f2cb0.


[Feature] Add search icon in every search bar

What would you like to share?
We can add search icon in every search bar which enhance user experience, and it will look good.
Additional information
No response
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[x] I am a GSSOC'24 contributor.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

Pls provide the supporting screenshot properly @soniya-malviy

Before :

After:

before:

After:

Do you want to work @thecloudcode

yeah sure @Rakesh9100

Go ahead @thecloudcode

@Rakesh9100 Kindly assign me this issue, before merging I am a GSSoC'24 Contributor. Thank you.

I'm interested in working on issue #820. I've already reviewed the issue description and believe I have the necessary skills to contribute.
Please let me know if you're open to assigning this to me."

Do you want to work on this @aashlesha12

Hi, I would like to work on this issue. Please assign it to me. Thank you!

Proceed @Atharvverma1234


ntp -q is running as root user and sometimes changes ownership of peerstats file

We find it useful to use the node['ntp']['sync_clock']   feature but it causes problems as the "ntpd -q" command  is run as root and seems to create a new peerstats file owned by root on occasions.
When ntpd is restarted it cant read this file and issues an error message.
Suggest you set ntpd -q to run as ntp user.

Should be fixed by https://github.com/gmiranda23/ntp/pull/138. Thanks!


need help with POC

Hey Vizzu team!
We would like to add ipyvizzu story plot to MLJAR AutoML reports.
MLJAR AutoML trains several ML models. For each model we have the training information, it can be single value or list of values. Example log from training:
Iteration,TrainingLoss,ValidationLoss
0,0.6224042672864691,0.63477659479385
1,0.5852765052796838,0.6083788001751151
2,0.5536278422899589,0.5859192889100233
3,0.5253922667599724,0.5673112168974941
4,0.500639561006052,0.5514805711171018

And we have table with final loss value for each model. Right now we create a static report in Markdown and HTML. Report is documentation from AutoML training. It would be fantastic to make dynamic story from AutoML training.
Here is an example report:

Typically there are from 10 to 50 models, sometimes up to 100 ...
Is it possible to animate training logs (line charts) and show them in scatter plot of all models performance? Something like:

training model 1, animate training logs,
add final loss to leaderboard scatter plot,
training model 2, animate training logs,
add final loss to leaderboard scatter plot,
training mode 3, animate training logs
and so on ...

What do you think @petervidos, @aplonska?

Hey @pplonski,
I'm sorry for not getting back to you sooner.
I'm sure this could work. I would create a Vizzu-story (JS version of ipyvizzu-story -https://github.com/vizzuhq/vizzu-story-js), so the user can switch between the views using the presentation controls.
Some sort of racing chart could be built for each training log, then the final loss of that model could appear on the leaderboard scatter plot. Whether or not these are two animated stories or just one, depends on the data structure - and also the size of the tables.
Let's set up a short call to discuss the details if this sounds like something you'd be looking for.


[fix][admin] Verify is policies read only before revoke permissions on topic

Fixes https://github.com/apache/pulsar/issues/23715
Motivation
see https://github.com/apache/pulsar/issues/23715
Modifications

Verifying this change

[ ] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

[ ] Dependencies (add or upgrade a dependency)
[ ] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[ ] The metrics
[ ] Anything that affects deployment

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Thanks @dao-jun. Could we add tests to cover this? The lack of tests made it possible that this regression happened in the first place.

@lhotari @Technoboy- PTAL

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

Project coverage is 74.37%. Comparing base (bbc6224) to head (4699840).
Report is 794 commits behind head on master.

Additional details and impacted files

@@             Coverage Diff              @@
##             master   #23730      +/-   ##
============================================
+ Coverage     73.57%   74.37%   +0.80%
- Complexity    32624    34568    +1944
============================================
  Files          1877     1945      +68
  Lines        139502   147511    +8009
  Branches      15299    16280     +981
============================================
+ Hits         102638   109712    +7074
- Misses        28908    29327     +419
- Partials       7956     8472     +516

Flag
Coverage Δ

inttests
27.40% <0.00%> (+2.82%)
:arrow_up:

systests
24.37% <0.00%> (+0.05%)
:arrow_up:

unittests
73.77% <100.00%> (+0.93%)
:arrow_up:

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

Files with missing lines
Coverage Δ

...pulsar/broker/admin/impl/PersistentTopicsBase.java
69.74% <100.00%> (+4.28%)
:arrow_up:

... and 676 files with indirect coverage changes


serialize/deserialize double on browser fail

 [Firefox] Complex Serialize
  Expected: '{"nums":[1,2.2,3],"strings":["1","2","3"],"bools":[true,false,true],"ints":[1,2,3],"doubles":[1.1,2.2,3.3],"dates":["2016-12-24T00:00:00.000","2016-12-25T00:00:00.000","2016-12-26T00:00:00.000"],"ignores":[{"a":"1337A","b":"42A"},{"a":"1337B","b":"42B"}],"numSet":{"numA":1,"numB":12.2},"stringSet":{"strA":"1","strB":"3"},"boolSet":{"ok":true,"nok":false},"intSet":{"intA":1,"intB":12},"doubleSet":{"dblA":1.0,"dblB":12.0},"dateSet":{"fiesta":"2016-12-24T00:00:00.000","christmas":"2016-12-25T00:00:00.000"},"ignoreSet":{"A":{"a":"1337A","b":"42A"},"B":{"a":"1337B","b":"42B"}},"listInnerMap":{"test":["123456"]}}'
    Actual: '{"nums":[1,2.2,3],"strings":["1","2","3"],"bools":[true,false,true],"ints":[1,2,3],"doubles":[1.1,2.2,3.3],"dates":["2016-12-24T00:00:00.000","2016-12-25T00:00:00.000","2016-12-26T00:00:00.000"],"ignores":[{"a":"1337A","b":"42A"},{"a":"1337B","b":"42B"}],"numSet":{"numA":1,"numB":12.2},"stringSet":{"strA":"1","strB":"3"},"boolSet":{"ok":true,"nok":false},"intSet":{"intA":1,"intB":12},"doubleSet":{"dblA":1,"dblB":12},"dateSet":{"fiesta":"2016-12-24T00:00:00.000","christmas":"2016-12-25T00:00:00.000"},"ignoreSet":{"A":{"a":"1337A","b":"42A"},"B":{"a":"1337B","b":"42B"}},"listInnerMap":{"test":["123456"]}}'
     Which: is different.
  Expected: ... :{"dblA":1.0,"dblB": ...
    Actual: ... :{"dblA":1,"dblB":12 ...
                          ^
``

We cannot fix that, it's javascript behavior,
JSON.strinfigy({"foo":1.0}) == '{"foo":1}'


[v1.13] CI IPsec backports

[!NOTE]
I'll be away for a few days and won't be able to push this PR forward

Here's a bunch of IPsec CI backports labelled as backport/author, before the workflows diverge too much.
Should be similar to the v1.14 equivalent

[ ] #29485 (@brb)
[ ] #29514 (@brb)
[x] #29793 (@qmonnet)

Once this PR is merged, you can update the PR labels via:
for pr in 29485 29514 29793; do contrib/backporting/set-labels.py $pr done 1.13; done

or with
make add-labels BRANCH=v1.13 ISSUES=29485,29514,29793

/test-backport-1.13

kind.sh is not called correctly, it accepts fewer arguments on v1.13 - I rejected them when addressing the conflict, probably shouldn't have. I guess I'm missing one or two commits in the list. Turning this into draft for now.

/test-backport-1.13

/test-backport-1.13

/test-backport-1.13

/test-backport-1.13

/test-1.24-4.19

@jschwinger233 Would you mind taking a look for Martynas' commits, please?

/test-backport-1.13

Thank you Viktor for reviewing for ci-structure and github-sec. :pray:
Gray reviewed for Martynas' commits. :pray:
The three failures in CI are expected, as mentioned above, now that I removed the test commit.
This PR is only missing TopHat's review, I'm marking as ready-to-merge.

Now needs a rebase

/ci-e2e

/ci-ipsec-upgrade

/ci-ipsec-e2e

/ci-e2e

/ci-ipsec-upgrade

/ci-ipsec-e2e

/ci-e2e

/ci-ipsec-upgrade

/ci-ipsec-e2e

/ci-e2e

/ci-ipsec-upgrade

/ci-ipsec-e2e

The three relevant workflows passed, I'm removing the test commit.

/test-backport-1.13

/test-1.21-4.19

The PR is ready to merge, once again. As mentioned before, the three failures are expected until the PR is merged and relevant Actions on v1.13 get updated.


Merge Sections

Merge sections of 'Want to Collaborate' and 'Reach out to us' as a single one, with link to technovator email ID

Wait for creation of personal Email ID and then update the mail ID


jsonp polling + IE7 + fast repetition of events

Hi,
I have a problem with sending events shortly after another to an IE 7 browser via
jsonp polling.
I switched on debug to give you some clues. The first "jsonppolling" action (value "12") is
received on the IE7 side. However, the program tries to send two further events shortly
after each other ( within milliseconds). Those two entries (values "13" and "14" ) do not appear
on the IE7 side.
The next events towards the browser are fired after a few seconds - this is working again. Only
quickly repeating events seem to have a problem with jsonp polling + IE7.
Is it critical in terms of reliability of data transport to fire multiple events after just some milliseconds break when using jsonp polling + IE7?
Beside this issue I am very satisfied with socket IO.
Any ideas? I'm using socket IO 0.8.7.
Many thanks for your support.
Maik
debug - setting request GET /socket.io/1/jsonp-polling/1603946467163662147?t=1331055340078&i=1
debug - setting poll timeout
debug - discarding transport
debug - cleared close timeout for client<PHONE_NUMBER>163662147
debug - clearing poll timeout
// this one is received on the IE 7 side, value "12"
debug - jsonppolling writing io.j1;
debug - set close timeout for client<PHONE_NUMBER>163662147
debug - setting request GET /socket.io/1/jsonp-polling/1603946467163662147?t=1331055353984&i=1
debug - setting poll timeout
debug - clearing poll timeout
// those two do not appear, value "13" and "14"
debug - jsonppolling writing io.j1;
debug - set close timeout for client<PHONE_NUMBER>163662147
debug - discarding transport
debug - cleared close timeout for client<PHONE_NUMBER>163662147
debug - setting request GET /socket.io/1/jsonp-polling/1603946467163662147?t=1331055354031&i=1
debug - setting poll timeout
debug - discarding transport
debug - cleared close timeout for client<PHONE_NUMBER>163662147
debug - fired close timeout for client<PHONE_NUMBER>128082444

Weird. I'll try to reproduce this asap


Document how to import blocklists

It took me some time to figure out how to add blocklists to Pi-hole.
After you know it it pretty obvious and straight forward but you need to know where to look first :)

This is how the change looks like: https://github.com/danifr/pihole-antitelemetry/tree/document_import_blocklist#import-blocklist

thanks for your contribution!


[Support] Generate certificate on linux

Hello,
I installed the docker version on a Ubuntu 20.
I am afraid the lines below dont work as they are ... anything I am missing ?
source dev.sh
generate_certificates { password here }

Did you replace { password here} with your own password? ;-)

Sorry I was not clear ...
root@doc:/var/lib/docker/image/openmu# source dev.sh
-bash: dev.sh: No such file or directory

The guide is probably not clear, too.
You need to download the dev.sh to your host machine, before you can execute this command.

Ah, lol :)
PS: I did not understand the source dev.sh at all .. now makes sense :)

It seems I am still missing something  !?
https://pastebin.com/xu7r8xFH

Have you managed to get it working?
Unfortunately, I can't help you much with that, as I don't have experience using a linux host :-(

No, I havent try anything else after - no much time. I will when/if I get more time to 'study' :)


Option to Specify the Amount to Download

Describe your suggested feature
It's just a small quality of life change, I wanted to download 100 chapters but I need to press download "next 25 chapter" 4 times. Previously, you can specify the amount, hope it makes a comeback
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.16.5.
[X] I will fill out all of the requested information in this form.

That option was removed in Tachiyomi days already, and Mihon has no plans to bring it back. It puts an incredible load on sources and is patently unnecessary in the vast majority of situations. Please check out the "Download Ahead" feature in the app, together with the "Delete after reading" feature.


[feature request] matchers to work with annotations

What did you do?
In prometheus, labels have a very different semantics. For a given time series with label A,B,C with some values, any change to those values results in a completely different time series
For alerts, this is especially troublesome. Often, we use severity labels to denote the criticality of alerts. Changing these labels means that we lose continuity between the fired alerts vs the newly defined alert
This new alert goes through its own alert lifecycle in prometheus ( starts from pending -> fired ). This becomes a nuisance while configuring the alertmanager as previous alert with a different criticality ends up "resolved" giving misinformation about the ongoing problem
Annotations OTOH are orthogonal to labels. Changing them ensures continuity.
What did you expect to see?
Matchers that match against annotations. Severity then can be marked as an annotation rather than a label.
What did you see instead? Under which circumstances?
Matchers only work with labels
Environment
k8s

System information:
insert output of uname -srm here

Alertmanager version:

0.24.0

Prometheus version:

2.49.1

Alertmanager configuration file:

na

Prometheus configuration file:

na

Logs:

na

Often, we use severity labels to denote the criticality of alerts. Changing these labels means that we lose continuity between the fired alerts vs the newly defined alert
This new alert goes through its own alert lifecycle in prometheus ( starts from pending -> fired ). This becomes a nuisance while configuring the alertmanager as previous alert with a different criticality ends up "resolved" giving misinformation about the ongoing problem

The general guideline for alerting rules with different severity is to write alert expressions such as the lowest severity alert always fires when the highest sev alert fires. E.g. the timeline should be:

Alert Foo with sev=warning firing.
Alert Foo with sev=warning and sev=critical both firing.
Alert Foo with sev=critical resolved and Alert Foo with sev=warning firing.
Alert Foo with sev=warning resolved.

See the node_exporter  NodeFilesystemSpaceFillingUp alerts for instance.


KCL Ciris Tests

Changes Introduced
Adds tests for the KCL Config Loaders
Applicable linked issues
Checklist (check all that apply)

[X] This change maintains backwards compatibility
[X] I have introduced tests for all new features and changes
[X] I have added documentation covering all new features and changes
[X] This pull-request is ready for review

Codecov Report
Base: 61.48% // Head: 75.50% // Increases project coverage by +14.01% :tada:

Coverage data is based on head (186b370) compared to base (590f927).
Patch coverage: 100.00% of modified lines in pull request are covered.

:exclamation: Current head 186b370 differs from pull request most recent head a3d3cc0. Consider uploading reports for the commit a3d3cc0 to get more accurate results

Additional details and impacted files
@@             Coverage Diff             @@
##             main      #32       +/-   ##
===========================================
+ Coverage   61.48%   75.50%   +14.01%
===========================================
  Files          54       54
  Lines        2485     2470       -15
  Branches       62       17       -45
===========================================
+ Hits         1528     1865      +337
+ Misses        957      605      -352

Impacted Files
Coverage Δ

...c/main/scala/kinesis4cats/kcl/ciris/KCLCiris.scala
92.09% <100.00%> (+92.09%)
:arrow_up:

...ed/src/main/scala/kinesis4cats/syntax/string.scala
90.00% <100.00%> (+23.33%)
:arrow_up:

.../main/scala/kinesis4cats/kcl/RecordProcessor.scala
72.22% <0.00%> (-0.31%)
:arrow_down:

.../src/main/scala/kinesis4cats/kcl/KCLConsumer.scala
43.05% <0.00%> (-0.19%)
:arrow_down:

.../src/main/scala/kinesis4cats/kpl/KPLProducer.scala
22.58% <0.00%> (-0.07%)
:arrow_down:

...main/scala/kinesis4cats/client/KinesisClient.scala
67.53% <0.00%> (+0.45%)
:arrow_up:

.../src/main/scala/kinesis4cats/instances/ciris.scala
76.47% <0.00%> (+11.76%)
:arrow_up:

...la/kinesis4cats/localstack/aws/v2/AwsClients.scala
68.00% <0.00%> (+16.00%)
:arrow_up:

.../main/scala/kinesis4cats/kcl/instances/ciris.scala
37.50% <0.00%> (+37.50%)
:arrow_up:

... and 5 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


am/pm

hi there.
thanks..
how can i show time with am/pm.

sorry. i fixed. thank you

I want to use the time picker with AM/PM format.
I can't seem to find the option.
Where did you find it?


chore(tests): add Python 3.10/3.11 in CI runs/tox/trove classifier

Description
This PR adds  Python 3.10/3.11 in CI runs/tox/trove classifier

Will likely first need https://github.com/xolox/python-humanfriendly/pull/65 to be merged to fix https://github.com/xolox/python-humanfriendly/issues/64 and get the CI passing again.


Migrated Chuck Norris Plugin to Documentation-as-Code

Migrated all docs to GitHub.

Links

https://github.com/jenkinsci/chucknorris-plugin/pull/99

Screenshots
Please add screenshots if relevant.
If they are already linked from the pull request, no need to duplicate

Thanks for your contribution!
@all-contributors please add @oleg-nenashev for docs


cmd/compile: We can avoid extra mapaccess in map[k] = append(m[k],...)

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go 1.9, go 1.10
Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
darwin_amd64
What did you do?
Looked at ASM code of:
map[k] = append(map[k],...)
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
What did you expect to see?
Namely in this case mapaccess(m, k) can be avoided, see optimization https://github.com/golang/go/issues/23661 that was merged. I intentionally separated it and willing to provide fix for "map + append"  case.
What did you see instead?
see 2 calls
func mapaccess*(..) unsafe.Pointer
func mapassign*(...) unsafe.Pointer

I am going to provide fix and create pull request. I will take in account all comments and changes made in scope of https://github.com/golang/go/issues/23661 that is connected.

Just realized that more likely optimization is going to have the following restrictions:
It works namely for case: m[k] = append(m[k], ...) where we can tell that right and left parts are exactly the same during Order. It will not be able to work:

m[f(k)] = append(m[f(k)], ...)
sink, m[k] = sink, append(m[k]...)
m[k] = append(..., m[k],...)

2 and 3 are feasible but they are so rare that I don't want to add specific optimization.
I am testing implementation now and added BenchmarkMapAppendAssign:
Run it before and after
../bin/go test -bench=BenchmarkMapAppendAssign -run=^map ./runtime/ -count 20
name                           old time/op    new time/op    delta
MapAppendAssign/Int32/256-8      33.5ns ± 3%    22.4ns ±10%  -33.24%  (p=0.000 n=16+18)
MapAppendAssign/Int32/65536-8    68.2ns ± 6%    48.5ns ±29%  -28.90%  (p=0.000 n=20+20)
MapAppendAssign/Int64/256-8      34.3ns ± 4%    23.3ns ± 5%  -32.23%  (p=0.000 n=17+18)
MapAppendAssign/Int64/65536-8    65.9ns ± 7%    61.2ns ±19%   -7.06%  (p=0.002 n=18+20)
MapAppendAssign/Str/256-8         116ns ±12%      79ns ±16%  -31.70%  (p=0.000 n=20+19)
MapAppendAssign/Str/65536-8       134ns ±15%     111ns ±45%  -16.95%  (p=0.000 n=19+20)
name                           old alloc/op   new alloc/op   delta
MapAppendAssign/Int32/256-8       47.0B ± 0%     46.0B ± 0%   -2.13%  (p=0.000 n=19+18)
MapAppendAssign/Int32/65536-8     27.0B ± 0%     20.7B ±30%  -23.33%  (p=0.000 n=20+20)
MapAppendAssign/Int64/256-8       47.0B ± 0%     46.0B ± 0%   -2.13%  (p=0.000 n=20+17)
MapAppendAssign/Int64/65536-8     27.0B ± 0%     27.0B ± 0%     ~     (all equal)
MapAppendAssign/Str/256-8         94.0B ± 0%     78.0B ± 0%  -17.02%  (p=0.000 n=20+16)
MapAppendAssign/Str/65536-8       54.0B ± 0%     54.0B ± 0%     ~     (all equal)
name                           old allocs/op  new allocs/op  delta
MapAppendAssign/Int32/256-8        0.00           0.00          ~     (all equal)
MapAppendAssign/Int32/65536-8      0.00           0.00          ~     (all equal)
MapAppendAssign/Int64/256-8        0.00           0.00          ~     (all equal)
MapAppendAssign/Int64/65536-8      0.00           0.00          ~     (all equal)
MapAppendAssign/Str/256-8          0.00           0.00          ~     (all equal)
MapAppendAssign/Str/65536-8        0.00           0.00          ~     (all equal)

Also need to take care with channel ops and things that can panic. See func samesafeexpr.

Somewhat related: #5147 (https://github.com/golang/go/issues/5147#issuecomment-247685599 etc)

I checked that after fix mapaccess is not present in asm code:
map_append_clean.go
1 package main
2
3 var sink bool
4 func main() {
5    m := make(map[string][]string)
6    m["hello"] = append(m["hello"], "test1")
7 }
go tool compile -S map_append_clean.go
0x0076 00118 (map_append_clean.go:6)    LEAQ    type.map[string][]string(SB), AX
0x007d 00125 (map_append_clean.go:6)    MOVQ    AX, (SP)
0x0081 00129 (map_append_clean.go:6)    LEAQ    ""..autotmp_2+72(SP), AX
0x0086 00134 (map_append_clean.go:6)    MOVQ    AX, 8(SP)
0x008b 00139 (map_append_clean.go:6)    LEAQ    go.string."hello"(SB), AX
0x0092 00146 (map_append_clean.go:6)    MOVQ    AX, 16(SP)
0x0097 00151 (map_append_clean.go:6)    MOVQ    $5, 24(SP)
0x00a0 00160 (map_append_clean.go:6)    PCDATA  $0, $1
0x00a0 00160 (map_append_clean.go:6)    CALL    runtime.mapassign_faststr(SB)
0x00a5 00165 (map_append_clean.go:6)    MOVQ    32(SP), AX
0x00aa 00170 (map_append_clean.go:6)    MOVQ    16(AX), CX
0x00ae 00174 (map_append_clean.go:6)    MOVQ    (AX), DX
0x00b1 00177 (map_append_clean.go:6)    MOVQ    8(AX), BX
0x00b5 00181 (map_append_clean.go:6)    LEAQ    1(BX), SI
0x00b9 00185 (map_append_clean.go:6)    CMPQ    SI, CX
0x00bc 00188 (map_append_clean.go:6)    JGT     265
0x00be 00190 (map_append_clean.go:6)    LEAQ    1(BX), CX
0x00c2 00194 (map_append_clean.go:6)    MOVQ    CX, 8(AX)
0x00c6 00198 (map_append_clean.go:6)    SHLQ    $4, BX
0x00ca 00202 (map_append_clean.go:6)    MOVQ    $5, 8(DX)(BX1)
0x00d3 00211 (map_append_clean.go:6)    LEAQ    (DX)(BX1), DI
0x00d7 00215 (map_append_clean.go:6)    CMPL    runtime.writeBarrier(SB), $0
0x00de 00222 (map_append_clean.go:6)    JNE     251
0x00e0 00224 (map_append_clean.go:6)    LEAQ    go.string."test1"(SB), AX
0x00e7 00231 (map_append_clean.go:6)    MOVQ    AX, (DX)(BX*1)
0x00eb 00235 (map_append_clean.go:7)    MOVQ    456(SP), BP
0x00f3 00243 (map_append_clean.go:7)    ADDQ    $464, SP
0x00fa 00250 (map_append_clean.go:7)    RET
0x00fb 00251 (map_append_clean.go:6)    LEAQ    go.string."test1"(SB), AX
0x0102 00258 (map_append_clean.go:6)    CALL    runtime.gcWriteBarrier(SB)
0x0107 00263 (map_append_clean.go:6)    JMP     235
0x0109 00265 (map_append_clean.go:6)    MOVQ    AX, ""..autotmp_6+64(SP)
0x010e 00270 (map_append_clean.go:6)    LEAQ    type.string(SB), AX
0x0115 00277 (map_append_clean.go:6)    MOVQ    AX, (SP)
0x0119 00281 (map_append_clean.go:6)    MOVQ    DX, 8(SP)
0x011e 00286 (map_append_clean.go:6)    MOVQ    BX, 16(SP)
0x0123 00291 (map_append_clean.go:6)    MOVQ    CX, 24(SP)
0x0128 00296 (map_append_clean.go:6)    MOVQ    SI, 32(SP)
0x012d 00301 (map_append_clean.go:6)    PCDATA  $0, $2
0x012d 00301 (map_append_clean.go:6)    CALL    runtime.growslice(SB)
0x0132 00306 (map_append_clean.go:6)    MOVQ    40(SP), AX
0x0137 00311 (map_append_clean.go:6)    MOVQ    48(SP), CX
0x013c 00316 (map_append_clean.go:6)    MOVQ    56(SP), DX
0x0141 00321 (map_append_clean.go:6)    MOVQ    ""..autotmp_6+64(SP), DI
0x0146 00326 (map_append_clean.go:6)    MOVQ    DX, 16(DI)
0x014a 00330 (map_append_clean.go:6)    CMPL    runtime.writeBarrier(SB), $0
0x0151 00337 (map_append_clean.go:6)    JNE     356
0x0153 00339 (map_append_clean.go:6)    MOVQ    AX, (DI)
0x0156 00342 (map_append_clean.go:6)    MOVQ    CX, BX
0x0159 00345 (map_append_clean.go:6)    MOVQ    AX, DX
0x015c 00348 (map_append_clean.go:6)    MOVQ    DI, AX
0x015f 00351 (map_append_clean.go:6)    JMP     190
0x0164 00356 (map_append_clean.go:6)    CALL    runtime.gcWriteBarrier(SB)
0x0169 00361 (map_append_clean.go:6)    JMP     342
0x016b 00363 (map_append_clean.go:6)    NOP

@vkuzmin-uber, you can add a code generation tests to your CL. They are pretty easy to add nowadays.

@bradfitz Brad, could you please point me to some example with "code generation tests"? I think such test is pretty critical for change like that. It's too easy to add regression accidentally. (We just found, for instance, that optimization doesn't cover particular types with "mapslow")

If you look in test/codegen, there are a bunch of tests for the generated
assembly code.  Read the README, and take a look at movesmall.go, it has
tests to make sure that we don't call memmove in certain situations, which
is similar to the test you want.
On Fri, Mar 16, 2018 at 12:16 PM, vkuzmin-uber<EMAIL_ADDRESS>wrote:

@bradfitz https://github.com/bradfitz Brad, could you please point me
to some example with "code generation tests"? I think such test is pretty
critical for change like that. It's too easy to add regression
accidentally. (We just found, for instance, that optimization doesn't cover
particular types with "mapslow")
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/24364#issuecomment-373817511, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AGkgIKbKpU08Zce91QxE_0nKYHgIiJDlks5tfA-CgaJpZM4Sn3IV
.

Thanks, I provided mapaccess codegen test. I also wrote small article https://kuzminva.wordpress.com/2018/03/18/146-coverage-codegen-tests/


Confirm if Oracle to Azure Database for PostgreSQL" migration scenario is support or not

[Enter feedback here]
From DMS Azure portal, it shows Oracle to Azure Database for PostgreSQL" migration scenario (currently in preview) will no longer be available after May 1, 2021. But I didn't see update on this document, would you please confirm if the scenario is still support ? What's the alternative tool? Thanks a lot.

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

ID: 791b1abb-2be5-0c87-a0b5-a215c57ba7ad
Version Independent ID: b3b41831-b73f-d80f-12ea-e55f1612d6c0
Content: Tutorial: Migrate Oracle online to Azure Database for PostgreSQL - Azure Database Migration Service
Content Source: articles/dms/tutorial-oracle-azure-postgresql-online.md
Service: dms
GitHub Login: @arunkumarthiags
Microsoft Alias: arthiaga

@zqyAmy Yes as per the documentation this will be available till the end of April, 2021. In the same article at the top of the document, there is guide link mentioned which has details related to migration.
Oracle to Azure Database for PostgreSQL Migration Guide
Please let us know if this helps.

@zqyAmy Please let us know if above comment helps.

@zqyAmy We are going ahead and closing this feedback for now and please get back to us if any other question and we will continue the dicussion.


Enable custom canvas sizing behavior

Questions to answer:

Is this a config.ts setting? If so, use value effects. Probably valuable to allow custom canvas sizing, especially for photo/video export (eventually)
How do non-fullscreen canvases look? Drop shadow, bg color, etc (styling)
What happens when projects set the canvas size internally? This probably needs a dedicated look (resizing etc), and goes along with a canvas-sketch project subclass - #14
What happens when the container is smaller than the set canvas size?

[ ] enable setting style size from within projects
[ ] test setting size directly
[ ] notes on canvas sizing in documentation (set style size; max at 100%, etc)
[ ] project config option for default canvas size
[ ] pass current size to sizing functions?
[ ] test parameterized size for canvas update