Name attribute not present in sending request to server.

Hi, I am having an issue that input element attribute name is not present in the dynamically generated field which is causing problems in the server side, then I tried attaching dynamically to it using the Custom JS it gets attached to the input element but still I can not receive the image on the server side, so could you elaborate how to work around with this, thanks for your help, your plugin has been a big help.

ok, now I have edited the plugin code to generate the name attribute dynamically, but that particular input field data is not being sent to the server. So can anyone tell me, that what is the issue, I can shared the changes done in the plugin code also, just needed to modify few lines.

Any update or suggestion @johndatserakis, regarding this problem.

Hey there - yea I've seen this in the past and it indicates that you are not sending the data to the backend in a way that will work. You should not need to pass the name manually.
I answered a similar question here recently. I'm not sure what backend you're using, but something like FormData on the frontend should allow everything to be passed properly.

I am using the FormData via an AJAX call to submit the form, before changing the plugin code to add the name attribute the problem still persisted. When I checked the raw request data on backend, it could be seen that image was not present, so that's why I took the approach of adding the name attribute but still I was not able to receive the image file. By the way, the backend is based on Laravel.

Hmm, interesting. Sorry I don't have a better answer for you now - I will mark this as something to look into on my end. Maybe I could stand-up a little demo app with a backend showing this working from soup to nuts. I'm just super booked right now, so sorry for the delay.

Closing for now - as I mentioned, this is more for frontend image handling. Perhaps one day I'll do a whole demo with a backend, but I won't be getting to that unfortunately in the near future.


Fix comment that break the generated doc

Fix a comment that break the generated doc
Test
See doc for forcecreate
Additional Information
Tradeoff

Potential improvement

Good catch, thanks for the pullrequest


Update StablePriceOracle.sol

Proposed changes to eth as native currency. Move usd-eth oracle to front end for information purposes only. Premium price is not used. Premium price oracle examine functionality and purpose.
How to work
Review proposed changes
Comment on potential issues
Deploy new with script
Flatten contract and verify code. Use ENS flatten contract as guide [ https://etherscan.io/address/0xb9d374d0fe3d8341155663fae31b7beae0ae233a#writeContract ]


Track the number of hops an inscription has travelled

It'd be interesting to see how many hops an inscribed ordinal has travelled since the genesis inscription.
MVP: Add tracking to indexing code and print info out when listing inscriptions in wallet
I'll work on this.

Would you want just the number of hops tracked? Or the satpoints too?
I've added a INSCRIPTION_ID_TO_SATPOINT_HISTORY table to my fork in this commit which may be helpful, but a bit excessive


Sample fonts.json request

What is the structure of fonts.json ? Could you please post a sample fonts.json somewhere ?
I am getting the following error.
PDF: STANDARD_FONTS not set. using fonts/ instead.
thread 'main' panicked at 'can't read fonts.json: Os { code: 2, kind: NotFound, message: "No such file or directory" }', render/src/font.rs:55:68
stack backtrace:
   0: rust_begin_unwind
             at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/std/src/panicking.rs:584:5
   1: core::panicking::panic_fmt
             at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/panicking.rs:143:14
   2: core::result::unwrap_failed
             at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/result.rs:1749:5
   3: core::result::Result<T,E>::expect
             at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/result.rs:1022:23
   4: pdf_render::font::StandardCache::new
             at /Users/omkarpatil/experiments/ghostscript/pdf_render/render/src/font.rs:55:20
   5: pdf_render::cache::Cache::new
             at /Users/omkarpatil/experiments/ghostscript/pdf_render/render/src/cache.rs:54:18
   6: pdf2image::main
             at ./src/main.rs:37:21
   7: core::ops::function::FnOnce::call_once
             at /rustc/7737e0b5c4103216d6fd8cf941b7ab9bdbaace7c/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

https://github.com/s3bk/pdf_fonts
the font files are from /usr/share/fonts/type1/gsfonts/ on ubuntu.

Thanks dude !


[10.x] Add JobTimingOut event to Worker

Add a JobTimingOut event in order to allow developers to resolve the scenario described in #48392.
The main problem described in the issue is that if the job has a transaction that is still running when the job hits timeout, then any database operation that is sent before rolling back the job transaction, will not be executed as expected.
There already exists a JobTimedOut event, but this event is emitted after some processes that may involve database access in some scenarios. So, by adding this new event, developers can roll back database transactions before these mentioned processes are executed.
I prepared a repository in order to test this.
There are two jobs TimeOutJobWithoutTransactionRollback and TimeOutJobWithTransactionRollback:
class TimeOutJobWithoutTransactionRollback implements ShouldQueue
{
    ...

    public function handle(): void
    {
        DB::transaction(fn() => sleep(999));
    }
}

class TimeOutJobWithTransactionRollback implements ShouldQueue
{
    ...

    public function handle(): void
    {
        DB::transaction(fn() => sleep(999));
    }
}

There is also a event listener that will make DB rollback only for TimeOutJobWithTransactionRollback :
class HandleJobTimingOut
{
    ...

    {
        if ($event->job->resolveName() === TimeOutJobWithTransactionRollback::class) {
            DB::rollBack();
        }
    }
}

So you can try for example:
\Bus::batch([new TimeOutJobWithoutTransactionRollback(), new TimeOutJobWithoutTransactionRollback()])
    ->allowFailures()
    ->dispatch();

and that will reproduce the mentioned issue. Then you can try:
\Bus::batch([new TimeOutJobWithTransactionRollback(), new TimeOutJobWithTransactionRollback()])
    ->allowFailures()
    ->dispatch();

and the issue is solved with the rollback.
So, this PR resolve #48392.

This doesn't really fix the issue. It just adds an event which the developer then has to listen to (in every Laravel application that uses batches?) to fix the issue themselves. I think we should try to address the root issue.


IP with 0, get shifted

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
The link preview and get to do the check might be wrong when a 0 is inside the IP address use as padding
👟 Reproduction steps
Using the HTTP Keyword functionnality
If the IP is entered with a 0 like <IP_ADDRESS> it will look <IP_ADDRESS>
👀 Expected behavior
should get from <IP_ADDRESS>
😓 Actual Behavior
<IP_ADDRESS>
🐻 Uptime-Kuma Version
1.17.1
💻 Operating System and Arch
Docker
🌐 Browser
Brave current
🐋 Docker Version
No response
🟩 NodeJS Version
No response
📝 Relevant log output
No response

It might be a bug from the browser.

It is expected.
With leading zero, it is octal. 010 = 8
Make your simpler, don't use leading zero.


[Feature Request] Installation and renewal for Exchange Servers

Hello!
I just tried out your windows client which works fabulously! Thanks alot for this!
I was wondering if it would be possible to add the installation and renewal procedures for Exchange Servers. It would be nice to be able to get a single clic solution to configuring this.
Do you have experience with Exchange servers? Would you be able to integrate such a feature in your Let's Entrypt Client?
Thanks alot for your answer! :smile:

Right now you can run the app manually and generate the certificate. Then you could do something like in https://github.com/Lone-Coder/letsencrypt-win-simple/issues/55#issuecomment-173594059 to write a script to install it, or @angryhussord, https://github.com/Lone-Coder/letsencrypt-win-simple/issues/141#issuecomment-187213858, is going to work on adding steps to the Wiki for Exchange certificates.

https://github.com/Lone-Coder/letsencrypt-win-simple/wiki/Using-letsencrypt-win-simple-to-create-a-SAN-certificate-for-Exchange-2016

I moved it to https://github.com/Lone-Coder/letsencrypt-win-simple/wiki/Create-a-SAN-certificate-for-Exchange-2016


Add XCP-NG 7.5 support for 4.11.2

ISSUE TYPE

Improvement Request

COMPONENT NAME
Hypervisor Support

CLOUDSTACK VERSION
4.11.2

SUMMARY
Add support for released XCP-NG 7.5
https://xcp-ng.org/download/
STEPS TO REPRODUCE

Here is already prepared to add XenServer 7.5:
systemvmtemplate: new 4.11.2 template and fixes #2799
So I think it would be the correct place to add XCP-NG 7.5 with that commit, too?
XCP-NG 7.4 was introduced here:
https://github.com/apache/cloudstack/blob/5a1f25ae4507693abf52ef1db528677590f38548/engine/schema/resources/META-INF/db/schema-41100to41110.sql#L91

Added upgrade path here for <IP_ADDRESS> to add support for XS 7.5 which also adds supports for XCP-NG 7.5: https://github.com/apache/cloudstack/pull/2799/commits/5746d3d0501e65df68874dfad1df10362a445cd6


Implemented short name validation changes

Implements #103

[x] Max length for short name is 16 chars
[x] Allow hyphens in short name (but not at the start and end)

@Nagelfar that sounds like a good idea. I would like to introduce that in a structured way though and also consider other places in backend where this would make sense. Therefore I suggest adding / improving server-side validations in a separate issue.


[Update] Lightning-Terminal Update to v0.6.2-alpha, WebUI for Loop Out has issues in current version

Update the Lightning Terminal to v0.6.2-alpha in 1.7.2
The currently used version in 1.7.1 sets a too low MaxMinerFee, leading to failed loop outs
The CLI still works, as one can override the setting there
Relevant Issue

good timing https://github.com/lightninglabs/lightning-terminal/releases

updated ok to v0.6.3 just by changing the version number, but it doesn't accept my password_B

Test worked. Closing for release.


Documentation of the master wrapper

Obviously, the ethercat lib API should be documented; most methods will be very similar to one found in the C library.

I opened PR #43 to propose some documentation, copied from the C library for now, but eventually to be reworked


Add a simple torch native attention backend

Motivation
Add a torch_native attention backend, which only relies on PyTorch native operations and fully bypass triton and flashinfer.
This backend can be used for debug or as an reference impl for devices that not support triton/flashinfer.
Modifications

Checklist

[ ] Format your code according to the Contributor Guide.
[ ] Add unit tests as outlined in the Contributor Guide.
[ ] Update documentation as needed, including docstrings or example tutorials.

@merrymercy Hi, could you help to trigger the test workflow and review?

https://github.com/sgl-project/sglang/pull/2269 adds you as a new contributor so your future commits will trigger CI automatically

#2269 adds you as a new contributor so your future commits will trigger CI automatically

Many thanks!

@YangQun1 The score is much lower than a normal value https://github.com/sgl-project/sglang/actions/runs/12102594735/job/33743857634?pr=2241#step:4:1790


Unable to send a comment via deepLink

https://raendom-backend.z52da5wt.xyz/comment/api/ 500
popup.js:41 SyntaxError: Unexpected token o in JSON at position 0

How can this be reproduced?


Optimize random access

Fetching individual components currently requires hitting the hash table that maps component types to columns every time. For applications which do large amounts of random access for the same component types (e.g. rapier) this is redundant. We could optimize this case by precomputing an archetype -> column offset mapping for a given type up front, in a helper that borrows the World and hence will be disposed before any spawns might invalidate it. This would also allow us to perform dynamic borrow checking only once.
Implementation outline:
impl World {
    fn column<T: Component>(&self) -> Column<'_, T>;
    fn column_mut<T: Component>(&self) -> ColumnMut<'_, T>;
}

struct Column<'a, T> {
    entities: &'a [EntityMeta],
    archetypes: &'a [Archetype],
    archetype_column_offsets: Vec<Option<u32>>,
    _marker: PhantomData<T>,
}

