Unexpected on-chain transactions after restarting Zap? (general newbie question)

Day 1
My first experience with Zap desktop 0.4.1-beta on Mac.

Unable to open channel: Error: not enough witness outputs to create funding transaction

https://zaphq.slack.com/archives/C6P5UNJMV/p1558865433013900
This is my theory:

My funding transaction had approx 35k sat transaction fee.
I’ve sent small amount 0.0005 BTC… 20k sat is minimal channel size.
Is it possible that minimal channel size + transaction fee to open channel is less than my on-chain balance?
20k sat + 35k sat > 0.0005 BTC

Then tried opening pre-configured to Tipping and Yalls, this time encountering: https://github.com/LN-Zap/zap-desktop/issues/2273
I went to sleep, it was late.
Day 2
I open my laptop, start Zap, instantly I'm getting this:

I thought maybe some of the transaction got unstuck, maybe a channel was opened.
Then I was able to send some transactions back and forth, it small relatively smooth. First I needed to send to someone 1000 sat (another me on BlueWallet iOS) and back 10 sat, also 32 sat tip to @wbobeirne

So far so good, then I started rollin like a Bitcoin millionaire, 150 sat to Yalls article, some micro tip via Tippin... But both of these got stuck, pending, decided to restart Zap.
Just like previously, when starting Zap, I got the on-chain notification:

I did not send an on-chain transaction.
I did not close the channel.

I'm trying to figure out what is happening.
EDIT / UPDATE: ⚠⚠⚠AUTOPILOT !== default settings ⚠⚠⚠
EDIT / UPDATE: think that me ticking "autopilot" automatically opened the channel, subsequently unticking it closed the channel.
Closing vs Pending force close
I took screenshots at various phases:

What is the meaning / significance / reason of a timelock?

How to know the timelock looking at the raw transaction?

https://blockstream.info/tx/19838eb547fe1427ee813dd62d1487244563aadc757d159ba98c5a8eae72d751?expand
https://www.blockchain.com/btc/tx/19838eb547fe1427ee813dd62d1487244563aadc757d159ba98c5a8eae72d751

Yet another on-chain transaction
Check this out: https://blockstream.info/tx/19838eb547fe1427ee813dd62d1487244563aadc757d159ba98c5a8eae72d751
I'm totally confused.
It's sending all the balance to an address I control, minus the miner fees.
I have no idea what is happening.
I did not initiate this transaction.
Most likely (not 100% sure) it happened again upon restarting Zap...

Summary
We are here now, such early days.

https://twitter.com/francispouliot_/status/1131650888110624768
I should be using testnet right from the start. I thought I can afford 1000 sat back and forth, but every on-chain transaction feels like pain 😇

⚠⚠⚠AUTOPILOT !== default settings ⚠⚠⚠
Silly me, I thought that ticking autopilot means "use default settings, route my payment through most cost-effective route"
I did not know that it means automatically opening and funding channels.
The behaviour consistent with hacking:

To receive on-chain transaction just to see the next second the funds are being transferred away...
🤔
Autopilot: https://github.com/LN-Zap/zap-desktop/issues/609
https://github.com/lightningnetwork/lnd/blob/0c1b619e53ac88ad53f3a88e5d1129c25ddeaf13/sample-lnd.conf#L251-L265
[autopilot]

; If the autopilot agent should be active or not. The autopilot agent will
; attempt to automatically open up channels to put your node in an advantageous
; position within the network graph.
; autopilot.active=1

; The maximum number of channels that should be created.
; autopilot.maxchannels=5

; The fraction of total funds that should be committed to automatic channel
; establishment. For example 0.6 means that 60% of the total funds available
; within the wallet should be used to automatically establish channels. The total
; amount of attempted channels will still respect the maxchannels param.
; autopilot.allocation=0.6

I'm going to close this issue since I think we got to the bottom of the problem which was that you had enabled autopilot.
In 0.5.x we have removed the ability to enable autopilot when creating your wallet. We are rethinking the approach to autopilot for a future release.


Add tests documentation

This PR adds documentation for tests. Covers unit tests, game logic scenario tests, integration tests with React.
Closes #260

I signed it!

Coverage remained the same at 100.0% when pulling cc047eddcb05e2c865c364b6ff9ed2e9ed0ee7d9 on yairhaimo:add-test-docs into de42a38a908a6246a4bd6a4cb8896660e3badb03 on google:master.

+1 for merging. This document is really useful! I was banging my head around how to do the "scenario tests".

Agreed, this is useful information. What about having an example where these types of tests are actually used, e.g. for Tic-Tac-Toe?  Doesn't need to be in this PR though, maybe a follow-up.

@Stefan-Hanke People will read this section after having gone through the tutorial, which is Tic-Tac-Toe.  I think there is a benefit in keeping the same code example that will be fresh in their memory.
Is there a downside to using Tic-Tac-Toe here?

Thanks for the PR @yairhaimo! Merged. This will be helpful to many.


error while evaluating conditional ("prometheus" in prometheus_components): 'prometheus_components' is undefined

Describe the bug
error while evaluating conditional ("prometheus" in prometheus_components): 'prometheus_components' is undefined
Playbook
---
- name: Install prometheus and Grafana
  hosts: prometheus
  roles:
    - role: cloudalchemy.node_exporter
    - role: cloudalchemy.prometheus
      vars:
        prometheus_targets:
          node:
          - targets:
            - localhost:9100
    - role: cloudalchemy.grafana
      vars:
        grafana_security:
          admin_user: admin
          admin_password: enter_your_secure_password
        grafana_datasources:
          - name: prometheus
            type: prometheus
            access: proxy
            url: 'http://localhost:9090'
            basicAuth: false
        dashboards:
        - dashboard_id: 1860
          revision_id: 26
          datasource: prometheus

Output
TASK [buluma.prometheus : set internal variables for convenience] ************************************************************************************************************************
Tuesday 29 March 2022  14:27:48 +0600 (0:00:00.012)       0:00:26.259 *********
fatal: [prometheus]: FAILED! =>
  msg: |-
    The conditional check '"prometheus" in prometheus_components' failed. The error was: error while evaluating conditional ("prometheus" in prometheus_components): 'prometheus_components' is undefined

    The error appears to be in '/home/user/.ansible/roles/buluma.prometheus/tasks/install-prometheus.yml': line 11, column 7, but may
    be elsewhere in the file depending on the exact syntax problem.

    The offending line appears to be:

        - name: set internal variables for convenience
          ^ here

Environment
Version
ansible [core 2.12.2]
  python version = 3.8.10 (default, Nov 26 2021, 20:14:08) [GCC 9.3.0]

