Obsidian hangs on Windows 10

Thanks for your plugin.
I installed it -> I reconfigured it to 0 and tried to restart Obsidian. -> Obsidian freezes. -> I deleted the folder with your plugin -> Obsidian starts.

Thanks for your reporting... Maybe I should add a limit in setting page to avoid these bugs.

This issue bas been fixed in 0.0.7, users can't set Backup Intervals to 0 from this version on.

Thank you very much.
I have downloaded the plugin and installed it again. These are my settings:

After "apply settings" it freezes nonetheless. Stopping obsidian and starting again lets obsidian stop here:

My backup-folder "Obsidian.backups" is empty, even after a few minutes.

Thank you very much.
I have downloaded the plugin and installed it again. These are my settings:

After "apply settings" it freezes nonetheless. Stopping obsidian and starting again lets obsidian stop here:

My backup-folder "Obsidian.backups" is empty, even after a few minutes.

Thanks for your testing, may I ask how big is your vault? If you own a big vault, the plugin will cause a lag, pls share your vault size with me and I will try again at my computer.

I added the file size (~ 1.7 GB) a few minutes after posting as a screenshot.

I added the file size (~ 1.7 GB) a few minutes after posting as a screenshot.

Got it, maybe you should close the interval backup or set a bigger interval, like 30 at this version, I haven't considered a big vault size like yours😂, but I plan to do the backup in a thread to avoid these lags, so pls look forward to the coming version.

I'm afraid I can't run the backup on another thread, obsidian throws exception when I called workder_thread:
Error: The V8 platform used by this instance of Node does not support creating Workers.

So this issue would be closed. Thank you for using my plugin, I suggest you to setup this plugin like above's.

Hi, 0.0.9 released, you can try the experimental feature, Backup by 7-Zip, if toggled, backups will be created by calling 7zip, and obsidian won't stuck any more.

Thank you very much. With these settings:

the first file is made:

I get an error message

but the backup seems to be complete

A big step forward. ;-)
Some questions:
Is it possible to optionally save the backup in .7z format and give it a password?
Is it possible to exit Obsidian while the backup is running without leaving the backup you started in an undefined or incomplete state?
Once completed, how does the user know that the files are fully backed up?

Thank you very much. With these settings:

the first file is made:

I get an error message

but the backup seems to be complete

A big step forward. ;-)
Some questions:
Is it possible to optionally save the backup in .7z format and give it a password?
Is it possible to exit Obsidian while the backup is running without leaving the backup you started in an undefined or incomplete state?
Once completed, how does the user know that the files are fully backed up?

Hello, after my testing:

Q1: It's possible
Q2: I created a 3.6GB vault and close obsidian after running local backup command, and 7z console still working in the background until the backup mission finished. So it's possible.
Q3: When backup completed, obsidian will notify you with a popup on the top right.

@cgcel

Hi, 0.0.9 released, you can try the experimental feature, Backup by 7-Zip, if toggled, backups will be created by calling 7zip, and obsidian won't stuck any more.

If this is the best route to fix the backups hanging the UI thread, could you add support for Winrar too?

@cgcel

Hi, 0.0.9 released, you can try the experimental feature, Backup by 7-Zip, if toggled, backups will be created by calling 7zip, and obsidian won't stuck any more.

If this is the best route to fix the backups hanging the UI thread, could you add support for Winrar too?

Yes, winrar will be supported in the next version if 7-zip mode works well, up to now I havn't found any issues yet.

Awesome, thank you!
[data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=3D]
On Wed, Nov 1, 2023 at 12:28 AM GC Chen @.***> wrote:

@cgcel [https://github.com/cgcel]

Hi, 0.0.9 released, you can try the experimental feature, Backup by 7-Zip,
if toggled, backups will be created by calling 7zip, and obsidian won't
stuck any more.

If this is the best route to fix the backups hanging the UI thread, could
you add support for Winrar too?

Yes, winrar will be supported in the next version if 7-zip mode works well, up
to now I havn't found any issues yet.
—
Reply to this email directly, view it on GitHub
[https://github.com/cgcel/obsidian-local-backup/issues/6#issuecomment-1788479720],
or unsubscribe
[https://github.com/notifications/unsubscribe-auth/ACWQ7SZG5KG652DIFZ3SPBTYCHTYTAVCNFSM6AAAAAA6LTN7JSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBYGQ3TSNZSGA].
You are receiving this because you
commented.[https://ci6.googleusercontent.com/proxy/Isj0c9zsHDwSsc7Xz04YCp9pMZlhsqu5f14WWMQr_O4b-6auWU4Nms0lUn_q4xrXc8Dji6TOela1mpC661VGpqNegXGoUjjPekpXBY_pN1bIAfXov_zOU_shD-hjhQpKm4Gb-k95u6-vX__dw4Tq2llTKEL04LHC6TBUS_shcEolSi8FdcyeUBXbxruOX4Is4b7emaaLoUIK_OdSA3kG2s8lgCMakZFHbRxMOnnSR7udgZxYag=s0-d-e1-ft#https://github.com/notifications/beacon/ACWQ7S47IQJJZFRGZELOLLDYCHTYTA5CNFSM6AAAAAA6LTN7JSWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTKTIEOQ.gif]Message
ID: @.***>

Awesome, thank you! [data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=3D]
…
On Wed, Nov 1, 2023 at 12:28 AM GC Chen @.> wrote: > @cgcel [https://github.com/cgcel] > > > Hi, 0.0.9 released, you can try the experimental feature, Backup by 7-Zip, > > if toggled, backups will be created by calling 7zip, and obsidian won't > > stuck any more. > > If this is the best route to fix the backups hanging the UI thread, could > you add support for Winrar too? Yes, winrar will be supported in the next version if 7-zip mode works well, up to now I havn't found any issues yet. — Reply to this email directly, view it on GitHub [#6 (comment)], or unsubscribe [https://github.com/notifications/unsubscribe-auth/ACWQ7SZG5KG652DIFZ3SPBTYCHTYTAVCNFSM6AAAAAA6LTN7JSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBYGQ3TSNZSGA]. You are receiving this because you commented.[https://ci6.googleusercontent.com/proxy/Isj0c9zsHDwSsc7Xz04YCp9pMZlhsqu5f14WWMQr_O4b-6auWU4Nms0lUn_q4xrXc8Dji6TOela1mpC661VGpqNegXGoUjjPekpXBY_pN1bIAfXov_zOU_shD-hjhQpKm4Gb-k95u6-vX__dw4Tq2llTKEL04LHC6TBUS_shcEolSi8FdcyeUBXbxruOX4Is4b7emaaLoUIK_OdSA3kG2s8lgCMakZFHbRxMOnnSR7udgZxYag=s0-d-e1-ft#https://github.com/notifications/beacon/ACWQ7S47IQJJZFRGZELOLLDYCHTYTA5CNFSM6AAAAAA6LTN7JSWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTKTIEOQ.gif]Message ID: @.>

WinRAR has been supported in 0.1.1.

@cgcel

Hi, 0.0.9 released, you can try the experimental feature, Backup by 7-Zip, if toggled, backups will be created by calling 7zip, and obsidian won't stuck any more.

If this is the best route to fix the backups hanging the UI thread, could you add support for Winrar too?

Yes, winrar will be supported in the next version if 7-zip mode works well, up to now I havn't found any issues yet.

I was able to make the first update in 7z format with release 0.1.1, thank you very much! ;-)

If I exit Obsidian while the backup runs and start it again, it seems to be that 2 backups are running:

Is it possible to start an other backup only, when the first backup is completely finished?

If I exit Obsidian while the backup runs and start it again, it seems to be that 2 backups are running:

This is normal, if you close Obsidian while backing up, one 7-Zip Console still working at background, then if you open Obsidian  during this thread working, the new 7-Zip Console thread will start. And the first 7-Zip Console ended when the backup mission created before you closed Obsidian finished, then the new backup task will start base on backup frequency in the setting page.

When you close Obsidian and open again:

In the next backup cycle, 7-Zip Console thread num returns to normal:

Is it possible to start an other backup only, when the first backup is completely finished?

I think it doesn't need any changes, we don't close and open Obsidian frequently, And keep the last backup task is important, which makes a backup with latest data.


Auto-correct indentation

When running with --format, I get loads of lint warnings of the form:
Unexpected indentation (4) (it should be 6) (cannot be auto-corrected)

Why can't ktlint fix these itself?

Similarly, if I create an .editorconfig like this:
[*.{kt,kts}]
max_line_length = 100

ktlint tells me:
Exceeded max line length (100) (cannot be auto-corrected)

I was expecting it would wrap lines for me.

@bolinfest are you running with the --experimental flag? That enables indentation formatting.
I don't believe max line length formatting is implemented.

@shashachu I was on 1.2.71, which did not support --experimental. Now that I upgraded to 1.3.21, it has the --experimental flag and it did indeed fix up the indents, so thanks for that!
Is anyone going after the indentation formatting? This logic should be buried in IntelliJ somewhere, right?

@bolinfest Are you asking if anyone is going after auto-correction of max-line-length? If so, not that I'm aware of. I'm going to go ahead and close this ticket for now. If you'd like to open another ticket to discuss auto-correction for line length, please do.

Actually that ticket is already open: https://github.com/pinterest/ktlint/issues/251


You are about to alter the column... on  when adding new fields

When I add new fields to the User model - I get warnings that some existing records will be reset.
For example here is the model User , and I want to add 2 new fields to this model:

givenName String?
familyName String?
but I get errors:

There will be data loss:

     • You are about to alter the column `name` on the `Language` table, which still contains 18 non-null values. The data in
that column will be lost.
     • You are about to alter the column `updatedAt` on the `Transaction` table, which still contains 9 non-null values. The d
ata in that column will be lost.
     • You are about to alter the column `lastLogin` on the `User` table, which still contains 2 non-null values. The data in
that column will be lost.
     • You are about to alter the column `password` on the `User` table, which still contains 6 non-null values. The data in t
hat column will be lost.
     • You are about to alter the column `smsToken` on the `User` table, which still contains 1 non-null values. The data in t
hat column will be lost.

It seems to me that it is a normal practice to add new fields to existing models as the project grows, and if every time a new field is added, some records are erased, it turns out that there is no possibility to develop the product after launch.
Perhaps I do not understand something, but in Prisma(1) this was not noticed. Is this a Bug?
This is my User Model:
model User {
  id                   String            @default(cuid()) @id
  role                 Role              @default(COSTOMER)
  account              Account           @relation(references: [id])
  name                 String?
  email                String?           @unique
  smsToken             String?           @unique
  phone                String            @unique
  password             String?
  resetPasswordToken   String?           @unique
  emailvalidated       Boolean           @default(false)
  validateEmailToken   String?           @unique
  resetPasswordExpires Float?
  active               Boolean           @default(true)
  callsCount           Int               @default(0)
  skills               Skill[]
  language             String
  inLanguages          Language[]
  inOffers             Offer[]
  rating               Rating?
  createdRates         Rate[]            @relation(name: "userCeatedRates")
  receivedRates        Rate[]            @relation(name: "userReceivedRates")
  createdAt            DateTime          @default(now())
  updatedAt            DateTime          @updatedAt
  lastLogin            DateTime?
}

and I want to add 2 new fields
model User {
   ...
  givenName            String?
  familyName           String?
  ...
}

```shell
• You are about to alter the column `name` on the `Language` table, which still contains 18 non-null values. The data in
that column will be lost.
     • You are about to alter the column `updatedAt` on the `Transaction` table, which still contains 9 non-null values. The d
ata in that column will be lost.
     • You are about to alter the column `email` on the `User` table, which still contains 6 non-null values. The data in that
 column will be lost.
     • You are about to alter the column `name` on the `User` table, which still contains 6 non-null values. The data in that
column will be lost.lost.
     • You are about to alter the column `smsToken` on the `User` table, which still contains 1 non-null values. The data in t
hat column will be lost.

Related: https://github.com/prisma/lift/issues/267


no-unknown-property does not recognize onClickCapture on

Using eslint-plugin-react v7.31.6
The following code
<div onClickCapture={() => {}} />

Emits the following error

Unknown property 'onClickCapture' found eslint (react/no-unknown-property)

But there are multiple xxxCapture events defined in the React for these primitive elements:
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/1beed2ef47be5c1c283132c6cdfbd806ad0fb4ae/types/react/index.d.ts#L1477-L1512

Thanks for reporting this! I am making a fixing PR soon.


Add Line Linking In Software Template Logs

Feature Suggestion
Currently there is no way to link people to specific log sections or lines within a perhaps long log. This would be useful, and has prior art in GitHub, CI systems, among others. This exists on client side, as I can click a log line to highlight, so there's some facility for it, but it never persists in the URL to allow me to share with others.
Possible Implementation
There's 2 pieces of information to deal with here, the actual section and the line number itself, so perhaps an anchor like #step-title-L7 or something to facilitate both and allow the UI to respond appropriately when directly opened. I don't feel very strongly about this format, but it illustrates the idea.

Sure! This would be practical. Are you up for getting started with an implementation?

Unfortunately don't have bandwidth to tackle this currently. Just a usage observation from folks on my team =)


svt-av1: 1.4.1 -> 1.5.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for svt-av1 is: AV1-compliant encoder/decoder library core
meta.homepage for svt-av1 is: https://gitlab.com/AOMediaCodec/SVT-AV1
meta.changelog for svt-av1 is: https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/v1.5.0/CHANGELOG.md
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.5.0 with grep in /nix/store/95qxhykzdc5pvq11aa0i8fmcmy4jjvln-svt-av1-1.5.0
found 1.5.0 in filename of file in /nix/store/95qxhykzdc5pvq11aa0i8fmcmy4jjvln-svt-av1-1.5.0

Rebuild report (if merged into master) (click to expand)

65 total rebuild path(s)

65 package rebuild(s)

First fifty rebuilds by attrpath
MIDIVisualizer
arcanPackages.all-wrapped
arcanPackages.arcan
arcanPackages.arcan-wrapped
arcanPackages.cat9-wrapped
arcanPackages.durden-wrapped
arcanPackages.ffmpeg
arcanPackages.pipeworld-wrapped
arcanPackages.prio-wrapped
arcanPackages.xarcan
audiobookshelf
corrscope
ffcast
ffmpeg-full
ffmpeg_4-full
ffmpeg_5-full
ffmpeg_6-full
handbrake
haruna
imagination
jellyfin
jellyfin-ffmpeg
libsForQt5.kdenlive
libsForQt5.soundkonverter
liquidsoap
manim
obs-studio
obs-studio-plugins.advanced-scene-switcher
obs-studio-plugins.droidcam-obs
obs-studio-plugins.input-overlay
obs-studio-plugins.looking-glass-obs
obs-studio-plugins.obs-backgroundremoval
obs-studio-plugins.obs-gstreamer
obs-studio-plugins.obs-hyperion
obs-studio-plugins.obs-livesplit-one
obs-studio-plugins.obs-move-transition
obs-studio-plugins.obs-multi-rtmp
obs-studio-plugins.obs-nvfbc
obs-studio-plugins.obs-pipewire-audio-capture
obs-studio-plugins.obs-source-clone
obs-studio-plugins.obs-source-record
obs-studio-plugins.obs-teleport
obs-studio-plugins.obs-vaapi
obs-studio-plugins.obs-vkcapture
obs-studio-plugins.wlrobs
peek
plasma5Packages.kdenlive
plasma5Packages.soundkonverter
printrun
python310Packages.dm-sonnet

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/95qxhykzdc5pvq11aa0i8fmcmy4jjvln-svt-av1-1.5.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A svt-av1 https://github.com/r-ryantm/nixpkgs/archive/598057bcbf484d826559ed2cfbc6a037a7de4cc8.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/95qxhykzdc5pvq11aa0i8fmcmy4jjvln-svt-av1-1.5.0
ls -la /nix/store/95qxhykzdc5pvq11aa0i8fmcmy4jjvln-svt-av1-1.5.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review took longer than 45m and timed out

Maintainer pings
cc @Madouura for testing.

@ofborg build ffmpeg-full

Just out of interest...
@ofborg build ffmpeg_6-full

The success of ffmpeg 6 suggests there's a patch in there that we might be able to fish out for 5...

handbrake now fails due to collisions in ffmpeg patch sets.  /cc maintainers: @Anton-Latukha, @wmertens
Trying to combine the patch sets and basing on a bit different version of ffmpeg – that's a rather fragile approach in general.

@risicle ffmpeg_4 only got only one of the 3 patches v5 received. Was that intended?

Very hazy memory from 10 months ago, but I think the other two patches fixed features which were only added in 5.x

Thanks!


improved message printing in registerDistributions

Starting testing, then will merge.  This affects printing aesthetics only.

This PR improves the messaging (use of spaces and periods) for the output messages generated by reigsterDistributions.
Tests passed.  Merging into devel.


Add support to Mellanox cards

Update README.md to mention that Mellanox cards are supported and
how to enable SR-IOV for Mellanox cards

/lgtm


Add vtxo.CreatedAt

The vtxo contains info about when it expires but not about when it was created.
ATM can determine the creation timestamp for a vtxo with vtxo.ExpiresAt - asp.RoundLifetime  but with the assumption that the ASP never changes the round lifetime. Impossible to calculate the timestamp for a pending vtxo instead.

I would concur that also having a way to carry the data related to the shared output could be useful. You could infer the "genesis" from the block time, but having both is useful

atm the vtxo struct includes a field for the round txid. Don't you think this is enough? storing the same data for many vtxos doesn't seem to me a good idea

Yea not talking about storage, not on the interface would be handy to join together all info that are helpful. Txid is perfect indeed


Drop OpenCV and do first calibration with floodfill

Context
The open CV calibration is error prone. Not working for many people, who then have to move all the fields manually, which is very tedious.
@alex-ong had suggested long ago to use a flood fill algorithm to detect fhe field, and then use it, and knowledge of the typical Tetris layout, to compute the capture coordinates of all the other fields.
Finding the Tetris field became the annoying part, especially when capturing from browser windows youtube replays, where the layout might not be standard, perhaps with a player cam on the side, breaking the relative position in the overall window.
Approach

Drop open CV entirely (saves 8MB!)
Implement the flood fill algorithm to detect edge of the tetris field
Update the calibration wizard steps to show instruction on what to do
Finally to find the starting point of the floodfill, use the most intelligent entity in the room: the user himself/herself!

After having selected the input device, and the rom type, the user will be asked to click somewhere black in the field. This will provide the starting point of the floodfill to find the edge of the field.
Bonus: For capture devices, brightness defaults to 1.65 on first calibration.

Tested with ClassiqNQ input!


GovCloud stemcell builder currently not building stemcells

The GovCloud stemcell builder pipeline cannot retrieve a specific AMI to build the stemcell, which is causing us to be behind on currently released stemcells

We're back! Fixing involved:

Provisioning the stemcell user / policy in cg-provision
Patching the stemcell builder to wait until AMI exists


Typo for short_description in TestSuite model

Codecov Report

Merging #107 (fdbfc34) into main (f57ce97) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #107   +/-   ##
=======================================
  Coverage   93.66%   93.66%
=======================================
  Files         101      101
  Lines        2556     2556
=======================================
  Hits         2394     2394
  Misses        162      162

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 f57ce97...fdbfc34. Read the comment docs.


example for listening to statechange event does not work

This is my example code:
<head>
      <title>Altcha / Development</title>
      <script async defer src="https://cdn.jsdelivr.net/npm/altcha/dist/altcha.js" type="module"></script>
    </head>
    <body>
      <form>
      <altcha-widget
        challengeurl="/challenge/create"
        debug="true"
      ></altcha-widget>
    </form>

    <script>
      document.querySelector('altcha-widget').addEventListener('statechange', (ev) => {
        // state can be: unverified, verifying, verified, error
        console.log('state:', ev.detail.state);
        if (ev.detail.state === 'verified') {
          // payload contains base64 encoded data for the server
          console.log('payload:', ev.detail.payload);
        }
      })
    </script>
    </body>

However, this never seems to log anything from my statechange listener, however if I look at the debug logs via debug=true I will see the associated state changes happening

Hi, attaching event listeners must be done after altcha script loads. Wrapping the handler with window.addEventListener('load', ...) solves the issues. This is probably due to the nature of WebComponents and how they work internally.
window.addEventListener('load', () => {
    document.querySelector('altcha-widget').addEventListener('statechange', (ev) => {
        // state can be: unverified, verifying, verified, error
        console.log('state:', ev.detail.state);
        if (ev.detail.state === 'verified') {
          // payload contains base64 encoded data for the server
          console.log('payload:', ev.detail.payload);
        }
      })
});

Hmm, very weird, thank you for the explainer.


After Publishing Blog post, Blog screen shows "draft"

Description
I published a blog post but the Blog page shows the word "Draft"
Screenshots

Files
A list of relevant files for this issue. This will help people navigate the project and offer some clues of where to start.
To Reproduce
Go to Home > Blog > New Post.
Create a post and publish it.
Got back to Home > Blog
Tasks
Include specific tasks in the order they need to be done in. Include links to specific lines of code where the task should happen at.

[ ] Task 1
[ ] Task 2
[ ] Task 3

Remember to use helpful labels and milestones. If you use the "help wanted" label, Code for America will promote it widely.

This is a UX design issue. The save draft button is where you would expect publish. The save draft and publish buttons should be switched and the save draft should be less prominently colored.


Tests: improve resource management and reduce IO

I noticed this error when locally running the test suite:
[info] - should trigger full compilation if extra changes
OpenJDK 64-Bit Server VM warning: CodeCache is full. Compiler has been disabled.
OpenJDK 64-Bit Server VM warning: Try increasing the code cache size using -XX:ReservedCodeCacheSize=
CodeCache: size=245760Kb used=243676Kb max_used=243740Kb free=2083Kb
 bounds [0x0000000108254000, 0x0000000117254000, 0x0000000117254000]
 total_blobs=108491 nmethods=107492 adapters=900
 compilation: disabled (not enough contiguous free space left)

I didn't to a proper analysis to find what was causing this,
but on a hunch modified the tests to close the classloaders
they create.
I also found a test to be very slow when collecting its
test data from $IVY_HOME. I changed this to use a lazy
file walk to get the first 500 JARs, rather than traversing
full directory structure.
The test suite now runs for me cleanly.
[info] All tests passed.
[info] Passed: Total 17, Failed 0, Errors 0, Passed 17
[success] Total time: 149 s (02:29), completed 28/04/2020 3:06:32 PM
sbt:zinc Root>

To validate this pull request against other sbt modules, please visit this link.


Make errors more structured

Describe
Downstream integrators want better support for displaying errors from this service, create a more structured way for displaying compiler errors so that they can be displayed
Specification
Remix's error structure is as follows:
interface CompilerError {
    status: string = "failed"; // NOTE: We don't really need to specify this as anything else
    message: string; // Use `e.message`
    column: number;
    line: number;
    errorType: string; // Use `e.__class__.__name__`
}

Not all errors would it make sense to change, but the result obtained from the /errors/{task_id} endpoint should be described this way, for any configuration or compile-time exceptions
Dependencies
n/a

errorType can be SyntaxError Exception, which I think was a type of error I saw when testing.

errorType can be SyntaxError Exception, which I think was a type of error I saw when testing.

right, but from your perspective it's just a string that gets printed right?

Also the errors that are returned are very random and sometime has nothing to do with the code being compiled.

Also the errors that are returned are very random and sometime has nothing to do with the code being compiled.

We are aware of that as a separate issue, if you use the proper PEP440 version specifier it should compile fine (or at least raise a proper compiler bug)

With the latest updated of Hosted Compiler #53
the exceptions/{task_id} now has a response like this:
[
  {
    "status": "failed",
    "message": "/tmp/tmpa059soqe/unknown-project-730365/contracts/fail_misspell.vy\nModuleNotFound:snekmate.tokens.ercasd20\n\n  contract \"/tmp/tmpa059soqe/unknown-project-730365/contracts/fail_misspell.vy:41\", line 41:0 \n       40 # @dev We import and initialise the `erc20` module.\n  ---> 41 from snekmate.tokens import ercasd20\n  --------^\n       42 initializes: erc20[ownable := ow]\n",
    "column": 0,
    "line": 41,
    "error_type": "VyperCompileError"
  }
]

message, line and column are different fields.
i would also note, it useful for remix to see the /tmp/tmpa059soqe/unknown-project-730365/contracts/fail_misspell.vy before the \n so you know what contract it fails on. But it would not be useful for the user.
you could pattern match to find the start of /tmp and end the match with \n
like this
# Remove the /tmp/... part along with any trailing newline after it
 filtered_message = re.sub(r'/tmp[^:]*:\d+\n?', '', error_message)

i would also note, it useful for remix to see the /tmp/tmpa059soqe/unknown-project-730365/contracts/fail_misspell.vy before the \n so you know what contract it fails on. But it would not be useful for the user.
you could pattern match to find the start of /tmp and end the match with \n like this
# Remove the /tmp/... part along with any trailing newline after it
 filtered_message = re.sub(r'/tmp[^:]*:\d+\n?', '', error_message)

This temporary file is due to how we are internally compiling it, I would suggest that we create a separate issue to find temporary directory (e.g. /tmp/.../unknown-project-.../contracts/) and remove it from any error text so that the user doesn't get confused


Added removing of subscribers and refactored

Codecov Report

Merging #54 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #54   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           5      5
  Lines          82     84    +2
=====================================
+ Hits           82     84    +2

Impacted Files
Coverage Δ

Snail/Just.swift
100% <100%> (ø)
:white_check_mark:

Snail/Observable.swift
100% <100%> (ø)
:white_check_mark:

Snail/Fail.swift
100% <100%> (ø)
:white_check_mark:

Snail/Replay.swift
100% <100%> (ø)
:white_check_mark:

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 6865cdb...0f15e2f. Read the comment docs.


FR: Give a count of Images in the Gallery Navbar

Show a count of number of images embedded in the current markdown page.

Show a count of number of images embedded in the current markdown page.

Hi, please upgrade to v1.3.1 to see it.


Flutter: Unable to display errors/exceptions in an Alert Dialog

I can't seem to work my way around printing the platform exceptions in my flutter application. According to this code, on pressing the Sign In button with wrong input credentials, it should display the Alert Dialog on screen containing the errorMessage.
onPressed: () {
                    if (_formKey.currentState.validate()) {
                      try {
                        auth
                            .signInWithEmailAndPassword(
                                email: _email, password: _password)
                            .then((_) {
                          Navigator.of(context).pushReplacement(
                              MaterialPageRoute(
                                  builder: (context) => HomePage()));
                        });
                      } on FirebaseAuthException catch (e) {
                        switch (e.code) {
                          case "wrong-password":
                            {
                              _sheetController.setState(() {
                                errorMsg = e.message;
                              });
                              showDialog(
                                  context: context,
                                  builder: (BuildContext context) {
                                    return AlertDialog(
                                      content: Container(
                                        child: Text(errorMsg),
                                      ),
                                    );
                                  });
                            }
                            break;
                          case "user-not-found":
                            {
                              _sheetController.setState(() {
                                errorMsg = e.message;
                              });
                              showDialog(
                                  context: context,
                                  builder: (BuildContext context) {
                                    return AlertDialog(
                                      content: Container(
                                        child: Text(errorMsg),
                                      ),
                                    );
                                  });
                            }
                            break;
                          case "ERROR_INVALID_EMAIL":
                          case "invalid-email":
                            {
                              _sheetController.setState(() {
                                errorMsg = e.message;
                              });
                              showDialog(
                                  context: context,
                                  builder: (BuildContext context) {
                                    return AlertDialog(
                                      content: Container(
                                        child: Text(errorMsg),
                                      ),
                                    );
                                  });
                            }
                            break;
                          default:
                            {
                              _sheetController.setState(() {
                                errorMsg = e.message;
                              });
                              showDialog(
                                  context: context,
                                  builder: (BuildContext context) {
                                    return AlertDialog(
                                      content: Container(
                                        child: Text(errorMsg),
                                      ),
                                    );
                                  });
                            }
                            break;
                        }
                      }

Instead, it takes me to the message_codecs.dart where it displays this message below:
Exception has occurred.PlatformException (PlatformException(firebase_auth, com.google.firebase.auth.FirebaseAuthInvalidUserException:
There is no user record corresponding to this identifier. The user may have been deleted., {message: There is no user record corresponding to this identifier. The user may have been deleted., additionalData: {}, code: user-not-found}))
I want this above message to be displayed in the alert dialog, how do I achieve that? The project has firebase_auth: ^0.18.4 dependency.

Hi @NewmanOldman
It seems you are asking for assistance on personal code. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Moving to Obsidian as a Public Second Brain

published: true
description: The case for having a -Public- Second Brain, and why I picked Obsidian.
category: note
slug: obsidian-brain
tags: Meta, Learn in Public
cover_image: https://raw.githubusercontent.com/hungsu/vileplume-obsidian/master/Vileplume.png
I've gone through many versions of notetaking systems in the past decade, from literal "in memory" storage, to writing cheatsheets,  to blogging everything publicly, to storing private notes in OneNote, then SimpleNote, then Notion. For focused topics, I have a long history of making markdown repos on GitHub accumulating thousands of stars. I've also considered Evernote, Joplin and Roam and its less culty competitors Foam and Athens.
Two months ago I moved my notes to Obsidian, and I've been fairly happy with the result. Time for a good ole experience report!

You can check out the repo, sw-yx/brain or the published Obsidian site https://publish.obsidian.md/swyx/

Why a -Public- Second Brain?
I'll assume you already know the benefits of Building a Second Brain - I was a mentor for the course if you need a quick intro. Here my focus is on convincing you why your S.B. should be public:

Learning in Public increases your Luck Surface Area
Creating reusable/referenceable Open Source Knowledge helps you compound knowledge work + save keystrokes when helping people
Having a Digital Garden to grow drafts in public with lower expectations than blog/social media is inspiring to others - aka Working with the Garage Door Up
One "monorepo" for all your notes frees you/your readers from having to remember where you put your notes + makes related notes more discoverable

aka Personal Content Warehouse?

My Criteria for Second Brain Tooling
As I reached the limits of SimpleNote/Notion/GitHub, I thought about these factors for my next notetaking tool:

Markdown based: Friction slows down your speed of thought. Unacceptable.

If your editor gets in the way then you are paying cognitive overhead. Notion's blocks are great until you try to select text or move around blocks and it doesn't do what you want.
If your editor uses proprietary data formats it will be hard to migrate/render. If you do this right your notes should outlive Notion. And if you wish to render notes publicly from Notion, keep in mind even expert programmers face a lot of hurdles because Notion is not an API first company (dev experience will always be a second class citizen). Markdown is Lindy.
(Nice to have) WYSIWYG Markdown writing experience like Typora.

Git: I'm inherently interested in explorable histories of ideas (for history surfing/idea archaeology), and Git is the only version control system worth considering these days.
Offline-ready Mobile app: Again, a friction point - I have ideas in the shower, on a walk, or otherwise away from the computer, so I need a mobile app. To some extent, if I use Markdown, then that can be a Narrow Waist interface where I can use apps that speak Markdown and Git, like GitJournal.
Bidirectional Linking: truly the feature popularized by Roam - I think networked thought is ideal and some of the ways that people use it are truly mindblowing (I'm not personally there yet)

(Nice to have) Graph visualization of links, although I have my doubts about how useful this is in practice

Publish with Search: If you are Git and Markdown based, then GitHub does view and search fine, but the navigation, display and search experience could probably be improved with custom CSS, link previews, backlink lists, Table of Contents tracking, and so on.
(Nice to have) Image and File storage: Being able to store arbitrary images and files freely without friction/consideration of cost would be nice, but in practice i'm so word- and resource-heavy that this has not actually come up as a pain point in the last 2 months

Notably lacking among these desirables is the idea that the notetaking service should be free. As a serious knowledge worker intent on making this work for the next 40-60 years of my life, I'm quite happy paying $5-20 a month for something that is going to last that I don't have to maintain myself.
These factors are why I chose Obsidian, with Obsidian Publish (which is still relatively new and leaves some things to be desired).
I admit I was also influenced by Ezell and others in the Coding Career Community who have been talking about Obsidian for over a year.

Obsidian Tips

Use the PARA system

It has the right level of simplicity and effectiveness out of any system I've tried, which has always spiraled out of control.
I'm very much not perfect at this (but nobody is). I'm much better at keeping A's and R's than P's, which I still tend to manage in my head.

Sync through iCloud and GitHub

Obsidian has a great ecosystem of core and community plugins. Honestly the main one I get the most use out of is Obsidian Git, which I have set up to sync every 20 minutes.

Obsidian Publish

You can customize the landing page, which I think is important for reader experience.
The search isn't fulltext search, so it leaves a lot to be desired.

You can also customize the CSS and JS, which I haven't yet but feels like an opportunity.

More tips from readers in the related thread:
{% tweet<PHONE_NUMBER>329342465 %}
Overall, I'm the happiest I've ever been with my public notes so far and feel I've been both unblocked and more productive with Obsidian. Not all my notes are public, of course, so I still keep some stuff in Notion.

I absolutely love obsidian. The best things so far are

Lightweight
Intuitive
The glass bur background

I love Obsidian and use it the same way! You can add YAML to any page you don't want published to keep it private if you want to move everything from Notion -> Obsidian. Just add this as a code block to the top of your page.
`
publish: false
`


Improve visibility of arrows

For the topmost and bottom-most job applications the top and bottom arrow shouldn't be visible.

Priorities values not updating properly.

Regarding the problem above: This was fixed by updating the gem that handled prioritization.
I am looking into this. I am able to hide the top-most and bottom-most arrows, but when we prioritize a job application, we do this without refreshing the page, and as such the arrows are not updated in their new position.
Before prioritization:

After prioritization:

To solve this situation, the page must be refreshed. Can we force refresh?

Not worth it, looks OK right now. Gotta clean up some issues man.


⚠ GitLab Server has degraded performance

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

HTTP code: 200
Response time: 6876 ms

Resolved: GitLab Server performance has improved in 292df6e.


when recevied disconnect request, local can not find corresponding ch…

…annel
hi ：
in recently  i am debugging my bluetooth software based on zephyr,  when I disconnected acl link from my smart moblie phone , my software always fail to send disconnect rsp successfully . i looked up my log , i
found  software can not find corresponding channel based on cid , so i modified code , pls reveiew it

I suspect this is not Zephyr fault but the remote sending the incorrect CID as this works properly with many stacks, including Linux in fact if we look at the Linux implementation it is also using the reverse CID:
https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/tree/net/bluetooth/l2cap_core.c#n4320
Btw, normally there is only the ATT/GATT connected over L2CAP in case of a phone, but that uses a fixes CID which cannot be disconnected, do you have any trace of the traffic?

This PR has now been standing more than 1 week without action from the author.
@Vudentz comment would seem to fundamentally disagree with the PR content.
Therefore I close it, under the assumption that the author does not want to pursue it further.
If that is not the case, @yiheng2019, please, reopen it.


Fix bundle format unrecognized, invalid, or unsuitable error on Xcode 12.4

In the latest develop branch (as of 4/9/2021) when one goes to run a debug build using Xcode 12.4 the compiler would generate this warning:
bundle format unrecognized, invalid, or unsuitable
Running a pod update fixes the issues.

          1 Error

:no_entry_sign:
Any changes to library code need a summary in the Changelog.

          1 Warning

:warning:
Big PR

  Generated by :no_entry_sign: Danger


ordered Index load to a weak-order memory region

In version 1.0, section 7.2.
“To provide ordered vector accesses to a strongly ordered IO region, the ordered indexed instructions should be used”
it is stated that in order to access a strongly ordered IO region in an ordered manner, the use of ordered indexed instructions is recommended. However, in cases where a processor does not support vector load store to a strongly ordered IO region, the behavior of this instruction is unclear.
While the instruction and memory attributes are defined separately, it is possible to define order index load/store to a weak order memory. However, it is important to note that there is no ordered requirement for the weak order memory. Therefore, it is possible that the implementation may choose not to keep the order, is it acceptable in spec?

I agree this could be expressed more clearly, but the idea is that ordered indexed accesses are roughly equivalent to a sequence of scalar accesses executed on a uniprocessor.  So, if the region is strongly ordered, the accesses will be strongly ordered; and if the region is weakly ordered, the accesses will be weakly ordered.
However, recall that even weakly ordered regions require that same-address accesses from a given hart be kept in order.  So, ordered indexed accesses are guaranteed to preserve same-address ordering, even if the region is weakly ordered.


Added Obatschow kontext package manifests

[ ] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@microsoft-github-policy-service agree

This package is expecting arguments:
2023-04-24 14:59:31 ERROR failed to load config file, expected file at
                      ╬ô├╢├⌐   'C:\Users\User\AppData\Local\kontext\kontext.yaml'

This package is expecting arguments:
2023-04-24 14:59:31 ERROR failed to load config file, expected file at
                      ╬ô├╢├⌐   'C:\Users\User\AppData\Local\kontext\kontext.yaml'

The app expects a config file. It can run without arguments.


[GHSA-7jg2-jgv3-fmr4] The PDF viewer does not sufficiently sanitize PostScript...

Updates

Affected products
Description
References
Source code location
Summary

Comments
Added affected versions, projects, commit and PR. The PR is already referenced by the bugzilla.mozilla.org link associated with the CVE.

Hey @Rob--W, many thanks for the PR but a couple questions for you

I'm not sure I follow on the linkage between the PR and commit you've added in this PR and this specific issue. Any chance you can elaborate on how it's linked? The commit seems to be talking about some some intermediate representation (I think) in the pdf library, but doesn't seem to call out any sort of injection.
On your versions; if the fixed version is 2.0.943 would it make sense to simply drop the last_known_affected_version_range": "<= 1.10.100? There looks to be one version between those two (2.0.550). See: https://www.npmjs.com/package/pdfjs-dist?activeTab=versions

Hey @Rob--W, many thanks for the PR but a couple questions for you

I'm not sure I follow on the linkage between the PR and commit you've added in this PR and this specific issue. Any chance you can elaborate on how it's linked? The commit seems to be talking about some some intermediate representation (I think) in the pdf library, but doesn't seem to call out any sort of injection.

The canonical location for the bug report is at https://bugzilla.mozilla.org/show_bug.cgi?id=1452075, which was already linked in the advisory before my proposed advisory update. That ticket links to the PR that fixes the issue, which is at https://github.com/mozilla/pdf.js/pull/9659. When that PR was merged, the commit was https://github.com/mozilla/pdf.js/commit/2dc4af525d1612c98afcd1e6bee57d4788f78f97.

On your versions; if the fixed version is 2.0.943 would it make sense to simply drop the last_known_affected_version_range": "<= 1.10.100? There looks to be one version between those two (2.0.550). See: https://www.npmjs.com/package/pdfjs-dist?activeTab=versions

I used the releases in the source repository as a reference of the release, which didn't list versions between v1.10.100 and v2.0.943. I'll double-check the versions and update this PR.
P.S. I filed a web form which auto-generated this PR. How should I update this PR?

The canonical location for the bug report is at https://bugzilla.mozilla.org/show_bug.cgi?id=1452075, which was already linked in the advisory before my proposed advisory update. That ticket links to the PR that fixes the issue, which is at https://github.com/mozilla/pdf.js/pull/9659. When that PR was merged, the commit was https://github.com/mozilla/pdf.js/commit/2dc4af525d1612c98afcd1e6bee57d4788f78f97.

Gotcha, thanks!

P.S. I filed a web form which auto-generated this PR. How should I update this PR?

You can make commits or I can make the edits on my end 👍

I took a closer look to find the exact version ranges:

The fix landed in the master branch on April 12, 2018: https://github.com/mozilla/pdf.js/commit/2dc4af525d1612c98afcd1e6bee57d4788f78f97
npmjs version page shows that 2.0.489 was published on April 11, 2018. The v2.0.489 tag in the pdfjs-dist repo points to https://github.com/mozilla/pdf.js/commit/7d7bc80eee7ef4486547bec7b3ecba7be7aabc69 and the fix is NOT included here.
The immediate next releases are 1.10.100 and 2.0.550, both published on June 6, 2018.

The 1.10.100 tag is here, and I can see that the patch has been backported to the 1.x version range: https://github.com/mozilla/pdf.js/commits/v1.10.100/
Although the pdfjs-dist repo points to 2.0.550 in https://github.com/mozilla/pdfjs-dist/releases/tag/v2.0.550, I cannot find that tag in the main pdf.js repo (which is why I initially thought that 2.0.943 is the first version with the fix - https://github.com/mozilla/pdf.js/releases/tag/v2.0.943).

In short, the exact versions are:

vulnerable: <= 2.0.489 (except 1.10.100)
fixed: >= 2.0.550 and 1.10.100

@darakian I don't know the convention that you use to express non-linear fixes, so please use my provided information to update my PR before merging.

Many thanks for digging. Double checking on npmjs.org it looks to me like 2.0.550 does have the updated code based on the changes in that commit 👍
https://www.npmjs.com/package/pdfjs-dist/v/2.0.550?activeTab=code

@darakian I don't know the convention that you use to express non-linear fixes, so please use my provided information to update my PR before merging.

As two ranges :)
I've gone ahead and split the range into two ( < 1.10.100 && >= 2.0.0, < 2.0.550). Many thanks for the PR! 👍

I don't see this entry listed at https://github.com/mozilla/pdf.js/security
What is necessary to get it there?

What is necessary to get it there?

That would be under the control of mozilla. The way our system works is that we have repo advisories and global advisories where we (github) review and maintain the global ones
ex.
https://github.com/advisories/GHSA-7jg2-jgv3-fmr4
and the repo advisories remain under the control of the repo owner. Not the cleanest system, but it's the one we have.

There doesn't seem to be a way for repo admins to link the existing one, at least not from the web interface.
Next to the repo-specific advisory creation page, there is this note:

Once published, security advisories on public repositories are visible to everyone.
Once reviewed by GitHub, security advisories may be broadcast on the GitHub Advisory Database. They may also trigger Dependabot alerts to users that depend on this repository.

This suggests that there is an automatic flow to publish repo-specific advisories in this global advisory-database. A nice characteristic of this feature is that the slugs are the same, for example:

https://github.com/mozilla/pdf.js/security/advisories/GHSA-wgrm-67xf-hhpq
                        https://github.com/advisories/GHSA-wgrm-67xf-hhpq

How about the other way around? In this case there is already an old existing advisory, and I'd like to have it to be available in the PDF.js repo (preferably with the same metadata and timestamps).
It looks like the usual workflow is for a repo-specific security advisory to be published first, followed by a global advisory.
The documentation on Publishing a repository security advisory states "Edits to global advisories will not change or affect how the advisory appears on the repository.", which makes it clear that there is no automatic synchronization from the global to the repo-specific advisories. But what if this is exactly what I want, whether automatically or manually?

There doesn't seem to be a way for repo admins to link the existing one, at least not from the web interface.

Not sure I follow here. The repo admin(s) should be able to update their repo advisory at any time.

This suggests that there is an automatic flow to publish repo-specific advisories in this global advisory-database. A nice characteristic of this feature is that the slugs are the same, for example:

It's semi-automatic. We have humans (like myself) in that loop for validation and enrichment and the global advisory is what powers dependabot (hence humans).

How about the other way around? In this case there is already an old existing advisory, and I'd like to have it to be available in the PDF.js repo (preferably with the same metadata and timestamps).

There is zero automatic flow the other way around. The repo and global versions of the advisories are essentially independent.

But what if this is exactly what I want, whether automatically or manually?

That would be a feature request which I can forward along for you 😄

There doesn't seem to be a way for repo admins to link the existing one, at least not from the web interface.

Not sure I follow here. The repo admin(s) should be able to update their repo advisory at any time.

Your statement is true, but the question is not whether a new repo-specific advisory can be created, but whether the global advisory can be copied to the repo-specific one.
To avoid confusion, I want the same GHSA identifier for both, and ideally the same old timestamp (and other metadata) so that it is obvious that it is the same older security issue. Is this possible?

How about the other way around? In this case there is already an old existing advisory, and I'd like to have it to be available in the PDF.js repo (preferably with the same metadata and timestamps).

There is zero automatic flow the other way around. The repo and global versions of the advisories are essentially independent.

I thought that there was some automation because the GHSA identifier for the two examples above are the same, which suggests that there may be some automatic link between the global and repo-specific advisory.

But what if this is exactly what I want, whether automatically or manually?

That would be a feature request which I can forward along for you 😄

Thanks! It's not clear what the specific request would be, but I'd welcome any feature that enables me to achieve my goal.

Your statement is true, but the question is not whether a new repo-specific advisory can be created, but whether the global advisory can be copied to the repo-specific one.

It would need to be manually updated on the repo side to mirror the content on the global advisory.

To avoid confusion, I want the same GHSA identifier for both, and ideally the same old timestamp (and other metadata) so that it is obvious that it is the same older security issue. Is this possible?

I don't think so. I don't 100% know, but I doubt metadata could be made to be synchronous without some tooling changes on our end.

I thought that there was some automation because the GHSA identifier for the two examples above are the same, which suggests that there may be some automatic link between the global and repo-specific advisory.

There is automation in that a repo advisory creates the global advisory for us to review. By policy we try to respect the intent of the repository author, but we also have stricter guidelines for content that will end up in front of all of github than any given repo owner may have. We're sort of an editorial pass on top of what repo owners publish where we make sure things are valid, of general interest, de-jargon'd (as much as we can), and so forth for a general audience.

Thanks! It's not clear what the specific request would be, but I'd welcome any feature that enables me to achieve my goal.

I can make a pretty general issue perhaps as opt-in behavior for a repo owner to accept our edits back to their repo advisory. Would you mind if add the email on your github profile to the issue as a contact as well?

To avoid confusion, I want the same GHSA identifier for both, and ideally the same old timestamp (and other metadata) so that it is obvious that it is the same older security issue. Is this possible?

I don't think so. I don't 100% know, but I doubt metadata could be made to be synchronous without some tooling changes on our end.

I don't mind some manual one-time curation. My main wishes are:

have the same GHSA ID for the same issue
have the same publication date

Thanks! It's not clear what the specific request would be, but I'd welcome any feature that enables me to achieve my goal.

I can make a pretty general issue perhaps as opt-in behavior for a repo owner to accept our edits back to their repo advisory. Would you mind if add the email on your github profile to the issue as a contact as well?

I don't mind, my email is not a secret.

Right on. I've got an issue made. I can't promise any sort of timelines of course, but this is now at least visible for future planning :)


Missing the Sources Folder

when importing the unity package from here on github, I am getting the following error:
Assets/Beam/Source/Editor/BeamSettingsWindow.cs(27,5): error CS0433: The imported type `Xbox.Services.Beam.BeamLoggingLevel' is defined multiple times
Looks like the Sources folder may be missing form the latest build? If I use the content of the sources folder from a previous build. I do not get those errors.

Thank you, we'll investigate.

I wasn't able to repro. I can have a few other folks on my team give it a try. I noticed we don't have a folder called "Sources" as part of the package. We do have a "Source" folder though. Is that the one you used the contents of.

yes, I used the content from the original release here on github. Will have to check when i get home, but i believe that is where the dll files are.

Thank you for double checking. The DLLs should be under Source/DLLs.

I just downloaded the repo again and I am not seeing the sources folder with the DLLs in it.
\InteractiveSDK\Assets\Beam still has the Source.meta file from the Unity project though.

Here's what I'm seeing:

It feels like Unity isn't downloading everything. I'll keep an eye out and see if we can get a repro of this in house. For now, I guess manually grabbing that folder until we can figure this out.

Oh, I can not get the download from the Unity Asset Store to download as I get the error mentioned in the first post. I was referring to the repo here on github. It is missing the sources folder.

I'm sorry! Now I think I understand :)
When you download from this repro, download it from the releases section here: https://github.com/WatchBeam/interactive-unity-plugin/releases (click on the beam.unitypackage link)
You're right the code is missing the Source files. Is that what you meant?

yes. Can not get the unity asset store package because the the error and can not get it from the repo because of the missing folder. :)

Ah, sorry for the confusion. We'll get the repo source updated, but it may be a little while due to some internal logistics. But in the meantime if you could try getting it from the releases section that will have all the files.

We've updated the repo with the missing files. That said, I would still encourage folks to download the beam.unitypackage from the releases tab if possible.


fix(slos): BoolGauge promql expr should not be multiplied by 100

While building out an uptime SLO using a BoolGauge we performed some simple testing by forcing a failure and observed the following issues:

The promql expression linked from the errors graph starts with 100 *, which returns a true percentage
The errors graph expects a percentage represented as a decimal fraction (i.e. a float between 0 & 1), and are shared amongst all slos
The burn rates also depend upon this interpretation

This resulted in the error graph making sense for our Ratio SLOs, however for a BoolGauge SLOs would return 10000% failure in the error graph (as opposed to the expected 100%), and non-sensical burn rates.
This fixes #1257

would also appreciate for this PR to be merged, seems like we are facing a similar issue

any news here? we want to start using pyrra mainly with bool gauges, and currently it's unusable due to the error described here

any news here? we want to start using pyrra mainly with bool gauges, and currently it's unusable due to the error described here

Hey deanb-everc, I can give you some guidance to build your own image if you'd like, this is how we're working around the issue in our production envs. There is likely a much better way to build an image locally, but this is what worked for me.
Clone my fork & checkout the branch with the fix
 git clone https://github.com/alexberry/pyrra.git
 git switch fix-boolean-gauge-metric

Set up Build Engironment
Setting up your build env is documented in CONTRIBUTING.md, so please refer to that document, however the highlights are as follows:
Required build tools
Install these in whichever way your local OS supports it, I am on MacOS so I would use brew install make npm go and then would install docker desktop:

make
npm
go
docker

Required build dependencies
npm install react-scripts
make install

Build
Building the binary
export GOOS=linux GOOARCH=amd64
make all

After performing this step, you should have a new file in the root of the repo named pyrra - this is the pyrra executable
Building the container image
mkdir -p dist/pyrra_linux_amd64_v1
cp pyrra dist/pyrra_linux_amd64_v1/.
docker build . -t pyrra:dev --build-arg TARGETOS=linux --build-arg TARGETARCH=amd64

This will have now built a local image pyrra:dev. You will now need to push this to a self-hosted registry that your kubernetes cluster has access to pull from. Let's say your registry's address is my-lovely-registry.somecompany.sometld, you can push this custom image up to your registry with:
docker tag pyrra:dev my-lovely-registry.somecompany.sometld/pyrra:dev
docker push pyrra:dev my-lovely-registry.somecompany.sometld/pyrra:dev

Configuring Helm to use your custom image
Finally, if you are using the helm chart by rlex to deploy pyrra to your cluster, you can add the following to your values.yaml to switch to your custom image:
image:
  pullPolicy: IfNotPresent
  repository: my-lovely-registry.somecompany.sometld/pyrra
  tag: dev

Enjoy :)

@deanb-everc I wanted a better build mechanism than locally-built images, so I created my own (throwaway) PR to generate the container image ghcr.io/alexberry/pyrra:pr-3. You can use configure helm with:
image:
  repository: ghcr.io/alexberry/pyrra
  tag: pr-3

hello @metalmatze, is there any chance this can be reviewed? We've been hoping to revert to the master branch of this repo for over a month now, but are still having to run a custom-built image.

Looked this over and have confirmed the behavior on some of our instances. LGTM and hoping this can get merged in.

Hello everyone!
Thank you for the great discussion and first of all for sending the PR to begin with.
I was super busy organising PromCon the last 6-8 weeks.
This seems logical to me.
We should just make sure that there's nothing else depending on the 100 *, other than that this looks good to me.

Again, thank you so much!
Given this is merged into main. Do we want to cherry pick it into release-0.7 so we can get you a patch release?

Again, thank you so much! Given this is merged into main. Do we want to cherry pick it into release-0.7 so we can get you a patch release?

Yes please, that would be very helpful :)

@metalmatze is there any chance of getting a new official release soon? I am still running on a custom build and am quite keen to stop doing so


Some CKEditor plugins are pinned to old version

In version 3.5.3, djangocms-text-ckeditor switched from CKEditor version 4.6.2 to 4.7.3. However, many (presumably unused) plugins shipped with CKEditor have not been updated in the local source tree. This is rather confusing and may cause incompatibility errors.
Therefore, either remove those plugins, so that they have to be installed manually, or upgrade to a compatible version.

OK. I compared the versions on GitHub, for instance
https://github.com/divio/djangocms-text-ckeditor/tree/master/djangocms_text_ckeditor/static/djangocms_text_ckeditor/ckeditor/plugins/image
against
https://github.com/ckeditor/ckeditor-dev/tree/release/4.7.x/plugins/image
and they differ. This of course because the distributed version is compiled.
However, wouldn't it be safer, instead of re-distributing code which has already been packaged, ship  djangocms-text-ckeditor with a package.json file and use npm install to install these kind of 3rd party dependencies. With the wide availability of npm, this nowadays seems to be common practice.

I see your point, but I've tried that once and it didn't work very well. Main problems were that even if we are to bundle the released version of the ckeditor package - ckeditor uses it's own module loader that lazy loads some additional things on demand. To do that the files have to be static collected, so at the time it was a no go.

fixed in #534


Create a reducer to manage actions and state

This PR implements a reducer to manage the state. By implementing a reducer:

Do not call setters sequentiality and encapsulates the state transitions in only one place.
Do not create separate states with useState to handle data structures such as arrays

I also improved the identifier validation, by checking all the items instead of just some of them.
Usage
interface People {
 id: number;
 age: number;
 name: string;
}

const people: People[] = [
 { id: 1, name: "Laura", age: 5 },
 { id: 2, name: "Diego", age: 10 }
]

const Component = () => {
	const { items, toggleItem } = useSelectedItems<People, People["id"]>({
		items: people,
		itemIdentifierKey: "id"
	});

    const handleClick = (item) => () => {
      toggleItem(item)
    }

   return (
		<div>
          {items.map(item => <button onClick={handleClick(item)}>{item.name}</button>}

[ ] Return only the selected items by filtering the items array based on the isSelected status
[ ] Improve algorithm to toggle isSelected status


GENESIS_SLOT == 0

Move genesis slot and epoch to 0
ensure get_previous_epoch cannot underflow and that usage of this function during GENESIS_EPOCH is correct
remove check for greater than GENESIS_SLOT  in process_attestation because there is nothing less than GENESIS_SLOT
add block the following functions during GENESIS_EPOCH

`update_justification_and_finalization
apply_rewards

add sanity test for processing finality through first 5 epochs

Currently blocked by #920

After merging with #925, one of the new assertion in tests assert state.current_justified_root == prev_state.current_justified_root fails
https://github.com/ethereum/eth2.0-specs/blob/3c8d1b23a52c8be12c01628d8546a4443a217ca7/tests/phase0/test_sanity.py#L65-L66
Because

state.current_justified_root was updated in  https://github.com/ethereum/eth2.0-specs/blob/a93d34b8e4c46196a52afce3047897fa0bea1b86/specs/core/0_beacon-chain.md#justification:    state.current_justified_epoch = get_current_epoch(state)
    state.current_justified_root = get_block_root(state, get_epoch_start_slot(state.current_justified_epoch))

state.current_justified_epoch is 0, but state.current_justified_root is not initial value ZERO_HASH.

I think it does make sense to say when state.current_justified_epoch == 0, the current_justified_root is the genesis_root, however, but it's no way to set it in genesis_state since genesis_block_root is built with genesis_state_root...
The easy solution might be either:

Take it as a special case: add some condition check if in update_justification_and_finalization; if it's genesis epoch, don't use get_block_root to update current_justified_root.
As before #925, only call get_block_root when state.current_justified_epoc does change.

@hwwhww I simply made the update_justification.. block on if get_current_epoch(state) <= GENESIS_EPOCH + 1: rather than just on GENESIS_EPOCH.  This avoids updating justification to GENESIS_EPOCH and finalization to GENESIS_EPOCH as well. The first epoch for either than can be written to state is epoch 1


Calling a protected method outside of module doesn't produce an error when you include that module in the same file

So I came across an issue when I was working on some api code and realized I could call a protected method outside of a module even though the docs doesn't specify this is possible.
Example:
module Root
  class Test1
      protected def hello
          puts "world"
      end
  end
end

include Root

test = Test1.new
test.hello

Outputs "world" live example here
Expected behavior: When I call a protected method outside of a module it should spit out "protected method called" error. The default functionality based on the docs should still allow access to protected methods when called inside a module's scope.
Actual behavior: No error is called when I call a protected method outside of a module scope. It seems as if when I include the Root module above it puts the whole file inside that scope? I could be wrong, but that's just a guestimate.
Other: Someone ran a similar test in ruby and it has the desired effect
○ ruby test.rb test.rb:12:in `<main>': protected method `hello' called for #<Root::Test1:0x007fd8700457e0> (NoMethodError)`

According to the docs:

A protected method can only be invoked on:

instances of the same type as the current type
instances in the same namespace (class, struct, module, etc.) as the current type

When you include it in the top-level, it is now in the same namespace as it.
This is different than Ruby, but then again Crystal is not Ruby :-)

So it does make the whole file the top level once included, that seems kind of odd though.
I guess my question now is why use protected methods at all if they are that easy to get access to? In a top level file.

Just don't include types in the top-level. Antyhing that's global is a bad smell.

Still doesn't answer my question, what's the point of protected methods in crystal in comparison to other languages.


Longhorn v0.4.1 engine log spam with message "tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35"

Running Longhorn v0.4.1, when observing logs of the engine container, i.e. pvc-0f94cc3e-5f9c-11e9-a3cf-005056aa4d4e-e-9d06dcbb it can be observed that a massive amount of logs are being spammed.
Log contents are similar to:
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35
tgtd: bs_longhorn_request(136) unsupported cmd->scb[0]: 35

multiple times per second.

Fix merged.


AZ-610 fix channeling fee e2e treasury test to incorporate information about possibly treasury reward from staking remainder

Testing done:

cargo build --release,
run test locally in this particular scenario that era changes during channelig_fee test run:

[2022-02-16T09:27:26Z INFO  aleph_e2e_client] Running test: channeling fee
[2022-02-16T09:27:26Z INFO  aleph_e2e_client::test::treasury] [+] Possible treasury gain from staking is<PHONE_NUMBER>000
[2022-02-16T09:27:26Z INFO  aleph_e2e_client::test::treasury] [+] Treasury balance before tx:<PHONE_NUMBER>4782. Total issuance:<PHONE_NUMBER>427388404.
[2022-02-16T09:27:41Z INFO  aleph_e2e_client::transfer] [+] Transfer transaction hash: 0xd575…7afb
[2022-02-16T09:27:41Z INFO  aleph_e2e_client::test::treasury] [+] Treasury balance after tx:<PHONE_NUMBER>6923. Total issuance:<PHONE_NUMBER>427388404.
Ok! Elapsed time 15036ms

You can see from below that<PHONE_NUMBER>427388404 -<PHONE_NUMBER>427388404 is proportional to treasury reward from staking


Pylance reports reportUndefinedVariable on referencing sibling classes as typing

Environment data

Language Server version: v2023.11.10
OS and version: Amazon Linux 2023
Python version (& distribution if applicable, e.g. Anaconda): CPython 3.11.6

Code Snippet

import typing
from dataclasses import dataclass

@dataclass
class TextComponent:
    """
    Represent a single text component used in TextJSON.
    """

    class PlainText(typing.TypedDict):
        text: str

    class ScoreboardValueInner(typing.TypedDict):
        name: str
        objective: str

    class ScoreboardValue(typing.TypedDict):
        score: "ScoreboardValueInner"

Repro Steps

Write the code in above example.
Run Pylance to analyze the code.

Expected behavior
There should be no error. Note that running mypy here does not generate any error.
Actual behavior
You will get following error on line containing score: "ScoreboardValueInner";
"ScoreboardValueInner" is not defined Pylance(reportUndefinedVariable)
Logs

2023-11-08 08:50:12.347 [info] (445721) [BG(1)] getSemanticTokens delta previousResultId:1699433232726 at /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (0ms)
2023-11-08 08:50:17.023 [info] (445721) [FG] parsing: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (19ms)
2023-11-08 08:50:17.028 [info] (445721) [FG] binding: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (4ms)
2023-11-08 08:50:17.323 [info] (445721) [BG(1)] analyzing: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py ...
2023-11-08 08:50:17.324 [info] (445721) [BG(1)]   parsing: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (27ms)
2023-11-08 08:50:17.328 [info] (445721) [BG(1)]   binding: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (3ms)
2023-11-08 08:50:17.681 [info] (445721) [FG] parsing: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (66ms)
2023-11-08 08:50:17.691 [info] (445721) [FG] binding: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (9ms)
2023-11-08 08:50:17.698 [info] (445721) [BG(1)]   checking: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (288ms)
2023-11-08 08:50:17.698 [info] (445721) [BG(1)] analyzing: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (320ms)
2023-11-08 08:50:17.699 [info] (445721) [BG(1)] indexing: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (12ms)
2023-11-08 08:50:18.177 [info] (445721) [BG(1)] getSemanticTokens delta previousResultId:1699433232726 at /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (541ms)
2023-11-08 08:50:18.255 [info] (445721) [BG(1)] analyzing: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py ...
2023-11-08 08:50:18.255 [info] (445721) [BG(1)]   parsing: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (57ms)
2023-11-08 08:50:18.255 [info] (445721) [BG(1)]   binding: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (3ms)
2023-11-08 08:50:18.800 [info] [Info  - 8:50:18 AM] (445721) SourceFile: Received fs event 'change' for path '/home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py'
2023-11-08 08:50:18.803 [info] (445721) [BG(1)]   checking: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (552ms)
2023-11-08 08:50:18.803 [info] (445721) [BG(1)] analyzing: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (629ms)
2023-11-08 08:50:18.814 [info] (445721) [BG(1)] indexing: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (8ms)
2023-11-08 08:50:19.174 [info] (445721) [BG(1)] getSemanticTokens delta previousResultId:1699433417628 at /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (357ms)
2023-11-08 08:50:19.231 [info] (445721) [BG(1)] analyzing: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py ...
2023-11-08 08:50:19.231 [info] (445721) [BG(1)]   checking: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (56ms)
2023-11-08 08:50:19.232 [info] (445721) [BG(1)] analyzing: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py (56ms)
2023-11-08 08:50:19.258 [info] (445721) [BG(1)] indexing: /home/ec2-user/minecraft/mcdppy/mcdppy/command/nbt.py [found 7] (14ms)
2023-11-08 08:50:19.519 [info] [Info  - 8:50:19 AM] (445721) SourceFile: Received fs event 'add' for path '/home/ec2-user/minecraft/.mypy_cache/3.11/mcdppy/command/nbt.meta.json.79a104c24514414d'
2023-11-08 08:50:19.520 [info] [Info  - 8:50:19 AM] (445721) SourceFile: Received fs event 'add' for path<EMAIL_ADDRESS>2023-11-08 08:50:19.521 [info] [Info  - 8:50:19 AM] (445721) SourceFile: Received fs event 'add' for path '/home/ec2-user/minecraft/.mypy_cache/3.11/mcdppy/command/nbt.meta.json'
2023-11-08 08:50:19.521 [info] [Info  - 8:50:19 AM] (445721) SourceFile: Received fs event 'change' for path '/home/ec2-user/minecraft/.mypy_cache/3.11/mcdppy/command/nbt.meta.json.79a104c24514414d'

I noticed that I can report this in Pyright, and reported there also. In case if you think this issue is not appropriate here, you can close this issue.

Closing in favor of the Pyright issue. https://github.com/microsoft/pyright/issues/6380


Modified slate-cssvar-loader to allow CSS variables without Liquid variables

Modified slate-cssvar-loader not to prevent deploying when no matching liquid variable is found for a CSS variable.
What are you trying to accomplish with this PR?
I'm attempting to solve the issue I reported that prevents the use of regular CSS variables without corresponding Liquid variables.
https://github.com/Shopify/slate/issues/524
I do not believe any documentation for local SASS compilation needs to be updated to reflect this change. This documentation is the most relevant:
https://github.com/Shopify/slate/wiki/Local-SASS-compilation
Checklist
For contributors:

[x] I have updated the docs to reflect these changes, if applicable.

For maintainers:

[ ] I have :tophat:'d these changes.

I +1 this. It would be very helpful with adding external sass libraries

Thanks @truribe! Sorry for the delay in merging this.

Nice! Thanks


Enable XEN backends

This PR includes the following changes:

update Xen-tools recipe. Move out proc-xen from the xencommons and make it as a separate package
add needed tools to rpi5 image
enable backends in linux kernel
update u-boot repo and srcrev (just to avoid extra PRs )

@oleksiimoisieiev please, provide test description and prof of working network in guest.
Please, drop u-boot patch from this PR

@oleksiimoisieiev please, provide test description and prof of working network in guest. Please, drop u-boot patch from this PR

Dropped


Various mob fixes

This PR organizes and fixes various mob properties. Please look at the commitments description for further explanation.

Closing this due to conflict. Creating a new one.

Closed in favor of #43


Provide the ability to specify the Content Type of a non-named Multipart Part

Is your feature request related to a problem? Please describe.
When utilising @RequestPart on a Controller argument in Spring for working with multipart/form-data requests consisting of e.g. a file part and a JSON part—and expecting the JSON part to be correctly deserialised to a POJO—it relies on the Content-Type of the request part to find and apply the relevant HttpMessagingConverter; defaulting to application/octet-stream if none was provided.
From the client perspective these parts are not files as such and do not have file names. MultipartBodyBuilder.part(String name, Object part, MediaType contentType) for example allows specifying such a part with a relevant content type when working with the WebClient.
Describe the solution you'd like
Provide the ability to specify the content type of a multipart part without a filename within a contract so as to generate valid requests.
Describe alternatives you've considered
Utilising the named(name, content, contentType) method, however this puts the burden onto any integrating party to provide a dummy name to satisfy the generated WireMock mappings as it is not optional whilst not being required by the endpoint.
Additional context
REST Assured seems to have various flavours of multiPart, some providing the ability to specify a multipart part with a relevant content type as desired which is probably of interest as compared to the currently used param method which seems more intended for form params.
In the process of attempting to provide a part(content, contentType) method or the like, but figured I'd open for discussion if this is something that has been covered previously or whether I have misunderstood any aspect of verifying a JSON encoded @RequestPart via Spring Cloud Contract.

Do you have a small Java-Maven sample that you could show with such client - server communication?

@marcingrzejszczak I have built a small example in https://github.com/adrianhj/spring-cloud-contract-1888, hopefully this helps showcase the gap (issue?) utilising Spring.
Areas of interest:

The Controller being called: https://github.com/adrianhj/spring-cloud-contract-1888/blob/main/src/main/java/com/example/springcloudcontract1888/SpringCloudContract1888Application.java#L24
A test showing the endpoint being called via RestTemplate: https://github.com/adrianhj/spring-cloud-contract-1888/blob/main/src/test/java/com/example/springcloudcontract1888/SpringCloudContract1888ApplicationTests.java#L33
A failing contract test due to missing content type header on part with some comments for possible desired syntax/options: https://github.com/adrianhj/spring-cloud-contract-1888/blob/main/src/test/resources/contracts/example.groovy
The test generated by the above but modified with desired output and now passing: https://github.com/adrianhj/spring-cloud-contract-1888/blob/main/src/test/java/com/example/springcloudcontract1888/DesiredContractVerifierTest.java#L14

For the RestTemplate backed test, I have upped the logging to easily see what is sent over the wire:
o.s.web.client.RestTemplate              : HTTP POST http://localhost:57620/example
o.s.web.client.RestTemplate              : Accept=[application/json, application/*+json]
o.s.web.client.RestTemplate              : Writing [{file=[class path resource [contracts/file.txt]], metadata=[Metadata[value=example]]}] as "multipart/form-data"
org.apache.hc.client5.http.headers       : http-outgoing-0 >> POST /example HTTP/1.1
org.apache.hc.client5.http.headers       : http-outgoing-0 >> Accept: application/json, application/*+json
org.apache.hc.client5.http.headers       : http-outgoing-0 >> Content-Type: multipart/form-data;boundary=nVCcViZpN810-A5mTBQ7AuGDfftezMFj_jPX
org.apache.hc.client5.http.headers       : http-outgoing-0 >> Accept-Encoding: gzip, x-gzip, deflate
org.apache.hc.client5.http.headers       : http-outgoing-0 >> Content-Length: 345
org.apache.hc.client5.http.headers       : http-outgoing-0 >> Host: localhost:57620
org.apache.hc.client5.http.headers       : http-outgoing-0 >> Connection: keep-alive
org.apache.hc.client5.http.headers       : http-outgoing-0 >> User-Agent: Apache-HttpClient/5.1.4 (Java/17.0.6)
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "POST /example HTTP/1.1[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "Accept: application/json, application/*+json[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "Content-Type: multipart/form-data;boundary=nVCcViZpN810-A5mTBQ7AuGDfftezMFj_jPX[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "Accept-Encoding: gzip, x-gzip, deflate[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "Content-Length: 345[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "Host: localhost:57620[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "Connection: keep-alive[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "User-Agent: Apache-HttpClient/5.1.4 (Java/17.0.6)[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "--nVCcViZpN810-A5mTBQ7AuGDfftezMFj_jPX[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "Content-Disposition: form-data; name="file"; filename="file.txt"[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "Content-Type: text/plain[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "Content-Length: 4[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "Test[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "--nVCcViZpN810-A5mTBQ7AuGDfftezMFj_jPX[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "Content-Disposition: form-data; name="metadata"[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "Content-Type: application/json[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "{"value":"example"}[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "--nVCcViZpN810-A5mTBQ7AuGDfftezMFj_jPX--[\r][\n]"

The area of particular interest is the metadata part for which the structure is currently impossible to achieve as far as I can tell:
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "--nVCcViZpN810-A5mTBQ7AuGDfftezMFj_jPX[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "Content-Disposition: form-data; name="metadata"[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "Content-Type: application/json[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "{"value":"example"}[\r][\n]"
org.apache.hc.client5.http.wire          : http-outgoing-0 >> "--nVCcViZpN810-A5mTBQ7AuGDfftezMFj_jPX--[\r][\n]"

I started some work on #1929 at the time but it fell dormant.
I have opened it for commentary around whether the approach would be of interest to be progressed.


Ignite-2.5.1-p14-hotfix-pme

PR seems to be temporary for testing, closing it, for now, feel free to reopen if it is needed.


Cannot read property 'forEach' of undefined in debugger

I have a working application in Elm. When I try to open the debugger, it crashes with the error reported in the title of the issue.
The problem happens at line 12136 of the file debug.js, that is
node.kids.forEach(addAllToDict);

The error happens because the kids property of the node object is undefined.
For debugging purposes, when the function addAllToDict is called, this is the structure of the node object:
Object {
    id: 1
    kids: Array[1]
        0: Object
            id: 2
            kids: Array[2]
                0: Object
                1: Object
                    id: 5
                    kids: Array[1]
                        0: Object
                            id: 6
                            isOutput: true
                            name: "output-perform-tasks-tasks"
                            notify: (timestamp, parentUpdate, parentID)
                            parents: Array[1]
                            __proto__: Object
                        length: 1
                        __proto__: Array[0]
                    name: "map1"
                    notify: (timestamp, parentUpdate, parentID)
                    parents: Array[1]
                    value: Object
                    __proto__: Object
                length: 2
                __proto__: Array[0]
            name: "foldp"
            notify: (timestamp, parentUpdate, parentID)
            parents: Array[1]
            value: Object
            __proto__: Object
        length: 1
        __proto__: Array[0]
    name: "input-mailbox"
    notify: (timestamp, targetId, value)
    parents: Array[0]
    value: Object
    __proto__: Object

You can notice that the "output-perform-task-task" node does not have a kids property

This is a duplicate. Please check other issues and close this one.


Galaxy Nexus API 23

An emulator running this might not detect software 'Enter' keystrokes. The issue does not appear in other devices I've tried. I need to do more testing before coming to any conclusion.

The issue only appears in multi-line editTexts, single-line ones are fine. Sadly, changing the TagView to use single-line instead of multi-line would requiere quite a bit of code rewriting that I am not willing to undertake at the time being.


will a master function called locally  if local peer is the master of that node?

Godot version:
3.2.1
OS/device including version:
macOS
Issue description:
according to the document
RPC_MODE_MASTER = 2
Used with Node.rpc_config() or Node.rset_config() to set a method to be called or a property to be changed only on the network master for this node. Analogous to the master keyword. Only accepts calls or property changes from the node's network puppets, see Node.set_network_master().
a function tagged as master, for example:
master func test():
print("test")
can only be called from the node's network puppets.
However, when call rcp("test") on the network master of that node, this function will called on that peer locally as mastersync.
but in this way it is not called from the the node's network puppets.
Is this behavior  intended or there is a mistake in the documents?
Steps to reproduce:
Minimal reproduction project:

Sorry, this is not the place to ask questions about how to use the engine. Please use the other community channels for this purpose. If you feel like the documentation is lacking information about this topic, please open an issue in the documentation repository.

This is not a question if you have really read the content.

I did. This is your question :

Is this behavior intended or there is a mistake in the documents?

Please ask those kind of questions on the other community channels first. And once you have your answer, you can open an issue explaining where the problem is (if it is on the engine side or on the documentation one). For such questions, you can ask to developers on the #godotengine-devel IRC channel, Faless is probably the person that can answer you.

OK, thanks.
I have just checked the source code, and confirmed that  rpc will make local call even without the sync  keyword is intended. So undoubtedly, the document is misleading.

So undoubtedly, the document is misleading.

Ok. Then could you open an issue on the documentation repository ?

Sure!


fix #44: refresh chain before printing current balance

For best user experience, it is recommended to also approve the other PRs.

Other than the comment about thread.daemon and the flake errors this is good to go in.

Should be good now... please re-review

@sashimi-houdini @lk16 this is ready to review

Please fix the flake8 error, then I'll merge it.

Please check now. I am getting 2 other mypy errors which are not related to my changes, not sure how to address those:
skepticoin/consensus.py:163: error: Returning Any from function declared to return "Block"
skepticoin/wallet.py:84: error: unused 'type: ignore' comment


Update documentation link to source code

Update link to Spawner source code. I've used an external link to the file on GitHub.
The relative link does not redirect properly (even when corrected) to the GitHub hosted file. Read The Docs returns not found. Sphinx and RTD will be happier with the external link.
@minrk Nice work on 0.4.

Thanks!


Explanation of parameters and tutorials

I wonder where we could find information about all input parameters and arguments, and also some command line tutorials beyond what one can find in the google collar notebook.
If this is not the place for such questions, please tell me where we could ask this.
Thanks
Horacio

Hi, if you have any questions that aren't covered in the README or the descriptions of the flags in run_alphafold.py then feel free to ask below and I'd be happy to help.


SOCD

https://github.com/ioridev/Precision-Fighting-Board/commit/34503528f3ffefa825b8e05f138f2332d3adf30f

https://github.com/ioridev/Precision-Fighting-Board/commit/34503528f3ffefa825b8e05f138f2332d3adf30f