ignition.first parameter exists post deployment

Bug Description
After Simplified Provisioner is provisioned with Ignition, the first boot contains the ignition.firstboot parameter causing broken tree mounts.
To Reproduce

Create butane file that adds a user with password (password_hash = pass)

variant: fiot
version: 1.0.0
passwd:
  users:
    - name: user
      password_hash: $y$j9T$xwWR4bvlM.oju.xHz5hYl0$z.vuMRdMTx.rLSw8LETGVS1MX0uHK0eUZ1j7J5dPIr.
      groups:
        - wheel

Convert to ignition
Host ignition file on accessible httpd server
Boot Simplified Provisioner

virt-install   --name "fedora-iot-device" \
               --os-variant "fedora40" \
               --boot uefi,loader.secure=false \
               --vcpus 1 --memory 3072 \
               --network=bridge=virbr0 \
               --disk pool=default,size=30 \
               --cdrom Fedora-IoT-provisioner-40.*.iso

Edit "Install Fedora 40" boot parameter appending ignition parameters to linux

coreos.inst.append=ignition.config.url=http://<IP_ADDRESS>/fiot.ign coreos.inst.append=rd.neednet=1

Boot system
Wait for provisioning to complete and system reboot
Login to the system - No home folder exists

Expected behavior
System boots without ignition.first after configuration allowing configured tree to mount with user's home folder existing.
Screenshots
localhost login: user
Password:
Last login: Wed Jun  5 18:18:43 on ttyS0
 -- user: /var/home/user: change directory failed: No such file or directory
Logging in with home = "/".
[user@localhost /]$ ls -lR / 2>/dev/null | grep var/home/user
[user@localhost /]$ ls -lR /sysroot/ 2>/dev/null | grep var/home/user
/sysroot/ostree/deploy/fedora/deploy/5bcc01335c19de1117841d2334062196fc40369bcbe6f71055ac3a2ddaa013f3.0/var/home/user:
[user@localhost /]$

OS version:
State: idle
BootedDeployment:
● fedora-iot:fedora/stable/x86_64/iot
                  Version: 40.20240422.3 (2024-04-22T19:43:59Z)
                   Commit: 5bcc01335c19de1117841d2334062196fc40369bcbe6f71055ac3a2ddaa013f3
             GPGSignature: Valid signature by 115DF9AEF857853EE8445D0A0727707EA15B79CC

Additional context

Running rpm-ostree kargs --delete-if-present='$ignition_firstboot' only works if ignition.firstboot is removed during the first boot. If ran after first boot, proper trees do not mount.

Work Around

Create butane file that adds a user with password (password_hash = pass)
Convert to ignition
Host ignition file on accessible httpd server
Boot Simplified Provisioner
Edit "Install Fedora 40" boot parameter appending ignition parameters to linux
Boot system
Wait for provisioning to complete and system reboot
Edit boot parameter removing ignition_firstboot during boot
login
run rpm-ostree kargs --delete-if-present='$ignition_firstboot'
reboot

$ignition_firstboot is a variable - and it's just empty on subsequent reboots, check /proc/cmdline - I can't see how this is gonna mess up mounts - if that variable is populated you'll get an error straight away on the second boot as ignition tries to run again so I think it's not that.
can you provide /proc/cmdline meanwhile and we'll get this bug scheduled asap
thanks for the report!

/proc/cmdline
BOOT_IMAGE=(hd0,gpt2)/ostree/fedora-9bcd9212246ae456c144c97977daf59b706493a1c791b52edb483dd838626bf2/vmlinuz-6.11.4-301.fc41.x86_64 luks.uuid=8ba00bc1-ef7a-481e-93f2-0c6d22625784 modprobe.blacklist=vc4 rw coreos.no_persist_ip ignition.platform.id=metal ignition.firstboot systemd.firstboot=off systemd.condition-first-boot=true root=LABEL=root ostree=/ostree/boot.1/fedora/9bcd9212246ae456c144c97977daf59b706493a1c791b52edb483dd838626bf2/0 ignition.config.url=http://<IP_ADDRESS>:9080/fiot.ign rd.neednet=1

Replicated setup using Fedora-IoT-provisioner-41-20241027.0.x86_64.iso with same result. Looks like directories are not created at all, not just user home folders.
Butane Example:
variant: fiot
version: 1.0.0
passwd:
  users:
    - name: user
      groups:
        - wheel
      password_hash: ...
      ssh_authorized_keys:
        - ssh-ed25519 ...
storage:
  directories:
    - path: /var/srv/containers/config
  files:
# podman --userns=auto ns range enabling rootful podman to run containers in unique namespaces.
## Start Num: Unused UID range after systemd container UID ranges. Larger than before range.
## Range Num: Double default user range.
    - path: /etc/subuid
      append:
        - inline: |
            containers:1879048192:131072
    - path: /etc/subgid
      append:
        - inline: |
            containers:1879048192:131072

/var/srv/containers/config folder is not created and ssh_authorized_keys not created due to missing home folder.

Looks like directories are not created at all, not just user home folders.

This could be related to #70

yes, David has been working on this and we have already hopefully came down to the problem :) cc @djach7 to comment with the findings

Submitted a pr to add the packages necessary to fix this here: https://pagure.io/fedora-iot/ostree/pull-request/66
I was able to login with ssh successfully and both a home directory and a .ssh directory were created, so I believe this is sorted out. Going to wait to close until the pr is merged.

Closing now that PR is merged.

Just a clarifying comment here, I don't think the ignition.firstboot parameter was ever the real issue. The lack of directories (i.e. home and .ssh) seems to have been related to the missing packages above and was solved by adding the packages back to the commit.

Can we also have a PR for the F-41 stable release please?

Let's keep this open until we have a working compose with the fix.


Add documentation page "Writing Custom Middleware"

Fixes #4472

name: :book: New/Updated Documentation Content
about: Adding a new docs page, or updating content in an existing docs page
PR Type
Add a page
Checklist

[X] Is there an existing issue for this PR?

#4472

[X] Have the files been linted and formatted?

What docs page is being added or updated?

Section: Usage Guide/Using Redux/Redux Logic and Patterns
Page: Writing Custom Middleware

For Adding New Content
What kind of content category is this page (tutorial, how-to, explanation, reference)?
How-to
Who is the intended target audience?
Developers thinking about writing their own middleware with low to medium experience with Redux.
What knowledge are we assuming they have?
How to use Redux and middleware in general, but not how to write middleware.
What are the intended results or takeaways from reading this page?

Understanding what middleware can do
Understanding when to write custom middleware vs. using existing packages
Understanding how to write middleware that is compatible with other Redux middleware like RTK Query middleware

What is the most critical info they should learn?

That they most likely shouldn't write custom middleware

@markerikson do you have feedback for the last two questions?

Per the "naming" question, I think I'd just refer to it as "overriding" or "replacing" the return value.

@markerikson I've rewritten the standard examples with concrete examples from rtk.

@markerikson any feedback?

Okay, let's go with this. Thanks!


[TACHYON-167] Update fuse code.

Updates the fuse code to match #2523

Thanks for the update. I left some comments.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/8124/
Test PASSed.

@calvinjia  thanks for the patch.
+1 LGTM

LGTM


fix: find the file that's being used while cleanup

Overview

Checklist

[ ] New and updated code has appropriate documentation
[ ] New and updated code has new and/or updated testing
[ ] Required CI checks are passing
[ ] Visual proof for any user facing features like CLI or documentation updates
[ ] Linked issues closed with keywords

Codecov Report

Merging #1417 (3194205) into main (f19c2ff) will increase coverage by 0.82%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #1417      +/-   ##
==========================================
+ Coverage   48.39%   49.22%   +0.82%
==========================================
  Files          79       79
  Lines        4465     4471       +6
==========================================
+ Hits         2161     2201      +40
+ Misses       2121     2087      -34
  Partials      183      183

Impacted Files
Coverage Δ

testutil/testnode/full_node.go
83.76% <100.00%> (+23.63%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


[SPARK-38868][SQL] Don't propagate exceptions from filter predicate when optimizing outer joins

What changes were proposed in this pull request?
Change EliminateOuterJoin#canFilterOutNull to return false when a where condition throws an exception.
Why are the changes needed?
Consider this query:
select *
from (select id, id as b from range(0, 10)) l
left outer join (select id, id + 1 as c from range(0, 10)) r
on l.id = r.id
where assert_true(c > 0) is null;

The query should succeed, but instead fails with
java.lang.RuntimeException: '(c#1L > cast(0 as bigint))' is not true!

This happens even though there is no row where c > 0 is false.
The EliminateOuterJoin rule checks if it can convert the outer join to a inner join based on the expression in the where clause, which in this case is
assert_true(c > 0) is null

EliminateOuterJoin#canFilterOutNull evaluates that expression with c set to null to see if the result is null or false. That rule doesn't expect the result to be a RuntimeException, but in this case it always is.
That is, the assertion is failing during optimization, not at run time.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
New unit test.

cc @cloud-fan FYI

cc @sigmod

thanks, merging to master/3.3!

bersprockets do you want to open backport PRs for 3.2/3.1?

do you want to open backport PRs for 3.2/3.1?

Will do, thanks!


Rate of scaling up and down

We're considering using the serverless feature, but we're trying to understand how quickly resources can be made available and if that affected by the size of the database. We're not considering using any form of auto pausing/resuming. Just want to scale between the minimum and maximum cores to stay cost optimized. Does the database size make any difference in how quickly a database can scale up to more cores?

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

ID: 46602618-c925-75b6-bf3e-1039f168f141
Version Independent ID: aa73eb53-55b6-6aa2-2542-e26fd32764fe
Content: Serverless - Azure SQL Database
Content Source: articles/sql-database/sql-database-serverless.md
Service: sql-database
Sub-service: service
GitHub Login: @moslake
Microsoft Alias: moslake

@dmarlow Thanks for your question. We are checking on this and will respond to you soon.

@dmarlow This link in the document explains this behavior.

The best possible way to even mitigate the connections drop is to always have the retry logic in your application. When the connections are dropped for a moment, if there is a retry event, it it will get over the error.

I'm not so concerned about the connection drop as I am having a database that is large that causes auto-scaling to take a long time (i.e. isn't able to quickly respond to scale up/down requests).