Server where ansible
cat /etc/*release*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"

Remote server
cat /etc/*release*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"

got you buddy. I've got some work commitment but I will try and get you a solution soon as possible

check feedback https://github.com/buluma/ansible-role-grafana/issues/1#issuecomment-1082058487

Thanks!


Changing colorscheme doesn't change g:terminal_ansi_colors in opened terminal buffer

Sorry for another sort-of-odd one and the mind dump, but try this out:
vim --clean
:set termguicolors
" open some random file, vimrc will do...
:colorscheme blue
:term

Here we are with g:terminal_ansi_colors echo'd and a 256 color test script ran in the terminal buffer:

Now escape to terminal normal mode with <C-\><C-n> and run:
:colorscheme habamax

Echoing g:terminal_ansi_colors we can see that they were set correctly to the new habamax defined colors, but the terminal buffers palette is not actually updated. It stays this way even when I tried re-running the 256 demo script and hiding the terminal buffer and reopening it. I expected switching colorscheme would trigger re-coloring of terminal buffers, but it doesn't seem to work this way,  it seems only the terminal buffer background colour is changed. I would think this is better handled in vim/vim, but maybe there's something that could be done on colorscheme side? Just thinking out loud, seems like it could be a can of worms (as usual heh).
This is on latest Alacritty release (no tmux running), macOS, and Vim 9.0.1476 huge without GUI, compiled from source.

I don't think that one can expect that changing g:terminal_ansi_colors will have an immediate effect.  It is used when opening a new terminal, not for an existing terminal.  Although you can probably refresh it by toggling 'termguicolors'.
I am not sure if changing the value of a global variable should have a side effect.  The term_setansicolors() function was meant for that.

Sorry for another sort-of-odd one and the mind dump, but try this out:
vim --clean
:set termguicolors
" open some random file, vimrc will do...
:colorscheme blue
:term

Here we are with g:terminal_ansi_colors echo'd and a 256 color test
script ran in the terminal buffer:

Now escape to terminal normal mode with <C-\><C-n> and run:
:colorscheme habamax

Echoing g:terminal_ansi_colors we can see that they were set correctly
to the new habamax defined colors, but the terminal buffers palette is
not actually updated. It stays this way even when I tried re-running the
256 demo script and hiding the terminal buffer and reopening it. I
expected switching colorscheme would trigger re-coloring of terminal
buffers, but it doesn't seem to work this way,  it seems only the
terminal buffer background colour is changed. I would think this is
better handled in vim/vim, but maybe there's something that could be
done on colorscheme side? Just thinking out loud, seems like it could be
a can of worms (as usual heh).

The colorscheme affects the things displayed in Vim, especially syntax
highlighting and other UI elements.  What happens in a terminal depends
on what is running in there.  E.g. if you would run Vim in the terminal
window you can set a colorscheme in that one and expect it to not be
changed by the colorscheme in the top level Vim, that runs the terminal
window.  Except for the normal foreground/background colors, since these
are set by the terminal (even when not using any colorscheme).
--
Often you're less important than your furniture.  If you think about it, you
can get fired but your furniture stays behind, gainfully employed at the
company that didn't need you anymore.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

closing then.


Bug: LexicalNode.getTopLevelElement invariant does not allow DecoratorNode children of root nodes

Lexical version: 0.16.0
Steps To Reproduce
In the playground, start with an empty editor and then insert a horizontal rule.
root
  ├ (49) paragraph
  ├ (50) horizontalrule
  └ (51) paragraph

So then it seems DecoratorNode can be a top level element (as expected), however the invariant in getTopLevelElement disallows this:
https://github.com/facebook/lexical/blob/fcf1ae6d1b98dd4c7e288ba2e0a0f1f23f520a63/packages/lexical/src/LexicalNode.ts#L351-L365
In the past it seems this was allowed (#2741), did this change on purpose?

This change was probably my fault in #5223. I couldn't find any existing code that used DecoratorNode as children of the root and it seemed that there was assumptions that all children of the root were ElementNode.
As far as I can tell the only use call of this method from the monorepo that could possibly return a decorator is $insertNodeToNearestRoot from @lexical/utils. I think it would be better to special case the rare case where a decorator might be a root child rather than have to handle the decorator case at every call site where the node legitimately expects a parent to be an ElementNode.

Note also that the Flow types were changed to explicitly declare that these methods should only return ElementNode or null back in #2261 (and have not been changed since), so the change I made also agrees with this choice.

I couldn't find any existing code that used DecoratorNode as children of the root and it seemed that there was assumptions that all children of the root were ElementNode.

In the playground, both the YoutubeNode and TweetNode are decorator nodes that can be inserted at the root level yeah?

Forcing root-level DecoratorNodes to be wrapped in ParagraphNodes or some other ElementNode doesn't make much sense unless I'm missing something.

I think the best fix for this would be to handle top-level DecoratorNodes separately from whatever code is currently calling node.getTopLevelElement() ($insertNodeToNearestRoot? it's unclear since the original issue did not include a repro or traceback) rather than to change the signature of this method. The name isn't getTopLevelNode or getTopLevelElementOrDecorator. In all cases where the given node isn't exactly a top-level DecoratorNode it is impossible for this method to return anything but ElementNode.

I think the best fix for this would be to handle top-level DecoratorNodes separately from whatever code is currently calling node.getTopLevelElement() ($insertNodeToNearestRoot? it's unclear since the original issue did not include a repro or traceback) rather than to change the signature of this method. The name isn't getTopLevelNode or getTopLevelElementOrDecorator. In all cases where the given node isn't exactly a top-level DecoratorNode it is impossible for this method to return anything but ElementNode.

I agree; it makes sense for the fix to happen in $insertNodeToNearestRoot rather than getTopLevelElement
The issue I'm having is when I try to call $insertNodeToNearestRoot with a decorator node, I get the error Expected node 25 to have a top parent element. from getTopLevelElementOrThrow.

This should've been fixed a few weeks ago, see also: #6451 #6458


How to change transport url. #question

I use redis backend but the transport url always appears of rabbit.

BROKER_BACKEND = "librabbitmq"
BROKER_URL = 'amqp://guest:guest@localhost:5672/'
CELERY_RESULT_BACKEND = "amqp"  # telling Celery to report results to RabbitMQ
CELERY_ALWAYS_EAGER = False


in-conversation memory

Should be done in two parts

pass history with each api request
Add history section in the template and include it in the prompt template(limit it two two questions and answers)

done in #96

@dartpain I The history Prompt is  not used in the chatgpt, only in other llm. Is that correct ?

@dartpain I The history Prompt is not used in the chatgpt, only in other llm. Is that correct ?

Yes, I think it does not use history in OpenAI. Atleast in port 5173.


docs: Improved README.md

Moved old version history to dedicated file
Improved README for "external users"
Working towards removing all the task-check-box stuff (which is cruft that needs to be fixed)

Simple change, don't waste your time


Consumer commitAsync

@h1alexbel thank you for reporting this. I'll assign someone to take care of it soon.

@zoeself deregister

@zoeself deregister

@h1alexbel ok, I've removed this task from scope. I'm not managing it anymore.

@h1alexbel the puzzle #360 is still not solved.


Update index.js

The Humidity has now a separate service, it would be a good idea to remove it from the Temeprature service since it shows up twice in most apps.

Looks good, tks


About TitleBar

In the TitleBar project, SampleConfiguration.cs, The comments at line 42 " Make the main page's content a child of the title bar, and make the title bar the new page content."   Why should we do this?
Thanks!

So that the title bar appears at the top of the content.

Ok, thank you! But I got another issue using cumstom TitleBar ：sometimes  I can not drag my application using mouse or finger, I have to minimize the app, and maximize it, and it works. But I do not know what is wrong.

Does the problem also occur in the sample? It sounds like this is an OS problem, not a problem with the app.

A definite OS problem is that the mouse pointer icon to drag the window size up and down alongside the top edge of the window never shows up when you draw to the top of the title bar (although clicking a dragging still actually does resize, even if there is no hint). Rather annoying bug.

Yes, the resize cursor issue is a known OS bug. Sorry.


"Remote end closed socket abruptly" redirects on Node 8.12.0

Something is fishy with Needle and redirects on Node 8.12.0!
Remote end closed socket abruptly
The issue does not seem to appear with Node 4.x, 6.x, 9.x or 10.x.
I've put together the smallest example I could that demonstrates the problem (please excuse the gross style.. I wanted to check Node 4 behaviour):
var needle = require('needle');
var express = require('express');
var app = express();
var port = 3000;

app.get('/', (req, res) => res.send('Hello World!'));
app.get('/redirector', (req, res) => res.redirect('/'));

var server = app.listen(port, () => {
  console.log(`NodeJS version ${process.version}`);
  console.log(`Example app listening on port ${port}!`);
  needle('get', 'http://localhost:3000/redirector', {}, {
    'follow_max': 5,
  })
  .then(res => {
    console.log('Worked with redirect:', res.body === 'Hello World!');
  })
  .catch(e => {
    console.log(`Redirect failed on NodeJS version ${process.version}`);
    console.error(e);
  })
  .then(() => server.close());
});

I mostly tested with Express 4.16.3 and Needle 2.2.3, but tried a few combinations with the same results as below:
NodeJS version v4.9.1
Example app listening on port 3000!
Worked with redirect: true

NodeJS version v6.14.3
Example app listening on port 3000!
Worked with redirect: true

NodeJS version v8.11.4
Example app listening on port 3000!
Worked with redirect: true

NodeJS version v8.12.0
Example app listening on port 3000!
Redirect failed on NodeJS version v8.12.0
Error: Remote end closed socket abruptly. <----- BOOOOO!

NodeJS version v9.11.2
Example app listening on port 3000!
Worked with redirect: true

NodeJS version v10.10.0
Example app listening on port 3000!
Worked with redirect: true

So, what is going on with Node 8.12.0? 8.11.4 works just fine.
Perhaps something to do with no longer calling maybeDestroy(this)?: https://github.com/nodejs/node/pull/18708/files
But I'd expect that to cause us problems with Node 10.x too.
Please let me know if I can provide any further details, and thanks for the great library 😺
P.S. The example code has both Express and Needle running on the same version of Node for simplicity. I have tested with running the Express server on Node 8.11.4 and hitting it from Needle running on 8.12.0 to rule out an issue with the server side of things.

Actually.. here's a trimmed down version (no express involved):
var needle = require('needle');

needle('get', 'https://docs.openstack.org/developer/horizon/', {}, {
  'follow_max': 5,
})
.then(() => {
  console.log(`Redirect worked on NodeJS version ${process.version}`);
})
.catch(e => {
  console.log(`Redirect failed on NodeJS version ${process.version}`);
  console.error(e);
});

Hitting the same exact issue.  This was causing me major headaches because needle is used in node-pre-gyp and in my case the pre-built binaries were hosted on Github which involves a redirect.  This error can cause node-pre-gyp to fail for the redirect and if the download after the redirect also fails two source builds will be kicked off which will stomp on eachother.  This essentially prevents the newest versions of libxmljs from being installed with node v8.12.0.

Yikes, will check asap!

Ok I think I found a fix (fix-socket-destroy-on-redirect branch). It looks like the socket.destroy logic was modified/fixed in Node v8.12.0. This affects a check that Needle does to see whether the underlying socket was correctly destroyed.
Now, if I run the test script I get the correct output:
Redirect worked on NodeJS version v8.12.0

Without breaking previous versions:
Redirect worked on NodeJS version v8.11.3
Redirect worked on NodeJS version v7.5.0

If everyone's OK with the patch I can push a new version to npm.

Thanks @tomas ! I took a quick look at the branch.. such a small fix 😸 I don't have enough context to validate the impact of the patch, but it looks good (and safe) to me.

Ok, just pushed 2.2.4 to npm. Thanks everyone for reporting!

👋 Aaaand.. it's back:
Redirect worked on NodeJS version v12.16.2
Redirect failed on NodeJS version v12.16.3
Error: Remote end closed socket abruptly.
    at TLSSocket.on_socket_end (/redacted/node_modules/needle/lib/needle.js:480:17)

Just got bit by this too, my current solution is to lock my builds to the matching official image:
https://hub.docker.com/_/node/?tab=tags&page=1&name=12.16.2


Making changes to kamailio.cfg?

Hi,
thanks a lot for the project!
How would it be possible to edit the kamailio.cfg?
I see no volumes for that.
Thank you

Hi @pete1019 ,
thanks.
You are right, for kamailio's files there're no volume in docker-file; so you have 2 choices:

modify the docker-compose adding this row in volume section - ./module/kamailio/kamailio.cfg:/etc/kamailio/kamailio.cfg
modify kamailio.cfg and re-build the docker image

Being a development project by it seems a good idea to be able to change the kamailio.cfg on the go, so I added the volume in the docker-file: 1ff8c5a
Now you just need to edit the kamailio.cfg and restart the container to running new kamailio.cfg
Cheers

Hi @tommasinigiovanni
thanks a lot for the fast reply.
Might there be other important config files in your opinion or are we set for now?
KR


Ability to style wrapper divs

I think library adds two wrapper divs. Both of them have inline style and they have no classname or id given to them.

What is the use case that you aren't able to accomplish? The wrapper div will size itself to its parent. So the parent div that you provid, wrapping this component, can be sized/styled however you like. If this isn't enough though, then I think its fine to add props for inline styles to map-interaction.

Well use case is quite simple, I have a component that takes up height of its direct parent. So all I needed to do was give the wrapper view a height property in css and that was that.
I mean just giving classNames to the divs won't hurt anything.
I solved it by just copying content from MapInteractionsCss and updating that one css line.

The ability to modify the wrapper style through classes or style props is useful when the container has its display set to flex, for instance (I ran into this right now, but maybe there are some other examples). In that case, the children of MapInteractionsCSS won't be affected affected by the wrapper's width or height


[aks-preview] update setup.py and setup.cfg

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
docker run -it microsoft/azure-cli:latest
export EXT=<NAME>
pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/arrownj/azure-cli-extensions.git@aks_setup#subdirectory=src/$EXT&egg=$EXT"

https://github.com/Azure/azure-cli-extensions/pull/1435

hi @arrownj , in PR https://github.com/Azure/azure-cli-extensions/pull/1435  there's also change on index.json of new version and download url, will you move that change here also?

cc @karataliu


File list view

The full details (and other) views should show the list of files that are part of the given definition.  All the per-file information such as the following should be shown

The path of the file
The list of facets in which the file appears
The list of licenses discovered in the file
The list of copyright statements found in the file

The list should allow relatively easy/natural navigation as it may have many entries. The current thinking is a tree-table style where the left column is a directory tree and the subsequent columns are the above data per file.
That the file list allows sorting and filtering much like the component list is super useful and coherent. Seeing the list of files like I would in a normal operating system file tree view (with expand and collapse) makes me feel at home.  (Note: TBD how the tree view changes in the face of sorting. Filtering could just make it more sparse but sorting changes the structure)

We have some mockups for the evolution of this list view.
The first is a read-only view:

Second phase is a read/write view. Facets should always be a dropdown since there are only 6 and those won't change. Licenses will be expressions, so when we get to this phase we will need a license and facet picker as per their respective issues.

Third phase is a filtering option to let users filter on facets or licenses:

I've built a sample on stackblitz to test if react-table could do the trick.
The first implementations had some problems, due to the way that react-table groups data in a pivot column.
The problems occur when some folded data has some children different from branch to branch.
react-table assumes that every branch should have the same number of children, so if one them doesn't, it renders an undefined.
I've spent some hours to find how I could overcome this behaviour, and the way I have found seems to fix the problem.
I've started from the HOC TreeTable component that react-table team released, and I've built a customized copy in my project.
Next, I've analyzed the structure of the object passed to the Renderer, and written a function that removes any undefined unnecessary object,
re-structuring the proper tree-object that should be rendered.
Here you can find a sample of what I've implemented:
https://stackblitz.com/edit/react-ihqxyx
Some other problems need to be solved to accomplish the task.
The idea is, like in this context, to use react-table as a kick-start, and customise a couple of methods to reach our goals.
What I'd like to try to do now, is to build the function that returns the proper object, outside the HOC custom component, so we'll be independent
of any changes to the main library. The same goes for other custom methods.
Before of that, I'd love to have a feedback from you to know if you think this could be the right way to proceed.

I've got a new update for the File List Component.
Here's an updated sample of the requested behaviour, mainly solving Phase 1 (read-only):
https://react-uji3fp.stackblitz.io/
On top of that, there are some behaviours still to  be fixed:

root data: with react-table, it's not pretty simple to use mixed-types on Pivoted columns, so it accepts by default a folder structure, even for elements at root level.
For now, this has been solved putting those data into a "/" folder, but I am trying again to let those elements render like simple rows. Probably this can be fixed with some CSS workarounds and controlled functionality
Tooltip on Copyrights: I noticed that some lists of Copyrights are quite large, and a tooltip couldn't be enough to show them all. You can check this by mouse hovering  the ThirdPartyNotices.txt Copyrights column under the "/" folder.

Next step is to move forward on phase 2: editing.
The Github issue mentions Facets Picker and License picker that has yet to be developed. When are the 2 pickers going to be ready?
In the meantime, how should I proceed with the Licenses edit functionality implementation? (For what's concerning Facets, I can use a static list, given there's only 6 of them)
Thank you!

code merged. Thanks @storrisi

addressed by #248


[Suggestion]

Adding a way to pump a fuel like coal or charcoal into the automated user or allowing them to use forge energy would be a great way to make them so much more useful. Unless I'm missing something, you can't pump coal into the fuel slot (I tried from all sides).

They already use forge energy.  ALso the charcoal slot will be removed in version 1.15.0


Allow empty ASFProduct instantiation

We're letting literally everything else be empty at this point, so we might as well go this extra step.

Codecov Report

Merging #122 (a8637cd) into master (e26ffd6) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #122   +/-   ##
=======================================
  Coverage   88.35%   88.35%
=======================================
  Files          41       41
  Lines        1365     1365
=======================================
  Hits         1206     1206
  Misses        159      159

Flag
Coverage Δ

unittests
88.35% <100.00%> (ø)

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

Impacted Files
Coverage Δ

asf_search/ASFProduct.py
85.00% <100.00%> (ø)


remove entire "statistics" java module since it is now useless

all useful functionality is removed, so code using this module
will just silently stop working
we no longer use it in our own code
these classes predate "jdisc" and are probably not used by
anyone else either; but if there is some old code out there
using it, that code must now be rewritten to use new "metrics"
jdisc framework instead.

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.
@bratseth please review
@hmusum @baldersheim FYI

The Statistics object is still part of a few public interfaces (injection) so I doubt this will go in just like this.

Superceeded by #22320


Update default subdomain registrar to non-PBC host

The URL value for the default registrar used for username registration by the Blockstack App should be updated once the registrar is hosted by a non-PBC entity such as the Foundation.

I'm closing this since it's a duplicate of https://github.com/blockstack/ux/issues/736.

I'm closing this since it's a duplicate of https://github.com/blockstack/ux/issues/736.


How can i send meesage from server To cilents ?

Hi ,
i runin g your demo and its ok  now i want to send messge from my server to  all cilent how there are in room  how can i do this ?
actually i want to this  source for updating Price , i mean  when my page loaded a websocket connection run and get price one minute after by one minute

hi, how from server broadcast send to client

Hi , i runin g your demo and its ok now i want to send messge from my server to all cilent how there are in room how can i do this ? actually i want to this source for updating Price , i mean when my page loaded a websocket connection run and get price one minute after by one minute

A simple ajax request is enough to serve your requirements.

hi, how from server broadcast send to client

Did you check example?


The keyed mutex was abandoned

When any DX11 game in the fullscreen mode is focused - "The keyed mutex was abandoned." is thrown from the AcquireNextFrame. Library keeps producing last screenshot forever and unfortunately it does not recover from this state until the capturing process is restarted from scratch.
Also if capturing is started after you focus fullscreen game, it works fine. But the moment you alt-tab back to desktop, it fails.

Since nobody is responding here, and I had the same issue...
https://pypi.org/project/screen-recorder-sdk/
This python package was the only thing that worked with the game I wanted to capture.

extracted from MSDN info :
DXGI_ERROR_ACCESS_LOST if the desktop duplication interface is invalid. The desktop duplication interface typically becomes invalid when a different type of image is displayed on the desktop. Examples of this situation are:
- Desktop switch
- Mode change
- Switch from DWM on, DWM off, or other full-screen application
In this situation, the application must release the IDXGIOutputDuplication interface and create a new IDXGIOutputDuplication for the new content

You enter in those cases.
If we compare with screen-recorder-sdk, this issue is cover by Release and Try again..


10.0.20348.2849 not supported

Hi, this is new version of Windows server 2022, which is not supported:
termsrv.zip

Waiting for that too 👍

[10.0.20348.2849]
SingleUserPatch.x64=1
SingleUserOffset.x64=167AF
SingleUserCode.x64=mov_eax_1_nop_2
DefPolicyPatch.x64=1
DefPolicyOffset.x64=1C925
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=9B371
LocalOnlyCode.x64=jmpshort
SLInitHook.x64=1
SLInitOffset.x64=290D0
SLInitFunc.x64=New_CSLQuery_Initialize
[10.0.20348.2849-SLInit]
bServerSku.x64=124EF0
bRemoteConnAllowed.x64=124F04
bFUSEnabled.x64=124F14
bAppServerAllowed.x64=124EFC
bMultimonAllowed.x64=124F08
lMaxUserSessions.x64=124EF4
ulMaxDebugSessions.x64=124F10
bInitialized.x64=124EEC

thank you, it works!

https://github.com/sebaxakerhtc/rdpwrap.ini/commit/21aa8deeeee20ef686f2141e3afdaf714bfe9bae


Add media upload placeholder and misc. style changes

2 spaces before field TODO comment.
Add patch specific comment to the request body object.
Revert comments above page streaming resources in loops.

Current coverage is 78.79% (diff: 0.00%)

Merging #539 into master will decrease coverage by 0.05%

@@             master       #539   diff @@
==========================================
  Files           248        248
  Lines          9076       9082     +6
  Methods           0          0
  Messages          0          0
  Branches       1180       1180
==========================================
  Hits           7156       7156
- Misses         1615       1621     +6
  Partials        305        305

Powered by Codecov. Last update 95d6769...3fda52b

Once #542 lands, you should create an analogous PR for MVVM Java, but don't block this one on that.
(For future languages, obviously you can do both together.)


HAI-1170 import/export excel translations

Description
Added support of exporting localized text into an xlsx for easier translation. Importing also supported.
Jira Issue:
https://helsinkisolutionoffice.atlassian.net/browse/HAI-1170
Type of change

[ ] Bug fix
[ ] New feature
[x] Other

Instructions for testing
yarn locales:export
edit the file
yarn locales:import
git diff
Checklist:

[ ] I have written new tests (if applicable)
[ ] I have ran the tests myself (if applicable)
[x] I have made necessary changes to the documentation, link to confluence
or other location:

Other relevant info
Won't affect adding of new translation keys. Merges on existing keys only.

\n in translations seem to get replaced with \r\n?


chore: release 1.2.86

:robot: I have created a release *beep* *boop*
1.2.86 (2022-04-08)
Bug Fixes

server-dry-run: possible fix for 'unable to recognize ...: no matches for kind ... in version ...' (part 2) (e053dad)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/werf/werf/releases/tag/v1.2.86 :sunflower:


Goals do not contain a source location

Any messages from goals appear at the top of the file rather than the place the goal appears. It should appear inline with the goal definition.

Released as part of v0.3.0.


Fix wanet

Makes WanetBackdoor match exactly with original implementation.
Already gives some good indications.
Depends on:

[ ] #35
[ ] #36

a2bedcf was the big one. 69d3b89 improves backdoor performance on test set from 99.5 % to 99.9 %, for clean (improved) and noisy (decreased) the change is about the size of the difference between runs and not as significant.


getting fatal error

i am getting fatal error like
Fatal error: Maximum execution time of 30 seconds exceeded in.....on line 358
  357        while (!feof($f)){
  358		$data[] = rtrim(fgets($f), "\n");
  359	}

these are lines...
it is specifically for google.com
why this error coming?
and also when i checked goodfoo.com its showing older data and latest is shown on who.is
why so?

Can you server visit google.com? It seems that your server have block the request to google.com

yes i can visit google.com
who.is shows information about that when i do google.com
its not showing for this script.
also goodfoo.com information is too old

hey eflyjason
when i am searching .org tld it says nothing in array.
why so?


Avoid HTTP request body cloning.

Consume body passed to post_message(body, url) and update callers.
Fold some long lines while I'm here to improve code readability.

Codecov Report

Merging #574 (f43bdd8) into main (0539551) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #574      +/-   ##
==========================================
- Coverage   61.82%   61.82%   -0.01%
==========================================
  Files         174      174
  Lines       18437    18443       +6
  Branches     4014     4014
==========================================
+ Hits        11399    11402       +3
- Misses       2796     2802       +6
+ Partials     4242     4239       -3

Flag
Coverage Δ

integration-aries-vcx
50.66% <ø> (ø)

unittests-agency-client
25.85% <0.00%> (-0.15%)
:arrow_down:

unittests-aries-vcx
55.61% <ø> (+<0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

agency_client/src/api/agent.rs
24.13% <0.00%> (ø)

agency_client/src/api/messaging.rs
0.00% <ø> (ø)

agency_client/src/httpclient.rs
7.01% <0.00%> (-0.83%)
:arrow_down:

agency_client/src/internal/messaging.rs
30.20% <0.00%> (ø)

...vcx/src/protocols/issuance/issuer/state_machine.rs
71.41% <0.00%> (+0.12%)
:arrow_up:

.../src/protocols/connection/inviter/state_machine.rs
70.68% <0.00%> (+0.34%)
:arrow_up:

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


smart device list

how to get device list that connected google home?
For example, I connected CBYGE bulb and I can control. But I want to get device list (included physical device).

possible similar issue here: #213

You don't have programmatic access to all of the devices that a user has connected.


Error when editing pages

Issue Summary
Browser: firefox
OS: CentOS
Getting a very long error string when trying to edit a page:
The errors:
https://cummies.pro/v/EnSIUrrHim/57VP7C6sQdxbJNzIEks4F7ePIKWC4goc
https://cummies.pro/v/LQR23D819j/n0QvZpPicBCucVoA1LqsPBodXrSzB2j4
The page: https://cummies.pro/v/2XiLgI3bdw/ysW270oHOn34F6Rpei80lBnDHnFeovwK
It might have something to do with conflicting javascript with liberapay
Steps to Reproduce

Enter ghost admin
Go to this certain page
Edit the page
Save draft/unpublish/delete
Get this error

I think it has something to do with conflicting javascript
Technical details:

Ghost Version: 0.11.6
Node Version: v6.9.0
Browser/OS: Firefox/Ubuntu
Database:

I figured out it's a problem with liberapay's js. Updated to the latest ghost, same problem.
 seems to break it. What's the best solution to this?

Hey @MonoCow 👋
Can you please swing by our slack channel and ask for help there? We can provide better support there than in the Github issue tracker, and if this turns out to be an actual issue with Ghost this issue can be reopened. Thanks!


quant_graph caonvert to .tflite:  Converting unsupported operation: Dequantize

I want to know where is wrong, please someone help me.
version:
Python 2.7.12 (default, Nov 12 2018, 14:36:49)

import tensorflow as tf
tf.version
'1.13.0-dev20181201'

log:
super@super-virtual-machine:~/Downloads$ tflite_convert \

--output_file=/home/super/Downloads/mobilenet_v1_0.50_128/mobilenet_v1.tflite
--graph_def_file=/home/super/Downloads/mobilenet_v1_0.50_128/quantized_graph.pb
--inference_type=QUANTIZED_UINT8
--input_arrays=input
--output_arrays=MobilenetV1/Predictions/Reshape_1
--mean_values=128
--std_dev_values=127
2018-12-01 22:45:07.489914: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Traceback (most recent call last):
File "/usr/local/bin/tflite_convert", line 11, in
sys.exit(main())
File "/home/super/.local/lib/python2.7/site-packages/tensorflow/lite/python/tflite_convert.py", line 442, in main
app.run(main=run_main, argv=sys.argv[:1])
File "/home/super/.local/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 125, in run
_sys.exit(main(argv))
File "/home/super/.local/lib/python2.7/site-packages/tensorflow/lite/python/tflite_convert.py", line 438, in run_main
_convert_model(tflite_flags)
File "/home/super/.local/lib/python2.7/site-packages/tensorflow/lite/python/tflite_convert.py", line 191, in _convert_model
output_data = converter.convert()
File "/home/super/.local/lib/python2.7/site-packages/tensorflow/lite/python/lite.py", line 455, in convert
**converter_kwargs)
File "/home/super/.local/lib/python2.7/site-packages/tensorflow/lite/python/convert.py", line 430, in toco_convert_impl
input_data.SerializeToString())
File "/home/super/.local/lib/python2.7/site-packages/tensorflow/lite/python/convert.py", line 204, in toco_convert_protos
"TOCO failed. See console for info.\n%s\n%s\n" % (stdout, stderr))
tensorflow.lite.python.convert.ConverterError: TOCO failed. See console for info.
2018-12-01 22:45:08.455379: I tensorflow/lite/toco/import_tensorflow.cc:1299] Converting unsupported operation: Dequantize
2018-12-01 22:45:08.471418: I tensorflow/lite/toco/import_tensorflow.cc:1299] Converting unsupported operation: Dequantize
2018-12-01 22:45:08.476136: I tensorflow/lite/toco/import_tensorflow.cc:1299] Converting unsupported operation: Dequantize
2018-12-01 22:45:08.476205: I tensorflow/lite/toco/import_tensorflow.cc:1299] Converting unsupported operation: Dequantize
2018-12-01 22:45:08.476247: I tensorflow/lite/toco/import_tensorflow.cc:1299] Converting unsupported operation: Dequantize
2018-12-01 22:45:08.476287: I tensorflow/lite/toco/import_tensorflow.cc:1299] Converting unsupported operation: Dequantize
2018-12-01 22:45:08.476516: I tensorflow/lite/toco/import_tensorflow.cc:1299] Converting unsupported operation: Dequantize
2018-12-01 22:45:08.477495: I tensorflow/lite/toco/import_tensorflow.cc:1299] Converting unsupported operation: Dequantize
2018-12-01 22:45:08.481725: I tensorflow/lite/toco/graph_transformations/graph_transformations.cc:39] Before Removing unused ops: 138 operators, 226 arrays (0 quantized)
2018-12-01 22:45:08.497846: I tensorflow/lite/toco/graph_transformations/graph_transformations.cc:39] Before general graph transformations: 138 operators, 226 arrays (0 quantized)
2018-12-01 22:45:08.499427: I tensorflow/lite/toco/graph_transformations/graph_transformations.cc:39] After general graph transformations pass 1: 57 operators, 132 arrays (1 quantized)
2018-12-01 22:45:08.506318: I tensorflow/lite/toco/graph_transformations/graph_transformations.cc:39] Before pre-quantization graph transformations: 57 operators, 132 arrays (1 quantized)
2018-12-01 22:45:08.506970: F tensorflow/lite/toco/tooling_util.cc:1698] Array MobilenetV1/MobilenetV1/Conv2d_0/Relu6, which is an input to the DepthwiseConv operator producing the output array MobilenetV1/MobilenetV1/Conv2d_1_depthwise/Relu6, is lacking min/max data, which is necessary for quantization. If accuracy matters, either target a non-quantized output format, or run quantized training with your model from a floating point checkpoint to change the input graph to contain min/max information. If you don't care about accuracy, you can pass --default_ranges_min= and --default_ranges_max= for easy experimentation.
Aborted (core dumped)

It looks like you have some tflite unsupported ops in your model. Please refer TensorFlow Lite & TensorFlow Compatibility Guide.

Closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


nfs mount command doesn't include --opt flags from docker volume create

In the "Advanced Options" part of the NFS docs, it says you can pass custom mount options (mount -o <key>=<value>) like so: docker volume create -d nfs --name <name> -o <key>=<value>.
I'm observing that none of these options get passed to mount.
Here's how I start the plugin:
# docker-volume-netshare nfs -v 3 --verbose
INFO[0000] == docker-volume-netshare :: Version: 0.34 - Built: 2017-05-29T13:06:34-07:00 ==
INFO[0000] Starting NFS Version 3 :: options: ''

(The issue still occurs without -v 3, but my nfs server is nfs v3)
And then:
$ docker volume create -d nfs --name test_docker_nfs_volume -o share=my_nfs_server:/my/path -o o=ro

DEBU[0014] Entering Get: {test_docker_nfs_volume map[]}
DEBU[0014] Entering Get: {test_docker_nfs_volume map[]}
DEBU[0014] Entering Create: name: test_docker_nfs_volume, options map[o:ro share:my_nfs_server:/my/path]
DEBU[0014] Create volume -> name: test_docker_nfs_volume, map[o:ro share:my_nfs_server:/my/path]
DEBU[0014] Host path for test_docker_nfs_volume (test_docker_nfs_volume) is at /var/lib/docker-volumes/netshare/nfs/test_docker_nfs_volume

$ docker run --rm -v test_docker_nfs_volume:/mnt/test ubuntu bash -c 'mount | grep "/mnt/test"'
my_nfs_server:/my/path on /mnt/test type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,proto=tcp,port=2049,timeo=600,retrans=2,sec=sys,mountaddr=x.x.x.x,mountvers=3,mountport=2049,mountproto=tcp,local_lock=all,addr=x.x.x.x)

And here you can see that it's a rw mount. But, I passed  -o o=ro to docker volume create. I can see that when mount was called, indeed there was no -o o=ro passed:
DEBU[0036] Entering Get: {test_docker_nfs_volume map[]}
DEBU[0036] Get: mount found for test_docker_nfs_volume, host directory: /var/lib/docker-volumes/netshare/nfs/test_docker_nfs_volume
DEBU[0036] Entering Mount: {test_docker_nfs_volume 996376611bcb2c7a2dd6a30ba9e0c146891485d43b64f73042df43be2fc6771c}
INFO[0036] Mounting NFS volume my_nfs_server:/my/path on /var/lib/docker-volumes/netshare/nfs/test_docker_nfs_volume
DEBU[0036] Mounting with NFSv3 - src: my_nfs_server:/my/path, dest: /var/lib/docker-volumes/netshare/nfs/test_docker_nfs_volume
DEBU[0036] exec: mount -v -t nfs -o port=2049,nolock,proto=tcp my_nfs_server:/my/path /var/lib/docker-volumes/netshare/nfs/test_docker_nfs_volume

Am I doing something wrong?
The only way I can get this plugin to include mount flags is if I provide them globally at launch (like in the docs). But, I need more volume-level granularity to control NFS versions, readability, etc.
Indeed, providing a random option like -o foo=baz doesn't show up either:
DEBU[0047] Create volume -> name: test_docker_nfs_volume, map[o:foo=baz share:my_nfs_server:/my/path]
...
DEBU[0050] exec: mount -v -t nfs -o port=2049,nolock,proto=tcp my_nfs_server:/my/path /var/lib/docker-volumes/netshare/nfs/test_docker_nfs_volume

Had the same problem with cifs, and have to dig into the code.
Look in https://github.com/ContainX/docker-volume-netshare/blob/master/netshare/drivers/nfs.go and you may find something.
may need to set nfsopts=, instead of classical "-o"


[WIP] convert HBN ASR

I converted ASR (one questionnaire from HBN) as my first try for reproschema. It would be great if @sooyounga or @djarecka can take a look at it (especially items/ASR_126). (btw, @djarecka I went through LinkML tutorials but think it's easier to write hard-coded python script for this first converting since I'm not that familiar with schema yet. )
Also, based on my understanding of this questionnaire, our final output should be structured similar to this one, where items should be grouped into sub-categories (e.g., ASR_SC, ASR_AB, ASR_WD, etc.). I don't have detailed information about which items should be group which category at this moment but I'll update the structure once I have more info on the questionnaire.

for reference, i put my python script here (with directory info removed):
df = pd.read_csv('hbn/item-names-cleaned.csv')

# choose one assessment
asr_df = df[df["datadic"]=="ASR"]
asr_df.dropna(subset=["keys"], inplace=True)
sub_asr_df = asr_df[asr_df["keys"].str.match(r'^ASR_\d+[a-z]?$')].copy()
# fill nan as 999
sub_asr_df["value"].fillna(999, inplace=True)

# create json file for each item
for index, row in sub_asr_df.iterrows():
    var = row["keys"]
    dom = row["domains"].replace('_', ' ')
    desc = f"Q{index+1} of the {dom}"
    question = row["questions"].replace(r'^\d+\.\s', '')
    if row["value"] != 999:
        itype = "radio"
        resopt = "../valueConstraints"
    else:
        itype = "text"
        resopt = {
            "valueType": "xsd:string"
            }
    item_json = {
        "@context": "https://raw.githubusercontent.com/ReproNim/reproschema/1.0.0-rc4/contexts/generic",
        "@type": "reproschema:Field",
        "@id": var,
        "prefLabel": var,
        "description": desc,
        "schemaVersion": "1.0.0-rc4",
        "version": "0.0.1",
        "question": {
            "en": question
        },
        "ui": {
            "inputType": itype
        },
        "responseOptions": resopt
    }
    with open(os.path.join(items_dir, f"{var}"), 'w', encoding='utf-8') as jsonfile:
        json.dump(item_json, jsonfile, indent=4)

# create the main json file
vars = sub_asr_df["keys"]
# Build the JSON-LD object for the main file
jsonld_obj = {
    "@context": "https://raw.githubusercontent.com/ReproNim/reproschema/1.0.0-rc1/contexts/generic",
    "@type": "reproschema:Activity",
    "@id": "hbn_asr",
    "prefLabel": "HBN Adult Self Report (ASR)",
    "altLabel": "hbn_asr",
    "schemaVersion": "1.0.0-rc1",
    "version": "0.0.1",
    "ui": {
        "order": [f"items/{var}" for var in vars],
        "shuffle": False,
        "addProperties": [{"variableName": var, "isAbout": f"items/{var}"} for var in vars]
    }
}

# Write the JSON-LD object to a file
with open(os.path.join(output_dir, "hbn_asr_schema"), 'w', encoding='utf-8') as jsonfile:
    json.dump(jsonld_obj, jsonfile, indent=4)

item-names-cleaned.csv is somewhere online?

@djarecka can you run the workflow again?


Docs Readme: Fix missing reference

PR #1442 added AWS documentation but didn't update the Readme text.

Coverage remained the same at 99.242% when pulling cae5a45b29cfe18461aeb7d93ac65c54c780664e on Skaronator:patch-2 into 37a0523ff929e9ead188c0a39eadd34affbfc61e on react-boilerplate:dev.

Awesome! Thanks @Skaronator for fixing it up! 😄


For someone looking for an actively maintained fork

This repo has been unmaintained for a while. Many issues and PRs left here for solving the serious defects, and no response and merge. If you're still using this plugin, you can divert to @lewis6991 's forked repo (https://github.com/lewis6991/nvim-treesitter-context). He is very responsive and many underlying issues has been solved already there.
Thanks.

@lewis6991 I'm back on github after some time of absence, do you want to keep maintaining the repo?
We have a few options:

I merge your master and give you access here.
We keep your fork as the active one. We can ask github to make it the head so it's clear that it's the good one.

Please advise, I'll wait for you answer before touching the code.

I think I'd prefer to make mine the head if that's possible. Another option is to create a new org.

How about we try to put it under the https://github.com/nvim-treesitter org?
cc @vigoux, @stsewd, @theHamsta, @kyazdani42: can one of you let us know if it's doable to add this plugin to the nvim-treesitter organization?

@lewis6991 as for which one of the forks to transfer, can you share the traffic on your repo? See the Insights tab in your repo. This will inform us which of them has more users to minimize disturbance to existing users

How about we try to put it under the https://github.com/nvim-treesitter org?
cc @vigoux, @stsewd, @theHamsta, @kyazdani42: can one of you let us know if it's doable to add this plugin to the nvim-treesitter organization?

Good idea.
@clason

Alright, so I propose that:

We keep this repo as the head of its network, due to its higher usage
Merge your master in this repo
Transfer the repo to the nvim-treesitter org

Also it might have been unclear but I still plan to help maintain the plugin, but I'd be happy to share the responsability and more importantly the access to avoid repeating the dead repo situation.

According to the docs, the collaborators on this repo will be transferred with the repo transfer. I've added @lewis6991 so that part is good. All I need is permission to create public repos on the nvim-treesitter org, so I'll wait until someone gives me access to transfer.
Meanwhile, @lewis6991 do you want to open a PR from your master to this master? Please list the PR & issue numbers that you know are fixed, so we can cleanup the PR:s and issues here.

Good plan.
Good to know your back too 🙂
Sure I'll raise a PR.

#115

Transfer completed, this can be closed.


⚠ Bofrost.nl has degraded performance

In 74c7c55, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 927 ms

Resolved: Bofrost.nl performance has improved in 2eee4e2.


[SR-565] only require full enum name once in closures

Previous ID
SR-565

Radar
None

Original Reporter
revanistT3 (JIRA User)

Type
Improvement

Environment
ubuntu 15.10
Swift version 2.2-dev (LLVM 3ebdbb2c7e, Clang f66c5bb67b, Swift 54dcd16759)
Target: x86_64-unknown-linux-gnu

Additional Detail from JIRA

Votes
0

Component/s

Labels
Improvement, LanguageFeatureRequest

Assignee
None

Priority
Medium

md5: 19c6599b83d0cdb717c14d434b92c64b

Issue Description:
enum e {case One,Two}
let b = {e.One; e.Two}
____________^ second "e" is redundant
p.s. yes, I know that code is useless, but if statements don’t work in closures. Already reported that

I am going to close for the following reasons:

The examples are contrived.
Being able to write { -> Enum in ($0 == 1) ? .a : .b } instead of { ($0 == 1) ? Enum.a : .b } by itself does not sound like a motivation that holds its weight.
The only hypothetical case where I would find this helpful is when

you would rather specify an explicit upper bound for the result type to disambiguate, and
you reasonably prefer to use anonymous arguments.

If anyone wants to revisit this later—you are welcome to reopen.


Don't return a 404 when there is no active workflow for a node

At the request of @stuart-stanley. A 404 indicates an illegal request, most likely that the node ID doesn't exist at all, as compared to a legitimate request that just returns empty (e.g. are there active workflows? no).
@RackHD/corecommitters

@heckj FYI

404 is an illegal request? Are you confusing a 400 response with 404? (ref: https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) @stuart-stanley ?

@heckj this came out of a slack conversation. I wish I could find the bleeping page I saw the put-way-better-than-I-will-here discussion of this, but the nutshell is that something like:
GET node//workflows/active ends up being the most useful if:

it returns 404 if the nid does not exist.
it returns a blank list/204 if the node is there, but there doesn't happen to be an active workflow at the moment.

It gets a little muddy, because "active" isn't a list, of course.
As an FYI (very very much FYI/ramblings, but hopefully interesting), the view on "active" would be that it is a "short cut" (or utility resource): it is a handy way to do GET node//workflows and then scan the resulting list for the active one. Well, a handy way to NOT have to do that ;). But the more complete API would look like:

GET node//workflows -> gets entire list both past, present, and future. Ok, kidding on the future.
GET node//workflows/active -> get the current active list (with list here being [] or [1]).
DELETE node/workflow/ -> delete that workflow:

404 if never-existed work-flow
410 if already deleted (this presumes we keep all completed workflows and can tell if they have been deleted, of course).
and so on.
What there isn't is a DELETE node//workflows/active... that ends up being dangerous, since this can occur:

I look at GET node//workflows/active and see workflow "foo", which I want to kill.
workflow foo completes and workflow bar starts
I DELETE node//workflows/active and blow away bar. ooops...

@stuart-stanley I'm kind of flip-flopping now from our conversation, but isn't the active workflow treated as its own resource, in which case a 404 makes sense because that resource is not found?

@benbp @stuart-stanley That's where I was coming from - that the URI down to the workflow represented an indepdent resource. Clearly this would have been more sane with the URI's as parallel, rather than subservient hierarchical resources, but I was still leaning towards tracking them as independent. If it's unclear if the node itself exists or not, then a URI check to /api/1.1/nodes/[id] would (to me) be the discerning factor by returning a 404 explicitly for that.
This is something we can definitely do better with API 2.0, especially as we're heading to divorcing workflows from being node specific (well, already have, but the 1.1 URI structure doesn't really reflect that). There's some active conversation/feedback going on know for the 2.0 API structure and it's semantics that differentiate workflow definitions from workflows run and workflow's current state when running. All need to be accounted for.
I'm hoping that in the future, something like /nodes/workflows would be a convenience only/shortcut to know about workflows per a node, and that something like /nodes/workflows/active wouldn't even need to specifically exist, and would instead be referenced by a workflow ID if you wanted to be clear about history or current state of a specific workflow.
cc. @brianparry (since you've been dipping into the 2.0 semantics and where we can improve things)

Agreed on looking forward to 2.0.
I think the big thing with the GET */active returning 404 comes down to being nice to the caller (or replace "nice" with communicating well with): If I do a GET node//workflows/active and I get an error, I don't know without hunting if thats a totally normal condition (the workflow finished before I could delete it) or a real problem (my node-id doesn't exist or ceased to exist or something). To ground this a little bit, we did have a case at one point where a full node would vanish on us during the "wait for fully discovered" part of smoke.
So, we end up having a loop that polls for the active workflow to be gone. Oh good, we got a 204, it's done. If a 404 came back it told us ERROR! ERROR! ERROR! DANGER! Now we see a 404 and go "oh, I wonder if this is a real problem or not?"
All of that ties back to */active being a pointer to something else. I mean, call it three times and you may get three radically different resources back, each with a different resource-unique-id. That's the hint @benbp that tells you this resource is a short-cut resource vs a "real" end-point. Does that make more sense?