impl<T> Column<'_, T> {
    fn get(&self, entity: Entity) -> Result<&T, ComponentError>;
}

It might also be worth cacheing the column offset tables, rather than computing them on-demand. A TypeIdMap<Vec<Option<u32>>>, updated whenever a new archetype is added or an existing archetype is realloced, would do the trick.

Implemented in #206.


Updated names.txt with Moronkeji Boluwatife

Please I am sorry for all the trouble we have caused you but count it all joy. Your PR is about to be merged and you will be able to see your name on this url.
To enable me to do this, READ the README again carefully, update your code with the latest and push the update. I am here for you for the next 6 hours before I close the PR so you can initiate a fresh PR which will be easier to merge.

Hi Boluwatife!
Please open a new PR! Remember to make a branch as you work on your changes!
We look forward to merging your next PR! :partying_face:

Hello, I already sent another and it has been merged by Setemi.
On Tue, 16 Aug 2022, 04:21 Tobi Balogun, @.***> wrote:

Hi Boluwatife!
Please open a new PR! Remember to make a branch
https://github.com/Oluwasetemi/altschool-opensource-names#make-a-branch
as you work on your changes!
We look forward to merging your next PR! 🥳
—
Reply to this email directly, view it on GitHub
https://github.com/Oluwasetemi/altschool-opensource-names/pull/281#issuecomment-1216097719,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AY4JCAVVHW33336X35T67STVZMCNNANCNFSM56F2YXJQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


rqt_multiplot_plugin: 0.0.8-0 in 'kinetic/distribution.yaml [bloom]

Increasing version of package(s) in repository rqt_multiplot_plugin to 0.0.8-0:

Holding for build.ros.org maintenance to complete: https://status.ros.org/


introduce wallet store, decoupling of account user's data (name, starred,..) from the account's blockchain data

✅ Checklist

[x] npx changeset was attached.
[x] Covered by automatic tests.
[x] Impact of the changes:

all projects (LLD, LLM, CLI)
Add Accounts flow
State management of accounts (load / save of accounts in the app.json / llm's storage)
ordering of accounts
starring an Account feature (LLD)
Account name edition
Wallet API and its ability to send the user's account names
export to mobile feature (LiveQR)
account search by name

📝 Description
Goals
initial specification: https://ledgerhq.atlassian.net/wiki/spaces/WXP/pages/4574642221/move+Account+user+data+states+out+of+Account+model
The main goal is to make the type Account exclusively having "blockchain data" and no longer any "user data" fields. (example of user data field includes: starred, name, unit,... those are editable by the end user and typically can't be restored from the blockchain). By splitting these user data fields out, we simplify the logic of the Account[] lifecycle as well as allowing ourself a future where we can work on different ways to "export/import" user data (aka "wallet sync") more easily and no longer with data "nested" among the blockchain public/immutable data.
The fields that are dropped by this PR are:

Account#name
Account#starred and TokenAccount#starred

The secondary goal includes the modularisation of live-common by exporting all logic related to account name management as well as lifecycle of some account data that need the account.name to work (the UI logic for addAccounts, ordering of accounts, importAccounts). We have therefore created a library live-wallet to allow this modularization.
Backward compatible!
✅  There are no migration involved!

We have preserved the same app.json data. Which means the AccountRaw has now been touched. Instead, we have made that AccountRaw will be split into two parts: Account + AccountUserData

this is why you can see in the code that we have moved from
DataModel<AccountRaw, Account>

to
DataModel<AccountRaw, [Account, AccountUserData]>

To make this work, the underlying function toAccountRaw has been reworked to include a userData as a second parameter, as seen in the implementation:
decode: (raw: AccountRaw) => [fromAccountRaw(raw), accountRawToAccountUserData(raw)],
encode: ([account, userData]: [Account, AccountUserData]): AccountRaw => toAccountRaw(account, userData),

live-wallet breakdown
The live-wallet library currently includes:

liveqr: all the logic around the "live qr" which is this animated qr code that we today uses to scan-import accounts from desktop to mobile app

cross: it's under "liveqr" because it's only needed for this. (historically was in live-common)
importAccounts: the high level logic (used by the UI) to do the import accounts (during the qr scan) (historically was in live-common)

ordering: manage the account sorting logic (historically was in coin-framework)
accountName: manage the logic around account name defaulting and validation (historically was in coin-framework)
addAccounts: manage the logic used by the Add Accounts flow to deduplicate, rename and import accounts in the model (historically was in live-common)
store: export a reducer, actions and other logic to create a store that contains the wallet data (currently have accountNames and starredAccountIds)

Main library changes
Each time we used to be able to do account.name or account.starred we will no longer be able to access it as a simple field. Instead, the data needs to be looked up from the "WalletState" store.
So code like
const name = account.name

will be replaced by one of these (depending on the context)
const name = accountNameWithDefaultSelector(walletState, account) // if you have walletState in context, (typically in the logic side)
const name = useAccountName(account) // if you can afford a React hook (typically in the UI side)

If you only need the "default account name", you can also use
import { getDefaultAccountName } from "@ledgerhq/live-wallet/accountName";
const name = getDefaultAccountName(account);

❓ Context

JIRA or GitHub link: https://ledgerhq.atlassian.net/browse/LIVE-11767 + https://ledgerhq.atlassian.net/browse/LIVE-11768 + https://ledgerhq.atlassian.net/browse/LIVE-11769 + https://ledgerhq.atlassian.net/browse/LIVE-11956

🧐 Checklist for the PR Reviewers

The code aligns with the requirements described in the linked JIRA or GitHub issue.
The PR description clearly documents the changes made and explains any technical trade-offs or design decisions.
There are no undocumented trade-offs, technical debt, or maintainability issues.
The PR has been tested thoroughly, and any potential edge cases have been considered and handled.
Any new dependencies have been justified and documented.
Performance considerations have been taken into account. (changes have been profiled or benchmarked if necessary)

I don't see any feature flag in this PR. Also it is huge. Is it normal?

@aboissiere-ledger unlike a feature that we can easily activate / switch to, here we're talking about an architecture rework of the fundamental typings of Account with a rework of the stores, for these reasons yes it has a big impact in the codebase (but no impact for the users impact for the user) and to me it can't be feature flagged with the way feature flag works today (mostly on the UI components end).

closing in favor of https://github.com/LedgerHQ/ledger-live/pull/6796


Find All References - line numbers off by 1

The reported line number in Find All References is 1 less than the actual line number.
Repro:
Find all references on a symbol (Shift+F12).
Note the line number.

This is probably a perfect up-for-grabs issue, so I'm not going to fix it.

I'll pick this up

Fix : https://github.com/TypeStrong/atom-typescript/pull/816

Released : https://github.com/TypeStrong/atom-typescript/releases/tag/v8.1.0 :rose:


Can I use Suspense in production today?

Based on this:
https://reactjs.org/docs/concurrent-mode-suspense.html
I shouldn't.
but it seems like nextjs.org is already relying on it in some of their codebase
https://github.com/zeit/swr/issues/119
Could anyone provide some input?

We do consider any use of Suspense for data fetching experimental today. It happens to work in stable releases to an extent, but it's not a documented stable API, and we may sometimes break it. (We'll try not to though.)


Radio button returns always "on"

Selecting "type": "radio"  doesn't work since it always returns "on".
It also cannot group the buttons in name, so created new field group and prototyped into CreateFrom.js as below.

else if(field["type"] === "radio"){
let group = field["group"]
fieldHtml = <input type="${field["type"]}" class="form-control" id="${key}" name="${group}" value="${field["label" checked="false"]}" ${field["required"]? "required":null}>;

I suppose it needs some works for json parsing on Config.js. Is there a plan for that?

Hey! Thanks for creating the issue! This is deffinetly something that needs to be added.
Since radio buttons are different from most of the other inputs, we need to implement some kind of condition in lib/CreateForm.js
I think we can do something similar to the select were each button is an option. This way we can use the same format in the CLI command using options and type radio.


Abandoned Project?

Apologies for this issue, but I'm not sure what else to do.
I love Yakyak; it has a bunch of features that aren't available elsewhere and I rely on them.  That said, I've seen a pile of bugs that have been un-addressed for a while.  Images not showing up, for example -- that's a big one. I've looked at the file and PR history.  The last PR has been open for nearly 2 months.  Most of the code has been untouched for 3 months or longer.
So I have to ask: is this an abandoned project?  I understand that Google has killed Hangouts in favor of Chat.  I'm certainly not going to blame anyone here.  But if there are no plans to move forward on yakyak than this might be the final straw before I move to Discord altogether.
What are the plans for Yakyak?  Or should I start looking for alternative answers?
For those who contributed: thank you.  My development background didn't really fit this project, but I appreciate you all.

I would like also to add a vote in the hopes someone takes up yakyak again to work with g-chat. I do use discord, but many older folks I know find discord too difficult to setup and use(yes even with how simple it is)
Really hope someone can make yakyak work again.

Please someone pick this up.

I've found https://github.com/ankurk91/google-chat-electron is a decent replacement but not exactly as good as YakYak was. If you get a sign-in error, the fix is here: https://github.com/ankurk91/google-chat-electron/issues/52

Unfortunately, that project is also now abandoned. It will no longer open on MacOS 12.6.1.

Pinging @averissimo and @maxkueng as Organization members:
Fancy to post the project to https://adoptoposs.org ?


Request open source app

I really like this blog. But i cannot find my desire app which called Contact.  Because i want to create a sample app which similar to contact app. I have been searching for a few days but nothing found. The reason i want to that app because i want to make sure when user add new input. I want that data display in specific section like user input name that starts with A then that name should be saved in A section and so on... I wonder how can i achieve something like this?
Thank for your help.

Hi there, not sure we can help you here.
Sent with GitHawk


"Unknown block expression"

I got the following error while trying to use nabla.nvim to preview a block math equation:

The latex content in a  quarto qmd file is:
$$
\begin{alignat}{1}
\overline{ \boldsymbol{\hat{y}}}
&=
\bigg(\frac{\partial \mathcal{L}}{\partial\boldsymbol{
\hat{y}}}\bigg)^\top
\overline{\mathcal{L}} \\
&=\big(J_{g(\boldsymbol
{\hat{y}} ,\boldsymbol
{y})\text{ w.r.t }\boldsymbol
{\hat{y}}} \big)
^\top \overline{\mathcal{L}}
\end{alignat}
$$

...which is expected to be rendered like this:

im also having the same issue while using \begin{gather}, so the error is like "Unknown block expression gather"


AntiDragPlugin: Fix crash on pressing reset

Fix crash when pressing reset and change drag delay to milliseconds to match other plugins

Do you have a stack trace or description of this?

Error: https://hastebin.com/sicowudive.sql
Gif:

Fixed in df10ebbbe2055fe718fe3539ac2f61567e7b4999


one of the mount occasionally crash

i'm using bash script to run mount at startup :
#!/bin/bash
google-drive-ocamlfuse -o allow_other -label storage01 /var/www/web1/media/videos/
google-drive-ocamlfuse -o allow_other -label storage02 /var/www/web2/media/videos/
but occasionally one of the mount crash after 2-3 hours while new video been uploading
i make cronjob to check every 5 minute
*/5 * * * * /usr/local/bin/checkstorage01.sh
*/5 * * * * /usr/local/bin/checkstorage02.sh
but cronjob cant restart my server, the bash script checkstorage01.sh :
#!/bin/bash
if [ ! $(find /var/www/web1/media/videos | wc -l) -gt 1 ]; then
reboot
fi
my question is :
Do you know the easy way to remount automatically if one of the drive crash when mounting?

If the google-drive-ocaml process hangs, you should kill it with -9, then run fusermount -u [mountpoint].

i'm sorry but can you give me example how to mount 2 drive at once using fusermount -u [mountpoint] and how to make it function like this :
google-drive-ocamlfuse -o allow_other -label storage01 /var/www/web1/media/videos/
google-drive-ocamlfuse -o allow_other -label storage02 /var/www/web2/media/videos/
please help.


Beta1

Codecov Report

Merging #4 into master will increase coverage by 0.55%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master       #4      +/-   ##
==========================================
+ Coverage   98.48%   99.03%   +0.55%
==========================================
  Files           3        4       +1
  Lines          66      104      +38
==========================================
+ Hits           65      103      +38
  Misses          1        1

Impacted Files
Coverage Δ

src/service/cookies.service.js
100% <100%> (ø)

src/index.js
94.11% <100%> (+3.2%)
:arrow_up:

Continue to review full report at Codecov.

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


Show update information on the about page

Closes https://github.com/atom/about/issues/1
@simurai whipped up some static UI for this last week, and I started on wiring it up (with some foundational work in https://github.com/atom/atom/pull/10675 ) while I was first responder last week. Unfortunately I didn't get beyond a spike at that time, but here's what was in my working copy this morning :) I'm going to work on something else this week, but these are here for future core team members on bug rotation, community folks, or most likely me to pick up and finish in the hopefully near future. There are extensive mockups in a private design repo, but it's pretty self-explanatory if you look at what's in the UI that Simon added here.

We can post a screenshot here too:

Also, the "Automatically download updates" toggle could also be implemented in a second step/PR.

@thedaniel Does this mean that this depends on #10675 to work? Did you want to finish that up first? I was thinking of taking a look at this this week.

@mnquintana yep, it needs https://github.com/atom/atom/pull/10675 or something like it to work - I can finish that up but I'm working on another project for a few days first.

@mnquintana If you wanna take this and https://github.com/atom/atom/pull/10675 on, they're all yours!
Let us know if you get stuck or don't have the time and we can pick them back up.

@simurai - Awesome job with this new UI, looks great!
One thing I noticed is that we may not be able to display the information as you have it for the case of Manual updates.

Manual update
Info

2. When "Automatically download updates" is turned off, updates need to be downloaded manually.  Atom 1.4

The current autoUpdater Electron API is set up so that when you check for an update and there is one available the update is downloaded automatically.
So it looks like for the Manual Update we won't be able to provide information about a newly available update prior to downloading the update. We could maybe specify when the last update was downloaded and have a button for checking/downloading any new ones, since the two go hand-in-hand (assuming that an update is available).

So it looks like for the Manual Update we won't be able to provide information about a newly available update prior to downloading the update.

Not sure if it's outside of the scope of these changes, but you could get this information by hitting the mac & windows update endpoints directly and checking the version numbers.

Ah, good point. Thanks for pointing that out @thedaniel.

If "Manual Update" needs a lot of work, or some new APIs are needed, we could keep this PR to "Auto Update" only. Basically remove the checkbox from the UI. And then maybe add the "Manual Update" as a new feature later.
I think the main use case for "Manual Update" is when you're on the go and don't want Atom to eat into your (expensive) data plan or so. You probably could already block Atom with an app like https://www.tripmode.ch, so maybe not too urgent. I just remember that it came up in Discuss, I think.. /cc @lee-dohm

Regarding reasons for not wanting to automatically update: https://github.com/atom/atom/issues/1882

As @kuychaco mentioned, there are a bunch of things defined in the designs that are not supported by electron / squirrel. Here's what it does:
When you are on a dev build or in linux you will see this:

In the idle state, when there has been no update checked for, you will see this:

And if you uncheck the autoupdate box:

When it's checking for an update:

And when it's downloading an update we dont have any information about the thing it's downloading. So all we get is this:

Then if it's up to date:

And if there is a new version that can be installed. You will see this:

TODO:

[ ] Fix lint errors in specs
[ ] Make sure my assumptions for version information coming back from electron on downloaded are correct

In the idle state, when there has been no update checked for,

Would it be too much to automatically "Check for update" every time you open the About page? Then there wouldn't be an idle state. After checking it's either "up to date", "starts downloading" or "update available for manual download".

Note: Restart to install still does not work on Windows (see https://github.com/atom/atom/issues/6612#issuecomment-187576294)

Would it be too much to automatically "Check for update" every time you open the About page?

Nope. Added that when auto updates are turned on. For manual updates, they will still need to manually click the button.

One idea I had for this flow that would be awesome to see added would be to:

Check for newer commits on master if using a dev build of Atom, and notify the user that they're behind (and how far they are behind?)
Check for newer releases on Linux and link to the appropriate download (until we have proper auto-update support on Linux)

One idea I had for this flow

Definitely would be cool to add those things at some point. For now, I really want to get this out and working. The current squirrel icon pointing to the atom.io release notes page is pretty confusing, and this should be a big help.
I think this is ready. When https://github.com/atom/atom/pull/10675 is merged, this can be as well.

@benogle

When you are on a dev build or in linux you will see no update UI

It would be awesome if on linux it still checked for updates, and provided the link to Github releases page if there is one.

It would be awesome if on linux it still checked for updates, and provided the link to Github releases page if there is one.

Definitely could be an addition to this, but is not on our radar at the moment.

Should I file a bug?


Feature request: Add fateseal option

701.20a
To “fateseal N” means to look at the top N cards of an opponent’s library, put any number of them on the bottom of that library in any order and the rest on top of that library in any order.

ok this might be more complex than I thought.  You can't assign scripting actions to opposing piles, so you'd need to run the action on the table (or your own library which would be super gross), then have a popup to select the player you're fatesealing.  I think at that point it's quicker to just look at the top card of their library through the built-in menu option, then saying in chat where to move it

The problem with saying in chat where to move it is that your opponent sees the card, which is not how fateseal works.

And running the action on the table actually isn't counterintuitive.

So the fastest option is taking control of your opponent's library, scrying, then giving back control of their library.


added footer section to the website

Pull Request for WebMasterLog 💡
Issue Title: Adding a footer to the website

Name of the project :

Name:  Mani Yadla

GitHub ID: YadlaMani

Idenitfy yourself: GSSOC

Closes: #142
Describe the add-ons or changes you've made 📃
Added complete footer section
included social links,and repo links
Give a clear description of what have you added or modifications made
Type of change ☑

What sort of change have you made:

[X] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[X] Code style update (formatting, local variables)
[X] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[X] This change requires a documentation update

Checklist: ☑

[X] My code follows the Contributing Guidelines & Code of Conduct of this project.
[X] This PR does not contain plagiarized content.
[X] I have performed a self-review of my own code.
[X] I have commented my code, particularly wherever it was hard to understand.
[X] My changes generate no new warnings.

Screenshots 📷

Note to reviewers 📄

@YadlaMani For further communication and queries, join the discord server. https://discord.gg/tSqtvHUJzE


Fix missing return type annotation

This PR fixes a py-lint error where a function was missing its return type annotation.

@nikolausWest I found this issue when I was running the CI tests for https://github.com/rerun-io/rerun-ros/pull/1

Good catch!

@emilk thanks! :slightly_smiling_face:


Configuration changes for workspace persistence remotes

Differentiating between the notion of a compute remote target and a workspace persistence remote target. You may need to update your .hyperdrive config after this change.

Closing this, will open another that includes this


180 Cherry-pick v2 deprecations

What does this PR do?

Adds our changelog for v2.0.6 release to main branch
Updates our README with deprecations from v2 branch

What ticket does this PR close?
Connected to #180
Checklists
Change log

[x] The CHANGELOG has been updated, or
[ ] This PR does not include user-facing changes and doesn't require a CHANGELOG update

Test coverage

[ ] This PR includes new unit and integration tests to go with the code changes, or
[x] The changes in this PR do not require tests

Documentation

[x] Docs (e.g. READMEs) were updated in this PR, and/or there is a follow-on issue to update docs, or
[ ] This PR does not require updating any documentation

@izgeri metadata change only included a version bump to "v2.0.6" which we definitely don't want on master (since we moved past v2 on it)


receive_cb not called when sending 256 kB

We're trying to roll in the latest usrsctp into webrtc, and it is causing regressions in a PeerConnection unit test. I did a bisect and found the commit that causes the failure: https://github.com/sctplab/usrsctp/commit/be8e0ebaed64508599086f5c5795e13dace9e308
What's happening is the data comes in chunks via the callback (see logs below), but we never get a callback for the final chunk. This callback (hooked up via receive_cb) code is here.
The test being run is PeerConnectionEndToEndTest.CreateDataChannelLargeTransfer.
I added the custom logs (see my change). Here's the files which includes just the relevant parts:

logs_before_commit.txt
Broken logs_after_commit.txt

The test that is breaking is a pretty specific case. It is only when sending exactly 256 kB (1 less byte is fine). The other peculiar part is that it is only with a data channel created by the caller (PeerConnection that begins signaling) sending to its remote data channel. I made changes to the test and found that the other 3 possibilities (remote --> caller created, callee created --> remote, & remote --> callee created) do not fail.
I'm hoping that someone who is familiar with the library can quickly identify what caused this regression and we can make a fix. Thank you for your help.

@lgrahl Maybe you know who is best to look into this. Thanks!

Can you provide a pcap file of the SCTP packets for both cases (broken and working)?

Yup!
https://drive.google.com/drive/folders/1bzcKv9uwMYPh5qEkufKyrodMOY1TjOIV?usp=sharing

Has anybody given this a look? This is part of a merge requirement for chromium.

Has anybody given this a look? This is part of a merge requirement for chromium.

I looked at the .pcap files. They look strange... It seems that every packet is included at least twice, but with different IP addresses... So what stack are you using? I seems that you provide faked lower layers. Please just provide the SCTP packets, preferable with direction information. The usrsctp_dumppacket() provides everything you need to process with text2pacp to generate a .pcapng file without faked headers.
Are you able to reproduce the problem with a simple test program? I can try to play a bit with a tsctp tomorrow to see if I can recreate the problem.

The test I noted in the issue is the most simple repro I've made so far. I was able to debug the issue in wire shark with fake wrapped UDP headers and found that the very last DATA packet sent is missing the EOR bit being set. Before the culprit commit (success pcap) this bit is set. Is there an API change or reason that this isn't getting set?
Here are the raw SCTP pcaps:

broken.pcapng
success.pcapng

In the drive folder I added the corresponding UDP fake header wrapped dumps as well.
Thanks a lot for looking into this @tuexen I appreciate it!

@shampson I assume you log the SCTP packets using usrsctp_dumppacket(). Is that correct?
If that is correct, assume the logging output is in a text file with name file.log. Then do
grep SCTP_PACKET file.log > sctp.log

to generate a text file which contains only the textual description of the SCTP packets. To convert this to a .pcapng file, run
text2pcap -n -l 248 -D -t '%H:%M:%S.' sctp.log sctp.pcapng

The file sctp.pcapng should be readable by wireshark, contain the direction information, and all packets are detected as SCTP packets without further action. There are also no faked headers.
text2pcap is delivered with wireshark.
Can you provide .pcapng files, which are generated using the above commands?

@tuexen yes this is how I am generating the logs and filtering them. Looks like my text2pcap command was missing the -l 248 flag to specify the link layer header type:
text2pcap -t "%H:%M:%S." -D -n filtered_broken.log broken.pcapng

Success, adding this flag worked! Thank you!
Here are the updated pcapng files:

before culprit commit: success_sctp.pcapng
after culprit commit, which is missing EOR in last DATA packet: broken_sctp.pcapng

Note, the reason you are seeing duplicate inbound and outbound packets is because this is a test that connects two PeerConnections locally, so it is logging both inbound & outbound in the same test.
It's the last outbound DATA packet that you can see is missing the EOR bit. We depend on this bit as of this change from about a year ago:
https://webrtc-review.googlesource.com/c/src/+/88900

@shampson OK. The tracefiles are very good now. Thanks for updating them.
Both tracesfiles show 223 DATA chunks carrying 1172 bytes of payload each. This makes 260184 bytes. The last transmitted DATA chunk in the good case carries 788 bytes of payload (and the last fragment marker), which results in 260972 bytes of payload. How does this relate to your statement of sending a user message of 256 kB?
The bad tracefile shows that the last transmitted DATA chunk only carries 787 bytes (one byte less than in the good case). So if you are sending in both cases a user message of the same size it seems OK the the last fragment marker is missing, since there is one byte missing.
So the question is why is there a byte missing?
I have two questions:

What is the length in bytes of the user message you are sending?
Are you calling usrsctp_sendv() once for a user message or are you using the explicit EOR mode and are calling it multiple times?

@shampson Since you nailed down the problem to https://github.com/sctplab/usrsctp/commit/be8e0ebaed64508599086f5c5795e13dace9e308, could you test with a version which includes all changes from that commit except the changes in sctp_output.c? I would expect that the test case works in this case based on looking at the changes...
My current guess is that the problem is related to the change in sctp_output.c, which replaces:
if (non_blocking) {
        /* we already checked for non-blocking above. */
        max_len = sndlen;
} else {
        max_len = SCTP_SB_LIMIT_SND(so) - inqueue_bytes;
}

by
max_len = SCTP_SB_LIMIT_SND(so) - inqueue_bytes;

but I'm not sure. So it would be great if you could figure out if that is true or not...

@tuexen to answer your question, we are calling it once for a user message of size 256 * 1024 (done here.
Thanks a lot for investigating this Michael! I tested without the changes to to sctp_output.c and you are correct, is what causes the problem.

Can you also apply the changes to sctp_output.c, but change back the setting of max_len to the old version. In other words: Am I right that the problem is caused by the change I highlighted above?

I don't follow, what old version are you referring to for the changing the setting of max_len?
I think the change you highlighted above is the culprit, given that when I remove this change the culprit commit now passes the test.

OK. Thanks for the clarification. Will try to figure out why this is going wrong.

@tuexen Thank you!
To clarify these are the results of running the test with culprit commit https://github.com/sctplab/usrsctp/commit/be8e0ebaed64508599086f5c5795e13dace9e308:

Normal case: Failure
sctp_output.c reverted one commit back: Pass
Remove sctp_output.c max_len highlighted change : Pass

So yes, it looks like the max_len change is the culprit for that missing byte.

@shampson OK. Thanks for the clarification. I tried to reproduce the issue locally but was not successful. I would like to understand what is going wrong instead of just reverting the change.
Would it be possible for you to run the test with additional debug output and provide that?

@tuexen Yes, are you referring to debug output from the sctp lib when running the test?

@shampson I'm referring to that and to potentially additional output I would provide a patch for... If that is possible, it would be a great help. I'll try to bring up a patch with additional output, just this week being very busy with my day job...

Okay, here are the logs from the isolated test case:

sctp_lib_debug_broken.log

one commit behind the culprit commit

sctp_lib_debug_success.log

same commit, but incorporating the breaking max_len change in sctp_output.c

Let me know about the patch with additional output. Thanks again for looking into this!

Hi tuexen, I have added a minimal pull request to address the issue. I traced back the issue into FreeBSD and I am a little concerned about going with this fix given that this issue was originally intended to address a fuzzing issue.
I think the best next steps here are to understand why this change in max_length was added in the first place and whether we need more safeguards around its calculation to prevent overflow etc.

@shampson Aren't you using the explicit EOR mode? I think you enable it in sctp_transport.cc:752. If that is true, then you don't check the return value of usrsctp_sendv() whether the whole message has been accepted by the SCTP stack or not in sctp_transport.cc: 559.
So here is what I think is happening based on the debug output you provided (thanks a lot for that):

Your send buffer size is 256 * 1024 = 262144.
You send the ACK message of the data channel establishment protocol, which has a length of 1 byte. This is sent and buffered for potential retransmissions.
You send a user message of 262144 bytes. Since there is only space for 262144 - 1 byte, the whole message doesn't fit. Since you enabled the explicit MSG_EOR mode, usrsctp_sendv() calls are not atomic anymore and the SCTP stack accepts what it can accept, which is 262143. I assume that this is the value returned by by usrsctp_sendv(). You should be able to verify that by adding debug output for that. Since the SCTP hasn't accepted all bytes, it assumes that the application will call again usrsctp_sendv() with the last byte and the MSG_EOR flag set.

So the SCTP stack did what it is told to do. The problem is in the application telling the stack one thing (requesting non-atomic usrsctp_sendv() calls) but is behaving differently (assuming usrsctp_sendv() calls).
Why does it show up after my change? Before my change the SCTP stack was not honouring the socket buffer size for non-blocking sockets just accepting the whole message. So the usrsctp_sendv() calls where actually atomic for non-blocking sockets even if they should not.
The fuzz tester was providing extremely large messages (which were accepted) and drove the kernel into an out of memory situation. This was fixed by actually honouring the send buffer limit, but resulting in the fact the usrsctp_sendv() are actually non-atomic when allowed. This what the bug in the application code is not hidden anymore.
To fix this, you need to decide whether you want to use non-atomic usrsctp_sendv() calls or not.
What do you want? Based on that, I can provide some hints how to fix the code in sctp_transport.cc.

Jeroen de Borst enabled explicit EOR mode on the way to https://bugs.chromium.org/p/webrtc/issues/detail?id=7774, probably due to confusing MSG_EOR with the explicit EOR mode when sending.

@lgrahl what bottom two changes can be reverted? Do you mean remove setting the explicit EOR mode for usrsctp_sendv() as well as usrsctp_setsockopt()?
This is my understanding, please correct me if I'm wrong. There are 3 places EOR was introduced in that change from Jeroen.

MSG_EOR: Checking EOR on the receive side in order to to coalesce messages and get one callback from one send() call at the webrtc API level.
SCTP_EXPLICIT_EOR: Setting EOR explicitly as a socket option, meaning we need to explicitly set this on or off when sending messages.
SCTP_EOR: Set as a send flag with usrsctp_sendv

Sounds like we can remove #2 & #3, and still check for the EOR set on the receive side (#1) to coalesce? This would mean sending is now atomic and it would return -1 and block when trying to send in the same scenario? I can incorporate these changes and test tomorrow.

@lgrahl You are right.
@shampson You have to distinguish the send path and the receive path. One the receive path you have always to check for MSG_EOR since partial delivery can almost always happen. You have no choice here. On the send path you do have a choice. The default is that send calls are atomic which limits the maximum user message size to the size of the send buffer. To overcome this limitation, you can enable the explicit EOR mode, which you do by calling the the SCTP_EXPLICIT_EOR socket option. Then you must set explicitly the SCTP_EOR flag when sending,  and the send calls are not atomic anymore.
I hope this clarifies things...

@shampson Yes. However, that being said, considering that you use the default buffer size of 256 KiB and the user application sends messages of size 256 KiB, I'd assume atomic sends would be detrimental to throughput since you constantly jump between buffer completely dry and buffer completely full. Please, correct me if I'm wrong on this, @tuexen.

Thats not strictly true.
Consider an app  that

sends 256k
ack’s arrive that open the window (this should give a wakeup say at 128k ack'd)
The app then try’s to send the next 256k, but the return is only
going to give you what was available i.e. 128k which means that this record
is not completely sent you must restart at 128k in.
More acks arrive (again lets say another 128k) which should cause
The app to retry its last 1/2 of the message.

Now I am not familiar with the user stack and your options, I know in kernel land
you can set your “wakeup when I have send-space” what is termed lo_water to
some value.. the default is 1 byte…
If I set it to 256k then what you say is true, you would not be awoken until
you had a full message space available… but one would hope you would not do
that so you could keep the buffer relatively full :)
R

On Aug 22, 2019, at 5:00 AM, Lennart Grahl<EMAIL_ADDRESS>wrote:
@shampson Yes. However, that being said, considering that you use the default buffer size of 256 KiB and the user application sends messages of size 256 KiB, I'd assume atomic sends would be detrimental to throughput since you constantly jump between buffer completely dry and buffer completely full. Please, correct me if I'm wrong on this, @tuexen.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Randall Stewart
<EMAIL_ADDRESS>

Thats not strictly true. Consider an app that 1) sends 256k 2) ack’s arrive that open the window (this should give a wakeup say at 128k ack'd) 3) The app then try’s to send the next 256k, but the return is only going to give you what was available i.e. 128k which means that this record is not completely sent you must restart at 128k in.

That is only true if the user has enabled the explicit EOR mode. Only in that case send() calls are not atomic.
So I think @lgrahl is referring to the case where the explicit EOR mode is disabled and therefore
suggests to enable it. Then it will work as you describe.

More acks arrive (again lets say another 128k) which should cause 5) The app to retry its last 1/2 of the message. Now I am not familiar with the user stack and your options, I know in kernel land you can set your “wakeup when I have send-space” what is termed lo_water to some value.. the default is 1 byte… If I set it to 256k then what you say is true, you would not be awoken until you had a full message space available… but one would hope you would not do that so you could keep the buffer relatively full :) R
…

Ahh I thought from the discussion we were talking about EOR mode on..
R

On Aug 22, 2019, at 11:45 AM, Michael Tüxen<EMAIL_ADDRESS>wrote:
Thats not strictly true. Consider an app that 1) sends 256k 2) ack’s arrive that open the window (this should give a wakeup say at 128k ack'd) 3) The app then try’s to send the next 256k, but the return is only going to give you what was available i.e. 128k which means that this record is not completely sent you must restart at 128k in.
That is only true if the user has enabled the explicit EOR mode. Only in that case send() calls are not atomic.
So I think @lgrahl is referring to the case where the explicit EOR mode is disabled and therefore
suggests to enable it. Then it will work as you describe.
• More acks arrive (again lets say another 128k) which should cause 5) The app to retry its last 1/2 of the message. Now I am not familiar with the user stack and your options, I know in kernel land you can set your “wakeup when I have send-space” what is termed lo_water to some value.. the default is 1 byte… If I set it to 256k then what you say is true, you would not be awoken until you had a full message space available… but one would hope you would not do that so you could keep the buffer relatively full :) R
…
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Randall Stewart
<EMAIL_ADDRESS>