@oslake Please confirm if the timing will be affected by size of DB. Will it cause a long time to auto scale or will it only depend on number of vcores added.

@dmarlow We have checked with our product group team and they have conveyed that the storage/DB size doesn't affect its auto-scaling latency.

I'm curious how that works. It must be doing something different than what scaling a DB does today, right? Today, when you change the size/scale of a db, it copies the data to a new cluster; then, things are pointed over to it. Severless must be doing something different under the covers. How does it work?

@dmarlow Compute and storage are separated on different machines so there is no data copy involved in re scaling.

Very cool. So compute can be provisioned and the disconnect happens when pointing traffic to new compute nodes. Data doesn't need to move as both compute clusters utilize the same underlying storage. Makes sense. Thanks for the clarifications.


In ACR Type, ACR Type could not be deleted which is in already used.

Bug fixed

But not fixed


Update README.md

We need to update the followings:

Add 0.8.1 release to Releases section in README.md
Use full URLs rather than relative path in README.md

Please check out the links in https://pypi.org/project/furiosa-models/0.8.1/.

Since PYPI doesn't allow re-releasing package, we should fix these broken links and publish furiosa-models version 0.8.2. Is it ok?

@furiosamg Sure, as long as the release doesn't include any breaking change, we can do the minor release any time.


Make journald receiver cursors persistent

Currently migrated fluentd checkpoint files are not used due to missing storage param to the journald
According docs cursors/positions/checkpoints are only persisted on disk, if storage param is given. See https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/journaldreceiver/README.md
Equivalent to filelog change in #567

@vinzent, thanks for the fix!


⬆ HPC-8322: Update @material-ui/core

The version we were using was incompatible with the latest version of React.

Should we make an effort or create a ticket to migrate from v4 to v5?

Should we make an effort or create a ticket to migrate from v4 to v5?

Yeah that looks like a non-trivial change, we should do it but no need to block this regression fix. Ticket opened here: https://humanitarian.atlassian.net/browse/HPC-8326

Yeah that looks like a non-trivial change, we should do it but no need to block this regression fix. Ticket opened here: https://humanitarian.atlassian.net/browse/HPC-8326

Didn't mean for it to be blocking definitely. Thanks for creating the ticket


Systemjs builder seems slow

Here is my gulp task:
gulp.task('js', function() {
console.log(new Date());
var builder = new Builder({
baseURL: '.',
transpiler: 'babel'
});
builder.loadConfig('config.js')
.then(function() {
builder.buildSFX('app/assets/javascripts/application.js', 'public/assets/application.js')
.then(function () {
console.log(new Date());
console.log('Build complete');
})
.catch(error);
})
.catch(error);
function error(msg) {
console.log('Build error');
console.log(msg);
}
});
It takes around 30 seconds for it to compile everything the first time, and around 20 seconds the second time. Is there any way to optimize this? I am using jspm and importing my third party references.
Thanks.

How large is your build file here? If you want a faster build you can use the SystemJS builder cache API which is:
var cache = builder.getCache();
builder.setCache(cache);

Still takes around 20 seconds:
gulp.task('js', function() {
console.log(new Date())
var builder = new Builder({
baseURL: '.',
transpiler: 'babel'
});
var cache = builder.getCache();
builder.setCache(cache);
builder.loadConfig('config.js')
.then(function() {
builder.buildSFX('app/assets/javascripts/application.js', 'public/assets/application.js')
.then(function () {
console.log(new Date())
console.log('Build complete');
})
.catch(error);
})
.catch(error);
function error(msg) {
console.log('Build error');
console.log(msg);
}
});

How large is the output file? Are you using minification or not? There is a lowResSourceMaps: true build option which can speed up the source maps generation. Did you actually implement a cache here? Note the cache only benefits repeated builds.

Where would you suggest putting the calls for caching? I put them in but it still does not seem to work.

The output file is 2.2MB and I am not using minification. I also don't have sourcemaps but are they auto injected in the sfx build?

For the cache you'd want to retrieve it after the old build via getCache, and then store it in memory until a future build, setting it with setCache on the new build before starting it.

so here my updated one:
var cache;

gulp.task('js', function() {
  console.log(new Date())
  var builder = new Builder({
    baseURL: '.',
    transpiler: 'babel'
  });

  if (cache) {
    builder.setCache(cache);
  }

  builder.loadConfig('config.js')
    .then(function() {
      builder.buildSFX('app/assets/javascripts/application.js', 'public/assets/application.js')
        .then(function () {
          cache = builder.getCache();
          console.log(new Date())
          console.log('Build complete');
        })
        .catch(error);
    })
    .catch(error);

  function error(msg) {
    console.log('Build error');
    console.log(msg);
  }
});

and i get an error:
{ [Error: ENOENT, open '/Users/path/1.js']
errno: 34,
code: 'ENOENT',
path: '/Users/path/1.js' }

Thanks! This would be a buildSFX cache bug... I'll look into it as soon as I can.

(up until now cached builds have only been tested against full bundles)

Thanks!

@guybedford was just wondering how soon do you think you will be able to have this fixed? I want to switch us over to a new build system using systemjs builder but with how long it is taking currently, I will have to push switching over out. Is there any time frame for when you might be able to fix this?
Thanks!

This feature is now working on master. Aiming to get this major release out soon.

Thanks for the update!

Released in 0.14.0.


Newspaper DataProvider Integrity error

A regression likely caused in solving ticket #92:
lwmdb_local_django    |   File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers
lwmdb_local_django    |
lwmdb_local_django    |     return executor(sql, params, many, context)
lwmdb_local_django    |            ^^^^^^^^^^^^^^^^^
lwmdb_local_django    | ^^^^^^^^^^^^^^^^^^
lwmdb_local_django    | ^
lwmdb_local_django    |
lwmdb_local_django    |   File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 84, in _execute
lwmdb_local_django    |     with self.db.wrap_database_errors:
lwmdb_local_django    |   File "/usr/local/lib/python3.11/site-packages/django/db/utils.py", line 91, in __exit__
lwmdb_local_django    |     raise dj_exc_value.with_traceback(traceback) from exc_value
lwmdb_local_django    |   File "/usr/local/lib/python3.11/site-packages/django/db/backends/utils.py", line 87, in _execute
lwmdb_local_django    |     return self.cursor.execute(sql)
lwmdb_local_django    |
lwmdb_local_django    |            ^^^^^^^^^^^^^^^^^^^^^^^^
lwmdb_local_django    |   File "/usr/local/lib/python3.11/site-packages/psycopg/cursor.py", line 723, in execute
lwmdb_local_django    |     raise ex.with_traceback(None)
lwmdb_local_django    | django.db.utils.IntegrityError: column "code" of relation "newspapers_dataprovider" contains null values
lwmdb_local_django exited with code 1

FYI: was a case of including null=True and blank=True for both code and legacy_code fields.


Add Gradle support

Currently only Maven plugins exist for simplifying the use of Glow. It would be helpful to have Gradle integrations as well since some projects use Gradle instead of Maven.
For example, when using GitHub actions (on their runners), I would like to run the tests of the server I'm about to deploy. Unit tests can be run easily from both Maven and Gradle with a simple task/goal. Integration tests, however, require an active container, so I need to create and run a Wildfly instance of the runner. With the Maven plugin it seems easy so just invoke the Maven command on the runner, but there is no Gradle equivalent. It can be done manually with actions that download the CLI and run it.
I think that this is a valid use case for Glow, correct me if I'm wrong.

Yeah, you can download Glow CLI, run it to provision the server. That should integrate in Gradle, no need for a specific Gradle integration.
If you could report what solution you ended with in this issue, that would help us identify possible improvements.
Thank-you!
JF


Thanks for the report !
I will look into it.
Do you have a clue what happens for pawns that do not have vaginas available?

Do you have a clue what happens for pawns that do not have vaginas available?

Steps to reproduce:

spawn pawn
give him appropriate xenotype (with fertilin and seduce skill)
spawn raid with 1 man
use 'seduce' on raider (bug reproduces only with enemies)
check pawns social log


Remove Beta label from Find Local Council pages

Removed the beta labels from the Find Your Local Council Pages as part of this Trello Card.

Looks good! 😎


Cannot click on "SUBMIT"....

I can see two instances of HA (local and external).
If i choose one or the other the "Submit" button stays grey...

Hello,
Can you share your URLs so I can test them.

@iprodanovbg can you check this issues.
I cannot click on SUBMIT button also.


How to resolve dependency hell

Dependency Hell
Hi, i have a solution with different projects ( I mean .net Framework / .net core / .net standard)
and often i adding plugins written by .net core with new DLL libraries.
after that i got many conflicts with dll versions.

Without more information, we can't help. Closing for now.


Vim no longer de-indents shell script code