The difference to me was something analogous to telling my messenger to go pick up a package at 110 Main Street.
He/she may come back to me and say, "I went to 110 Main Street, but they had no package to pick up."  (204)
or
He/she may come back to me and say, "I could not find any building at 110 Main Street, are you sure you gave me the right address?"  (404)
Wouldn't that be the same thing here?  "That node had no active workflow" vs. "I have no idea what node that is"

According to the HTTP Code Definition (/Protocols/rfc2616/rfc2616-sec10.html), 404 is returned when
"The server has not found anything matching the Request-URI."  So doesn't that mean that
/api/1.1/nodes/12345/workflows/active would return 204 for a valid node with ID 12345, but
/api/1.1/nodes/54321/workflows/active (assuming node 54321 doesn't exist) or /api/1.1/nodes/12345/workflows/actiev would return 404?

Okay, one last argument...A 404 means a "Client-Side Error".  Is it the error of the client that they asked for active workflow for a valid node but there were none?  I can see in the case that the node doesn't exist because they can get the list of node IDs before they request the active workflow.  But they have no idea until they make the API call for the active workflow if it exists or not.

I prefer to 204, 404 is client error, it is a kind of error request. But no active workflow means nothing to response but user's request is valid.

I get your point about 204, but fundamentally a 2xx response to me indicates a success, when asking for "the active workflow for a node" (if none exists) doesn't semantically appear correct to me. All of the points above are good and valid, and even more reinforcement that the resources should have been handled more in a parallel fashion than hierarchical/subservient, which leads directly to this confusion.
My preference and earlier insistence on 404 for this is that I read the entire URI as the resource descriptor address that was either there (or missing), thinking of it more like a database's composed key construct - where the entire URI was the definitive resource location (even with all the kind of stupidity that entails, as "current" doesn't always mean the same workflow from one invocation to the next even in short order). I personally feel 404 is more generally representative here in the space of overall REST APIs.
This isn't a new argument at all, and there's good arguments for both sides. I'll reference a couple of topics from StackOverflow:

http://stackoverflow.com/questions/26845631/is-it-correct-to-return-404-when-a-rest-resource-is-not-found
http://stackoverflow.com/questions/2195639/restful-resource-not-found-404-or-204-jersey-returns-204-on-null-being-returne
http://stackoverflow.com/questions/11746894/what-is-the-proper-rest-response-code-for-a-valid-request-but-an-empty-data
http://blog.ploeh.dk/2013/04/30/rest-lesson-learned-avoid-204-responses/
http://programmers.stackexchange.com/questions/203492/when-to-use-http-status-code-404-in-an-api

(these were top hits from https://www.google.com/search?client=safari&rls=en&q=http+response+204&ie=UTF-8&oe=UTF-8#q=http+response+204+vs+404 in google search)
I will absolutely defer to the @RackHD/corecommitters in making a consistency ruling on this if you all think the 404 response needs to be changed for the existing 1.1 API

@heckj given that the 1.1 API was returning a 204 until I changed it to a 404 with the workflow refactor, perhaps the tiebreaker here is making fewer breaking changes to the 1.1 API and restoring the 204 response. In the 2.0 API we can get around this debate by having a better structure as you mention. @brianparry ?

@benbp @heckj @stuart-stanley A few thoughts here:
My interpretation of 404 is: "the thing you were looking for isn't here."
And 204 is: "your request was successful but there is no applicable data to return in the response body"
404 makes sense to me only when requesting a specific thing (i.e. /nodes/workflows/:Identifier).  In the case of /nodes/workflows/active, the client is not requesting anything specific, but rather is asking if any active workflow exists.  It's sort of a shorthand for something like GET:/nodes/workflows?state=active so I think it makes sense to either return an empty collection or 204.
For the 2.0 API, I'd propose we change the semantics to use the query string approach and return a 200 and an empty collection for any query that finds no matching resources.

Sounds like a plan, I like the thought process. Let's revert this back to 204 response as it was originally, and in the future (V2 API) lets run with a 200 response and empty list representing nothing in that sequence/query string response.

kk, I still need the +1s though :)
@heckj @RackHD/corecommitters