Ahh I thought from the discussion we were talking about EOR mode on.. R
…

The problem is that Chrome enables the explicit EOR mode with a socket option, but does not handle non-atomic send calls...

@tuexen yes I understand, and thank you for the clarification. Handling the EOR on the receive side is fine, but send side needs to change.
We have 2 options.

Atomic send- remove explicitly setting the EOR bit when sending. I tried this and it immediately fixed the issue. The downside, as called out, is that this means waiting for a completely empty buffer before sending a message of the max size.
Explicitly set the EOR bit when sending.  We can partially buffer what wasn't sent if sctp lib can't immediately take the entire message. I see two options here:
a. Buffer at PeerConnection data channel level. The issue here is that this would change webrtc public API (DataChannelObserver::OnBufferAmountChanged), as well as the webrtc internal API that assumes that this call is atomic -SendData(). I couldn't see in the spec if the WebRTC data channel expects the buffer size to decrease by entire message size, but I assume some dependencies rely on this behavior.
b. preferred Update the sctp library adapter (sctp_transport.cc) to buffer. This would keep all higher level interfaces the same and not break anything. I'm going to work on this fix and see if I can fix the issue.

@lgrahl - if we did go with option 1 above, while I agree that this would not be optimal throughput, would this necessarily be a regression on throughput? The library already assumes that this is atomic.

