Fix compiler warning with gcc 7.x

Building with gcc 7.0.1, util.c has a warning (or an error with -Werror) in -Wformat-truncation.  The error is bogus (gcc uses heuristics to detect possible truncation), but getting rid of it is simple and should be harmless.
util.c: In function 'uriencode_init':
util.c:21:30: error: '__builtin___snprintf_chk' output may be truncated before the last format character [-Werror=format-truncation=]
             snprintf(str, 4, "%%%02X", x);
                              ^~~~~~~~
In file included from /usr/include/stdio.h:939:0,
                 from util.c:1:
/usr/include/bits/stdio2.h:64:10: note: '__builtin___snprintf_chk' output between 4 and 5 bytes into a destination of size 4
   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        __bos (__s), __fmt, __va_arg_pack ());
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

What distro are you running? Would be nice to get myself a buildbot.

This is Fedora Rawhide.

Thanks!


possible fix for https://github.com/OPMDG/check_pgactivity/issues/95

Possible fix for #95.  By adding an "s" to the warn/crit threshold parameter, the age of the oldest active/idle/waiting etc is checked for rather than the number of backends in such a state.

Hello, Sorry for the reviewing delay. Your implementation is very interesting. I'll take some time to test it and I'll merge the pull request.
Do you already use your modified checker in production ?

Yes, I'm using it in production environment ...
$ sudo cat /etc/nagios/nrpe.d/check_postgresql_backend_status.cfg
command[check_postgresql_backend_status]=/usr/local/lib/monitoring/plugins/check_pgactivity -s backend_status -w idle_xact=120s,active=5,waiting=1s  -c idle_xact=900s,active=9,waiting=30s
... though I have neither had any alerts nor any stress testing of this alert yet.

Thanks for the feedback

I've started an idle transaction now, so I should know in some few minutes if it works or not.

Oh, that was a stray config file.  It's backends_status, not backend_status:
$ sudo cat /etc/nagios/nrpe.d/check_postgresql_backends_status.cfg
command[check_postgresql_backends_status]=/usr/local/lib/monitoring/plugins/check_pgactivity -s backends_status -w idle_xact=120s,active=4,waiting=1s  -c idle_xact=3600s,active=8,waiting=30s
... and it does not seem to be working as it should (weird ... did I really fail to test this thoroughly before putting it into production?)
$ sudo -u nrpe /usr/local/lib/monitoring/plugins/check_pgactivity -s backends_status -w idle_xact=3s,active=5,waiting=1s -c idle_xact=9s,active=9,waiting=3s
POSTGRES_BACKENDS_STATUS OK: 101 backend connected | active=35;9;0;160 'oldest active'=0.012s disabled=0 'fastpath function call'=0 'oldest fastpath function call'=0s idle=97 'oldest idle'=0s 'idle in transaction'=1 'oldest idle in transaction'=348.245s 'idle in transaction (aborted)'=0 'oldest idle in transaction (aborted)'=0s 'insufficient privilege'=0 undefined=0 'waiting for lock'=0 'oldest waiting for lock'=0s
I'll do some more research.

Ok, let us know. I'll take a look at it soon anyway.

I remember now - I did some testing - but only with "active", not with "idle_xact".
Going through with the debugger, the value we get from postgres is not "idle_xact", but "idle in transaction" (with spaces).  In the documentation it says one should use "idle_xact", but there is no translation table between "idle_xact" and "idle in transaction" in the code as far as I can see - so this is an independent bug.
Also, the "age" of the "idle" connections are probably not so interesting to monitor - but it seems to always come out as 0s from the script.

Hello,
First, sorry to take the issue only now. I now understand what you mean and spotted the bug. There's some work to do to fix the issue you're talking about. I should fix it tomorrow. I'll see how I handle you Pull Request also regarding this issue.
Regards

Hello Tobias,
I'm getting back to you regarding your PR. I'll close it without applying it as I fixed the issue in another way, see commit 9e10b450bde76a99ad3fd9e9cdb5f321c5a606c0. However, you'll be cited as contributor in the changelog as your patch inspired me a lot.
Regards
Thomas


CCU-232 Fix notification sound for incoming call

Added creating notification channel in the uxkit-incoming-call library itself instead of using the one created in the SDK.

Due to a new policy preventing failed checks to be validated and the fact that... well CodeQL is failing because they don't fix Android 31 build tools issues, I will need to manually rebase this to develop and will upgrade tools to Android 32 instead for future compilation 👍


Fixes and new Version Tag

Suggestion for version tag 0.4.4
Code structure correction for minification using ngAnotatte gulp and
gulp-minify
Formater Code
Nominal Functions for global use
Does not work with device live reload
(http://www.raymondcamden.com/2015/03/08/warning-about-ionic-live-reload
-and-the-phonegap-developer-app)

You are right, the previous code format is not working with minification.
I will give the new ionic-cache-src.js another test, and  merge it as soon as possible.  Thanks for your awesomeness :D

I thank you for initiating this project!
Gives my application after you made this fix
https://play.google.com/store/apps/details?id=com.agenciafoccus.photogram

Works great! :+1:     And since you rename the Entry file, I will change the Readme a little bit.
Your App looks amazing, best wishes!   (We don't have google play in china :-(   so sorry,  or I must try it)


Styled-components nao trabalha no react-native 0.72.2

Currently, styled-components is not working correctly with "react": "18.2.0" and "react-native": "0.72.2". I am using Node.js version 18.20.4 and npm version 10.7.0.
package.json "
{
"name": "teste",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"start": "expo start --dev-client",
"android": "expo run:android",
"ios": "expo run:ios",
"web": "expo start --web"
},
"dependencies": {
"expo": "~51.0.20",
"expo-status-bar": "~1.12.1",
"react": "18.2.0",
"react-native": "0.72.2"
},
"devDependencies": {
"@babel/core": "^7.20.0"
},
"private": true
}
"
Log error:
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving<EMAIL_ADDRESS>npm error Found<EMAIL_ADDRESS>npm error node_modules/react
npm error<EMAIL_ADDRESS>from the root project
npm error
npm error Could not resolve dependency:
npm error peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm error node_modules/react-native
npm error<EMAIL_ADDRESS>from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /Users/dev_barranco/.npm/_logs/2024-07-19T19_49_03_745Z-eresolve-report.txt
npm error A complete log of this run can be found in: /Users/dev_barranco/.npm/_logs/2024-07-19T19_49_03_745Z-debug-0.log
To get the package working, I need to use the command npm i styled-components --force. However, I prefer to avoid using --force to install libraries.
Thank you in advance for your attention. I would be very grateful if you could assist me.

same problem, any soluction?

To fix the error, follow the steps below:
1 - Delete the node_modules folder
rm -rf node_modules
2 - Add styled-components to your package.json
Open your package.json file and add the following line to the dependencies section:
"styled-components": "^5.1.1"
3 - Update the react-dom version
In the package.json file, check the dependencies section
Replace the react-dom line with the following, using your current React version
"react-dom": "[YOUR CURRENT REACT VERSION]"
After making these changes, reinstall your dependencies:
npm install
If you need anything else, feel free to ask! 🤟🏻


An easy way to change the background color of Text-only Post Tiles.

Our site features 4 primary colors and we like the layout of the text only post tile. What is the best way to add a specific or random color from a set of colors to text-only post tile?  Thank you for the help.

You can use tags to create color variables and then use those variables to change the background based on the tag of each post.
For example, let's say you have a post with the tag travel and another post with the tag food. In the Ghost Admin you can inject the following code:
<style>
    :root {
        --tag-travel: #e9c46a;
		--tag-food: #06d6a0;
    }

    .m-article-card.no-image.tag-travel .m-article-card__picture,
	.m-article-card.no-image.tag-travel .m-article-card__info,
    .m-article-card.no-image.tag-travel:before {
		background-color: var(--tag-travel);
	}

	.m-article-card.no-image.tag-food .m-article-card__picture,
	.m-article-card.no-image.tag-food .m-article-card__info,
    .m-article-card.no-image.tag-food:before {
		background-color: var(--tag-food);
	}
</style>

You will see that posts with the tag travel will have a background color of #e9c46a and posts with the tag food will have a background color of #06d6a0. You can add as many colors/tags as you want, you just need to copy and paste the same lines and replace the name of the tag. Just be aware that the tag names are case sensitive.

I will close this issue for now, please feel free to reopen it if needed.

This was really helpful. Thank you. Is there a way to also change the title
font color at the same time. It' like the title font to always be the same
as the theme. So Black #000 if dark theme or White #fff if light theme. The
more subdued title colors don't look great with the colors I have chosen.
On Thu, Jun 10, 2021 at 2:08 AM Eduardo Gómez @.***>
wrote:

You can use tags to create color variables and then use those variables to
change the background based on the tag of each post.
For example, let's say you have a post with the tag travel and another
post with the tag food. In the Ghost Admin you can inject the following
code:

You will see that posts with the tag travel will have a background color
of #e9c46a and posts with the tag food will have a background color of
#06d6a0. You can add as many colors/tags as you want, you just need to
copy and paste the same lines and replace the name of the tag. Just be
aware that the tag names are case sensitive.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/eddiesigner/liebling/issues/381#issuecomment-858452065,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUMGGTHEYFCAXWRXIEUA7WTTSB6JJANCNFSM46HFJJXA
.


Implement/Add routing in new ucc_ui_lib

Jira: ADDON-35101

Added routing based on query params: tab and record
Added routing for page style dialog on inputs page based on query params: service and mode
Refactored code and added constants for dialog style and page type
Moved modal dialog logic from table row component to table
Fixed issue for pagination where function argument in table header component de-structured wrong variable name

:tada: This PR is included in version 5.0.0-develop.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 5.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Null workflow for rapid testing

We don't currently have a rapid way to test a workflow. I think that having a null workflow that reproduces the order, input and output files of the tasks would be helpful for rapid testing.
Ideally we would have a quick way to make sure that a workflow would run end to end without having to wait for any kbmod processing. i.e. just a way to test the workflow part, not the science part.

This could be something simple like a config parameter like dry-run: true that will be used by the tasks to not call any of the actual code, but instead, read input files and write empty output files.


[codepush] Show original_deployment and original_label in web UI and CLI