Uh, duh - sorry :+1:

+1


Migrate off of GitHub artifacts v3 action.

I've completed this. The only place we were using it was  from inside the upload-pages-artifact action, with that upgraded I believe we have no other uses of the old API.


Compatibility issue with Immersive weapons?

https://bytebin.lucko.me/L8nCAHISgV

Is resolved in the ImmersiveWeapons mod


Feature request Upstream key preview

I would like to have added the preview of key action.
So before i set the key onair  i a have a preview.

I'm pretty sure this is possible. There are actions and feedbacks for choosing what the next transition will change,


⚠ Fortnite has degraded performance

In 761e1e0, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1665 ms

Resolved: Fortnite performance has improved in d04b458.


HORIZONTAL LABELS AND DIFFRENT COLORS FOR PROGRESS CHART

Hi
I am using progress chart basic
But I need a different color  for every ring and the labels should be horizontally placed
can any one give solution for this

Hi, struggling with the same issue - any resolution you found?

same issue


[FEATURE] Support accurate colors

Is your feature request related to a problem? Please describe.
When supplying a hex color value to the Theme the colors are not accurate and change from terminal to terminal (I know there is a note in the docs)
Describe the solution you'd like
It would be nice if there would be an option in the Theme to enable displaying accurate colors (I don't know if its the right term but something like the truecolor option for vim)
Describe alternatives you've considered
I don't really know any other alternative solution (except changing the colors in my terminal configuration)
Additional context
I'm writing an application with cursive and a user requested this feature. Link to the Issue: https://github.com/Builditluc/wiki-tui/issues/22

Hi!
Cursive tries to specify "true colors" (which is the full RGB color with 255 values per channel). However, not all backends properly support that.
In particular ncurses (the default backend) does not properly support true colors.
You can try the colors example with different backends to see the difference:
With BearLibTerminal (supports true colors)

With termion or crossterm (both support true colors):

With ncurses or pancurses (neither support true color):

In addition to that, cursive also supports "terminal palette" colors. There are 255 such colors, and these change depending on your terminal theme. If you look at the Color enum, the Rgb variant is "true color", and everything else depends on the terminal configuration.

Thank you for the information! I switched to the crossterm backend and the colors are now accurate.


NIOWebsocket Base64 encoding - unexpected memory overhead.

Actual behavior
After the issue https://github.com/apple/swift-nio/issues/1265, I started to dig into the implementation of base64. The results of that work can be found at fabianfett/swift-base64. While implementing decoding, I tested the performance of my implementation against Foundation. Since I wanted to base my work on the Base64 encoding provided by NIOWebsocket I also tested its performance. Surprisingly it's rather slow.
Encoding 100k times the bytes from 0 to 255 produced these results:
On my MacBook Pro 2016 (2,7 GHz Intel Core i7)
Number of invocations: 100000
------------------------------------------
Encoding
Foundation   | took: 0.24192798137664795s
NIOWebsocket | took: 8.385756015777588s
------------------------------------------

On Linux Foundation's performance isn't great either. Therefore the performance hit compared to Foundation is not as bad.
------------------------------------------
Encoding
Foundation   | took: 3.710782051086426s
NIOWebsocket | took: 5.109261989593506s
Base64       | took: 0.10653805732727051s
------------------------------------------

If possible, minimal yet complete reproducer code (or URL to code)
The code to reproduce can be found the branch compare-with-niowebsocket-base64 at fabianfett/swift-base64
https://github.com/fabianfett/swift-base64/tree/compare-with-niowebsocket-base64
Performance results on GitHub actions can be seen in the Performance Tests (Not great for detailed measuring, but we are of the target by quite a margin in this case):
https://github.com/fabianfett/swift-base64/pull/2/checks
Looking into the issue with Instruments, I'm quite sure the performance hit is based on the use of the Unicode.Scalar that seem to come with "some" memory overhead.

SwiftNIO version/commit hash
commit hash: 0ac7e2266bccd08ab174f6e2ef55522797b68343 code unchanged since Feb 14 2019.
Swift & OS version (output of swift --version && uname -a)
Target: x86_64-apple-darwin18.7.0
Darwin xxx 18.7.0 Darwin Kernel Version 18.7.0: Thu Jun 20 18:42:21 PDT 2019; root:xnu-4903.270.47~4/RELEASE_X86_64 x86_64

thanks very much @fabianfett for the report! Yes, our base64 algorithm is very naive at the moment. We don't expose it as API and we only ever use it to to WebSocket which needs it to encode exactly one, short string (I think it's less than 64 characters) per connection. So any performance optimisation would very likely be invisible in actual uses.
Nevertheless, we could make it more optimised which would actually not be hard.
Maybe you'd like to take a stab at optimising our implementation?
A couple of thoughts:

We should probably accumulate the bytes into an Array<UInt8> instead of a String
We shouldn't use a lookup table but a switch instead

Just these two things together will probably already make it pretty fast.

@fabianfett oh, I just see that you already implemented faster base64. Would you like to contribute it to SwiftNIO too? I'm pretty sure that if you removed the lookup table from your code and replaced it by a switch, it'd be even faster.
Other thoughts: it's no faster to write 32 than it is to write UIn8(ascii: " ") which is much more readable

Would you like to contribute it to SwiftNIO too?

There has been discussion about this in https://github.com/apple/swift-nio/issues/1265
@Lukasa proposed another way though:

I think in general I don't want swift-nio to vend small utilities like this. I agree that having a general base-64 encode and decode function is useful, but swift-nio is not a very good place to put such a function. Given that swift-nio is permissively licensed, I would recommend taking the following steps:

Creating a new swift package containing the contents of that file, making the initializer public, and announcing the package on the Swift forums.
Proposing the code for inclusion in the standard library preview package, possibly by making it more generic (i.e. by using Collection instead of Array).
Eventually aim to get the code in the standard library.

How does that sound?

Would be very open to contribute it to SwiftNIO anyways.

To be clear, I don’t think NIO should vend it. I’m more than happy for NIO to contain a vendored copy, I just don’t want to expose it as public API on NIO.

@weissi could you point me to some documentation where I could learn about how a switch would be faster than the lookup table?

@weissi I just tested replacing the lookup table with a switch to get a sense of what performance improvements should be possible with a switch.
https://github.com/fabianfett/swift-base64/pull/3/files
In my local tests as well as on the GitHub actions (ci) the switch performs two times slower than the lookup table. https://github.com/fabianfett/swift-base64/pull/3/checks
Am I doing something completely false?

@weissi I just tested replacing the lookup table with a switch to get a sense of what performance improvements should be possible with a switch.
https://github.com/fabianfett/swift-base64/pull/3/files
In my local tests as well as on the GitHub actions (ci) the switch performs two times slower than the lookup table. https://github.com/fabianfett/swift-base64/pull/3/checks
Am I doing something completely false?

I commented in the code, I’d assume something like
switch byte {
    case 0...51: return byte &+ 48
    case foo...bar: return byte &- buz
     ...
}

Should be faster

To be clear, I don’t think NIO should vend it. I’m more than happy for NIO to contain a vendored copy, I just don’t want to expose it as public API on NIO.

👍 +1, obviously we do like fast code but we don’t want to make base 64 encoding our API.

Great! I'd gladly provide a vended version of my code to Swift-NIO as soon as we can agree on the fastest easy solution. ;)