This seems to be recent regression. When typing bash code vim would de-indent then, else and fi. In current build 8.0. patch level 1142 this is no longer the case, so the code ends up looking like this:
if [ $# == 3 ]
    then
	echo ""
	fi

but it used to correctly get formatted as you type as follows:
if [ $# == 3 ]
then
    echo ""
fi

I am on macOS 10.12.6 and vim:
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Sep 24 2017 08:48:00)
MacOS X (unix) version
Included patches: 1-1142
Compiled by Mario Grgic
Huge version without GUI.  Features included (+) or not (-):
+acl             +file_in_path    +mouse_sgr       +tag_old_static
+arabic          +find_in_path    -mouse_sysmouse  -tag_any_white
+autocmd         +float           +mouse_urxvt     -tcl
-balloon_eval    +folding         +mouse_xterm     +termguicolors
-browse          -footer          +multi_byte      +terminal
++builtin_terms  +fork()          +multi_lang      +terminfo
+byte_offset     -gettext         -mzscheme        +termresponse
+channel         -hangul_input    +netbeans_intg   +textobjects
+cindent         +iconv           +num64           +timers
-clientserver    +insert_expand   +packages        +title
+clipboard       +job             +path_extra      -toolbar
+cmdline_compl   +jumplist        +perl            +user_commands
+cmdline_hist    +keymap          +persistent_undo +vertsplit
+cmdline_info    +lambda          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       +python          +viminfo
+cscope          +lispindent      -python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con      -lua             +rightleft       +windows
+diff            +menu            +ruby            +writebackup
+digraphs        +mksession       +scrollbind      -X11
-dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     -xim
+emacs_tags      -mouseshape      +startuptime     -xpm
+eval            +mouse_dec       +statusline      -xsmp
+ex_extra        -mouse_gpm       -sun_workshop    -xterm_clipboard
+extra_search    -mouse_jsbterm   +syntax          -xterm_save
+farsi           +mouse_netterm   +tag_binary
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H   -DMACOS_X_UNIX  -F/System/Library/Frameworks -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -L. -L/usr/local/lib -I/System/Library/Frameworks/lib/python2.7/config -F/System/Library/Frameworks -L/usr/local/lib -o vim        -lm -lncurses  -liconv -framework Cocoa   -fstack-protector  -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -lperl -framework Python   -lruby.2.0.0 -lobjc

I suppose you are using the sh indent plugin? (Check with :set indentexpr?). If so, it might a problem with my vim-sh-indent plugin (and it does behave like you explain here), however it doesn't look like a recent regression, it seems to have always behaved that way. So I would appreciate, if you could bisect when this behaviour did not happen.

I don't have any extra indent plugins for shell, so yes I am using the default. I have bisected this problem and it looks like it got broken in patch 1041
e2e69e481 (tag: v8.0.1041, v8.0.1041) (3 weeks ago) patch 8.0.1041: bogus characters when indenting during visual-block append [Bram Moolenaar]
It works fine in patch 1040.

what are your indenting settings? How to reproduce starting with vim -u NONE -N?

I have autoindent, smartindent set:

--- Options ---
  autoindent          exrc                langmenu=none       number              showcmd             ttimeout
  background=dark     helplang=en         langnoremap         pumheight=15        showmatch           ttimeoutlen=100
  backup              history=200       nolangremap           ruler               smartcase           ttyfast
  cscopeverbose       hlsearch            mouse=a             scroll=47           smartindent         ttymouse=xterm2
  cursorline          ignorecase          mousemodel=extend   secure              smarttab            wildmenu
  display=truncate    incsearch           nrformats=bin,hex   shiftwidth=4        title
  backspace=indent,eol,start
  cryptmethod=blowfish2
  cscopeprg=/usr/local/bin/cscope
  diffopt=filler,iwhite
  fileencodings=ucs-bom,utf-8,default,latin1
  grepprg=/usr/local/bin/grep -n $* /dev/null
  listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
  pythonthreedll=/Library/Frameworks/Python.framework/Versions/3.5/Python
  pythonthreehome=/Library/Frameworks/Python.framework/Versions/3.5
  runtimepath=~/.vim,/Applications/MacVim.app/Contents/Resources/vim/vimfiles,/Applications/MacVim.app/Contents/Resources/vim/runtime,/Applications/MacVim.app/Contents/Resources/vim/runtime/pack/dist/opt/matchit,/Applications/MacVim.app/Contents/Resources/vim/vimfiles/after,~/.vim/after
  shortmess=filnxtToOI

On 2017-09-25, Christian Brabandt wrote:

what are your indenting settings? How to reproduce starting with vim -u NONE
-N?

I've noticed this problem, too, since recently updating from 8.0.691
to 8.0.1127.  Here is a demonstration.
$ vim -N -u NONE -i NONE -c 'so $VIMRUNTIME/indent/sh.vim'

Enter the following text, letting Vim do all the indenting.
if [ $this ]; then
that
fi
Note that "fi" is not unindented.  As another example, enter this
text.
if [ $this ]
then
that
fi
Note here that not only is "fi" not unindented, but that "then" is
indented, which it should not be.
Regards,
Gary

On Mo, 25 Sep 2017, Gary Johnson wrote:

I've noticed this problem, too, since recently updating from 8.0.691
to 8.0.1127.  Here is a demonstration.
$ vim -N -u NONE -i NONE -c 'so $VIMRUNTIME/indent/sh.vim'

Enter the following text, letting Vim do all the indenting.
if [ $this ]; then
that
fi
Note that "fi" is not unindented.  As another example, enter this
text.
if [ $this ]
then
that
fi
Note here that not only is "fi" not unindented, but that "then" is
indented, which it should not be.

It was a bit tricky, but finally found the problem. Patch 8.0.1041 had
one small typo, which forgot to obtain the line pointer in insert mode
again once the indentkeys 0=word kicked in.
I initially searched the error in the block editing mode, which
obviously was not involved here, so that confused me a bit.
Attached patch fixes the problem and contains a test.
Christian
Begriff ist Summe, Idee Resultat der Erfahrung; jene zu ziehen,
wird Verstand, dieses zu erfassen, Vernunft erfordert.
-- Goethe, Maximen und Reflektionen, Nr. 1061

On 2017-09-25, Christian Brabandt wrote:

Attached patch fixes the problem and contains a test.

That fixed it for me.  (Not that I doubted it would.)  Thanks!
Regards,
Gary

I can also confirm the patch fixes the issue.


Kick off staging bundle release for patch 0.9.1

Issue #, if available:
Description of changes:
Kick off staging bundle release for patch 0.9.1
Testing (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


Camunda Cloud Integration Tests to pass

Current status:
Test Suites: 6 failed, 16 passed, 22 total
Tests:       7 failed, 83 passed, 90 total
Snapshots:   1 passed, 1 total
Time:        454.361s
Ran all test suites.

Failing tests:

ZBClient › Can update workflow variables
src/__tests__/integration/ZBClient-integration.spec.ts:1

ZBClient › Correctly branches on variables
src/__tests__/integration/ZBClient-integration.spec.ts:80:2

Worker onReady Handler › Does call the onReady handler if there is a broker
src/__tests__/integration/Worker-onReady.spec.ts:21:19

onConnectionError Handler › Does not call the onConnectionError handler if there is a business error
src/__tests__/local-integration/OnConnectionError.spec.ts:113:19

ZBWorker › Causes a retry with complete.failure()
_tests__/integration/Worker-Failure.spec.ts:26:2

ZBWorker › Can update workflow variables with complete.success()
src/__tests__/integration/ZBWorker-integration.spec.ts:58:2

ZBClient › Can start a workflow with a message
src/__tests__/integration/Client-MessageStart.spec.ts:17:2

Refactored all tests to use unique process ids, unique task types, and unique message names.
This will fill up a continuously running cluster with workflow definitions, but will ensure that subsequent (and failed tests during a single) test runs do not interfere with each other.


Webpack doesnt compile JS through Babel

Laravel Mix Version: 1.4.2
Node Version (node -v): 6.11.0
NPM Version (npm -v): 3.10.10
OS: Ubuntu 14.04 LTS

Description:
Hey guys, hey Jeffrey and Laravel World,
When I try to compile my JS files that reside in a dedicated npm package, my JS is not run through Babel.
I'm talking about the npm package z-vue-session (You may have a look at that package to dig in deeper, because this package is really simple - in fact it's just one class).
This package is imported in my JS file that will be compiled down by webpack (so the package is imported at "level 0").
webpack.mix.js:
var path = require('path');
var mix = require('laravel-mix');

mix.webpackConfig({
        resolve: {
                alias: {
                        'inputmask.dependencyLib': 'vue-inputmask/3rd/inputmask.dependencyLib'
                }
        }
});

mix.js('wp-content/XXX/js/scripts.js', 'wp-content/XXX/scripts.js');

My package.json:
{
  "private": true,
  "scripts": {
    "dev": "npm run development",
    "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=./node_modules/laravel-mix/setup/webpack.config.js",
    "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=./node_modules/laravel-mix/setup/webpack.config.js",
    "watch-poll": "npm run watch -- --watch-poll",
    "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=./node_modules/laravel-mix/setup/webpack.config.js",
    "prod": "npm run production",
    "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=./node_modules/laravel-mix/setup/webpack.config.js"
  },
  "devDependencies": {
    "axios": "^0.15.3",
    "laravel-mix": "^1.4",
    "jquery": "^3.1.1"
  },
  "dependencies": {
    "axios": "^0.15.3",
    "bootstrap": "^3.3.7",
    "es6-promise": "^4.1.1",
    "vue": "^2.3.4",
    "z-ui": "^1.0.38"
  }
}

My scripts.js file that's compiled down
window.$ = require('jquery');
var Vue = require('vue');
window.Vue = Vue;
require('font-awesome-webpack');
window.axios = require('axios');
import {session} from 'zoom-vue-session';
Vue.use(session);
import {form} from 'z-ui';
Vue.use(form);
const app = new Vue({});

And finally the index.js from my session package:
var ucfirst = require('ucfirst');
var Event = require('vue-events');

class Session {
        constructor() {
                this.data = [];

                this.flashData = {};
        }

        clearFlash() {
                this.flashData = {};
        }

        clear() {
                this.data = {};
        }

        flash(msg, type = 'success') {
                this.flashData[type.toLowerCase()] = msg;
        }

        getAllFlash() {
                return this.flashData;
        }
};

module.exports = {
        clearSession: {
                mounted: function() {
                        if (this.$router == undefined) {return;}

                        var vm = this;

                        this.$router.afterEach((to, from) => {
                                vm.$events.fire('messageClear');
                                var messages = vm.$session.getAllFlash();
                                Object.keys(messages).forEach(function(key) {
                                        vm.$events.fire('message'+ucfirst(key), messages[key]);
                                });
                                vm.$session.clearFlash();
                        });
                }
        },
        session: {
                install: function(Vue, options) {
                        Vue.use(Event.default);

                        var s = new Session;

                        Vue.mixin({
                                beforeCreate() {
                                        Vue.prototype.$session = s;
                                },
                        });
                }
        }
}

The ES6 class appears in my compiled code, but it should really be compiled down with babel. This error cauees my site to crash on IE9 or non-chrome-browser that doesnt understand ES6.
Any help is appreciated
Thanks guys!

To scan the node_modules directory takes significantly longer, so we assume that, for any package you pull in, there will be a compiled JS code.

Okay, that's plausible. But anyway - is there any workaround that makes it possible to compile the package before it's pushed to the real world (meaning the npm repository)?
Would be nice if I could event handle this via a git hook or npm command. So that the package compiles down automatically before the "real" push command and the compiled version will be uploaded.

You can't at the moment, but it's something I'm thinking about.


Fix continuous full compactions

Required for all non-trivial PRs

[x] Rebased/mergable
[x] Tests pass
[x] CHANGELOG.md updated

The full compaction planner could return a plan that only included
one generation.  If this happened, a full compaction would run on that
generation producing just one generation again.  The planner would then
repeat the plan.
This could happen if there were two generations that were both over
the max TSM file size and the second one happened to be in level 3 or
lower.
When this situation occurs, one cpu is pegged running a full compaction
continuously and the disks become very busy basically rewriting the
same files over and over again.  This can eventually cause disk and CPU
saturation if it occurs with more than one shard.
Fixes #7074

+1


Add to container CSS

How can I add to the container css?
The documents refer to src/styles.ts but that file doesn't exist anymore.
I would like to add flex-wrap: wrap; to the parent container.
Thanks

@Scalee It's described in the documentation: https://volkovlabs.io/plugins/volkovlabs-dynamictext-panel/styles/#padding-and-margins
Use for the parent style:
& {
  padding: 0;
  margin: 0;
}

@Scalee It's described in the documentation: https://volkovlabs.io/plugins/volkovlabs-dynamictext-panel/styles/#padding-and-margins
Use for the parent style:
& {
  padding: 0;
  margin: 0;
}

Thanks for you reply. The & style seems to apply to every row container. What I am looking for is one level higher, the container that wraps all the rows so I can add flex-wrap: wrap;

@asimonok Any ideas?

Workaround is to add the following to after render code.
context.element.parentNode.classList.add('yourClass')

But the more appropriate way is to implement static class name for rows container which we will add to the upcoming release.


MKL 1D ReLU fix

This is a fix for #6615 .

@ykim362 please consider update the mklml path in the docker file when changing the mklml version.
see the comment: https://github.com/dmlc/mxnet/blob/master/prepare_mkl.sh#L58 and #6876

@mli I see. I will do that from the next update. Thanks!


Add Bishop Ireton High School

Bishop Ireton High School

@devinlinux First stage of verification passed, official domain is bishopireton.org as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@devinlinux Pull request merged. Thank you!


Java2D, SVG shapes to NVG

Hello and thanks for NVG. I'm testing the LWJGL version and it's working quite well.
I tried to write a small piece of code in order to convert a generic Java2D shape to a NVG path.
The problem (you guessed it) is the holes. Imagine to rasterize the "O" char.
This also means that we will have the same problems with SVG shapes etc.
Any hint ?
Mik

Did you try change nvgPathWinding between shapes when render "O" char?

The holes should not be a problem. Check my project that converts SVG to NVG codes. https://github.com/ollix/svg2nvg

Lieff, Olliwang (svg2nvg is impressive), thanks for the replies.
nvgPathWinding() does the job, but my question is about general path rasterizing of intersecting paths i.e. the paths that define a generic glyph. I think nvidia-path-rendering is supporting this feature.

A little addendum: we could determine the polygon winding every nvgClosePath() and issue a nvgPathWinding() accordingly. See http://blog.element84.com/polygon-winding.html
This may fix the problem.
What about adding this feature to nvg ?

@MikOfClassX  Hmm you are sure per-path nvgPathWinding not working? In any case you can simply revert path points (nanovg does same in nvg__polyReverse).

@lieff for sure pathwinding is working. But NVG may auto-detect path winding of each path section (ie. caching the points until CLOSE_PATH is reached, determining and setting the path winding, submitting the points to NVG as usual, going ahead to the end of the path points). There's no need to reverse path points at api level.
This will allow NVG to correctly render any generic path (i.e. a glyph ouline, etc) automatically.

It's impossible to autodetect pathwinding. There now way to know what application wants: draw all intersecting rects filled, or with holes at intersecting position. It's settable shape attribute (fill-rule="nonzero"/"evenodd" in svg).

The reason why the paths are always set CCW is that it simplifies the programmers job when doing visualisations using the API. You can specifically tell your intent, whether you're drawing a hole or not, and allows to combine solid shapes too. The pathwinding API allows to use the build in shapes as holes too *.
I think the readme has a mistake, it's using non-zero filling rule, not even-odd. Maybe it used to be different.
True type is using non-zero fill rule too, which means that you can determine the winding of a path before hand and pass it to NanoVG. Not all SVGs can be rendered correctly because of the fill rule.
Even-odd fill rule should be doable, it should be just matter of setting the stencil operation differently. I cannot remember why it is not in the API.
*) I think I got the API a bit wrong, it might make more sense to have it as draw state, like the fill color, not as a path command like it is now.