Describe the solution you'd like
I would like  to be able to determine the original source for a release when using the web UI and when using the CLI.
When a release is promoted, it gets a new label under the new deployment name. The API will return original_deployment and original_label fields to say where it was promoted from, but I don't see those anywhere outside of the API.
Describe alternatives you've considered
Manually querying the API to get the information.
Additional context
I'm really trying to figure out how to easily determine the exact git tag matches which CodePush release. I'm uploading releases to my Staging deployment and tagging github with {appname}/{appversion}-{codepushlabel} but once it is promoted to the Production deployment it becomes more cumbersome to match it up to the git tag because I have to figure out which label it came from originally.

Thank you for the suggestion. Will take this into consideration for future code push improvements.


feat: customize __image_snapshots__ folder path

Hi guys, thanks for the great work of  cypress-plugin-snapshots. I am currently working on implementing cypress-plugin-snapshots for my project, and I really want to customize __image_snapshots__ folder path.
Actually we use cypress during CI pipeline: as soon as the alpha(pre-release) deployment done, we will run cypress(and cypress-plugin-snapshots of course). In order to provide the snapshots' result, we have to configure   __image_snapshots__ folder to a persist path in docker.
I consult the code source and supposed that making  __image_snapshots__ folder path configurable is not hard and reasonable(at least by my side). Cypress also provide the ability to configure screenshotsFolder and videosFolder.
I am looking forward to your reply and ready to make a PR if it is needed.
Thanks again.

@HOUCe can you show us your workaround please?

In cypress-plugin-snapshots/src/utils/image/getSnapshotFilename.js file:
https://github.com/meinaart/cypress-plugin-snapshots/blob/cf07698779b40f1735cc1486cb3aa9fdcadd1f7d/src/utils/image/getSnapshotFilename.js#L6
By adding a custom path(use customAssestsPath for example)
modify:
 const dir = path.join(path.dirname(testFile), DIR_IMAGE_SNAPSHOTS);

to:
const dir = customAssestsPath ? path.join(customAssestsPath, DIR_IMAGE_SNAPSHOTS);  : path.join(path.dirname(testFile), DIR_IMAGE_SNAPSHOTS);

I would like this same feature -- can this issue be re-opened?

Hi Guys,
I am new to cypress automation and I included snapshot plugin into my project. So, did anyone found how we can customize image_snapshots folder path.


Homekit homescreen

The information about the SolarEdge is not being show on the HomeKit summary/homescreen. It is only visible in the livingroom screen.

This appears to be a limitation in HomeKit.  I have no way to override this.


Filters "on visual" are trumping "report" and "page filters"

Would like to know if there is a way to keep report and page filters at the top so we don't lose them every time someone clicks something on a visual.  Wrote recommendation at https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/40073473-change-default-order-of-report-page-visual-fil

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

ID: 169f0fd8-5f91-c727-863e-775092492219
Version Independent ID: f2870679-e514-3e52-3513-eb62c81983c7
Content: The new filter experience in Power BI reports - Power BI
Content Source: powerbi-docs/power-bi-report-filter.md
Service: powerbi
Sub-service: powerbi-service
GitHub Login: @maggiesMSFT
Microsoft Alias: maggies

Thanks for the feedback, @fordmaxson! I'm assigning the doc author for their review and comment.

Hi, @fordmaxson -- thanks for the question! I'll check, but I'm pretty sure the answer is no, you can't control that at this point. You did the right thing by creating the suggestion at https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/40073473-change-default-order-of-report-page-visual-fil

Hi, @fordmaxson -- I confirmed, the answer is no, they don't stay at the top.


Fix minor scala 3 compiler warns

Codecov Report

Merging #135 (5a373b4) into main (ef350e0) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #135   +/-   ##
=======================================
  Coverage   94.74%   94.74%
=======================================
  Files           7        7
  Lines         875      875
  Branches       78       78
=======================================
  Hits          829      829
  Misses         46       46

Impacted Files
Coverage Δ

core/shared/src/main/scala/cats/parse/SemVer.scala
91.66% <100.00%> (ø)

Continue to review full report at Codecov.

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

Codecov Report

Merging #135 (5a373b4) into main (ef350e0) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #135   +/-   ##
=======================================
  Coverage   94.74%   94.74%
=======================================
  Files           7        7
  Lines         875      875
  Branches       78       78
=======================================
  Hits          829      829
  Misses         46       46

Impacted Files
Coverage Δ

core/shared/src/main/scala/cats/parse/SemVer.scala
91.66% <100.00%> (ø)

Continue to review full report at Codecov.

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


Setup Storybook #31

Add storyboard with theme support

There is RangeError: invalid time interval in  EstimateDropdown. Can't handle it properly

Some recommendation about PR. Usually we use one PR for one issue. In this case would be better to use same title with issue for PR. Thanks 🙏🏼

There is RangeError: invalid time interval in EstimateDropdown. Can't handle it properly

I think you can remove/ignore this story right now. Some of completions and dropdowns have requests to API. It must be mocked in examples.

Can start storybook without src/stories/Button/Button.tsx. Fails on build

Can you show error stacktrace?

Can start storybook without src/stories/Button/Button.tsx. Fails on build
Can you show error stacktrace?

Disappear )

Also, I have question about assets. How are you using them? Do we really need this icons in the project?

Remove. They were from boilerplate

https://github.com/taskany-inc/issues/issues/31

peter-nikitin changed the title Issues/31 Setup Storybook #31

So close... But ;) Now PR's title contains issue id and PR id.

Little bit controversial...
So, you must remove #31 from the title and add it to PR's description, like Resolve #31.


feat: add highlightBy functionality to ChartTooltip

Description
Add highlightBy prop to <ChartTooltip />. This allows you to define the highlight behavior on hover of an item.
To simplify the PR review process. This only. includes all the functionality that will be used by the different mark types. Separate PRs will be submitted for each mark type (line, area, bar, scatter, donut).
Related Issue
https://github.com/adobe/react-spectrum-charts/issues/238
Motivation and Context
Often users want to highlight a group of points or marks when hovering over the chart.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

There are a handful of prettier updates. Prettier broke for a little while so some things slipped in.


The restriction affects ONLY the FIRST timeslot in the restriction interval

If I set a limitation between 00:00 - 23:50 (all day) of n covers/orders/etc.. ONLY the FIRST timeslot is removed when the limit is reached. All the other timeslots remain unaffected by the restriction.

This is correct behaviour - I think you've misunderstood the intention of the time period.
It is not to count the orders in that time period, but to apply the restriction to any timeslots in that period.
So going by what you have said, the first timeslot is the one with orders in it, and is the only one with more orders than the maximum.

Ok I will be back after some new test. Thanks for the hint ;)

All good here too ;)


Combine similarities of "asLines" and "asTriangles" representations.

"asTriangles" and "asPoints" are already unified. I believe the same (+ some extra effort) can be done for lines.

Done with 839f8290238b4842ad4ad8fd9386c03f34510bf8.


Extension methods disappear if giving them Scaladoc

addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full)

libraryDependencies += "com.github.mpilquist" %% "simulacrum" % "0.11.0"

import simulacrum.typeclass

@typeclass
trait MyTypeClass[A] {
  type Out

  /** Scaladoc for `myMethod` */
  def myMethod(byName: A): Out
}

object MyTypeClass {

  def shouldCompile(ops: MyTypeClass.Ops[Int]) = {
    ops.myMethod
  }

}

$ sbt ++2.12.2 doc
[warn] Executing in batch mode.
[warn]   For better performance, hit [ENTER] to switch to interactive mode, or
[warn]   consider launching sbt without any commands, or explicitly passing 'shell'
[info] Loading global plugins from /Users/twer/.sbt/0.13/plugins
[info] Loading project definition from /private/tmp/typeclassdoc/project
[info] Set current project to typeclassdoc (in build file:/private/tmp/typeclassdoc/)
[info] Setting version to 2.12.2
[info] Reapplying settings...
[info] Set current project to typeclassdoc (in build file:/private/tmp/typeclassdoc/)
[info] Main Scala API documentation to /private/tmp/typeclassdoc/target/scala-2.12/api...
[error] /private/tmp/typeclassdoc/MyTypeClass.scala:14: value myMethod is not a member of MyTypeClass.Ops[Int]
[error]     ops.myMethod
[error]         ^
[info] No documentation generated with unsuccessful compiler run
[error] one error found
[error] (compile:doc) Scaladoc generation failed
[error] Total time: 2 s, completed Jun 9, 2017 12:12:49 PM

$ sbt ++2.11.11 doc
[warn] Executing in batch mode.
[warn]   For better performance, hit [ENTER] to switch to interactive mode, or
[warn]   consider launching sbt without any commands, or explicitly passing 'shell'
[info] Loading global plugins from /Users/twer/.sbt/0.13/plugins
[info] Loading project definition from /private/tmp/typeclassdoc/project
[info] Set current project to typeclassdoc (in build file:/private/tmp/typeclassdoc/)
[info] Setting version to 2.11.11
[info] Reapplying settings...
[info] Set current project to typeclassdoc (in build file:/private/tmp/typeclassdoc/)
[info] Main Scala API documentation to /private/tmp/typeclassdoc/target/scala-2.11/api...
[error] /private/tmp/typeclassdoc/MyTypeClass.scala:14: value myMethod is not a member of MyTypeClass.Ops[Int]
[error]     ops.myMethod
[error]         ^
[info] No documentation generated with unsuccessful compiler run
[error] one error found
[error] (compile:doc) Scaladoc generation failed
[error] Total time: 2 s, completed Jun 9, 2017 12:13:03 PM

This still occurs.


Checking length of args array causing new_c_string on an arg to crash

Yeah... that's the worst description ever.
Anyway, this code segfaults on macOS when the SEGFAULT AREA is uncommented.

import "core:os.odin"
import "core:fmt.odin"
import "core:strings.odin"

main :: proc() {

// START SEGFAULT AREA
	if(len(os.args) != 4 || os.args[3] != "__GEN_BIND_SH") {

		fmt.println("Please run this from the script 'generate_bindings.sh' - do not run this directly!");
		os.exit(1);
	}
// END SEGFAULT AREA

	fmt.println(os.args[1]);
	fmt.println(strings.new_c_string(os.args[1]));
	fmt.println("Done");
}