Agree that going with 2b) would be best. If you could use a reference implementation, there's the one in Firefox and in RAWRTC (they look similar since the one in Firefox was ported from RAWRTC).

would this necessarily be a regression on throughput?

In theory, if someone uses 256 KiB messages. I'd imagine, most still use 64 KiB. With the RTCSctpTransport.maxMessageSize interface now implemented, you'll have to expect more to jump on 256 KiB. But only testing (with an RTT way above 0) could tell. :slightly_smiling_face:

I think this issue can be closed with the fix. Thanks again for all the help debugging!

For info - I added that test when checking that we could actually send and receive the messages we were signalling as max message size. Nice to see that it uncovered a regression!


Update README.md

Description

Update the README.md (nitpick) to have consistent code formatting in list.
Some list items were wrapped in code but others were wrapped in 'quotes'

Type of change
Checklist

[ ] I have added a changelog entry, prefixed by the type of change noted above (Documentation fix and Test update does not need a changelog as we do not publish new version)

Thank you for catching this!


Pass http_proxy to the AWS client options

Description
Adds passing http_proxy: ENV['http_proxy'] to create_aws_interface so it gets passed to Seahorse::Client and the request can traverse a proxy.
Downloading a file works fine without it, since it's just using the AWS SDK to generate a presigned URL which is then passed to remote_file which simply utilizes net::http which will utilize the http_proxy environment variable if it not explicitly set to nil.
https://github.com/chef/chef/blob/master/lib/chef/provider/remote_file/http.rb#L65
The problem is that on a second run, it attempts to retrieve the S3 key etag to check the against the local file md5 hash at
https://github.com/chef-cookbooks/aws/blob/master/resources/s3_file.rb#L77
It is within this call that it utilizes the AWS SDK to retrieve the etag, that eventually makes it to AWS::Seahorse::Client::NetHttp::ConnectionPool where http_proxy is explicitly set to nil so when it utilizes net::http to execute the request, it does not fall back to the proxy environment variables.
https://github.com/aws/aws-sdk-ruby/blob/v2.11.48/aws-sdk-core/lib/seahorse/client/net_http/connection_pool.rb#L19
Issues Resolved
Fixes #346
Check List

[ ] All tests pass. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD
[ ] New functionality includes testing.
[ ] New functionality has been documented in the README if applicable
[x] All commits have been signed for the Developer Certificate of Origin. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD

@tas50 Just wanted to ping you since it doesn't look like I can request a review.
It looks like the broken build is due to something else...I tried building master and I'm getting the same failure.

Looks like ChefDK 3.0.31 fixed the previous issue on the build, now it's just failing on what I'm assuming is some new cops with v3.

@tas50 Need anything else from me on this?


SP2-659 add "achieve goal" tests

e2e tests will fail here until https://github.com/ministryofjustice/hmpps-sentence-plan/pull/84 is merged.


Add support for Modal

What does this implement/fix? Explain your changes.
Adds support for running the evaluation harness on Modal Labs.
Adding a --modal flag to the normal run command will run the instances remotely rather than locally. The current images resolves ~290 tasks on Lite.
Benefits of running this way:

users don't have to set up their own infrastructure, everything runs in the cloud ☁
everything runs in parallel, so building and running larger numbers of instances is effortless. Lite builds and runs from scratch in 20-30min and should work out of the box
Modal's image caching is built-in and follows essentially the same layered abstraction as the images already in the repo

The only downside for now is that the images are slightly less reliable/well tested than the local images.

I am curious if Modal has the plan to fix the remaining 10/300?


请教如何关闭当前已打开的文件，但不关闭当前 buffer 呢

Feature description
刚接触 neovim，有些快捷键不太了解。如图这样的关闭当前文件，或关闭非当前文件有快捷键吗？

我试过执行
:q

:close

这几个都会将当前 buffer 关闭导致 nvim 退出。
另外这套配置有快捷键参考列表嘛，对萌新更友好一些
Additional information
No response

嗯啊，多谢解答~

I found that I could not use  to close the current buffer, it just did not have any response. However, I do can close the whole window using the key binding . I was quite confused about that.

I have tried to close the recent buffer using the keybinding <A-q>, but it just did not have any response. However, I can do close the whole window pressing <A-S-q>. I am quite confused about that.

I have tried to close the recent buffer using the keybinding , but it just did not have any response.

https://github.com/ayamir/nvimdots/blob/d425bfdc4f4d1f36d0ac1b452a58ef83f055ce20/lua/keymap/editor.lua#L23

However, I can do close the whole window pressing .

https://github.com/ayamir/nvimdots/blob/d425bfdc4f4d1f36d0ac1b452a58ef83f055ce20/lua/core/mapping.lua#L29

this is the current state of my key mapping settings

Looks like there is nothing wrong with the settings.

What u mean by "just did not have any response"? And what did u do before this (how to reproduce this)?

Sorry for the vague description.
'just did not have any response' means when I pressed <A-q>, it did not close the current buffer as expected.
To reproduce the results, the app I use is iTerm2, and my device is M1 pro macbook pro, first of all, I type nvim and opened several python files, when I was trying to close one of the files (I guess it is called 'buffer', so this action can be called 'close the current buffer'?) by typing <A-q>, I found that the current file was not closed. I also tried other key bindings like <A-S-q> to test whether my Alt key works, and it turned out that <A-S-q> do close the current window, which means my Alt key works well.

@Saton-anger Did you make any modifications to these files externally? Any move or deletion will invalidate the file handle held by the current buffer, leading to failures in closing such buffers.
Added to that, what you see when using :BufDel! in those buffers?

I had modified them with vscode. But when I saved the files, quit the vscode to make sure no external modificaitons to those files and reopen those files with terminal and nvim, I still can not close the current buffer using <A-q>, however, I can do close them using :BufDel! or BufDel.

Did you close this buffer (via <A-q>) in normal mode?

seems like this is the normal mode,