thanks @memononen . That's clarifying the whole lot.
I'm now going through my signed-area code and I'll let you know. Are you going to improve NVG ?
As a side project I'm also investigating NVPathRendering. Apart from being NVidia-centric (problem), it's really fully featured and allows me to achieve arbitrary shape clipping (by stencils) and use the current GL states to do some other cool stuff.

@memononen I did it! using areas for CCW detection and some nice code (Java, using LWJGL).
I wrote a little utility called Shape2NVG. It converts any Java2D shape into a NVG path.
The conversion is very robust and I can easily render any shape, including complex glyphs.

Now my suggestion for an api improvement is to have something like:
// batch a shape in one single call
nvgPath(int * codes, float * vertices, int * winding);
codes: the shape segment type codes [NVG_MOVE_TO, NVG_LINE_TO, .... NVG_CLOSE]
vertices: the vertices array {(x,y),... }
winding: the winding array. one element for every NV_CLOSE [SOLID || HOLE ]
Just my 2cents..

my code here:
http://forum.lwjgl.org/index.php?topic=6594.0

I am hitting a problem with the approach above in the case when the font has glyphs (say "O") whose outside path CW and inside CCW. In this case the outside shape is marked as hole and the rendering is not correct. The rendered shape is thicker by a pixel and has artifacts around the edges sometimes. I guess this is expected, based on the nvg's operation, since it is not given the right information.
Looking for suggestions on how that can be fixed. In such a case the glyph paths have to be reversed, but I am not sure how this can be detected in the general case.

@AndreyArsov on what filling rule this shapes rely in correct case? It may be correct case and big hole must completely hide smaller filled shape. About artifacts: try disable anti-aliasing, with it, I'm getting artifacts too, especially when shapes scaled.

@AndreyArsov can you post your java test code ? My SGLNanoVGUtil is working as expected for me.
There may be some unexpected issues however. Just create a test case and I'll give it a look.

here it is attached below.
I have added some path processing to the example code and it is in C. There is a pathstrO that has both shapes of the O glyph reversed. I can swap them, but this is how it is generated from the font.
The outside shape is wound CW, and the inside CCW.
Hope you can compile it, for me it does on VS2013/2015.
@lieff, yes disabling antialiasing should work, but the paths look not so good.
example_gl2.zip

Cool code. Are you sure the path string is correctly rendered with another rasterizer (i.e. NVPathRendering) ?

I am not familiar with NVPathRendering, but at the moment am trying to render the same with Skia.
Not as fun though trying to get skia working. Will report later.
@MikOfClassX, do you actually see the issue?

Here small sample of NVPathRendering https://github.com/lieff/lvg/blob/master/render/render_nvpr.c , Skia uses it internally too. It's fastest way on Nvidia cards.

I don't have nvidia card at the moment, and it looks like this code uses driver specific gl extension.
On skia the paths render though, but maybe using the even-odd fill rule, will verify further.


Test Rate limit

Some unit tests intermittently fail due to 403 Client Error: rate limit exceeded for url: https://api.github.com/repos/spyder-ide/spyder/releases.
Rate Limit Failure
=================================== FAILURES ===================================
__________________________ test_updates_appenv[1.0.0] __________________________

qtbot = <pytestqt.qtbot.QtBot object at 0x7efba47508e0>
mocker = <pytest_mock.plugin.MockerFixture object at 0x7efba4750940>
version = '1.0.0'

    @pytest.mark.parametrize("version", ["1.0.0", "1000.0.0"])
    def test_updates_appenv(qtbot, mocker, version):
        """
        Test whether or not we offer updates for our installers according to the
        current Spyder version.

        Uses UpdateManagerWidget in order to also test QThread.
        """
        mocker.patch.object(update, "__version__", new=version)
        # Do not execute start_update after check_update completes.
        mocker.patch.object(
            UpdateManagerWidget, "start_update", new=lambda x: None
        )
        mocker.patch.object(workers, "__version__", new=version)
        mocker.patch.object(workers, "is_anaconda", return_value=True)
        mocker.patch.object(workers, "is_conda_based_app", return_value=True)
        mocker.patch.object(
            workers, "get_spyder_conda_channel",
            return_value=("conda-forge", "https://conda.anaconda.org/conda-forge")
        )

        um = UpdateManagerWidget(None)
        um.start_check_update()
        qtbot.waitUntil(um.update_thread.isFinished)

        update_available = um.update_worker.update_available
        if version.split('.')[0] == '1':
>           assert update_available
E           assert False