Here's an LLDB stack trace of the program
(lldb) target create "binding_generator/main"
Current executable set to 'binding_generator/main' (x86_64).
(lldb) settings set -- target.run-args  "api.json" "gdnative_api.json" "__GEN_BIND_SH"
(lldb) s
error: invalid process
(lldb) r
Process 88864 launched: '/Users/zachary/Programming/godot-odin/binding_generator/main' (x86_64)
api.json
Process 88864 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x3)
    frame #0: 0x0000000000000003
error: memory read failed for 0x0
Target 0: (main) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x3)
  * frame #0: 0x0000000000000003
    frame #1: 0x00000000000029cc main`alloc + 236
    frame #2: 0x0000000000018691 main`strings-7.new_c_string + 305
    frame #3: 0x000000000000879a main`main-0.main + 874
    frame #4: 0x000000000001d318 main`main + 24
    frame #5: 0x00007fffd657d235 libdyld.dylib`start + 1
(lldb)

I've determined that the issue lies in the context system - if I add a fmt.printlln(context.allocator) at the start of alloc in _preload.odin, here's what gets printed out when the first if is there: Allocator{procedure = proc(rawptr, Allocator_Mode, int, int, rawptr, int, u64, Source_Code_Location) -> rawptr @ 0x0, data = 0x0}
Compare that to Allocator{procedure = proc(rawptr, Allocator_Mode, int, int, rawptr, int, u64, Source_Code_Location) -> rawptr @ 0x2540, data = 0x0}
For some reason the function pointer is not set...
If it's helpful, here's the two .ll files
working.ll
broken.ll

I think the remedy to this is make sure that a context always in a valid state. I wonder if this is caused by something in main being set correctly.

This bug is alive and well, unfortunately.

If the case is caused by the ucs2 conversion, then this should be an easy fix.

On windows you could just use the wide_char_to_multi_byte function from sys/windows.odin?

So it _alloc_command_line_arguments would become something like this instead
_alloc_command_line_arguments :: proc() -> []string {
    arg_count: i32;
    arg_list_ptr := win32.command_line_to_argv_w(win32.get_command_line_w(), &arg_count);
    arg_list := make([]string, int(arg_count));
    for _, i in arg_list {
        wc_str := (arg_list_ptr+i)^;
        olen := win32.wide_char_to_multi_byte(win32.CP_UTF8, 0, wc_str, -1,
                                              nil, 0,
                                              nil, nil);

        buf := make([]byte, olen);
        win32.wide_char_to_multi_byte(win32.CP_UTF8, 0, wc_str, -1,
                                      &buf[0], olen,
                                      nil, nil);
        arg_list[i] = string(buf[..olen]);
    }

    return arg_list;
}


Missing sell orders because quantity doubles

I am experiencing a similar issue as in #451 and in my case sometimes the quantity of the order doubles (it does not create double orders). Please see here an example of my log below, also for you @uhliksk and @habibalkhabbaz

At 10:58:49.935 the order is still in tact and shows  a quantity of 3.29 SOL to be sold:

At 10:59:50.619 the quantity suddenly jumps to double (3.29 * 2 = 6.58 SOL), no additional buy orders were performed as you can see:

This then corrupts the sell order (because it only has 3.29 and is trying to sell 6.58 SOL) and all future orders leading to a failure to sell.

For the record, I am using the last version v0.0.90 (48865a0).

Please export the log and upload it here. So can see what exactly happened.

Sure, with pleasure. Luckily the issue was still in the log file, for your reference I have listed the IDs below so it is more easy to search through. Hope you find a solution!
10:58:49.935 - id=633169c9d7c6a3394960f22a - Order still in tact (quantity 3.29)
10:59:50.619 - id=63316a06d7c6a3394960f23a - Order doubled (quantity 6.58)
Logfile:
SOLBUSD-2022-09-26-15-09-53.zip

Hello @eppenga, @chrisleekr
I can see this from the log (locked value is equal to -3.29)
ID: 63316a08d7c6a3394960f23f
{
  "asset": "SOL",
  "free": 6.59,
  "locked": -3.29,
  "total": 3.3,
  "estimatedValue": 109.824,
  "updatedAt": "2022-09-26T08:59:50.548Z",
  "isLessThanMinNotionalValue": false
},

Explaination
I am sure this is happening because of the race condition between WebSocket and the following function:
https://github.com/chrisleekr/binance-trading-bot/blob/f4bd6f603a31b91273d8f41b6d362b4407f3dc5c/app/cronjob/trailingTrade/step/handle-open-orders.js#L56
The expected behavior:

Order canceled successfully.
Account balances updated from processSuccessfulSellOrderCancel (using addition & subtraction operation)

"asset": "SOL",
"free": "3.30000000",
"locked": "0.00000000"

Received account balance update from WebSocket later

"asset": "SOL",
"free": "3.30000000",
"locked": "0.00000000"

The actual behavior (which is happened here):

Order canceled successfully.
Received account balance update from WebSocket

"asset": "SOL",
"free": "3.30000000",
"locked": "0.00000000"

Account balances updated from processSuccessfulSellOrderCancel (using addition & subtraction equation)

Free = 3.30 + 3.29 = 6.59
Locked = 0 - 3.29 = 3.29

"asset": "SOL",
"free": "6.59000000",
"locked": "-3.29000000"

@chrisleekr do you have any suggestion to improve this ?

@habibalkhabbaz
I had some thoughts.
I think we shouldn't use updateAccountInfo at all. If we try to calculate anything manually, it can give the bot chance to make mistakes because of the race condition.
We should replace any place using  updateAccountInfo to getAccountInfoFromAPI.  I don't think it will be a burden on API usage.
Thoughts?

@habibalkhabbaz
I had some thoughts.
I think we shouldn't use updateAccountInfo at all. If we try to calculate anything manually, it can give the bot chance to make mistakes because of the race condition.
We should replace any place using  updateAccountInfo to getAccountInfoFromAPI.  I don't think it will be a burden on API usage.
Thoughts?

@chrisleekr
Yeah, to be honest, the same idea comes to my mind.
We should use getAccountInfoFromApi as we did with the open orders. I think it will not affect the API usage.

Hello @chrisleekr, @eppenga
I just pushed a pull request to solve this.

Thank you @habibalkhabbaz ! Much appreciated!

Just installed the new version, thank you, will let you know if it happens again, but don't think so looking at the code!


Inconsistent gray-dark

The color gray-dark is specified in the _variables.scss as gray-800 but in the theming.md doc as gray-900. I'd make a PR but not sure which is right.

Hi @supergibbs
The source of truth should be _variables.scss. If you don't have time to send the PR please let me know and I'll update the documentation.
Thanks a lot!

@andresgalante Thanks for the clarification, fixed that and updated the rest of the colors too

ups sorry, I've just sent a PR. It seems like patience is not one of my virtues.
Please send yours and I'll close mine. I am sorry @supergibbs


Fix typo

Fix typo in readme

This change is

/assign @rjkernick

/ok-to-test
/lgtm

Please bump the version in chart.yaml. Another request got merged before yours.

/lgtm


fix(router): fix location on newstate

Fixes location being passed on a first render; we were incorrectly reading from a nonexisting previous render which resulted in the location being dropped in a first render - not good

oh god this patch was wrong; updating! - the revamped sheet-router/create-href method takes care of the issues we used to have (e.g. parts of the destructured route state not being updated) so doing it inside choo no longer makes sense. In this case reading the old value was causing a bug where route updates were one tick behind causing super weird things to happen.
Glad I ran into this before merging and not someone else at a later stage hah

ya ok merging :sparkles:


Optionally mount Instance Storage on boot

Since lots of instances seem to have fancy fast instance storage now, this mounts whatever is available at /ephemeral and uses that for docker storage.
Closes #464.