I tried to close the current buffer using <A-q> in this mode.

Does clicking on the close button of this buffer in bufferline help?

Actually it closed the whole window.

which means both of the two buffers were closed.

Hmm this is strange... Can you provide a complete repro (with detailed steps, including those corresponding files if possible)? I can't reproduce this with iTerm2.

And did u follow #344 to setup ur profile correctly?

This is the settings of my profile and I use the left option:

Thanks for the info! But a complete repro is still necessary, otherwise we don't know where the problem lies.

Ok, thanks. Should I open a new issue to proffer a complete repro?

That would be appreciated, cause this sounds like a bug somewhere.

OK, thanks again for your time.


Modrinth version 1.16.x list mc 1.20 and 1.20.1 as supported

Describe the bug
On modrinth the 1.16.1 and 1.16.2 versions of the mods list minecraft 1.120 and 1.120.1 as supported while at the same time listing origins 1.12 as lowest supported version which is available for mc 1.20.2 and later.
To Reproduce
Steps to reproduce the behavior:
Just make a 1.20 or 1.120.2 modpack on modrinth
Expected behavior
Not marking unsupported versions as supported to avoid accidental updates that make the mods not launch

Thank you for your Feedback.
I think the Issue is that I was using "1.20.x" in the dependencies for Minecraft, so it would also count versions earlier than 1.20.2
I will change that to >=1.20.2 so it only supports 1.20.2 and above.
Since Origins often updates with backwards compatibility in mind, it shouldn't be a problem to include newer versions as long as nothing OriginsTweaks uses goes deprecated in newer versions.


Support a setting so that the dialog box "Do you want to close all tabs?" can be set to never show again can be set to never show again

Description of the new feature/enhancement
 A dialog box pops up saying "Do you want to close all tabs?" when we have multiple tabs open. Pls add a setting so that we can set it to never show again. If a user does not want to see that dialog box again and again when having multiple tabs open and closing the terminal window, he/she can turn on the setting.
Proposed technical implementation details (optional)

Support a setting so that the dialog box "Do you want to close all tabs?" can be set to never show again can be set to never show again
Make sure that when it is on, the dialog box does not shows up and when it is off, the dialog box shows up.

Screenshot of the dialog box -