This function performs the world's most naive Base64 encoding: no attempts to use a larger lookup table or anything intelligent like that, just shifts and masks. This works fine, for now: the purpose of this encoding is to avoid round-tripping through Data, and the perf gain from avoiding that is more than enough to outweigh the silliness of this code.

Would really like to help ensure this code comment is true. 😜

Great! I'd gladly provide a vended version of my code to Swift-NIO as soon as we can agree on the fastest easy solution. ;)

This function performs the world's most naive Base64 encoding: no attempts to use a larger lookup table or anything intelligent like that, just shifts and masks. This works fine, for now: the purpose of this encoding is to avoid round-tripping through Data, and the perf gain from avoiding that is more than enough to outweigh the silliness of this code.

Would really like to help ensure this code comment is true. 😜

For our use-case (always 64 bytes), it is probably true today :).

For our use-case (always 64 bytes), it is probably true today :).

I'm so sorry: https://github.com/fabianfett/swift-base64/pull/2/checks?check_run_id=359283613

@fabianfett you'd need to add two conversions from ByteBuffer to Data and back into your benchmark to approximate the one use-case we have. And you'd need to consider allocator pressure (for allocating an extra Data) in a heavily loaded real-world system. But again, if you're interested in making the NIO's base64 encoder faster, we are more than happy to take it :).


[wallet-ext] - use existing coin icon component

Description
Describe the changes or additions included in this PR.
Test Plan
How did you test the new or updated feature?

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] protocol change
[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

Current dependencies on/for this PR:

main

PR #12227   👈

This comment was auto-generated by Graphite.


Configuration option to allow empty test suites to pass (re-post)

Clear and concise description of the problem
When working with dynamically created tests, and tests that only run under certain environmental conditions, it's possible to generate test suites with no tests in them. These then cause the whole test task to fail which isn't desirable.
When working with 3rd party libraries that create the test for you, you can also get into this situation.
I'm currently facing this issue using @typescript-eslint/rule-tester where it is creating all the tests and suites for me.
Suggested solution
Add option passSuitesWithNoTests configuration option to allows Vitest to pass if no tests are found in a suite.
Alternative
Modify the configuration of the existing passWithNoTests option to support boolean | 'suite' | 'all'.
Additional context
Essentially a reopening of #1780 as that one is lock and was closed by author when they no longer needed the functionality.
Other people seem to want this behavior too based on issues like: #3779
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Don't wrap tests in ifs. Use test.runIf/test.skipIf. You shouldn't have empty suites by design.

You shouldn't have empty suites by design.

I understand that, but I don't have direct control over the suite and it commands. What I can provide are code samples and expected outputs. The tests are then dynamically created from these.
My issue comes when I want to essentially split a suite into multiple parts, some of those parts may end up empty and become incorporated as test-less suites.
For example: I have code samples written in es5 with valid and invalid tests cases. I then want to extend these tests with further invalid tests written in es2015, but there are no more valid tests cases that the es5 tests don't already cover; thus I end up with the es2015 valid suite being empty. I can work around this by just adding a dummy test or retesting all of the es5 valid tests, but this is kind of redundant.

Don't generate a suite if there are no tests inside then.
I don't really see why this should be implemented on Vitest side. We provide enough functionality to write your own generators, I don't see why this incorrect usage should be covered by core functionality.


Add support for Django 2.1

Add Django 2.1 to tox.ini. Tests pass without changes.

These failures are caused by using postgres<9.4. I'm not familiar with travis-ci, but upgrading postgres should fix those errors.

Yep. I just found https://groups.google.com/forum/#!topic/django-users/behDaxyzVE8.

Try adding this to .travsi.yml:
addons:
  postgresql: 9.4

https://docs.travis-ci.com/user/database-setup/#using-a-different-postgresql-version

Would you also update setup.py, please?
https://github.com/django-waffle/django-waffle/blob/master/setup.py#L25


Testing pull request

This is for testing a pull request and understanding how it works in implementing the GitHub action workflow.

Even though it passed all checks yet it's not valid to be merged to the main branch


How to pass name of the host into tick script .exec() event handler

I am currently working in tick script, I want to pass host name as an argument when alert triggers from that specific host, so I am unable to find the exact variable to pass to that script.
        var trigger = data
            |alert()
                .crit(lambda: "value" > crit)
                .message(message)
                .id(idVar)
                .idTag(idTag)
                .levelTag(levelTag)
                .messageField(messageField)
                .durationField(durationField)
                .exec('/usr/bin/python', '/home/scripts/pythons/memory.py' ) // here need to pass host
                 name

You should really post your questions to the following channel:
https://community.influxdata.com/
This must be used for issues and bugs.
As to answer to your question.
Since host is a tag, can you not access host it like this {{index .Tags "host"}}

you can also join the community slack channel at https://influxdata.com/slack .

You should really post your questions to the following channel:
https://community.influxdata.com/
This must be used for issues and bugs.
As to your question i do not know about your memory.py but can you try like this:
Since host is a tag try passing the tag as {{index .Tags "host"}}

thank you for your quick response
.exec('/usr/bin/python', '/home/scripts/pythons/memory.py' , {{index .Tags "host"}})  we already tried this but not getting host name to the python script as argument or even in  logs.


prepareResponse set weak etags

How to instruct dingo to return weak etags?
https://github.com/dingo/api/blob/de0f74e6079138ce1a22280f3e3635c58d8d12bf/src/Routing/Router.php#L563
setEtag method accepts a boolean parameter to set etags as weak etags
https://github.com/symfony/http-foundation/blob/8961ef9554af1dfc77ce71e1a34e4953f790dc45/Response.php#L898

Middleware seems to be a solution to this
https://github.com/matthewbdaly/laravel-etag-middleware


Changes Docker base image to debian wheezy

This PR requires updates to on-tasks, on-http, and on-taskgraph Dockerfiles.
https://github.com/RackHD/on-tasks/pull/336
https://github.com/RackHD/on-http/pull/466
https://github.com/RackHD/on-taskgraph/pull/171

no more alpine?! 👍

@RackHD/corecommitters Please review - updates for switching away from Alpine (due to missing packages) to debian

@RackHD/corecommitters This one looks ready to merge


Create DiaBinarytree

I have fixed the issue..kindly merge it and if you face some conflicts please let me know I will edit it.

Done!

There's still same file outside the folder👀


Yearly sensor

Is it possible to add a sensor for yearly consumption? In addition to daily/weekly/monthly? 😄

Should already be possible. Powercalc uses utility_meter under the hood which is a core integration. See https://www.home-assistant.io/integrations/utility_meter/#cycle for possible options.


Must Initialize Fabric before using singleton()

The app crashes at launch.
this is occurs when calling this.firebasePlugin.logMessage("some message")
logcat:

2020-02-05 14:48:26.219 21405-21552/? E/AndroidRuntime: FATAL EXCEPTION: pool-13-thread-4
    Process: yy.zz.xx, PID: 21405
    java.lang.IllegalStateException: Must Initialize Fabric before using singleton()
        at io.fabric.sdk.android.c.a(SourceFile:301)
        at io.fabric.sdk.android.c.a(SourceFile:551)
        at com.crashlytics.android.a.e(SourceFile:191)
        at com.crashlytics.android.a.g(SourceFile:390)
        at com.crashlytics.android.a.a(SourceFile:221)
        at org.apache.cordova.firebase.FirebasePlugin$12.run(SourceFile:559)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:764)

You can validate that the logMessage() function works correctly in isolation by building and running the example project.
Possible causes are because logMessage() has been called before Crashlytics has been enabled if autoinit is disabled or another plugin is pulling in a conflicting version of the Crashlytics or Fabric SDKs.


Add metadata unit tests

This change adds unit tests for part of the metadata methods.
They are 43,3% for now

Force-pushed a squash with the fixed roles json an the metadata repository, so that commits between them are not broken.


True push-based serialization

Consider a program that receives a stream of integers:
impl Program {
    fn new(out: &mut io::Write) -> Self {
        /* ... */
    }

    fn write(&mut self, v: u64) -> Result<()> {
        /* ... */
    }

    fn end(self) -> Result<()> {
        /* ... */
    }
}

and writes out a JSON array:
[4751,2389,6529,3343]

This is fine in Serde 0.9.
But if we want to write out pairs of numbers:
[[4751,2389],[6529,3343]]

it is no longer possible to accomplish this in a streaming way with the current API. The program needs to buffer the entire content of each inner array before writing it. The problem is that SerializeSeq::serialize_element and similar functions are pull-based; they pull data out of the Serialize that you pass, and the entire data must be available.
Let's map out the advantages and possible disadvantages of moving to an entirely push-based serialization model.

I was just going to open an issue about but I've found it's already open. I've noticed recently that things changed at some point, since I reported #386. (@dtolnay, weren't we talking on IRC recently about it)? .
I think it's especially important in the light of tokio being a standard Rust async solution. If Rust went with coroutines like in Go, it wouldn't be a problem for any code that is being blocked on input to yield and resume when more data is available. With approach based on Futures, a state machine has to drive serialization from the outside. Therefore it seems to be that standard serialization crate must be entirely push-based, otherwise we're going to be in trouble.
Also the inconsistency is the worst part. Either everything has to be push, or everything has to be pull. Otherwise it doesn't work well. And for the reason explained above, push is the right way here, I think.
BTW. The whole push vs pull thing has been bitting me a lot recently in my own code. I should write a blogpost / article about it. I think in Rust, due to ability to reasonably easily express very efficient, zero-copy data handling code, I immediately notice this ... "inversion of control" (the term is used for something different, but I feel it fits well here) .

Here is some possible inspiration:
pub trait Serialize {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
        where S: Serializer;
}

pub trait Serializer: Sized {
    type Ok;
    type Error;

    type SerializeSeq: SerializeSeq<Ok = Self::Ok, Error = Self::Error>;

    fn serialize_seq(self, len: Option<usize>) -> Result<Self::SerializeSeq, Self::Error>;
}

pub trait SerializeSeq {
    type Ok;
    type Error;

    type Element: Serializer<Ok = Self::Ok, Error = Self::Error>;

    fn element(&mut self) -> Self::Element;
    fn end(self) -> Result<Self::Ok, Self::Error>;
}

impl<T> Serialize for Vec<T>
    where T: Serialize
{
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
        where S: Serializer
    {
        let mut seq = serializer.serialize_seq(Some(self.len()))?;
        for v in self {
            v.serialize(seq.element())?;
        }
        seq.end()
    }
}

I think this is going to be blocked on associated type constructors: type Element<'a>.

Oh this could be interesting:
pub trait Serialize {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
        where S: Serializer;
}

pub trait Serializer: Sized {
    type Ok;
    type Error;

    type SerializeSeq: SerializeSeq<Ok = Self::Ok, Error = Self::Error>;

