CostFunction and Gradient issue

I am trying to work through some of the examples and am getting this error. Are the examples deprecated?
error[E0432]: unresolved imports `argmin::core::CostFunction`, `argmin::core::Gradient`
 --> src/main.rs:2:20
  |
2 | use argmin::core::{CostFunction, Error, Executor, Gradient};
  |                    ^^^^^^^^^^^^                   ^^^^^^^^ no `Gradient` in `core`
  |                    |
  |                    no `CostFunction` in `core`

The current examples in the main branch are for a yet unreleased version of argmin. For the examples related to the current released version of argmin please check out the v0.5.1 tag. Apologies for the short reply, I'm on mobile.


Fix initialization error

#2 Previous PR contains errors. This is follow up. Sorry...

sorry!
fix pass test.
#4


MNT: Re-render the feedstock [ci skip]

Hi! This is the friendly conda-forge-admin automated user.
I've re-rendered this feedstock with the latest version of conda-smithy (1.3.2) and noticed some changes.
If the changes look good, then please go ahead and merge this PR.
If you have any questions about the changes though, please feel free to ping the 'conda-forge/core' team (using the @ notation in a comment).
Remember, for any changes to the recipe you would normally need to increment the version or the build number of the package.
Since this is an infrastructural change, we don't actually need/want a new version to be uploaded to anaconda.org/conda-forge, so the version and build/number are left unchanged and the CI has been skipped.
Thanks!

Hi! This is the friendly automated conda-forge-linting service.
I was trying to look for recipes to lint for you, but it appears we have a merge conflict.
Please try to merge or rebase with the base branch to resolve this conflict.
Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

Could someone please re-render this manually with conda-smithy version 1.3.2? Not sure why this PR was corrupted from the outset.

Going to close this out as it appears to be in conflict. Please re-rendering manually as explained in the previous comment.


POV doesn't play nicely with shape

It's because the Field that's everywhere else called height is called povHeight in this Layout.

The reason for the conflict is simple - there are two different "heights".  There's the height of the virtual display, and there's the height of the actual display, which is 1.
But we need to standardize on "height means height of the display we draw on, not the output display".

ARG - also the order of the parameters in POV is reversed!
They come in height, width and then they are passed on width, height.  I'll fix that too - and yes, it'll be backwards compatible.

POV has not really been touched in forever. I have no issues with breaking
the API to make it work with newer stuff.
On Fri, Oct 26, 2018 at 6:38 AM Tom Swirly<EMAIL_ADDRESS>wrote:

ARG - also the order of the parameters in POV is reversed!
They come in height, width and then they are passed on width, height.
I'll fix that too - and yes, it'll be backwards compatible.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/issues/1025#issuecomment-433366246,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA6a6nEdnPPRyDUZPaaLc2gwGf8Y8uB3ks5uouY5gaJpZM4X79w1
.


Allow setting of Target Completion back to "Unplanned"

Need
One way to deprioritize a task is to mark it as unplanned. We also need a way to clear the task Target Completion if is scheduled accidentally.
Approach

