🐛 | MOPIDY-Spotify is not installed

Bug
Hello all, I tried to install the phoniebox software several times with different Raspberry OS. (Currently Buster lite) Unfortunately i always have the same error (see below) with Mopidy-spotify and neither mp3 are playing nor Spotify can be connected. I have a spotify-family account (hope thats no problem).
What I did
Fresh installation of BUSTER lite
configuration and tests of Sound and RFID working
Several errors during installation:
What happened
Generating locales (this might take a while)...
  en_GB.ISO-8859-1... done
  en_GB.UTF-8... done
Generation complete.
Warning: apt-key output should not be parsed (stdout is not a terminal)
OK
**W: GPG error: https://apt.mopidy.com buster InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 78FD980E271D2943
E: The repository 'https://apt.mopidy.com buster InRelease' is not signed.
E: Unable to locate package libspotify-dev
Cloning into 'RPi-Jukebox-RFID'...
Installing dependencies for Spotify support...
Package: mopidy
Pin: version 3.*
Pin-Priority: 1001
Warning: apt-key output should not be parsed (stdout is not a terminal)
OK
W: GPG error: https://apt.mopidy.com buster InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 78FD980E271D2943
E: The repository 'https://apt.mopidy.com buster InRelease' is not signed.
E: Unable to locate package mopidy-mpd
E: Unable to locate package mopidy-local
E: Unable to locate package mopidy-spotify
E: Unable to locate package libspotify12
E: Unable to locate package python3-spotify
Installing additional Python packages...
fatal: remote error:
  The unauthenticated git protocol on port 9418 is no longer supported.**
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
Command "git clone -q git://github.com/lthiery/SPI-Py.git /tmp/pip-install-j76eb_jt/spi-py" failed with error code 128 in None
Configuring Samba...
Configuring web server...
already enabled
Run "service lighttpd force-reload" to enable changes
already enabled
Run "service lighttpd force-reload" to enable changes
### Deleting older versions of service daemons. This might throw errors, ignore them
Failed to disable unit: Unit file idle-watchdog.service does not exist.
Failed to disable unit: Unit file rfid-reader.service does not exist.
Removed /etc/systemd/system/multi-user.target.wants/phoniebox-startup-sound.service.
Failed to disable unit: Unit file gpio-buttons.service does not exist.
Failed to disable unit: Unit file phoniebox-rotary-encoder.service does not exist.
Failed to disable unit: Unit file phoniebox-gpio-buttons.service does not exist.
rm: cannot remove '/etc/systemd/system/rfid-reader.service': No such file or directory
rm: cannot remove '/etc/systemd/system/startup-sound.service': No such file or directory
rm: cannot remove '/etc/systemd/system/gpio-buttons.service': No such file or directory
rm: cannot remove '/etc/systemd/system/idle-watchdog.service': No such file or directory
rm: cannot remove '/etc/systemd/system/phoniebox-rotary-encoder.service': No such file or directory
rm: cannot remove '/etc/systemd/system/phoniebox-gpio-buttons.service': No such file or directory
### Done with erasing old daemons. Stop ignoring errors!
Configuring Spotify support...
Synchronizing state of mpd.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable mpd
Failed to enable unit: Unit file mopidy.service does not exist.
Generating locales (this might take a while)...
  en_GB.ISO-8859-1... done
  en_GB.UTF-8... done
Generation complete.
cp: cannot create regular file '/etc/mopidy/mopidy.conf': No such file or directory
sed: can't read /etc/mopidy/mopidy.conf: No such file or directory
sed: can't read /etc/mopidy/mopidy.conf: No such file or directory
sed: can't read /etc/mopidy/mopidy.conf: No such file or directory
sed: can't read /etc/mopidy/mopidy.conf: No such file or directory
sed: can't read /etc/mopidy/mopidy.conf: No such file or directory
Configuring MPD...
mpd error: Connection refused
Starting dhcpcd service...
Synchronizing state of dhcpcd.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable dhcpcd
Setting owner and permissions for directories...
amixer: Control default element write error: Operation not permitted

#
# INSTALLATION FINISHED