    fn serialize_seq(self, len: Option<usize>) -> Result<Self::SerializeSeq, Self::Error>;
}

pub trait SerializeSeq: Sized {
    type Ok;
    type Error;

    type Element: Serializer<Ok = Self, Error = Self::Error>;

    fn element(self) -> Self::Element;
    fn end(self) -> Result<Self::Ok, Self::Error>;
}

impl<T> Serialize for Vec<T>
    where T: Serialize
{
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
        where S: Serializer
    {
        let mut seq = serializer.serialize_seq(Some(self.len()))?;
        for element in self {
            seq = element.serialize(seq.element())?;
        }
        seq.end()
    }
}

@dpc I don't plan to put much more time into this for Serde 1.0. Would you be interested in helping me prototype an approach that works for you?
Here is some playground code of a simplified Serde 0.9 serializer API and two existing use cases to work off of.

I'm happy to review and comment as much as I can. BTW. Isn't this issue exactly what #386 was? I think at the end things settled on having an explicit State-like type. That was implemented in 0.8, and then changed into 0.9.
I've reviewed the playground link and it looks great to me. Though I wouldn't trust a review of me alone for such design decisions. I'm sure asking eg. on reddit for comments could bring some eyeballs to it.
Also, how are things with deserialization?

Some questions about the playground. What about the lifetime relation between Serializer and SerializeSeq?
Should serialize_char take &mut self instead?

Here is a brief history of #386:

You open #386.
You propose a way to support your use case in https://github.com/serde-rs/serde/issues/386#issuecomment-231603454.
We release the API you came up with in serde 0.8.0.
We adjust the API in serde 0.9.0 for a variety of reasons explained in the release notes.
Both 0.8 and 0.9 (but not 0.7) support push based serialization of top-level data structures but not nested data structures, as explained at the top of this issue.

The playground code is identical to the 0.9 API so I'm glad it looks great to you. Note that it does not support push-based serialization of nested data structures. I am leaning toward leaving this as is for 1.0 and possibly building format-specific functionality to fill in any gaps. For serde_json this would just be a slightly higher level version of ser::Formatter.
For deserialization I expect people will use tokio-serde which uses FramedRead behind the scenes.

After more thinking, I don't think this API will work for non-copy streaming in tokio the way I was thinking about. Basically, types implementing Future would need to be able to save the arbitrary state inside itself. If it's split between two objects with a lifetime dependency, borrowck won't allow to save it during that time.
But I guess deserialization story is more important here, since it's more common to have "half-of a a vector" as a byte representation that is being deserialized, than half of a vector as a Vec type that is being serialized. And to be honest, I am completely lost with deserialization API.
I'm sorry for not being much of a help here. I feel like I'm neither that competent, nor I have enough time to help here. :D
The optimistic part would be that even if serde has an API that might require some buffering, one can always resort to coroutines (as futures) if that would be a problem.

It doesn't seem like this is going to happen. As discussed upthread, we can flesh out this functionality in format-specific ways, similar to what serde_json does with serde_json::ser::Formatter.

It may be worth reconsidering this, especially in the context of some libraries replacing Read with AsyncRead. See discussion in: https://github.com/serde-rs/json/issues/575

Folks stumbling across this thread from a Google search may want to take a look at destream, which I wrote by modifying serde::Deserialize and serde::Serialize to support deserializing from and serializing into a Stream: https://docs.rs/destream/
This didn't require that many changes, so it might make sense to add traits like AsyncDeserialize and AsyncSerialize to Serde and have them forward to Deserialize and Serialize by default (if there's a pressing need for async functionality at all).

Folks stumbling across this thread from a Google search may want to take a look at destream, which I wrote by modifying serde::Deserialize and serde::Serialize to support deserializing from and serializing into a Stream: https://docs.rs/destream/
This didn't require that many changes, so it might make sense to add traits like AsyncDeserialize and AsyncSerialize to Serde and have them forward to Deserialize and Serialize by default (if there's a pressing need for async functionality at all).


Create geolocated-bar-chart-maps.md

This is the original tutorial from @kmricha4. Previously named Tableau.Tutorial.md https://github.com/NCSU-Libraries/data-science-cookbook/files/6385611/Tableau.Tutorial.md

@WaltGurley Thanks for the fixes.

I am making another commit with a revised attribution credit. Is that the best way to make those changes in the pull request workflow? Would need to figure out if the MIT license applies here too.
Yes, the whole tutorial kind of hinges on those weird calculated field blanks as a workaround for making the bars. In the new credit statement, I mentioned this page which describes how this method has been developed over time.
You are right there's a spreadsheet missing. I thought @kmricha4 was going to paste a table into the markdown. I'll have to see if I can get in touch with her or else recreate it.
So yes, there is still a fair amount of work to be done on this w/r/t images and .xls but I was trying to get it into the repo to capture the current work state until I could devote more time to it. May also want to delegate that work to Consultants, so your concerns could be turned into GitHub issues to assign.

@WaltGurley I made some improvements in the areas you mentioned. Could you go ahead and approving this pull request to get the main content .md in place? I could convert outstanding problems discussed here to issues.  I will change the bad URL in the /Tableau folder. Anything else you'd want to see before merging?


[WIP] uploads: Add support for resizing GIF with transparent background.

@shubham-padia FYI. This is completely raw as I was doing some testing on the code and haven't cleaned up.

@timabbott Sorry for the super-late follow up here, looks like there is already an issue for this: https://github.com/python-pillow/Pillow/issues/3357


fix: several typos in the docs

Description
Hello,
I fixed some typos that I found in the docs,
Hope it helps.
Br,
Tudor.

thanks for the correction!

hello @lispc i found this poap https://www.gitpoap.io/gp/1057
Is this contribution eligible ?


Network Share Navigation

Is your feature request related to a problem? Please describe.
I haven't spent a ton of time in the app yet but I have noticed that network shares are not easy to use. As an IT professional I was able to get there once I figured where to click but mapped drives don't seem to come through in the app. Network share load times are also pretty terrible. File Explorer can load the share in less than a second but Files takes 2-3 seconds for a small share and more if there are a lot of files or folders to list out.
Describe the solution you'd like
A speed improvement. More obvious navigation for network shares
Describe alternatives you've considered
I have not considered any alternatives. However, in my job I spend a lot of time in network shares and this speed issue makes files a non-starter for it. In my home life I also spend a lot of time working with network shares for my media server and again, this becomes problematic and time consuming.
Additional context
Add any other context or screenshots about the feature request here. Ex: What device type/UI layout and app version?
Not sure you need this, but I am running Windows 10 on multiple machines varying between 20H2 and Insider Dev Channel. Desktops and Dell 2-in-1

Merging with #2932

Merging with #2932


Does this library allow to serialize a JSON string to an object?

Does this library allow to serialize a JSON string to an object?

Hi @SnitramDev,
There's no shortcut for doing that, but you can easily add an helper that does just that.

First transform the JSON string into a JSON object Arrow can understand :

  func jsonFromJSONString(_ jsonString: String) -> JSON? {
        if let jsonData = jsonString.data(using: .utf8),
            let json = try? JSONSerialization
                .jsonObject(with: jsonData,
                            options: .mutableContainers) as? NSDictionary,
            let dic = json as? [String : Any] {
            return JSON(dic)
        }
        return nil
    }

Parse it

if let json = jsonFromJSONString(jsonString) {
  var myObject = MyClass()
  myObject <-- json
}

Hope it helps :)

Thanks. By the way, does the deserialization allow to maintain the order of the attributes when converting back to JSON? This is important for me since I need to compare hashes.

@SnitramDev  Well the order of an array is maintained but I can't assure that the order of the object keys would be :/
You can find some info here :
http://stackoverflow.com/questions/7214293/is-the-order-of-elements-in-a-json-list-maintained

closing for lack of activity


Not able to install Win10SDK_10.0.18362 via visual studio installer

I have updated Visual studio ,for cmake instal;ing opencv ,cuda version.After updating , showing that win10SSDK__10.0.18362 ,is not installed properly.
I have tried with after uninstalling and showing , installation couldn't  continue , your machine is installing a program other than Visual Studio
I am trying to solve this issue from last 2 days ,please tell me is there other way to install sdk separately or any ?

@Rishi5583 -- thank you for your question.  This repo is solely for documentation issues, with limited support options.  Are you following a particular docs.microsoft.com article?  Meanwhile, please consider these resources:

Visual Studio on Q&A
Visual Studio MSDN Forum
Stack Overflow
Reddit


Clipped Camera transform.origin and global_transform.origin does not take into acount displacement offset when colliding.

Godot version
3.5rc5
System information
Win7 GTX750
Issue description
The clipped camera origin (both global and local) does not reflect the real camera position wen the camera is displaced due a collision with something.
This snippet calculates the real origin.
var corrected_clipped_camera_origin : Vector3 = clipped_camera.transform.origin - clipped_camera.transform.basis.z * clipped_camera.get_clip_offset()
Steps to reproduce
Just make a clipped camera displace by collision and try to get the origin.
Minimal reproduction project
ClippedCameraBug.zip

@Janders1800 Please upload a minimal reproduction project to make this easier to troubleshoot.

Done

So, I've dug a bit around Godot's source code and I found out a couple of things.
Camera and ClippedCamera have a get_camera_transform function but it only works in global space.
https://github.com/godotengine/godot/blob/7d8adb2dc55ac49d7979f9cabd7cec3dc56ce3aa/scene/3d/camera.cpp#L160-L165
https://github.com/godotengine/godot/blob/7d8adb2dc55ac49d7979f9cabd7cec3dc56ce3aa/scene/3d/camera.cpp#L703-L707
Calling global_transform.origin doesn't takes into account the Camera's offsets, since Spatial's get_global_transform and Camera's are called different, this is pretty confusing at first, but I get why it's separated.
https://github.com/godotengine/godot/blob/7d8adb2dc55ac49d7979f9cabd7cec3dc56ce3aa/scene/3d/spatial.cpp#L384-L406
So this kinda falls more into a proposal now, add a local variant to get_camera_transform.
Close if you like.


Duplicate series error after alertGroup label deletition

After alertGroup label was deleted queries in NodeExporter with group_left return error when query span over deployment time.

Possible duplicate of #115

Fixed in node-exporter dashboard by wrapping right hand-side of group_left expressions with avg by (instance,nodename)
Future similar bugs in other dashboards will be fixed "per Issue".


gateway: Fragmented packet at the end of the epoch is dropped

gAt the moment, when the sequence numbers wrap over, new epoch is created.
However, if there's a split packet in the last fragment of the epoch, its trailing part will go to a different epoch and thus the packet will be dropped.
We should keep the epoch unchanged and use RFC 1982-style arithmetic to identify out-of-order fragments.

The sequence number is now uint64, the epochs never wrap over.

The sequence number is now uint64, the epochs never wrap over.