This already exists - search the docs for "closeOnExit": "always"
(On mobile, so I can't link this up nicely)

This already exists - search the docs for "closeOnExit": "always"
(On mobile, so I can't link this up nicely)

Yes, i found it, but I do not see an option in the ui. Do I have to set it through the json file?

This already exists - search the docs for "closeOnExit": "always"

This does not work when you close console with close button.

"confirmCloseAllTabs": false

"confirmCloseAllTabs": false

Yes, this worked.

This does not work.

You have this command to hide it:
"confirmCloseAllTabs": false

This should be added to the ui. My issue meant to add it and if this exists add it to the ui. Updating the title and the original post.

This should be added to the ui. Opening a new issue for this.

You have this command to hide it
"confirmCloseAllTabs": false

What does this have to do with my post about another parameter?

You have this command to hide it
"confirmCloseAllTabs": false

What does this have to do with my post about another parameter?

I meant that that command is for something else, you have to use "confirmCloseAllTabs": false to hide the dialog box.

My apologies for leading everyone astray. That's what I get for trying to triage at 3am.
With a baby sleeping on me.
On a saturday.
😅
Glad this got sorted out!


[WIP] [UI] Explorer: skip counting for expanding ui trees

pulled out of #11003
blocked: code working, blocked on business decision
We're running a number of queries to decide if we should display an "expand" arrow widget next to a lazy load tree entry.
With this PR, it gives admins the ability to take the hit for counting the records in the lazy trees, or improving performance and always displaying the expand arrows. Possibly even when there are no records to display.
At minimum, this saves 2 queries for the vm explorer.
For other cases that have a non optimized count mechanism, it saves downloading quite a few rows.
(before recent PR, this saved downloading all archived and orphans on vm explorer - 3k rows in my example) For other screens, it will be large as well. All depending upon the customer's data set of course.
before
It is smart and doesn't display expand arrows
after
It is dumb and always displays expand bars. It hides them if the user clicks on them
/cc @martinpovolny not sure the key namespace and if you want to try this route came up with a solution

odd failure for spec/models/metric_spec.rb:466, re-running to see if it resolves it

Looks good to me.
ping @dclarizio : do we want such option?

ping @dclarizio

ping @dclarizio : do we want such option?

That's a good question, as this alters the UX on the trees and will most likely cause some users to think we have a bug.  Will need feedback from @serenamarie125 and @jonnyfiveiq before deciding to merge this.

Out of the box, this is no change.
The customer add this optimization at a later time.

This is a UX issue - what does it look like ?  How does the customer add the optimization @kbrock ?
It seems like we keep making fixes for these trees :(  I think we need to make a decision on what to do with them for good for 4.3 @jonnyfiveiq

WIP: The desire is to prune out the folders. working on a way to provide that without downloading all the VMS.

intermittent failures - rebased and kicked again

giving up on this one


icons test css cleanup

icons test page had glyph definitions already in bloxui

Please remove me from this list.  Thanks!
On Mon, Feb 23, 2015 at 9:08 AM, David Van Vickle<EMAIL_ADDRESS>wrote:

Reopened #1 https://github.com/impactmarketingspecialists/bloxui/pull/1.
—
Reply to this email directly or view it on GitHub
https://github.com/impactmarketingspecialists/bloxui/pull/1#event-240287060
.

It looks like you followed this project - you have to unfollow it on
github.  You aren't on any of the teams attached to it.
Regards,
Danny Graham
On Wed, Feb 25, 2015 at 11:21 AM, John Johnson<EMAIL_ADDRESS>wrote:

Please remove me from this list. Thanks!
On Mon, Feb 23, 2015 at 9:08 AM, David Van Vickle <
<EMAIL_ADDRESS>wrote:

Reopened #1 <https://github.com/impactmarketingspecialists/bloxui/pull/1
.
—
Reply to this email directly or view it on GitHub
<
https://github.com/impactmarketingspecialists/bloxui/pull/1#event-240287060

.

—
Reply to this email directly or view it on GitHub
https://github.com/impactmarketingspecialists/bloxui/pull/1#issuecomment-76035243
.

Github automatically sets up followers on new company repos.


Sorting declarations in source file

Since Ceylon allows to have several declarations in a one file it would be nice to sort them somehow. For example: alphabetically, by authors, by since annotation, mixing all of those.

I agree. It would be nice if the Organize Imports functionality in Eclipse sorted stuff alphabetically, too, although that may be a separate issue. (It currently sorts the packages alphabetically, but not the stuff being imported from them.)


Ability to search the Internet via a string

Now you can click on a direct link in the browser. It would be cool if the engine could specify the search engine and default browser, print the desired text and immediately go to the search engine. It would be cool and save a lot of time.

Assuming that you are talking about PowerToys Run, Duplicate of #3245


UX: When saving a comment edit, there is no indication of progress or error

Gitea version (or commit ref): 1.9.2, 1.9.3
Git version: any
Operating system: any
Database (use [x]): any
Can you reproduce the bug at https://try.gitea.io:

[x] Yes https://try.gitea.io/testASDL/asdfsadkfkjs/issues/1#issuecomment-23230
[ ] No
[ ] Not relevant

Description
Start editing an issue comment.
When you hit save, the edit interface is closed and the only feedback you have of your edit being saved is the comment text changing (when the fetch that sends the edit succeeds).
This is usually fine, but when the network conditions are a bit slower, one gets frustrated not seeing their edit on the screen, and not seeing any sign of progress. It's easier to see when the edit is big or by manipulating the network latency in Chrome/Chromium's DevTools.
When I noticed this I also checked what happens when the request fails by enabling "Offline mode" in Chrome/Chromium's DevTools before clicking save. It just fails silently.
Fix suggestion: It should show an overlay on top of the editing interface  to indicate that it is being saved and the user should wait, and only close the interface after it's finished saving. If an error occurs, don't close the edit interface and tell the user it failed.

It's still an issue, stale bot, just not a very important one

Dup of

https://github.com/go-gitea/gitea/issues/1315


Theme Editor Font Picker + Slate V1

Problem [EDITED AFTER dan-gamble message]
The theme editor font picker schema is not working with Slate V1
On a skeleton-theme, i added to my settings_schema.json

{
"name": "Typography",
"settings": [
{
"type":    "font_picker",
"label":   "Heading font",
"id":      "heading_font",
"default": "helvetica_n4"
},
{
"type": "color",
"id": "heading_color",
"label": "Color"
}
]
}

I declared the root css properties
<style>   :root {      --heading-font-url: {{ settings.heading_font | font_url }};      --heading-font-color: {{ settings.heading_color }};   } </style>
Then in theme.scss.liquid I declared the variables and used them
`$heading_font_color: var(--heading-font-color);
$heading_font_url: var(--heading-font-url);
@font-face {
font-family: "Header Font";
src: url($heading_font_url) format("woff2");
}
h1,h2,h3,h4,h5,h6{
font-family: "Header Font";
color: $heading_font_color;
}`
The color is properly applied, but the font is not working.
Am I misunderstanding something ?

Your variables are different here. You've used _ in theme.scss.liquid and then you've used - under the h1, h2, h3, h4, h5, h6 block declaration.

Yes Sorry @dan-gamble , that was just a copy/paste error when I renamed the variables for the purpose of clarifying the issue.
The problem remains the same: color variable is working but custom font is not.

Just thought i'd check that first, can't offer much more help at the moment sorry!

I always got errors when trying to use Slate with Bootstrap CSS variables.
I think they are not supported. On a quick Google I found this -> https://github.com/Shopify/slate/issues/524
Try avoiding CSS variables, it should work.

Can you try outputting the full font-face instead of trying to manually build it? E.g. :
Liquid :
<style>
  {{ settings.heading_font | font_face }}
  --font-heading: {{ settings.heading_font.family }}, {{ settings.heading_font.fallback_families }};
</style>

SCSS :
h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-heading);
}

Going to close this for now, feel free to reopen if it doesn't work!


Allow subclassing CorsFilter getAllowedOrigins() and isAnyOriginAllow…

I would like to be able to subclass the CorsFilter clases to be able to provide a custom list of allowed origins, instead of configure them from the init parameters. This will allow providing the allowedOrigins at runtime and not hardcoded in the web.xml init parameters.
Unfortunately the method isOriginAllowed uses the instance variable allowedOrigns directly. This makes it impossible to override the available function: getAllowedOrigins and isAnyOriginAllowed.
See also:
https://bz.apache.org/bugzilla/show_bug.cgi?id=65443

I went a little further and ensured getters were used for all configurable fields.


Day49: Fibonacci Number - Recursion

Fibonacci Number
https://leetcode.com/problems/fibonacci-number/

The Fibonacci numbers, commonly denoted F(n) form a sequence, called the Fibonacci sequence, such that each number is the sum of the two preceding ones, starting from 0 and 1. That is,
F(0) = 0, F(1) = 1
F(n) = F(n - 1) + F(n - 2), for n > 1.
Given n, calculate F(n).
Example 1:
Input: n = 2
Output: 1
Explanation: F(2) = F(1) + F(0) = 1 + 0 = 1.
Example 2:
Input: n = 3
Output: 2
Explanation: F(3) = F(2) + F(1) = 1 + 1 = 2.
Example 3:
Input: n = 4
Output: 3
Explanation: F(4) = F(3) + F(2) = 2 + 1 = 3.


Default mode for Validation message

Hello,
i use your inputs and use your validations - https://havit.blazor.eu/components/HxValidationMessage. I would like set another default mode. What's best option place it? Startup, App, MainLayout?
Thank you

Hi @petrkasnal, best place to set Defaults is usually Startup.cs or Program.cs as per the documentation https://havit.blazor.eu/concepts/defaults-and-settings


Error during installation/run

I'm running Docker  1.11.2 on a QNAP server.
I downloaded your Wine Dev 1.7.44 and tried to install it, then I got the following error:
Error	2017/02/19 17:40:18	Container	admin	Failed to do background task (create, wine-1) Error	2017/02/19 17:40:18	Container	admin	Background task error for create: 500 Server Error: Internal Server Error ("rpc error: code = 2 desc = "oci runtime error: exit status 1"") Info	2017/02/19 17:38:24	Container	admin	Start to do background task (create, wine-1)
Whenever I try to start the container, it throws the same error.
Any idea What I'm doing wrong?

Sorry for the Late response! I guess other containers are running without problems?

What exactly do you mean by installing? Please post the commands you enter to get error message.

Yes, all my other containers are running without problems.
I guess perhaps "installing" is not the right word. "Running" or "Starting" the container is perhaps better.
Every time I try to run the Wine container I just get the above error message and the container terminates.
I have tried all different version of Wine, and they all behave the same way.

Okay, could you please post the exact commands you are using to start the container? So far I cannot reproduce your problem.

Well, the thing is - I don't. Meaning - QNAP OS (Named QTS) has a docker front en named "Container Station". And for each loaded container, there are buttons for Install, Start, Stop and Remove.
What actually goes on under the hood, is beyond me, but I've never before had any problems getting containers to run.  All I could find is that the Run command is listed as ;  /entrypoint.sh

Okay! That’s beyond my knowledge! I’ve never used QNAP OS and the “Container Station”. Are there any Log-Files you can see? Probably somewhere (e.g. in the log-files) you can see what commands will be issued by “Container Station” to start the container. Unless you find that it is not possible for me to further investigate.
Obviously it is a problem of the combination of my image and QNAP OS. However, the image is running without any problems on a “default” docker installation.
I’m really sorry to be of no further help for you.

On 24 Feb 2017, at 15:50, oywino<EMAIL_ADDRESS>wrote:
Well, the thing is - I don't. Meaning - QNAP OS (Named QTS) has a docker front en named "Container Station". And for each loaded container, there are buttons for Install, Start, Stop and Remove.
What actually goes on under the hood, is beyond me, but I've never before had any problems getting containers to run. All I could find is that the Run command is listed as ; /entrypoint.sh
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/suchja/wine/issues/11#issuecomment-282309797, or mute the thread https://github.com/notifications/unsubscribe-auth/ADexScyhiWImqU_21XHlxznOjcsImW4Tks5rfu5CgaJpZM4MFhOU.

Oh - not to worry, I'm pleased that you care to reply at all :-)
This is what comes up in the console view;
xauth:  file /home/xclient/.Xauthority does not exist                                                                             xauth: (argv):1:  merge:  unable to open file /Xauthority/xserver.xauth
Regretfully, the actual run command issued by "Container Station" is not echoed, so I need to dig further for that, and I will...

Not to worry, I'm pleased you even bother to reply :-)
When I issue the command:
docker run -d --name display -e VNC_PASSWORD=newPW -p 5900:5900 suchja/x11server
Docker complains that the name "display" is already in use. So every time I want to run the x11server using this command, I first have to manually remove (delete) the container name "display". Surely, this cannot have been your intention?
Secondly (assuming I successfully made the "display" container run), when I issue the command:
docker run --rm -it --link display:xserver --volumes-from display suchja/wine:latest /bin/bash
It doesn't run the version of Wine that I carefully downloaded and initialized (configured) according to my liking. No, it pulls a different version from the repo, gives it a funny name and configures it in a way useless for my applications. It runs, and I can launch explorer and notepad, but as long as I can't figure out a way to use 'my' Wine container (made with one of your Wine images) that I prepared to use a bridged network, have access to shares outside of the container etc. I'm not really in business. And I need a setup that I can start and stop at will, without the need to manually remove containers every time.

The x11server is running as a detached container. See docker documentation for more information. Basically the idea is that the server should continue to run and listen for connections and not immediately run if it realises that currently no one likes to connect to it.
Now to the second part: I'm not sure what exactly you mean with:

It doesn't run the version of Wine that I carefully downloaded and initialized (configured) according to my liking.

Maybe I misunderstand your comment or the idea of this image is not completely clear to you. The image contains a version of wine which generally speaking can be changed, but it is not intended to change.
If the version in the image is not of your liking, you should consider creating your own image with the appropriate version you need. For this you need to create your own Dockerfile and use the appropriate versions in it. This is a little of try and error, but you can use my files in this repository as a starting point.
Which version do you like to run?

I'm sorry for being a bit clumsy here. I understand that the "display" (x11server) is supposed to run at all times. Which is quite all right, except - every time (now and then) when the server is rebooted, I don't know how to get it started again (in an automated way).
Anyway, as you probably realized several posts ago, I'm a container newbie. I finally managed to get "outside access" from within Wine by modifying the startup command of the x11server like this:
docker run -d -v /share/Public:/mnt/Public --name display -e VNC_PASSWORD=newPW -p 5900:5900 suchja/x11server
That - at least, gave me a way to peek out into a share, thus having a way to bring data in and out of the container.
But I haven't (yet) been able to figure out how to get bridged network access to the rest of my LAN from within Wine. And that's what I meant when I (quite clumsy) used the word version. I'm not really referring to a different version of the image. What I did, was to download the your latest image, and configured it exactly as I wanted it to run. But I failed to figure out ho to modify your "docker run" command line to have it run my prepared "version" of your image instead of downloading a fresh copy from the repo each time.
So, the result I have right now, is a Wine that evaporates each time it exits (for whatever reason). The next time I run it, I have to reinstall and configure the same windows app(s) over and over again. I'm sure I do something wrong, cause I cannot imagine this to be intentional, but I don't know what I'm doing wrong.
(I'll accept to be told to go away, if you feel this is a waste of time)

No worries! I'm happy support you as much as I can. I've been through this stuff with Docker and wine and know how hard it is when you are just starting.
With respect to the automated way of starting the x11server I think the best think to have a look is docker-compose. I don't know how it works with your QTS, but it is generally meant to automate multi-container applications.
If I understand you correctly, this is a high level overview of the workflow you are currently applying:

Using docker run to start a container based on my image suchja/wine:latest.
When the container is started you install windows apps and further configure wine
Now you leave the container (probably by typing exit in the container's bash or stopping it via your frontend) for this session and would like to use it at this point in your next session
Finally when you start again (with docker run and suchja/wine:latest) everything is gone and you need to start from scratch

If this is your problem, you need to have a look into the docker documentation for docker start and docker ls. In the readme of this wine image I've shown you this command docker run --rm -it --link display:xserver --volumes-from display suchja/wine:latest /bin/bash to start the container based on the image. If you look carefully, it has the option --rm specified. This means that the creates container is removed once you exit it and it gets stopped.
So basically what you need to do is to remove the --rm option from docker run command. Then you can install windows apps in the created container. Once you exit the container it will be stopped, but not removed! Now you can use docker ls to get the name or id of the stopped container and can use it with docker start to "restart" the container from where you left it the last time.
Does it make sense?

Do you have any plans to release a Wine 2.0 version. I'm asking, because once I got latest running, I found that none of the apps I need to run, would actually run. Very few programs support WinXP anymore. So I keep getting error messages during my install attempt saying that my version of Windows (Wine) is not supported, please upgrade.

So does that mean it is finally running on your side?
Update to wine 2.0 would be great, but there is currently no time on my side. If you actually like to test it, I might be able to create a new image.

Yes, it is running - allthough not exactly as I want it to, but I'll get there in the end.
I'd love to test a 2.0 image - if I may (or perhaps even 2.2 which I understand now is out in beta)

Will come back to you once the image is available!


Add netcdf-c logging variant

Summary
This is the spack-stack PR corresponding with https://github.com/JCSDA/spack/pull/440
Testing
Tested building with the new variant to make sure it's respected. No further testing with spack-stack since it's off by default, and we'll only enable it in certain environments.
Applications affected
Will support UFS WM and possibly others
Systems affected
none (not yet sure where the new variant will be installed)
Dependencies
https://github.com/JCSDA/spack/pull/440
Issue(s) addressed
Fixes #1045
Checklist

[x] This PR addresses one issue/problem/enhancement, or has a very good reason for not doing so.
[x] These changes have been tested on the affected systems and applications.
[ ] All dependency PRs/issues have been resolved and this PR can be merged.

@AlexanderRichert-NOAA The spack PR was merged, please update this PR. Thanks!

There are no changes whatsoever in this PR?

Yeah just occurred to me we're not making it default, we'll add it to some or other environment later on. So I guess this was just for testing... :)

Yes, thanks!


Rendering engine issues High GPU and CPU

Something is not working well with the rendering engine, i will explain.
There are two separate issues that both affect CPU and GPU usage:

When the window is open the GPU goes up to 6%-7% and the CPU up to 2% without any activity or UI updates.
When starting an application minimized the GPU and CPU usage are high without justification.

About (1) there is nothing to elaborate, those stats are too high.
regarding (2):
When starting the application normally and than minimizing GPU and CPU are at 0%, as expected,
Now take a look at the following screen shots.
Starting the application minimized (window is not visible):

CPU can go up to 2% and GPU to 1.5%
Window is visible:

Window minimized again:

without any activity or UI updates.

How is it known? Was "window. Renderer. DrawDirtyRects" used?

For the first part: I put breakpoint on every single method in my code (yes, it was very frustrating) to find out what is executing. nothing popped.
As for the second: Renderer and DrawDirtyRects wasn't used.
Window was used:
1.
  this.WindowState = WindowState.Minimized;

2.
protected override async void HandleWindowStateChanged(WindowState state)
        {
            base.HandleWindowStateChanged(state);

            await Task.Delay(100);
            if (state == WindowState.Minimized)
            {
                if (RuntimeConstants.MINIMIZE_TO_TRAY))
                {
                    this.ShowInTaskbar = false;
                    if (RuntimeConstants.PlatformHelper is INativeNotificationHelper nativeNotification)
                        nativeNotification.Handler.ShowRunningInBackgroundMessage(); //<- Windows.UI.Notifications
                }
            }
            else
            {
                this.ShowInTaskbar = true;
            }
        }

Just for clarification and better understanding..
The same symptoms occur when minimizing to Taskbar, not only tray (using  Windows.UI.Notifications)
I did this check to eliminate to cause of the issue.

The same symptoms occur when minimizing to Taskbar, not only tray (using Windows.UI.Notifications)

It doesn't matter. It's just minimizing with additional taskbar icon.

As for the second: Renderer and DrawDirtyRects wasn't used.

Try to use it. Most likely there is UI activity. And it will show if anything rendered.
Also you can profile your code.

Overriding render doesn't trigger anything except when intended.
I couldn't find what is DrawDirtyRects  and how to use it.
As for the profiler, which led me to assume it's rendering issue at the first place, here's a screenshot:
There is a lot happening with no reason, it keeps executing UpdateSubResource, Draw  etc.

After showing and minimizing the window the GPU is idle:

I couldn't find what is DrawDirtyRects and how to use it.

window.Renderer.DrawDirtyRects = true;

No good

@maxkatz6 some of my users experienced the same issue as well.
I checked with empty hello world Avalonia app (11-preview) on Windows 11, and I see idle CPU usage of ~%1 (checked in taskmgr and process hacker) even if the window is closed (Shutdown mode = explicit).
I tried debugging it and it seems like the reason is that Avalonia's rendering loop runs even when a window is not visible or even closed.
This is the case in either WinUIComposition with RequestCommitAsync loop, or the normal DefaultRenderTimer when not using WinUIComposition.
In both cases Avalonia is processing messages continuously when idle (Timer every 1000/60 ms, and WinUI according to RequestCommitAsync).
Also checked with empty WPF app and it is consuming 1% when a window is focused, but when it's not it's completely 0.
Debugging it I see that the app waits in GetMessage when a window is not visible. Only when visible it will get a message and start rendering.
I'm not sure if WPF gets some kind of special treatment from Windows, but I think we should aim for 0 CPU/GPU usage when a window is not visible or if no window is opened.

I tried debugging it and it seems like the reason is that Avalonia's rendering loop runs even when a window is not visible or even closed.

It's a known issue caused by our animation clock not unsubscribing from the loop when there are no active animations. It's not related to the renderer since DeferredRenderer does unsubscribe.

I tried debugging it and it seems like the reason is that Avalonia's rendering loop runs even when a window is not visible or even closed.

It's a known issue caused by our animation clock not unsubscribing from the loop when there are no active animations. It's not related to the renderer since DeferredRenderer does unsubscribe.

I think I used the wrong term, I meant that the GetMessage loop is triggered continously in Avalonia even when no window was created. Is that caused by the animation clock? Does it subscribe even if th app starts with no window?

Does it subscribe even if th app starts with no window?

Yes

@GabrielHalvonik you can add priority to issues if you have a support contract. otherwise it's done when it's done. thank you for your understanding.


action to check if changelog has been modified

(note that this is an extension of #47 so we need to fix that one first)
Often, contributors forget to edit the CHANGELOG.md when submitting pull requests, we need to create logic to automatically let them know to remind them.
python -m pkgmt.ensure_modified --base-branch main --include CHANGELOG.md

This should exit with code 0 if CHANGELOG.md has been modified (it's ok if other files have been modified too), and exit with code 1 if CHANGELOG.md has not been modified, along with a message saying that CHANGELOG.md has not been modified.
TO DO:

[ ] implement changes to python -m pkgmt.ensure_modified
[ ] add unit tests
[ ] implement sample github workflow (you can test in the dummy repository, ask @edublancas for edit access)
[ ] open PR with the finished workflow to this repo https://github.com/ploomber/contributing and replace this file

we can implement it in jupysql's CI. perhaps right after installation? i.e., if there is no new changelog entry, we don't even run the tests: https://github.com/ploomber/jupysql/blob/3ba79ab50852c81eca9d8764607fd1f8d5f36c02/.github/workflows/ci.yaml#L38

we can implement it in jupysql's CI. perhaps right after installation? i.e., if there is no new changelog entry, we don't even run the tests: https://github.com/ploomber/jupysql/blob/3ba79ab50852c81eca9d8764607fd1f8d5f36c02/.github/workflows/ci.yaml#L38

@edublancas
But some PR doesn't require a changelog, like my CI improvements one.
So, the ideal scenario would be to have a tag like allow-workflow-edits, here would be no-changelog, then we skip the changelog test

good point!
are you thinking of something like this?
so if there is no tag -> we fail the PR if it doesn't have a changelog entry
if there is a no-changelog tag -> we just continue with the tests

Yes

sure, that works


Custom typings file only used while open

Issue Type: Bug

git clone git@github.com:rasenplanscher/vscode-typings-test.git and open in vscode
open index.ts

you will see the ts error Cannot find module './import.vue'.

open vue.d.ts persistently
go back to index.ts

you will not see that error

close vue.d.ts
go back to index.ts

you will see the error again

does not happen in import without from – that does not seem to be checked 🤷♂

VS Code version: Code - Insiders 1.33.0-insider (d77d8d561143cc021a82664efc056755c075d070, 2019-03-11T08:47:23.627Z)
OS version: Windows_NT x64 10.0.17763
Extensions: none

Funny: the same thing happens in Visual Studio 2017 🤔

I visited your repo.
I think you just got to remove "include": ["tsconfig.ts"] from the tsconfig and the typing works, that line doesnt make sense there.

Thank you for the quick response!
I'm really sorry for having wasted your time with this 😢
That line was actually there to solve another issue in the original repo.
After removing that line again, both errors are gone...
I really don't know what's going on...


Create tests

We need some test to ensure everything is working fine :+1:

I mean like a unit testing for the react components.

Anyway this components has a complex structure so if you could just create a small test for a single component like a button or an input just to lead the way, that would be great :v:

@btzr-io I could start setting the env to add tests with jest and create some test. If that it's okay for you, assign to me.

@DaniAcu sure, sounds good
@jenlky Are you working on this ?

@btzr-io Nope
@DaniAcu Sure, go ahead!

Well, the PR is there, tell me if you want to change something. Or need an explanation about something.
I'm happy to contribute with you on this repo :smile:

Thanks, I'm really new to tools like jtest but that pr looks good.
I'll tag you if I run into a problem, great work :v:


v0.3.13 error win32 x64

:warning:Please attach %TEMP%\vscode-java-installer\log.txt and %TEMP%\vscode-java-installer\AdoptOpenJDK-MSI.log for more details.
version: 0.3.13
env:
JAVA_HOME: undefined
PATH:
C:\Program Files (x86)\Microsoft\Edge\Application
C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0\
C:\Windows\System32\OpenSSH\
C:\Program Files\Intel\WiFi\bin\
C:\Program Files\Common Files\Intel\WirelessCommon\
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR
C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\
C:\Program Files\Microsoft SQL Server\100\Tools\Binn\
C:\Program Files\Microsoft SQL Server\100\DTS\Binn\
C:\Android
C:\Program Files (x86)\Microsoft VS Code\bin
C:\Users\connor\AppData\Local\Microsoft\WindowsApps
C:\Program Files\Bandizip\
C:\Program Files (x86)\Microsoft VS Code\bin
JDKs:

log:
[下午6:25:13] AdoptOpenJDK-11-x64
[下午6:26:05] Error: read ECONNRESET
[下午6:26:05] Retry downloading ... [1]
[下午6:26:07] Error: read ECONNRESET
[下午6:26:07] Retry downloading ... [2]
[下午6:26:28] Error: read ECONNRESET
[下午6:26:28] fallback to Adopt API v3
[下午6:26:45] Error: read ECONNRESET
[下午6:26:45] Retry downloading ... [1]
[下午6:27:07] Error: connect ETIMEDOUT <IP_ADDRESS>:443
[下午6:27:07] Retry downloading ... [2]
[下午6:28:02] Download JDK ... [Completed]
[下午6:28:02] Install JDK
[下午6:28:02] Installing AdoptOpenJDK-11-x64...
[下午6:28:02] Error occurred
[下午6:28:02] Error: Command failed with exit code 1620: C:\Windows\System32\msiexec.exe /i "C:\Users\connor\AppData\Local\Temp\vscode-java-installer\binaries\jdk\11\x64\AdoptOpenJDK-11.msi" MSIINSTALLPERUSER=1 ADDLOCAL=FeatureJavaHome,FeatureEnvironment,FeatureJarFileRunWith /passive /l*v "C:\Users\connor\AppData\Local\Temp\vscode-java-installer\AdoptOpenJDK-MSI.log"
�e�lSb_dk�[ňz�^S0��N�^(uz�^�O�^FUT��|��Nnx��ُ/fN*N	gHe�v Windows Installer z�^S0

ERROR_INSTALL_PACKAGE_INVALID, 1620, This installation package could not be opened.

It's probably broken due to networking issue. Try downloading a JDK 11 and install it by your own. Then re-run this installer. Please let me know if it works.

You are right,thank you very much.
------------------ 原始邮件 ------------------
发件人:                                                                                "microsoft/vscode-java-installer"                                                                                @.>;
发送时间: 2021年3月22日(星期一) 上午10:25
@.>;
<EMAIL_ADDRESS>主题: Re: [microsoft/vscode-java-installer] v0.3.13 error win32 x64 (#155)
ERROR_INSTALL_PACKAGE_INVALID, 1620, This installation package could not be opened.
It's probably broken due to networking issue. Try downloading a JDK 11 and install it by your own. Then re-run this installer. Please let me know if it works.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.