This would be a huge help to us! Anything I can do to help move this along?
(By the way, I think we'd also want the option to move /var/lib/buildkite to the local storage, so that compilation would also see the faster I/O.)

@benesch would be very interested to see if you actually saw performance improvements that were meaningful from this change. I guess there is only one way to find out!

Hi @lox, I am keen to try this PR. Anything I can do to help move this along?

Hi @lox, I tried this commit and the instance failed to start docker daemon with following error. The docker daemon.json file seems to be empty.
[root@ip-172-31-1-61 ec2-user]# tail -f /var/log/docker
Aug 10 02:41:10 ip-172-31-15-205 dockerd: unable to configure the Docker daemon with file /etc/docker/daemon.json: EOF

[root@ip-172-31-1-61 ec2-user]# ls /etc/docker/daemon.json
/etc/docker/daemon.json
[root@ip-172-31-1-61 ec2-user]# cat /etc/docker/daemon.json

I tried this branch with following steps:

Checkout this branch is run make
In packer folder, run packer build. I can see an AMI is created in my account
Use the "aws-stack.yml" in build directory to launch the cloudformation stack. I specified the AMI ID with the one generated in previous step.

After launch, I can see the ephemeral drives are created 👍 . The instance type is m5d.24large
[root@ip-172-31-1-61 ec2-user]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        185G     0  185G   0% /dev
tmpfs           185G     0  185G   0% /dev/shm
tmpfs           185G  788K  185G   1% /run
tmpfs           185G     0  185G   0% /sys/fs/cgroup
/dev/nvme0n1p1   10G  1.8G  8.3G  18% /
/dev/nvme1n1    838G  888M  837G   1% /ephemeral
tmpfs            37G     0   37G   0% /run/user/1000

@ans0600 really appreciate the testing! I'll get this rebased and see if I can figure out what is going on.

@lox Just want to check if the PR is ready to test again?

@jradtilbrook or @ans0600 if either of you get a chance to test this out, let me know!

For those following along, you can test it out with https://s3.amazonaws.com/buildkite-aws-stack/add-instance-storage/aws-stack.yml. Would love feedback!

I'm under the pump for other things at work so I don't think I'll be able to try this out any time soon sorry - just in case you were relying/waiting on me

No worries @jradtilbrook, some other folks asked about it!

I just gave this a try and confirmed that it is still failing to spin up new instances. The issue appears to be that the jq filter syntax being used does not support key names containing hyphens (alphanumeric characters and underscores only): https://github.com/buildkite/elastic-ci-stack-for-aws/pull/557/files#diff-75f0630f614eebc548f6a4beeda4f879R23
To fix it, we just need to add double quotes around the key name:
--- a/packer/conf/bin/bk-configure-docker.sh
+++ b/packer/conf/bin/bk-configure-docker.sh
@@ -20,5 +20,5 @@ fi

 # Move docker root to the ephemeral device
 if [[ "${BUILDKITE_ENABLE_INSTANCE_STORAGE:-false}" == "true" ]] ; then
-  cat <<< "$(jq '.data-root="/ephemeral/docker"' /etc/docker/daemon.json)" > /etc/docker/daemon.json
+  cat <<< "$(jq '."data-root"="/ephemeral/docker"' /etc/docker/daemon.json)" > /etc/docker/daemon.json
 fi

In fact, it looks like we do exactly that for the "userns-remap" feature in that same script.
I applied the patch above, built an AMI, and confirmed that the instance stays running. However, when running a build, I ran into the next error:
Checking docker
--
  | CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
  | Checking disk space
  | df: ‘/var/lib/docker/’: No such file or directory
  | Cleaning up docker resources older than 4h
  | Total reclaimed space: 0B
  | Checking disk space again
  | df: ‘/var/lib/docker/’: No such file or directory
  | Disk health checks failed
  | 🚨 Error: Error setting up bootstrap: The global environment hook exited with status 1
  |

Which I fixed by changing this:
--- a/packer/conf/bin/bk-check-disk-space.sh
+++ b/packer/conf/bin/bk-check-disk-space.sh
@@ -4,7 +4,7 @@ set -euo pipefail
 DISK_MIN_AVAILABLE=${DISK_MIN_AVAILABLE:-5242880} # 5GB
 DISK_MIN_INODES=${DISK_MIN_INODES:-250000} # docker needs lots

-DOCKER_DIR="/var/lib/docker/"
+DOCKER_DIR="$(jq -r '."data-root" // "/var/lib/docker"' /etc/docker/daemon.json)"

 disk_avail=$(df -k --output=avail "$DOCKER_DIR" | tail -n1)

Now everything appears to be working.

Hi @lox,
I've tested this last week.
I've:

rebased this branch onto the latest master branch
applied @dgarbus patches

I've replaced our "builder" stack (mostly docker/yarn/webpack) by this new stack keeping most of the parameters the same and just changing the instance type: m5.4xlarge with 500 GiB EBS (1500 IOPS)
-> m5d.4xlarge
With a cold docker cache, the build went from ~60min down to ~16min. So this is a massive improvement for us!
I had to apply the following patch to fix the striped volume creation and mount:
--- a/packer/linux/conf/bin/bk-mount-instance-storage.sh
+++ b/packer/linux/conf/bin/bk-mount-instance-storage.sh
@@ -10,16 +10,13 @@ if [[ "${BUILDKITE_ENABLE_INSTANCE_STORAGE:-false}" != "true" ]] ; then
   exit 0
 fi

+# Install nvme-cli to list NVMe SSD instance store volumes
+yum -y -d0 install nvme-cli
+
 devicemount=/ephemeral
 logicalname=/dev/md0
-candidates=( '/dev/nvme1n1' )
-devices=()
+devices=($(nvme list | grep "Amazon EC2 NVMe Instance Storage"| cut -f1 -d' '))

-for candidate in "${candidates[@]}" ; do
-  if [[ -b $candidate ]] ; then
-    devices+=("$candidate")
-  fi
-done

 if [[ "${#devices[@]}" -gt 0 ]] ; then
   mkdir -p "$devicemount"
@@ -35,13 +32,13 @@ if [[ "${#devices[@]}" -eq 1 ]] ; then
   fi

 elif [[ "${#devices[@]}" -gt 1 ]] ; then
-  yes | mdadm \
+  mdadm \
     --create "$logicalname" \
     --level=0 \
     -c256 \
     --raid-devices="${#devices[@]}" "${devices[@]}"

-  echo \'DEVICE "${devices[*]}"\' > /etc/mdadm.conf
+  echo "DEVICE ${devices[*]}" > /etc/mdadm.conf

   mdadm --detail --scan >> /etc/mdadm.conf
   blockdev --setra 65536 "$logicalname"

I also have a branch based off stable-4-4 on our fork if that helps:
https://github.com/buildkite/elastic-ci-stack-for-aws/compare/stable-4-4...range-me:add-instance-storage-stable

Great addition! i believe this will help us as well. What's the status of this pr?
Is the only change left incorporating @ouranos changes into this pr?
Or would it be better to use the branch with @ouranos additional commits in a separate pr?

We've also tried this out. It made a modest improvement to docker image build times in our situation. Would still be good to see this merged so that it can be experimented with by consumers without forking the stack.

@yob @lox Any updates on this?
It's working great for us but we have to maintain a branch and keep it up to date with upstream (and build new AMIs).
It would be great to get it merged (any branch would work for us, eg: 5-0-stable or master)
I'd be happy to rebase/update our branch and open a new PR if that helps.

@yob @lox Any updates on this?
It's working great for us but we have to maintain a branch and keep it up to date with upstream (and build new AMIs).
It would be great to get it merged (any branch would work for us, eg: 5-0-stable or master)
I'd be happy to rebase/update our branch and open a new PR if that helps.

We're using something similar for node since the massive quantity of files really drags down the default config. We've seen NVMe instances with soft RAID0 hit over 70k IOPs so there's definitely a boost here. If I remember/have some time I'll post what we have (we've been using it over a year now)
I think our main difference is mounting NVMe to /media/ephemeral then bind mounting:
/media/ephemeral/docker -> /var/lib/docker
/media/ephemeral/buildkite -> /var/lib/buildkite

@yob @lox Any updates on this?
It's working great for us but we have to maintain a branch and keep it up to date with upstream (and build new AMIs).
It would be great to get it merged (any branch would work for us, eg: 5-0-stable or master)
I'd be happy to rebase/update our branch and open a new PR if that helps.

@sj26 @pda Pinging you since I saw you were looking at #790 which fall into the same category.
Let me know what you think of this and if I can help in getting it merged 🙏

Curious if anyone has any advice for a buildkite noob on how to implement this. We're on the beta version of the stack ami.. we could move to edge. We have 3gb docker files that are super slow to pull because of an IO rate limit. Some have discussed using tmpfs/ram ... seems like this would be a common issue. Hoping you can steer us in the right way. Thank you all for all your hard work making buildkite better!

I'd like to bump the request to get this on master. We're hand crafting this right now and would love to see it on beta or edge.

Hi all,
We'd also love to see this in an official release, but in the short term we're pretty flat out. If anyone running a fork with this feature is keen though, we'd love to help you land it in master (/cc @ouranos). A new PR is probably best, either based on this one or something totally fresh.
We haven't fully talked about design goals internally, and y'all who are using instance storage might have a better understanding of what's possible anyway. I think we'd be keen to see this as a new opt-in stack parameter, even for instance types that come with instance storage.
It'd great if the local storage could be used for both docker and the builds directory, so it's suitable for a variety of IO-heavy workloads.
One concern we have is how it might impact instance boot time, so it'd be great to see some basic measurements of how the new option impacts that. Longer boot time isn't necessarily a problem, but it might impact how stacks using this option decide to autoscale (if at all).

Hi @yob We're hoping to hire the guys at s&w to help us with our infrastructure. We're thinking that this IO speed issue may be one of our rate limiters so perhaps this is something we can pay for to help the community. Curious if you have thoughts on making it to support either instance store or ramdisk/tmpfs as has been previously mentioned. Most CI runs in our experience are not RAM bound and there tends to be tons of excess memory on our CI nodes...this approach avoids the extra boot time associated with waiting for a SSD backed instance. We'll talk to the S&W guys and see how they feel about this work potentially getting put into a PR. thanks for all your work at BK we love the product.

Hi all,
We'd also love to see this in an official release, but in the short term we're pretty flat out. If anyone running a fork with this feature is keen though, we'd love to help you land it in master (/cc @ouranos). A new PR is probably best, either based on this one or something totally fresh.
We haven't fully talked about design goals internally, and y'all who are using instance storage might have a better understanding of what's possible anyway. I think we'd be keen to see this as a new opt-in stack parameter, even for instance types that come with instance storage.
It'd great if the local storage could be used for both docker and the builds directory, so it's suitable for a variety of IO-heavy workloads.
One concern we have is how it might impact instance boot time, so it'd be great to see some basic measurements of how the new option impacts that. Longer boot time isn't necessarily a problem, but it might impact how stacks using this option decide to autoscale (if at all).

Sounds interesting @ryansdwilson.
I haven't heard any internal discussions about the pros/cons of ramdisk. It sounds like an interesting option, and some data on the different boot times would be awesome.
I'm not very familiar with instance local storage. Do they take a long time to boot because AWS just take longer to provision them or is the the post-boot initialising of the disks that's the issue?
I can imagine the viability of ramdisks would vary a lot from customer to customer. I know some of our customers use a lot of storage space - often for docker images, large monorepos, or both.

We are also still maintaining a fork just to be able to have this feature and would encourage Buildkite to find a way to prioritize supporting it.
Boot time is not a concern for us since our IO bound instance that builds the docker containers is persistent. The fleet of ephemeral machines that runs tests as part of the  build only have EBS disks, and are not IO bound.

Sounds interesting @ryansdwilson.
I haven't heard any internal discussions about the pros/cons of ramdisk. It sounds like an interesting option, and some data on the different boot times would be awesome.
I'm not very familiar with instance local storage. Do they take a long time to boot because AWS just take longer to provision them or is the the post-boot initialising of the disks that's the issue?
I can imagine the viability of ramdisks would vary a lot from customer to customer. I know some of our customers use a lot of storage space - often for docker images, large monorepos, or both.

I haven't done a ton of measurements, but the script we were using that sets up mdraid w/ xfs only took a few seconds to run. I remember we've seen some issues acquiring d instances due to availability although I think it's gotten better and using all available AZs help (many times they're unavailable in a single AZ, temporarily).
(might not be the most... ergonomic... of shelf scripts, but it seems to work reliably for the last 1+ yr)
#!/bin/sh

echo "kernel.keys.maxkeys = 10000" | sudo tee /etc/sysctl.d/98-maxkeys.conf
sudo sysctl -f --system

sudo systemctl stop docker
sudo rm -rf /var/lib/docker/*
sudo chmod 400 /var/lib/docker

sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/nvme1n1 /dev/nvme2n1
sudo mkfs.xfs /dev/md0

sudo mkdir -p /media/ssd
sudo chmod 400 /media/ssd

echo /dev/md0 /media/ssd xfs defaults,noatime 0 0 | sudo tee -a /etc/fstab
sudo mount -a

sudo mkdir -p /media/ssd/var/lib/docker
sudo mkdir -p /media/ssd/var/lib/buildkite-agent
sudo mkdir -p /var/lib/buildkite-agent
sudo rsync -aP /var/lib/buildkite-agent /media/ssd/var/lib/

echo /media/ssd/var/lib/docker /var/lib/docker none defaults,bind 0 0 | sudo tee -a /etc/fstab
echo /media/ssd/var/lib/buildkite-agent /var/lib/buildkite-agent none defaults,bind 0 0 | sudo tee -a /etc/fstab
sudo mount -a

sudo systemctl start docker

With whatever instances come with 2x300GB we were seeing machines hit around 72k IOPs as reported by iostat during builds so there is a pretty significant performance difference. We were seeing issues with rather large Docker containers during pull/extract (100k of files) and tearing down containers (afaik the filesystem does lots of syncs as it tears down each layer of the overlayfs). Almost all our stuff runs using the docker-compose plugin (there's a small pool of container builders that push to ECR then each "regular" instance pulls the image back down and runs tests, tools, etc inside them)

Hi all,
Great to see some activity on this! I'm quite busy on my side but I'll try to find the time to prepare a new PR based on our fork.
We've been running it without any issues for almost a year now. We have a stack parameter to activate this feature (it's disabled by default).
I haven't benchmarked the slower boot time but it's not an issue for us as we have two stacks:

One builder stack for docker and webpack builds which is using big instances with nvme local storage which are rarely stopped (as per https://github.com/buildkite/elastic-ci-stack-for-aws#optimizing-for-slow-docker-builds). It's warmed up every morning with a scheduled build from master.
One test stack that pulls the docker images built by the builder stack and run all the tests. This stack doesn't use local storage and scale up/down normally.

Hi all,
Just saw some activity on this today and I realised I never prepared the PR I offered in my last message.
I spent some time last week updating another of our stack to nvme storage and that went quite well.
@keithduncan let me know if you need any help on this. I have a bit more time to spend on buildkite, so I'm happy to create a PR from our fork as I offered last time (and didn't do 😅 )

Great work @keithduncan! 🙌

Hi @ouranos, I think I’ve incorporated all the patches mentioned here and am testing this on Linux now. If you spot anything missing from this implementation compared to yours let me know and I can look at incorporating it 😄

I've compared my branch with what is now in master and it looks good. The only other changes we have are unrelated (installing CloudWatch agent for memory monitoring, installing buildx, ...)
I have an isolated stack & set of pipelines for testing so I'll test the new stack and report. The branch I'm using is branched off v5.1.0 so that'll also be a good opportunity to update to v5.6.0.

One area I haven’t looked into yet is adding this to our Windows AMI, and is something I’m interested in adding. Pointers in this area would be appreciated!

Unfortunately, we're only using Linux AMI so I won't be able to help much with this.


Question about the R in the Entity-State-R (ESR) Data Model

Hello,
I have a question about the reasoning behind introducing the R in the Entity-State-R (ESR) Data Model. Could you please explain why this extra node is necessary? If there is a standard theory behind this model then please simply point me to a document explaining that theory.
Thanks a lot!
Christian

Hello Christian, R node was introduced for performance reasons, due to the Entity node being potentially connected with a lot of State nodes. Splitting this up helped with that, since entities could have many relationships with other entities.


FIX -  Parameter on function "def set_driven_key" unused

Problem:
There were some parameters important for the set driven keys unused inside of the function which was resulting and different behaviour than the expected.
Solution:
Fill the attributes inside of this function with the incoming parameters.

                   preInfinity=0,
                   postInfinity=0,

Thank again @nestorcolt    I will ask @JustinPedersen to review this PR, since the SDK manager is his baby ;)
@JustinPedersen  I guess it is OK to merge, but I just want to be sure :)  Thanks!

@miquelcampos sure, no worries. I though rigbits were just boilerplate functions and rig utilities. I changed this because using this function apart from the manager to set sdks I found out this was missing. Grettings!

@nestorcolt Thanks for spotting that one! Happy for this to be merged :)


doesnt work

Describe the bug
Followed all the instructions, everything worked until the person ran it and none of the commands worked
To Reproduce
just use it?

can anyone help me on how to set the exe name, folder name, and registry name? please


Should there be a conditional if the s3 bucket is already registered to Synapse

Currently, it looks like the pipeline always registers the s3 bucket, should this step be skipped if the bucket is already registered to Synapse.

I opted against this approach because of the following behavior with the POST /storageLocation endpoint (source):

The creation of a storage location is idempotent for the user: if the same user requests the creation of a storage location that already exists with the same properties the previous storage location will be returned.

Thanks Bruno - I was unaware of this.


Build armhf

Copy Dockerfile with a minor substitution for armhf, and register qemu on the build machine

kingdonb/baseimage           0.11-armhf          f60baaf0e301        15 minutes ago      189MB
kingdonb/baseimage           armhf-latest        f60baaf0e301        15 minutes ago      189MB
kingdonb/baseimage           0.11                d9bf3702bd93        21 minutes ago      186MB
kingdonb/baseimage           latest              d9bf3702bd93        21 minutes ago      186MB```

Tests seem to be passing, I haven't looked to see what's up with Travis

One tiny note - why don't we use x86 base from the same multiarch image so that we get exactly the same everything?
diff --git a/image-amd64/Dockerfile b/image-amd64/Dockerfile
index da5b41d9fb98..f029cb6732a2 100644
--- a/image-amd64/Dockerfile
+++ b/image-amd64/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
+FROM multiarch/ubuntu-core:x86_64-bionic
 MAINTAINER Phusion<EMAIL_ADDRESS>
 COPY . /bd_build

Well splitting the Dockerfile into two arches an in my proposal presents a number of obstacles for a simple build remote like quay (https://quay.io/repository/kingdonb/baseimage-docker?tab=builds) and yours does not, so tomorrow I'll take the x86_64 multiarch build and see if it can work on armhf.  If that works, I will honestly be shocked, but I haven't done the image size comparison yet, so maybe it's not as shocking as I think.
Does this really work on an armhf deployment target?  I'm skeptical, I honestly wouldn't have tried this on my own, but I haven't read any of the multiarch manuals and @abrodkin suggested it, so it seems worth a shot.
(It would probably have to work without this high-level wizardry:
docker run --rm --privileged multiarch/qemu-user-static:register --reset)
It builds:
https://quay.io/repository/kingdonb/baseimage-docker/build/69f84a88-c780-434d-a7bc-daeeb2c9d5b4
It builds on quay.io at least, where I am skeptical that armhf-centric build would have been able to work in any case...

Well splitting the Dockerfile into two arches an in my proposal presents a number of obstacles for a simple build remote like quay (https://quay.io/repository/kingdonb/baseimage-docker?tab=builds)

Unfortunately I cannot access referenced build logs (Quay says I must be an admin of the repo - why???) so not sure what goes wrong there.

and yours does not, so tomorrow I'll take the x86_64 multiarch build and see if it can work on armhf. If that works, I will honestly be shocked, but I haven't done the image size comparison yet, so maybe it's not as shocking as I think.

I'm wondering what are you going to achieve here? "x86_64 multiarch" is base container for 64-bit x86 and I guess is not usable as a base for ARM 64-bit anything. BTW given simpler armhf works it might be more beneficial for users than arcm64 (note even though there're quite some mainline distros already available in 64-bit form for RPi3 like Fedora, Gentoo etc still Raspbian only has 32-bit official image).

Does this really work on an armhf deployment target? I'm skeptical, I honestly wouldn't have tried this on my own, but I haven't read any of the multiarch manuals and @abrodkin suggested it, so it seems worth a shot.

What I tried was cross-building on x86_64 for armhf and ten tested built container on 32-bit Raspbian.

(It would probably have to work without this high-level wizardry:
docker run --rm --privileged multiarch/qemu-user-static:register --reset)
It builds:
https://quay.io/repository/kingdonb/baseimage-docker/build/69f84a88-c780-434d-a7bc-daeeb2c9d5b4
It builds on quay.io at least, where I am skeptical that armhf-centric build would have been able to work in any case...

May I have access to built container so I may try it on real RPi?

Ah I see
It sounded like a pipe-dream having one image that could run on both armhf and x86_64 (and who knows how many other arch are supported by multiarch), so thanks for explaining what you meant.
The first builds failed because quay.io was looking to the master branch to determine the location of the Dockerfile and image context (which I think I had moved in bbff66a) -- so the Dockerfile was no longer in /image, so the build failed... simple enough
I have a feeling that still would not have worked even if I updated the build target, because you need to register the qemu thing in order to build armhf targets on a different-arch host, and that has to be done in privileged mode (and doing that affects the build host state, what build host is going to allow that...)
So I would guess you hit the same issue building on dockerhub, but I don't really know exactly what we're using for our image tagging pipeline now.
I am actually not sure why my quay builds are private, I do not have a paid quay account so I should not be able to make private builds:

This Repository is currently public and is visible to all users, and may be pulled by all users.
In order to make this repository private under your personal namespace , you will need to upgrade the namespace's plan to at least a Developer plan.

You can pull as: docker pull quay.io/kingdonb/baseimage-docker:build-armhf
...but it's not going to work right now, as you said... this was a misguided attempt.  So wait until after lunch and I'll hopefully have found a way to automate this build so it works with rpi3.

Note: I was not able to get quay to automate building of armhf images, but the image that I built from my macbook is here, and I verified that it pulls with no authentication:
docker pull quay.io/kingdonb/baseimage:build-armhf
This is going to present an obstacle to support, if there is no public cloud environment that offers a free way to build armhf images.  I don't think that's the end of the line, but I'll have to explore the options.
For some reason it looks like arm64-bionic isn't actually working on the rpi3 though... I get an exec format error once I've pulled the image to the rpi3.  Now trying armhf-bionic instead.

OK, that worked.  quay.io/kingdonb/baseimage:build-armhf @ IMAGE ID f42768b11340 created 4 minutes ago.
I used the armhf-bionic upstream image, built on macbook.  (So at least we know we don't need a build farm composed of raspberry pi's to think about offering support.)

So this PR is obviously not in shape to merge at the moment, but...

One tiny note - why don't we use x86 base from the same multiarch image so that we get exactly the same everything?

Thoughts on this?  I haven't done a size comparison, but one reason not to do this might be if the multiarch image is larger.  (I don't know enough about multiarch to say if this is true or not.)
If it is bigger, but just a little bit bigger... I would probably still keep the smaller image unless there is some compelling advantage to switch to multiarch for the x86_64 build.  (What does it buy you?)

I.e. on both x86_64 and armhf I would use exactly the same command docker run awesome_company/mycool-app:v1 echo hi which under the hood will pull platform-specific image and run it.

You're absolutely right, there is magic here (but not the magic I was expecting) and I didn't get it
I will read over that IBM developer article too, thanks for the reference!

We will work on the capability to have multiple build targets and using the CI we can automatically release several images, each arch specific.

I opened a new discussion at #518 -- I don't have time to attack this right now, but you should expect to see this ready before Mid-November as long as my planning calendar doesn't utterly break down


Looking for simple pubkey multisig, (Not from extended)

Is this still available?
From the documentation it seems like xpub based multisig is a new feature.
I'd really need to build a msig with a few existing specific pubkey.

Found in, script explorer.


[main] Upgrade to latest dependencies

Cron -knative-prow-robot
/cc knative-extensions/client-writers
/assign knative-extensions/client-writers
Produced by: knative-extensions/knobots/actions/update-deps

This PR suffers from https://github.com/google/go-licenses/issues/244 issue. Best to remove the toolkit directive in go.mod


Automated Package Upgrade

:tada: This PR is included in version 2.2.193 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Save is broken for the new notebooks

Steps to Reproduce:

Connect to a sever and create a new notebook
Add some random content.
Hit save button.

Dupe of #3432


WIP: fix clang -Wtautological-pointer-compare warnings

Warning was:
/Modules/Registration/GPUPDEDeformable/include/itkGPUPDEDeformableRegistrationFilter.hxx:102:7: warning: comparison of array 'this->m_GPUSmoothingKernels' not equal to a null pointer is always true [-Wtautological-pointer-compare]
  if (m_GPUSmoothingKernels != nullptr)
      ^~~~~~~~~~~~~~~~~~~~~    ~~~~~~~

I'm not sure if clang is correct here... maybe maybe it's only tautological on macOS and not always?

This might be tautological within some unit test, but PrintSelf can be invoked by user code, after those pointers have been set, right?


how can i accelerate the button animation?

button.setRippleSpeed(8); //use ripple speed value between 1 to 20

Thanks people :)


OCEAN user balance is null randomly

Happens a lot on Rinkeby. Ran into that on the Cobra Capital asset during the demo:

I think this may be a reason

this seems an infura problem where as a result we do not get the OCEAN balance back, leaving the buy button disabled.

await account.getOceanBalance() returns null , where account is of type Account  and is  const account = (await ocean.accounts.list())[0] .


node_modules + core/client/node_modules are enormous

On my machine, node_modules is 309MB and core/client/node_modules is 331MB. This seems… rather excessive?
I'm not sure if this is by design on Node's end, but 700MB of disk space is a lot. Especially since we're running two Ghost blogs on the same machine, that's 1.5GB (of 30GB) right there…
Can anything be done to reduce this?

Hi @uppfinnarn, we use Github for tracking bugs with Ghost. You seem to have questions about Ghosts disk usage - please come and join us in our Slack community over at http://ghost.org/slack where we're happy to discuss this further.
As quick feedback, it seems you are running Ghost in development / off of Github. Running Ghost as an npm module or even from the release zip gives me a node_modules directory with just over 160mb. (core/client isn't part of a released Ghost version).

If space is your primary concern, the npm module is probably the way to go. Down side is you need to write your own start scripts, but 2 small scripts & 2 configs should be able to share the same npm module code.


Attribute vertical-align is illegal via API

Hello!
Starting today, everytime I try to render HTML elements with the CSS attribute vertical align using the API at the endpoint https://api.mjml.io/v1/render I am getting the following error:
Attribute vertical-align is illegal via API
A few months ago it happened that certain css values were not accepted anymore, and I could correct them in all my HTML templates, however, it is a big issue because I cannot replace this attribute in all my 10 thousand templates, was there any change made in the API accepted attributes?

This is the full error but the line number might be related to my specific template
Line 72 of /home/ndjs/mjmlapi-3270a319-418 (mj-section) — Attribute vertical-align is illegal

Well vertical-align was never supported on mj-section (but it's fine on mj-column see https://mjml.io/try-it-live/rknm3CyU8).
It was just listed as supported in component code but never used.


[TRA1][W09-B2]

TODO: update tests for find command

Good to see three of you pitched in for this PR :+1: Don't forget to change your profile picture. Hope the other catches up soon.

@jeffryhartanto I have a profile picture already though.. is it not showing up?

Yours is fine, I mean your teammate. :)


Mapping flat to hierarchical object in v2. Potential un-flattening breaking change

Previously for mapping from flat request to more structured type I was using this configuration
TypeAdapterConfig<UserCreateRequest, NewUserDetails>.NewConfig()
  .Map(d => d.AccountLocation, s => "EU")
  .Map(d => d.UserProfile, s =>TypeAdapter.Adapt<UserCreateRequest>(s))
;

Effectively what it does is un-flattening.
Important note that now for this operation we need to specify target and source types in generic parametrization  for Adapt, like this (note UserState ):
TypeAdapterConfig<UserCreateRequest, NewUserDetails>.NewConfig()
  .Map(d => d.AccountLocation, s => "AU")
  .Map(d => d.UserProfile, s =>TypeAdapter.Adapt<UserCreateRequest, UserState>(s));

Otherwise compiler will complain with this:

Error	CS0854	An expression tree may not contain a call or invocation that uses optional arguments

Not a bug but worth to mention breaking change

I will create method overload rather than optional argument to fix this problem.
Anyway, with V2, you can map without calling to TypeAdapt ie.
TypeAdapterConfig<UserCreateRequest, NewUserDetails>.NewConfig()
  .Map(d => d.AccountLocation, s => "AU")
  .Map(d => d.UserProfile, s => s);

:+1: that's cool, I think it wasn't working in v1 this way. Thanks


Clarified limitations of using Cloudflare adapter with Node.js

Description (required)
Added additional clarification about the limitations of deploying with the Cloudflare adapter when using packages that import the Node.js runtime without using the import * from node* syntax. The error message that appears when you run into this is unclear especially in regards to why it is happening, and what the next steps should be for someone.
My hope is that with updates to the docs, a developer can understand the following: This is not a bug within Astro, why this error may sometimes occur, and what the next steps are if someone is developing an Astro app that imports relies on packages that might not conform to the import * from node* syntax.
Please let me know if anything needs to be clarified or updated!
(Thanks to @alexanderniebuhr for helping me figure out the original issue!)
Discord: hgswiz
Related issues & labels (optional)

Closes https://github.com/withastro/adapters/issues/186
Suggested label: add new content

Hello! Thank you for opening your first PR to Astro’s Docs! 🎉
Here’s what will happen next:

Our GitHub bots will run to check your changes.
If they spot any broken links you will see some error messages on this PR.
Don’t hesitate to ask any questions if you’re not sure what these mean!

In a few minutes, you’ll be able to see a preview of your changes on Vercel 🥳

One or more of our maintainers will take a look and may ask you to make changes.
We try to be responsive, but don’t worry if this takes a few days.

Just a note that I will come in and do a docs (text/language/formatting) review once all of the technical issues and questions have been resolved!
I am not the subject matter expert here, so I am trusting @alexanderniebuhr to clarify all the necessary/important details, and will wait for him to be 100% certain about the content. Then I'll just make sure it sounds pretty and fits with docs structure/standards!  🙌


Environment variable POSTFIX_COMMAND_COUNTER_DATA is not set

I get this Messages if i try to use your Patterns:
[2017-07-18T13:23:59,993][ERROR][logstash.agent           ] Cannot create pipeline {:reason=>"Cannot evaluate ${POSTFIX_COMMAND_COUNTER_DATA}. Environment variable POSTFIX_COMMAND_COUNTER_DATA is not set and there is no default value given."}
Logstash 5.5 / Ubuntu 17.04

I see there is a typo in line 216 of 50-filter-postfix.conf:
 match          => ["postfix_command_counter_data", "^${POSTFIX_COMMAND_COUNTER_DATA}$"]

This should read:
match          => ["postfix_command_counter_data", "^%{POSTFIX_COMMAND_COUNTER_DATA}$"]

Note the change: $ => %. Could you confirm that this works?

Thank you, Works like a charm !


Using Siri to execute a room clean

Hi guys. Thanks for a very useful plugin.
Have a Q Revo, all connected and followed the guides to import room numbers. I have each room displayed as a switch as well as the main one to turn cleaning on.
The way I understand it, I have to turn each room switch on that I want cleaned followed by the main Clean switch to actually start the cleaning.
How do I go about Siri to start cleaning a room on one command ? or setting up a scene so I include one or two rooms to select cleaning.
Thanks!

Ah the room timeout feature. Thanks!


Split out CLJ Lambda functionality and build from cdk-clj

cdk-clj is pretty stable at this point, however, the lambda building in stedi.cdk.lambda is still experimental and the API is still likely to change in breaking ways. Pulling that out into an extension and flagging it as experimental would make this clear.

Fixed with #42


[SPARK-48783][DOCS] Update the table-valued function docs

What changes were proposed in this pull request?

This PR updates the table-valued function SQL reference doc to include the new set of TVFs that can be used in the FROM clause of a query, as well as the examples.
Why are the changes needed?

To improve the documentation.
Does this PR introduce any user-facing change?

No.
How was this patch tested?

Existing tests
Was this patch authored or co-authored using generative AI tooling?

No

cc @srielau @cloud-fan

thanks, merging to master!


Crypto : Some device informations are not displayed whereas the messages can be decrypted.

After a delay, the device info is displayable.

When a new device is announced, the client requests its keys. But, it as an asynchronous call.
The room messages list was only refreshed when the new device was announced not when the linked device information was retrieved.


What is redirect URI?

What should be redirect uri variable?
For example, can I set it as localhost?

@siriusblack01 this is your callback URL as specified in your Twitter app settings. This should be the same value as one of the callback URLs you set up in your App Settings -> User Authentication Settings -> App Info Callback URI.


Error starting tabs app

I'm just trying out ionic. The global install of ionic worked but creating the first tab or sideload app (either one) fails:
dfberry@dfberrys-MacBook-Air:~/repos-mine/dfberry.io/ionic$ ionic start tabsapp tabs
Creating Ionic app in folder /Users/dfberry/repos-mine/dfberry.io/ionic/tabsapp based on tabs project
Downloading: https://github.com/driftyco/ionic-app-base/archive/master.zip
[=============================]  100%  0.0s
Downloading: https://github.com/driftyco/ionic-starter-tabs/archive/master.zip
[=============================]  100%  0.0s
Installing npm packages...
Error with start undefined
Error Initializing app: There was an error with the spawned command: npminstall
There was an error with the spawned command: npminstall
Caught exception:
 undefined

Mind letting us know? https://github.com/driftyco/ionic-cli/issues

Mac
node v5.3.0

Try installing Git - i had the same issue on Windows: https://github.com/driftyco/ionic-cli/issues/1463

Could you please try this again? We recently made changes to the app-base and this should no longer be an issue for you.  Below is the commit that fixed the issue.
driftyco/ionic-storage@92f9032d97f32959e6ae6642bd4d37070792faf3


[Question] How to empty storagePath before uploading ?

Hi,
I was experimenting with your package and find myself wanting to delete the content of the destination before uploading.
I looked inside issue & wiki, but didn't find anything appropriate.
Is this something possible with this package ?
My goal here is to prevent destination folder from increasing in size with non-used file (or legacy file).
For instance, I may upload a file whenever a user update his profile picture, but after a long time, there will be plenty of unused file in the folder which should be deleted.
I would like to be able to delete specific file (based on filename/id) and clean entire folder.
Thanks for your answer,
EDIT: I figured out how to clean older file in the onAfterUpload hook thanks to userId being passed in the file definition. Still looking for emptying destination folder if this is possible with the package.
By the way, and in order to prevent from opening other issues, I may have noticed a few irregularity about link (which sure come from my code, but can't understand why).
I upload the files in /uploads/images/avatars/users/userId/ which works fine (I can see the files in my server FS).
However the generated link is still in the form of localhost:3000/cdn/storage/....
I tried rewriting downloadRoute but I don't think this is the write way since now the generated link is in the form : /uploads/images/avatars/users/collection_name/file_id/original/file_id.
I also noted that if I use the namingFunction, although my file is correctly named on the FS, the link is still generated based on the file id which is a bit weird.
Can't figure myself out of this, can you enlighten me please ? 🙂
See stack trace from debug below :
I20171114-10:18:43.607(1)? [FilesCollection] [File Start Method] Avatar.jpg - sTcsMWR6ZFdYmsioC
I20171114-10:18:43.608(1)? [FilesCollection] [Upload] [DDP Start Method] Got #-1/1 chunks, dst: Avatar.jpg
I20171114-10:18:43.640(1)? [FilesCollection] [Upload] [DDP] Got #1/1 chunks, dst: Avatar.jpg
I20171114-10:18:43.651(1)? [FilesCollection] [Upload] [DDP] Got #-1/1 chunks, dst: Avatar.jpg
I20171114-10:18:43.652(1)? [FilesCollection] [Upload] [finish(ing)Upload] -> /uploads/images/avatars/users/uT2oq6RqBpqLhzx8G/sTcsMWR6ZFdYmsioC.jpg
I20171114-10:18:43.656(1)? [FilesCollection] [Upload] [finish(ed)Upload] -> /uploads/images/avatars/users/uT2oq6RqBpqLhzx8G/sTcsMWR6ZFdYmsioC.jpg
I20171114-10:18:43.656(1)? [FilesCollection] [findOne({"_id":"sTcsMWR6ZFdYmsioC"}, undefined)]
I20171114-10:18:43.659(1)? [FilesCollection] [_preCollectionCursor.observe] [changed]: sTcsMWR6ZFdYmsioC
I20171114-10:18:43.662(1)? [FilesCollection] [FileCursor] [link(original)]
I20171114-10:18:43.662(1)? [FilesCollection] [link(sTcsMWR6ZFdYmsioC, original)]
I20171114-10:18:43.671(1)? [FilesCollection] [_preCollectionCursor.observe] [removed]: sTcsMWR6ZFdYmsioC
I20171114-10:18:43.675(1)? http://localhost:3000/uploads/images/avatars/users/user_avatars/sTcsMWR6ZFdYmsioC/original/sTcsMWR6ZFdYmsioC.jpg
I20171114-10:24:19.511(1)? [FilesCollection.storagePath] Set to: /uploads/images/avatars

Corresponding collection code:
export const UserAvatar = new FilesCollection(
{
    collectionName: "user_avatars",
    debug: true,
    downloadRoute: "/uploads/images/avatars/users/",
    storagePath: function(file)
    {
        if (Meteor.isServer)
        {
            let fs = require("fs-extra");
            if (file && file.userId)
            {
                let path = "/uploads/images/avatars/users/" + file.userId + "/";
                fs.ensureDirSync(path);

                return path;
            }
        }

        return "/uploads/images/avatars/";
    },
    onBeforeUpload(file)
    {
        if (file.size <= AVATAR_MAX_SIZE && /png|jpg|jpeg/i.test(file.extension))
            return true;

        return "Please, upload avatar with size equal or less than 10MB!";
    },
    onAfterUpload(file)
    {
        if (Meteor.isServer)
        {
            let test = UserAvatar.findOne({_id: file._id});
            let user = User.findOne({_id: file.userId});

            if (user && test)
            {
                user.avatar = test.link();
                user.save();
            }
        }
    }
});

wanting to delete the content of the destination before uploading.

I believe fs-extra can solve it using .emptyDir() method.
But you will also need to remove everything from database, so using pseudo code below:
Meteor.startup(() => {
   FilesCollection#remove({});
});

is much easier and safer, snippet is taken from here.

My goal here is to prevent destination folder from increasing in size with non-used file (or legacy file).

Legacy files may be removed using Mongo's TTL indexes, see related discussion here.

For instance, I may upload a file whenever a user update his profile picture, but after a long time, there will be plenty of unused file in the folder which should be deleted.

For this case you should remove a file using .remove() method.

EDIT: I figured out how to clean older file in the onAfterUpload hook thanks to userId being passed in the file definition. Still looking for emptying destination folder if this is possible with the package.

You may pass user's id into .remove() method, to remove all user's files.
FilesCollection#remove({ userId: 'xxx' });

I upload the files in /uploads/images/avatars/users/userId/ which works fine (I can see the files in my server FS).
However the generated link is still in the form of localhost:3000/cdn/storage/....
I tried rewriting downloadRoute but I don't think this is the write way since now the generated link is in the form : /uploads/images/avatars/users/collection_name/file_id/original/file_id.
I also noted that if I use the namingFunction, although my file is correctly named on the FS, the link is still generated based on the file id which is a bit weird.

true === (storagePath !== downloadRoute !== namingFunction)

All storagePath, downloadRoute, and namingFunction is not related in any way.
Do not ever alter the way how .link() method works, we made it this way, to avoid reverse engineering over your server's file system structure, so it's always remains the same, whenever storage at your FS, GridFS or AWS:S3, it isn't possible to figure out.

Note: there is public option, which alters this default behavior.
namingFunction only affects how files is being named at your FS, not generated link. It allows to create "infinitely" directory inherence to avoid hitting max allowed files/dirs in single directory.
@axelvaindal let me know if this is helpful, or you need more info.

@dr-dimitru Thanks for all your answers, this is quite explicit !
I have no further questions concerning the emptying of the destination path, Mongo TTL indexes and FilesCollection#remove method will do the trick.
Concerning the difference between the 3 config options, I think I get the most of it.
Based on your explanations, I understand this :

storagePath : Define the files location after they are uploaded (final destination path on the FS).
`namingFunctionè : Only allow file renaming on the FS
downloadRoute:  This is NOT the real location of the file, only a safe passage to get the file without exposing the true nature of the file system (no way of knowing if we use server FS, GridFS,AWS:S3).

So, based on this explanations, if I put my files outside of my meteor project directory (i.e an absolute path /uploads/images/*) and update my user avatar link when the file is finished uploading with the link() method, I should be able to pass the path generated to a src attribute of an <img /> tag and see my image displayed ?
onAfterUpload(file)
    {
        if (Meteor.isServer)
        {
            let avatar = UserAvatar.findOne({_id: file._id});
            let user = User.findOne({_id: file.userId});

            if (user && avatar)
            {
                user.avatar = avatar.link();
                user.save();
            }
        }
    }

// in any React component

<img src={this.props.user.avatar} />

However, the generated link for avatar is still this one :
http://localhost:3000/cdn/storage/user_avatars/6XDx4B8vwpYWnA4Lm/original/6XDx4B8vwpYWnA4Lm.jpg and I get the net::ERR_CONNECTION_REFUSED error.
I use default publication (which publish everything about the UserAvatar FilesCollection) and subscribed correctly. My storagePath is chmoded 777 to be sure this is not about permissions.
There must be a misunderstanding somewhere, but can't find out.

Is the http://localhost:3000 right domain?
Make sure ROOT_URL env.var is properly set

To find out the roots of the net::ERR_CONNECTION_REFUSED, we need:

"DevTools" -> "Network" -> "Headers" tab screenshot of the failed request
One more time Server and Client "debug" logs
And try to put ostrio:files package on top of .meteor/packages file, right after default packages (which has no : colon), perhaps some other package (like routing) registered catch-all middleware and not passing it to the next handler.

Yes, this is my dev environment.
Tried export ROOT_URL with correct value and the ROOT_URL=http://localhost:3000 meteor syntax with no differences

net::ERR_CONNECTION_REFUSED related debug information:

Server log:
// On app loading
[FilesCollection.storagePath] Set to: /uploads/images/avatars
// On image upload (which works fine)
I20171116-14:59:15.241(1)? [FilesCollection] [File Start Method] Avatar.jpg - JkgTYGuPkESXgWMYN
I20171116-14:59:15.242(1)? [FilesCollection] [Upload] [DDP Start Method] Got #-1/1 chunks, dst: Avatar.jpg
I20171116-14:59:15.278(1)? [FilesCollection] [Upload] [DDP] Got #1/1 chunks, dst: Avatar.jpg
I20171116-14:59:15.287(1)? [FilesCollection] [Upload] [DDP] Got #-1/1 chunks, dst: Avatar.jpg
I20171116-14:59:15.287(1)? [FilesCollection] [Upload] [finish(ing)Upload] -> /uploads/images/avatars/users/J9xSmYsSdQRz4FXhC/JkgTYGuPkESXgWMYN.jpg
I20171116-14:59:15.291(1)? [FilesCollection] [Upload] [finish(ed)Upload] -> /uploads/images/avatars/users/J9xSmYsSdQRz4FXhC/JkgTYGuPkESXgWMYN.jpg
I20171116-14:59:15.291(1)? [FilesCollection] [findOne({"_id":"JkgTYGuPkESXgWMYN"}, undefined)]
I20171116-14:59:15.293(1)? [FilesCollection] [_preCollectionCursor.observe] [changed]: JkgTYGuPkESXgWMYN
I20171116-14:59:15.295(1)? [FilesCollection] [FileCursor] [link(original)]
I20171116-14:59:15.296(1)? [FilesCollection] [link(JkgTYGuPkESXgWMYN, original)]
I20171116-14:59:15.302(1)? [FilesCollection] [_preCollectionCursor.observe] [removed]: JkgTYGuPkESXgWMYN

Client log:
XHR finished loading: GET "http://<IP_ADDRESS>:3000/sockjs/info?cb=3ghzwqkxie".
GET http://localhost:3000/cdn/storage/user_avatars/JkgTYGuPkESXgWMYN/original/JkgTYGuPkESXgWMYN.jpg net::ERR_CONNECTION_REFUSED

Put the package name where specified but didn't change anything in result.

On a server you should have incoming request for a file. But it isn't there.
This means some other package (like routing) registered catch-all middleware and not passing it to the next handler.

What do you use for routing? FlowRouter?
Do you use Picker package?
On a Server - register FileCollection as soon as possible, and before any other server routes.

I indeed use FlowRouter for routing.
My server.js file looks like this (no server routes are defined) :
import { Meteor } from "meteor/meteor";

import "./collections.js"; // This import the FilesCollection instance named UserAvatar
import "./hooks.js";
import "./methods.js";
import "./publications.js";

if (Meteor.isServer)
{
	Meteor.startup(() =>
	{
  		console.info("Yggdrasill Server running.");
	});
}

I do not use Picker.

@axelvaindal  Well everything looks very good, and should work properly.

What happens when you're trying to access file directly by generated URL? Like http://localhost:3000/cdn/storage/user_avatars/JkgTYGuPkESXgWMYN/original/JkgTYGuPkESXgWMYN.jpg
Have you tried other browsers?

Could you please also tell me more about your environment?:

Version of Meteor-Files you're experiencing this issue
Version of Meteor you're experiencing this issue
Where this issue appears? OS (Mac/Win/Linux)? Browser name and its version?

@dr-dimitru That is what I thought as well, but still not working 😄.

I get the same error than when trying to process the request through the browser (ERR_CONNECTION_REFUSED).
Just tried Mozilla Firefox & Edge latest version. The problem is the same.

Informations :

Meteor Files version<EMAIL_ADDRESS>Meteor version<EMAIL_ADDRESS>OS : Windows 10 64 bit in Google Chrome v62, Mozilla Firefox v57, Microsoft Edge v40.

See header output from Firefox below :

sorry again for wasting your time

No worries, happy to help.
This is common issue, that's why I'm always asking about ROOT_URL, but in your case it was set, but you had to change it to your local IP, or maybe it's ok for Windows?

Galaxy: Not personally, it works fine, but you need to remember it has no persistent storage (as I remember), so you will need to use GridFS, AWS or some other 3rd party storage
It depends...

Yes, node is not the best file-serving solution, but what if you need to control an access to the files?
Using CloudFlare will give you all benefits of CDN features, no need to upload files to CDN's storage.

Actually, my localhost:3000 usually refers to my local machine when I'm running meteor on my computer, but currently I am using a dedicated server in my local network which has the <IP_ADDRESS> IP address, thus the confusion in my mind (completely forgot I was running meteor command through SSH & SFTP).
We are using Galaxy in prod (and works fine until now), but I am a bit concerned about pushing file uploading to production right now without any further research on how best handle files with CDN.
I believe I remember the Meteor Guide recommends using CloudFront from AWS to serve public file and bundled files (such as JS & CSS), but I never used it myself, so this need further research about uploaded file. If the file are automatically fetched from the Galaxy container, uploading them as I do will be sufficient considering whenever the upload is done, the CDN will get the file and download it to server for other people around the world (thus no local access will be done, always through the CDN).
This needs confirmation though.
Anyway, this is not issue related, so I think we can close this now 🙂.

👍
Feel free to reopen it in case if the issue still persists on your end.
Please, support this project by:

Star on GitHub
Star on Atmosphere
Check other packages we have made
Share on Facebook and Twitter
Donate via PayPal


Add some page breaks for the UG and DG

...to make the sections look nicer

Codecov Report

Merging #264 (b9a6816) into master (1fc0d48) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #264   +/-   ##
=========================================
  Coverage     56.30%   56.30%
  Complexity      765      765
=========================================
  Files           161      161
  Lines          3307     3307
  Branches        363      363
=========================================
  Hits           1862     1862
  Misses         1319     1319
  Partials        126      126

Continue to review full report at Codecov.

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


ssort 1

Runs ssort on all code not in the modal package

not sure if it's possible to configure ssort's behavior so i'll close this for now :(


Realpinleaf

@lilida updated UI to launch hosts in PG and terminate all hosts in a group

Close as PR is too old.


TypeError: An update must have the same type as the original shared variable

Hello, I am new to Theano, so I might be asking an obvious question, but I keep on encountering the following error. Does anybody know the solution to this problem?
I am running in a CPU mode, so I added THEANO_FLAGS=device=cpu to tweet2vec_trainer.sh.
$ sh tweet2vec_trainer.sh
Training...
Preparing Data...
Building Model...
Building network...
/usr/local/lib/python2.7/site-packages/theano/scan_module/scan.py:1019: Warning: In the strict mode, all neccessary shared variables must be passed as a part of non_sequences
  'must be passed as a part of non_sequences', Warning)
Computing updates...
Compiling theano functions...
Traceback (most recent call last):
  File "char.py", line 231, in <module>
    main(sys.argv[1],sys.argv[2],sys.argv[3])
  File "char.py", line 129, in main
    train = theano.function(inps,cost,updates=updates)
  File "/usr/local/lib/python2.7/site-packages/theano/compile/function.py", line 316, in function
    output_keys=output_keys)
  File "/usr/local/lib/python2.7/site-packages/theano/compile/pfunc.py", line 499, in pfunc
    no_default_updates=no_default_updates)
  File "/usr/local/lib/python2.7/site-packages/theano/compile/pfunc.py", line 215, in rebuild_collect_shared
    raise TypeError(err_msg, err_sug)
TypeError: ('An update must have the same type as the original shared variable (shared_var=Wc, shared_var.type=TensorType(float32, matrix), update_val=Elemwise{add,no_inplace}.0, update_val.type=TensorType(float64, matrix)).', 'If the difference is related to the broadcast pattern, you can call the tensor.unbroadcast(var, axis_to_unbroadcast[, ...]) function to remove broadcastable dimensions.')

Hi,
Sorry, thats my mistake. The full prefix for running on CPU should be -
THEANO_FLAGS=device=cpu,floatX=float32
I will update the README.
Best,
Bhuwan


Missing protocolDBArchive on latest sporks

Instructions
I am not sure or on purpose, latest sporks don't have protocolDBArchive anymore.
Context
I am developing an example event indexer, for old and current sporks.

Closed with : https://github.com/onflow/flow/pull/1077


refactor(filter): Prepare for changing eliding

Split out of #279

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 50.806%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1292

Relevant Lines:
2543

💛  - Coveralls


Taking a project that allows registered users to do CRUD on authorized parts of their own and others

Most of us probably know stackoverlow.com and its variants. A user allows to submit questions, answers and comments to their own and others.
The current project developed in this book does not teach us how to allow registered users to do such CRUD mentioned above.  Taking a stackoverflow.com-like project as a tutorial seems to be more interesting as it covers the missing important parts about integrating Question, Answer, Comment entity model with the identity model.

I agree that a more advanced tutorial including limiting access to resources with auth features (claims, object ownership, etc) would be great. I wonder if @nbarbettini would consider adding a second project to the book for people to complete after they complete the first?

This is covered very briefly in Using identity in the application.
The idea of a second project is intriguing. I think it would be outside the scope of this book. A book covering more advanced application development with ASP.NET Core would be cool, but a ton of work to write.


JWT doc functionality questions

Hi there!
I've been setting up an AppSmith deployment authenticated with SSO and going through the JWT documentation, and I had a few questions:

Where does the <<ENV_VARIABLE>> syntax work?

From the docs:

The environment variable APPSMITH_USER_OAUTH2_ACCESS_TOKEN stores access token. You can read the value of the access token by using it in between the angular braces<<>>.

I didn't see APPSMITH_USER_OAUTH2_ACCESS_TOKEN appear anywhere in the appsmithorg/appsmith codebase, and using double angle brackets in a datasource or query just passed along the string as a literal. Wrapping that in double curly brackets, e.g. {{<<APPSMITH_USER_OAUTH2_ACCESS_TOKEN>>}} produces null, but so does putting any invalid identifier between {{ }}.

Is {{appsmith.user.idToken}} supposed to be functional?

From the docs:

You can read the value of an id token in your APIs/Queries by using a mustache sign {{}}.
{{appsmith.user.idToken}}

When I use {{appsmith.user.idToken}}, I get {}, meaning that idToken is an empty object. Looking through the codebase, the only time idToken appears is here, where it's set to an empty map, which matches my experience. I have SSO configured through Google and that works fine.

@trishaanand - Could you please help here?

cc: @infinitetrooper

Hey @bcspragu  - yes, if you use OIDC or Google OAuth, you should be able to access the ID and Access token. ID Token on the client and Access Token will be replaced when the query is sent from the server. Attaching a couple of screenshots showing the usage. Let me know if you face any errors, you can open an issue at - https://github.com/appsmithorg/appsmith/issues.
I'm closing this issue for now, please feel free to reopen it if you have additional queries.