spyder/plugins/updatemanager/tests/test_update_manager.py:60: AssertionError
------------------------------ Captured log call -------------------------------
DEBUG    spyder.plugins.updatemanager.widgets.update:update.py:166 Checking for updates. startup = False.
INFO     spyder.plugins.updatemanager.workers:workers.py:153 Checking for updates from https://api.github.com/repos/spyder-ide/spyder/releases
WARNING  spyder.plugins.updatemanager.workers:workers.py:182 403 Client Error: rate limit exceeded for url: https://api.github.com/repos/spyder-ide/spyder/releases
Traceback (most recent call last):
  File "/home/runner/work/spyder/spyder/spyder/plugins/updatemanager/workers.py", line 156, in start
    page.raise_for_status()
  File "/home/runner/micromamba/envs/test/lib/python3.8/site-packages/requests/models.py", line 1024, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: rate limit exceeded for url: https://api.github.com/repos/spyder-ide/spyder/releases
________________________ test_updates_appenv[1000.0.0] _________________________

qtbot = <pytestqt.qtbot.QtBot object at 0x7efba4750b50>
mocker = <pytest_mock.plugin.MockerFixture object at 0x7efba4750d30>
version = '1000.0.0'

    @pytest.mark.parametrize("version", ["1.0.0", "1000.0.0"])
    def test_updates_appenv(qtbot, mocker, version):
        """
        Test whether or not we offer updates for our installers according to the
        current Spyder version.

        Uses UpdateManagerWidget in order to also test QThread.
        """
        mocker.patch.object(update, "__version__", new=version)
        # Do not execute start_update after check_update completes.
        mocker.patch.object(
            UpdateManagerWidget, "start_update", new=lambda x: None
        )
        mocker.patch.object(workers, "__version__", new=version)
        mocker.patch.object(workers, "is_anaconda", return_value=True)
        mocker.patch.object(workers, "is_conda_based_app", return_value=True)
        mocker.patch.object(
            workers, "get_spyder_conda_channel",
            return_value=("conda-forge", "https://conda.anaconda.org/conda-forge")
        )

        um = UpdateManagerWidget(None)
        um.start_check_update()
        qtbot.waitUntil(um.update_thread.isFinished)

        update_available = um.update_worker.update_available
        if version.split('.')[0] == '1':
            assert update_available
        else:
            assert not update_available
>       assert len(um.update_worker.releases) > 1
E       TypeError: object of type 'NoneType' has no len()

spyder/plugins/updatemanager/tests/test_update_manager.py:63: TypeError
------------------------------ Captured log call -------------------------------
DEBUG    spyder.plugins.updatemanager.widgets.update:update.py:166 Checking for updates. startup = False.
INFO     spyder.plugins.updatemanager.workers:workers.py:153 Checking for updates from https://api.github.com/repos/spyder-ide/spyder/releases
WARNING  spyder.plugins.updatemanager.workers:workers.py:182 403 Client Error: rate limit exceeded for url: https://api.github.com/repos/spyder-ide/spyder/releases
Traceback (most recent call last):
  File "/home/runner/work/spyder/spyder/spyder/plugins/updatemanager/workers.py", line 156, in start
    page.raise_for_status()
  File "/home/runner/micromamba/envs/test/lib/python3.8/site-packages/requests/models.py", line 1024, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: rate limit exceeded for url: https://api.github.com/repos/spyder-ide/spyder/releases

What is the root cause of this and how do we resolve it?

I modified the test workflows for macOS, Linux, and Windows to report the rate limits. Following are excerpts from a failed Linux workflow:
16_Rate Limit Before Tests.txt
17_Run tests.txt
18_Rate Limit After Tests.txt
These show that before and after the tests are run, rate limits have not been exceeded. Nevertheless, the test fails due to an exceeded rate limit.
I conclude from this that the rate limit exceeded in the test is a "secondary" rate limit which is not reported in the rate limit queries.

Reference: https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28

So I've discovered a few things