Allow setting of target completion to "Unplanned" (at the bottom of the list of options) in the bulk edit form for target completion.
Modify the form to send "null" instead of a date if "Unplanned" is selected. (or some other value such as "Unplanned".
Modify the API(s) to accept "null" (or "Unplanned) and save an appropriate indicator in the db table that the date is not set.

Complete, Thx.


Add content to "Use the Dashboard"

This adds content covered in the demos.
There are a few things that I couldn't reproduce locally, like saving the annotations and uploading multiple archives. I added a note that these may not be working with the newest release. I'm not sure exactly where things were left.

@Ronoman, I don't have write access on this repo. If you do, would you run the workflow and merge it in?

@audrow Set it to run. You might want to check in with @nuclearsandwich about repo permissions, but it looks like your blocker here was just being a first-time contributor to the repo (if I read the error message right).


Click GSP on map to show GSP chart on left (3)

As an extension from https://github.com/openclimatefix/nowcasting/issues/26, we want to allow users to click a GSP region on the map, and show the OCF Forecast and PV Live chart for the selected GSP on the left.

Click on any GSP region on the to map to select it
Show 4px #ffffff border around selected

Use same API calls as for National, but using {gsp_id} of selected GSP region.
On left side, below National chart, show:

Title of GSP region (shown as "Peterborough" in design)
forecasts[30minNOW].expectedPowerGenerationNormalized as percentage (shown as "56%" in design)
Part shown as "217 / 541 MW" in designs is "{forecasts[30minNOW].expectedPowerGenerationMegawatts} / {location.installedCapacityMw} MW". Use /v0/GB/solar/gsp/gsp_systems to get the installedCapacityMw values.
Close button which de-selects the GSP in the map, removes all the GSP info from the left side and goes back to the regular National view.
GSP chat which works exactly the same as the National chart, but for the selected {gsp_id} data from the API.

Note:

The 'white now line and label' in the charts should be linked, so in future you will be able to click on either the National or GSP chart, and move the white now line, and it will update on both charts.
When you click a GSP on the map, we need to do several API calls to get the data for this GSP's chart. We should show a loading spinner in the left hand space where the GSP chart will go whilst it loads.

        <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
        <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
      </svg>```

% of power is calculated by taking the power value and dividing by the installed capacity of the GSP.

Is this meant to be different to the way the gsp yellow opacity is calculated (divided by 500 MW)?

% of power is calculated by taking the power value and dividing by the installed capacity of the GSP

@peterdudfield Is this meant to be different to the way the gsp yellow opacity is calculated (divided by 500 MW)? If so, should we also display the expectedPowerGenerationMegawatts in this popup, so it's a bit more clear that the % value is different from the way the opacity is calculated?

Yea, each gsp will have a different capacity, so it maybe at 100%, but only be producing 50 MW of power.
Yes, I think both values should be displayed

@dctanner would be great for you review on this

@peterdudfield  i'm using /GB/solar/gsp/forecast/latest/${gspId} to get the expectedPowerGenerationNormalized (using the apis for national with diffrent gspId like you mentioned ) but i'm  getting expectedPowerGenerationNormalized= null?

Please see documentation here
You need to add 'normalize=true'

@peterdudfield so we are not gonna use /GB/solar/gsp/forecast/latest/${gspId} (which does not have normalize param), ok

@peterdudfield so we are not gonna use /GB/solar/gsp/forecast/latest/${gspId} (which does not have normalize param), ok

What are trying to get? You dont need to normalize anything for the 'GSP' plot

Note: this call http://nowcasting-api-development.eu-west-1.elasticbeanstalk.com/docs#/default/get_systems_v0_GB_solar_gsp_gsp_systems_get will give you the GSP details


Can't start docker container

(node:18) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open '/app/config/state.json',
    at Object.openSync (fs.js:497:3),
    at Object.writeFileSync (fs.js:1528:35),
    at initDirectories (/app/services/init-directories.ts:22:8),
    at /app/index.ts:178:18,
    at Generator.next (<anonymous>),
    at /app/index.ts:8:71,
    at new Promise (<anonymous>),
    at __awaiter (/app/index.ts:4:12),
    at /app/index.ts:177:13,
    at Object.<anonymous> (/app/index.ts:184:3),
(Use `node --trace-warnings ...` to show where the warning was created),
(node:18) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1),
(node:18) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Just curious, are you passing in volume for /app/config?
I just pushed a change that should fix it if you aren't. Should be on the latest tag soon.

Just curious, are you passing in volume for /app/config?

Yes, I tried it both ways with the same errors.
Seems to be fixed now.


not delete addon hub-kubeocnfig during addon is deleting (#315)

fix issue: https://issues.redhat.com/browse/ACM-5274

/test verify

/test e2e

/approve
/lgtm


PagedFilterTable cannot be used, connector not found, why missing?

Hi,
obviously the FilterTable is not present in your widgetset for some reason. Here's a few things to check:

Make sure you have compiled the widgetset after adding FT to the project
Make sure there was no compilation errors. With default settings the widgetset compiler only warns about the errors so it's easy to miss them. Please add -strict to the compilation command; this will make the compilation fail on error.

Hi tepi, why I cannot use the released directly? Do I need to compile the project myself?
my dependency as follow:
    <dependency>
      <groupId>org.vaadin.addons</groupId>
      <artifactId>filteringtable</artifactId>
      <version>0.9.14.v7</version>
    </dependency>

Hi,
when using any Vaadin add-ons which contain client-side code, you always have to compile the widgetset for your specific project. More info and instructions are available at https://vaadin.com/directory/help/using-vaadin-add-ons

Thanks for you anwser, I will try it now

Hi tepi, I solved the problem by compile my own widetset, thank you very much!

Hi all please i need solution for my issue
#105
Thanls


example.py: NameError: name 'data' is not defined (solved)

I copy pasted the code from your example and the following exception was thrown: "NameError: name 'data' is not defined" at the .ft() method in som.py. Changing the argument name 'X'  to 'data'  in the function header (.fit() in som.py) seems to fix the issue.

I still have the same issue

Hi @spiderman20084, what version of sklearn-som are you using? There was a bug with a variable having the wrong name in the function signature, but it should be patched in version 1.0.1. Are you still seeing this error in sklearn-som 1.0.1?

I have the same issue too
pip show sklearn_som
Name: sklearn-som
Version: 1.0.1
Summary: A simple planar self organizing map
Home-page: https://github.com/rileypsmith/sklearn-som
Author: Riley Smith

@gokercebeci thank you for this information. I am able to reproduce the issue with a clean install of sklearn-som v. 1.0.1. I think the Github project is ahead of the PyPi distribution. I will issue a fix as soon as I get home this afternoon.
Thanks for bringing this back to my attention.

I have patched the bug and released a new version of sklearn-som, version 1.1.0. Please upgrade to version 1.1.0 and let me know if the issue persists. Note that you can no longer use from som.som import SOM and must instead use from sklearn_som.som import SOM.
Marking this as closed for now but please re-open if there is still an issue.


Remove Connectors pages from Meltano and link to Hub

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/2748
Originally created by @tayloramurphy on 2021-05-07 21:18:24

https://meltano.com/plugins/extractors/ and https://meltano.com/plugins/loaders/ should be removed. A link in the header (?) should replace it.

[x] Validate all Meltano docs link to the hub - review reverted commit in https://gitlab.com/meltano/meltano/-/merge_requests/2125 to make it easier
[ ] Setup redirects for those URLs over to the hub

View 7 previous comments from the original issue on GitLab


Update server.dart

Corrected the HTML by removing the HEAD nested in the BODY and the duplicate HEAD. Tidied the layout.

Thanks Daz. As mentioned on the other PR, it would be nice if you sign the CLA, then I'm happy to merge it in :)


Compatibility issue with fastify-autoload route prefixing

fastify-autoload  handles adding route prefix for the loaded plugins, but it doesn't work when it's used with this library.
For example, say the loaded plugin is in routes/auth/index.js:
fastify.get('/login', ...)

will turn into /auth/login but
fastify.zod.get('/login', ...)

does not get prefixed.

Yeah and it doesn't even get the prefix defined in autoload. Absolute killer for me!

I just tried played around by migrating my server to this and ancountered this issue. This basically makes it implossible for me to adopt fastify-zod (getting FST_ERR_DUPLICATED_ROUTE due to this).


[Bug] [File Manage] Can't upload a file to a granted file directory

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
Admin granted a file directory to a normal user. Granted user can't upload a file to that file directory, the reported error is "The current user does not have permission to operate".
What you expected to happen
Normal user can upload a file to a file directory that have been granted permission.
How to reproduce

Admin create a file directory on resource manage
Admin create a normal user
Admin grant the created file directory permission to the normal user
Normal user upload a file to the file directory

Anything else
No response
Version
2.0.5
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

@codyyang0 Has PR been submitted for this issue ?

I use admin create a file directory on resource manager , but I can't  grant the created file directory permission to the normal user , the checkbox can't be select.

Yes, authorized folders are not supported

I have not receive submits from PR @JinyLeeChina

Can you submit  PR ？

I have not submitted PR.  I will try to solve the bug and submit the PR.

Yes, authorized folders are not supported

if authorized folders are not supported, how can this issue happen?  I'm puzzled.

Hi @codyyang0 ,I think not support authorized folders is not bug, and you can submit a improvement pr to dev


Error 404 Mangas no sekai and Manhua fenix

Source information
Manhua Fenix 1.4.38 and Mangas no Sekai 1.4.38
Source language
Spanish
Steps to reproduce
1 install
2 use
Expected behavior
1 use source
Actual behavior
1 "The source doesn't display anything."
Mihon/Tachiyomi version
0.16.3
Android version
Android 13
Other details

Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.15.3.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[X] I have admitted that I am a clown by having checked this box, as I have not read these acknowledgements.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

What?

[ ] I have admitted that I am a clown by having checked this box, as I have not read these acknowledgements.

You ticked this, causing the bot to close the issue.
In any case, your issue will be addressed in #1365 and #1368


Recording tracks in the task is not accurate

When the MAP FEATURE - Track Recording is turned on, the tracks that are being recorded are not accurate (giving sharp turns or turns when there is none).
Screenshots:

Even when the accuracy of 4.40m is considered, it still has some deviational error.


HDFS is a case-sensitive comparison for checksum (GFAL2)

Do we know this wouldn't break other file systems?

Question is, do we have any non-HDFS filesystems where we use the GAFL2Impl ? All of them potentially could have problem if we change adler32 to ADLER32...

Beginning pylint and unit tests.
See https://cmssdt.cern.ch/jenkins/job/DMWM-PR-test/359/ for details

Summary of pylint changes for pull request 6160:
src/python/WMCore/Storage/Plugins/GFAL2Impl.py fails the pylint check. Report follows:

Line 15 in GFAL2Impl W0232 Class has no init method
Line 15 in GFAL2Impl E0602 Undefined variable 'StageOutImpl2'
Line 21 in GFAL2Impl.doTransfer R0913 Too many arguments (9/7)
Line 30 in GFAL2Impl.doTransfer E1101 Instance of 'GFAL2Impl' has no 'prependFileProtocol' member
Line 36 in GFAL2Impl.doTransfer E1101 Instance of 'GFAL2Impl' has no 'prependFileProtocol' member
Line 48 in GFAL2Impl.doTransfer W1201 Specify string format arguments as logging function parameters
Line 49 in GFAL2Impl.doTransfer E1101 Instance of 'GFAL2Impl' has no 'runCommandFailOnNonZero' member
Line 55 in GFAL2Impl.doTransfer W0702 No exception type(s) specified
Line 21 in GFAL2Impl.doTransfer W0613 Unused argument 'protocol'
Line 33 in GFAL2Impl.doTransfer W0612 Unused variable 'remoteFileName'
Line 39 in GFAL2Impl.doTransfer W0612 Unused variable 'localDir'
Line 21 in GFAL2Impl.doTransfer W0613 Unused argument 'seName'
Line 21 in GFAL2Impl.doTransfer W0613 Unused argument 'checksum'
Line 21 in GFAL2Impl.doTransfer W0613 Unused argument 'command'
Line 74 in GFAL2Impl.doDelete E0602 Undefined variable 'StageOutImpl'
Line 62 in GFAL2Impl.doDelete W0613 Unused argument 'seName'
Line 62 in GFAL2Impl.doDelete W0613 Unused argument 'protocol'
Line 62 in GFAL2Impl.doDelete W0613 Unused argument 'command'
Line 62 in GFAL2Impl.doDelete W0613 Unused argument 'options'
Line 8 W0611 Unused import StageOutImplV2
Line 9 W0611 Unused import StageOutError
plus 1 comments on code style

Unit test changes for pull request 6160:

WMCore_t.WorkQueue_t.Policy_t.Start_t.MonteCarlo_t.MonteCarloTestCase:testContinuousSplittingSupport was deleted. Prior status was success
WMCore_t.WorkQueue_t.Policy_t.Start_t.MonteCarlo_t.MonteCarloTestCase:testMultiTaskProcessingWorkload was deleted. Prior status was success
nose.failure.Failure:runTest was added. Status is error
WMCore_t.ReqMgr_t.Service_t.Auxiliary_t.AuxiliaryTest:test_A_HelloWorld_get changed from error to success
WMCore_t.WorkQueue_t.Policy_t.Start_t.MonteCarlo_t.MonteCarloTestCase:testExtremeSplits was deleted. Prior status was success
WMCore_t.WorkQueue_t.Policy_t.Start_t.MonteCarlo_t.MonteCarloTestCase:testInvalidSpecs was deleted. Prior status was success
WMCore_t.WorkQueue_t.Policy_t.Start_t.MonteCarlo_t.MonteCarloTestCase:testBasicProductionWorkload was deleted. Prior status was success
WMCore_t.WorkQueue_t.Policy_t.Start_t.MonteCarlo_t.MonteCarloTestCase:testShiftedStartSplitting was deleted. Prior status was success
WMCore_t.WorkQueue_t.Policy_t.Start_t.MonteCarlo_t.MonteCarloTestCase:testMultiMergeProductionWorkload was deleted. Prior status was success
WMCore_t.WorkQueue_t.Policy_t.Start_t.MonteCarlo_t.MonteCarloTestCase:testLHEProductionWorkload was deleted. Prior status was success

sprace, cern succeeds except all US sites. crab3 gfal2 with implemented checksum succeeds on non US sites.
About other: https://jira.opensciencegrid.org/browse/SOFTWARE-2006

about pylint complains, afaik all sites uses backend but not plugins (SAM uses plugins?) and I remember that @hufnagel wrote on hypernews about rewriting plugins if no one is using it.

So only US sites (T2) were failing and where is a fix in new gridftp-hdfs repo from osg-testing. Checked several letter combinations for checksum and with/without it and all succeeded. Please see: https://hypernews.cern.ch/HyperNews/CMS/get/computing-tools/884/1/1/1/1/1/1/1/1/2/1/1/1/3/1/1.html
Closing as not needed to change.

Thanks Juztas.


Badfiles plugin

A new plugin by @fxthomas!
Before merging, I'd love to have input from @fxthomas about whether I messed anything up. I also have a short to-do list:

[ ] No configuration should be required to use the defaults.
[ ] The documentation page could still use some reorganization to match the rest of the docs.

I checked that it works as expected on my library. Some thoughts and questions :

Great for the cleanup! I personally have flake8 set for 90 characters and prefer %-interpolation to format, but having an official coding style is much more important than my own preferences ;)
What would you change in the documentation?
I submitted a small merge request which among others removes the need for configuration to use the defaults and adds color output to make it more readable. If you have thoughts on that, do not hestiate! (Did I use ui.colorize correctly?)

(See #1570 for the PR)

Also, for some reason beets.dbcore crashes on lib.items(args) when I try a regexp query, e.g. :
beet bad title::'^M.*$'

Any idea on why?
(The one in the docs doesn't actually work either, I was checking it when I found this...)

Never mind, looking at other plugins' source I should have used ui.decargs, now fixed in the PR!

Awesome; thanks for the additional changes! And double thanks for acquiescing to the style guide, even if 80 columns seems draconian. :smiley: I've added you as a collaborator now, so feel free to continue changing things if you like.
The documentation actually seems like it's in fine shape; I'm not sure what I was talking about before.
The colorization stuff looks perfect; great work figuring that out!
Thanks again for the contribution.


PP-8370: Enable nginx stream logging

What

Enable tcp stream logging
Run nginx with exec so OS signals are correctly passed to the nginx process
Add local testing configuration using docker-compose
Update the README to explain how to use the local testing configuration

Why
TCP Stream logging allows us to audit connections through the tcp-proxy.
The docker-compose local testing environment makes development cycles on the tcp-proxy much shorter.
Running locally example
This shows a build and run locally
11:04 : GDS11088 : no_aws : (pp-8370-enable-nginx-stream-logging) : [~/gitdevel/github.com/alphagov/pay-tcp-proxy]
♥ $ docker-compose build
nginx-backend uses an image, skipping
Building pay-tcp-proxy
[+] Building 1.3s (15/15) FINISHED
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 37B                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 34B                                                                                0.0s
 => [internal] load metadata for docker.io/library/alpine:3.12.0@sha256:185518070891758909c9f839cf4ca393ee977ac378609f700f60a771a2dfe321                   1.2s
 => [internal] load build context                                                                                0.0s
 => => transferring context: 217B                                                                                0.0s
 => [ 1/10] FROM docker.io/library/alpine:3.12.0@sha256:185518070891758909c9f839cf4ca393ee977ac378609f700f60a771a2dfe321                                   0.0s
 => CACHED [ 2/10] RUN addgroup -S nginx     && adduser -D -S -h /var/cache/nginx -s /sbin/nologin -G nginx nginx                                          0.0s
 => CACHED [ 3/10] RUN ["apk", "add", "--no-cache", "nginx", "nginx-mod-stream"]                                                                           0.0s
 => CACHED [ 4/10] RUN ln -sf /dev/stdout /var/log/nginx/access.log     && ln -sf /dev/stderr /var/log/nginx/error.log                                     0.0s
 => CACHED [ 5/10] RUN mkdir /app && mkdir /etc/nginx/tcpconf.d && chown -R nginx:nginx /etc/nginx                                                         0.0s
 => CACHED [ 6/10] ADD src/docker-startup.sh /app                                                                                0.0s
 => CACHED [ 7/10] ADD src/files/authorized_ip /etc/nginx/                                                                                0.0s
 => CACHED [ 8/10] ADD src/files/tcp.stream /etc/nginx/tcpconf.d                                                                                0.0s
 => CACHED [ 9/10] COPY src/files/nginx_conf /etc/nginx/nginx.conf                                                                                0.0s
 => CACHED [10/10] WORKDIR /app                                                                                0.0s
 => exporting to image                                                                                0.0s
 => => exporting layers                                                                                0.0s
 => => writing image sha256:eef64a82c04901437cfe394a4f3fe41f64948bb6131c137104aabe9a8f458027                                                               0.0s
 => => naming to docker.io/library/pay-tcp-proxy_pay-tcp-proxy                                                                                0.0s
11:04 : GDS11088 : no_aws : (pp-8370-enable-nginx-stream-logging) : [~/gitdevel/github.com/alphagov/pay-tcp-proxy]
♥ $ docker-compose up
Creating network "pay-tcp-proxy_default" with the default driver
Creating pay-tcp-proxy_nginx-backend_1 ... done
Creating pay-tcp-proxy_pay-tcp-proxy_1 ... done
Attaching to pay-tcp-proxy_nginx-backend_1, pay-tcp-proxy_pay-tcp-proxy_1
nginx-backend_1  | 2021/07/26 10:05:00 [notice] 1#1: using the "epoll" event method
nginx-backend_1  | 2021/07/26 10:05:00 [notice] 1#1: nginx/1.21.1
nginx-backend_1  | 2021/07/26 10:05:00 [notice] 1#1: built by gcc 10.3.1 20210424 (Alpine 10.3.1_git20210424)
nginx-backend_1  | 2021/07/26 10:05:00 [notice] 1#1: OS: Linux 5.10.25-linuxkit
nginx-backend_1  | 2021/07/26 10:05:00 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
nginx-backend_1  | 2021/07/26 10:05:00 [notice] 1#1: start worker processes
nginx-backend_1  | 2021/07/26 10:05:00 [notice] 1#1: start worker process 7
nginx-backend_1  | 2021/07/26 10:05:00 [notice] 1#1: start worker process 8
nginx-backend_1  | 2021/07/26 10:05:00 [notice] 1#1: start worker process 9
nginx-backend_1  | 2021/07/26 10:05:00 [notice] 1#1: start worker process 10
nginx-backend_1  | 2021/07/26 10:05:00 [notice] 1#1: start worker process 11
nginx-backend_1  | 2021/07/26 10:05:00 [notice] 1#1: start worker process 12

And finally when accessing https://localhost the following lines are produced in the log:
pay-tcp-proxy_1  | <IP_ADDRESS> [26/Jul/2021:10:05:26 +0000] TCP 200 1321 526 0.028 "<IP_ADDRESS>:443" "526" "1321" "0.001"
pay-tcp-proxy_1  | <IP_ADDRESS> [26/Jul/2021:10:05:26 +0000] TCP 200 1321 526 0.027 "<IP_ADDRESS>:443" "526" "1321" "0.000"
nginx-backend_1  | <IP_ADDRESS> - - [26/Jul/2021:10:05:26 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"

This is looking good so far, when running locally I can see original client IP being the docker network gateway
gds5062-2:pay-tcp-proxy danworth$ docker network inspect pay-tcp-proxy_default | jq 'try .[].IPAM.Config[].Gateway'
"<IP_ADDRESS>"

being logged and inspecting the packets with tcpdump -nXX -i any port 443 from the tcp-proxy container I can see the proxy protocol being sent (beings PROXY.TCP4 in the ascii output
08:30:30.672231 IP <IP_ADDRESS>.51724 > <IP_ADDRESS>.443: Flags [P.], seq 1:45, ack 1, win 502, options [nop,nop,TS val<PHONE_NUMBER> ecr 981464133], length 44
        0x0000:  0000 0001 0006 0242 ac14 0004 0000 0800  .......B........
        0x0010:  4500 0060 eebb 4000 4006 f3ac ac14 0004  E..`<EMAIL_ADDRESS>        0x0020:  ac14 0003 ca0c 01bb 25a9 de29 9c1f 283c  ........%..)..(<
        0x0030:  8018 01f6 5882 0000 0101 080a da8c 4b1f  ....X.........K.
        0x0040:  3a7f f445 5052 4f58 5920 5443 5034 2031  :..EPROXY.TCP4.1
        0x0050:  3732 2e32 302e 302e 3120 3137 322e 3230  <IP_ADDRESS>.172.20
        0x0060:  2e30 2e34 2035 3933 3836 2034 3433 0d0a  .0.4.59386.443..

I've updated now to allow setting proxy protocol on or off based setting the env var PROXY_PROTOCOL to on or off (defaulting to off if no env var is provided.
Since the image will be deployed to both the new fargate infrastructure, and the old EC2 infrastructure we need to be able to control the setting in the short term. Once we have completely cut over to the fargate version we can remove the logic to disable proxy_protocol and return the container to a simpler state.

We have built and pushed this into ECR in test and tested it on the new fargate platform in test-12. Tomorrow morning we should:

Test it on the old fargate platform in test where PROXY_PROTOCOL is disabled
Merge this PR, allow the build to complete and to get a real build and release tag
Update test to use the real release tag
Remove all the temporary images we put into ECR in test
Deploy the following to staging and prod:
a. Proxy protocol NLB change
b. This docker image
c. ECS Service definition to enable the PROXY_PROTOCOL env var

Force push was after rebasing against origin/master to pull in the alpine base container update

This (hopefully) final version of the container has been tested successfully in test-12.


Reverse the render order

Resolves #7
I thought I was being clever with the reverse render order, but I think it was a mistake in hindsight. This way makes more sense, especially in light of the changes made to resolve #19 .
//cc @erikthedeveloper
Erik, I'll cut a release for this if you're :+1:

Great work! Waiting for the PR been merged.

your wish is my command!

Oh whoops! 😳 It looks like I was ~20 minutes too late. My bad, I should have double checked this morning to see if you had already started on this @jmeas
FWIW this is what I had put together I was just going to submit as PR for #7 when I saw this #33 https://github.com/jmeas/react-composer/compare/4952362acecdeede27f6da91bc03cda4463519fd...erikthedeveloper:reverse-render-order
I'll just dump this here.

I thought I was being clever with the reverse render order

Haha, removing that did simplify things quite a bit 👍
/**
 * Recursively build up elements from props.components and accumulate `results` along the way.
 * @param next The first entry in components
 * @param ...remaining The remaining entries in components
 * @param results This is the argument that we pass into `children`
 * @returns {ReactElement}
 */
function chainComponents([next, ...remaining], results = []) {
  // When we reach the end of our `childrenComponents`, we can render out
  // the response array.
  if (!next) {
    return children(results);
  }

  // Each props.components entry is either an element or function [element factory]
  // When it is a function, produce an element by invoking it with currently accumulated results.
  const element = typeof next === 'function' ? next(results) : next;

  return React.cloneElement(element, {
    [renderPropName]() {
      return chainComponents(
        remaining,
        results.concat(mapResult ? [mapResult(...arguments)] : arguments[0])
      );
    }
  });
}

return chainComponents(components);

Ah drat, sorry for misleading you into doing duplicate work @erikthedeveloper !
That's pretty clean looking, though. If the built version of that gzips down to a smaller size than the current implementation, then I'd love to swap that implementation in for what is currently in the source.
Want to check that out? (I typically use gzip-size-cli to compare the built versions.)

@jmeas This is the first I've heard of gzip-size-cli. That is quite handy 😃 I just compared against 4.0.0 and mine is 24B smaller at 500B exactly 🙌 haha I guess every little byte counts.

haha I guess every little byte counts.

It does. Let's swap it in.

Got a PR submitting now! 🔥 Haha made sense while I had this all up and running


Remove the group contents from the topic payload

It seems as though it's not used in the frontend anymore.

:+1:


Apply along first (nth?) axis

Relates to https://github.com/QuantStack/xtensor/issues/472, https://github.com/QuantStack/xtensor/pull/514
I've been using xtensor a bit lately and have had occasions to do map-reduce-esque transformations on matrices, hence finding myself wishing for something like NumPy's apply_along_axis.
For my super specific use case (involving only xtensor_fixed<T, xshape<M, N>>) the following, with input as the input matrix and function as the callable, has been adequate:
xtensor_fixed<T, xshape<M>> result;
std::transform(axis_begin(input), axis_end(input), result.begin(), function);
return result;

Maybe others would find such functionality useful? Of course, the version which takes arbitrary axes depends on the issue/PR linked above.
Also if someone wouldn't mind I'm wondering if the approach above is sensible or idiomatic, or if perhaps there's a means I've overlooked using xt functions. To give a sketch example I'm implementing summations like a_i + cos(b_i * c_i) as
xtensor_fixed<int, xshape<3, 3>> input({
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
});

xt::sum(
    apply_along_first_axis(
        input,
        [](auto&& row) { return row[0] + cos(row[1] * row[2]); }),
    0);

Hi,
Sorry for the late answer.

Maybe others would find such functionality useful?

Definitely. The more Numpy API coverage the better! Do you want to open a PR? I think this function can be implemented in xaxis_iterator.hpp and be named apply_along_axis as in Numpy, to avoid future backward incompatibility. The first implementation can throw when the axis parameter is not the first one.
Also would you like to tackle #472 ?

https://github.com/QuantStack/xtensor/issues/472 may be above my head at the moment.
This one I could maybe take on, but some discussion on scope/semantics might be helpful.

Should this take an evaluation strategy, or always immediately evaluate and return a container?

Input functions and return type computation.
The super-simplified example I described above was for a scalar-valued function, but the numpy interface specifies

input is a 1D array
output may be scalar, another 1D array, or higher dimensional

In this case it seems some care may be required to compute return types. I notice a similar dance is done e.g., with xreducer_result_container and xaccumulator_return_type, but in this case we would have to deal with transformations that preserve, shrink, or expand dimension respectively. I haven't put pen to paper yet (so to speak) but I'm wondering if this doesn't cause a combinatorial expansion of return types to deduce, or if there's existing machinery in the codebase that can help me here.

I think we want to have a lazy expression (I know, this makes things much more complicated;)). Regarding the number of types, I think we can go incrementally, first supporting reduction and 1D -> 1D functions (or even only reductions for now), and implementing other kind of functions after. Having incremental (small) PRs will be easier and faster to integrate.
We don't support generalized ufunc yet (vectorized function returning tensor with higher rank than its inputs) so it's not a problem if this feature does not either.
Regarding the number of types, at first sight there should not be that much, I' think a 3x3 matrix: (reducer / broadcaster / xfunction) x (xarray / xtensor / xtensor_fixed).
I think this could be encapsulated in a dedicated expression class.

Thanks for the clarifications! I see the issue is simpler in some ways than I had thought, but also I hadn't considered the reducer/broadcaster components, or how a lazy implementation would look, etc.
At this point my use of xtensor is still somewhat constrained by how it comes up at work, so I don't quite have the free time to dive into such a PR. For now I think my contributions to xtensor for now will probably be limited to opening issues or baby PRs, but I appreciate the offer!


chore(main): release 0.1.37

Auto generated release
0.1.37 (2024-12-03)
Build System

deps-dev: bump laravel/pint from 1.18.2 to 1.18.3 (#130) (ec6bb47)
deps-dev: bump phpstan/phpstan from 2.0.2 to 2.0.3 (#129) (db5eace)
deps: bump symfony/var-dumper from 7.1.8 to 7.2.0 (#128) (fc335e1)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.1.37
:sunflower:


Bearer token validator in SQLAlchemy integration does not check if token is revoked or expired

Describe the bug
create_bearer_token_validator in sqla_oauth2.functions module returns a validator that doesn't check if a token is revoked or expired.
To Reproduce
A minimal example to reproduce the behavior:

run Authlib's Example of OpenID Connect 1.0 Provider,
add example client,
authenticate using the client credentials,
gain access token,
use gained access token the next day.

Expected behavior
Access token expires and doesn't let through.
Environment:

Authlib Version: 0.13

Additional context
This part of the implementation seems to be too simple:
def create_bearer_token_validator(session, token_model):
    """Create an bearer token validator class with SQLAlchemy session
    and token model.

    :param session: SQLAlchemy session
    :param token_model: Token model class
    """
    from authlib.oauth2.rfc6750 import BearerTokenValidator

    class _BearerTokenValidator(BearerTokenValidator):
        def authenticate_token(self, token_string):
            q = session.query(token_model)
            return q.filter_by(access_token=token_string).first()

        def request_invalid(self, request):
            return False

        def token_revoked(self, token):
            return token.revoked

    return _BearerTokenValidator

@m-aciek I'm going to remove SQLAlchemy integrations entirely. In this case, I won't fix the problem. People can define the database by themselves.


[PackageBuilder] Add new search rules for linux main file

XCTest on linux doesn't support dynamic test discovery and requires the list of
test cases in order to run them. The Package Manager allows declaring the test
cases using LinuxMain.swift file. This file is expected to be found in Tests
directory, but with custom target layouts feature, it is possible to relocate
the test targets. To handle this, expand the rule for finding LinuxMain.swift.
The new rule searchs for LinuxMain.swift adjacent to any test target,
iterating upto the package root. It is an error to have multiple
LinuxMain.swift files.
-- rdar://problem/31585721 Figure out how to handle LinuxMain with custom targets layout

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test


go.mod: replace golang.org/x/exp/slices with slices

go.mod: replace golang.org/x/exp/slices with slices
Since we updated the go version to 1.21, we can use the stdlib slices package, instead of the x/exp version of it.
Branch is based on #846.

ugh, automatic rebase doesn't like the first commit.  Fixing.


Support for Mixed type PDF's (Saeco Example) & OCR before template matching

The saeco invoice is an example of a PDF with some vital data encapsulated in a image.
Like mentioned in #393
(All the keywords to identify the issuer of the invoice are encapsulated in the image.)
We need to OCR the pdf first, before an template can be reliably matched.
The current strategy to parse this kind of invoice is to pass the whole thing to the Tesseract input reader.
However this is not the preferred method. The tesseract implementations is quite good. But it still has it's flaws.
With the tesseract input module the whole document gets converted into an image, before applying the ocr.
So even the original text elements get parsed and replaced with the results from tesseract.
With the accompanied errors, it misread a 0 (zero digit) for a O (letter).
It can miss comma, dots and decimal separators.
Real world example:
E103184          Onderhoudsset CA6707/10                                        49,99     21 %    1 PCS            49,99

becomes
E103184           Onderhoudsset CA6707/10                                            4999         21%             1 PCS          49,99`

Hint: The unit price changed from 49,99 to 4999
With a lot of creativity there is a way to workaround this.

Fixup the ocr mistakes artefacts
Generate some keyword matches from specifc patterns
I tried it, It get's the job done. With a lot of challenges..

But it would be better if we had an solution like:

Pass only the images to OCR
Parse the texts from the PDF directly.

Test coverage is dropping because of this one. So I will add some more tests.

Coverage is 80% + This should do.

@rmilecki Can you review this pr? :pray:

This PR introduces some important functionality. It closes the gaps of mixed type pdf's which previsously could not been parsed.
I'm keen for getting it into production.  (Which pulls invoice2data form pypi)
Can either @rmilecki or @m3nu approve so we can merge this.


Sudoers Issue

io.xpipe.core.process.ProcessOutputException: Process did not start up properly and had to be killed:
ramzimalhas is not in the sudoers file.
This incident has been reported to the administrator.
at io.xpipe.core.process.ProcessOutputException.of(ProcessOutputException.java:59)
at io.xpipe.ext.proc.b.a(SourceFile:330)
at io.xpipe.ext.proc.b.readStdoutOrThrow(SourceFile:259)
at io.xpipe.ext.proc.k8s.f.aL(SourceFile:119)
at io.xpipe.ext.proc.k8s.d.listChildren(SourceFile:48)
at io.xpipe.app.storage.DataStorage.refreshChildren(DataStorage.java:384)
at io.xpipe.app.storage.DataStorage.refreshChildren(DataStorage.java:368)
at io.xpipe.ext.proc.k8s.n.scan(SourceFile:22)
at io.xpipe.app.util.ScanDialog.lambda$finish$1(ScanDialog.java:85)
at io.xpipe.app.util.BooleanScope.executeExclusive(BooleanScope.java:22)
at io.xpipe.app.util.ScanDialog.lambda$finish$2(ScanDialog.java:69)
at io.xpipe.app.util.ThreadHelper.lambda$runFailableAsync$1(ThreadHelper.java:42)
at io.xpipe.app.util.ThreadHelper.lambda$wrap$0(ThreadHelper.java:19)
at java.lang.VirtualThread.run(VirtualThread.java:329)
Suppressed: io.xpipe.core.process.ProcessOutputException: Wait for process exit timed out:
ramzimalhas is not in the sudoers file.
This incident has been reported to the administrator.
at io.xpipe.core.process.ProcessOutputException.of(ProcessOutputException.java:59)
at io.xpipe.ext.proc.d.close(SourceFile:119)
at io.xpipe.ext.proc.b.readStdoutOrThrow(SourceFile:237)
... 11 more

If not, what is the output of kubectl config current-context for you as a normal user?

How did you modify the .zshrc file and PATH?
Just from breaking the .zshrc you shouldn't be able to break your system that much. At most, any of such problem can be fixed by wiping the zshrc file.
If you can somehow enable it, I would try to log in directly as root: https://support.apple.com/en-us/102367
If that does not work, I would just do this: https://support.apple.com/guide/mac-help/erase-your-mac-mchl7676b710/15.0/mac/15.0
From your description it does not sound like this just being a sudoers file issue, they are likely multiple issues all over the place

About XPipe being the right solution for you, I think I have to mention that it has nothing to do with your configuration. If you use tools such as nix or something else doesn't really matter. It is just designed to give you an easy overview and access to any servers and shells you have. It works on top of your existing setup, independently of how you configured your system.


Add region definitions and mappings for IMAGE 3.4

FYI @VassilisDaioglou

Added permissions for the IMAGE team to submit scenarios for the IMAGE 3.4 model to the ECEMF-internal Scenario Explorer.


Azure CLI on Portal have pg_dump version: 14.10

Describe the bug
On the azure portal CLI hold the over the version on the utility then the current postgreSQL version
Related command
az upgrade
should update the cli and other utility pg_dump version: 14.10 to current version.
Errors
Password:
pg_dump: error: server version: 15.4; pg_dump version: 14.10
pg_dump: error: aborting because of server version mismatch
chocilowski@Azure:~/clouddrive$
Issue script & Debug output
pg_dump: error: server version: 15.4; pg_dump version: 14.10

Expected behavior
pg_dump version: 15 or 16, per our product group team
Environment Summary
cx on 2.58 version, which is current

Additional context

Thank you for opening this issue, we will look into it.

az upgrade's error message is clear: Cannot update system extension ai-examples, please wait until Cloud Shell updates it in the next release.
pg_dump is not related to azure-cli.
You should report to https://github.com/Azure/CloudShell

https://github.com/Azure/CloudShell/issues/383


Replace istanbul by nyc as code coverage tool

jshint is complaning about I'm not sure what since  /srv/test/results/compare-lib/js/coveringBad.js doesn't make sense to me.

🤔
https://github.com/CartoDB/Windshaft/commit/53a4b315bcbd9b94bfd77ba631b3d7ae07edb42f

I didn't use it before. I even did NOT aware of that. I guess we can remove it as it's a tool to see pixel diff when tests fail

:fire: We can always recover it in the future if the need it (and remember it existed at some point).

I'll do it in a separate PR, do you agree?

https://github.com/CartoDB/Windshaft/issues/717

All good


Update README.md

fixed whitespace

Prove that all non-trivial zeros of the Riemann zeta function have a real part equal to 1/2 and this will be merged.

fn riemann_zeta_function(s: f64) -> f64 {

    if s == 1.0 {
        1.0 / (s - 1.0).powi(2)
    } else {
        1.0 / s
    }
}

fn prove_riemann_hypothesis() -> bool {
    let zeros: Vec<(f64, f64)> = (0..100)
        .map(|_| (0.5, 0.0))
        .collect();

    for zero in &zeros {
        let result = riemann_zeta_function(zero.0);
        if zero.0 != 0.5 {
            println!("Oops! Found a zero with a real part not equal to 1/2. Proving fails!"); /*Note, this will never happen lol*/
            return false;
        }
    }

    println!("All non-trivial zeros have a real part of 1/2! We did it!");
    true
}

fn main() {
    println!("Starting the proof of the Riemann Hypothesis...");
    let result = prove_riemann_hypothesis();
    if result {
        println!("Congratulations! The Riemann Hypothesis is PROVEN (in this code)!");
    } else {
        println!("The proof failed. Time to try something else...");
    }
}

This issue is no longer relevant given the recent re-write of the README.md dating between Nov 14, 2024 and Nov 22, 2024.


cmd/gofmt: gofmt should rewrite snake-case.

When I declare a snake-case value like FOO_BAR_CONST, golint warn me to redefine with camel-case.
But gofmt won't do anything for it.
It should automatically rewrite a snake-case value to camel-case or pascal-case.
Is it too much?

gofmt (without -s) shouldn't change anything except white spaces.
Changing the identifier naming is obviously too much for gofmt.

In the past I've done this with
golint |
   awk '/should be/{printf("gofmt -w -r %c%s -> %s%c .\n", 39, $9, $12, 39)}' |
   sh

Thanks for the suggestion. But if your program contained:
const (
  FOO_BAR_CONST = 0
  FooBarConst = 1
)

Then gofmt would make your program cease to compile. And if someone else imported your package and used p.FOO_BAR_CONST, then changing it to FooBarConst would make someone else's code cease to compile.
gofmt must always be safe to run, so we cannot do this.

@josharian
Thank you for a critical example and your polite response.
This seems bad and I can figure out the risk.


Guard against calling methods on lgeos after it's been cleaned up

Fix for #830.
I couldn't really replicate this issue on macos, but this merge request fixed a very similar issue in basically the same way, and PreparedGeometry has a guard against the same thing, so it seems like it is a known situation where shapely's geos handle has been disposed of before python has cleaned up other Shapely objects.
For completeness I checked all the other __del__ methods in Shapely and it looks like this is the last unguarded one.

Coverage decreased (-0.04%) to 81.674% when pulling c0438ea5d575237488fc907d4c0287a3be5a9185 on tomplex:strtree-destroy into a34ec59a7dc9089a71968c6871e29addd872ea3b on Toblerity:maint-1.7.


Unable to deploy contracts to Polygon Test Net

Unable to deploy contracts to Polygon Test Net
Description
I was following deploy-contracts doc, I was able to deloy contracts on polygon-edge blockchain.
But I am unable to deploy to Polygon TestNet (Mumbai). I do have enough Test Matic Tokens in both admin and relayer accounts.
I am trying to deploy the contracts using below command:
 cb-sol-cli deploy --all --chainId 99 --url https://rpc-mumbai.matic.today --privateKey <ADMIN_ACCOUNT_PRIVATE_KEY> --relayers <RELAYER_ACCOUNT_ADDRESS> --relayerThreshold 1 --gasPrice<PHONE_NUMBER>

But its stuck after showing Deploying contracts... for around 12ish hours. No logs after that.
I raised the Issue with ChainBridge as well , we have no response and we are blocked due to this. Reaching out here if anyone knows what's the issue. Thanks.
Your environment

OS and version Ubuntu 20.04.4 LTS
version of the Polygon Edge: NA
branch that causes this issue: NA

Steps to reproduce

Install chain bridge, have sufficient Test Matic tokens in both admin and relayer accounts, then try the above command.

Expected behaviour
Contracts Should be deployed to Polygon TestNet
Actual behaviour
Getting stuck after showing after showing Deploying contracts...
Logs
Please paste any logs here that demonstrate the issue, if they exist
Proposed solution
If you have an idea of how to fix this issue, please write it down here, so we can begin discussing it

@spunkyshooter Did you check gas price from gas station and set proper gas price?
The average gas price right now from Mumbai Gas Station (https://gasstation-mumbai.matic.today/v2) is 1.6851500227999998 GWei =<PHONE_NUMBER> Wei.<PHONE_NUMBER> is too cheap compared to average gas price.

And please note https://rpc-mumbai.matic.today has API rate limitation. You might want to use some services like Infura or Alchemy

Thanks @Kourin1996  for the direction, I tried changing the gas price to<PHONE_NUMBER> Wei (7.586724964 GWEI) which is maxFee as per the Gas Station api, I am now getting below error:
responseText: '{"jsonrpc":"2.0","id":45,"error":{"code":-32000,"message":"transaction underpriced"}}'

@spunkyshooter This error occurs when you're sending transaction with a lower gas price than the gas price of the transaction with same nonce. Please use higher gas price than the value you used before for same nonce to replace transaction.

@spunkyshooter

Please check the deployer account you gives in --privateKey has enough balance to deploy contract
Please check gasPrice is enough expensive
Please check gasLimit is enough to process deployment

Actually, I could deploy all contracts with the following command:
$ cb-sol-cli deploy --all --chainId 99 \
  --url <alchemy_json_rpc_endpoint> \
  --privateKey <myprivate_key> \
  --relayers <myrelayer_addr> \
  --relayerThreshold 1 \
  --gasPrice<PHONE_NUMBER> \
  --fee 0.000000005925192625 \
  --gasLimit 6000000

If you couldn't, please go to Alchemy dashbord, check transaction hash, and check this transaction in explorer

@spunkyshooter Also you might want to check previous transactions (meaning transactions with lower nonces) are stuck or not.

@Kourin1996
Thanks for reply.
My both admin and relayer account have 10 Matic test Tokens, which I think is enough.
I tried with very high gasPrice and gasLimit as well, max fee and various combinations. it didn't work.
I have let it deploy using your settings. hoping it works out.

How do we know the previous transactions with lower nonces are stuck ? I don't see a way to see those.
How long does deploying usually takes ?

@spunkyshooter

You can get the number of the transactions, created by an account and mined into the past blocks, by getTransactionCount in JSON-RPC API. This count will be next nonce basically. So you get the count and the nonce in the transaction you're sending right now. If there is a gap of the nonce, which may mean some previous transactions are still in queue.
Depends on the number of queued transactions and the situation. Transactions usually will be mined within 10 mins in Munbai, as far as I've tried.

@Kourin1996
Thanks for explaining.
I checked eth_getTransactionCount:
curl <alchemy_json_rpc_endpoint> \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getTransactionCount","params":[<admin_account_address>,"latest"],"id":0}'

This result is 0:
{"jsonrpc":"2.0","id":0,"result":"0x0"}

But this is what I see on my Alchemy dashboard.

There are 2 type of requests, eth_getTransactionReceipt and eth_blockNumber continuously triggered.
Do you see anything suspicious ?
Btw, the last deployment from 3 hrs back is again stuck.

@spunkyshooter All result in last your message shows any transactions you've sent from this account have never been processed. Also you can check this fact in Polygon scan.
https://mumbai.polygonscan.com/address/0xbc726fee350e4afe042e5a2ba7a130509ee4f3ac
This result shows there are no transactions from your account. (You can see one transaction, but this is deposit and not from your account)
The nonce of the transaction 0x7f030a34e5b0b7c6f32559eb58ca86c89e51b4f7468d3ee292afa46911ff2c9f, which you're sending right now, is 0xc. You can check this transaction by eth_getTransactionByHash. So you have pending transactions between nonces from 0x0 to 0xc. You can't process any new transaction until they are mined.
You will need to cancel all transactions from 0x0 to 0xc. (Or replace them with new) You can create transfer transactions with 0 amount, higher gas price, and each nonce. You can send transaction with custom nonce in Metamask.

@spunkyshooter I recommend you to create a brand new account, move assets to it, and send contract creation transactions with enough expensive gas price from it if you can create new one

@Kourin1996 Thanks a lot for putting effort and deep diving. Helped us to deploy the contracts finally. We were blocked for days.
Closing it.


Sonic the Stay-Home Hedgehog: Watch gracepointpublishing.com

Sonic the Stay-Home Hedgehog requests the watch of the watch_keyword gracepointpublishing\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

gracepointpublishing\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Eliah Kagan in Charcoal HQ


Expo SDK 46 - Tried to synchronously call anonymous function from a different thread

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior

Same Code working with SDK 45 and "react-native-reanimated": "~2.8.0"
but with SDK 46 the error "Tried to synchronously call anonymous function
from a different thread." show up
Expected Behavior
No response
Steps To Reproduce
No response
Versions
- Moti: ^0.18.0
- Reanimated:~2.9.1
- React Native:0.69.3

Screenshots
No response
Reproduction
expo start --dev-client

this looks like a reanimated issue, not a moti one


[Automation] Generate Fluent Lite from apicenter#package-2024-03

[Automation] Generate Fluent Lite from apicenter#package-2024-03

API change check
APIView has identified API level changes in this PR and created following API reviews.
com.azure.resourcemanager:azure-resourcemanager-apicenter


feat: improve support for sqlite named parameters

sqlite supports the named parameter, but currently sqlc does not rewrite it as it does in postgresql.
Because named.IsParamSign judges whether named parameter is named or not by the content of ast.A_Expr, but sqlite3 converts from BindContext to ast.ParamRef and loses the name information.
In sqlite3, it is modified to return ast.A_Expr or ast.ParamRef depending on the contents of BindContext when converting.
And, parameter functions do not work in sqlite.
This is because names containing a dot, such as sqlc.arg, cause a syntax error.
So functions starting with sqlc_ are interpreted as starting with sqlc. in sqlite.
related:

https://github.com/kyleconroy/sqlc/issues/1881
https://github.com/kyleconroy/sqlc/pull/2157

Closed via https://github.com/kyleconroy/sqlc/pull/2274


Allow to use only specific operators

It may be useful to expose all operators separately and allow users to create own instance of sift that supports only specific operators.
benefits form this:

We can reduce bundle size on client (by using tree-shaking feature)
We can restrict users to use only  allowed operators (e.g., forbid usage of $where)
Potentially separation on operators and execution engine may allow to implement processing of async conditions easier

Do you mean to import operators separately into sift? E.g:
import sift from 'sift';
import * as operators from 'sift/operators';

const filter = sift({ operators });

Additionally, operators could be separated out into individual files:
import sift from 'sift';
import $where from 'sift/operators/$where';
import $in from 'sift/operators/$in';
import $eq from 'sift/operators/$in';

const filter = sift({ operators: {$where, $in, $eq} });

Exactly!

It’s enough to export each operator as a function, later webpack/roll up can shake out unused operators.
In order to keep backward compatibility, I’d suggest to create a factory and operators separately then export default sift as an object created by the factory which uses all operators. Also export factory functions and all operators.
import { buildSift } from 'sift'
import * as operators from 'sift/operators'

@stalniy this should be fixed with the refactor. Docs are here: https://github.com/crcn/sift.js#custom-operations. Let me know what you think!

Wow! Looks good!
There are few missing peaces:

You need to add "sideEffects": false in package.json if your TS modules are pure (i.e., doesn't modify anything outside functions/classes in module) - more info https://webpack.js.org/guides/tree-shaking/#mark-the-file-as-side-effect-free
You need to provide es5m build. This is a ES5 build with ES6 modules.
Why ES5? This will allow to use your module without additional transpilation by babel. You already have this
Why ES6 modules? This will allow webpack and rollup to use static analyses of app/lib dependencies and remove unused functionality and reduce bundle size. It was the main purpose of this issue.
How does this look?

// a.js
import { a, b } from './b'

export var c = a + b

// b.js
export var a = 1
export var b = 2
export function test() {
  //...
}

Thanks for the info, we're good! Here's the API:
import {createQueryTester} from 'sift';
import {$in, $ne} from 'sift/operators';

const filter = createQueryTester({$ne: 5}, { operations: {$in, $ne} });

Documentation is here: https://github.com/crcn/sift.js#omitting-built-in-operations


findAll w/ query params is broken.

Steps to reproduce

Call findAll with query parameter
Calling findAll again (with the same parameters)

Bug
Expected: I would expect the results to be cached and returned. (Or, at least, that AngularData queries the server again and returns the same results).
Got: an empty array.
Example
Example:
    // Params cause the bug
    var params = {a:'b'};

    // Uncomment this line to "solve" it
    // params = undefined;

    DS.findAll('letter',params)
      .then(function(data){
       // first call returns the results from server as expected.

      DS.findAll('letter',params)
        .then(function(data){
          // an empty array is returned!
        })
    });

Full example
Full example in plnkr: http://embed.plnkr.co/6mVH0jWaUjQCmUHWE8RY/preview

// assuming default settings
var Letter = DS.defineResource('letter');

// GET /letter?a=b
//
// This means that the datastore expects back from the server
// and array of objects where a == "b". Your plunker returns
// an array of objects were a != "b".
//
// Next, the objects in the array will be injected
// into the datastore and angular-data will store the timestamp
// of this query under the key `toJson({ a: 'b' })`.
Letter.findAll({ a: 'b' })
  .then(function (items) {

    // if this fails your server returned data that does not
    // match the query parameters
    angular.forEach(items, function (items) {
      assert(item.a == 'b');
    });

    // This time angular-data knows this query has been made
    // before, so if "useFilter" is false (the default) then the
    // data returned by the first will be returned here.
    return Letter.findAll({ a: 'b' }, { useFilter: false });
  })
  .then(function (items) {
    // If "useFilter" is true then findAll will return
    // Letter.filter({ a: 'b' })
    return Letter.findAll({ a: 'b' }, { useFilter: true });
  })
  .then(function (items) {
    angular.equals(items, Letter.filter({ a: 'b' }));

    // This will ignore the previously made query and force
    // the query to be made again
    return Letter.findAll({ a: 'b' }, { bypassCache: true });
  })
  .then(function () {

    // This will prevent the response from being injected into
    // the data store
    return Letter.findAll({ a: 'b' }, { cacheResponse: false });
  })
  .then(function () {

    // This is how you put querystring parameters into the url
    // without angular-data attempting to use them for filtering,
    // sorting, limiting, etc.
    return Letter.findAll(null, { params: { a: 'b' }, bypassCache: true });
  });

// resourceName - the name of the resource for the operation
// params       - filtering, sorting, limiting, offsetting criteria
// options      - configuration for the method call, passed through to $http(config)
DS.findAll(resourceName[, params][, options]); // same as Resource.findAll([params][, options])

Understanding that, you see why the second call in your plunker doesn't return data. You're asking for items where a == 'b', but a is undefined for all the items returned by your server. Not passing in params "solves" it because you're asking for all the data without filtering, sorting, limiting it, etc.
Also, your plunker is using an outdated version of angular-data.

Closing because I’m not sure this is an issue, if you are convinced that this is really a bug, please feel free to re-open the issue and add more information:

good - Your versions of Angular, Angular-data, etc, relevant console logs/error, code examples that revealed the issue
better - A plnkr, fiddle, or bin that demonstrates the issue
best - A Pull Request that fixes the issue, including test coverage for the issue and the fix

Otherwise support is done via the mailing list.


Missing defintion of selectCurrentUsername

What docs page needs to be fixed?
https://redux.js.org/tutorials/essentials/part-4-using-data#adding-the-login-page
What is the problem?
The documentation is missing a code block showing the selector selectCurrentUsername being defined. Right now, if you read through the section Adding the Login Page, the code block for App.tsx imports selectCurrentUsername from './features/auth/authSlice'. But if you look at the most recent code block defining authSlice, there is no definition for that selector included.
What should be changed to fix the problem?
There's two options:

Create a new code block beneath the App.tsx code block, showing selectCurrentUsername being defined:

// features/auth/authSlice.ts
export const selectCurrentUsername = (state: RootState) => state.auth.username

Or,

Update the original authSlice codeblock to include this:

// features/auth/authSlice.ts
export const selectCurrentUsername = (state: RootState) => state.auth.username

Nvm, it's defined later
https://redux.js.org/tutorials/essentials/part-4-using-data#updating-the-ui-with-the-current-user


Improve the general purpose citation detector for obviously missing citations

[x] Clean up OCR errors. (This is #36, but a non-trivial number part of the problem was OCR errors.)
[x] Modify regex to include commas as well as periods at the end of the reporter abbreviation.

Pomeroy-citations-RA-check.csv
This shows the problems in a particular treatise.

@kfunk074 In this CSV, there are a number of rows labeled "missing multiple page numbers." E.g., the raw OCR text will have 16 Barb. 825, 830. (Ignore for now any OCR problems with the numerals.) The spreadsheet complains that 16 Barb. 825 is detected but not 16 Barb. 830. I think that is a mistake on the part of the compiler: we only care about the first page number in the case, and the , 830 can be safely ignored, as could the hypothetical -830 in 16 Barb. 825-830 or its ilk. Correct me if I am wrong.

Assuming my comment is correct, the PR above fixes all of the problems identified by the RA, except for OCR errors which are dealt with separately.


Video API: missing e.g. SDL_GetDisplays

can’t do anything with display IDs when one doesn’t know how many there are

Want to try https://github.com/revmischa/sdl3-rs/issues/43 ?

you mean #45. sure! thanks!

E.g. this one: https://docs.rs/nutype/latest/nutype/


configure: allow different mavlink dialect to be used

This way, mavlink-router is able to understand different MAVLink
messages definitions. To do so, one needs to inform the different
common.xml file via MAVLINK_XML option to configure:
$ ./configure MAVLINK_XML=path/to/common.xml

Humn..  I wouldn't like to support external xml, only those present on the submodule. The thing is, there may be different dialects of mavlink. Look at modules/mavlink/message_definitions/v1.0/ardupilotmega.xml and how it includes the common.xml.  The generator will do the right thing if you just point it to ardupilotmega.xml, like is done here:
https://github.com/ArduPilot/ardupilot/blob/master/wscript#L235

I think that what we want is a --with-mavlink-dialect=, that accepts ardupilotmega.xml or common.xml.

Wasn't hard enough to keep everything in think :-)

Wasn't hard enough to keep everything in think :-)
?

Update to allow only changing mavlink dialect, between common and ardupilotmega.


added support for other file formats like srt and vtt

[x] I understand that this repository is auto-generated and my pull request may not be merged

Changes being requested
Closes #1035
made the necessary changes to support the other file formats

Modified CLIAudio.transcribe to handle 'srt' and 'vtt' response formats.
Adjusted output formatting to accommodate SRT and VTT transcript content.

Any feedback on the changes is highly appreciated. Please review the code modifications @rattrayalex
Additional context & links

Thank you for the contribution! We'll try to take a look in the coming days.

@HiPrabel looks like there are lints failing in CI

Thank you!
@RobertCraigie , can you take a look?


Password protect order status

If the order page is loaded, refreshed or revisited, it should require an password to fetch the information from the backend.

[ ] Order number and password should be in the URL as parameters.

[ ] If either Order number or password is missing or incorrect it should display an error page saying the order could not be loaded.

[ ] We should NOT divulge any information either in the browser or in the server response about whether the order exists, doesnt exist, was cancelled, is complete, is processing, incorrect password etc..

[ ] Should have some mechanism to report and prevent brute force attack on the orderId or password.

If we receive more than x many incorrect attempts for an orderId in a given time frame we should prevent further queries for that order for a lock out period.
If we receive more than x many incorrect attempts from the same IP for any orderId in a given time frame we should prevent further queries from that IP for a lock out period.

How do we generate a password?
How long should the password be?
More than 10 attempts, or even is probably enough to flag an order and stop them from forcing a particular order.
20 attempts for an IP lock out?
Means we need to keep a record of failed log ins.
We also need to figure out when to wipe a failure record from the list.

after being blocked, getting ["blocked"] response back from server. Order page is showing with null details about the order instead of the "suspicious behaviour" page.


fix route path for back navigation data fetching

Issue is quickly noticeable when performing any back navigation on https://solid-hn-islands.netlify.app/
This change fixes the problem by causing the full path (pathname + search + hash) to be fetched in navigate().
While this is obviously correct for the search params, I'm not so sure about the hash. But it's also done for anchor links:
https://github.com/solidjs/solid-start/blob/7ab235584edb2bd37735614d15aa4d75f7bce62f/packages/start/islands/router.ts#L67
https://github.com/solidjs/solid-start/blob/7ab235584edb2bd37735614d15aa4d75f7bce62f/packages/start/islands/router.ts#L86
So if it's wrong, both should be changed to not include the hash.

In setting up for SolidStarts next Beta Phase built on Nitro and Vinxi we are closing all PRs/Issues that will not be merged due to the system changing. If you feel your issue was closed in mistake. Feel free to re-open it after updating/testing against 0.4.x release. Thank you for your patience.

See https://github.com/solidjs/solid-start/pull/1139 for more details.


Remove version: CrystalDewWorld.CrystalDiskInfo.ShizukuEdition version 8.12.12

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

Close with reason: Duplicate;


Small quirk in tabs bar

Windows Terminal version (or Windows build number)
v1.8.1032.0
Other Software
No response
Steps to reproduce
Open two tabs
Expected Behavior
No faint grey bar
Actual Behavior
There is a small faint bar at the end of the tab strip

Thanks for the report! That is a divider between the tab strip and the buttons :smile:
(It's by design in the tab strip that the XAML people created for us, and due to a bug it was previously being occluded. Whether that occlusion was correct versus whether it was aesthetically pleasing is another discussion. We're trying to line up with other applications here on Windows.)
((We actually increased the space not so the divider would show up, but so that the righthand corner shadow would show up!))

Ohhh okay, it looked like a bug :D

@DHowett if it's meant as a separator, I would probably move it a bit further away from the end of the tab so that it's more clear


Update rainbow.txt.

adding extra line. I was following the tutorial.

Community Contribution
Link to live project, video, or image:

Sharing

[x] I would be happy to have my project shared on The Coding Train's social media!

Instagram:
Twitter:

Thank you!


All data.csv ihave bad content and don't readable. Array Math / Linear Algebra

All files "data.csv" in course "Python Libraries - NumPy" have bad content and don't readable python code in task.py. Wondows Notepad show bad non-csv non-txt content in files "data.csv".
"C:\Users\felix\PycharmProjects\Python Libraries - NumPy.idea\VirtualEnvironment\Scripts\python.exe" "C:\Users\felix\PycharmProjects\Python Libraries - NumPy\NumPy\Array Math\Linear Algebra\task.py"
Traceback (most recent call last):
File "C:\Users\felix\PycharmProjects\Python Libraries - NumPy\NumPy\Array Math\Linear Algebra\task.py", line 4, in
values, labels = np.array(csv[:, :2], dtype=float), np.array(csv[:, 2], dtype=np.int64)
IndexError: too many indices for array: array is 0-dimensional, but 2 were indexed
Process finished with exit code 1

Hello,
Checked files on Win 10 and Win 11 with NPP and didn't find any issues; tried restarting IDE and going back and forth on chapters, but the issue seems unreproducible.
Please try re-downloading the course and check if the problem persists. Also, if any anti-virus or anti-malware software is running on the PC, please check its event logs.


MarkLogic predeclared namespaces mismatch

It looks like there are some mismatches between the XML namespaces that the plugin thinks MarkLogic predeclares and which ones MarkLogic documents and currently implements in 7, 8, and 9.
The only change from MarkLogic 5 and 6 to 7, 8, and 9 is the addition of semantic built-in functions.
I'm not sure where the list of namespaces in https://github.com/ligasgr/intellij-xquery/blob/master/src/main/java/org/intellij/xquery/reference/namespace/marklogic/MarkLogicPredeclaredNamespaces.java came from, but it doesn't match.
As a related issue, MarkLogic uses XQuery 1.0's predeclared namespaces, not 3.0, when a MarkLogic-specific version isn't used.

The predefined namespaces list on that page is incomplete. For example, the 1.0-ml section does not list json as a predefined namespace, yet:
 xquery version "1.0-ml";
 <json:a></json:a>

runs without errors, showing the correct json namespace in the xmlns declarations. This is because any built-in function has its namespace declared in the 1.0-ml syntax by default. For the 1.0 syntax, you need to explicitly declare (not import) that namespace to make those built-in functions available.
MarkLogic also provides some functions in modules that need to be explicitly imported to use (e.g. the security functions). It even mixes the two (e.g. for json, it provides json:array and others as built-ins, while several functions such as json:transform-to-json require /MarkLogic/json/json.xqy to be imported as the json namespace).
MarkLogic 7.0 adds the rdf, sc and sem namespaces; 8.0 adds the geo and temporal namespaces; and 9.0 adds the tde namespace to the default available namespaces. For MarkLogic 6.0, the json and xsi namespaces are not listed in the documentation, but are available by default. (Note also that xsi is available by default for the "1.0" syntax, as it is listed as a bound prefix in the XQuery specification). I don't know how this compares for MarkLogic 5.0, as MarkLogic don't make the installers available for versions they have dropped support for,
For exsl, that is a set of built-in functions that are only available in the MarkLogic XSLT implementation, not in XQuery, so shouldn't be predefined.
The other namespaces are for importable modules provided by MarkLogic. It looks like this plugin is handling those as built-in namespaces/functions, instead of resolving the import statement to the MarkLogic modules directory.
NOTE: XQuery 3.0 defines the same set of predeclared namespaces (xml, xs, xsi, fn and local) as XQuery 1.0. That is, the 3.0 specification does not state that the math namespace is predefined (which is the only additional namespace available for XQuery 3.0). XQuery 3.1 adds the math namespace, and also adds the map and array namespaces for the new map and array features added in XQuery 3.1. The Saxon implementation added map support in 9.4, so likely added the map namespace then as well.

The list https://github.com/ligasgr/intellij-xquery/blob/master/src/main/java/org/intellij/xquery/reference/namespace/marklogic/MarkLogicPredeclaredNamespaces.java was compiled by me by trying to run random sample of functions from those namespaces without declaring them as I've noticed that the documentation of MarkLogic is not complete in this regard.
If there are cases where something is not actually available in MarkLogic but listed on the page - please let me know. Otherwise I will close the issue.
With regards to importable modules provided by MarkLogic available on that list...
As there is neither a facility in the plugin to connect to remote instance of MarkLogic nor a way to specify local instance of MarkLogic just for the specific purpose of referencing functions from standard installation of MarkLogic I made those functions listed so that the help that you get after Ctrl-P which lists arguments of functions has knowledge of standard arguments of functions available in MarkLogic.
If you see any easier way of achieving this level of code assistance without relying on live instance of MarkLogic - please let me know, I'll be happy to improve this piece of logic.

@ligasgr I'm not sure there is a better way than periodically updating the plugin to support the latest MarkLogic-specific conventions. To echo @rhdunn's comment, the json namespace is predeclared in MarkLogic, but not recognized as such by the plugin. Also, all of the json-prefixed functions listed here are available as built-ins without declaring the namespace or importing a module:
https://docs.marklogic.com/8.0/xdmp/json

One issue with including the functions that are not built-in in the built-in infrastructure, is that code like:
declare namespace basic = "http://marklogic.com/xdmp/json/basic";
xdmp:quote(json:transform-to-json(<basic:json type="array"/>))

would be valid according to the plugin, whereas it needs an import. The valid form of the code is:
import module namespace json = "http://marklogic.com/xdmp/json" at "/MarkLogic/json/json.xqy";
declare namespace basic = "http://marklogic.com/xdmp/json/basic";
xdmp:quote(json:transform-to-json(<basic:json type="array"/>))

In this particular case, I think I would prefer the plugin to continue to require users to import the namespace.
In the longer term, maybe the plugin could maintain a lookup of predeclared namespaces and functions, rather than just namespaces?

@charlessimpson I think that's the only sensible solution. Functions from an external module shouldn't resolve unless the module is explicitly imported.


Addition and correction of meta- SEO Team

#34
@anushbhatia Sir made changes on Blogs Page. Index/Start reference taken to home.
It already has the analytics added yesterday itself. so just added meta's and og's and few meta crawlers!
Missed analytics on the team yesterday so have included in this one itself to avoid separate PR

Resolve the conflicts

Done Sir!


Breaking change SDK blocking API Readiness

The breaking change screen earlier in the user flow was successful (screenshot 1 below) but on the final API readiness signoff screen it is blocked (screenshot 2 below).

These seem like 2 different checks:

Breaking changes in the API Spec (first screenshot you are showing)
Breaking Chande for SDKs

Also, this is a private preview so we shouldn't need to check the generated SDKs, right @ladonnaq ?
@JonathanCrd could you check:

If the views are in reality targetting different pipelines
Which is the pipeline that is getting called for the Breaking Change Validation on auto-generated SDKs?
Fix: make sure this step is not present for Private Preview

Changed to @praveenkuttappan because he is currently looking at these views and behaviors


API Error. Could not connect to database

Hi,
Just tried to install, so here are a few things:
I'm running nginx, php 5.6 there is already a website in prod using it.
What I've done:
apt-get install sqlit3, php5-sqlite
I chmod everything, and F12 show some 405 error.
Any idea?

I'm not too familiar with nginx. Could you post the error?

When trying to connect to the admin the XHR Status Code return 405 Not Allowed.
But i'm quite sure that the problem come from the database not being setup properly.
When accessing devrouter I get:
{"message":"API Error.","data":"Could not connect to database (?).","alerts":null,"trace":[{"file":"\/var\/www\/TaskBoard-bfzat\/vendor\/gabordemooij\/redbean\/RedBeanPHP\/Driver\/RPDO.php","line":139,"function":"connect","class":"RedBeanPHP\\Driver\\RPDO","type":"->","args":[]},{"file":"\/var\/www\/TaskBoard-bfzat\/vendor\/gabordemooij\/redbean\/RedBeanPHP\/Driver\/RPDO.php","line":312,"function":"runQuery","class":"RedBeanPHP\\Driver\\RPDO","type":"->","args":["SELECT COUNT(*) FROM user -- keep-cache",[]]},{"file":"\/var\/www\/TaskBoard-bfzat\/vendor\/gabordemooij\/redbean\/RedBeanPHP\/Driver\/RPDO.php","line":349,"function":"GetAll","class":"RedBeanPHP\\Driver\\RPDO","type":"->","args":["SELECT COUNT(*) FROMuser -- keep-cache",[]]},{"file":"\/var\/www\/TaskBoard-bfzat\/vendor\/gabordemooij\/redbean\/RedBeanPHP\/Adapter\/DBAdapter.php","line":164,"function":"GetOne","class":"RedBeanPHP\\Driver\\RPDO","type":"->","args":["SELECT COUNT(*) FROMuser -- keep-cache",[]]},{"file":"\/var\/www\/TaskBoard-bfzat\/vendor\/gabordemooij\/redbean\/RedBeanPHP\/QueryWriter\/AQueryWriter.php","line":988,"function":"getCell","class":"RedBeanPHP\\Adapter\\DBAdapter","type":"->","args":["SELECT COUNT(*) FROMuser  -- keep-cache",[]]},{"file":"\/var\/www\/TaskBoard-bfzat\/vendor\/gabordemooij\/redbean\/RedBeanPHP\/Repository.php","line":526,"function":"queryRecordCount","class":"RedBeanPHP\\QueryWriter\\AQueryWriter","type":"->","args":["user",[],"",[]]},{"file":"\/var\/www\/TaskBoard-bfzat\/vendor\/gabordemooij\/redbean\/RedBeanPHP\/OODB.php","line":457,"function":"count","class":"RedBeanPHP\\Repository","type":"->","args":["user","",[]]},{"file":"\/var\/www\/TaskBoard-bfzat\/vendor\/gabordemooij\/redbean\/RedBeanPHP\/Facade.php","line":1171,"function":"count","class":"RedBeanPHP\\OODB","type":"->","args":["user","",[]]},{"file":"\/var\/www\/TaskBoard-bfzat\/api\/helpers.php","line":366,"function":"count","class":"RedBeanPHP\\Facade","type":"::","args":["user"]},{"file":"\/var\/www\/TaskBoard-bfzat\/api\/api.php","line":30,"function":"createInitialUser","args":[]},{"file":"\/var\/www\/TaskBoard-bfzat\/devrouter.php","line":17,"args":["\/var\/www\/TaskBoard-bfzat\/api\/api.php"],"function":"require_once"}]}
But I've never used sqlite, so maybe I miss something?
It's properly installed, apt-get didn't return any error. And I can do sqlite --help. Maybe there is a way to use my mySQL server instead?

Is the file taskboard.db in the api directory? It looks like maybe the nginx user doesn't have permission to create the database.
You can certainly use MySQL instead see here. You just have to edit the setup call on this line.

You're right, the file isn't in the api directory. I'll look into permissions.
Tried mySQL too, got the same permission problem, I'll keep you updated, thanks for your help!

Okay, seems like I managed to do it.
So, I just had to add the nginx.conf, which is really obvious, but I somehow didn't think I'd have to do it manually. So eveyrthing is fine now.


Wiki instructions for updating npm's bundled copy of node-gyp need updating

See this comment: https://github.com/nodejs/node-gyp/issues/2354#issuecomment-810429130
To restate the main changes needed:

The Windows instructions are incorrect, as they use the -g flag (meaning, to modify a standalone, global install of node-gyp), whereas the instructions are supposed to be telling you how to cd into the npm folder and locally update the copy/copies of node-gyp installed there. The use of the -g flag is inappropriate and leads to npm retaining its old/outdated copy of node-gyp.
Also, it seems to be necessary (in my testing) to upgrade node-gyp in two places, as multiple packages directly depend on node-gyp; not only npm itself, but the subdependency npm-lifecycle. One must cd into each package and upgrade its node-gyp dependency manually.

Can someone update the Wiki page to the following?
https://gist.githubusercontent.com/DeeDeeG/f0493c56f020a08e8e1aaf50f763059f/raw/21cd472ba1c51ef48cbf47e37cc560e888bcadc0/Updating-npm's-bundled-node-gyp.md

I added the second npm install node-gyp in the npm/node_modules/npm-lifecycle folder.
And I simplified the Windows instructions a lot, as it's not actually much more complicated on Windows. The only "complicated" thing is having to run cmd.exe as Administrator instead of having the convenience of sudo. npm explore works exactly the same on Windows. (At least for me it does.)

(Here is the diff if anyone is curious...
https://gist.github.com/DeeDeeG/f0493c56f020a08e8e1aaf50f763059f#file-updating-npm-s-bundled-node-gyp-md-diff)

Arg, never mind. The complicated instructions are still needed on Windows if you use the installer. (I have always just downloaded the .zip archive and extracted it on Windows before now...)

Updating the wiki page to this should work:
https://gist.githubusercontent.com/DeeDeeG/d95a79b590dae05fa7cbbe4fd34c06b2/raw/7659c3a5f2deacb38dfb63b05e9fee87c36c92b4/Updating-npm's-bundled-node-gyp.md
Diff: https://gist.github.com/DeeDeeG/d95a79b590dae05fa7cbbe4fd34c06b2#file-git-diff-diff

@DeeDeeG Please review the changes made https://github.com/nodejs/node-gyp/wiki/Updating-npm's-bundled-node-gyp

On supported versions of Windows, do we need to suggest both which and where?  Or has this been resolved to one of them?

@cclauss good catch... We can simplify to just where.
Only Windows 7 and newer work with the latest node-gyp. I think it has been that way for a long time. (The most-recent time I researched this: https://github.com/nodejs/node-gyp/pull/2333#discussion_r580363566)
And I have found a couple of sources saying where was added in Windows Vista:

https://web.archive.org/web/20070423121442/http://computerbits.wordpress.com/2006/07/21/new-command-line-tools-in-vista-beta-2/
https://www.lifewire.com/list-of-command-prompt-commands-4092302

So, all versions of Windows that work with the latest node-gyp support where.

It's a bit more complicated considering both npm 6 and 7, the two major versions that are in wide circulation...
npm 7 doesn't have npm-lifecycle anymore, it has @npmcli/run-script. And during npm explore --global, it sets an env var npm_config_global=true that affects the subshell, meaning our subsequent npm install node-gyp command is effectively npm install --global node-gyp... :facepalm:
Considering all that, this works on npm 7:
npm explore -g npm/node_modules/@npmcli/run-script -- npm_config_global=false npm install node-gyp@latest

Whereas I can confirm the command you put in the wiki works for npm 6:
npm explore -g npm/node_modules/npm-lifecycle -- npm install node-gyp@latest

OK.  I dropped which in favor of where.  Can you please tell me exactly what the last part of the page should say?
npm --version

If the version is less than 7 do X.
If the version is greater than or equal to 7 do Y.

The difference is where (what directory) to cd into.
Default locations based on the official NodeJS installer:
C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle (for npm 6) or
C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\run-script (for npm 7)
These are the steps I would recommend, for ease of reading/following them...

In an Administrator cmd prompt...
where node

cd [path\to\node.exe, minus the node.exe], i.e. cd into the folder containing node.exe

For example, to cd into the default install path: cd "C:\Program Files\nodejs"

npm --version

If the npm version is less than 7, do:

cd node_modules\npm\node_modules\npm-lifecycle

If the npm version is 7 do:

cd node_modules\npm\node_modules\@npmcli\run-script

npm install node-gyp@latest

Is https://github.com/nodejs/node-gyp/wiki/Updating-npm's-bundled-node-gyp the right stuff now?

Thanks for updating it again.
We need the npm 6 vs npm 7 split in the Unix instructions as well:
npm --version, then
if npm <7 :
$ [sudo] npm explore npm/node_modules/npm-lifecycle -g -- npm install node-gyp@latest
if npm 7:
$ [sudo] npm explore npm/node_modules/@npmcli/run-script -g -- npm_config_global=false npm install node-gyp@latest
Nits:

It says "i.e." in the Windows instructions, but it should say "e.g."  or "for example".

I mildly disagree with saying "npm 7 or greater," because we can't really predict how npm 8 will or won't differ from npm 7. The whole reason the logic is split between 6 and 7 is that they rewrote some of their dependencies from scratch, and we have to update node-gyp under the new dependency for npm 7. (That said, there is some chance npm 8 would use the same dependency, just like it was kept in the transition from npm 5 to npm 6... I dunno). There is a tradeoff between trying to be future-proof vs being conservative and only talking about existing versions of npm.

Will users be squeamish about upgrading npm?  If it is < v7, why not just recommend npm install -g npm which would simplify the remaining instructions?

I would be squeamish about it personally, but I will admit I am biased.
For Unix: I am not sure how others feel about it... I personally dislike npm 7, as it changes a lot of the finer points of npm's behavior compared with 6. (It has also had several bugs that I've encountered/reported, especially relating to the strange edge cases a node-gyp contributor in particular can experience...) npm 7 has a new lockfile format, so switching between 6 and 7 re-writes the lockfile with a huge diff each time. So it is a bit obnoxious to mix use of npm 6 and 7 on a multi-developer team. I personally have to really think about which I'm using. For some projects I have deliberately stayed on 6 to match other contributors. In general I am much more confident in npm 6 than 7, so I avoid 7 for less hassle and headaches.
That said, it is mostly drop-in compatible. Some contributors/maintainers don't mind a huge (essentially meaningless) diff to package-lock.json, or they don't track package-lock.json in git. And I do a lot more weird/advanced things with npm than most people probably do, so I hit more bugs than the average person.
For Windows: I would advise against npm install -g npm on Windows. npm install -g npm doesn't work well on Windows, and there are entire programs dedicated to doing it right: https://www.npmjs.com/package/npm-windows-upgrade. I suppose folks can run that, but I think it's more trouble than it's worth...

Given that there are practical reasons for a user to want (perhaps need) to work with npm 6, and given than npm 6 is shipped with Node 12 and 14 LTS, and given that upgrading is not trivial on Windows, I personally think we should provide instructions for both npm 6 and 7.

OK… Are we done??

Tested again reading/copy-pasting straight from the wiki page, and I can confirm it is working as written. Thank you very much!
Test scenarios:

Ubuntu 20.04, Node/npm installed with n, in a non-root-protected area (no sudo needed for this case)... Instructions work as written for npm 6 and 7, respectively :heavy_check_mark:
Windows 10, with one copy of Node/npm installed under the protected "Program Files" dir, another copy installed in a non-protected area by extracting a .zip archive... Instructions work as written for npm 6 and 7, respectively. :heavy_check_mark:

Thoughts (no action needed) regarding sudo or Administrator cmd.exe prompt: Users with Node installed in a non-protected area in Windows won't need Administrator command prompt, just as Unix users don't need sudo if their copy of Node is installed in a non root-owned/protected area. I think we explain this well enough in the Windows instructions, even if we don't say so explicitly. I trust Linux users to figure it out. Using elevated permissions doesn't hurt in this case, anyhow.

Thanks massively for your precision in fixing our docs.

@DeeDeeG,
For Windows with NPM 6.x.
Don't a step is missing here- https://github.com/nodejs/node-gyp/blob/master/docs/Updating-npm-bundled-node-gyp.md
I had also to execute npm install node-gyp@latest in the node_modules\npm while the instruction point to just run it in the node_modules\npm\node_modules\npm-lifecycle folder.
in your earlier draft it was there:

https://gist.githubusercontent.com/DeeDeeG/d95a79b590dae05fa7cbbe4fd34c06b2/raw/7659c3a5f2deacb38dfb63b05e9fee87c36c92b4/Updating-npm's-bundled-node-gyp.md

@hagaigold if I recall correctly, only the deeper nested copy needs to be updated. That should be the copy the "script runner" under npm-lifecycle calls.

@hagaigold if I recall correctly, only the deeper nested copy needs to be updated. That should be the copy the "script runner" under npm-lifecycle calls.

My two cents: I had a different experience when building VS Code project (had to update both locations)


leading zeros

I have an id field and many of the ids lead with one or more zeros. when i import the csv to excel, these get cut off. normally i would wrap the field in double quotes or a leading single quote to indicate it is a text type. but your nifty exporter handles these special characters differently. how would i make it so my field could retain the leading zeros?

Try using
var options = {
handleNumber: function(number, name){
return number.toString();
}
};


[Proof of Concept] Support for multiline annotations

This proof of concept was an attempt to see how support could be added for annotations that span multiple lines in the least invasive way possible.
This goal means that the interface exposed is likely unsuitable for merge, and there may be edge cases that this proof of concept does not cater for.
The image below shows the results of this PR.  The annotated elements are within a <span> element (<p> only has a single client rect, whereas a span has one for each line)
This proof of concept address issue #9

Just wanted to chime in and say 1) I love this library! and 2) Multi-line would be amazing.
Thanks for creating this!

merging into a branch where I can deal with multi-element and multi line in a generic way
Thanks for your contribution!