Error: Failed to launch chrome! spawn /app/node_modules/puppeteer/.local-chromium/linux-609904/chrome-linux/chrome ENOENT

Steps to reproduce
Tell us about your environment:

Puppeteer version: 1.11.0
Platform / OS version: MAC 10.14.3
URLs (if applicable):
Node.js version: v8.9.4

I have been trying to get my Node application, using Puppeteer as the testing framework to run via docker. It works perfectly well when running locally on my. However when running via container I keep running into the same issue.
I have tried almost every boiler-plate Dockerfile I have seen from other users online but none of them can address the issue Im seeing.
Error: Failed to launch chrome! spawn /app/node_modules/puppeteer/.local-chromium/linux-609904/chrome-linux/chrome ENOENT
When I see other people with this issue they all seem to show different linux versions and not the specific one I am seeing after download: linux-609904. What is the best way to audit whats wrong with this version?

I have meet the same error when using prerender-spa-plugin inside docker
Failed to launch chrome! spawn /web/node_modules/prerender-spa-plugin/node_modules/puppeteer/.local-chromium/linux-624492/chrome-linux/chrome ENOENT
And here is the result of /web/node_modules/prerender-spa-plugin/node_modules/puppeteer/.local-chromium/linux-624492/chrome-linux
MEIPreload/             icudtl.dat              locales/                natives_blob.bin        xdg-mime
chrome-wrapper          libEGL.so               nacl_helper             product_logo_48.png     xdg-settings
chrome_100_percent.pak  libGLESv2.so            nacl_helper_bootstrap   resources/
chrome_200_percent.pak  libclearkeycdm.so       nacl_irt_x86_64.nexe    resources.pak

I'm having this problem running Puppeteer inside Digital Ocean Ubuntu

https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md should help, I installed the ubuntu packages and this was then solved

Error: Failed to launch chrome! spawn /app/node_modules/puppeteer/.local-chromium/linux-609904/chrome-linux/chrome ENOENT

@AdamBD the ENOENT error means there's no executable file on your file system; you probably skipped or aborted chromium download.

I have tried almost every boiler-plate Dockerfile I have seen from other users online but none of them can address the issue Im seeing.

Have you tried our docker container? We run our own tests in a docker container and they work just fine.
Hope this helps

I'm running puppeteer on node:12-alpine. After building the container, I've been shelling into it with docker run -ti [container] /bin/sh. I can then see that there is indeed a binary at /home/node/node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/chrome, but if I try to run it, I get the error /bin/sh: ./chrome: not found, which matches up with the ENOENT error that I get from puppeteer. I'll follow up here if I find a solution, but I just wanted to point out that it might not be a failed download in case anyone else comes across this.

I'm running puppeteer on node:12-alpine. After building the container, I've been shelling into it with docker run -ti [container] /bin/sh. I can then see that there is indeed a binary at /home/node/node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/chrome, but if I try to run it, I get the error /bin/sh: ./chrome: not found, which matches up with the ENOENT error that I get from puppeteer. I'll follow up here if I find a solution, but I just wanted to point out that it might not be a failed download in case anyone else comes across this.

I shelled into docker to try that and I got the same issue as well.

@arapocket Thanks for commenting—I forgot to follow up after I found a solution. It's been a couple of weeks so I don't remember exactly which change fixed it, but here's the configuration I'm running:
In my Dockerfile I have
RUN apk add --nocache udev ttf-freefont chromium git
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
ENV CHROMIUM_PATH /usr/bin/chromium-browser

// npm install, etc.

And then to launch the browser
puppeteer.launch({
  executablePath: process.env.CHROMIUM_PATH,
  args: ['--no-sandbox'], // This was important. Can't remember why
});

I also locked puppeteer to 1.17.0 in my package.json. I think that was to make the chromium and puppeteer versions match.

@ben-turner Thank you very much,
I had exactly the same issue, getting a:
Error: Failed to launch chrome! spawn /builds/dev/ui/frontend/node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/chrome ENOENT
when trying to run integration tests via Puppeteer in a Docker container (node:12-alpine) for my project's CI (on Gitlab).
Running chromium from /usr/bin/chromium-browser instead of using Puppeteer's chromium installation path solved it !

@ben-turner Thank you very much,
I had exactly the same issue, getting a:
Error: Failed to launch chrome! spawn /builds/dev/ui/frontend/node_modules/puppeteer/.local-chromium/linux-674921/chrome-linux/chrome ENOENT
when trying to run integration tests via Puppeteer in a Docker container (node:12-alpine) for my project's CI (on Gitlab).
Running chromium from /usr/bin/chromium-browser instead of using Puppeteer's chromium installation path solved it !

I have the same issues, but hasn't resolved yet with this solution :(

Hey everyone, I had the same issue today in my Node JS app running inside node:12.16.3-alpine image.
I tried @ben-turner solution and I just wanted to point out that instead of --nocache consider using --no-cache since it gave me an error pointing it out.
Of course if you get an error about it.

Hello all, I had this same issue as well on Travis CI. The solution I was able to implement was switching from Node.JS 14 to Node.JS 12 as per this documentation.

@arapocket Thanks for commenting—I forgot to follow up after I found a solution. It's been a couple of weeks so I don't remember exactly which change fixed it, but here's the configuration I'm running:
In my Dockerfile I have
RUN apk add --nocache udev ttf-freefont chromium git
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
ENV CHROMIUM_PATH /usr/bin/chromium-browser

// npm install, etc.

And then to launch the browser
puppeteer.launch({
  executablePath: process.env.CHROMIUM_PATH,
  args: ['--no-sandbox'], // This was important. Can't remember why
});

I also locked puppeteer to 1.17.0 in my package.json. I think that was to make the chromium and puppeteer versions match.

Thanks, this really helps a lot!
Now, I can run puppeteer on my aws eb.
The only thing that needs to be fixed is to set the RUN options with --no-cache, instead of --nocache.
I have no idea why do we need these packages udev ttf-freefont git, so I remove them and only install the chromium.
It works fine anyway.

@ben-turner and @arapocket , I'm using local html (string content) to generate PDF. how to initialize the puppeteer module
Ref: https://www.npmjs.com/package/pdf-puppeteer
let html = 'hello';
convertHTMLToPDF(html, callback, options, puppeteerArgs, remoteContent);

@udhayamoorthys Create a new issue. That doesn't really have anything to do with this issue from a year and a half ago unless you're seeing the same error.
Also, read the docs and try some things. Try to figure it out on your own before you start pinging random people.

I used to have problem for CI/CD of headful chrome extension testing and finally resolved with this package
https://github.com/mujo-code/puppeteer-headful
It also has docker file of headful setup process and this link would be helpful.

I'm using puppeteer and grover on alpine and was also getting:
Grover::JavaScript::Error:
Failed to launch the browser process! spawn [FILTERED]/node_modules/puppeteer/.local-chromium/linux-818858/chrome-linux/chrome ENOENT

Installing chromium from alpine packages and custom executablePath (also executable_path option in grover) solved the issue.
Instead PUPPETEER_SKIP_CHROMIUM_DOWNLOAD  env var, I used puppeteer-core package.
Thanks for the hints!

At the moment I am trying to use latest puppeteer (5.5.0) which should use chrome 88.
The whole point of using the chrome version that comes with puppeteer (in my case I locked the puppeteer version) was to be more predictible about which version of chrome I use. I am using puppeteer for image snapshots testing and in theory it might be possible that two different chromium versions might render different snapshots of the same page.
So the question still remains: does anyone have a sample dockerfile that uses node:alpine with puppeteer that actually uses the chromium version that ships with puppeteer?
PS: I also found this project https://github.com/Zenika/alpine-chrome and used that base image (unfortunately was not able to understand it very well) without having to change puppeteer's config (executablePath). So I hope I actually use the version of chromium that comes with puppeteer.

At the moment I am trying to use latest puppeteer (5.5.0) which should use chrome 88.
The whole point of using the chrome version that comes with puppeteer (in my case I locked the puppeteer version) was to be more predictible about which version of chrome I use. I am using puppeteer for image snapshots testing and in theory it might be possible that two different chromium versions might render different snapshots of the same page.
So the question still remains: does anyone have a sample dockerfile that uses node:alpine with puppeteer that actually uses the chromium version that ships with puppeteer?
PS: I also found this project https://github.com/Zenika/alpine-chrome and used that base image (unfortunately was not able to understand it very well) without having to change puppeteer's config (executablePath). So I hope I actually use the version of chromium that comes with puppeteer.

@bboydflo I use puppeteer with ruby and unoconv on apline. Here is the Dockerfile copy I use: https://gist.github.com/knapo/3c146ff45da43822edabd6f46bfd3f39. If you don't need ruby you can probably use pure alpine as a base.

@bboydflo I use puppeteer with ruby and unoconv on apline. Here is the Dockerfile copy I use: https://gist.github.com/knapo/3c146ff45da43822edabd6f46bfd3f39. If you don't need ruby you can probably use pure alpine as a base.

Used Homebrew to install Chromium on a Mac and the executable path was /usr/local/bin/chromium which works as the path for the Browser preview Chrome Executable in VS Code.

@arapocket Thanks for commenting—I forgot to follow up after I found a solution. It's been a couple of weeks so I don't remember exactly which change fixed it, but here's the configuration I'm running:
In my Dockerfile I have
RUN apk add --nocache udev ttf-freefont chromium git
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
ENV CHROMIUM_PATH /usr/bin/chromium-browser

// npm install, etc.

And then to launch the browser
puppeteer.launch({
  executablePath: process.env.CHROMIUM_PATH,
  args: ['--no-sandbox'], // This was important. Can't remember why
});

I also locked puppeteer to 1.17.0 in my package.json. I think that was to make the chromium and puppeteer versions match.

This worked for me on latest puppeteer with venom-bot (2.2.4)
My Dockerfile is the following.
`FROM node:14.15.5-alpine
WORKDIR /usr/src/app/
COPY package.json /usr/src/app
RUN apk add --no-cache udev ttf-freefont chromium git
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
ENV CHROMIUM_PATH /usr/bin/chromium-browser
RUN npm install
COPY src/ /usr/src/app
CMD [ "node", "server.js" ]`

For those who do not have access to puppeteer options (like when using a package where puppeteer is a dependency), you can use the following solution with variable PUPPETEER_EXECUTABLE_PATH
RUN apk add --update --no-cache \
            chromium \
            nodejs \
            npm

# Do not use puppeteer embedded chromium
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true"
ENV CHROMIUM_PATH="/usr/bin/chromium-browser"
ENV PUPPETEER_EXECUTABLE_PATH="${CHROMIUM_PATH}"

# Npm install...

Working example here: https://github.com/hardisgroupcom/sfdx-hardis/blob/main/Dockerfile