I expected this to happen
Can please somebody help with a workaround or fix? thank you! I've searched a lot and cannot find any solution. Thank you!
Further information that might help
'journalctl -u mopidy' ( Spotify edition only)
-- Logs begin at Wed 2022-05-11 20:17:01 BST, end at Wed 2022-05-11 21:42:30 BST. --
-- No entries --
Software
Base image and version
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
Branch / Release
On branch master
Your branch is up to date with 'origin/master'.
Installscript
cd; rm buster-install-*; wget https://raw.githubusercontent.com/MiczFlor/RPi-Jukebox-RFID/master/scripts/installscripts/buster-install-default.sh; chmod +x buster-install-default.sh; ./buster-install-default.sh
Hardware
RaspberryPi version
Raspberry Pi 3 Model B Plus Rev 1.3
RFID Reader
16c0:27db HXGCoLtd Keyboard`
Soundcard
Behringer UCA202
Other notable hardware

This should fix the issue https://github.com/MiczFlor/RPi-Jukebox-RFID/pull/1792
But this is not yet in the latest release.

any hint when the next release will include this patch?
As the readme specifies that Spotify is not supported anymore, maybe one could simply remove these dependencies?

IMPORTANT NOTICE REGARDING SPOTIFY INTEGRATION
Spotify has disabled access to libspotify on May 16, 2022. This means Phoniebox can not communicate with Spotify via libspotify (and mopidy-spotify) anymore. The problem is not our code but the cut off by Spotify.

This is a duplicate of #1815.
Please follow the thread and possible solutions there.
I close this issue now as a duplicate, but feel free to reopen it.


InputAttributes doesn't work

Describe the bug
InputAttributes on MatTextField does nothing, no values are set, no errors thrown
To Reproduce
Steps to reproduce the behavior:
Set InputAttributes
Expected behavior
InputAttributes sets values as it's supposed to

Just ran in to this as well. Instead of using InputAttributes, use Attributes.  InputAttributes seems to only be for the check box component.

@Kylar182 ,
Per @jrhodnik , is this still an issue or can this be closed?

@Kylar182 ,
Per @jrhodnik , is this still an issue or can this be closed?

I think it's  more an issue of documentation I guess, I ended up using a workaround but the documentation should at least be updated

@Kylar182 ,
Per @jrhodnik , is this still an issue or can this be closed?

I think it's more an issue of documentation I guess, I ended up using a workaround but the documentation should at least be updated

Would you be willing to open a PR?


--show-output (and related options show nothing in column 2) when using DefaultInfo with default_outs

I'll caveat this with the comment that I'm very new to playing with buck2, so it's possible I'm doing something wrong or have incorrect expectations.
While building some .bzl files to support a build flow I noticed that if I have rule returning a DefaultInfo(default_outs=<someList>) the --show-output command when doing buck2 build shows nothing in the 2nd column of the output, whereas I think it should show the outputs list? This is true for the other show output commands as well (full, json etc) ie none of these show the output information either.
If i change the return to do DefaultInfo(default_out=<someList>[0]) ie just picking the first element in the list, the --show-output command shows the expected info in the 2nd output column.
Is it expected that nothing is shown when DefaultInfo uses default_outs?

I don't think we really know to be honest. The possibility of having multiple outputs was added to buck2 because we thought it was generally a good idea. However, based on something I heard from @cjhopman , we never really used it internally because it turned out that too much stuff broke if --show-output returned more than one output. Instead, we've mostly gone with subtargets to make any additional outputs available.
The result of that is that the "multiple outputs" support is only partially complete, and I don't think we ever fully figured out what we want from it. If you want to stay on the well-trodden path, not using it would probably be your best bet. On the other hand, the fact that this isn't really figured out yet also means that we'd be happy to take PRs that build this support out and clarify how things should work
This particular example is, I think, just a bug


RJS cleanups

Cleanup RJS
Common goal of the commits here: Trying to limit the number of different render :update actions so that we can get rid of RJS.
Please, review commit by commit, each cleans a simple enough bit of code.

@mzazrivec darga yes or no?

@chessbyte Not for darga.


Allow tuple destruction in anonymous function

A reasonable implementation would probably use patterns there, as we would want to allow also nested tuples, etc.
But patterns do not parse casts at the moment it seems (and they would be required for function arguments):
val f : int option -> int
(*@ r = f x
    requires match x with
             | Some (y:int) -> y >= 0
             | None -> true *)


Fixed word wrap so table is not wider than page

Updated the css so pr titles will wrap mid-word if a word is so long it would make the table wider than the page. It only wraps on long words and only the title column is affected (long usernames aren't wrapped).
Tested on Latest Safari, Chrome and FirefoxESR
Before and after screenshots of the pr title that was causing the issue currently:

@JoshRosen here's a fix for the issue I found after #78 It was a quick fix

Do you think that we should set a minimum width on the title cell? I've noticed that it can look really funny if you make the window small enough:

I'll look into that, it might be that leaving it 'as is' is the better course of action in the end.

I added a fix but while testing I realized that none of my fix works on Firefox like I thought, I'm not sure why I thought it did before. So if we want a fix for Safari and Chrome and left it a little off for FF (and IE/Edge?) this will work. Otherwise I say leave it as is for all of them.

@JoshRosen just checking in in case you missed my update

@JoshRosen just checking in since the site is still using my old code

Just updated the site to use this PR's updated code. This looks good to me, so I'm going to merge this PR now. Thanks for fixing this!


Speakers list is empty for elections

create a new election with 2 persons to be elect
select 3 candidates
click on "List of speakers"

result: the speakers list is empty. This is a regression to OS 2.0 where the candidates were automatically put on the speakers list. It is easier to remove a few persons from this list in case they are not present etc. than to add almost all candidates to the list. So if possible the behavior of OS 2.0 should be restored.

You have to create a ballot first. Then all candidates are added to the list of speakers. Can you confirm this?

You have to create a ballot first. Then all candidates are added to the list of speakers.

This works but this is strange behavior because normally persons speak before the election begins. So starting the ballot before is very unintuitive. The behavior of OS 2.0 was better: add all selected candidates automatically to the speaker's list.

@donovaly Is it ok for you to move this improvement to 2.2?

Is it ok for you to move this improvement to 2.2?

OK. I thought however that is easy to fix.

You have to create a ballot first. Then all candidates are added to the list of speakers.

This is now described in the docs.

I reject my wish. I described in the docs that one has to start the ballot to fill the speaker's list. It is maybe unintuitive but has the advantage that one starts when one can be sure that the list of candidates is fixed.

This bug has a milestone. The milestone can be removed because nothing will be done (WONTFIX or is no real bug).


State getting reset between shared modules

I feel like this example is a little misleading: https://github.com/zeit/next.js/tree/01da6f47614041cac56587078bfc19d7cc28c238/examples/shared-modules
I was expecting the component to be able to keep its state between route transitions. But when I try the following it gets blown away with every Router transition.

Is this expected behavior or a bug?

This is a bug. We need to fix this.

Okay. I was confused. This is the intended behavior.
Here's our counter code:
import React from 'react'

let count = 0

export default class Counter extends React.Component {
  add () {
    count += 1
    this.forceUpdate()
  }

  render () {
    return (

Count is: {count}

        <button onClick={() => this.add()}>Add</button>

    )
  }
}

Basically, here we share the above module across pages. So, the example is to the point.
But in your case, you are trying to the share the react instance. It's not going to work because that's two different pages. It's not a bug or something unusual. That's how React works.
Basically, you need to use some kind of state management solution like Redux or Mobx.

Sorry, I should have explained that better. That makes sense. Thank you for the quick reply!


Crash while browsing root

When I try to browse the root-only partitions the application crashes after loading the contents. Both the Github release and Windows Store versions crash. My phone is running rooted LineageOS 15.1 (Android 8.1.0) for S7 Edge.

This is probably related to the symbolic links, and has already been addressed in previous issues, and fixed, although I haven't released a version with the fix yet.

Thanks. I have seen #213 and #214 but was wondering why it wasn't working on my pc.


Allow semicolon separator

When I cut and paste an address list from Outlook it comes in with a semicolon delimiter like this:
"Smith, Alice"<EMAIL_ADDRESS>"Jones, Bob"<EMAIL_ADDRESS>
So I'd like it if email-addresses would tolerate either a , or ; separated list.  But currently it requires a comma-separated list.
I would just blindly replace semicolons with commas, except that I'm worried about semicolons appearing in quoted names, so it would be best if they would get parsed properly by email-addresses.

Note to whoever wants to do this: this can already be done by parsing with parseAddressList() and partial: true.

Accumulate the parsed addresses
Take the remaining substring after the matched results
if empty, break
if it starts with a wanted separator (;), continue. Otherwise, fail
restart this loop by calling parseAddressList() again with the remaining substring

Happy to accept a PR that adds an option for the address-list production to use , or ; as a delimiter instead of just ,.


Add queueing to ObserveOnObservable to fix issue #185

Add a queue to ObserveOnObservable<T>.ObserveOn_ to fix #185
Shouldn't cause much overhead when events are happening slower than what they are processed.
Not extensively tested, but I found #185 to be really nasty...

Thank you.
But ISchedulerQueueing is optimize option of ObserveOn, gurantee queing delegate to schedulers.
We should not change class ObserveOn_ implements.
We have two options.

Fix class ObserveOn(not class ObserveOn_) to use queue
Fix ThreadPoolScheduler.ISchedulerQueueing to use queue or more optimized implement

Thanks for the feedback.
I don't think it would make sense to implement the queueing in ThreadpoolScheduler, as it would require keeping around state for each stream. Otherwise you would be limiting the parallelism to one thread running at a time.
Looking at the official Rx implementation, there's a type ScheduledObserver<T>, which keeps a similar queue: https://github.com/Reactive-Extensions/Rx.NET/blob/371c83c621562a2259580a03f0cb5bf8680ea720/Rx.NET/Source/System.Reactive.Core/Reactive/Internal/ScheduledObserver.cs#L309
I believe modifying ObserveOn would only require adding the busy flag and ProcessNext functionality to match what I have in this PR, and indeed, make ThreadPoolScheduler not implement ISchedulerQueing.

Closing in favour of https://github.com/neuecc/UniRx/pull/191


If am not getting wrong, is this all?

First, on server:
bore server

then local:
bore local 5000 --to mydomain.com --port 8080

that's all? No yaml? No toml? No any other configurations?

That's correct, you'll need to add an A record on the server though.


[Theme Request] Senko (Sewayaki Kitsune no Senko-san)

Who/What do you want to be featured?
Senko from Sewayaki Kitsune no Senko-san.
What do they look like?

What type of theme?

[X] Light Theme
[ ] Dark Theme

Additional Information (Optional)
Senko is the best! This description of the show explains why it is perfect for overworked programmers.

Like many hardworking members of the workforce, Kuroto Nakano is perpetually stressed out by his job. Still, since he lives alone, he must carry on to sustain himself. Little do humans like Kuroto know, this stress takes the form of darkness residing within a person's body and will bring one's life to ruin. Fox deities can see this darkness and have the duty to save people before it is too late. To help rid Kuroto of his stress, Senko-san, an eight hundred-year-old foxgirl, volunteers to take care of him, and will do everything she can to ease the tension in his weary soul.

There are times I wish I had a fox demigod to pamper me.
I would love to have a Senko Theme, but I only discovered her after I made a bunch of yellow themes and White & red themes.

If I come up with a unique way to create a theme based off of Senko, I'll add her. I'm going to try something new for some other themes, and maybe that might make a case to add Senko.

For Senko, it could be a dark based theme, like Megumin one, using Yellow as detail color


How to mock method with by-name parameter

If you want to discuss a new feature, please ignore/clear this form.
ScalaMock Version (e.g. 3.5.0)
3.5.0
Scala Version (e.g. 2.12)
2.13.6
Runtime (JVM or JS)
JVM
Reproducible Test Case
Please provide a minimised code snippet that fails, ideally, written as a failing test case in ScalaTest.
This will help us a lot in diagnosing the problem and work on a fix.
If the issue is more complex or requires configuration, please provide a link to a project on Github that reproduces the issue.
The following test runs and passes:
package org.example

import cats.effect.IO
import cats.effect.unsafe.implicits.global
import org.scalamock.scalatest.MockFactory
import org.scalatest.funsuite.AnyFunSuite
import org.scalatest.matchers.should

class ScalaMockSpec extends AnyFunSuite with should.Matchers with MockFactory {
  test("ScalaMock") {
    trait Logger {
      def info(message: => String): IO[Unit]
    }

    val logger = mock[Logger]

    (logger.info _: (=> String) => IO[Unit])
      .expects(*)
      .returning(IO.unit)

    Console.println(s"${logger.info("").unsafeRunSync()}")
  }
}

https://github.com/andreisilviudragnea/scala-playground/blob/main/src/test/scala/org/example/ScalaMockSpec.scala
How can I mock the logger.info call to expect a specific String as input (or any other matcher apart from *)?
I tried doing something like this:
  test("ScalaMock5") {
    trait Logger {
      def info(message: => String): IO[Unit]
    }

    val logger = mock[Logger]

    (logger.info(_: String))
      .expects("")
      .returning(IO.unit)

    Console.println(s"${logger.info("").unsafeRunSync()}")
  }

The test compiles, but fails because the mock is not set up properly.

@barkhorn Any help with this?

I suggest familiarizing yourself with this topic: https://scalamock.org/user-guide/matching/
I'll close this issue as this place is not for usage help.
If you require a more detailed answer, you should try stackoverflow, or use the resources here https://scalamock.org/help/


[newrelic-infra-operator] Add chart for the New Relic Infra Operator

Helm chart for the New New Relic K8S Operator, which allows automatic injection of the infrastructure sidecar on EKS Fargate clusters.
Please note the name is still a work in progress.

Follow-up of https://github.com/newrelic/helm-charts/pull/340

Before merging test and validate the upgrade path. I.e. make sure that the subject list is not wiped out

Before merging I would wait for https://github.com/newrelic/newrelic-infra-operator/pull/40 and https://github.com/newrelic/newrelic-infra-operator/pull/50 to be merged and possibly for a new release

Before merging I would wait for newrelic/newrelic-infra-operator#40 and newrelic/newrelic-infra-operator#50 to be merged and possibly for a new release.

We should make the repository public as well :)

@roobre You can not formally approve since you opened the PR, however can you take a look?


CORE-53056 Adding script-src nonce support

Description
If defined, alloy will now propagate nonce values to inline scripts as well as style elements and partial support for style attributes. The sandbox has been updated to show how script-src nonce can be implemented.
Related Issue
CORE-53056
Motivation and Context
We need alloy to support a CSP that ideally has no unsafe-inline directives.
Screenshots (if appropriate):
Types of changes

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

Checklist:

[x] I have signed the Adobe Open Source CLA or I'm an Adobe employee.
[x] I have made any necessary test changes and all tests pass.
[x] I have run the Sandbox successfully.

These are some interesting and welcomed changes. Thanks @liljenback!

Thank you so much for this work @liljenback !!!

Have you thought about how we'll support this in the Launch extension?

I believe we need some functional tests.

Have you thought about how we'll support this in the Launch extension?

The alloy implementation will pick up nonce if available.


Revert "Add job titles for fr_FR locale"

Reverts fzaninotto/Faker#899, because the list is of bad quality (some English names, duplicates, non-job titles, etc.)

See the PR description


Error in stats collection

I have Zabbix 3.0 installed on Ubuntu 14.04
I have install this integration, for get data from VNX 5300, and I have some problems.
The discovery script run from Zabbix seem to working fine (in the /tmp/emc_vnx_discovery.log i don't have any error), it get 3317 item.
But when i go to view the last data from Zabbix interface in the stat collection there is some errors show as last value.
For example the last value of Physical Disk Stats Collection is
Traceback (most recent call last):
File "/usr/lib/zabbix/externalscripts/emc_vnx_stats.py", line 628, in
main()
File "/usr/lib/zabbix/externalscripts/emc_vnx_stats.py", line 604, in main
args.ecom_user, args.ecom_pass)
File "/usr/lib/zabbix/externalscripts/emc_vnx_stats.py", line 270, in disk_stats_query
ecom_user, ecom_pass)
File "/usr/lib/zabbix/externalscripts/emc_vnx_stats.py", line 141, in get_stats
StatisticsFormat=pywbem.Uint16(2))
File "/usr/local/lib/python2.7/dist-packages/pywbem/cim_operations.py", line 801, in InvokeMethod
result = self.methodcall(MethodName, obj, **params)
File "/usr/local/lib/python2.7/dist-packages/pywbem/cim_operations.py", line 362, in methodcall
raise CIMError(code, tt[0][1]['DESCRIPTION'])
pywbem.cim_operations.CIMError: (15, u'The query is not valid for the specified query language. (com.emc.cmp.osls.se.array.func.EMC_BlockStatisticsService.GetStatisticsCollection():2622 C:ERROR_CLASS_SOFTWARE F:ERROR_FAMILY_OPERATION_NOT_AVAILABLE Statistics Service is not enabled for array )')
A similar error I get from Collect Pool IO Stats, Storage Processor Stats Collection, Volume Stats Collection.
Even if there is this error in Collect Pool IO Stats, Zabbix get all the pools. But in storage processors and in volumes it get no data.
Please help me.
Thanks

It looks like you do not have Block Statistics Logging enabled on the array, note that this is different then having Analyzer collecting data on the array.
From the error you listed:   ERROR_CLASS_SOFTWARE F:ERROR_FAMILY_OPERATION_NOT_AVAILABLE **Statistics Service is not enabled for array **
Here are the steps to enable statistics logging:    https://community.emc.com/docs/DOC-24564   Once this is done you should start to see data coming in.

Need to add confirmation that Statistics Logging is already enabled on the array and error out appropriately.

Thanks. The Statistics Logging checkbox was disabled.
Now I have enabled the options but I see again the previous error. I need to wait some hours or the modification is immediate?

It should start working pretty quickly.   Let me know if it isn't after 5-6 hours.

I have add the monitoring with Zabbix to the EMC CX4-120 and to the ENC VNX 5300
With VNX 5300 I have no problem and all item get data.
With the CX4 there are the errors previously reported in Physical Disk Stats Collection, Collect Pool IO Stats, Storage Processor Stats Collection, 	Volume Stats Collection
Traceback (most recent call last):
File "/usr/lib/zabbix/externalscripts/emc_vnx_stats.py", line 628, in
main()
File "/usr/lib/zabbix/externalscripts/emc_vnx_stats.py", line 604, in main
args.ecom_user, args.ecom_pass)
File "/usr/lib/zabbix/externalscripts/emc_vnx_stats.py", line 270, in disk_stats_query
ecom_user, ecom_pass)
File "/usr/lib/zabbix/externalscripts/emc_vnx_stats.py", line 141, in get_stats
StatisticsFormat=pywbem.Uint16(2))
File "/usr/local/lib/python2.7/dist-packages/pywbem/cim_operations.py", line 801, in InvokeMethod
result = self.methodcall(MethodName, obj, **params)
File "/usr/local/lib/python2.7/dist-packages/pywbem/cim_operations.py", line 362, in methodcall
raise CIMError(code, tt[0][1]['DESCRIPTION'])
pywbem.cim_operations.CIMError: (15, u'The query is not valid for the specified query language. (com.emc.cmp.osls.se.array.func.EMC_BlockStatisticsService.GetStatisticsCollection():2622 C:ERROR_CLASS_SOFTWARE F:ERROR_FAMILY_OPERATION_NOT_AVAILABLE Statistics Service is not enabled for array )')
The Statistics Logging checkbox was enabled on both.
Any advice?

Update.
Now, after a day there are all the datas for all the items.
Probably I have to attend some hours.
Thanks


Fix GitHub runner update documentation

I tried actually copy-pasting the commands from my documentation when
doing this rollout and they were quite out of date :facepalm:
I was just having a conversation about testing documentation code
snippets too...
Also script improvement recommended from post-submit review of
https://github.com/openxla/iree/pull/13644

Sorry, mouse slip...


Clarify the link between the Telegraf Database Name and Host List Page

URL for relevant page?
http://docs.influxdata.com/chronograf/v1.7/administration/creating-connections/#managing-influxdb-connections-using-the-chronograf-ui
What products and version are you using?
Chronograf...all versions
Where did you look before opening the issue?
Receiving a number of questions from customers and prospect about why their hosts weren't show ing up.
I think there is a lot more context that should be provided about what drives the host list page and how this is connected to the data source connection setup. Specifically, the Telegraf Database Name is part of the data source connection because the host list view is looking for the various (and this should be enumerated as well!) Telegraf plugins which identify the hosts being monitored.
If the user decides to use a database name other than the telegraf default, they need to update this in the data source connection for the host list view to function.
Alternatively, if you want to prevent users from using the host list page -- leave this field BLANK!

We fixed this a while back but I never closed the issue, closing now


Validate the "position" value from the Chunk Upload request

The "position" value should be an integer between 0 and total_bytes/chunk_bytes which are specified in the Chunked Upload Job Creation request.
Specifying invalid values might end up in generating sparse  files.

Please check that this addresses your bug scenario.

Tested and it works as expected.


App crash on load

Describe the bug
I'm using your app for several years now. And today it won't load at all. I can see briefly a blank screen with blue at the top/header. And then back to launcher. Same view is visible in app list.
Note:
Killing the app did nothing
Rebooting the device did nothing
Informations

Device : iPhone 12
OS : 14.7.1
WebSSH Pro version : 15.2

Screenshots
If applicable, add screenshots to help explain your problem.
To Reproduce
Steps to reproduce the behavior:

Launch app

@oxygen77 Please try 16.0 :
https://testflight.apple.com/join/QSrBK59z

Solved with this version

Thank you a lot for your feedback 🙏


feat(translator): Implement http health check filter

What this PR does / why we need it:
Follow #3540
Which issue(s) this PR fixes:

Fixes #3258

thanks @aoledk this is great, can you also add an e2e for this that pings the healthCheck endpoint and gets a 200 back ?


State that users have to disable firewalld and enable iptables after setting up cluster on a fresh CentOS install

This is a...

[ ] Feature Request
[x] Bug Report

Problem:
For now it's quite unclear that after setting up Kubernetes cluster on CentOS with kubeadm, we have to disable firewalld and enable iptables.
Proposed Solution:
We should state clearly to users that after setting up things on a fresh install of CentOS, they have to disable firewalld and enable iptables.
Page to Update:
https://kubernetes.io/docs/getting-started-guides/kubeadm/.

Since firewalld uses iptables under the hood, is that the case even with the Limitations item which states:
Some users on RHEL/CentOS 7 have reported issues with traffic being routed incorrectly due to iptables being bypassed. You should ensure net.bridge.bridge-nf-call-iptables is set to 1 in your sysctl config, eg.
cat /etc/sysctl.d/k8s.conf

Should have:
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

Just want to make sure that doesn't address this issue


More than 91 escaped char in string broken

More than 91 escaped char in string broken
example JSON String
{
    "simpleExample" : "\"\"\r\n                                                                                a                                                                a                                                                                a                                                                aaaaa DDDDD aaaaa DDDDD aaaaa DDDDD aaaaa \r\nDDDDD aa \r\nDDDDD aa \r\nDDDDD aa \r\nDDDDD aa \r\nDDDDD aa \r\nDDDDD aa \r\nDDDDD aa \r\nDDDDD aa \r\nDDDDD aaaaa DDDDD aaaaa DDDDD aaaaa DDDDD aaaaa DDDDD aaaaa DDDDD aaaaa DDDDD aaaaa DDDDD aaaaa DDDDD aaaaa DDDDD aaaaa DDDDD aaaaa DDDDD aaaaa DDDDD aaaaa DDDDD aaaaa DDDDD aaaaa DDDDD \"\"\r\n\"\"\r\n\"\"\r\n\"\"\r\n\"\"\r\n\"\"\r\n\"\"\r\n\r\r\r\r\r\r\r\r\r\r\r\r\r\r\n\r\n\r\n\r\n\r\n\r\n\r 1 \n\r 2 \n\r 3 \n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
    "simpleExample2" : "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef012345 678 9abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n 456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcd ef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123 456789abcdef0123456789abcdef0123456789abcdef0123456789abcd ef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\r 1 \n\r 2 \n\r 3 \n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
    "number92broken" : "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"
}

Screenshot of above showing syntax color bad at 92nd escaped character
Repro Steps

Create file with contents above

Expected:
All escaped characters are colored blue
Actual:
92nd escaped character not colored blue
And also when copy and paste this there are extra characters.
When I try to paste this as a value into the firebase forge it reports an invalid JSON ERROR
Command History
     -2:26.5 core:backspace (atom-text-editor.editor)
  4x -2:24.6 core:move-left (atom-text-editor.editor)
     -2:22.2 core:backspace (atom-text-editor.editor)
  8x -2:21.6 core:move-right (atom-text-editor.editor)
  7x -2:19.9 core:select-right (atom-text-editor.editor)
     -2:17.2 core:backspace (atom-text-editor.editor)
     -2:06.9 core:move-up (atom-text-editor.editor)
     -2:06.2 core:move-down (atom-text-editor.editor)
  5x -2:02.6 core:backspace (atom-text-editor.editor)
     -1:41.2 editor:select-to-first-character-of-line (atom-text-editor.editor)
     -1:40.1 core:select-right (atom-text-editor.editor)
     -0:45.1 core:backspace (atom-text-editor.editor)
     -0:37.0 core:copy (atom-text-editor.editor)
     -0:33.8 core:save-as (atom-text-editor.editor)
     -0:03.2 command-palette:toggle (atom-text-editor.editor)
     -0:00.0 bug-report:open (atom-text-editor.editor)

Versions

Atom:       1.3.2
Atom-Shell:
OS:         Mac OS X 10.11.2
Misc

Could not determine apm version information

This report was created in and posted from the Atom editor using the package bug-report v0.7.1.

This is caused by #1667 - please subscribe there for updates.


chore: Rename bundle driver to hub

For consistency, use "hub" as the storage driver name.
Signed-off-by: Charith Ellawala<EMAIL_ADDRESS>

Needs #2131 for the tests to pass


Fire typed events in tests.integration.base instead of AdapterLogger

Nightly runs have been failing since https://github.com/dbt-labs/dbt-core/pull/4266 was merged:

https://github.com/dbt-labs/dbt-redshift/actions/runs/1474953855
https://github.com/dbt-labs/dbt-redshift/actions/runs/1470106194

In particular, a handful of tests that use --vars were failing here:
tests/integration/simple_snapshot_test/test_simple_snapshot.py:95: in _run_snapshot_test
    self.run_dbt(['snapshot', '--vars', '{seed_name: seed_newcol}'])
tests/integration/base.py:409: in run_dbt
    res, success = self.run_dbt_and_check(args=args, profiles_dir=profiles_dir)
tests/integration/base.py:444: in run_dbt_and_check
    logger.info("Invoking dbt with {}".format(final_args))

Complaining about key errors in the *args being passed along:
>       msg = self.base_msg.format(*self.args)
E       KeyError: 'seed_name'

I'm guessing this has to do with the lazy evaluation for log messages that we spent time pulling apart and understanding in https://github.com/dbt-labs/dbt-core/pull/4266. I'm just surprised this started failing after we merged those fixes.
For the time being, I was able to get these tests passing again locally by making tests/integration/base.py look more like it does in dbt-core: fire typed events (IntegrationTestInfo, IntegrationTestDebug, IntegrationTestException), instead of plumbing through AdapterLogger.
We very badly need to (a) improve this integration testing scaffold, and (b) consolidate its logic into a single module (package?) that can be reused across core + all our adapters. For now, these need to be manual fixups.

Is this really only failing in integration tests?  Have we locally triggered log messages in adapters that use args?  Looks like Redshift only has one in connections.py.

It looks like the underlying problem here is with lines like the following:
>>> "dict: {'k':'v'}".format()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: "'k'"

Here's what I see happening:

redshift calls logger.info("Invoking dbt with {}".format(final_args))
dbt.events.types.py::AdapterEventBase::message calls msg = self.base_msg.format(*self.args) which triggers a KeyError like the example above does.

Since this could be triggered by any other log messages in the adapters, I suggest we use the solution in dbt-core#4305 instead. I'm not opposed to using test events here, but I think I'd like adapters to use one form of logging to make community contributions simpler to navigate.

Closing in favor of https://github.com/dbt-labs/dbt-core/pull/4305.
We should still aim for a future where all adapters can use the exact same integration testing scaffold as dbt-core + dbt-postgres, and where we don't have to coordinate small updates to tests.integration.base across several repos


Fix: quickstart validation

Closes #6400
Change Description
Bug fix - logical error in condition which checks the supported refstore and blockstore for quickstart mode
Testing Details
Manual testing

Let's open a task to have an test for the quickstart logic - it's important .

There's a larger issue we need to tackle: "Test lakefs commands" 🥲


[CS:GO Skin Tester] The chat is disabled

It gives me this promt everytime i try to write the commands

i have this same problem


[feat] Radically improve Dogecoin by forking Nano: Zero fees, fastest cryptocurrency, no inflation, no mining

One idea to radically improve Dogecoin would be to fork Nano and implement its featureset in Doge:

ZERO fees (1.234 Nano == 1.234 Nano)
Fastest cryptocurrency settlement times (<400ms average)
Similar or better decentralization than Bitcoin
Environmental friendliness (no mining): 0.000112 kWh/tx vs 1000kWh/tx
Deterministic finality
No inflation & no block rewards (circulating supply == max supply)
First layer scalability - No protocol side limits like block sizes or block times. Nano uses whatever network resources are available

How is this accomplished?

A block-lattice ledger data structure (every account has its own blockchain that only the owner can modify)
Open Representative Voting for consensus instead of Proof of Work
https://docs.nano.org

Describe Alternatives
Banano is another meme coin that peeled (forked) Nano. It even has its own yellowpaper :)
Related Code
https://github.com/nanocurrency/nano-node
Lowest latency + least error == Win

The best proposal yet :)

This is just like trusting humans instead of trusting physics.

This is just like trusting humans instead of trusting physics.

Can you clarify what you mean by this? Not sure I follow

Awesome ☺ $nano 🥰

This sounds crazy, but is probably the best possible solution so far. Take a copy of the Doge blockchain on a set date and let Doge holders request the same amount of Doge on the new Doge network powered by Nano technology. They could sign a specific message with their old private key to prove they are indeed the owner of that address/amount on the old network.

Make it 1:1.000001 exchange to entice coin swapping. I had same idea but with xrp. Nano works well too. Make a doge day to do big swap start. 4/20 is a good day. True amount of doge coins is unknown to even the most seasoned developers. Suspect 120 bil to 100 bil. Start around there.

$nano is the best cryptocurrency !

Nano is not trustless, and it has an unchanging supply (which isn't ideal for currency, because economies grow as does adoption, creating price instability at scale).

Nano is not trustless, and it has an unchanging supply (which isn't ideal for currency, because economies grow as does adoption, creating price instability at scale).

What if the economy shrinks? Who gets to decide what the inflation/deflation rate should be? Is a cryptocurrency meant to be a central bank?

Nano is not trustless, and it has an unchanging supply (which isn't ideal for currency, because economies grow as does adoption, creating price instability at scale).

What if the economy shrinks? Who gets to decide what the inflation/deflation rate should be? Is a cryptocurrency meant to be a central bank?

It does time to time (the odd year or two). But generally with expanding population, it grows about 2% per year. And adoption of a new cryptocurrency will exceed that for a very long time anyway.
Generally something that is not deflationary, or has some small supply expansion will be closer to supply demand, and thus more price stable at scale.

This is just like trusting humans instead of trusting physics.

Can you clarify what you mean by this? Not sure I follow

He means nano is not a trustless system. You use personally elected validators.

Generally something that is not deflationary, or has some small supply expansion will be closer to supply demand, and thus more price stable at scale. Nano has no mechanism for generation of new coins.
1 Nano is divisible to 30 decimal places - 1 NANO =<PHONE_NUMBER>000000000000000000000 RAW units

If it was ever desirable to devalue the existing supply of coins that decimal point can be shifted.
I don't think you will ever find a happy medium when it comes to devaluing a currency through inflation.

1 Nano is divisible to 30 decimal places - 1 NANO =<PHONE_NUMBER>000000000000000000000 RAW units
If it was ever desirable to devalue the existing supply of coins that decimal point can be shifted.
I don't think you will ever find a happy medium when it comes to devaluing a currency through inflation.

I have no idea what you mean. Are you talking about arbitrarily adding more supply? Is nano centralized? Who would do that?

Nano is not trustless, and it has an unchanging supply (which isn't ideal for currency, because economies grow as does adoption, creating price instability at scale).

What if the economy shrinks? Who gets to decide what the inflation/deflation rate should be? Is a cryptocurrency meant to be a central bank?

It does time to time (the odd year or two). But generally it grows about 2% per year. And adoption of a new cryptocurrency will exceed that for a very long time anyway.
Generally something that is not deflationary, or has some small supply expansion will be closer to supply demand, and thus more price stable at scale. Nano has no mechanism for generation of new coins.
The supply model of doge is one of it's greatest strengths, and you'll find very few allies in dismantling that benefit.

Doge is already deflationary if this is your measure:

Description: Global growth is projected to rise from an estimated 2.9 percent in 2019 to 3.3 percent in 2020 and 3.4 percent for 2021—a downward revision of 0.1 percentage point for 2019 and 2020 and 0.2 for 2021 compared to those in the October World Economic Outlook (WEO).

As you can see, you'd need to increase inflation over time if you wanted to keep these numbers in line. Who gets to decide when/how that happens?

He means nano is not a trustless system. You use personally elected validators.

Every system including Doge and Bitcoin has varying degrees of trust involved. I don't think Bitcoin's model is better, I think it's worse. The people have power with a voting system like this, they can redelegate to whoever they please, but with Bitcoin there is zero control over this aspect of the network. The miners have all of the power, and we've already seen that mining is a centralizing force.

1 Nano is divisible to 30 decimal places - 1 NANO =<PHONE_NUMBER>000000000000000000000 RAW units
If it was ever desirable to devalue the existing supply of coins that decimal point can be shifted.
I don't think you will ever find a happy medium when it comes to devaluing a currency through inflation.

I have no idea what you mean. Are you talking about arbitrarily adding more supply? Is nano centralized? Who would do that?

Who set the inflation rate on Doge, the guy who cloned it from Litecoin in under 2 hours in his mom's basement?

As you can see, you'd need to increase inflation over time if you wanted to keep these numbers in line. Who gets to decide when/how that happens?

Well doge is about 4% this year, so not under yet. They don't need to be 'kept in line'. They just need to not be wildly different.

Every system including Doge and Bitcoin has varying degrees of trust involved. I don't think Bitcoin's model is better, I think it's worse. The people have power with a voting system like this, they can redelegate to whoever they please, but with Bitcoin there is zero control over this aspect of the network. The miners have all of the power, and we've already seen that mining is a centralizing force.

Yeah, after they get screwed.

As you can see, you'd need to increase inflation over time if you wanted to keep these numbers in line. Who gets to decide when/how that happens?

Well doge is about 4% this year, so not under yet. They don't need to be 'kept in line'. They just need to not be wildly different.

According to Wikipedia:

In other words, the inflation rate improves over time starting at 5% in 2015 to less than 4% by 2019, 3% by 2027, and 2% by 2035.

Sounds like DOGE's inflation design is actually opposite to what you're claiming is a "strength". Not only does it not increase linearly to match global economic growth, it decreases over time and creates a wider gap.

As you can see, you'd need to increase inflation over time if you wanted to keep these numbers in line. Who gets to decide when/how that happens?

Well doge is about 4% this year, so not under yet. They don't need to be 'kept in line'. They just need to not be wildly different.

According to Wikipedia:

In other words, the inflation rate improves over time starting at 5% in 2015 to less than 4% by 2019, 3% by 2027, and 2% by 2035.

Sounds like DOGE's inflation design is actually opposite to what you're claiming is a "strength". Not only does it not increase linearly to match global economic growth, it decreases over time and creates a wider gap.

That's true, it does have a widening gap (meaning it's mildly appreciative as an asset). But it never has even close to the gap of a fixed supply, or a hard cap.

This is just like trusting humans instead of trusting physics.

Can you clarify what you mean by this? Not sure I follow

He means nano is not a trustless system. You use personally elected validators.

What do you mean Nano is not trustless? There is no leader selection in the traditional sense in Nano, because there is not a single blockchain for a leader to extend. Every account is its own blockchain that only the owner can modify. Nano reps don't have any special permissions, they can only vote for a transaction other people create, and then every other Nano node locally tallies votes for deterministic confirmation

What do you mean Nano is not trustless? There is no leader selection in the traditional sense in Nano, because there is not a single blockchain for a leader to extend. Every account is its own blockchain that only the owner can modify. Nano reps don't have any special permissions, they can only vote for a transaction other people create, and then every other Nano node locally tallies votes for deterministic confirmation

You just described the trust involved. It's not mediated by physics. It's mediated by people who are elected. Which is trust.

What do you mean Nano is not trustless? There is no leader selection in the traditional sense in Nano, because there is not a single blockchain for a leader to extend. Every account is its own blockchain that only the owner can modify. Nano reps don't have any special permissions, they can only vote for a transaction other people create, and then every other Nano node locally tallies votes for deterministic confirmation

You just described the trust involved. It's not mediated by physics. It's mediated by people who are elected. Which is trust.

It's not mediated by people though. Nano reps don't tell you which transactions to confirm or not, you determine that for yourself by tallying votes

As you can see, you'd need to increase inflation over time if you wanted to keep these numbers in line. Who gets to decide when/how that happens?

Well doge is about 4% this year, so not under yet. They don't need to be 'kept in line'. They just need to not be wildly different.

According to Wikipedia:

In other words, the inflation rate improves over time starting at 5% in 2015 to less than 4% by 2019, 3% by 2027, and 2% by 2035.

Sounds like DOGE's inflation design is actually opposite to what you're claiming is a "strength". Not only does it not increase linearly to match global economic growth, it decreases over time and creates a wider gap.

That's true, it does have a widening gap (meaning it's mildly appreciative as an asset). But it never has even close to the gap of a fixed supply, or a hard cap. Again, it doesn't need to be perfectly in line, just not wildly different.

You're only saving 2% by 2035. Doesn't really seem that "wildly different" to me. Anyway, I think inflation vs deflation is mostly a philosophical debate anyway and the jury is definitely out on this one. Perhaps less consumerism would be a healthy thing for society in general, more incentive to HODL and less incentive to spend your money on useless material goods might actually be something the planet is in severe need of.

Anyway, I don't like being that guy, but this idea is not going to happen. There's zero way that the devs in this project will endorse it, and zero way the broader community will get behind it.
If you like nano, use nano?

Anyway, I don't like being that guy, but this idea is not going to happen. There's zero way that the devs in this project will endorse it, and zero way the broader community will get behind it.
If you like nano, use nano?

Why not? Elon has already said he's interested in the lowest latency and least error crypto, and at least one other meme coin (Banano) has gone this route

Anyway, I don't like being that guy, but this idea is not going to happen. There's zero way that the devs in this project will endorse it, and zero way the broader community will get behind it.
If you like nano, use nano?

The founder of DOGE has already shown a lot of interest in Banano and Nano, including doing an AMA on the Banano subreddit.  He said he was a big fan of the project.

Anyway, I don't like being that guy, but this idea is not going to happen. There's zero way that the devs in this project will endorse it, and zero way the broader community will get behind it.
If you like nano, use nano?

Why not? Elon has already said he's interested in the lowest latency and least error crypto, and at least one other meme coin (Banano) has gone this route

Because dogecoin is an open source project and major decisions are put to the community. I don't see any realistic path to that end here.

Anyway, I don't like being that guy, but this idea is not going to happen. There's zero way that the devs in this project will endorse it, and zero way the broader community will get behind it.
If you like nano, use nano?

Why not? Elon has already said he's interested in the lowest latency and least error crypto, and at least one other meme coin (Banano) has gone this route

Because dogecoin is an open source project and major decisions are put to the community. I don't see any realistic path to that end here.

You're telling me that the Dogecoin community would not be interested in getting a 1:1 airdrop of "Doge 2.0" with zero fees, the fastest settlement times in the crypto space, and real environmental friendliness?

Anyway, I don't like being that guy, but this idea is not going to happen. There's zero way that the devs in this project will endorse it, and zero way the broader community will get behind it.
If you like nano, use nano?

Why not? Elon has already said he's interested in the lowest latency and least error crypto, and at least one other meme coin (Banano) has gone this route

Because dogecoin is an open source project and major decisions are put to the community. I don't see any realistic path to that end here.

You're telling me that the Dogecoin community would not be interested in getting a 1:1 airdrop of "Doge 2.0" with zero fees, the fastest settlement times in the crypto space, and real environmental friendliness?

I'm telling I don't think it'll even get that far. At some point all these new github issues will be closed in all likelihood. Reddit might be the better place for you to attempt to rally the community behind your vision and debate it's pro's and cons.

There folks shows their little clique that wants to stifle progress and consolidate power in the few devs and their devout supporters.. doge in current form is centralized. All this talk will lead to an eventful hard fork...

There folks shows their little clique that wants to stifle progress and consolidate power in the few devs and their devout supporters.. doge in current form is centralized. All this talk will lead to an eventful hard fork...

Could be forked right now, if there were developers interested in doing it. It is open source after all.

Well let's see not allowed to talk about this in discord or censored, not allowed to talk about on Reddit dev section or censored, now GitHub wants to censor...create a discussions sections then. Problem solved.

Well let's see not allowed to talk about this in discord or censored, not allowed to talk about on Reddit dev section or censored, now GitHub wants to censor...create a discussions sections then. Problem solved.

I've talked about ideas on the dev subreddit. Were you censored there?

did Elongate take it over yet? he works for the feds ya know.

Elon asked for ideas how to improve Dogecoin. This is the most promising one and would fit his requirements environmental-friendly and low-latency. Feeless is the cherry on top. The migration would be less complicated than restarting/continuing the development of the deprecated code base, which was not really touched for several years and lacks so many features that would take a really long time to implement otherwise.

Elon asked for ideas how to improve Dogecoin. This is the most promising one and would fit his requirements environment-friendly and low-latency. Feeless is the cherry on top. The migration would be less complicated than restarting/continuing the development of the deprecated Doge code base, which was not really touched for several years and lacks so many features that would take a really long time to implement otherwise.

Maybe that's what you heard. "If you’d like to help DEVELOP Doge" was the start of that tweet.

I think fees shouldn't be 0 it should be very low tho and it should be X for miner X for airdrop wallet monthly. Fees are the bread and butter of PoW.

I think fees shouldn't be 0 it should be very low tho and it should be X for miner X for airdrop wallet monthly. Fees are the bread and butter of PoW.

Yeah, no fee's is a terrible idea.
https://www.coindesk.com/nanos-network-flooded-spam-nodes-out-of-sync

I think fees shouldn't be 0 it should be very low tho and it should be X for miner X for airdrop wallet monthly. Fees are the bread and butter of PoW.

Yeah, no fee's is a terrible idea.
https://www.coindesk.com/nanos-network-flooded-spam-nodes-out-of-sync

And here's the solution:
https://senatusspqr.medium.com/nanos-latest-innovation-feeless-spam-resistance-f16130b13598
When it comes to cash or digital cash, no fees are always going to win in the end.

When it comes to cash or digital cash, no fees are always going to win in the end.

So use Lightning.

I think fees shouldn't be 0 it should be very low tho and it should be X for miner X for airdrop wallet monthly. Fees are the bread and butter of PoW.

Yeah, no fee's is a terrible idea.
https://www.coindesk.com/nanos-network-flooded-spam-nodes-out-of-sync

You could argue that low fees is just as terrible then. Unless there's significant cost to preventing spam then it'll happen regardless, "very" low fees does nothing in the way of spam prevention. Nano has chosen to approach the problem from a different angle using Dynamic PoW and prioritization measures. The small PoW you perform is essentially Nano's fee, but it's abstracted away and allows for UI and usability simplicity. It's a much nicer approach to the problem from a user perspective.  The sync issue was partly due to a bug with DPoW not scaling difficulty as intended, and v22 solves the sync issues.

I think fees shouldn't be 0 it should be very low tho and it should be X for miner X for airdrop wallet monthly. Fees are the bread and butter of PoW.

Yeah, no fee's is a terrible idea.
https://www.coindesk.com/nanos-network-flooded-spam-nodes-out-of-sync

And here's the solution:
https://senatusspqr.medium.com/nanos-latest-innovation-feeless-spam-resistance-f16130b13598
When it comes to cash or digital cash, no fees are always going to win in the end.

-Wait, nano can only handle 100 TPS according to that article? That's only slightly better than dogecoin.

Cash makes up for like 30% of retail transactions. We already pay fees for credit cards and debit cards. Either user or retailer pays per use. So fact is 70% of people already pay mostly with digital currency.

My idea for fees that airdrop is the do only good every day. Tie the airdrop to some metric or activity and release coins to people every month.

I think fees shouldn't be 0 it should be very low tho and it should be X for miner X for airdrop wallet monthly. Fees are the bread and butter of PoW.

Yeah, no fee's is a terrible idea.
https://www.coindesk.com/nanos-network-flooded-spam-nodes-out-of-sync

And here's the solution:
https://senatusspqr.medium.com/nanos-latest-innovation-feeless-spam-resistance-f16130b13598
When it comes to cash or digital cash, no fees are always going to win in the end.

-Wait, nano can only handle 100 TPS according to that article? That's only slightly better than dogecoin.

Article is wrong: https://forum.nano.org/t/nano-stress-tests-measuring-bps-cps-tps-in-the-real-world/436

Cash makes up for like 30% of retail transactions. We already pay fees for credit cards and debit cards. Either user or retailer pays per use. So fact is 70% of people already pay mostly with digital currency.

We pay for card fees, account fees, debit card convenience fees, paypal fees, and also indirectly through expensive merchant banking and eftpos fees.

dis true
On Mon, May 24, 2021 at 7:38 PM bernTOAST @.***> wrote:

Cash makes up for like 30% of retail transactions. We already pay fees for
credit cards and debit cards. Either user or retailer pays per use. So fact
is 70% of people already pay mostly with digital currency.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dogecoin/dogecoin/issues/2024#issuecomment-847485916,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJBVDEBOJOEIEBXP7ZNXZSDTPMEQTANCNFSM45OBLI3A
.

--
Angel Cervantes

I think fees shouldn't be 0 it should be very low tho and it should be X for miner X for airdrop wallet monthly. Fees are the bread and butter of PoW.

Yeah, no fee's is a terrible idea.
https://www.coindesk.com/nanos-network-flooded-spam-nodes-out-of-sync

And here's the solution:
https://senatusspqr.medium.com/nanos-latest-innovation-feeless-spam-resistance-f16130b13598
When it comes to cash or digital cash, no fees are always going to win in the end.

-Wait, nano can only handle 100 TPS according to that article? That's only slightly better than dogecoin.

Article is wrong: https://forum.nano.org/t/nano-stress-tests-measuring-bps-cps-tps-in-the-real-world/436

Ah, so the article proposing a solution doesn't have a grasp on even the most basic facts at hand. Assuring.

I think fees shouldn't be 0 it should be very low tho and it should be X for miner X for airdrop wallet monthly. Fees are the bread and butter of PoW.

Yeah, no fee's is a terrible idea.
https://www.coindesk.com/nanos-network-flooded-spam-nodes-out-of-sync

And here's the solution:
https://senatusspqr.medium.com/nanos-latest-innovation-feeless-spam-resistance-f16130b13598
When it comes to cash or digital cash, no fees are always going to win in the end.

-Wait, nano can only handle 100 TPS according to that article? That's only slightly better than dogecoin.

Article is wrong: https://forum.nano.org/t/nano-stress-tests-measuring-bps-cps-tps-in-the-real-world/436

Ah, so the article proposing a solution doesn't have a grasp on even the most basic facts at hand. Assuring.

I'd say it's probably more a case of being conservative because otherwise people are quick to criticize.

I think fees shouldn't be 0 it should be very low tho and it should be X for miner X for airdrop wallet monthly. Fees are the bread and butter of PoW.

Yeah, no fee's is a terrible idea.
https://www.coindesk.com/nanos-network-flooded-spam-nodes-out-of-sync

And here's the solution:
https://senatusspqr.medium.com/nanos-latest-innovation-feeless-spam-resistance-f16130b13598
When it comes to cash or digital cash, no fees are always going to win in the end.

-Wait, nano can only handle 100 TPS according to that article? That's only slightly better than dogecoin.

Article is wrong: https://forum.nano.org/t/nano-stress-tests-measuring-bps-cps-tps-in-the-real-world/436

Ah, so the article proposing a solution doesn't have a grasp on even the most basic facts at hand. Assuring.

I'd say it's probably more a case of being conservative because otherwise people are quick to criticize.

Still even 250-500 is very low for a global payments network. Is that because of how small the network is? Is there any attempt to scale it?

Cash makes up for like 30% of retail transactions. We already pay fees for credit cards and debit cards. Either user or retailer pays per use. So fact is 70% of people already pay mostly with digital currency.

Cash does not have a fee.  What you are describing is third parties charging fees for services (Banks/Visa/Paypal/Western Union).
If you send someone one dollar, they get one dollar.
If you send someone 1 Doge they get nothing as it costs 1 Doge to send it.

Cash makes up for like 30% of retail transactions. We already pay fees for credit cards and debit cards. Either user or retailer pays per use. So fact is 70% of people already pay mostly with digital currency.

Cash does not have a fee. What you are describing is third parties charging fees for services (Banks/Visa/Paypal/Western Union).
If you send someone one dollar, they get one dollar.
If you send someone 1 Doge they get nothing as it costs 1 Doge to send it.

Well no. I mean if you are using your bank to send said dollar, they'll be charging you a card fee at a mimimum. If you send the cash, or gold, like via the mail, you'll be paying insurance. Or getting it stolen.

Cash makes up for like 30% of retail transactions. We already pay fees for credit cards and debit cards. Either user or retailer pays per use. So fact is 70% of people already pay mostly with digital currency.

Cash does not have a fee. What you are describing is third parties charging fees for services (Banks/Visa/Paypal/Western Union).
If you send someone one dollar, they get one dollar.
If you send someone 1 Doge they get nothing as it costs 1 Doge to send it.

Further to that it's a comparison to centralized services that rely on profit making versus a decentralized network with market participants that are incentivized to protect their investments and exchanges that are required to provide infrastructure to operate their businesses and make profit on traders. I don't think the comparison is apt, just because we've had fees for a long time doesn't make them a good idea, it just makes them the status quo.

I think fees shouldn't be 0 it should be very low tho and it should be X for miner X for airdrop wallet monthly. Fees are the bread and butter of PoW.

Yeah, no fee's is a terrible idea.
https://www.coindesk.com/nanos-network-flooded-spam-nodes-out-of-sync

And here's the solution:
https://senatusspqr.medium.com/nanos-latest-innovation-feeless-spam-resistance-f16130b13598
When it comes to cash or digital cash, no fees are always going to win in the end.

-Wait, nano can only handle 100 TPS according to that article? That's only slightly better than dogecoin.

Article is wrong: https://forum.nano.org/t/nano-stress-tests-measuring-bps-cps-tps-in-the-real-world/436

Ah, so the article proposing a solution doesn't have a grasp on even the most basic facts at hand. Assuring.

I'd say it's probably more a case of being conservative because otherwise people are quick to criticize.

Still even 250-500 is very low for a global payments network. Is that because of how small the network is? Is there any attempt to scale it?

Nano is still in development. There are some very interesting considerations regarding increased TPS for future releases, but it's not the focus right now.

Iunno make the fee like .000420% or like .00069% lol the fee airdrop thing is a great idea to give back to community (Do only good everyday) who uses and benefit the miners.

Well no. I mean if you are using your bank to send said dollar, they'll be charging you a card fee at a mimimum. If you send the cash, or gold, like via the mail, you'll be paying insurance. Or getting it stolen.
There's no way to safely 'send gold' or 'send cash' that doesn't involve a 3rd party.

How about walking up to someone and physically handing it to them? Base money cash is and always has been feeless.

I think fees shouldn't be 0 it should be very low tho and it should be X for miner X for airdrop wallet monthly. Fees are the bread and butter of PoW.

Yeah, no fee's is a terrible idea.
https://www.coindesk.com/nanos-network-flooded-spam-nodes-out-of-sync

And here's the solution:
https://senatusspqr.medium.com/nanos-latest-innovation-feeless-spam-resistance-f16130b13598
When it comes to cash or digital cash, no fees are always going to win in the end.

There's hardware infrastructure, power useage etc involved here. It's not free. The cost gets paid somewhere, it's unavoidable.

Well no. I mean if you are using your bank to send said dollar, they'll be charging you a card fee at a mimimum. If you send the cash, or gold, like via the mail, you'll be paying insurance. Or getting it stolen.
There's no way to safely 'send gold' or 'send cash' that doesn't involve a 3rd party.

How about walking up to someone and physically handing it to them? Base money cash is and always has been feeless.

Is it? 2% value inflation per year, with additional supply going directly to interested parties.

I think xrp is what were looking for more along the lines of a currency code with options to do more if needed. Imo.

Is it even possible to fork XRP? I read its not completely open sourced and the Ripple Foundation owns more than half of the total supply, which is a big warning sign to me.

How about walking up to someone and physically handing it to them? Base money cash is and always has been feeless.

Is it? 2% value inflation per year, with additional supply going directly to interested parties. The people who actually print money are charging you via taxes. Nothing is ACTUALLY free.

I am talking about the base unit of account. The ability for one whole unit to be exchanged like for like, as in 100% intact.

I propose communism. Specifically space communism. But the kind that uses nanobot thingies to make everything, and robots to do our housework.

How about walking up to someone and physically handing it to them? Base money cash is and always has been feeless.

Is it? 2% value inflation per year, with additional supply going directly to interested parties. The people who actually print money are charging you via taxes. Nothing is ACTUALLY free.

I am talking about the base unit of account. The ability for one whole unit to be exchanged like for like, as in 100% intact.

But it's not intact. It's constantly devaluing, and being taxed. Just because the way it's paid for is less visible to you, doesn't mean it's not occurring.

Anyone else find it interesting this Nano discussion is the 2nd most commented Github thread in Dogecoin's history?

Anyone else find it interesting this Nano discussion is the 2nd most commented Github thread in Dogecoin's history?

That seems highly unlikely.

How about walking up to someone and physically handing it to them? Base money cash is and always has been feeless.

Is it? 2% value inflation per year, with additional supply going directly to interested parties. The people who actually print money are charging you via taxes. Nothing is ACTUALLY free.

I am talking about the base unit of account. The ability for one whole unit to be exchanged like for like, as in 100% intact.

But it's not intact. It's constantly devaluing, and being taxed. Just because the way it's paid for is less visible to you, doesn't mean it's not occurring.

The base unit is still intact. 1 Nano = 1 Nano after a transfer, not 0.98265265 Nano. Yes, everything has a cost, like I said earlier though, the design here is to increase simplicity for users, platforms and UI's.  But it's seamless and abstracted away, yielding a much nicer user experience and an intact unit of account through the transfer. This more closely resembles "real money" - if I give you a dollar bill, you get a dollar bill. You don't get 0.92427271 dollars. As far as I'm concerned this is a smart innovation, fees are confusing for users and they're a UI nightmare. Especially if it involves a fee market where failing to pay a high enough fee results in your transaction not getting processed, requiring a rebroadcast. Let's not forget about the people who have fat fingered fees in the thousands of dollars.

When it comes to cash or digital cash, no fees are always going to win in the end.

Nothing can have completely 0 fees, somebody has to be paid for verifying and storing the transactions. Use off-chain protocols like Lightning to minimize this instead of completely changing the architecture of the ledger in ways that are still as of yet unproven.

The entire internet works on 0 fees. The protocols (e.g. http, smtp, TCP/IP, etc) themselves are the incentive. Anyone that wants to use a zero fee, near instant, self-sovereign, decentralized, non-inflationary currency has an incentive to run a node

I think xrp is what were looking for more along the lines of a currency code with options to do more if needed. Imo.

Nano is faster, has no balance minimums, has no fees, wasn't created by a for-profit company, and doesn't have billions in escrow. It seems to fit the efficient p2p digital cash usecase more, which appears to be what a lot of Doge fans (and Elon) are interested in

@Exxenoz it's open source. Ripple is it's own thing, you don't need to do it the exact way they did. it'd essentially be the same way Billy copied lucky coin and edited it. Same concept take a proven method and add our community querks

@qwahzi it's the tech not the corporation ripple I'm interested in. I'm not basing my decisions on what Elon really wants. I just think we need a better base code to build the doge brand/community into what we want which we agree is a real life use case currency.

It's called Banano, and it already exists. And the DOGE coin founder (Billy Markus) already gave his tick of approval.
https://www.reddit.com/r/banano/comments/n9oz27/creator_of_dogecoin_here_was_told_to_check_this/
Banano has been around for 3+ years, using the fair distribution model and being the best example of it in cryptospace.
It is a meme community about fun, education and developing new ways to use Banano.
There is a huge Venezuelan contingent who (due to its feeless and instant nature) use it over the Bolivar, as their local currency.
Banano IS the Dogecoin of Nano. As Doge is the fork of Luckycoin, fork of Litecoin, fork of Bitcoin -- a project about the shitcoins of the day, not a joke itself as the tech is good, but meme-ing about cryptospace and having a good time innovating in this place.

@qwahzi as much as I like all those things. Nodes cost money. Something I wouldn't do unless I'm reimbursed aka mining and some sort of payment for my resources to uphold the chain. Are you familiar with the tragedy of the commons?

Exactly, you pay the fee through your own power useage, and also network bandwidth syncing the network on your own personal node. Some people take that as 'no fees' in the way that some people take stuff from the govt as 'free stuff'.
I guess it's of some small psychological merit to not break the unit, but there again, people are quite used to this when dealing with fiat (ie paying fees). I guess if anything this suggests that hiding fees, whilst making people still pay them appeals to much of the public.

@qwahzi as much as I like all those things. Nodes cost money. Something I wouldn't do unless I'm reimbursed aka mining and some sort of payment for my resources to uphold the chain. Are you familiar with the tragedy of the commons?

@bernTOAST
You might not, but for a business, the opportunity to save the 1.5-2.5% of card fees per transaction sounds pretty sweet, does it not?

Crazy idea, sell your doge and buy $NANO. 0 code effort, instant change, no duplicate code, less bugs.
You're welcome

Feeless Doge? Count me in.

Anyone else find it interesting this Nano discussion is the 2nd most commented Github thread in Dogecoin's history?

What is even more interesting (just from browsing through this Github) is absolutely very few people care about this coin from a technical development perspective.
The meme / lambo crew in Reddit or Twitter probably have no idea how it even works.

Well this needs to win an award at least for most emoji on a single issue.
I try not to simply close tickets as impractical, but have more constructive feedback, but there's not a lot I can say here. Definitely we're not in a position to tackle a task on the scale of replacing the Dogecoin blockchain while migrating balances, sorry.

@rnicoll if you need engineering assistance to achieve the scale of those tasks, I'm willing to help make this happen.

Bene, questo deve vincere un premio almeno per la maggior parte delle emoji su un singolo problema.
Cerco di non chiudere i ticket semplicemente in quanto poco pratico, ma ho un feedback più costruttivo, ma non c'è molto che posso dire qui. Sicuramente non siamo in grado di affrontare un compito simile alla sostituzione della blockchain di Dogecoin durante la migrazione dei saldi, mi dispiace.

leave the discussion open! it seems very reactive to me, let the community talk a bit before closing it in this way

@elliottminns We'd love contributions, but are you sure you know what you're signing up for?
Re-opening but my main thoughts here are:

Is Nano the best option for this? There are a number of multi-chain/variable-chain platforms now (most notably Cosmos), consider if this is the best way of doing this.
This is by necessity a hard fork, we a plan for how we convince people to all move chain needs to be part of this, and especially a long term recovery plan for anyone offline (as in, I don't want us to announce a deadline and people have to take action to move their coins before then, it needs to be anyone with a wallet now can get their coins on this new chain).

Please don't take the re-opening as a promise, just accepting there's value in further discussion occurring.

Idea folle, vendi il tuo doge e acquista $ NANO. 0 lavoro sul codice, cambio istantaneo, nessun codice duplicato, meno bug.
Prego

doge has a different goal than NANO, and this can also help NANO adoption

Nano is not trustless, and it has an unchanging supply (which isn't ideal for currency, because economies grow as does adoption, creating price instability at scale).

Obviously price grows, it's the law of supply and demand, so early adopters who had risk can have an advantage.

@elliottminns We'd love contributions, but are you sure you know what you're signing up for?
Re-opening but my main thoughts here are:

Is Nano the best option for this? There are a number of multi-chain/variable-chain platforms now (most notably Cosmos), consider if this is the best way of doing this.
This is by necessity a hard fork, we a plan for how we convince people to all move chain needs to be part of this, and especially a long term recovery plan for anyone offline (as in, I don't want us to announce a deadline and people have to take action to move their coins before then, it needs to be anyone with a wallet now can get their coins on this new chain).

Please don't take the re-opening as a promise, just accepting there's value in further discussion occurring.

Thanks for re-opening this, I think there's a lot of valuable discussion here that may end up being fruitful.

Thanks for re-opening this, I think there's a lot of valuable discussion here that may end up being fruitful.

The main problem (I'm not totally sure) is that is not possible at all, technically. You probably can't use dogecoin current blockchain file with nano software.
Good idea to reduce/remove fees, increase transaction speed and whatever, forking nano is probably a wrong way to achieve that.
You can see #1849, #1985 to get more info about current discuss about scalability, take a look also to #1797 for fees dicuss.
You can also check milestone/project here, you can have some answers.

This is just like trusting humans instead of trusting physics.

Can you clarify what you mean by this? Not sure I follow

How secure is Nano compared to PoW?

what I think about would be a replacement with airdrop ?

The main problem (I'm not totally sure) is that it's not possible at all, technically. You probably can't use dogecoin current blockchain file with nano software.

You technically could, the current dogecoin blockchain file would act as the genesis state for the new Nano derived chain. It would be a large undertaking but it's certainly feasible. Coupled with functionality to migrate Doge keys to Nano accounts, then it could be done with little friction from a UX pov.

The main problem (I'm not totally sure) is that it's not possible at all, technically. You probably can't use dogecoin current blockchain file with nano software.

The main issue would be converting DOGE seed to be compatible with the seed used in the Nano architecture. They both use BIP39 compatible keys which makes them compatible, I think.
The hard fork would basically be all DOGE holders importing their seed onto a Nano fork which has all the balances migrated from the DOGE blockchain. All DOGE holders would retain their funds on the new blockchain.
I didn't take a deep look into how this could be done, but on the surface it looks doable. The balance convsersion from DOGE to Nano architecture would be an interesting task.

This is just like trusting humans instead of trusting physics.

Can you clarify what you mean by this? Not sure I follow

How secure is Nano compared to PoW?

Nano has been around since 2015 with no re-orgs, double spends, reversed transactions, lost funds, etc. It has similar or better decentralization vs Bitcoin:

Here is an article on common cryptocurrency attacks, and how Nano mitigates them:
https://docs.nano.org/protocol-design/attack-vectors

I see that the main problem seems to be the transfer of funds from one blockchain to another, some ideas

This is just like trusting humans instead of trusting physics.

Can you clarify what you mean by this? Not sure I follow

How secure is Nano compared to PoW?

Bulletproof. Here is explanation https://youtu.be/IDEQE8lmaqs

This is just like trusting humans instead of trusting physics.

Can you clarify what you mean by this? Not sure I follow

How secure is Nano compared to PoW?

Nano has been around since 2015 with no re-orgs, no double spends, no reversed transactions, no lost funds, etc. It has similar or better decentralization vs Bitcoin:

Here is an article on common cryptocurrency attacks, and how Nano mitigates them:
https://docs.nano.org/protocol-design/attack-vectors

You know governments can flip the votes. To put it into perspective, lets say multiple governments around the world print the same type of fiat currency, if they manufacture more money printers, the more fiat money gets printed. Moreover, infinite fiat money used to purchase Nano will have the governments have more voting power than the other.
There goes your Nano.
It sounds very unrealistic but I say the risk is higher than people seem to think it is. Other than that, I support Nano fully.

The main problem (I'm not totally sure) is that it's not possible at all, technically. You probably can't use dogecoin current blockchain file with nano software.

You technically could, the current dogecoin blockchain file would act as the genesis state for the new Nano derived chain. It would be a large undertaking but it's certainly feasible. Coupled with functionality to migrate Doge keys to Nano accounts, then it could be done with little friction from a UX pov.

IOTA solved the network migration by building the migration service into their wallet software. Holders just had to enter their seed/private key into the new wallet and it started the migration progress automatically:

Generate a new account on the new network (by using parts of the old Dogecoin private key to generate a seed e.g.).
Send a migration request and provide a signed message (by using the old Dogecoin private key) to proof it's the owner of that address. This requires the owner of the genesis/airdrop account to provide a migration service to be able to let users request the same amount of Doge they had on the old network.
The migration service checks if the key was already used for migration.
Check if the signed message is valid and the requester is indeed the owner of that Doge address on the old blockchain.
Calculate the amount of Doge linked to the old address and transfer the same amount of Doge from the genesis account (of the new network) to the new account that requested the migration.

Banano

You know governments can flip the votes. To put it into perspective, lets say multiple governments around the world print the same type of fiat currency, if they manufacture more money printers, the more fiat money gets printed. Moreover, infinite fiat money used to purchase Nano will have the governments have more voting power than the other.
There goes your Nano.
It sounds very unrealistic but I say the risk is higher than people seem to think it is. Other than that, I support Nano fully.
Nano has deterministic finality (transaction cementing) that helps mitigate this. Once a node confirms a transaction (i.e. sees >67% more vote weight than any competing fork), it marks the tx as irreversible and won't change its state, even if the majority of vote weight somehow flipped. Nodes also measures quorum against online_vote_weight, which is a two week trended number. So you'd have to ddos nodes for two weeks, AND not allow them to communicate with other peer nodes, AND honest nodes still won't reverse any transactions
Also, printing more money to buy 67% of Nano would cause Nano's price to go blow past Bitcoin's (if you could even find 67% of Nano supply for sale) while also devaluing the corresponding fiat. All just to try to destroy the value of the currency you just purchased?

Maybe I am wrong. 🤔
Devaluation of the fiat money won't matter if they immediately burn off the money gain back to the original valuation to stop inflation. Plus, they can block the circulation to money, the attack would be completely free other than earth resources. Also, they could overtake the x amount of honest nodes, but not on a single machine.

Closing this per #2110 point 4


Projectile

split out projectile blocks

uses a random velocity is vx,vy are 0

Are we sure kind==1 is Projectile?


[Hooks] useEffect: Lazy evaluation of dependencies

Current Behaviour
The dependencies to useEffect are given as an array:
useEffect(
  () => { ... }
  [deps],
);

So they are evaluated as soon as the hook is declared.
Desired Behaviour
The dependencies can also be given as a function, so these can be evaluated after the children have been rendered:
useEffect(
  () => { ... }
  () => [deps],
);

Rationale
Sometimes an effect in an ancestor is conditional on its descendants changing. Phrased alternatively, sometimes the effect dependencies of an ancestor are those of its dependents.
But if we are to compose the descendants (via the children prop), the ancestor has no knowledge  of the descendants' dependencies.
Simple Example (SVG)
Note: This is ultra-simplified example and an ultra-specific case of a generic behaviour/mechanism.
Result

Code
Essential code only, removing HOCs and props:
<Hexagon>
  <Text value="Text"/>
</Hexagon>

Constraints

BBox = BoundingBox
You can only query the DOM for the BBox of the text after it has been mounted.
The Hexagon's shape should update based on its contents.
As previously mentioned, the Hexagon should not know that its children are Text - it just query the BBox of the element containing its children.

Solution
Descendant notifies change
Something like this in Text (an HOC really):
const {onChanged} = useContext(ChangeContext);

useEffect(() => {
 onChanged()
}, [props.value]);

Ancestor being notified
Whenever a descendant fires onChange a ref in the ancestor is mutated:
descendantsChanged.current = true;

How this happens is an implementation detail I can share.
The important point is that by the time we hit useEffect in Hexagon, it has the knowledge one of its descendants has changed. It will then query the content bbox, and trigger an update, say by calling setState.
The missing link
Issue is, this won't work:
useEffect(
  () => { /* query children bbox here */ }
  [descendantsChanged.current],
);

Whereas this will (I guess):
useEffect(
  () => { /* query children bbox here */ }
  () => [descendantsChanged.current],
);

Complex example (HTML)
When the text of a port (eg, out) changes, the box of the 'chip' has to be queried:

Hey @Izhaki ,
Probably some misunderstandings here, but you should already be able to safely access/measure the children of your component within useEffect.
If you want to notify a parent manually after a (or each) re-render, just pass down a callback from the parent to the child and call it, when you want to notify the parent from within a useEffect in the child (Text) component.
Mutating ref objects like you did in your "Solution" will never trigger effects by design.
Hope that helps, otherwise a (non)-working codesandbox demo would be nice.

As I was writing a long reply, I got what you're saying. Yes, mutating isn't going to help here (unless we mutate some counter, but that is hardly an elegant solution).
I'm going to close this. But will leave you with the actual code I'm having trouble with. This is in the ancestor (HOC):
  useEffect(() => {
    // We should only do this if the descendants have changed.
    const resolvedContentBox = queryBox({ ref: contentRef });
    setContentBox(resolvedContentBox);

    // We should do this if border, padding or the descendants have changed.
    const resolvedOuterBox = getOuterBox(resolvedContentBox, border, padding);
    onBox(id, resolvedOuterBox);
  }, [/* ? */]);

As you can see, I've got 3 dependencies:

padding
border
descendants have changed

So I can't really use deps here. Seems like I just have to run the effect on each render and put the conditionals inside.


add c2c info to roles table

Let me know if you have any questions or if I should make any changes.
Thanks!
🐱

@ameowlia Looks great! How far do you want these changes to be backported?

back to 2.7 please!


License

Thanks for building and releasing this package, that's exactly what I've been looking for.
Would you mind adding a LICENSE file so people know the permissions and restrictions about the usage of this library?

Glad it worked for you! I added a LICENSE file and updated some devDependencies to clear security audit. Pushed new version.

Thanks!


Refactoring

This seems like a good point to merge the work on dev into master. I'm going to keep working on the main functionality off of the dev branch.

Again, you can just give me a thumbs up if you like it. And let me know if you want me to keep sending you this stuff.


Add state:modified and state:new selectors

resolves #2641
Description
Added state:modified and state:new selectors. All new nodes are modified nodes.
There are a few kinds of modifications:

names (database, schema, alias)
content (for seeds, a file checksum if <1mb or path if >=1mb. For tests, the test name + kwargs. For everything else, the raw sql of the node)
configuration (materialization, fqn, quoting, ...)
description fields, if persist_docs is set to persist the changed description

Tags configured via dbt_project.yml are not a change (doing it via {{ config(...) }}  is a raw_sql change, sadly).
Seed files larger than 1mb do not get compared.
There's probably room to be less fiddly about what's a change and what isn't!
If you pass a state:modified selector and dbt detects that any of your macros have changed, dbt logs a blanket warning once per selector to let the user know that state:modified won't see those changes. This warning is never an error (it goes directly through logger.warning, not warn_or_error).
Two small structural changes to dbt:

I moved the various things about files themselves into a new contracts module alongside the manifest contracts (where they used to live) as part of this. Now that checksums live on nodes, it caused an import cycle. Also, they never really belonged in the manifest module.
I re-worked main to accept --state to commands that use selectors and merge some common logic on that front. This was inspired by making all these changes and then realizing I forgot to handle ls because it's totally separate... hopefully this is better.

This PR does bloat the manifest a little bit with checksums. It seemed hard to avoid, though technically we could change it so only seeds have them.
Checklist

[X] I have signed the CLA
[X] I have run this code in development and it appears to resolve the stated issue
[X] This PR includes tests, or tests are not required/relevant for this PR
[X] I have updated the CHANGELOG.md and added information about my change to the "dbt next" section.

I now think we should never consider database/schema/alias for marking nodes as modified, because these are high env-aware values that are likely to be different across environments. What do you think?

I think this would be fine, perhaps not intuitive. One thing we could look into is comparing the configured database/schema/alias values, before target has been considered (so they can be None). Would that be better? I'm not sure exactly how easy it is, but it sure feels like it should be easy! This wouldn't account for generate_*_name macros though.

Vars
First of all, if we're considering vars, I think we should just not support v1 configs here. If you set state:modified and your config is v1, it's an error, can't do it. I don't want to think about it and support every silly edge case just for deprecated functionality.

We can do a vars check - as you've correctly identified, it's just like the macro dependencies issue. One issue we'll see is that we don't really have the vars in the manifest currently, so we'll have to include those. We'll have the same problem with env_var and I don't have a solution for taht: we can't dump the env, there's secrets in there!

This wouldn't account for generate_*_name macros though.

Use of these macros is pretty widespread, and hard to account for in its permutations. I feel strongly that we need state comparison to work for projects that override default database/schema/alias behavior in an env-based way, and I want to worry as little as possible about the ways in which they do it.
So I'm trying to think of a counterargument. What's the downside of completely ignoring changes to database/schema/alias in a CI environment? We already have good errors at compile time if dbt finds multiple resources with the same database representation.
I agree this would be less intuitive. It warrants an explanation in our docs.
What about for snapshots, where target_database+ target_schema tend to be stable across environments? I don't think it matters. It's not currently possible to dbt snapshot --select state:modified, and I don't see a use case for "only execute my modified snapshots," anyway.

Vars

Totally agree with eschewing v1
Sounds feasible for v2
Env vars I don't care about. I see them in the same category as profile/target configs and database/schema/alias: these things should be different across deployment + development environments, so diffing on them does not help. (I'm open to the argument that vars should fall into this category, too, but for now I don't think they do.)

What's the downside of completely ignoring changes to database/schema/alias in a CI environment?

Well, I imagine a world where you change a database name field or something and it ends up being queried by an external dashboard. Should dbt run --models state:modified pick that up? Maybe not, I actually don't have much intuition here.

I'm open to the argument that vars should fall into this category, too, but for now I don't think they do.

I have to think about this more, intuitively I think CLI vars are like env vars, but vars defined in your dbt_project.yml are like config items. That's not a very good answer though, because that's a pain to implement.

Well, I imagine a world where you change a database name field or something and it ends up being queried by an external dashboard.

It's a really good thought. I think that'd be a separate (and really cool) project, maybe plugging into existing thoughts on catalog comparison + having dbt know more about downstream model "exposures." Separate from running models in CI, I could imagine providing a warning in CI: "FYI you changed some columns in model X / the alias of model X, be aware that this may impact Y, Z downstream exposures that depend on it."
I'm good with punting on vars until v0.19.0.

I'm good with punting on vars until v0.19.0.

I would really like to do that, because then we can remove v1 config support before we do it. I think I will feel a lot better about this when calculating vars for a given model only requires its package. That's the kind of thing we can just cram into the manifest.
If we're going to say that database/schema/alias is no longer considered a change for nodes, should it be for sources?

Sources are an excellent question. Changes to a source's database representation could indicate a meaningful modification, such as switching an ingestion mechanism, which is definitely worth testing downstream dependencies. By default, dbt expects sources to have the same database representations across environments. (Same as snapshots.)
That said, users can (and often do) override sources to be:
sources:
  - name: application_db
    schema: "{{ 'application_db_prod' if target.name == 'prod' else 'application_db_staging' }}"

The former, which is an "actual" modification, takes place quite rarely. The latter would be identified as a false positive every single run.  So while I don't feel great about it, I don't think we should compare source database/schema/identifier. That also keeps us consistent across node types.
Here are the more complex approaches I can imagine taking:

If a source's database/schema/name/identifier is a Jinja expression, we don't try to compare it; if it's a string literal, we do. This may not be possible, and it may be too confusing to be desirable, anyway.
An eventual resolution (not for v0.18.0) is the ability to compare state against one manifest and defer to a different one. This would allow someone to dbt compile --target ci, have all the namespaces in that manifest be right for comparison, but then defer to another manifest with a different set of namespaces.

Quoting still feels like a change. Accidentally switching off quoting could definitely be a breaking change. Also, I would never expect quoting behavior to be different across environments. Even though this is tightly linked to database representation, it feels more like a model config in the vein of materialized, sort/dist, etc.