There are no requests to github in our tests that are being counted against a rate limit except for those in test_update_manager.py. These amount to 12 requests: 2 for each test times 6 tests (1 macOS, 2 Windows, and 3 Linux).
The GITHUB_TOKEN was not passed to requests.get in the update manager worker, so the rate limit was counting against unauthorized users (limited to 60).
Passing the GITHUB_TOKEN to requests.get results in the expected 5000 limit and we see the counts incurred by the tests (see https://github.com/spyder-ide/spyder/actions/runs/9215667723/job/25354472458)
Unfortunately, both logging and warnings that report the rate limits from within the update manager call are not displayed in the CI logs. This is because these are displayed at the end of the test run which cut short when segfaults occur. Subsequent automated rerun of the test will not run the update manager test because it already succeeded.

But I think that the changes in this PR will fix the problem.
One thing I'm curious about is whether unauthorized user requests are counted against individual IP addresses or against the repository. If the repository, then we could have an issue if more Spyder instances in the wild are sending unauthorized user requests.

Oh yep, "Unauthenticated requests are associated with the originating IP address". Okay, I think we're good.

I think we were just hitting the 60 count limit by having multiple (~5) PRs running tests in close proximity.


Remove descriptions for multithreaded proof generation

Since multithreaded proof generation is not working yet, we should remove this from documentation, so nobody would try using it.
This is how it was described and how it was supposed to work:
To generate proof using the multithreaded version, execute the following:
cd build
./bin/proof-generator/proof-generator-mt \
    --proof_out <output file> \
    --circuit_input <statement from Proof Market>
    --public_input <public input from Proof Market> \
    --smp <number of threads>
    ----shard0-mem-scale <scale>

Proof computation requires temporary space, always allocated to core0/shard0.
The following flags require attention for multithreaded use:

smp - number of threads.
This is ideally the number of CPU cores on the system.
If you have a 16-core CPU & 16 GB RAM, you can set smp to 16.
Each core gets access to 1 GB of RAM, so core0/shard0 will have access to 1 GB of RAM.
shard0-mem-scale - weighted parameter (weight) to reserve memory for shard0.
This is a natural number that allows for shard0 to have more access to RAM in comparison to others.
If you have a 16-core CPU & 16 GB RAM, you can set smp to 8 and shard0-mem-scale to 9.

We first compute ram_per_shard variable as follows:
ram_per_shard = TOTAL_RAM / (smp + shard0-mem-scale -1)
              = 16 / (8 + 8)
              = 1

Which equates to the following:

shard0 RAM =shard0-mem-scale * ram_per_shard = 9 GB
shard1 .... shard7 = ram_per_shard = 1 GB/per core = 7 GB

You should tune these two variables for the architecture/circuit for which the proof is generated.
There's also a neat trick that we could recommend:
Linux
--smp $(nproc)
macOS
--smp $(sysctl -n hw.logicalcpu)
See for example:
https://github.com/NilFoundation/zkllvm/blob/master/.github/workflows/build_linux.yml#L105
https://github.com/NilFoundation/zkllvm/blob/master/.github/workflows/build_macos.yml#L77

Actually appears to be fixed by #71 in the docs, no appearances: https://www.google.com/search?q=site%3Adocs.nil.foundation+.%2Fbin%2Fproof-generator%2Fproof-generator-mt&client=firefox-b-d&ei=ScfHZPn8N7Wbi-gPvuSGiAw&ved=0ahUKEwi5xZ6FlrmAAxW1zQIHHT6yAcEQ4dUDCA8&uact=5&oq=site%3Adocs.nil.foundation+.%2Fbin%2Fproof-generator%2Fproof-generator-mt&gs_lp=Egxnd3Mtd2l6LXNlcnAiQXNpdGU6ZG9jcy5uaWwuZm91bmRhdGlvbiAuL2Jpbi9wcm9vZi1nZW5lcmF0b3IvcHJvb2YtZ2VuZXJhdG9yLW10SABQAFgAcAB4AJABAJgBAKABAKoBALgBA8gBAPgBAvgBAeIDBBgAIEE&sclient=gws-wiz-serp
However, we still need to fix this in all the READMEs - PMT's and zkLLVM's, for example


update GitHub Actions CI

The following updates are performed:

update actions/checkout to v3
replace unmaintained actions-rs/toolchain by dtolnay/rust-toolchain
replace unmaintained actions-rs/cargo by direct invocation of cargo

Still using the outdated / unmaintained actions will generate several warnings in CI runs, for example in https://github.com/untitaker/spacemod/actions/runs/4908503118:

Node.js 12 actions are deprecated. Please update the following actions to use Node.js 16: actions/checkout@v2, actions-rs/toolchain@v1, actions-rs/cargo@v1. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.

The PR will get rid of those warnings.

ty!


Intermittent devicemapper error when building images

Sometimes when I do docker build, I get this error:
INFO[0000] Error getting container
b26beb3a69f3ba809c57431206def5272db0e2b9d0326682682d6917d1fdf91c
from driver devicemapper: open
/dev/mapper/docker-253:1-135656-b26beb3a69f3ba809c57431206def5272db0e2b9d0326682682d6917d1fdf91c:
no such file or directory

I sometimes have to retry a few times before it works again.
monkey@marca-teamcity-agent:~/profileweb$ lsb_release -a
No LSB modules are available.

In the kernel info you can see "udev sync supported: false", this is because you are using the statically compiled binary... and without udev sync devicemapper is completely unreliable... to the point where in 1.6 docker even refuses to start unless you pass in a special flag when udev sync is not supported.

@cpuguy83: Thanks for investigating and taking he time to comment! To be honest, I don't think I have enough kernel/lxc/docker knowledge to understand, but I appreciate you taking the time to explain :-) and maybe if I do a bit of research and then come back to this it will make more sense to me. FWIW, I installed Docker by using this ansible module - https://github.com/angstwad/docker.ubuntu - I wonder if it's doing something wrong in the way it installs Docker? Perhaps you might want to file an issue if it's doing something wrong, as that might reduce the number of issues like this one?

By the way, this was with docker 1.6 (I think; certainly the first time it was, though that was a different system) and it didn't seem to prevent me from starting it.

It may not have made it into 1.6, but is in master.
Unfortunately the supported way to install Docker is from our repo, which uses the statically compiled binary, which breaks devicemapper.
I would suggest using either aufs (just need to install the kernel-extras package) or overlayfs.

@angstwad: Do you think that the angstwad.docker_ubuntu ansible role should install the kernel-extras package to avoid this problem?

@msabramo I've updated the role so this can be overridden with a variable, install_kernel_extras.

Thanks, @angstwad !


Slow Build

Hi, Whenever I change little thing gulp watch detect change and build start, last time it took about 3 min.
PS: I'm really new in gulp, so feel free to give me any suggestion. :)

This repo hasn't been updated for a while, you might be better of starting from the latest master of angular2-seed

ok thanks.


verifier: API template for additional actions added into verification process

guess we need serde(default) for post_actions to be added in build.rs


info about client configuration

Hi,
using sensuclassic, we can dynamically add subscriptions (sensuclassic::subscription), also with custom attributes, and write custom client config (sensuclassic:write_json).
In this way, we can include sensuclassic module in the "root" hostgroup with default subscriptions and client attributes (we use foreman as ENC), while leaving other subscriptions and custom attributes inside other modules (e.g. tomcat subscription is inside our tomcat puppet module). This is possible due sensu config hash merge.
How can we translate this in sensu go (subscription, label, annotation etc)? This is a crucial feature for us.
Thanks

Does Foreman ENC do any merging? Merging in the Puppet module isn't necessary as we just write out a hash from config_hash to agent YAML. Here you can specify subscriptions, labels and annotations. You could specify a default for top level hostgroup then change else where. If you used Hiera then be very easy to merge values, just not sure if Foreman supports it.
I will open PR to make setting important values like subscription a bit easier.

Also be useful to see example of Foreman ENC yaml for sensuclassic and some manifest code that illustrates the different places you're setting something like subscription.

Perhaps a profile class is in order to potentially lookup() and munge the data?

Just an example.
These are my modules.
mybasemodule/
├── manifests
    ├── init.pp

    # init.pp
    class mybasemodule {
        class { '::sensuclassic':
            <other client params here>
            subscriptions => ['all', 'linux'],
            client_custom => {
                'environment' => 'prod',
            },
        }
    }

myapachemodule/
├── manifests
    ├── init.pp

    # init.pp
    class myapachemodule {
        class { '::apache':
            server_signature => 'Off',
        }

        sensuclassic::subscription {'httpd': }
    }

In foreman I do the following (we are not using yaml):
include ::mybasemodule
include ::myapachemodule

This generate 2 config files: 1 for client and 1 for every subscription (sensu hash config merge will do the magic)
This allow us to dynamically add things (like subscription) without modify mybasemodule or its parameters

This is a fundamental change from Sensu to Sensu Go. The old way used files and you could deploy many files and they all got merged together. The new Sensu Go way is either defining agent config via a single YAML file or by modifying the agent's entity with sensuctl. The sensuclassic module approach simply is not possible with Sensu Go.
I have a few suggestions that could work.
One way is hacks on resource realization in Puppet:
mybasemodule
@sensu_entity { $facts['hostname']:
  ...
  subscriptions => ['base'],
}

myapachemodule:
Sensu_entity <| title == $facts['hostname'] |> {
  subscriptions +> ['httpd'],
}

The above will be challenging with the current module because we don't support a good way for agents to manage sensuctl resources. With #1164 you can install the CLI on agents. With future changes I will be adding support for using the Sensu Go API for managing resources so won't require sensuctl on the agent.
I have not tested using the sensu_entity resource to modify existing agent entities that are self registered. I don't know how that works when an entity has agent.yml with one list of subscriptions then another list is defined with sensuctl.
If you moved your ENC to Hiera this could be easily achieved with array lookups where common.yaml has base subscriptions then something like apache.yaml will contain the extra subscriptions. I do this on my deployments using Foreman's hostgroup as the value to define the hierarchy in Hiera. So the hostgroup base/apache would be able to exist in Hiera as base/apache.yaml if you add %{::hostgroup} into the hierarchy lookup. I rely on this extremely heavily in my Puppet deployments and works great. You then do lookup with unique to do array merging. The example below, the value for hostgroup comes from Foreman.
$subscriptions = lookup('sensu_subscriptions', Array, 'unique', [])
class { 'sensu::agent':
  config_hash => {
    'subscriptions' => $subscriptions',
  }
}

Then this is what I use in my hiera.yaml (condensed for simplicity):
hierarchy:
  - name: "Hierarchy (yaml version)"
    paths:
      - "fqdn/%{facts.fqdn}.yaml"
      - "hostgroup/%{::hostgroup}.yaml"
      - "common.yaml"

Then the actual data:
common.yaml
sensu_subscriptions:
  - all
  - linux

hostgroup/apache.yaml
sensu_subscriptions:
  - httpd

Because the Foreman hostgroups look like filesystem paths they allow nesting and work really well with Hiera.

Going to close in favor of issue opened with upstream Sensu Go. If more assistance is needed, feel free to re-open. Can open new issue if/when Sensu Go makes changes to better support this use case.

@bovy89 This was resolved in #1227 , docs here: https://github.com/sensu/sensu-puppet#advanced-agent---subscriptions


Rule137DoNotDeclareVariablesThatAreUnused ArgumentNullException with empty options

Describe the bug
A combination of an Option parameter with empty string and local variable declaration causing an ArgumentNullException in CodeCop.
To Reproduce
procedure AnalyzerException(someOptions: Option FirstOption,,LastOption): Boolean
var
    removeMeToRemoveExceptions: Boolean;
begin
    exit(removeMeToRemoveExceptions);
end;

The above procedure causes the following exception:
Analyzer 'Microsoft.Dynamics.Nav.CodeCop.Design.Rule137DoNotDeclareVariablesThatAreUnused' threw an exception of type 'System.ArgumentNullException' with message 'System.ArgumentNullException: Value cannot be null.
If you either remove the local variable OR give a proper name to the empty option, the exception disappears.
Exception
procedure AnalyzerException(someOptions: Option FirstOption,,LastOption): Boolean
var
    removeMeToRemoveExceptions: Boolean;
begin
    exit(removeMeToRemoveExceptions);
end;

NO Exception
procedure AnalyzerException(someOptions: Option FirstOption,SecondOption,LastOption): Boolean
var
    removeMeToRemoveExceptions: Boolean;
begin
    exit(removeMeToRemoveExceptions);
end;

NO Exception
procedure AnalyzerException(someOptions: Option FirstOption,,LastOption): Boolean
begin
    exit(removeMeToRemoveExceptions);
end;

Expected behavior
No exception in first example procedure.
Versions:

AL Language:
Name: AL Language
Id: ms-dynamics-smb.al
Description: AL development tools for Dynamics 365 Business Central
Version: 3.0.126610
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-dynamics-smb.al

Example app: AnalyzerException.zip

Try to use
someOptions: Option FirstOption,"",LastOption;

Well, it's not the option or the option values that are the problem, but rather the fact that something like that, which is valid code, must not lead to an exception without getting information about the code position. Fixing is our smallest problem.


how do you use it

i was looking around and could not find a way to enable it

Hi! Can you please elaborate on that? What do you mean how to enable it?

like using it where would I insert the code? Is it for personal websites only?

Okay, so this is an npm package, here's how you can get started with node.js and npm: https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
After you installed npm and initialised an npm project, you can consult the readme.md documentation to get started.
Or if you can't / don't want to use npm, we created a plain-js implementation, which you can just download and use as a script in your website.


Guide

Hi,
Could you please share the steps for executing the project?

hello， bro or sis. Did you solve the execute the code correctly? I need help too. @ @ @wangshy31


How can I disable capcha on runtime?

I am keeping track of invalid user signin attempts.
Initially, I don't want to show capcha.
When the count reaches 3, I want to show capcha until he types a correct password.
I am keeping track of this count.
I just want to know how to enable/disable this capcha at runtime.
Any help is greatly appreciated.
Thanks.

@san89kalp https://github.com/getsentry/sentry/blob/master/src/sentry/web/forms/accounts.py#L27


No such module 'Flurry_iOS_SDK'

**Describe the bug**
No such module 'Flurry_iOS_SDK'
This Bug is About
Please choose the closest item by replacing [ ] with [x].

[x] Analytics

Platform
Please choose the platform(s) that you are having the issue by replacing [ ] with [x].

[x]iOS

Environment
Please tell us the versions of Flurry SDK, XCode, and iOS you are using.

Flurry SDK: Latest
XCode:12.5
iOS:14.5

To Reproduce
Steps to reproduce the behavior:

import Flurry_iOS_SDK in AppDelegate.swift you  will get an error No such module 'Flurry_iOS_SDK'

Screenshots
Additional context
Are you using Flurry Push/Messaging?  No
(iOS) Are you using CocoaPods or manual binary integration? CocoaPods
Podfile

Uncomment the next line to define a global platform for your project
platform :ios, '14.5'
target 'FlurryDemo' do
Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
Pods for FlurryDemo
target 'FlurryDemoTests' do
inherit! :search_paths
# Pods for testing
pod 'Flurry-iOS-SDK/FlurrySDK' #Analytics Pod
end
target 'FlurryDemoUITests' do
# Pods for testing
end
end

**Podfile**
# Uncomment the next line to define a global platform for your project
 platform :ios, '14.5'

target 'FlurryDemo' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for FlurryDemo

  target 'FlurryDemoTests' do
    inherit! :search_paths
    # Pods for testing
pod 'Flurry-iOS-SDK/FlurrySDK' #Analytics Pod

  end

  target 'FlurryDemoUITests' do
    # Pods for testing

  end

end

@achakra21
You need to add the Flurry pod to your FlurryDemo target. So change your podfile as follows:
**Podfile**
# Uncomment the next line to define a global platform for your project
 platform :ios, '14.5'

target 'FlurryDemo' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # !!Pods for FlurryDemo!!
pod 'Flurry-iOS-SDK/FlurrySDK' #Analytics Pod

  target 'FlurryDemoTests' do
    inherit! :search_paths
    # Pods for testing
pod 'Flurry-iOS-SDK/FlurrySDK' #Analytics Pod

  end

  target 'FlurryDemoUITests' do
    # Pods for testing

  end

end

I am done the same but still getting same error

@achakra21
Please have a look at the following sample app: https://github.com/flurrydev/Flurry-iOS-core-analytics-sample-Swift
If you want to post your demo on github I will be happy to have a closer look.

I shutdown my computer then build the project in morning it started working , Strange !!! don't know what it did in between


⚠ ClamAV has degraded performance

In 5cedf70, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 91 ms

Resolved: ClamAV performance has improved in d61085b.


Sweep: Add zip code (✓ Sandbox Passed)

Description
This pull request adds a new "zip code" field to the Owner class and updates the createOrUpdateOwnerForm.html and ownerDetails.html templates to include the new field.
Summary

Owner.java: Added new "zipCode" field with corresponding getter and setter methods
createOrUpdateOwnerForm.html: Updated form to include input field for "zip code"
ownerDetails.html: Updated details table to display "zip code"

Fixes #5.

🎉 Latest improvements to Sweep:

New dashboard launched for real-time tracking of Sweep issues, covering all stages from search to coding.
Integration of OpenAI's latest Assistant API for more efficient and reliable code planning and editing, improving speed by 3x.
Use the GitHub issues extension for creating Sweep issues directly from your editor.

💡 To get Sweep to edit this pull request, you can:

Comment below, and Sweep can edit the entire PR
Comment on a file, Sweep will only modify the commented file
Edit the original issue to get Sweep to recreate the PR from scratch

Rollback Files For Sweep

[ ] Rollback changes to  src/main/java/org/springframework/samples/petclinic/owner/Owner.java
[ ] Rollback changes to  src/main/java/org/springframework/samples/petclinic/owner/OwnerRepository.java
[ ] Rollback changes to  src/main/resources/templates/owners/createOrUpdateOwnerForm.html
[ ] Rollback changes to  src/main/resources/templates/owners/ownerDetails.html

This is an automated message generated by Sweep AI.


Can not import tensorframes

Hi,
I am trying to load tensorframes from databricks using the following script but could not succeed so far. Can you please let me know what I am doing wrong?
`import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages com.databricks:tensorframes:0.2.3-s_2.10 pyspark-shell'
import pyspark
try:
import tensorflow as tf
import tensorframes as tfs
print("Tensorframes successfully imported")
except:
print("Failed to import tensorframes")
`

I think to load a Spark package from within Databricks there is a menu option

@sergulaydore you should be able to use tensorflatmes as a regular library in databricks, see this page: https://docs.databricks.com/user-guide/libraries.html
I am going to close this ticket for now, but let me know if you still encounter some issues.


How to add headers to request?

Hi,
I was wondering if it's possible to add headers when sending a request.  Internally, a specific header is needed to process the request before it hits slack. I took a look at the current API and tried looking for examples and couldn't figure it out.
The only thing that i saw that was usable was the setProxyHeaders but i'm not sure if this is the same thing that I'm looking for.

       SlackConfig slackConfig = new SlackConfig();
        Map<String, String> headers = new HashMap<>();
        headers.put("test", "token");
        slackConfig.setProxyHeaders(headers);
        slackConfig.setProxyUrl("url);

        Slack slack = Slack.getInstance(slackConfig);
        ChatPostMessageResponse response = slack.methods().chatPostMessage(req -> req
                .channel("notification")
                .text("Write one, post anywhere"));
        if (response.isOk()) {
            Message postedMessage = response.getMessage();
            System.out.println(postedMessage);
        } else {
            String errorCode = response.getError(); // e.g., "invalid_auth", "channel_not_found"
            System.out.println(errorCode);
        }

I also see this parameter which i'm not sure what the difference is
slackConfig.setMethodsEndpointUrlPrefix(url);

Thanks,
Derek

When i look at the code in SlackHttpClient, there doesn't seem to be a way to append headers in the request:
    public Response postFormWithAuthorizationHeader(String url, String authorizationHeader, FormBody formBody) throws IOException {
        Request.Builder rb = new Request.Builder().url(url).post(formBody);
        try {
            // may throw an IllegalArgumentException saying
            // "Unexpected char 0x0a at 23 in Authorization value: Bearer ..."
            rb = rb.header("Authorization", authorizationHeader);
        } catch (IllegalArgumentException e) {
            throw new IllegalArgumentException("Invalid value detected for Authorization header");
        }
        Request request = rb.build();
        return okHttpClient.newCall(request).execute();
    }

Would it be possible to just update SlackHttpClient with a setHeaderFields so that we are able to inject headers into the request.  So whenever we build a request postFormWithAuthorizationHeader or any of the get or post method we just add it to the method?

Hi @darewreck54, thanks for writing in!
The proxy headers are used only for connection establishment with a proxy server in front of the outgoing internet. The common purpose is for HTTP server authentication.
Does your proxy server or some infrastructure require any of your outgoing HTTP requests to have a specific custom header not only for Slack? If so, the only way to do so is to have an OkHttpClient intercepter as below:
import com.slack.api.Slack;
import com.slack.api.SlackConfig;
import com.slack.api.methods.response.api.ApiTestResponse;
import com.slack.api.util.http.SlackHttpClient;
import com.slack.api.util.http.UserAgentInterceptor;
import okhttp3.OkHttpClient;
import okhttp3.Request;

import java.util.Collections;
import java.util.concurrent.TimeUnit;

public class Test {
  public static void main(String[] args) throws Exception {
    // Slack API client configuration
    SlackConfig config = new SlackConfig();

    // Manually build an OkHttpClient instance
    final OkHttpClient.Builder okHttpClient = new OkHttpClient.Builder();
    okHttpClient.addInterceptor(new UserAgentInterceptor(Collections.emptyMap()));

    // Append a custom request header to an HTTP request
    okHttpClient.addInterceptor(chain -> {
      Request modifiedRequest = chain.request().newBuilder()
          .header("My-Custom-Header", "ABC")
          .build();
      return chain.proceed(modifiedRequest);
    });

    // Copy necessary initialization from SlackHttpClient#buildOkHttpClient()
    if (config.getHttpClientReadTimeoutMillis() != null) {
      okHttpClient.readTimeout(config.getHttpClientReadTimeoutMillis(), TimeUnit.MILLISECONDS);
    }
    if (config.getHttpClientWriteTimeoutMillis() != null) {
      okHttpClient.writeTimeout(config.getHttpClientWriteTimeoutMillis(), TimeUnit.MILLISECONDS);
    }
    if (config.getHttpClientCallTimeoutMillis() != null) {
      okHttpClient.callTimeout(config.getHttpClientCallTimeoutMillis(), TimeUnit.MILLISECONDS);
    }

    SlackHttpClient slackHttpClient = new SlackHttpClient(okHttpClient.build());

    // Manually initialize SlackHttpClient and pass it to Slack instance
    Slack slack = Slack.getInstance(config, slackHttpClient);
    ApiTestResponse response = slack.methods().apiTest(r -> r.foo("bar"));
    System.out.println(response);
  }
}

As far as I know, this is not a common use case while having proxy headers is required for common use cases. Thus, we are not planning to add a new option to SlackConfig at this point. Please consider going withe the above approach.
I hope this was helpful to you!

@darewreck54 Was my above response helpful to you? Let us know if you have any follow-ups here. If we don't hear back for a few more days, we will close this issue due to inactivity.

Yeah it was super helpful. It worked. Thanks!!
Get Outlook for iOShttps://aka.ms/o0ukef

From: Kazuhiro Sera @.>
Sent: Thursday, November 11, 2021 8:56:37 PM
To: slackapi/java-slack-sdk @.>
Cc: Derek @.>; Mention @.>
Subject: Re: [slackapi/java-slack-sdk] How to add headers to request? (Issue #884)
@darewreck54https://github.com/darewreck54 Was my above response helpful to you? Let us know if you have any follow-ups here. If we don't hear back for a few more days, we will close this issue due to inactivity.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/slackapi/java-slack-sdk/issues/884#issuecomment-966820709, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AD3MFTT6AGW4EY22ZSYEL53ULSNALANCNFSM5HPCHVXQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

It's great to hear that! Let us close this issue now 👋


[Release-1.0] Setup proper error logging

We should find a cool error logging system that could with firebase and our functions

https://cloud.google.com/error-reporting/docs/reference/libraries

@LeviHarrison -
So given the hype around Sawmill today, would you be open in collabing on an independent Golang logging package? If anything we can just keep it in our current repo? haha

Sure! I'm not really certain how much I can add to any Golang project with my meager skills in the language, but I think it would be really fun to give it a try.

@all-contributors please add @LeviHarrison for code

Legit can't believe this is done haha. Thanks for all the hard work! CONGRATS!!!


Put the PHOTO_URL variable in the constants file, not in the .env file

Change it.
https://github.com/kaidewu/portfolio-reflex/pull/13


[ERROR] [Entrypoint]: mariadbd failed while attempting to check config

Hi SoftCreatR,
first of all, thanks a lot for your work, but i ran into some errors.
MariaDB won't start. Any idea, how to resolve this?

Maybe a problem with docker desktop on Windows. I'll check that.

works now! =) Thanks!


Focusing by clicking the canvas, while hovering a sprite, stops the hover interaction until the pointer is moved.

Expected Behavior
The hover interaction is never lost, if the pointer hovers a sprite.
Current Behavior
Focusing by clicking the canvas, while hovering a sprite, stops the hover interaction until the pointer is moved.
Possible Solution
Setting renderer.plugins.interaction.mouseOverRenderer = true; on focus of the canvas used by the renderer.
Steps to Reproduce

Create a PIXI.Application/PIXI.WebGLRenderer.
Render an interactive sprite.
Somehow lose focus of the view canvas, or don't have it in the first place.
Focus by clicking while hovering the interactive sprite

Environment

pixi.js version: 4.8.1
Browser: any recent browser
Device: Desktop

Hi @wilcobrouwer
Would it be possible to create a quick fiddle for this please to demonstrate, then I'll get on to take a look :)

i don't have this issue, if a turn false rendering and visible a sprite was hover another and my mouse are hover those!, the sprite below will executed hover event.
Like themoonrat say a fiddle can't help, but on my side i don't have this issue.

@themoonrat I'm not sure of how to include the latest version of Pixi in a fiddle, could you point me toward a good approach of doing so? Fiddle.js appears to just offer Pixi 3.x and Pixi 4.0.0 out of the box.

Use https://pixijs.download/release/pixi.js as the url for an external resource.


import "runtime/internal/sys" error (Windows 10, WSL Ubuntu 18.04)

What version of Go are you using (go version)?
go version go1.13 linux/amd64
What operating system and processor architecture are you using (go env)?
Windows 10, WSL (Ubuntu 18.04)
I replaced the username with "user" in all paths below.
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/user/.cache/go-build"
GOENV="/home/user/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/user/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build893793221=/tmp/go-build -gno-record-gcc-switches"
What did you do?
import "runtime/internal/sys" // sys

What did you expect to see?
system architecture
What did you see instead?
failed import
error executing "/usr/local/go/bin/go build -buildmode=plugin" in directory "/home/user/go/src/gomacro.imports/runtime/internal/sys/": exit status 1

You can't import internal packages unless they're your internal packages.
See https://golang.org/doc/go1.4#internalpackages

You can use import "internal/sys" in a source file installed as .../go/src/runtime/yourfile.go, or for Windows-specific code .../go/src/runtime/yourfile_windows.go.
That requires special build instructions for anyone building your app, and may need to be re-installed after Go upgrades. But patching the runtime/stdlib is necessary in some cases.


parquet.thrift refers to wrong releases for the new compressions

parquet.thrift contains the following:
/**
 * Supported compression algorithms.
 *
 * Codecs added in {color:red}2.3.2{color} can be read by readers based on {color:red}2.3.2{color} and later.
 * Codec support may vary between readers based on the format version and
 * libraries available at runtime. Gzip, Snappy, and LZ4 codecs are
 * widely available, while Zstd and Brotli require additional libraries.
 */
enum CompressionCodec {
  UNCOMPRESSED = 0;
  SNAPPY = 1;
  GZIP = 2;
  LZO = 3;
  BROTLI = 4; // Added in {color:red}2.3.2{color}
  LZ4 = 5;    // Added in {color:red}2.3.2{color}
  ZSTD = 6;   // Added in {color:red}2.3.2{color}
``}
In reality, there was no 2.3.2 release. These compression codecs were added in version 2.4.
Reporter: Zoltan Ivanfi / @zivanfi
Assignee: Zoltan Ivanfi / @zivanfi
Related issues:

Release Parquet format 2.5.0 (blocks)

PRs and other links:

GitHub Pull Request #87

Note: This issue was originally created as PARQUET-1242. Please see the migration documentation for further details.

Zoltan Ivanfi / @zivanfi:
Issue resolved by pull request 87
https://github.com/apache/parquet-format/pull/87


Azure.Data.Tables SDK

It looks like the SDK library Microsoft.Azure.Cosmos.Table is also deprecated in favor of Azure.Data.Tables:

The Azure Tables client library can seamlessly target either Azure Table storage or Azure Cosmos DB table service endpoints with no code changes.

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

ID: 2cd9a43c-1db8-eed4-5c76-4206c639c8ec
Version Independent ID: 22eb758f-6247-ab43-76c3-30982b5c9282
Content: Introduction to the Azure Cosmos DB Table API
Content Source: articles/cosmos-db/table/introduction.md
Service: cosmos-db
Sub-service: cosmosdb-table
GitHub Login: @SnehaGunda
Microsoft Alias: sngun

@aelij  Thank you for your feedback . We are reviewing this and will get back shortly.

@Oury-MSFT why was this closed?

Sorry for the miscommunication. Let me know if you need anything from our end. Thanks

@SnehaGunda  Eli Arbel recently received a communication from Cosmos DB about the deprecation of the v2 SDK, which both the packages in the current docs depend on. Looks like we should update the guidance to use Azure.Data.Tables instead. Please let me know if ay help is needed from my end to update the doc. Thanks

@aelij Thanks for the feedback, I made some updates in the above PR. Changes will go live today. Closing this issue now.
#please-close


Composed look null values

This request revolves around the fact that when a new PWA project is created the "Current" composed look has null values for all of the fields, this request basically introduces some extra checks to ensure values are not null before being used as a comparison.

Similar capability has been added via other merged PR. Please let us know if you can still repro the issue. I'll close this PR now.


fields cvv, cardNumber and expirationDate added to sanitization + tests ...

...+ phpStorm gitignore cofniguration

As this is a pretty old issue and I think that it would be better to not duplicate the logic to handle sanitization on each SDK, I'm going to close it. With version 2.0 (which is still in development at the time of writing) we have introduced the concept of middlewares, so you can customize the data being sent before it leaves your application. Also, you could have a look at the Relay project which is a proxy which stands between the SDKs and the Sentry server and does the sanitization


Breaking Change: Update loadTemplate to take custom filters

@alpmestan I took one shortcut in the design and hope that's ok. I noticed Templates was used in lots of different places -- including directory traversal output, etc.
I did not find an easy way to update them all so I modified the MVar to take TemplatesAndFilters, which contains the filters and templates.  Let me know if my approach is not something you would recommend.
I have also updated the example file and added example output in the comments.

Thanks a lot! I'll bump the version and release this to hackage :+1:

Just uploaded 0.6 to hackage


init process api

This is a first step towards #454.
The goal of this patch is to extend the functionality of init
processes inside each container. The extension consist of 2 points:

Await and communicate the exit status of every child process.
Currently, init only awaits for the single process that is specified
in the container manifest.

Spawn new processes at command. This will allow in the future to
execute new processes inside the container using exec.

Closing because contained in #489


Links don't work in Firefox or Firefox Development Edition

Problem
Will do my best to describe the issue.  The SSL certificate has never worked for me, however I'm able to start developing with the local server after I go through the recommended SSL steps and then click on and confirm exception for all 4 links in the console after yarn start.
In both Firefox and FF Developer Edition, clicking on any anchor links will only refresh and lead to the home page.  In Chrome, I can navigate correctly through the site.
I'm using the latest version of Slate.
Cheers

Given you have everything installed correctly, when you run ssl-check you might see some output that it was unable to place the cert in Firefox in the mkcert CLI output.
You can try mkcert -install and reference maybe this article
This isn't a Slate issue its a security issue in Firefox you need to work around.


Add dark mode

Hi, I observed that the website currently does not have a dark mode, which can be a valuable feature for enhancing user experience. Dark mode helps in reducing eye strain, especially in low-light environments or during nighttime browsing. It also contributes to better visibility and overall comfort for users who prefer a darker interface. I would like to implement this feature to ensure that the website is more accessible and user-friendly, catering to different preferences and improving the overall usability.
Please assign this to me under Hackoctoberfest'24

Hi @nidhi752, thanks for the suggestion. I've added and then removed dark mode a few times, therefore I'm going to pass on adding it again.


Fix issue with id not being prefixed

The issue is caused when you use a MultiSelectFilter: Column 'id' in where clause is ambiguous. This fix prefixes the id column correctly.

Thanks!


Add italian translation. Resolves #4 issue

Thanks! Let me know the link of your app in the Snips App Store, then I'll add the link to the README.


Add platform attribute to Split

Can't actually define the list of these in split - it's on the fly per split/feature, rather than defining a segment based on attributes. This is very annoying, as we cannot predefine segments based on custom attributes and have to repeat this every time we set up a new feature flag...


Added French translation

Hey @pankee : should have specified; we want an fr: in the root of these files, as we have es: here:
https://github.com/gdpelican/babble/blob/master/config/locales/client.es.yml

Wow, no idea how I missed that.
My bad, it's fixed now.

Looks great; thanks again!


OptionButton's Items are saved before pressing OK

Godot version:
3.2.1.stable
OS/device including version:
Windows 10 Home 1909
Issue description:
If you add change an item of an OptionButton, it is saved, changed before you pressed the OK button. If you then decide the item should not be changed/added, you would press the x button at the top right corner. I think there should be a Cancel Button next to the OK button. https://github.com/godotengine/godot-proposals/issues/1020
Steps to reproduce:
Create a scene with root node OptionButton. Press the item button. Click the "+Add" button. Press the x Button.
Minimal reproduction project:

Not possible.

Since you already made a proposal, I will close this issue.


Compatibility with Robot Framework 3.2.2

Latest stable release of RF is 3.2.2,
but requirements.txt states "robotframework>=3.0.4,<=3.2.1".
Is there a specific reason for the constraint, or can requirements.txt be updated to include 3.2.2?

The question was already asked in the Issue https://github.com/GDATASoftwareAG/robotframework-flaui/issues/6.
The plan was also to update the versioning of the robot framework to 3.2.2, as this does not cause any problems with the library.
I think I will just create a hotfix release for the Requirments.txt and update it.


[Fix] Fix file extension detection #CU-z41u1q

For broader context please take a look here: https://app.clickup.com/t/z43k1r
TL:DR
Sometimes we were struggling with generating the name for the downloaded file and would end up with a name like .pdf which has been fine until recently
OTP 23

Path.extname(".pdf") # => ".pdf"

OTP 24

Path.extname(".pdf") # => ""

To deal with this issue, if for whatever reason, we cannot generate the name but still can extract file extension, we will simply generate a random name for the file.

Good Job! 🍻 Maybe updating CHANGELOG file would be also beneficial.

Yes, I've bumped the version in this PR by accident. I plan to bump this in a separate commit + update changelog. I've reverted the version bump in this PR.
cc @Skoda091