I'm using puppeteer and grover on alpine and was also getting:
Instead PUPPETEER_SKIP_CHROMIUM_DOWNLOAD  env var, I used puppeteer-core package.
Thanks for the hints!

how did you overcome this warning when using puppeteer-core instead puppeteer ? Grover::DependencyError (Cannot find module 'puppeteer'. You need to add it to '/app/package.json' and run 'npm install')

@artur79 Sorry for the confusion, eventually I didn't, because grover does not support overriding the package name and it's required based on puppeteer's doc: const puppeteer = require('puppeteer-core');.
So I ended up setting PUPPETEER_SKIP_CHROMIUM_DOWNLOAD env var + using chromium alpine package + passing executable_path: '/usr/bin/chromium-browser' to grover config and it worked well for me.

@knapo right, tried the same and works straight away from Grover. I also have in Dockerfile ENV GROVER_NO_SANDBOX true but not sure if required

Late to the party, but Puppeteer has a section in the docs on how to run on Alpine docker.
https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md#running-on-alpine


Update webpack to version 5 and fix userbar

Fixes #6657 and updates Webpack to v5
The problem turned out to be the fact that we we're adding polyfills.js to the bundle and this imports stuff from node_modules. Our webpack config bundles up anything that came from node_modules into a separate vendor.js bundle and it's all linked at runtime so  userbar.js wasn't being executed because vendor.js wasn't loaded and webpack was waiting for it.
Since it's written in a very portable way anyway, I've removed the polyfills from this bundle to remove this dependency and added a note at the top of userbar.py.
The Webpack upgrade turned out to be unnecessary, but thought might as well submit it anyway so we don't have to do it again later.

Looks good to me and works nicely! Rebased and merged in 5e54382aae48162152fccded7f56de19219d9899.

Looks good to me and works nicely! Rebased and merged in 5e54382aae48162152fccded7f56de19219d9899.


Add Emoticon Composer Font

Hi/Hello, I Idea It Is Possible To Add Emoticon Composer Font Show A Emoticon Composer If Is Between ":" Like This :::::::::::::: :Aa:

Hello/Hi, I've transferred your issue to the new client repo.
I like the idea and have already looked into it. Implementing the base feature would be simple enough. It'd be nice to extend it, in the future, into allowing channels to have their own emoji sets (not unlike a popular chat service you might have used). I'll keep this issue open and update it when/if the feature gets added


SER-1422 Support PNs in PyLib

@clarkevandenhoven Could you also add Part Numbers to the python doc either as part of this PR or as part of SER-1425?


⚠ Secret Website 3 has degraded performance

In f3b1fb1, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 1894 ms

Resolved: Secret Website 3 performance has improved in 2110a99.


The database does not match the target database warning after migrations

To everyone behind Serverpod:
A world of thanks for all the effort to build and maintain this, you are helping many people reach their goals.
And here is what I want to ask:
I add a new column to an existing table, I create a migration, and get the warning:
Migration Warnings:
 • One or more columns are added to table "users" which cannot be added in a table migration. The
complete table will be deleted and recreated.
Migration aborted. Use --force to ignore warnings.

Then I force it, and run apply migrations, and get this result:
Applied database migration:
 -<PHONE_NUMBER>0556757
WARNING: The database does not match the target database:
 - Table "users" is not like the target database.
 -Hint: Did you forget to apply the migrations (--apply-migrations) or run a repair migration (--apply-repair-migration)?

Then I create a repair migration and apply it and the result:
SERVERPOD version: 2.1.1, dart: 3.3.4 (stable) (Tue Apr 16 19:56:12 2024 +0000) on "macos_arm64", time: 2024-09-15 20:09:53.552788Z
mode: development, role: maintenance, logging: normal, serverId: default
Database repair migration "20240915200939084" applied.
WARNING: The database does not match the target database:
 - Table "users" is not like the target database.
Hint: Did you forget to apply the migrations (--apply-migrations) or run a repair migration (--apply-repair-migration)?

Now, if this is the right way to do these changes?
If I'm doing something wrong, please advise :)
Also, after applying repair migration, I can see the new column in the database despite the warning.

Question, did you regenerate the code as well?
The integrity check is done by generating the expected table definition in dart and then checking against the real state in the db. If you only created migrations but did not regenerate the code after the model change then you may get a warning like this.

not sure actually. I'll retry and post. so the intended flow is to use forced migrations I guess. are there any guides for these migrations, for cases when we don't want to drop and recreate tables?


Add files via upload

@A-PollyMer file/lib/domains/ph/edu/nu-dasma.txt: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.

@A-PollyMer Please provide us with:

the school official website URL
the school street address, including city and country
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

You can provide us with any of the following as the proof:

A copy of instruction (a hard-copy or electronic one) given to you by the school that tells you to use an email address in this email domain
An URL of a page at the official school website that says that students use this email domain
A reference to a recognized journal where an article was published by someone from the school, with explicit affiliation to the school, and e-mail address from the email domain
A WHOIS data that link the email domain to the school somehow
A copy of official letter from the school representative saying that the school provides e-mail addresses in this domain to the students
Anything else that can prove this fact in similar way, i.e. can be verified independently.

@A-PollyMer You might miss my previous comment. Please react.

How do I reopen it? via github T-T or just reply to the email address you
provided?
On Fri, 29 Nov 2024 at 15:32, Philip Torchinsky @.***>
wrote:

@A-PollyMer https://github.com/A-PollyMer I am sorry, this request
remains unanswered for a while. I have to close it without merging. Please
reopen and comment if you have an update regarding the aforementioned
issue. Thank you for your understanding!
—
Reply to this email directly, view it on GitHub
https://github.com/JetBrains/swot/pull/25166#issuecomment-2507237175,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BM52CAQNX6WKIA3TNTZ4XBL2DAKBPAVCNFSM6AAAAABRYYV6KGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMBXGIZTOMJXGU
.
You are receiving this because you were mentioned.Message ID:
@.***>

@A-PollyMer I reopened the request. Please upload the necessary documents here if they are not confidential. If they are confidential, please send them to<EMAIL_ADDRESS>by email, mentioning this URL in the message: https://github.com/JetBrains/swot/pull/25166. Thank you.

@A-PollyMer I am sorry, this request remains unanswered for a while. I have to close it without merging. Please reopen and comment if you have an update regarding the aforementioned issue. Thank you for your understanding!


Remove and ignore .DS_Store files

📝 Description
This pull request removes existing .DS_Store files and add them to .gitignore for ignoring future files.
.DS_Store files are just garbage files from MacOS, and we don't need them in our repo!

There we go, should be good now. Thanks for spotting my error @m4x3d :)

Thanks for this PR @selbekk!


Git fetch fails with exit code 1 and "would clobber existing tag" message

Have you tried troubleshooting?
Yes
Agent Version and Platform
2.150.3 Windows
Azure DevOps Type and Version
https://dev.azure.com/DevDiv
What's not working?
The git fetch command in the pipeline checkout step is failing on agents that have cached an old tag that was subsequently updated. This seems to be related to a change in how git fetch handled tags that was introduced in git version 2.20. Previously --force was implicitliy applied when fetching tags, but now it's not, so git fetch --tags can fail if the upstrem tags changed without manually specifying --force.
It looks like the git version of the agent was bumped from 1.18 to 1.21 in #2166, so adding an explicit --force to the list of options in GitCommandManager.GitFetch and GitCliManager.GitFetch should match the old behavior and prevent this particular error.
Example error log:
##[section]Starting: Checkout
==============================================================================
Task         : Get sources
Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
Version      : 1.0.0
Author       : Microsoft
Help         : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199)
==============================================================================
Syncing repository: *** (Git)
Prepending Path environment variable with directory containing 'git.exe'.
##[command]git version
git version 2.21.0.windows.1
##[command]git lfs version
git-lfs/2.1.0 (GitHub; windows amd64; go 1.8.1; git bd2c9987)
##[command]git config --get remote.origin.url
##[command]git clean -ffdx
##[command]git reset --hard HEAD
HEAD is now at 6edf0415 ***
##[command]git config gc.auto 0
##[command]git config --get-all http.***
##[command]git config --get-all http.proxy
##[command]git -c http.extraheader="AUTHORIZATION: bearer ***" fetch --tags --prune --progress --no-recurse-submodules origin
remote: Azure Repos
remote:
remote: Found 37 objects to send. (7 ms)
From ***
   518103d2..1c1f03e1  master         -> origin/master
 ! [rejected]          16.1_P3        -> 16.1_P3  (would clobber existing tag)
##[warning]Git fetch failed with exit code 1, back off 4.465 seconds before retry.
##[command]git -c http.extraheader="AUTHORIZATION: bearer ***" fetch --tags --prune --progress --no-recurse-submodules origin
From ***
 ! [rejected]          16.1_P3    -> 16.1_P3  (would clobber existing tag)
##[warning]Git fetch failed with exit code 1, back off 4.481 seconds before retry.
##[command]git -c http.extraheader="AUTHORIZATION: bearer ***" fetch --tags --prune --progress --no-recurse-submodules origin
From ***
 ! [rejected]          16.1_P3    -> 16.1_P3  (would clobber existing tag)
##[error]Git fetch failed with exit code: 1
##[section]Finishing: Checkout

@danegsta thanks for reporting this.
@juliobbv we should fix this.

If anyone is facing this issue before the fix lands in a released agent version, it seems that setting
workspace:
  clean: all

for yaml builds works, although this will re-clone the entire repo on every build (which may not be ideal I suppose).


Error in lines 970-971

I was not able to get this file to work unless I changed lines 970-971 from
 M[i, y_coor] = B[a, z]
 M[y_coor, i] = B[a, z]

to
M[i, y_coor-1] = B[a, z]
M[y_coor-1, i] = B[a, z]

Thanks for the report! Can you make a PR to fix this error?

Hi,
I'm new to github, but I observed after some further testing that my line
edit didn't actually solve the problem. Not having found a solution, should
I post the error message I received, which arose from testing the script on
a well-known benchmark created with networkx, or should I merely contact
the code's author?
The error has more to do with a problem reshaping an array.
Thanks for your assistance. I want to make sure I follow the correct
procedures.
Paul
On Mon, Dec 30, 2019 at 5:27 PM Titipat Achakulvisut <
<EMAIL_ADDRESS>wrote:

Thanks for the report! Can you make a PR to fix this error?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/KordingLab/nctpy/issues/2?email_source=notifications&email_token=AJWRNJMRDHY7VBJ5FMQWCRDQ3JYTNA5CNFSM4KBQTR32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH3K5RQ#issuecomment-569814726,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJWRNJJ3TXHHWLLJWUDKJATQ3JYTNANCNFSM4KBQTR3Q
.

--
Professor of Mathematics, Grand Valley State University
President, Pi Mu Epsilon National Honorary Mathematics Society, Inc.
Department of Mathematics (MAK C-2-408)
Grand Valley State University
1 Campus Dr.
Allendale, MI 49401
<EMAIL_ADDRESS>616.331.2443
616.331.3120 (fax)

@fishbacp Thanks a ton! I did a quick fix to the code and it should work now. I'm not sure if the math is completely right tho. Feel free to take a look!
import networkx as nx
import numpy as np
from nct import small_world_propensity, regular_matrix_generator

n = 10
k = 4
p = .01
G = nx.watts_strogatz_graph(n,k,p)
G = np.array(nx.to_numpy_matrix(G))
SWP, delta_C, delta_L = small_world_propensity(G, method='O')
print(SWP, delta_C, delta_L)
>> (0.29237040411638093, 1.0, 0.03846153846153852)


New+ does not work in Directory Opus alternative file manager

Microsoft PowerToys version
0.85.0
Installation method
PowerToys auto-update
Running as admin
No
Area(s) with issue?
New+
Steps to reproduce
I use an alternative file manager: Directory Opus version 12.33 x64
The new feature new+ does not work in this program.
It does work like intended in normal File Explorer.
✔ Expected Behavior
New files or folders
❌ Actual Behavior
Nothing. Just a spinner for a second.
Log file (at: ..\NewPlus\NewPlus.ShellExtension\Logs\v0.85.0) does not say anything.
Other Software
Directory Opus version 12.33 x64

Looks like a compatibility bug. Indeed this was made to work with Explorer, not other file managers.

Yes, I agree that this issue is probably outside of the scope of PowerToys.
I will close this issue because I don't think a solution is possible.
I just wanted to let you know, thanks for your response!

I use FileCenter DMS which also allows use of the standard Explorer (old-style) context menu. However, the same behavior is noted there. All other apps in the context menu work just fine. The fact the New+ does NOT work in an Explorer context menu simply because it is invoked elsewhere indicates some unusual behavior.


[HUDI-1638] Some improvements to BucketAssignFunction

The #initializeState executes before #open, thus, the
#checkPartitionsLoaded may see null initialPartitionsToLoad

Only load the existing partitions

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contributing.html before opening a pull request.

What is the purpose of the pull request
(For example: This pull request adds quick-start document.)
Brief change log
(for example:)

Modify AnnotationLocation checkstyle rule in checkstyle.xml

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

Added integration tests for end-to-end.
Added HoodieClientWriteTest to verify the change.
Manually verified the change by running a job locally.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Thanks for the patch!

Codecov Report

Merging #2600 (ee2c582) into master (77ba561) will increase coverage by 0.01%.
The diff coverage is 86.66%.

@@             Coverage Diff              @@
##             master    #2600      +/-   ##
============================================
+ Coverage     51.17%   51.18%   +0.01%
+ Complexity     3226     2657     -569
============================================
  Files           438      347      -91
  Lines         20089    15359    -4730
  Branches       2068     1497     -571
============================================
- Hits          10281     7862    -2419
+ Misses         8961     6875    -2086
+ Partials        847      622     -225

Flag
Coverage Δ
Complexity Δ

hudicli
36.87% <ø> (ø)
0.00 <ø> (ø)

hudiclient
100.00% <ø> (ø)
0.00 <ø> (ø)

hudicommon
51.35% <ø> (ø)
0.00 <ø> (ø)

hudiflink
46.85% <86.66%> (+0.47%)
0.00 <2.00> (ø)

hudihadoopmr
?
?

hudisparkdatasource
?
?

hudisync
?
?

huditimelineservice
?
?

hudiutilities
69.46% <ø> (+0.10%)
0.00 <ø> (ø)

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

Impacted Files
Coverage Δ
Complexity Δ

...udi/operator/partitioner/BucketAssignFunction.java
84.78% <86.66%> (+5.23%)
21.00 <2.00> (+3.00)

.../org/apache/hudi/hive/HoodieHiveSyncException.java

...g/apache/hudi/timeline/service/RequestHandler.java

...di/timeline/service/handlers/FileSliceHandler.java

...c/main/java/org/apache/hudi/dla/DLASyncConfig.java

...3/internal/HoodieDataSourceInternalBatchWrite.java

...spark3/internal/HoodieDataSourceInternalTable.java

.../hive/SlashEncodedHourPartitionValueExtractor.java

.../src/main/java/org/apache/hudi/dla/util/Utils.java

...main/java/org/apache/hudi/dla/HoodieDLAClient.java

... and 84 more

@lamber-ken You should have merge permission. Please go ahead.

Got @yanghua, thanks @danny0405 for the patch!


Dart 2.12 compatibility

The testreport package was not entirely null safe so this package need to update its dependency on testreport and some small changes to its API.
This pull request contains the commits from @miguelslemos that he made with his pull request (#24).

Hi, thanks for your effort. I decided to revisit all the code myself and verify the nullness based on the specification of the test-output json file.
A null-safe version 2.0.0 has just been released.


Having trouble getting repo.fork() to work.

This could be me, but I documented my issue here.
Generally, speaking, what scopes are needed in the API application to fork a public repo (from an organization)? Mine are set to repo and public_repo but I get a 404 from running:
var repo = github.getRepo("michael", "github");

// this works
repo.show(function(err, myRepo) { console.log(myRepo); });

// this does not
repo.fork(function(err) {
  console.log(err);
});

This is over a year old now. Closing as unable to confirm.

I'm having the same problem, I'm trying to fork a user repo but I can't get it working.
//I create the Github instance
var github = new Github({
  username: "user",
  password: "pass",
  auth: "basic"
});

//Then get the repo
var repo = github.getRepo("alejost848", "polytipe");

//I print it on the console to see if it is working (it is)
repo.show(function(err, repo) {
  console.log(repo);
});

//I try to fork the repo, but it's not working
repo.fork(function(err) {});

//Creating a new repo works though
var user = github.getUser();
user.createRepo({"name": "test"}, function(err, res) {});

What am I missing here? Thanks.


Turn x gh

Dgdhfg

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

ID: 144afccf-4ab9-bb34-957d-e86d3732d688
Version Independent ID: 863b80ff-f60a-e727-dc12-0d6aba937df6
Content: Azure Monitor overview
Content Source: articles/azure-monitor/overview.md
Service: azure-monitor
GitHub Login: @bwren
Microsoft Alias: bwren

@AsdfrGasd could you provide clear information on the issue you are seeing?

Closing issue as spam.


librealsense: Set build type to ROS explicitly

The fix for build type detection in librealsense's CMakeLists.txt
turned out to be non-functional in the official ROS build farm as
explained in https://github.com/IntelRealSense/librealsense/pull/404
Since this recipe is specific to meta-ros set the build type
explicitly to ROS to guaranty the catkin-related configs for
librealsense get created and installed properly.
Signed-off-by: Dmitry Rozhkov<EMAIL_ADDRESS>

This pull request looks good to me. I will run just a quick build of the affected recipes and then merge it.

Okay, I just tested it on the current master of oe-core and meta-oe and it works. Thanks.


Typo in createSelectorCreator

Current coverage is 100.00%

Merging #65 into master will not affect coverage as of f7ea60b

@@            master     #65   diff @@
======================================
  Files            1       1
  Stmts           41      41
  Branches         0       0
  Methods          0       0
======================================
  Hit             41      41
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of f7ea60b

Powered by Codecov. Updated on successful CI builds.

Hi @compulim, that's not a typo—we are creating a selector named customSelector by calling customSelectorCreator that we defined a few lines above. Thanks for taking the time to make a PR though, it's appreciated.

@ellbee, Oh right, I overlooked at customSelectorCreator and think it was createSelectorCreator instead. :+1:


Driver test to confirm Firestore client behaviors

Fixes #17 .
The example/test_driver/cloud_firestore_behaviors driver test ensures that the behavior of
cloud_firestore_mocks follows the real Firestore client for both Cloud Firestore backend and Firestore emulator backend.

@atn832 The idea of the driver test worked in my environment. Thank you for the advice. When you have time, would you try to confirm it works in your Mac (I assume you have iOS simulator).

This looks amazing. Let me try it this weekend.

I gave your PR a try.
I was able to run the integration tests on an Android emulator and iOS simulator for the real firebase and the mock library (woohoo!), but not the emulator.
When running tests with the emulator, it times out on Android, and returns this error instantly on iOS:
flutter: 00:00 +5 -5: Firestore behavior comparison: Nested objects update (Firestore Emulator) [E]
flutter:   PlatformException(Error 7, FIRFirestoreErrorDomain,
  false for 'create' @ L16)
flutter:   package:flutter/src/services/message_codecs.dart 569:7        StandardMethodCodec.decodeEnvelope
  package:flutter/src/services/platform_channel.dart 156:18     MethodChannel._invokeMethod
  ===== asynchronous gap ===========================
  dart:async/zone.dart 1064:19                                  _CustomZone.registerBinaryCallback
  dart:async-patch/async_patch.dart 84:23                       _asyncErrorWrapperHelper
  package:test_api/src/backend/invoker.dart                     Invoker.waitForOutstandingCallbacks.<fn>
  dart:async/zone.dart 1126:13                                  _rootRun
  dart:async/zone.dart 1023:19                                  _CustomZone.run
  dart:async/zone.dart 1518:10                                  _runZoned
  dart:async/zone.dart 1465:12                                  runZoned
  package:test_api/src/backend/invoker.dart 239:5               Invoker.waitForOutstandingCallbacks

Yet the emulator seems to be running ok:
% firebase emulators:start --only firestore
i  Starting emulators: ["firestore"]
i  firestore: Logging to firestore-debug.log
✔  firestore: Emulator started at http://localhost:8080
i  firestore: For testing set FIRESTORE_EMULATOR_HOST=localhost:8080

Maybe I need to configure the emulator/simulator in some special way, so it can access my mac's port 8080?

@atn832 Updated the document. Regarding PlatformException(Error 7, FIRFirestoreErrorDomain,    false for 'create', I suspect your emulator picked up some security rules (that could be from firebase init). Would you try running the emulator without firebase.json?

I don't have write access to the repository. Would you merge current branch?

Merged. Also I've sent you an invite to collaborate. :)


Feature/winston logger

Added a dependency on winston in the backend system
Changed all references from console.* to log.* accordingly
Created a general log with specific additional data per each file using the [winston].child method

For now the only transport we work with is console alongside formats of timestamp and json - it should be enough for the time being.

@idodav It's really important to pay emphasis to the documentation of the codebase. Looks like the documentation is missing from the changes made, this shall make it difficult to onboard any additional developer.
I would like to request @nkotzrenko to please look into this and improvise the codebase.

Also, @nkotzrenko can you please confirm in case the above changes have been run through the associated linters, Thanks
cc: @idodav

@idodav It's really important to pay emphasis to the documentation of the codebase. Looks like the documentation is missing from the changes made, this shall make it difficult to onboard any additional developer. I would like to request @nkotzrenko to please look into this and improvise the codebase.

Hi @SID262000, I'd like to ask; What do you mean by documentation of the changes made? (Other than the changes written in the PR in bulletin points)
Also, what do you mean exactly by improvise the codebase? What do you exactly propose to be done in the codebase? Adding an on-boarding document? A changes document when a version is released?
Thank you in advance,

Hi @nkotzrenko ,
It's always important to have a well documented codebase, couple of specific points like adhering to 5 lines of code, adding comments, following SOLID Principles wherever applicable. Although the caveat here is it might lead to over engineering at times.

@SID262000 I don't really like the 5 lines of code rule. Also, I don't really like comments. Only when necessary. The Code should explain itself.
As for documentation. Do you have any practical example/suggestion?

@idodav For Reference: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/


Fixed class/interface name of ThrottledRequestQueue.

Hi guys,
I've realized this while exploring the current architecture recently, but failed to submit it in time for 2.0.0, sorry for that ... The changeset builds and tests correctly, but obviously I'm not in a position to judge potential side effects, please review accordingly.
Thanks & Ciao,
Steffen

thanks, I implemented this with search and replace as origin had moved quite a bit.


Flash of slide content when infinite is set to true

Came across a very weird bug that I'm having a hard time debugging and wanted to mention here in case anyone else is experiencing a similar issue or has any ideas.
Basically what I'm noticing is when I have the slider option "infinite" set to 1, when the slider transforms (loops) from the last slide back to the first, there is a very quick flash of slide content. My content is set to a dynamic width according to how the documentation suggests/gives example to. I can confirm this exists also on the Examples page. See the "MULTIPLE SLIDES TO SCROLL" example. Notice how when the slider resets back to the first slide, there is a brief flash?
The only thing that I have been able to figure out is that I see this issue when my sliders have less than 4 slides total and infinite is set to true, there is a flash. See this pen. The flash occurs at the end when transitioning back to the first slide shaded red. If you uncomment the 4th slide in the HTML then the flash doesn't seem to appear.
Any ideas on why this is happening or how to resolve this? I'm running Chrome v60.0.3112.113.

Please try to set transition-delay: 1ms on the slides container (.js_slides) element.

@dsktschy Thanks so much! That resolves the issue I was experiencing! I appreciate the help and guidance.

I also came across this bug - of note is that I only experienced it on a retina screen. Setting the transition delay fixed it for me as well.


add support windows high contrast mode - fake radios

Hi :) Just plugging in some CSS support for fake radio buttons in High Contrast Mode.

Nice! I do agree with the media queries over ms- specific properties. I like!


Add a Gitter chat badge to README.md

WINFOspace/Blog now has a Chat Room on Gitter
@jpbernius has just created a chat room. You can visit it here: https://gitter.im/WINFOspace/Blog.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


allow to simulate Platform

allow to fake Platform to opt in/out of different widget behaviors
it should be scoped, like Theme (even might be a part of it?)
use cases

i would like to show materialTextSelectionControls in web, but even if i explicitly pass them to selectionControls - they are simply not shown
opting out of oncoming desktop scrollables changes https://github.com/flutter/flutter/pull/75728, https://github.com/flutter/flutter/pull/75354

and other places where there are platform-specific behaviors

Hi @nt4f04uNd
I'm not really sure if I understood your proposal. Can you please elaborate?
Do you want to simulate platform or opting out of oncoming feature?

opting out of oncoming desktop scrollables changes #75728, #75354

I would suggest to either wait for it to land or leave your suggestion in the issue that those PRs are closing or even in the PRs itself as the feature is not even implemented.

i would like to show materialTextSelectionControls in web, but even if i explicitly pass them to selectionControls - they are simply not shown

I may be wrong but this sounds like an issue or a feature request since (AFAIK) web does not use text selection controls. Do you have any reproducible code sample?

allow to fake Platform to opt in/out of different widget behaviors
it should be scoped, like Theme (even might be a part of it?)

@pedromassangocode i'm suggesting to add a distinct Platform that we could change contextually dependent on our needs

Do you want to simulate platform or opting out of oncoming feature?

the former one as a way of doing the latter. adding such thing would allow to opt out of any platform-specific behavior. as you can see at the OP, i mentioned those specific PRs as use cases

I would suggest to either wait for it to land or leave your suggestion in the issue that those PRs are closing or even in the PRs itself as the feature is not even implemented.

this would not be required with adding suggested in this issue feature

I may be wrong but this sounds like an issue or a feature request since (AFAIK) web does not use text selection controls. Do you have any reproducible code sample?

same case as per mentioned PRs - this is a use case
to elaborate even more, since after your answer i feel like you don't understand what "use case" means
use case - is a case of someone willing to do something, but not necessarily able of doing at the time being

i discovered this is already implemented in TargetPlatform and ThemeData.platform lol


Button with Focus loses Focus style on revisiting from different window.

Bug Report
Description

When I'm using keyboard navigation to tab onto buttons in a ButtonGroup, the highlighted button loses the highlight on the right hand side of the button when in switch to and the back from another application, or another browser tab.
(This is happening in Safari and Chrome on Mac)

I originally posted about this on teams
Steps to Reproduce

Open this page
Tab onto the Button Group example "ButtonGroup Is Block - width stretches to fill container"
With the first button highlighted, Cmd + tab to switch to another application and again to switch back
The highlight will be missing from one of the edges

Additional Context / Screenshots
Expected Behavior
The button should retain the highlight around all 4 sides of the button
Possible Solution

Environment

Component Name and Version: ButtonBroup.Button
Browser Name and Version: Safari and Chrome on Mac
Node/npm Version: [e.g. Node 8/npm 5]
Webpack Version:
Operating System and version (desktop or mobile): Mac desktop

@ Mentions

@supreethmr

I am not sure whether this is an issue. seems to be default behavior when two buttons get clubbed together because of the right  button border taking more precedence.
This is the same behavior in html button group as well.
cc. @neilpfeiffer , @StephenEsser

I was able to recreate this on dev-site. focus styles of selected button was being removed on opening new window and revisiting the dev-site.

we can also on dom element isFocused class gets removed from selected button on changing the window but it stays on unselected button even on opening new window.

it looks like for unselected button is-focused class adds focus styles whereas for selected button focus styles were being added by class is-selected.is-focused which is defined here. Needs further investigations for the fix.


fail deployment when function version mismatch

new behavior compared to vsdeploy:

this PR is still in progress:

add deployment tests
currently, if user updated appsettings and do a git push, they will see "Everything up-to-date" instead of a rebuild of their function app...this is because kudu logic is only triggered when there's a change in repository, not in appsettings

changes in VShelper is just some refactor, avoid writing duplicate code to retrieve property from csproj, here is a quick summary:
I want to aggregate these lines:

https://github.com/projectkudu/kudu/blob/50c9627e0965409b375f5a9ac3f8225c64532da9/Kudu.Core/Infrastructure/VsHelper.cs#L74-L79
https://github.com/projectkudu/kudu/blob/50c9627e0965409b375f5a9ac3f8225c64532da9/Kudu.Core/Infrastructure/VsHelper.cs#L97-L108
To determine which function version the app is targeting, I need to get <AzureFunctionsVersion>v2</AzureFunctionsVersion> from <PropertyGroup>

and lastly this code is no longer being used, should be removed with https://github.com/projectkudu/kudu/commit/59561993c49d5935ce91ca062d800a6e57b1ad5f:
https://github.com/projectkudu/kudu/blob/50c9627e0965409b375f5a9ac3f8225c64532da9/Kudu.Core/Infrastructure/VsHelper.cs#L124-L140


Gorutine Time-consuming increase

hi  i do
for i := 0; i < 100; i++ {
		go func() {
			start := time.Now()
			key := fmt.Sprintf("test:%s", string(i))
			redisClient := service_global.NewCache().GetRecommendCache()
			redisClient.Get(key).Result()
			end := time.Now()
			latency := end.Sub(start)
			fmt.Println(fmt.Sprintf(">>>>>times>> %v", latency))
		}()
	}

result：

times>> 87.723779ms
times>> 87.380657ms
times>> 87.538872ms
times>> 87.691341ms
times>> 88.127425ms
times>> 90.904647ms
times>> 90.507897ms
...
times>> 1s

so what happen？

??? @vmihailenco

Very likely that is a problem in your app. Anyway you need to provide a program that reproduces the problem.


Don't run tf.global_variables_initializer() after mode weights loaded

sess.run(tf.global_variables_initializer()) re-initialize all variables, all the weights loaded from a file will be reset.

Thank you.
Repo updated.


Calls to /nss/host are not idempotent

API calls to register new host are not idempotent. Example:
For payload
{
	"name": "server01",
	"token": "dd3a5w2",
	"group_name": "admin"
}

Response to first call is:
{
    "success": true,
    "access_key": "mo5bm2sc",
    "host": "svr01",
    "groups": [
        "admin",
        "server01_host_group",
    ]
}

and response to second call is:
{
    "success": true,
    "access_key": "sa35v20a",
    "host": "svr01",
    "groups": [
        "admin",
        "admin",
        "server01_host_group",
        "server01_host_group",
    ]
}

Fixed with #1a0da5d We weren't creating group twice, but we were adding group twice, now we check if the group exist in host groups then don't add it again.


Angular minimum version

Hi, I am currently using the old library ngx-alerts and I always need to install npm with --legacy-peer-deps. Yarn doesn't even work at all.
In this new version, the minimum Angular version is set to 12.0, is there any reason for it? Because I am still on 11.2 and can't use it...
The correct way to set the peer dependencies without breaking future versions is this:
   "peerDependencies": {
      "@angular/common": ">=6.0.0",
      "@angular/core": ">=6.0.0",
      "@angular/platform-browser": ">=6.0.0",
      "rxjs": ">=6.0.0"
   }

Afaik Angular 6.0 had the last breaking changes against Libraries, so there shouldn't be a problem setting this to 6 or 8.

Hi, i just synced the versions with the angular version. I had an issue with the some changes between angular 10 and 11 i believe so that's why i keep them on the same version now.
You should probably be able to use version 11.0.2 (npm i --save<EMAIL_ADDRESS>if you're on angular 11

I could upgrade to Angular 12 today, so it doesn't matter anymore


refactor: Implement Ident as vec

Part of #1535, this changes our Idents in PL from $namespace.$name to an arbitrary hierachy.
It's full of .clone() & .into() -- I've been doing this by replacing one definition and then adding lots of .into() untils it passes (not the most conceptual work!). Doing it incrementally at least means I can't end up in a quagmire of not knowing why the new version doesn't work; it's easy to revert to the last known good state. We can do another pass to improve the rust / reduce allocations.
The plan here would be to:

replace any other usages in the compilation prior to the ident being resolved. Once it's resolved, it doesn't necessarily need a full hierarchy. Possibly we can remove the old Ident / rename the new one to Ident.
adjust how the resolution works so we can have arbitrary hierarchies of schema (a.b.c). Still some work to think about how this should work (some initial comments in #1535)
make backticks fully opaque, so #1535 works -- then using parquet files will be easy, we won't need to quote schemas, the semantics will be simple & consistent

This is now ready for review.
The final PR ends up being very small. I feel like it was a lot of work! — because each change undid some of the previous change as I moved through the pipeline swapping out Ident for IdentParts. But I think was necessary to avoid having no idea where the cause of a problem was — and it caught #2303, which I think would have been difficult to find for me if I'd been looking all over the repo.
If others agree the path above is good, we can merge this, and then we can work on the name resolution, as per bullet (2) above

Ok, reflecting more, I think I might have made a mistake here. That's annoying — I should have raised the suggestion earlier. Thanks a lot for pushing back.
Do you remember where in the library currently stops us from having from x.y.z | select z? It can't find the item but I'm not sure why it's not placed.
Probably we should start there and then work out what's required, rather than my previous approach.

Ah, it happens :)
It's a long explanation of how table inference is working, so I'll just point you toward Module::wildcard and Module::default

Scratch that, look at this https://github.com/PRQL/prql/blob/main/prql-compiler/src/semantic/context.rs#L53-L54


Run test/build actions after every push

At the moment the test/build actions run only when the "ok-to-test" label is added to a PR. If a test fails and you push a new commit, you have to remove and re-add the label to get the builds to run again.

Should be fixed with this - https://github.com/SAME-Project/same-project/commit/2ddc97c4871653eca99c7209bf98038554bda8bf


Pushdown simplest sorting with ORDER BY

What should be done?
Currently, we rely on our Go code to sort documents the same way MongoDB does because PostgreSQL and other backends don't sort them the same way. But that requires us to fetch all documents before we can sort them, and that kills performance. Let's start investigating what we could do about that.
Let's add a new flag --test-enable-sorting-pushdown that would pushdown ORDER BY field ASC/DESC query part if:

the command is either find or aggregate;
find's command projection parameter is empty;
there is only one field name, and it does not use a dot notation.

If pushdown was performed, we should skip sorting with the Go code.
That flag should also be added to integration tests. No new automated tests or CI configurations are necessary.
Where?
pgdb.
Definition of Done

PostgreSQL handler updated;
spot refactorings done;
tested manually.

That flag should also be added to integration tests.

That part wasn't done

DoD: we only pass the flag, some tests are expected to fail, we don't process the flag in the tests.


Merge moment-duration-format plugin

See #1048.
A quick pass at converting @jsmreese's plugin into the Moment module system and stripping out the obviously duplicated code vis-a-vis Moment's existing helper functions, etc.  I also arbitrarily yanked out the "precision" config option, because I didn't want to keep the padZero function that was mostly a duplicate of Moment's zeroFill, and I didn't care to rework that bit of code right now.
This currently adds 4.8KB to the minified build, which is about +8% of the existing codebase.  That seems a little heavy given our concerns about file size.  On the other hand, there are a number of comments in the code, so this stat may be overstating the actual impact on file size.
I still need to port the tests before we merge this, but I probably won't bother to do so until we decide if the file size impact is prohibitive.

You'll want to take the code from the dev branch of moment-duration-format, not the master branch. A few issues are fixed there, and the default behaviour is changed to rounding, not truncating (with truncating as a configurable behaviour), which seems like a better default.
Also, the minified size of my plugin as it stands is ~1.8KB gzipped and ~4.4KB uncompressed. As you noted, the unminified code is full of comments -- those are stripped out by any minifier so won't affect the minified file size.

What if we built this as a separate file? Seems like that should be possible, especially if we drop IE 8 support with moment 3. That would eliminate some of those utility imports.

what about this mr?

@butterflyhug so are there any reserved characters or anything so we could (in the future maybe) implement what we talked about in gitter : .format("[h:[m:]]s") to mean drop the pieces if the token is 0.

The plugin that I was porting in this PR is using [] to denote literal text, so we'd want to reserve something else if we want both behaviors.  (Maybe {}?)  That said -- I suspect we want to avoid a situation where we support both the "trim" feature from moment-duration-format and the bracket-based syntax that we were chatting about; mixing the two sounds bug-prone.
Assuming we prefer our syntax since it's a bit more flexible for developers, I'll try to take a crack at writing a version based on @jsmreese's dev branch that implements our syntax and removes the trim-related features.  That's lower in my priority queue than the immutability stuff, though.

@butterflyhug I think ideally we should have both and maybe a flag to choose. Sometimes you want no trim so the existing code should support that.
I know its low priority, that is why I just want to reserve a token and maybe open an issue to see how many people care (with +1).

Hi all,
Is this PR going to be merged soon?
Thanks a lot, that would be awesome!
Have a good day.

Hi!
Guys, will this feature come soon?
Thanks!

+1 on this PR please.

This remains on my todo list, but it's a lower priority for me than getting immutability ready for 3.0.  When I come back to this, I'm likely to start over with porting @jsmreese's newer version of his original plugin instead of continuing with this particular porting effort.
Given these realities, I'm going to close this PR.  If someone else wants to pick up the work before I get a chance to work on it again, please feel free.


Fix two bugs in basex decoder

First bug: io.ReadAtLeast drops errors if it reads enough characters.
Second bug: both io.ReadAtLeast and punctuatedReader (among other)
things return io.ErrUnexpectedEOF, so we were dropping errors from
the latter.
The solution to both is to not use io.ReadAtLeast, and instead refill
the buffer manually.
Reenable a test (which was hitting the second bug!).
Fix a few typos.

Coverage decreased (-0.05%) to 86.174% when pulling 16070dd90667366a4ea0d25addef0972efbf8030 on akalin/fix-basex-bug into 8225c40ff652229f29123031877ae39259eed50f on master.

Coverage decreased (-0.05%) to 86.174% when pulling f49cc821908b26bda0799158d9d2fed390d9fd87 on akalin/fix-basex-bug into 8225c40ff652229f29123031877ae39259eed50f on master.

Is there a way to see which particular lines became uncovered? I don't think I removed any important coverage...

Looks like there is not :( https://github.com/lemurheavy/coveralls-public/issues/359
In general I'm much more concerned with decryption coverage than with anything else.

Yeah, I'm almost certain the coverage decrease was because I added a comment on top of an uncovered line (the TODO).

Looks like this bug is also present in go's standard library. Filed bug: https://github.com/golang/go/issues/20044

Yeah I noticed their ReadFull function has the same behavior, because it calls ReadAtLeast on the inside.


Sync published with master

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Deploy preview for docsdocker ready!
Built with commit cbc9539e94cc22e35605f80cd76b1d7df86770b3
https://deploy-preview-8839--docsdocker.netlify.com


Write unit tests for the IR printers

See https://github.com/scala-js/scala-js/pull/2258#issuecomment-189242905

Maybe it is a good start to pick it up and write some tests? I could try this I think. It helps me understand IR.

That could be a good start, yes.

Yep, I will try to pick it up.


Remember where the user stopped reading "Following" feed

Please remember where the user stopped reading the "Following" feed, and resume from this position when the user starts the app.
Why ? Because it's very annoying to have to scroll back to recover old posts.
Warning : don't move the feed position when refreshing for new posts. Never. The feed position is sacred. Only the user can move it.
Joke aside : if this use case does not fit everyone, please at least make a setting for that.

This is a much-requested feature, see #976.

Sorry, I didn't use the right keywords when searching for existing issues.

Sorry, I didn't use the right keywords when searching for existing issues.

No worries, I just wanted to point you to where the discussion is happening :)

Still waiting for this must have feature.

Can I throw my hat here too? Very hard to use. The way it is usually used in Mastodon is a good solution.

I have good news.
Bluesky official app can't acknowledge the importance of this feature, that's true.
But do not despair ! Skywalker, an alternative bluesky app can do it. You can find it on the playstore (I don't know for iOS users, sorry)


fix compiler warning and base blob path case for searchable snapshots

Description
Fixing base blob path scenario for searchable snapshots

Adding base blob path configuration for FS directory
Add base blob path scenario in searchable snapshot tests and fix bug
Fix compiler warnings

Issues Resolved
https://github.com/opensearch-project/OpenSearch/issues/6557
Check List

[x] New functionality includes testing.

[x] All tests pass

[ ] New functionality has been documented.

[] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@samuel-oci Thanks for the contribution.
Can you please run ./gradlew spotlessApply to fix spotless errors and ./gradlew precommit to validate other checks?
More on that here.

@samuel-oci Thanks for the contribution. Can you please run ./gradlew spotlessApply to fix spotless errors and ./gradlew precommit to validate other checks?
More on that here.

Hi @kotwanikunal thanks for the feedback, done.
I do notice that there are some flakey IT tests that are not related to this change, but the gradle check seems to be passing.
Let me know if anything else is needed.

@samuel-oci This LGTM!
@andrross Can you please have a look as well?

Looks great, thanks @samuel-oci!
I actually think it makes sense to add a changelog entry here for "Add 'base_path' setting to File System Repository" since this is a user-facing feature. @kotwanikunal what do you think?

Ahh. Yep. I think since we have a new setting for FsRepository, an entry makes sense.
@samuel-oci You can follow the CHANGELOG guide here - https://github.com/opensearch-project/OpenSearch/blob/main/CONTRIBUTING.md#changelog
Please add an entry into the Unreleased 2.x section since this will be backported to 2.x

Gradle Check (Jenkins) Run Completed with:

RESULT: FAILURE ❌
URL: https://build.ci.opensearch.org/job/gradle-check/12095/
CommitID: 94e3be3
Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green.
Is the failure a flaky test unrelated to your change?

Unrelated failure due to heap space usage.

Thanks for your comments @kotwanikunal @andrross , added a CHANGELOG entry.

Backport: https://github.com/opensearch-project/OpenSearch/pull/6584


Error with IPAD OSC

'Connected' and get this error in Voicing Mode:
Uncaught Exception:
Error: read ECONNRESET
at TCP.omSreamRead
This might be caused by 'ZeroConf' since I have to manually connect to both Synergia & OSC.  It there any troubleshooting or diags that can be run to find out if ZeroConf is corrupted .  Running win 10, newest update.  I did re-install Itunes, didn't help.
Don

Thanks for the bug report!
Please send the synergize.log and let me know the approximate time that the error occured.
The log is located at: %APPDATA%\Synergize\synergize.log

@SmallTownSound - in my testing on Windows, Bonjour/Zeroconf works reliably when configuring the OSC interface.  I have never managed to see it work for Synergia (on Windows).  Are you seeing Zeroconf problems only with Synergia or also with OSC?
On MacOS, both are reliable (except for the issue mentioned in #13 )

Neither work, so i'm sure it is a setup problem of some kind. I have done normal troubleshooting, to no avail... There has to be some kind of diagnostic available to see where the problem is.

You can try running a Bonjour browser (e.g.  http://hobbyistsoftware.com/bonjourbrowser) to see if either Synergize, Synergia or TouchOSC are registering on your Windows machine.
In mean time I'd like to try to diagnose the connection reset you reported last night when connected manually - can you find the synergize.log?

Searching for it now, so far not finding it, should have been done already with a ssd drive..  Where should it be located?
The error pops up as soon as I click on Voicing Mode button.

The log should be located at: %APPDATA%\Synergize\synergize.log (e.g., C:\Users\yourusername\AppData\Roaming\Synergize\synergize.log on Windows.
~/Library/Application\ Support/Synergize/synergize.log on Mac.

error consistently comes up after I select voicing mode, it asks if ipad osc app is what I want, when I click OK, I get the error.

synergize.log

@SmallTownSound - thanks for the log!
From initial inspection, it looks like Synergize is finding your iPad via bonjour.   I don't actually see the connection reset in the log - but from other errors, I'm wondering if there's actually some problem with the Synergize application communicating with the user interface (which is a Chrome-based Electron instance).  Weird! I've never seen this happen.
Anything unusual about your Windows configuration?   What version of Windows are you running?  (Settings -> System -> About -> Version).  Any third party antivirus software?
I don't think it could be a firewall configuration issue - if it were you wouldn't see any Synergize UI at all.
Sorry you are having problems!  This will take me some time to digest.

Win10   Version 20H2     Turned off NOD32, no difference

That is what beta testing is all about ;)

Next time this happens, please try to get a screenshot so I can see what you are seeing in the UI

OK - I misinterpreted what I was seeing in the logs.  It's not UI related.  I am seeing errors talking to your iPad.
The error is failed: lookup Dons-iPad: no such host -- so this may in fact indicate some sort of flaky behavior with Bonjour resolving the iPad hostname on your Windows machine.  Can you try manually connecting to the iPad (in Synergize, Zeroconf Control Surface unchecked and manually specify the numeric IP address and port as displayed on the TouchOSC config on your iPad).
I also see ERROR:  SendToUI failed to decode json response : accxyz 0: unexpected end of JSON input.   (I'll need to review the error handling  to ensure Synergize handles this cleanly - I don't think they should be causing any noticable errors, but I've never specifically tested that configuration).      If turning them off improves the behavior, that's gives me more clues as to what is wrong.

While I havent exactly reproduced your error, I am able to reproduce the "failed to decode json response" for the OSC accelerometer traffic.  In my test, I was able to crash Synergize by flooding it with a lot of movement from the ipad.  I've logged that as #15.  Since that may not completely explain the CONN RESET you saw, I'm leaving this issue open pending further testing and analysis.

Update as of tonight.  Working with software on laptop, instead of desktop.  Issues on laptop same as on desktop, both need zeroconf OFF to work, even though both synergia and touchosc show up in bonjour browser.
I don't to get any errors, synergize connects to both synergia, and touchOSC when I activate voicing mode.  Problem with this setup synergize doesn't update OSC, OSC shows everything on screen as when the first booted, nothing matches synergize voice layout.  NO interaction between the two.
Don

PS resetting the VRAM address every time is getting frustrating..  :(

Went back to desktop, and actually got things to work, after a lot of reading and reconfiguring....  zeroconf off on synergia.... on for touchosc..  Do not know what is set differently...
Both connect, and works in voicing mode!!!!!!    On IPAD:Shows all OSCs, instead of just active, and Plus minus doesn't work correctly.  Not everything updates correctly, but switching between tabs seems to correct it.   Seems to update on either IPAD or PC, and they interact as they are supposed to, but with intermittent updating issues.
For the record, PC is hardwired to router, IPAD is wireless.  IPAD in a couple month old 7th gen, with latest OS, if that makes a difference.
all envelopes show , just like OSCs, plus all the knobs across bottom don't register on Ipad util they are touched.  Original settings don't seem to get sent on start of voicing mode.
Only real problem is Synergia becomes silent during voicing mode, which makes the whole thing rather pointless...
Do get periodic error dialog saying "lookup Don's-iPad: no such host...  click close and seems to have no effect.
The main thing is they are all SORT OF working now...  Time to go to bed...

PS resetting the VRAM address every time is getting frustrating.. :(

Yes - the manual VST config is strictly a short term workaround while we work on making zeroconf work better, or find an alternate way to link the two applications.

Do get periodic error dialog saying "lookup Don's-iPad: no such host... click close and seems to have no effect.

This likely explains the intermittent updates to TouchOSC.   Currently assuming this is all part of the "zeroconf not working properly on Windows" issues you are seeing.

Only real problem is Synergia becomes silent during voicing mode, which makes the whole thing rather pointless...

The initial one-oscillator voice loaded at the start of voicing mode will be silent until / unless you adjust envelope settings. Easiest thing to do is to click on a library voice after entering Voicing mode -- then you can edit the existing voice settings rather than trying to build one up from first principles.    Synergize matches the old SYNCHS behavior here -- I debated with myself whether to load a different default voice for Voicing mode, but in the end decided to stay true to SYNCHS.  Open to different opinions!

I see what is wrong, was pretty tired, should have went to bed an hour earlier  ;)
Would be nice for it to use current voice shown when going into voicing mode in GUI (double clicked on voice you want) , instead of starting from scratch, and having to search for the voice your were wanting to edit.  I think most users modify existing voices instead of starting from scratch.
Even when going to startup voice setting, or loaded voice, the IPAD doesn't show the proper elements like are shown on your web page under Control Surface, ALL are showing in all tabs  Only 4 should be shown in picture.
Still Very nice indeed!     Looking forward to working through problems.

The only times I've seen this sort of failure to initialize the control surface is when I have a bad wifi connection on either my laptop or the ipad. (I have 3 access points in the house and sometimes the ipad latches on to one of the remote ones with a poor signal).  Any chance that is happening here?

Only one router, desktop is wired and IPAD shows full speed connection.   Could it be newest IPAD OS?  I know everything breaks when apple releases a new OS...

Anything's possible- but that seems unlikely to be the root cause.

I am open to any other diagnostic stuff you want me to run..  did computer service for a number of years, not the average user.

Would be nice for it to use current voice shown when going into voicing mode in GUI (double clicked on voice you want) , instead of starting from scratch, and having to search for the voice your were wanting to edit. I think most users modify existing voices instead of starting from scratch.

I like this.  I've created an enhancement request as #17.

For this most recent failure to update the control surface, had you turned off the /accxyz, /z and /ping messages in TouchOSC?    There's a chance that the flood of accxyz messages somehow interferes with Synergize sending out the initialization messages.

all are turned off..  Will try it wit my old ipad later today.

Just tried it with old ipad, exact same things happen.

Drat.  So windows machine using wired network; ipads on same access point and show strong signal, yet some osc messages are getting lost.  Now that youve disabled the noisy /accxyz messages, can you send me a recent synergize.log so I can review and see if I can spot any other problems?

synergize.log

OK - I see you are still trying to use the bonjour config for OSC - and there are lots of errors int the log about name resolution for your ipad.  That can explain the failure to initialize the touchosc interface.  Until I get this sorted, please try disabling zeroconf even for the ipad - set the address and ports manually.
Good news is that I've been able to reproduce the "failed: lookup Somebody-iPad: no such host" when I connect to mine with zeroconf.
This just reenforces that zeroconf on Windows is not working reliably enough.

Will Do....

No change, not updating properly...    Will work on it later tonight...

No change, not updating properly...

Oh no!  That works quite reliably for me -- when you do return to this, please send another log so i can see what's happening when you are not trying to use zeroconf.

Also: if you'd like a more direct way to chat/coordinate, please consider joining our Slack group.

Hate slack, but will try it again.  How do I find the group

I just need an email address to send the invite.  You can send it to me at support at chinenual.com

Issues fixed via a number of fixes in 2.3.0.  Please open a new bug report if you experience any problems with OSC


Failed to load plugin 'C:\msys64\mingw64\lib\gstreamer-1.0\libgstx265.dll'

I setup the whole environment on a windows 10 machine inside MinGW (64 bits). It ended with success. However, running any gst commandt (gst-device-monitor-1.0, gst-launch-1.0 or gstkvsplugintest.exe)) leads to the error Failed to load plugin 'C:\msys64\mingw64\lib\gstreamer-1.0\libgstx265.dll'. The DLL is there in the right directory. Thank you for your help.
marc

Hi @marcisrael,
Could you please provide more details on the issue you are noticing? Are you planning to use the KVS for sending H265 streams (libgstx265.dll (x265 — x265-based H265 plugins))?
Thanks

Hi. Nope, I'm not planning to send H265 streams, I was trying to stream the feed from a USB Cam hooked onto the PC (It's detected by gst-device-monitor-1.0.). However, when I launch gst-launch-1.0, it stops with the above error. I tried kinesis_video_gstreamer_sample_app.exe and got the same error.
Thanks for your help.
Marc

Hi @marcisrael ,
Thanks for the logs and it shows that the fragments got persisted after 07:42:14.  This suggests that the gstreamer pipeine is able to ingest to KVS successfully.
If you are seeing the "InvalidCodecPrivateDataException" in the console, could you please retry the streaming with a different stream name (e.g. fluxvideoReko1 ) to ensure that the stream fluxvideoReko has the correct codec values.

[DEBUG][2019-03-28 07:42:20] fragmentAckReceivedHandler invoked
[DEBUG][2019-03-28 07:42:20] Curl post body write function for stream: fluxvideoReko and upload handle: 2 returned: {"EventType":"PERSISTED","FragmentTimecode":163730,"FragmentNumber":"91343852333181432531331347018955790166615479450"}

getStreamData(): Indicating an EOS after last persisted ACK is received for stream upload handle 2
[INFO ][2019-03-28 07:42:20] Reported end-of-stream for fluxvideoReko. Upload handle: 2
[DEBUG][2019-03-28 07:42:20] Wrote 0 bytes to Kinesis Video. Upload stream handle: 2
[DEBUG][2019-03-28 07:42:20] terminate curl for handle 2
[DEBUG][2019-03-28 07:42:20] streamClosedHandler invoked for upload handle: 2
[DEBUG][2019-03-28 07:42:20] Close connection: fluxvideoReko, upload handle: 2, is EOS: 1, is in Shutdown: 0
[DEBUG][2019-03-28 07:42:20] Kinesis Video stream fluxvideoReko is Closed.
[INFO ][2019-03-28 07:42:21] Sending eos

In real-time mode  (e.g. webcam or usbcam) the video, GStreamer source element provides the  data at the video playback/read speed; but in the file upload (aka offline upload mode), GStreamer filesrc element sends the data to KVS as fast as it could read from the file and KVS SDK transmits it to the cloud at the network speed.   Hope this explains the reason why you are seeing the end of stream (EOS) within 20 seconds.
However, there were few dropped frame errors in the beginning of the streaming.

viewItemRemoved(): Reporting a dropped frame/fragment.
[DEBUG][2019-03-28 07:42:00] droppedFrameReportHandler invoked
[WARN ][2019-03-28 07:42:00] Reporting dropped frame. Frame timecode<PHONE_NUMBER>
[INFO ][2019-03-28 07:42:00]

This could happen if the the storage size is full ; the default  storage-size=128 but you can set it to higher size if your file size is large.

If you are uploading a file, streaming-type=offline is required.

Closing the issue for now as the question has been answered. Please re-open or create a new one if additional support is required.
Thanks


NotImplementedException while trying to load VGG19

I'm trying to load VGG19 model from https://huggingface.co/keras-io/VGG19 and get NotImplementedException in method Tensorflow.Keras.Saving.KerasObjectLoader._infer_inputs(int layer_node_id, bool convert_to_shapes = false)
help please)
code is simple:
var model = keras.models.load_model("./vgg19");
model.summary();
P.S. if it is important - im using SciSharp.TensorFlow.Redist-Windows-GPU package

Hi, sorry for the late response. The support of loading model in v0.100.4 is not complete. I was developing it rapidly recently. I'll tell you once I finish it :)

I will be here waiting) Thank you!

The loading of VGG19 has been fixed. Now it works with the model in the link.
The following is an example:
        var model = tf.keras.models.load_model(@"model path");
        model.summary();

        var classify_model = keras.Sequential(new System.Collections.Generic.List<Tensorflow.Keras.ILayer>()
        {
            model,
            keras.layers.Flatten(),
            keras.layers.Dense(10),
        });
        classify_model.summary();

        classify_model.compile(tf.keras.optimizers.Adam(), tf.keras.losses.SparseCategoricalCrossentropy(), new string[] { "accuracy" });

        var x = np.random.uniform(0, 1, (8, 512, 512, 3));
        var y = np.ones((8));

        classify_model.fit(x, y, batch_size: 4);

thank you a lot) will try it soon)


nav_panel() function could not be found

I used the tabset template and didn't make any modifications.
library(shiny)
library(ggplot2)
library(bslib)
library(gridlayout)

ui <- page_navbar(
  title = "Chick Weights",
  selected = "Line Plots",
  collapsible = TRUE,
  theme = bslib::bs_theme(),
  nav_panel(
    title = "Line Plots",
    grid_container(
      row_sizes = c(
        "1fr"
      ),
      col_sizes = c(
        "250px",
        "1fr"
      ),
      gap_size = "10px",
      layout = c(
        "num_chicks linePlots"
      ),
      grid_card(
        area = "num_chicks",
        card_header("Settings"),
        card_body(
          sliderInput(
            inputId = "numChicks",
            label = "Number of chicks",
            min = 1,
            max = 15,
            value = 5,
            step = 1,
            width = "100%"
          )
        )
      ),
      grid_card_plot(area = "linePlots")
    )
  ),
  nav_panel(
    title = "Distributions",
    grid_container(
      row_sizes = c(
        "165px",
        "1fr"
      ),
      col_sizes = c(
        "1fr"
      ),
      gap_size = "10px",
      layout = c(
        "facetOption",
        "dists"
      ),
      grid_card_plot(area = "dists"),
      grid_card(
        area = "facetOption",
        card_header("Distribution Plot Options"),
        card_body(
          radioButtons(
            inputId = "distFacet",
            label = "Facet distribution by",
            choices = list("Diet Option" = "Diet", "Measure Time" = "Time")
          )
        )
      )
    )
  )
)

server <- function(input, output) {

  output$linePlots <- renderPlot({
    obs_to_include <- as.integer(ChickWeight$Chick) <= input$numChicks
    chicks <- ChickWeight[obs_to_include, ]

    ggplot(
      chicks,
      aes(
        x = Time,
        y = weight,
        group = Chick
      )
    ) +
      geom_line(alpha = 0.5) +
      ggtitle("Chick weights over time")
  })

  output$dists <- renderPlot({
    ggplot(
      ChickWeight,
      aes(x = weight)
    ) +
      facet_wrap(input$distFacet) +
      geom_density(fill = "#fa551b", color = "#ee6331") +
      ggtitle("Distribution of weights by diet")
  })

}

shinyApp(ui, server)

Output:
Loading required package: shiny
Learn more about the underlying theory at https://ggplot2-book.org/

Attaching package: ‘bslib’

The following object is masked from ‘package:utils’:

    page

Error in nav_panel(title = "Line Plots", grid_container(row_sizes = c("1fr"),  :
  could not find function "nav_panel"

Using: shiny 1.7.2, shinyuieditor 0.5.1

Hi @JasonDude16, it seems like you may have an older version of bslib installed, since nav_panel() was introduced in bslib v0.5.0 (released 2023-06-09). You can either update to the latest version of bslib or you could try replacing all nav_panel() calls with nav() calls if you need to stay on the older version of bslib.

@gadenbuie whoops, I assumed nav_panel() would be from the shiny package. Thanks for the quick response.


empty / broken pdf

i tried to convert freelancer.com to pdf using following options
'use-xserver',
'outline',
                'commandOptions' =>
                    [
                        // You can change ':0' to whatever display you pick in your daemon script
                        'procEnv' => array( 'DISPLAY' => ':0' ),
                    ],
                'custom-header'=>
                    [
                        'User-Agent'=>'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110'.rand().' Safari/537.36',
                    ],
                'custom-header-propagation',
                'page-size'=>'A4',
                'encoding' => 'UTF-8',
                'ignoreWarnings' => true,
                'javascript-delay'=>'2000',
                'load-error-handling'=>'ignore',
                'images',
                'orientation'=>'Landscape',

and it produces  following result

any idea whats wrong , i am just doing pdf->send()
p.s
it works perfect for other sites e.g googel.com

Does it work on the command line with wkhtmltopdf?

this is what i received  on cli

Well, if it doesn't work on the CLI then don't expect it to work under PHP. For problems like this please consult wkhtmltopdf support. This library here is only a PHP wrapper around this tool.

@mikehaertl  yeah you are right thanks :)


Cannot read property 'request_id' of null

Receiving Cannot read property 'request_id' of null while calling requestPost.
Over here: https://github.com/MattyIce/steem-keychain/blob/b22ed4008049d5ae493c3c9921884f72ddbe8e34/js/web_interface.js#L27 request.detail is null, so failing on line:
https://github.com/MattyIce/steem-keychain/blob/b22ed4008049d5ae493c3c9921884f72ddbe8e34/js/web_interface.js#L43
My environment:
Version 72.0.3626.81 (Official Build) (64-bit)
Windows 7

Please check that you've called the function correctly. I couldn't reproduce this bug with the information provided.

You should extend description of steem_keychain.requestPost in README.md, because it lacks last parameter, comment_options. That caused an error. Consider using an object rather than large number of parameters.


Make .data() binding work with iterable protocol

The current data binding implementation relies on random array-style access, but only ever accesses data sequentially. Some data structures (such as linked lists) cannot easily expose random access. Moreover, since this specifically uses bracket indexing, it only accepts Arrays or first-class array-like objects. Making a custom data structure indexable this way requires either an expensive Proxy (indexes have to be round-tripped from integers to strings on every access) or else requires the custom class to add explicit integer properties for each contained item; this adds memory bloat linear in the size of the data structure itself and also requires unnecessary bookkeeping.
If random access were required, it might be reasonable to require some cheaply-implemented but customizable accessor method (see, for example Array.at()). However, since this is not the case, it makes more sense to instead only require that input data types be iterable. This opens up efficient implementations for structures such as singly-linked lists and other purely applicative structures. Backward compatibility can be maintained by adding a cheap wrapper to implement iteration in terms of sequential indexing.

Note that this is just a sketch of the suggested functionality. I have not added the shim required to make this backward compatible with code that implements random bracketed access but is not iterable.
There's another question as to whether .data() should also require a .length method or whether it's sufficient to compute that dynamically during iteration. As far as I can tell, this is essentially used as a proxy to infer whether we're dealing with an array-like object. Ideally, this method would only check for the Symbol.iterator property and use that for iteration; sadly, that breaks compatibility.

I'm curious, what limitation of Arrays are you facing?
Is there something wrong with converting the data to an Array first?

The main issue is just the expense of repeatedly converting to arrays at each render step. I'm working on some visualizations either using fully persistent data structures (which heavily use linking and structural sharing) or of those same data structures. It turns out that visualizing the internals of the data structures themselves is fine because any given element should only have $O(1)$ links. However, it becomes quite expensive to convert the entire data structure to a temporary array every render/update. That work is then thrown out because the temporary array isn't even retained, but discarded once the underlying enter/update/exit arrays, etc. are created.
On the other hand, I'm starting to realize that using the d3 join verbs is not necessarily the best way to spell this given that I want to use incremental updates with structural updates. It might make sense to use d3 for display only and roll my own diff/incremental update operation that aligns more closely with my data structures.
In any case, switching data binding to use iteration rather than random access in the interface more closely aligns with what d3 is already doing under the hood, requires a weaker contract from callers, and makes it easier to adapt for custom data structures, with minimal computational and storage overhead.


Feat: preview debug mode

Bug Fixes

Restored lazy nodes resolvers for all nodes in previews. Because of the default preview preset, removing lazy nodes in the last version from everything except media item nodes ended up breaking previews that previously relied on things working this way. So in preview mode lazy nodes in resolvers is restored.
In Previews when the schema changed all nodes were being refetched. This is only desireable when the code also changes, because previews have no way to automatically adapt to schema changes. Schema updates in previews no longer refetch all nodes.

New Features

Added a preview debug mode which outputs relevant information for debugging Previews.
Added a debug option to print the diff of the previous and next schema to the terminal output when the remote schema changes. This option is automatically enabled in preview debug mode.

From the plugin options docs:
debug.graphql.printIntrospectionDiff: Boolean
When this is set to true it will print out the diff between types in the previous and new schema when the schema changes. This is enabled by default when debug.preview is enabled.
Default is false.
{
  resolve: `gatsby-source-wordpress-experimental`,
  options: {
    debug: {
      graphql: {
        printIntrospectionDiff: true,
      },
    },
  },
},

and:
debug.preview: Object
When set to true, this option will display additional information in the terminal output about the running preview process.
Default is false.
{
  resolve: `gatsby-source-wordpress-experimental`,
  options: {
    debug: {
      preview: true
    },
  },
},

Example of the schema diff output:

Example of the schema diff output:

This is published in<EMAIL_ADDRESS>

This is published in<EMAIL_ADDRESS>


small fixes

https://github.com/MicrosoftDocs/windows-itpro-docs/issues/6328
https://github.com/MicrosoftDocs/windows-itpro-docs/issues/6334

Dear @JohanFreelancer9,
please perform the copy review.
Dear @e0i , for your information
Thank you


Feature/restyle checkbox

Ready for final review

The label colors are slightly different between the Label/Textfield colors and the checkbox's label. I think the checkbox's label is a bit darker

So I ventured into the design system and the answer is that Label is using st-typography-label which is defined in base Stellar as --st-typography-label-color: rgba(var(--st-gray-100-RGB), 0.65). This is different from the "labels" being used for the form field labels like inputs, checkboxes, etc. I think our labels should just be straight st-gray-60. I think the label typography is intended more for copy scenarios rather than component labels. Will chat more with the other designers about it. But the spec as is right now in the design system indicates that our Label component should actually be using st-typography-body and right now it uses st-typography-label. I can fix all of this.


Cannot dismiss an article.

Hello, I keep dismissing a new article but after every login or a startup it shows up again.

Hi! Could you please open the file ~/.config/plasma-org.kde.plasma.desktop-appletsrc and find the line starting with lastNews=? Does that line exist and what is the value of dismissed?

lastNews={"article":"The xz package has been backdoored","date":"2024-03-29","link":"https://archlinux.org/news/the-xz-package-has-been-backdoored","dismissed":true}
So it looks like it does not add a new article.

I don't yet understand why this problem is occurring because I can't reproduce it myself.
You can try reinstall plasmoid. This should remove plasmoid and its settings and install it with the latest commit.
curl -fsSL https://raw.githubusercontent.com/exequtic/apdatifier/main/package/contents/tools/tools.sh | sh -s install


Warn when inpainting mask is a generated layer

Is your feature request related to a problem? Please describe.
I've been trying to figure out how to avoid starting inpaintings when an incorrect layer is selected and thus used as a mask. This problem has been ruining a lot of generations.
Describe the solution you'd like
Somehow warn the user when the selected layer's name starts with "Seed:" when trying to inpaint. If not possible, I feel like just preventing their usage as a mask would be acceptable as well.
Describe alternatives you've considered

Determine computationally whether a layer is a mask layer somehow. This runs into the problems of how to distinguish between inpaintings and those mask layers, in addition to being maybe too much computation for this
Always use the topmost visible layer as the mask layer instead of the selected one. However, this might just be moving the problem we were trying to solve into other workflows.

Yeah the alternatives sound like they are harder/cause more problems. That said, I can just keep a global reference to the last inserted frame and prevent it from being used as mask. Hm, actually, what if I just kept a reference to all the inserted frames and wait no thats a memory leak.

tbh, you have to insert a lot of frames in one session for the memory leak to be significant.


Revert "Keg: allow overwriting same-formula conflicts"

Reverts Homebrew/brew#10312

Review period will end on 2021-01-15 at 10:02:40 UTC.

Review period will end on 2021-01-15 at 10:02:40 UTC.

Review period skipped due to critical label.

Review period skipped due to critical label.


JS extractor misses plural strings that use an expression (and not a variable) as their discriminator

Bug Report

[x] Yes, I reviewed the contribution guidelines.
[x] Yes, more specifically, I reviewed the guidelines on how to write clear bug reports.

Describe the current, buggy behavior
Assuming a JavaScript file with the following content:
_n( '%d var (_n)', '%d vars (_n)', x, 'domain' );
_n( '%d prop (_n)', '%d props (_n)', x.y, 'domain' );
_n( '%d function (_n)', '%d functions (_n)', Math.abs(x), 'domain' );
_n( '%d operation (_n)', '%d operations (_n)', x + x, 'domain' );

_nx( '%d var (_nx)', '%d vars (_nx)', x, 'context', 'domain' );
_nx( '%d prop (_nx)', '%d props (_nx)', x.y, 'context', 'domain' );
_nx( '%d function (_nx)', '%d functions (_nx)', Math.abs(x), 'context', 'domain' );
_nx( '%d operation (_nx)', '%d operations (_nx)', x + x, 'context', 'nelio-content' );

Running wp i18n make-pot should extract 8 plural strings. However, it only extracts 2:
#: script.js:1
msgid "%d var (_n)"
msgid_plural "%d vars (_n)"
msgstr[0] ""
msgstr[1] ""

#: script.js:6
msgctxt "context"
msgid "%d var (_nx)"
msgid_plural "%d vars (_nx)"
msgstr[0] ""
msgstr[1] ""

which makes me think wp i18n make-pot is unable to extract the strings if the third argument of _n or _nx is not a variable (x) but things like an object property (x.y), function calls (Math.abs(x)), or operations (x + x)
Describe how other contributors can replicate this bug

Create a simple plugin and add a script.js file with the previous content
Run wp i18n make-pot in the plugin
The resulting pot file will not include all strings

Describe what you would expect as the correct outcome
The resulting pot file should contain all strings.
Provide a possible solution
When running the make-pot string with the debug flag, I don't get any parsing issues. However, it looks like make-pot ignores _n and _nx calls if the third argument is not a word. I suppose it should also accept valid expressions...

Hi, I just came across this ticket while noticing the same bug after debugging this for a while. Any chance on a fix for this?! Thanks!

Good news!
I just opened #258 to address this bug.


New PR to test SignCLA at 2018-03-27 14:38:49.556508785 -0700 PDT m=+5.803863554

Body of PR

corp-pass-staging: test succeeded


Define richer "ColumnsExt" syntax for CRUD base

Rather than continuing to add per-column flags in a piecemeal fashion, define Columns as a map. Each column may override its select query, add query modifiers (such as joins), and be declared as immutable or read-only.
Still need to sort out how this interacts with FilterFieldMap to allow filtering on complex fields.

Codecov Report

Merging #100 (ba3fb7c) into main (27e89cb) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #100   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           63        63
  Lines         5048      5146   +98
=========================================
+ Hits          5048      5146   +98

Files Changed
Coverage Δ

pkg/i18n/en_base_messages.go
100.00% <ø> (ø)

pkg/dbsql/crud.go
100.00% <100.00%> (ø)

pkg/dbsql/filter_sql.go
100.00% <100.00%> (ø)

pkg/ffapi/filter.go
100.00% <100.00%> (ø)

pkg/ffapi/openapi3.go
100.00% <100.00%> (ø)

pkg/ffapi/restfilter.go
100.00% <100.00%> (ø)

I think this is now stale. We've made a few other enhancements to expose parts of the filter and crud syntax - may revisit an enhanced column definition in the future, but I think it would start from a different place.


rouge: fix partition alignment

Do not add 1 additional sector to the end of each partition, as this
would unnecessarily add space between partitions that are already
aligned to DEFAULT_ALIGNMENT. Selection of 'next sector' is already
done by start + size calculation.
This avoids wasting space and allows to align the first partition
exactly to DEFAULT_ALIGNMENT (and not to DEFAULT_ALIGNMENT + 2048,
as it is now).
Signed-off-by: Francesco Valla<EMAIL_ADDRESS>

Acked-by: Volodymyr Babchuk<EMAIL_ADDRESS>

Please update the commit message with my Acked-by tag and I'll merge it.

Please update the commit message with my Acked-by tag and I'll merge it.

Done, thank you!

Done, thank you!

Thank you for your contribution!


Feedback/suggestions for changes/additions to backend API

This issue can be a placeholder for any suggestions on how to improve the API.
Add any comments/suggestions/requests as a comment here.

Already mentioned in #48 , but we should be consistent in how we specify parameters.   Suggest that rather than have a parameter as part of the URL (as is currently done for "sensor/insert_sensor", "sensor/list", "sensor/delete_sensor", "sensor/delete_sensor_type", "location/insert_location", "location/list", "delete_location", "delete_location_schema"), we always have it as part of the payload.

Hi Pat,
many thanks for the comments and suggestions!
A couple of quick comments:

I definitely agree on what you have here with putting everything in the payload, rather than in some cases having a parameter such as "sensor_type" as part of the URL...   This will also make it much easier to have sensor types with capital letters, spaces or symbols in, without having to worry about urlencode...
I take your point about making "sensors" and "locations" more similar, in terms of having "schema" and "unique_identifier" for both...  However, I think I somewhat prefer to keep the current distinction, for a couple of reasons:

There isn't quite a direct analogy between what we currently call "LocationSchema" and "SensorType" - basically the "LocationSchema" defines what variables a "Location" must have, and a "Location" is simply a set of values for those.   On the other hand, a "SensorType" is a property of a "Sensor", but is more of a "schema" for the "SensorReadings" - the structure is a bit more complicated...   I think "SensorType" is quite an intuitive name for what we have, so would prefer to keep it.
The reason we have both "name" and "unique_identifier" for sensors is mainly because in CROP we had short-hand names (e.g. Farm_T/RH_16B4) for sensors, but also unique codes based on their serial numbers.   I think it could be useful to keep those.   For other things though, such as locations, I don't really see the need to introduce "unique_identifier", when it would basically fulfil the same role as "name"...

Does that make sense?  Happy to discuss further!


Refactor & Polish

[x] Use Native Vagrantfile features env, args for shell provisioning
[x] Make sure ~/.st2 CLI auth creds are set for both vagrant and root
[ ] Better automated message in Slack when everything was set up
[ ] ...
[ ] Better approach to verify if HUBOT_SLACK_TOKEN was set #8

Nice tidy-up work here @armab
Wonder if we should make some similar changes to https://github.com/StackStorm/st2-ansible-vagrant?

@LindsayHill Will do!


Feature Calculator UI

Project Preview

Feature Description

Delete all the boilerplate from CRA
Add number components
Add operator components
Add special operator components
Render calculator on App
Style calculator app
Convert function components to class components
Update README.md file to reflect project

These Features were Tested on the Following Browsers

[X] Chrome
[X] Firefox
[X] Edge
[ ] Internet Explorer
[ ] Safari

Feature Description

Delete more boilerplate from CRA


fix(backend): user update without password

It solves the error that is generated when updating a user when it receives the json without the password
Example:
{
"full_name":"New User Name"
}
Backend error:
File ".\app\api\api_v1\endpoints\users.py", line 78, in update_user
    user = crud.user.update(db, db_obj=user, obj_in=user_in)
  File ".\app\crud\crud_user.py", line 31, in update
    if update_data["password"]:
KeyError: 'password'

Duplicate of https://github.com/tiangolo/full-stack-fastapi-postgresql/pull/348