Cannot connect to extension, unable to start display - apparently after chrome os update

Hello
Samsung chromebook intel XE550. OS Version 44.0.2403.90 (64-bit)
Have been connecting via X for some months. Suddenly has stopped working. (after system update?). Have updated integration app and crouton.  Still failing to open saying check crouton extension.  The most recent extension is installed and enabled.
Any help appreciated.  Thank you.
croutonversion:
crouton: version 1-20150716185530~master:aba2c948
release: trusty
architecture: amd64
xmethod: xiwi
targets: xiwi,xfce,chrome-beta,keyboard,gtk-extra,cli-extra,audio,core,extension
host: version 7077.95.0 (Official Build) stable-channel lumpy
kernel: Linux localhost 3.4.0 #1 SMP Tue Jul 14 23:13:12 PDT 2015 x86_64 x86_64 x86_64 GNU/Linux
freon: no
Terminal output after startxfce4 command:
chronos@localhost / $ sudo startxfce4
Entering /mnt/stateful_partition/crouton/chroots/trusty...
/usr/bin/startxfce4: Starting X server
X.Org X Server 1.15.1
Release Date: 2014-04-13
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.2.0-76-generic x86_64 Ubuntu
Current Operating System: Linux localhost 3.4.0 #1 SMP Tue Jul 14 23:13:12 PDT 2015 x86_64
Kernel command line: cros_secure  console= loglevel=7 init=/sbin/init cros_secure oops=panic panic=-1 root=/dev/dm-0 rootwait ro dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 dm="1 vroot none ro 1,0 2506752 verity payload=PARTUUID=8d6ab8b2-bc59-dd45-9c23-355bd4190bd4/PARTNROFF=1 hashtree=PARTUUID=8d6ab8b2-bc59-dd45-9c23-355bd4190bd4/PARTNROFF=1 hashstart=2506752 alg=sha1 root_hexdigest=7dd377974793808a85371170b765030a528a0b03 salt=4432640abda878e0f9fd6478b59171cc00b36d3871913022ce05ded87d7216f6" noinitrd vt.global_cursor_default=0 kern_guid=8d6ab8b2-bc59-dd45-9c23-355bd4190bd4 add_efi_memmap boot=local noresume noswap i915.modeset=1 tpm_tis.force=1 tpm_tis.interrupts=0 nmi_watchdog=panic,lapic iTCO_vendor_support.vendorsupport=3
Build Date: 12 February 2015  02:49:29PM
xorg-server 2:1.15.1-0ubuntu2.7 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.30.2
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/tmp/Xorg.crouton.1.log", Time: Tue Jul 28 12:34:08 2015
(++) Using config file: "/etc/X11/xorg-dummy.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension SECURITY
Initializing built-in extension XINERAMA
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension COMPOSITE
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension Present
Initializing built-in extension DRI3
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension SELinux
Initializing built-in extension XFree86-VidModeExtension
Initializing built-in extension XFree86-DGA
Initializing built-in extension XFree86-DRI
Initializing built-in extension DRI2
Loading extension GLX
Unable to set master
xf86: found device 0
xf86: found device 0
/usr/bin/xinit: XFree86_VT property unexpectedly has 0 items instead of 1
crouton: version 1-20150716185530~master:aba2c948
release: trusty
architecture: amd64
xmethod: xiwi
targets: xiwi,xfce,chrome-beta,keyboard,gtk-extra,cli-extra,audio,core,extension
host: version 7077.95.0 (Official Build) stable-channel lumpy
kernel: Linux localhost 3.4.0 #1 SMP Tue Jul 14 23:13:12 PDT 2015 x86_64 x86_64 x86_64 GNU/Linux
freon: no
Cannot connect to extension, retrying...
Error: target STRING not available
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Unable to start display, make sure the crouton extension is installed
and enabled, and up to date. (download from http://goo.gl/OVQOEt)
Running exit commands...
/usr/bin/xinit: connection to X server lost
waiting for X server to shut down Hangup
Hangup
(EE) Server terminated successfully (0). Closing log file.
Unmounting /mnt/stateful_partition/crouton/chroots/trusty...

I have the same issue, creating a new chroot got me the same result.
The extension debugging shows it gets connected to and sees the window...

@fvant those are the same debug messages that I get. Not sure what to try next....

I'm having the same issue with the same debugging output from the extension on an Acer CB5 (Tegra ARM based), whereas my Haswell based Chromebox has no issues with xiwi and the extension.
https://github.com/dnschneid/crouton/issues/1940

OK, looked at the sourcecode and found something going wrong, a start of a fix I think.
In the debug window there is only a "C" command received, not an "X" that actually creates the window (see croutoncycle code).
I see that the code that sends the X never gets triggered (tested by increasing the timeout to 1000 in the startxfce4 script and then adding echo lines to croutoncycle)
Manually sending the X command, like the code would have, works fine, it created a window like before (but then empty)
echo 'X:1 xiwi' >/tmp/crouton-ext/in

@fvant Thank you for investigating further.  I'm afraid I know too little to help you!
One thing I have done is to add xorg to my chroot (sudo sh ~/Downloads/crouton -u -t xorg -n trusty) so I can use it without the extension i.e. not in a tab.
But when I launch the chroot - sudo startxfce4 - and do the refresh trick to view the desktop I see the desktop for a second and then it goes to black and refresh no longer does anything. Before I installed xiwi and extension the window method worked without a problem now not even that appears to work?

I commented out this call and all seems to work again ! :)  perhaps dnschneid knows why..
/usr/local/bin/croutoncycle, line 520 (in the chroot).  Commented out and added : to have something in the if statement;   you can also remove the whole if.
   if [ -z "$freonowner" ]; then
         :
    #    host-x11 croutonwmtools raise "$aurawin"
    fi
    STATUS="`echo -n "X${destdisp} ${xmethod#*-}" | websocketcommand `"

That seemed to allow the command "sudo startxiwi xterm" to properly work on my Chromebook.  Thanks.  So it seems possibly freon related as it works fine without that "hack" on a freon enabled Chromebox, but the Chromebook affected does not use freon.

I have the same problem on my Acer C710. I've updated my chroot and installed the latest crouton extension.
Version 44.0.2403.90 (64-bit)
Platform 7077.95.0 (Official Build) stable-channel parrot
Firmware Google_Parrot.2685.37.0
crouton: version 1-20150730171703~master:f8fdfb0c
release: trusty
architecture: amd64
xmethod: xiwi
targets: xiwi,xfce
host: version 7077.95.0 (Official Build) stable-channel parrot
kernel: Linux localhost 3.4.0 #1 SMP Tue Jul 14 21:44:12 PDT 2015 x86_64 x86_64 x86_64 GNU/Linux
freon: no
I'd like to try fvant's suggestion, but am unable to edit the file - mousepad says "Cannot open display".
How should I proceed?
Thanks!

I was able to replicate fvant's suggestions and get my crouton to run even though its a bit tedious.
Here's the steps if you've already done the edits fvant suggested:

Launch two terminals, and enter your chroot in both of them
In one terminal have your startxfce4 or whatever command ready
In the other terminal have echo 'X:1 xiwi' >/tmp/crouton-ext/in ready
Switch to your first terminal and enter your start command
Switch to your second terminal and enter the echo command

This should launch a blank screen, if your chroot boots into it, success!
Here's the steps for everything:

Start a terminal, enter your chroot, and change directory to /usr/local/bin
You should see a file named croutoncycle, thats the file fvant edits
Use sudo chmod 777 croutoncycle so we can write to the file
Use vi croutoncycle which is an editor should be installed by default, I have basic instructions later but vi isn't the easiest editor to learn so you may want to read about it
Scroll using pagedown to the code fvant suggested to comment out, its relatively close to the end of the file, it was 1-2 pageups from the end for me
Move the cursor with the arrow keys to these lines:
if [ -z "$freonowner" ]; then
    host-x11 croutonwmtools raise "$aurawin"
fi
The simplest way to comment the lines is, for each line:
7a. Move the cursor before the line and press i to start insert mode
7b. Enter a # character, then press Esc to end insert mode
7c. Repeat 7a-b until the three lines in 6 are commented
Make sure Esc was pressed so vi isn't in insert mode
Type :wq and then press enter, this should save the file and exit vi
Use sudo chmod 755 croutoncycle to revert the file's original permissions
Now make sure two at least terminals are open, in one terminal have your startxfce4 command or whatever ready, in the other terminal have echo 'X:1 xiwi' >/tmp/crouton-ext/in ready
Enter your start command in the first terminal then switch to the other terminal and enter the echo command, if everything works out your chroot should boot into a window.

The above worked for me. I had this issue and now at least I can get it running again. Thanks everyone.

@Ranctifier thank you so much for setting out what to do so clearly.  Works for me!

I followed @Ranctifier and am now running Crouton.  Thanks much!  Also, thanks for making me recall the time when I knew how to use vi!

Ok - so my os has just updated:
Version 44.0.2403.155 (64-bit)
Platform 7077.123.0 (Official Build) stable-channel lumpy_freon
Firmware Google_Lumpy.2.111.0
and now has freon. I've reinstated the commented out lines of code outlined by @Ranctifier and my chroot launches in a tab once again without using two terminals.

Just updated my os -

Version 44.0.2403.155 (64-bit)
Platform 7077.123.0 (Official Build) stable-channel parrot
Firmware Google_Parrot.2685.37.0

Which, I note, is not yhe same as @ukgda .
In any event, if I try to simply "sudo startxfce4", I get (as before)

freon: no
Cannot connect to extension, retrying...
Error: target STRING not available
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Cannot connect to extension, retrying...
Unable to start display, make sure the crouton extension is installed
and enabled, and up to date. (download from http://goo.gl/OVQOEt)
Running exit commands...
/usr/bin/xinit: connection to X server lost
Hangup
Hangup
waiting for X server to shut down (EE) Server terminated successfully (0). Closing log file.
Unmounting /mnt/stateful_partition/crouton/chroots/trusty...
Sending SIGTERM to processes under /mnt/stateful_partition/crouton/chroots/trusty...

The two terminal from @Ranctifier still works.

Thanks @fvant, for explaining how you found it too.
I edited the file and it worked immediately (no second terminal with extra-command required).

Dito. (@rob6502)
Fresh installation with -t xiwi,xfce -r trusty on
Version 44.0.2403.156
Plattform 7077.134.0 (Official Build) stable-channel nyan_big
Firmware Google_Nyan_Big.5771.63.0

The work-around by @fvant works for me on my Asus Chromebook 13 (nyan-big), too. Thanks a lot! What about including the fix by default?

The workaround works also for me :) Thank you !

@dnschneid - Is this issue/fix just an issue on ARM Chromebooks or can other platforms benefit from it too ?

I have an Intel Samsung Chromebook.

Crouton (or at least the arm part) does not seem to get a lot of love these days. Certainly, reapplying the fix after every update is not a reasonable solution to this problem.
I would also consider switching to a different desktop and/or distro, but most things do not work extension-wise or not at all (like GNOME with a recent distro version, I assume there is a arm-related problem with GNOME3?).
@dnschneid Any suggestions to make life easier (except for buying a x86 chromebook)?

I think crouton needs to drop xephyr support, and the subsequent cleanup and simplification will make this a lot more reliable and easier to debug.

Confirm this issue on vanilla self-built freon-less (!) Chromium OS. @fvant fix https://github.com/dnschneid/crouton/issues/1976#issuecomment-126783866 is needed, and indeed it helps! Thank you!
@dnschneid so the question arises: Is non-freon compatibility still maintained for crouton xiwi and xorg?
Just for the info: third-party pre-ready builds like CloudReady and ArnoldTheBat special are currently not compliant with crouton for graphics. This is the problem of these builds, not crouton. See: https://github.com/dnschneid/crouton/issues/2431 This is not issue for sure if you use Chrome OS or self build Chromium OS.

@DennisLfromGA @dnschneid

I'm just wondering what changed that host-x11 croutonwmtools raise "$aurawin" is failing ???
Got broken in non freon Chromium OS builds by this old commit https://chromium.googlesource.com/chromium/src/+/1c007d5de979461ae400c95c4309e2955de094c6
It also brakes clipboard sync between host and other displays.

(I know this is an older thread, but...)
I had what seemed like the same issue and found this thread.  In fact what my issues was (ASUS Flip) was that I had the Crouton extension loaded in both profiles I had two open.  I had a black window with "connecting..." showing.  However, when I switched to the other profile I noticed the Trusty desktop had opened there!
I disabled the extension so it is active in only the one profile and all is well.  :v)

We dropped xephyr support, hopefully this is fixed in the process?

I am also having an issue with crouton integration extension.
"connecting...
Disconnected (retrying every 5 minutes) extension started 2.5.2
I was following Ranctifier) commented on Aug 3, 2015) adivce but I couldn't locate step 6....
Move the cursor with the arrow keys to these lines:
if [ -z "$freonowner" ]; then
host-x11 croutonwmtools raise "$aurawin"
fi
since he posted in 2015... the files have probably changed since then?
I'm running CB35 Toshiba Chrome book 2.  Any of you guys have suggestions?

Happened again w/ latest update:
Revision	0
Platform	9202.64.0 (Official Build) stable-channel chell
ARC	3880239```

...this is terrible and basically kills chromebook as a stable developer machine.  I dread reboots b/c 20% of the time there's an update that kills crouton support and then I'm in a 1-hour to 1-month struggle to get things back running, migrating, etc.


feat: results container component and grouping of similar results in …

…specific domains
closes #28
I noticed bitcoin_talk domain also has a lot of repetition in the results so I grouped it as well

This PR covers the grouping, If the implementation is sufficient then we discuss the implementation for the results when some facets are selected

Is this branch rebased on master? It seems like the default is 20 again.

I really like the choices you made here. Good job! I will work on cleaning this up on the backend to make the results even more coherent.
It feels weird that prior mailing list posts are in the pull-down as a result of boosting certain authors and keywords found in the body. But I'm happy with this as it was the last thing that was really bothering me before sharing this more widely.

I really like the choices you made here. Good job! I will work on cleaning this up on the backend to make the results even more coherent.
It feels weird that prior mailing list posts are in the pull-down as a result of boosting certain authors and keywords found in the body. But I'm happy with this as it was the last thing that was really bothering me before sharing this more widely.

Awesome. Glad to hear that ✨


Performance hits

Hi there,
I'm looking into performance bottlenecks and was wondering if you could tell me if your package has anything to do with it.
When I look at https://www.dropbox.com/s/1zxnfwgohu7syp2/Screenshot 2016-04-06 20.29.45.png I can see some state setting and came across some isFrozen stuff.
My JS Heap is quite high at the moment those things fire. Could you advice me or guide me somewhere, where I can look at to see where I can improve things?
Right now I am enjoying the simplicity, but do not want to swap performance for "easy to use".
I'm not sure if it's your package, but I have a weird feeling it has something to do with it.

Hi @xtrasmal, thank you for making an observation about the peformance. I'm glad to know about the performance issue.
Well, I don't know about internal stuff of Freezer.js such as isFrozen. But after having break time with this project, I realize that Frozen doesn't do the Immutabilty, it just works as an event emitter that listen on the object.
And maybe I will change the Freezer js with another Object listener library soon.
How do you think? If you have any suggestion, I would be glad to hear it~


[QUESTION] Hi is it possible to render a video using a file object?

Hi is it possible to render a video using a file object?
Thank you!

It is possible but you have to convert it to ObjectUrl
 window.URL.createObjectURL(file)


Redundant declaration of some properties?

Why is it necessary to define the same property in some cases both at the class level and inside the constructor?  For instance:
https://github.com/stac-utils/stac-asset/blob/6f7f12c802234f5aaf4afa27987894b806cd29b7/src/stac_asset/http_client.py#L25
https://github.com/stac-utils/stac-asset/blob/6f7f12c802234f5aaf4afa27987894b806cd29b7/src/stac_asset/http_client.py#L42
Isn't this redundant? Could docstring be added solely to the constructor instead?
It lacks consistency; for instance, the sas_token_endpoint is only defined within a constructor for PlanetaryComputerClient.

Thanks! I didn't understanding sphinx-autodoc well enough, and I thought I had to declare the docstrings on the class-level definitions. #170 should fix.


[NSFS] Add support for restore-object

Explain the changes
This PR adds

Primitive support for restore-object API in NSFS.
Support for storage-class in head/get-object.

[ ] Doc added/updated
[ ] Tests added

@tangledbytes what about adding a few unit tests? :)


OpenSSL 1.1.1k DTLS server responds to invalid Finished by re-transmitting ChangeCipherSpec, Finished

Description

Type: Bug
Priority: Minor

Non-conformance Bug
OS
Linux, Ubuntu 20
Build
Version: 1.1.1k
Affected Versions
DTLS 1.2
Related issue
9219 in which I present the entire state machine of an older OpenSSL version, which also exposes this behavior.
Problematic behavior
After completing a handshake, the OpenSSL server responds to all Finished messages it can decrypt by re-transmitting ChangeCipherSpec,Finished. This is the case even for Finished messages whose message_seq and verify_data fields are different to those of the original Finished. These messages should have been discarded/not processed.
Steps to Reproduce
I attached files necessary for reproduction (see reproduction.tar.gz) using DTLS-Fuzzer, a Java-based tool for testing DTLS libraries based on TLS-Attacker. Also included in the archive is a capture of the interaction,  generated on my machine. DTLS-Fuzzer requires  the JDK for Java 8. On Ubuntu, this can be installed  by running:
sudo apt-get install openjdk-8-jdk
Unpack the archive, cd to resulting folder and run bash reproduce.sh test_sequence, while running an instance of Wireshark on the side. The reproduction script will:

setup OpenSSL and DTLS-Fuzzer;
launch DTLS-Fuzzer, which will launch the OpenSSL server and  execute input sequence found in test_sequence.

Reproduction can, alternatively, also be performed by running in two separate terminals:
openssl-1.1.1k/apps/openssl s_server -psk 1234 -key rsa2048_key.pem -cert rsa2048_cert.pem -CAfile rsa2048_cert.pem -Verify 1 -accept 20000 -dtls1_2 -timeout 5000 -mtu 5000
java -jar dtls-fuzzer/target/dtls-fuzzer.jar dtls-fuzzer-manual.args -test test_sequence
If everything works as planned, Wireshark should show an interaction similar to that in the image below:

It can be seen from the snapshot that the OpenSSL server responds to the second Finished by re-transmitting ChangeCipherSpec and Finished. If we look more closely at what is inside of the first and second Finished received by the server, we see that their handshake contents are different. Namely, both message_seq and verify_data differ.
Note that, in order to enable Wireshark to  decrypt Finished messages we can provide it with the psk used in the handshake, which is 1234.
First Finished

Second Finished

Thanks!
reproduction.tar.gz

Sure looks like https://github.com/openssl/openssl/blob/647a5dbf10227d65919b49d078da4eaca313f921/ssl/record/rec_layer_d1.c#L666-L680 is only looking at the message type and not the body, yes.


Update 99-arduino-udev.rules

updating udev rules

Thanks.
This seems strange in that idProduct is typically a 4 digit hex number and not a long string, but I take it this works for you, so I have merged it.


⚠ ESPN has degraded performance

In 8f6f568, ESPN (https://espn.com) experienced degraded performance:

HTTP code: 200
Response time: 1327 ms

Resolved: ESPN performance has improved in 71380a9.


[WIP] contents(anthon): general updates

This is a WIP draft of updated document about AOSC OS contents/anthon.mdx
Contents are subject to be modified and force-pushed as in draft status.
This is my first-time contribution to mirrorz. Any guidance is appreciated.

Suppressed by #178. Closing.


Major issue! if the endpoint is /models, then there is an error message in the browser at /documentation

http://stackoverflow.com/questions/33507853/swagger-hapi-path-models-generate-errors

Uncaught TypeError: model.setReferencedModels is not a function at swagger.js line 223

Yes models is part of swaggers internal structure and it look like there is an issue in the swagger.js file when dealing with endpoints that use models as part of the URL for an endpoint.
The easy fix for this is to use a nickname. This changes the internal ref in swagger, but the UI should still say models and it will fire against your endpoint correctly.
{
    method: 'GET',
    path: '/models/{username}',
    config: {
        handler: function (request, reply) {
            reply("list of models")
        },
        description: 'Get todo',
        notes: 'Returns a todo item by the id passed in the path',
        tags: ['api'],
        plugins: {
            'hapi-swagger': {
              nickname: 'modelsapi'
            }
          },
        validate: {
            params: {
                username: Joi.number()
                    .required()
                    .description('the id for the todo item')
            }
        }
    }
}

Please let me know if this works for you


Overlay Issue

The Value of the "Dewheater" Module is shown on the Overlay Editor in "Display Sample Data" Mode, but not on the Saved Frame m- only ???
Describe the bug
I am at least no IT Guy and struggle to bring everything to work. So i Found out that the "Dewheater" Module not only set a Relay, it will Display the DHT22 Sensor Data and Heater Status on the Frame. So i Installed the Modules and Activate in Allsky the Module. I Conigurate it and in the Overlay Screen it work with the correct Data!
But in the Saved Frame only ???
Allsky Information:

Bookworm 64bit - Lite
Allsky Version: v2023.05.01_04
Pi model: Pi 4 Rev B 4 Gig
Camera: RasPi HD Cam

Sensors
DHT22 (on Gpio 15)
Additional context
I Wonder that it work on the Overlay Screen but not in the Final saved Frame.
As i Mentioed - i am at least no IT Guy and have Problems with all of the Linux and Python Stuff. So i think  - for a Windows Guy - the Problem is shurly only a click that is missed......
My Item for Temperature is "  Temp: ${DEWCONTROLAMBIENT} °C "
If Anyone give me a bit of help i would be happy
Thx
Skplgi

Rtfm.... i did not realy double saved the new variables in the Variable manager.... so i only get ??? .... sorry


EntropyCrop error after update

I updated my ImageProcessor package via NuGet to latest version and now I get the followng error

The URL to file and error is
https://www.multicom.me/Katalozi/Slike/Velike/23500-d90882de-3282-4eea-b8cc-04816b9c614c.jpg?entropycrop=128
I am targeting NetFramework 4.7.1
ImageProcessor <IP_ADDRESS>
ImageProcessor.Web <IP_ADDRESS>
What might be the problem ?

What might be the problem ?

An invalid cast by the look of the stack trace.
However. From the Readme:

ImageProcessor is in Soft Archive Mode.
Focus for the ImageProcessor libraries has switched to a new library ImageSharp. As such, no new features will be added to this library. Bug fixes will continue to be added and only via PR.

Downgrading to ImageProcessor v<IP_ADDRESS> fixesthe problem

Downgrading to ImageProcessor v<IP_ADDRESS> fixes the problem

While introducing other issues. I never understand why people comment like this, not helpful to anyone.

Just created a PR now to fix this issue: #746

Thanks, merged. Will do a release soon.


Add threadmark when posting or replying

When quick-replying, add a field to enter a threadmark is the user is permitted to add threadmarks.
On posting replies via More Options, it should also be possible to create a threadmark.

https://github.com/sidane/xenforo-threadmarks/issues/50


Differences between foss apk and. apk

Hi,
What are the differences between the foss apk and the regular apk in the release section?
Thank you.

FOSS and regular are the exact same except for the inclusion of a google play sdk which enables in-app updates in the regular version (which are not active currently, so there is no functional difference at all as of now).

OK, thank you.


[Feature Request] Use human identifiable colors

Thank you for your work on bk. I've only been using this app to read epub, ever since I'd first tried.
I appreciate you adding the ability to define colors (hex codes) for background and foreground. While that's an improvement, it is still very difficult to get hex codes for colors when I'm not on a computer. I would suggest to add human readable/writable color names, like, Graphicsmagick's Color Names. While at it, I'd like some preset themes added, as implemented by another rust project - bat.
I haven't worked on a rust project before, so, it does seem like a good time to pick it up.

Hi thanks for the request. I like the idea of bundling themes, which would you suggest? I'd prefer popular themes already bundled with other rust projects. Also be warned, if you do want to contribute code, the theming code here is particularly bad :). This could be a good time to look into using a separate config file.

I like the idea of bundling themes, which would you suggest?

I'm glad you liked the idea. I do like GitHub theme for light backgrounds, and Solarized in general but I'm not hung up on either of those themes. Previously I'd used Books and Reasily, as EPUB readers. Both of those of readers support embedded CSS in e-books.

Also be warned, if you do want to contribute code, the theming code here is particularly bad :).

I'm going through both bk and bat sources to get a hang of the implementation, and referencing rust lang documentation, as and when required. I'll run my ideas by you before proceeding.

This could be a good time to look into using a separate config file.

Sure, that would be good to retain values for existing options too, such as, bg, fg, width & toc.

support embedded CSS
that is a much larger task, but doable

@jeevatattva any progress? I may make a new release next month.

Epr has Colorschemes.
Epy has Color profiles.
Baca has Color Dark and Color Light definitions in ~/.config/baca/config.ini.
Maybe define colors in shell variables, like nnn or a simple conf|ini in ~/.config/bk.
With at least 5 popular options and a custom on with hex values is enough. Like:

Gruvbox
Molokai
Dracula
Solarized Dark
Zenburn
Nord

Base 16 family ... (a lot of themes, with color definitions)


column-offset function

I'm looking for an easy way to calculate just the offset of a column (think of bootstrap's col-sm-offset-3).
column-width(3/12) + column-gutter(1/12) would be an easy way to calculate this but both of those functions return a string.
To get rid of the string I need the following code:
$offset3: to-number(str-slice(column-width(3/12), 0, -2)) + $gutter + unquote("%");
where to-number is an annoying helper function just to get the percentage string to be recognised as a float.
Is there any way column-width and column-gutter can be modified to only return a float?

You're trying to get column-width + column-gutter? Or do you need half a gutter?
I think we could add something like span-width to do this.

I'd also heavily suggest you check out postcss-ant. It was specifically developed to get whatever sizes you could possibly imagine in an intuitive way.
For instance, here is a column, column + 1/2 gutter, column + full gutter: https://codepen.io/corysimmons/pen/dvNNbj?editors=1100

yeah, column width (3/12) plus one whole gutter width.
with a '12 column' grid the column-offset for 3/12 would
(1/12 column + 1/12 gutter)*3
On Wed, 8 Mar 2017 at 21:35 Cory Simmons<EMAIL_ADDRESS>wrote:

I'd also heavily suggest you check out postcss-ant
http:///corysimmons/postcss-ant. It was specifically developed to get
whatever sizes you could possibly imagine in an intuitive way.
For instance, here is a column, column + 1/2 gutter, column + full gutter:
https://codepen.io/corysimmons/pen/dvNNbj?editors=1100
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mojotech/jeet/issues/525#issuecomment-285161007, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADJIhOtfrdNIKGeXXjqZGTgFASYfIMvxks5rjxEogaJpZM4MXLoj
.

Before Jeet I used to ONLY use Less CSS.
And in LESS it's pretty easy (if Jeet supported LESS):
@column2: column-width(2/12); // 14.1666666667%
@gutter: column-gutter(1/12); // 3%
.col-sm-offset-3 {
margin-left: (@column2 + @gutter);
}
And the margin-left would be an added up percentage (17.1666666667%).
No need for postCSS, just LESS compiling to CSS.
On Wed, 8 Mar 2017 at 23:13 Luuk Lamers<EMAIL_ADDRESS>wrote:

yeah, column width (3/12) plus one whole gutter width.
with a '12 column' grid the column-offset for 3/12 would
(1/12 column + 1/12 gutter)*3
On Wed, 8 Mar 2017 at 21:35 Cory Simmons<EMAIL_ADDRESS>wrote:
I'd also heavily suggest you check out postcss-ant
http:///corysimmons/postcss-ant. It was specifically developed to get
whatever sizes you could possibly imagine in an intuitive way.
For instance, here is a column, column + 1/2 gutter, column + full gutter:
https://codepen.io/corysimmons/pen/dvNNbj?editors=1100
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mojotech/jeet/issues/525#issuecomment-285161007, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADJIhOtfrdNIKGeXXjqZGTgFASYfIMvxks5rjxEogaJpZM4MXLoj
.

Sorry, I hate, and have hated, LESS' syntax so I never ported Jeet to it.
Why would you need the full gutter? span() works by getting half gutter. I see a case for span-column() being introduced, but think your need might be too fringe to warrant more API.
So far as postcss-ant, if you're already into a project, then I wouldn't migrate, but for future projects you should really look into it. It works with any preprocessor (i.e. LESS) or even vanilla CSS.
I think wrapping what you're trying to do in a function is your best bet for now: https://codepen.io/corysimmons/pen/bqgrqo?editors=1100
And this should serve as a lesson that Sass, and other preprocessors, are grossly underpowered. I think they should be used for syntax sugar, but for libs, or anything custom, PostCSS is king.
@pixeldesu Thoughts on this issue?


feat: handle MethodNotFound errors in JsonRpcProvider

Motivation
Currently JsonRpcProvider does not do any error parsing when the error message is on the result key (e.g. response.result rather than the expected response.error). These raw errors are not intuitive to users.
Description
This PR checks for string values of result.error on the RPC response and throws an exception if it matches a known pattern for an RPC error using the existing getErrorTypeFromErrorMessage  method. This makes it more consistent with the error handling performed for structured errors.
I don't currently know which other RPC endpoints return errors in this way but if it is possible to enumerate them we can ensure they have the same coverage here.
Before:

After:

Checklist

[ ] Read the contributing guidelines
[ ] Commit messages follow the conventional commits spec
[ ] Performed a self-review of the PR
[ ] Added automated tests
[ ] Manually tested the change

I'm puzzled as to why tests fail now for test/account_multisig.test.js despite there being no changes there

The idea of having understandable error messages looks great to me and was implemented in #1275 based on the latest version of the library and without merge conflicts
I'd suggest closing this one so we don't leave it out of date

Closing as it's been resolved by #1028


Fix touch_array with keep order

By default touch_array inserts the array at the top of the node. When keep order is set to true, touch_array will now insert new arrays at the end of the node.
PS: Overwritting existing nodes already kept their position.
Closes #177

Thanks a lot. Just tested the changes. Work like a charm 😸


Tooltip withing same function does not update

I call the same function repeatedly applying new filters on data. Also each time I define a new tooltip. However this only works once. The content of the tooltip then gets fixed. Is there any way to clear the content and create new tooltip from scratch? .destroy() and d3.selectAll('.d3-tip').remove() do not help.

Triaging Issues.  Closing as not a bug and underspecified.  Can you please provide a working example of your problem?


Update README.md

Added link to F# implementation
Added description for $ and @ operators

@adamchester just out of curiosity, why is there a F# implementation next to the C# one? We can use both from any .NET language?

Two reasons:

it was fun for me to write in F#
some do not want a nuget dependency. I was hoping to make it useful to the widest possible audience.

(I suppose also that needs might be slightly different at some point - for example, F# users will expect discriminated unions and records to render slightly differently out of the box - see https://github.com/destructurama/fsharp)

Cool! Thanks! I'm also curious to do something with F#, but haven't found a opportunity to do something with it yet.


nb::handle: make bool conversion explicit to avoid ambiguity with integer conversions in derived types

An explicit operator bool() can still be used in conditional tests without a cast (if (h) { ... }) and is a better match for the explicitness of, for example, operator int() in nb::int_. Without this change, if you write
void fn(nb::int_ ival) {
    int i = ival;
    printf("%d\n", i);
}

then fn(nb::int_(42)) will print 1. (Only implicit conversions are allowed by the initialization style used, so the implicit operator bool in nb::handle is eligible while the explicit operator int in nb::int_ is not.)

Oh yes, let's have this. I am surprised it was not explicit to start with.


IPNS over PubSub Pinning

There is on-going work to make IPNS over PubSub have a faster initial resolution time by adding persistence to PubSub (e.g. libp2p/go-libp2p-pubsub#171). This scheme works in p2p scenarios where various users are each subscribed to the PubSub channel named after the IPNS Key. However, another use case we'd like to support involves having dedicated pinning nodes that can each provide many IPNS Keys.
Audience: IPNS users that want to plan to provide many IPNS keys from a single machine. This may also include IPFS pinning services interested in providing IPNS support.
Impact: Will enable interactions such as users publishing content to IPNS and paying someone else make sure it's available, all without giving away their private IPNS signing keys.
Stakeholders: go-ipfs team (and infra if we'd like to test deploying a pinner internally)

I definitely want to see an IPNS pinning service in some form ... it appears there may be multiple ways to implement such a service... eg. republishing existing IPNS records in the DHT (not pubsub).
Various related ideas have been around for a long time!

https://github.com/ipfs/go-ipfs/issues/1467
https://discuss.ipfs.io/t/ipns-max-lifetime/2130/5
https://github.com/ipfs/go-ipfs/issues/3117

I recall some discussion (perhaps in the last IPNS Tiger team meeting?) about the meaning of the TTL in the IPNS records, and how that possible could be extended, and how third-party peers might be able to republish IPNS keys to keep them alive in the DHT.
Of course, the DHT is slow, so I'd like to understand better how IPNS interacts with pubsub, and how the proposed persistence layer would work. There seems to be some differing opinions on where the persistence might live on the network and in the code, so we might want to try implementing several different approaches to facilitate discussion and see what works best by doing testing (if we have the luxury of taking some time to get it right).

It is very difficult currently to find out what works and what does not. Pinning ipns names still seems to just hang (all my deamons are started as ipfs daemon --enable-namesys-pubsub --enable-pubsub-experiment and I publish with ipfs pin add /ipns/QmQUcC5iRXee1QCgavsT1oWwGRzbSZPm8PhudWmUGWDmp8). There is an old thread about pinning ipns names (https://github.com/ipfs/go-ipfs/issues/1467) but it is still unclear to me whether it works or not...

The definition of pinning that I am using has two components:

Data is pinned by a node if that node endeavors to make sure the data is not lost (e.g. during reboot)
Data can be pinned if it can be published/advertised by nodes other than the node that originated the information.

This is particularly important because it explains why IPNS cannot currently be pinned (no delegated republishing in the DHT and PubSub isn't useful for initial content resolution/as a source of truth).
Additionally, it implies a performance/scale ability since this allows the existence of "pinning services" that will pin data on behalf of many many users.

@marcinczenko if I understand correctly ipfs pin add  pins the CID (data) at the end of that path and not the pathing itself. More concretely, if QmKey is the IPNS key that points to QmData then ipfs pin add /ipns/QmKey results in QmData being pinned (i.e. it won't be garbage collected).
I'm not sure if you were running into issues with IPNS publishing over PubSub (e.g. ipns name publish QmData), but there is an issue being tracked at libp2p/go-libp2p-pubsub-router#28. Fortunately, libp2p/go-libp2p-pubsub-router#29 should make IPNS publishing much faster while we work on the other parts of the above issue.
@jimpick An overview of IPNS over PubSub now and with some of the proposed changes are below
Currently
Most of the go code for this is available at https://github.com/libp2p/go-libp2p-pubsub-router
First time publishing (per boot of the node)
When doing an IPNS publish the publishing node both puts the latest IPNS record in the DHT and bootstraps the PubSub network for the particular IPNS key. The publisher then sends to the IPNS record over the PubSub network.
PubSub Bootstrapping
Bootstrapping has two components: The node advertises that it supports PubSub for a particular topic/IPNS Key, and the node discovers other nodes that support PubSub for the given topic/IPNS Key. The advertising/discovery mechanism currently used for PubSub is to put/retrieve DHT provider records (i.e. the publisher's peerID and multiaddresses, like we do for IPFS) for the data pubsub:IPNS Key.
Subsequent publishing
Publish the IPNS record to the DHT and over PubSub
First time resolving (per boot of the node)
Do an IPNS resolve over the DHT and bootstrap PubSub to the particular IPNS key. The resolution occurs over the DHT since unless you are lucky enough that a PubSub node publishes an update while you're in the middle of resolving PubSub will have no records available.
Subsequent resolving
If messages came in over PubSub since the first resolution then the latest message will be cached and waiting to be returned during a subsequent resolution.
Proposed IPNS over PubSub Improvements
PubSub Bootstrapping
Make PubSub's bootstrapping mechanism compliant with anything following the discovery interface. See libp2p/go-libp2p-pubsub-router#28 for more details.
First time resolving (per boot of the node)
Most of this work is on-going at libp2p/go-libp2p-pubsub#171
Race the DHT against PubSub for resolving the data. However, this time it will be possible for us to receive data from PubSub because as soon as we connect to a PubSub node subscribed to our topic/IPNS Key they will send us the latest version automatically. This seemingly small change both makes IPNS initial resolution much much faster and gives us republishing basically for free.
Where IPNS over PubSub Pinning comes in
Given that we have IPNS over PubSub improvements coming down the pipeline that will finally enable us to actually do pinning/non-author republishing I'd like us to start working on how this pinning will work. There are some UX suggestions at ipfs/go-ipfs#4435, but there's space to explore here both in the UX and connection/resource management.

Thanks @aschmahmann for you explanation.
Yes, this is what I expect as well.

I first added a content to one node. You can check it by doing:
$ ipfs dag get /ipfs/zdpuB3Pn7miXhJ7pGM38EcSJ7mugkAMX3kHAPyVggXHJrRERo | jq

I publish the resulting CID to IPNS => I get IPNS name.
$ ipfs name publish /ipfs/zdpuB3Pn7miXhJ7pGM38EcSJ7mugkAMX3kHAPyVggXHJrRERo
Published to QmQUcC5iRXee1QCgavsT1oWwGRzbSZPm8PhudWmUGWDmp8: /ipfs/zdpuB3Pn7miXhJ7pGM38EcSJ7mugkAMX3kHAPyVggXHJrRERo

I am going to another node that I own.

I am checking if the name published on the previous node resolves - it takes time, but yes it resolves correctly:
$ ipfs name resolve /ipns/QmQUcC5iRXee1QCgavsT1oWwGRzbSZPm8PhudWmUGWDmp8
/ipfs/zdpuB3Pn7miXhJ7pGM38EcSJ7mugkAMX3kHAPyVggXHJrRERo

Then I do
$ ipfs pin add /ipns/QmQUcC5iRXee1QCgavsT1oWwGRzbSZPm8PhudWmUGWDmp8

And the last one does not seem to return. BTW, it does not matter if I try to pin with /ipns prefix or not. The result is the same - it hangs.
What I expect is that zdpuB3Pn7miXhJ7pGM38EcSJ7mugkAMX3kHAPyVggXHJrRERo is pinned on my second node (the one from which I issue ipfs pin add /ipns/.... So when I do ipfs pin ls I should see it on the list. Right?
IPNS is crucial for our project. We are building a self-sovereign identity system based on IPID DID method. We will most probably use DNSLink for awhile, but IPNS is the target. I hope I will have time to dive into this...

Earlier I found this thread https://www.reddit.com/r/ipfs/comments/9szwhl/is_there_an_api_for_uploading_files_to_a_remote/ and I wanted to observe if the following comment on that thread is true:

Depending on what you want, you may not even need a library:
Put IPFS on your desktop. Put IPFS on your server. Have your server pin the IPNS name for your desktop. Boom done.
Now any time you pin something on your desktop, your server will mirror it. Even if you are offline, it will start mirroring when you connect.

I just realised that port 4001 was not open for my first node (ip changed). This is may the reason why it was hanging... I am checking it now again. I see much more peers now...

Ok, so indeed I had a bit of mess with my port configuration. Running two nodes on the same local network and expect port forwarding to work without changing the ports is not wise.
So in the end I managed to get peers connected via ipfs swarm connect. Then I republished the name, which then resolves immediately. Content also resolves immediately. And then pinning the IPNS name also does what it should - it gets the referred content pinned.

@marcinczenko If you could give me a log of your commands and outputs it might be easier to diagnose. However, my instinct is that either your second node is not properly connected to the network or that in the DHT walking required to currently resolve the IPNS address (in the current implementation as opposed to the aforementioned PR IPNS over PubSub still gets data from the DHT initially) your nodes is having trouble locating the information.
If you're still not finding the data even after an ipfs swarm connect + manually republishing from the authoring node while the searching node is doing its resolve then there are almost certainly configuration problems.

@aschmahmann I am trying to observe what's happening. When I have a more structured observation (I will be testing more and over next weeks) I will share.
I think it is still a bit too early for me to make conclusions, but from what I see, ipfs name resolve have tendency to return Error: context deadline exceeded, but then after trying it a couple of times it seems to finally pick it up. What you say about "manually publishing from the authoring node when the other node is doing its resolve" indeed seems to have immediate impact: the resolving node is getting it almost instantly after the other node is publishing (I feel it resolve even before the other one finished republishing. I think that my configuration is ok, things seem to do what they are expected to do - the glitch is that I currently have a feeling it is hard to depend on it as sometimes I need to try more than once or maybe even restart the daemon (but as I said I still have too little data to make conclusions). Doing ipfs dht findpeer seem to work most of time (although occasionally I get error saying that the route cannot be found - sorry I did not capture the actual response for this one). And then ipfs swarm connect also works most of the time, although recently it feels to me that I had to restart the daemon on the other node to accept connection. When it fails, it fails this way:
» ipfs swarm connect /ip4/<IP_ADDRESS>/tcp/4001/ipfs/QmevpVT42bVGWoz76u1naEfjPVdwptqQVugevNmXUJPCbi
Error: connect QmevpVT42bVGWoz76u1naEfjPVdwptqQVugevNmXUJPCbi failure: context deadline exceeded

And by the way, the efficiency of ipfs name resolve is correlated with with the output of ipfs name pubsub sub. When the name to be resolved is included in the output, then ipfs name resolve resolves quite fast (even when the nodes are not directly connected in a swarm):
» ipfs name pubsub subs
/ipns/QmQUcC5iRXee1QCgavsT1oWwGRzbSZPm8PhudWmUGWDmp8
/ipns/QmXKJcdEmXoGaAKoyKBR8SSCmdeS6i8kbsicY146zUuj7P
/ipns/QmNqXtJy3x2EXgABGD2BRWoJ5x4eY9pddn4Hr5sy55ZzJt

Which to my current understanding, seem to make lots of sense.
So, I hope when I do more testing I will have more structured feedback. I need to make tests where the publishing node republishes regularly as now I am not too disciplined in doing that. Soon we will have more node at different physical locations (running on RaspberryPI) and also some hosted on AWS to compare.
I will also try to (re)educate myself a bit and hopefully soon I will start digging more into implementation details. Till then, thanks in advance for your all your answers.

An update on my testing. I am testing IPNS pubsub on two stable nodes in different geographical locations. The nodes are stable, always on, and having a fixed external IPs.
I will call one node a publisher (node id: QmPTKK2mrmkBgBrYni6cd8cDBtxhtfj5ADsZk8RBnYM3WJ) and the other one a subscriber (node id: QmevpVT42bVGWoz76u1naEfjPVdwptqQVugevNmXUJPCbi). Initially the nodes are not directly connected:
# issued at subscriber
$ ipfs swarm peers | grep QmPTKK2mrmkBgBrYni6cd8cDBtxhtfj5ADsZk8RBnYM3WJ
// EMPTY

and I am using pubsub in the gossipsub mode:
$ ipfs config Pubsub.Router gossipsub

On a publisher I do the following:

I add some content:
$ echo "{\"text\": \"Demo Content\"}" | ipfs dag put --format=dag-cbor --hash=sha2-256
zdpuAzbUtM4bXo79KpFeCXeBUeUuAnbypPapoTPukJTMQsULN

I pin it:
$ ipfs pin /ipfs/zdpuAzbUtM4bXo79KpFeCXeBUeUuAnbypPapoTPukJTMQsULN
pinned zdpuAzbUtM4bXo79KpFeCXeBUeUuAnbypPapoTPukJTMQsULN recursively

I am creating a new key:
$ ipfs key gen --type=rsa --size=2048 test-key
QmZsR3ojf6WiM5ZKDyXQSmwh33zHK248473Mbf1B8GjAnG

I am publishing under this name:
$ ipfs name publish --key=test-key /ipfs/zdpuAzbUtM4bXo79KpFeCXeBUeUuAnbypPapoTPukJTMQsULN
Published to QmZsR3ojf6WiM5ZKDyXQSmwh33zHK248473Mbf1B8GjAnG: /ipfs/zdpuAzbUtM4bXo79KpFeCXeBUeUuAnbypPapoTPukJTMQsULN

On the subscriber:
I am trying to resolve the published name (I wait till the publish command returns):
$ ipfs name resolve /ipns/QmZsR3ojf6WiM5ZKDyXQSmwh33zHK248473Mbf1B8GjAnG
Error: could not resolve name

I repeat it a couple of time, every time getting the same error message or Error: context deadline exceeded.
If I now check the list of subscriptions I get an empty list:
$ ipfs name pubsub subs

So this is the first problem: The name does not resolve at all.
Now let's get back to the publisher and let's take a look at the published topics:
$ ipfs name pubsub subs
/ipns/QmZsR3ojf6WiM5ZKDyXQSmwh33zHK248473Mbf1B8GjAnG

This looks correct: a topic for the published name has been created. I can also resolve the name locally (I am still on the publisher node):
$ ipfs name resolve /ipns/QmZsR3ojf6WiM5ZKDyXQSmwh33zHK248473Mbf1B8GjAnG
/ipfs/zdpuAzbUtM4bXo79KpFeCXeBUeUuAnbypPapoTPukJTMQsULN

It resolves immediately, which to my best knowledge is the intended behaviour. Looking at the documentation of ipfs pubsub (not ipfs name pubsub) one can find out that for pubsub mechanism to work there must exist a chain of connected nodes subscribed to the given topic for the information to propagate. So, now I am going back to subscriber and I connect:
$ ipfs swarm connect /ip4/<IP_ADDRESS>/tcp/4001/ipfs/QmPTKK2mrmkBgBrYni6cd8cDBtxhtfj5ADsZk8RBnYM3WJ
connect QmPTKK2mrmkBgBrYni6cd8cDBtxhtfj5ADsZk8RBnYM3WJ success
$ ipfs swarm peers | grep QmPTKK2mrmkBgBrYni6cd8cDBtxhtfj5ADsZk8RBnYM3WJ
/ip4/<IP_ADDRESS>/tcp/4001/ipfs/QmPTKK2mrmkBgBrYni6cd8cDBtxhtfj5ADsZk8RBnYM3WJ

The nodes are connected. We still cannot resolve:
$ ipfs name resolve /ipns/QmZsR3ojf6WiM5ZKDyXQSmwh33zHK248473Mbf1B8GjAnG
Error: context deadline exceeded

The fact that publisher and subscribed are connected does not make subscriber to receive anything as the connection has been established after publisher published. If we want the pubsub mechanism to have any impact, we have to go to the publisher and publish while the nodes are connected. This is also what the documentation of ipfs pubsub is saying but is not mentioned in the documentation of IPNS pubsub. So, we go to the publisher and we publish again:
$ ipfs name publish --key=test-key /ipfs/zdpuAzbUtM4bXo79KpFeCXeBUeUuAnbypPapoTPukJTMQsULN

Unfortunately, this will still not work if at the moment of publishing we do not listen on the subscriber node. For pubsub to kick in, we need to first initiate resolve on the subscriber, and the publish on the publisher - all making sure that the two nodes are connected.
This is not error free process. Sometimes I need to repeat the sequence a couple of times before the subscriber correctly subscribes to the topic. In the end though, it always works.
Once the subscriber resolves the name, we can also find the corresponding subscription on the list of subscriptions:
$ ipfs name pubsub subs
/ipns/QmZsR3ojf6WiM5ZKDyXQSmwh33zHK248473Mbf1B8GjAnG

And now resolving works instantly. As long as the two nodes are connected, republishing name to a different content on the publisher will be reflected in the resolved name on the subscriber. The problem is that one cannot force the node to stay connected to another node and once the connection is lost, the connect/resolve/publish sequence has to be repeated in order to resolve the republished name. This problem makes the IPNS pubsub not usable at all as for the node that wants to resolve the content the node needs to follow the following sequence:

If nodes are connected: the subscription will be updated while the publisher republishes the name. This is good.
If the nodes are happen not to be connected anymore, then the resolving node would have to:
a. connect to the publisher (this is already a problem - one need to know the address of the publisher )
b. notify the publisher to republish (possible, but unrealistic in general)
c. wait for publisher to finish publishing and then resolve.

So currently, from my limited perspective, I see two problems:

The names do not resolve initially when using publish with --key option
There is no way to force the nodes to stay connected.

Even if the (2) above is satisfied in general, once the nodes get disconnected (because one of the nodes lost the Internet connection), we end up in a problematic situation. If publisher published while connection was not active, even when the connection is restored the subscriber will not receive the last update. The subscriber would have to ask the publisher to republish which is not acceptable.
For the (1) I was hoping that maybe gossipsub has some impact, but it does not seem to be the case.
I also checked the whole process for the self key. In this case the problem (1) does not occur. The name always resolves on the both nodes, although it takes more time. What is interesting in this case is that after the name resolves for the first time, subsequent resolves are happening instantly. But after some time (60s) the resolve can take longer time again. Seems like this temporary fast resolution is not the effect of IPNS pubsub - looks like some sort of caching. Pubsub requires the nodes to be connected.
Looks like the strong dependency of pubsub on the connection makes pubsub somehow less useful when node do not know each other and republishing is required.
Now the question: is there already a plan to fix it? Would it be possible for me to help?

Another update.

Just realised that this thread focuses on pinning in ipns over pubsub. Maybe I should move to a more basic IPNS thread, as the problems I am observing seem to be more fundamental.

I removed the --enable-namesys-pubsub from my daemon, so the start command is now:
ipfs daemon --enable-pubsub-experiment --migrate

And the problem that I mention in my previous comment: the names do not resolve when using publish with --key option seems to be there even without IPNS pubsub support.
On the publisher:
$ ipfs key gen --type=rsa --size=2048 test-key-3
QmZDpUr9JAcFnZGWX3n9iKZRUtJvF7AsGBSQ3VaJ5B5Zig

$ ipfs name publish --key=test-key-3 /ipfs/zdpuAzbUtM4bXo79KpFeCXeBUeUuAnbypPapoTPukJTMQsULN

Then on the other node:
$ ipfs name resolve /ipns/QmZDpUr9JAcFnZGWX3n9iKZRUtJvF7AsGBSQ3VaJ5B5Zig
Error: could not resolve name
$ ipfs name resolve /ipns/QmZDpUr9JAcFnZGWX3n9iKZRUtJvF7AsGBSQ3VaJ5B5Zig
Error: could not resolve name
$ ipfs name resolve /ipns/QmZDpUr9JAcFnZGWX3n9iKZRUtJvF7AsGBSQ3VaJ5B5Zig
Error: could not resolve name
$ ipfs name resolve /ipns/QmZDpUr9JAcFnZGWX3n9iKZRUtJvF7AsGBSQ3VaJ5B5Zig
Error: could not resolve name
$ ipfs name resolve /ipns/QmZDpUr9JAcFnZGWX3n9iKZRUtJvF7AsGBSQ3VaJ5B5Zig
Error: could not resolve name
$ ipfs name resolve /ipns/QmZDpUr9JAcFnZGWX3n9iKZRUtJvF7AsGBSQ3VaJ5B5Zig
Error: could not resolve name
$ ipfs name resolve /ipns/QmZDpUr9JAcFnZGWX3n9iKZRUtJvF7AsGBSQ3VaJ5B5Zig
Error: could not resolve name
$ ipfs name resolve /ipns/QmZDpUr9JAcFnZGWX3n9iKZRUtJvF7AsGBSQ3VaJ5B5Zig
Error: could not resolve name

Only after the peers are in the swarm after doing ipfs swarm connect, the name resolves:
$ ipfs name resolve /ipns/QmZDpUr9JAcFnZGWX3n9iKZRUtJvF7AsGBSQ3VaJ5B5Zig
/ipfs/zdpuAzbUtM4bXo79KpFeCXeBUeUuAnbypPapoTPukJTMQsULN

and even this not always.
On the other hand, resolving the self key seem to be working even when the two nodes are not directly connected.
Then name always resolves correctly when issued from the publishing node (for the names published with --key as well as for those published under self).
Is there something I am doing wrong when publishing content with the --key option?

@marcinczenko if you could open an issue in go-ipfs and tag me (and this issue) to continue this conversation that would be great.
Because the way you search through the DHT is based on your key I'd recommend trying to generate a few keys and see if you get the same results, or if some keys perform better than others. Also, if in the go-ipfs issue you could put the version of your binary that would be great (there have been some fixes since 0.4.20). Thanks for the feedback and see you on the other issue.

I tried a couple of keys - it does not seem to have any impact - they are all pretty consistent.
I will create an issue on go-ipfs.

Back on the original thread of this suggestion - @aschmahmann - do you have additional constraints and use cases you'd imagine this project solving? fleshing out the UX of working with this command and some of the requirements for how it needs to interface with other parts of the system would add clarity to this proposal

As I read to through this thread, I believe the proposal in question is in fact an upgrade to the IPFS protocol and not a "mini project". This conversation should be moved to ipfs/notes. I can do it if you agree, 👍 this comment to let me know :)

I'm fine with wherever we want this conversation to take place. However, if in the interest of time implementing this is easier as a separate libp2p based ipns-pin binary than as part of IPFS that would certainly satisfy the requirements.


Add missing filetype tests

I've noticed that you were missing some filetype tests, so I've added them

There might be some duplicates so it probably needs review

The test is failing...

It seems these new tests actually discovered a bug in filetypes.vim, it's fixed as well now


Clean Templates without 18278172 Commits!

Clean Templates without 18278172 Commits!

Your attitude is extremely bad.

Hey, thanks for your contribution, but as you (I assume from your "without 18278172 commits" comment) already knew, there's an existing PR open for this already.
If you'd like to contribute towards this, I suggest making some suggestions over on #1735.
And as an aside, the number of commits on a PR doesn't matter, because they all get squashed together when the PR is merged anyway. The overall changes (under the "Files changed" tab on GitHub) is all that matters really.
Thanks :)


Can not start interactive session: unknown_error: Something went wrong

flynn -c stage -a example run bash
unknown_error: Something went wrong

This happens every second or third time when connecting.
flynn-host version
v20170116.0

flynn version
v20170125.0

@villepietarinen check flynn -a controller log -t web shortly after you encounter this error, you should see a more revealing error message in that log.


Where are gone all docs ?

I there.
Before, there was a documentation about API, and also Http  API.
It was very useful.
Do you plan to rollback them ? Also, are  they still valid ?

Hi! I removed the wiki docs because they were getting outdated very quickly. I am planning to complete the online API doc with more example of uses, so it should be self-describing and complete.
Regarding the HTTP doc. I have removed the high-level bindings (because it was not clear to me if people were using it, and it was quite a complex piece and updating it to webmachine would have been a bit too painful), but if you are using it I can try to write a new/simple HTTP backend if that something that you are depending on.

Yes, I saw that reading others closed issues and last commits. It's why I closed this issue.
Yes, I'm using HTTP high-level bindings because it's the easiest way to use irmin with other programs not written in Ocaml, in my case a nodejs one. JsOfOcaml version was not adapted with my current knowledge.
If you think you have some time to build a simple HTTP backend ,with read/write basics, I may contribute to it after (get history, branches, ...)
Do you want a new issue for this ?

Do you want a new issue for this ?

Yes please!

That's done here : #415


!pldump - Unable to extract title

Hey guys. New Year New Issues 😝 (Happy New Year to ya's)
Doing a !pldump <youtube playlist URL> is returning the following in Discord:
Could not extract info from input url
ERROR: Unable to extract title

In the console, it is showing the following:
[Command]<PHONE_NUMBER>3204736/VampiricPadraig (!pldump https://www.youtube.com/playlist?list=PLK9Sc5q_4K6aNajVLKtkaAB1JGmKyccf2)
ERROR: Unable to extract title
<class 'musicbot.exceptions.CommandError'>: Could not extract info from input url
ERROR: Unable to extract title

Rest of the commands do work, just not this one (I normally use this to update the autoplaylist.txt file)
cat /etc/debian_version = 8.6
Any help would be appreciated. :)

Currently working in the REVIEW branch.

Try updating dependencies, something may be out of date.

Updated all my packages on my server (sudo apt-get upgrade) and restarted the bot and it now works. I think youtube-dl updated for another package and something went screwy. :)


Record as string

How can I get a row of CSV files as a String rather than a struct or record? for example
My file is :
a,b,c
d,e,f
I want the records to look like
a,b,c
d,e,f
and not like
{schema:{"type":"struct","fields":[{"type":"string","field":"message"}]}, payload:{message:"a,b,c"}}
{schema:{"type":"struct","fields":[{"type":"string","field":"message"}]}, payload:{message:"d,e,f"}}

Hey @pradeepsh2203
try to set value.converter.schemas.enable: false


React wrapper?

Not an issue per se, but I've got an Apollo GraphQL site running under React, now with OSM and Leaflet (which has the react-leaflet and react-leaflet-kml wrappers). I absolutely adore the americana style and would love if anyone could provide guidance on making it React-compatible. It's a lot of Javascript and I'm super weak on Javascript in general, having been strictly a server-side guy until this site rebuild.  Much appreciated!
https://pure-gas.org/maps/NM
This site gets a fair bit of dedicated traffic and the audience will scream with delight if they get proper highway markings!

This project is not yet set up to allow the style to be easily used in other projects, although that is an eventual goal.  See #146.  Mostly likely we'd aim for a standard approach that would be usable on any type of site, regardless if using a specific frontend framework (React, Vue, Svelte, etc) or vanilla JS.  I'm sure many people use MapLibre with React though.

Yeah I've got a MapLibre implementation using react-map-gl plus maplibre-gl which worked out pretty nice. The reason I went over to Leaflet is that my app places markers from KML files (which get updated every five minutes) and the most excellent react-leaflet-kml is a thing that exists (and @aviklai updated it to work with current React/Leaflet versions in hours after I posted up, which always warms the heart!). So I got something working well (although I kind of wanted to use a vector base map and Leaflet is mainly raster support, but the download size doesn't differ much, and the OSM base layer is the way to freely go for a website that's about gas stations).
Are you saying I could be off and running americana with react-map-gl? I tried whaling on that for a while and gave up, admitting my extreme weakness with wrangling JS and opting for a beer instead.

Thanks guys, pretty much what I thought was the situation, just thought I'd post up a React-specific "issue" to log it. Americana is the bees knees for road maps. Looking forward to work on #146 in the future!


One line fix to the select menu hook

this isnt suppoosed to have changes from another branch on this pr. what happened here lol


[WIP] Update Cargo lock

See https://github.com/Valloric/ycmd/pull/699#issuecomment-277165558 from @oblitum:

I noticed that racerd's version in Cargo.lock in the tree is 0.3.2, inside Cargo.toml it's 0.3.3, which leaves the repositories dirty after the build (b/c Cargo.lock is updated to 0.3.3 in the build process).

Once this is merged, I'll send a PR to ycmd repository to include this.

This change is

I am not sure why but Racer version is now 2.0.5 in Cargo.lock while it is set to 2.0.2 in Cargo.toml. Should we update racer dependency to 2.0.5 in Cargo.toml?

The 2.0.2 in the Cargo.toml allows upgrading to any 2.0.x so the patch upgrade is fine. The AppVeyor build failure sounds like an issue though (probably caused by rust release). Will need to update whatever dependency pulls in ansi_term at that version.

The 2.0.2 in the Cargo.toml allows upgrading to any 2.0.x so the patch upgrade is fine.

Yes, found out that "x.y.z" is equivalent to "^x.y.z".

The AppVeyor build failure sounds like an issue though (probably caused by rust release). Will need to update whatever dependency pulls in ansi_term at that version.

This build failure is fixed with the latest version of Rust. However, there is a stack overflow during the http::find_definition_in_std_library test:
thread '<unknown>' has overflowed its stack

This also happens on Linux when installing Rust stable with rustup and its sources with the command rustup component add rust-src. Here's the backtrace and the steps to reproduce:
$ curl https://sh.rustup.rs -sSf | sh -s -- -y
$ export PATH="${HOME}/.cargo/bin:${PATH}"
$ rustup component add rust-src
$ export RUST_SRC_PATH=`rustc --print sysroot`/lib/rustlib/src/rust/src
$ cargo test --verbose

Anyway, we can still merge this since it's not related.


Regression in enum serialization - only the first instance is handled correctly

Hi, (I'm using Pyhton 3.8)
Unfortunately, it seems there is a regression in the serialization of enums. When serializing a list of enums, only the first occurrence of an instance is handled correctly. This behavior also holds for enums used in more complex classes. I suspect that there is something wrong when handling the id() identity of objects. The last version that is working as I would expect is 1.2, and the issue persists in any newer version up to 1.4.1.
Here is a minimal setup that fails with 1.4.1
import jsonpickle
from enum import Enum

class Polarity(Enum):
    Present = 1
    Unknown = 0
    Absent = -1

expected = '[{"_value_": -1, "_name_": "Absent", "__objclass__": {"py/type": "__main__.Polarity"}}, {"_value_": -1, "_name_": "Absent", "__objclass__": {"py/type": "__main__.Polarity"}}, {"_value_": 1, "_name_": "Present", "__objclass__": {"py/type": "__main__.Polarity"}}, {"_value_": 1, "_name_": "Present", "__objclass__": {"py/type": "__main__.Polarity"}}]'
print(expected)

actual = jsonpickle.encode([Polarity.Absent, Polarity.Absent, Polarity.Present, Polarity.Present], unpicklable=False)
print(actual)

actual == expected

I would expect that the enums are all serialized and that the second instance is not returned as null as it happens in the example above.
Output of print(actual):
[{"_value_": -1, "_name_": "Absent", "__objclass__": {"py/type": "__main__.Polarity"}}, null, {"_value_": 1, "_name_": "Present", "__objclass__": {"py/type": "__main__.Polarity"}}, null]

The fix from #338 just keeps on giving =)
Please try out the proposed solution there -- this seems to be working correclty with the changes from the refs branch in my davvid fork.  Please let me know if you see the same.

The fix from #338 just keeps on giving =)
Please try out the proposed solution there -- this seems to be working correclty with the changes from the refs branch in my davvid fork.  Please let me know if you see the same.

Merged and fixed 😺

Merged and fixed 😺


Activity Log Improvements

As a Provider in the Activity Log:

If my transaction fails, I don't want to have to go the explorer to see what went wrong. I would like the failure reason to appear and be understandable.
However I may want to go to the Polkadot UI for something, so I'd still like to see a link to my chosen network and maybe also to the block of the last transaction.
I also want the block and epoch to stay updated.

Future work


Can't use single buffering with EGL as context creation api

Hello!
I'm working on ARM and there's very few options when it comes to how I can go around creating graphics there. Namely, I have to use EGL as context creation API and Opengl ES as the context.
Now, I noticed some odd performance dips in my recent project, namely glfwSwapBuffers() takes a huge amount of time to render every X cycles. For example it would render 8 frames in 0.0003 seconds each, and then glfwSwapBuffers would take 0.4 seconds on the 9th iteration.
One of the suspects was double buffering, so I wanted to disable it. Alas, when I try to - it throws in an error "EGL: Failed to find a suitable EGLConfig"
Upon digging through your code, I found the likely suspect in egl_context.c chooseEGLConfig, line 176
Basically, as far as I understand, you retrieve the available buffers, but then instead of reading the doublebuffer value from EGL, like with all other parameters, you just go u->doublebuffer = GLFW_TRUE;
maybe I'm wrong and it's not the place, but you should look at it.

Thank you for reporting this! It should be fixed now with 114776a24605418e6d719d2f30141e351e93c6e0, which should be included in the next patch release.

I found myself dealing with the same issue of not being able to use single buffering with EGL. I'm using ANGLE as EGL, and GLES implementation. After disabling double buffering, I recieve an error "EGL: Failed to create window surface: Arguments are inconsistent".


GetListValue() should be GetTagValues()

First of all, thank you for this library! This finally gave me the perfect excuse to create a Terraform provider for Personio.
While trying to make sense out of the API responses, I did stumble across this.  Apparently Personio list types are actually just strings, but can be selected from a list of strings (hence the name, I guess). Multi-select lists are called tags.
So in principle the implementation of GetListValue() is correct, but should probably be called GetTagValues() and list be one of the allowed types in GetStringValue().
Let me know what you think about this - happy to provide a PR.

Hi @nicoangelo, sorry for responding late.
Thank you for your suggestion, it absolutely makes sense.

Do you happen to have an anonymized sample JSON response (to check how such a "type": "tag" field looks like)? I wonder if we'd need to trim white-space after splitting on ,.
Please provide a PR if you are still interested! 👍

Hi @lyind ,
I have an export of all employees of a Personio test instance (Besides my name, everything is autogenerated): https://github.com/nicoangelo/terraform-provider-personio/blob/main/test/data/all_employees.json
In my opinion, "just" splitting is sufficient. I will prepare a PR in the next days with my changes.

Thanks for the test data. Yes, just splitting seems alright.

Fix released as #v0.2.0
Closing.


add net46 project

We will need FW 4.6 project for some scenarios. Specifically we want to use features like:
Rich payload in EventSource
Event Source activity correlation
I'm not adding UWP project yet as we are still using 12.0 toolset in CI.
cc @abaranch

:shipit:


Structure view does not use the same encoding as Raw view.

Structure view does not use the same encoding as Raw view when using url encoded. : wil be parsed to %3A
ipnsToken=dx1LdyrDwys%3AAPA91bEHJCF-ftZ5re1XQjAoiKuNfgwAMBd7L6IPq3Feyy1cKrjnICUOlb27Xi2LAl1JK4JZ5zLqmWZB35DJMiK1JXoJ8OP9xfLVvfLh8G_bp5sXpBURjdWCvr9OESgobVIXVbAmGb7Mepsgku130Io1P1KPrAlAdQ

This is because the structure view shows the decoded values as opposed to the raw view which shows the raw body as sent 'over the wire'


sqlx::FromRow to map row result of tokio-postgres

Hi, i am new to rust, i am using SQLX to manage my database connection, but i want to use tokio-postgres and map the row result  with the types from SQLX its that posible?, thanks.

The question doesn't really make sense because SQLx and tokio-postgres are competing solutions. What do you need that tokio-postgres does but SQLx doesn't?

Hi, firstly nice library, i need to make something like this, also i need to make this or this.
In general terms i need to make a import data tool for a postgres backend, thanks.

You can execute plain query strings (including multiple statements separated by semicolons) by importing the Executor trait and then calling the relevant methods directly on a connection:
use sqlx::Executor;

    let mut conn: PgConnection = ...;
    conn.execute("insert into foo(...) ...; update foo set bar = true where id > 1").await?;

    // same as `sqlx::query(...).fetch(&mut conn)`
    let mut results = conn.fetch("select id, bar from foo");

The downside here is that you cannot use bind parameters with these queries.
Postgres COPY support is being discussed in #36 and I have a branch that mostly just needs to be rebased and tested.


fix: Fix duplicated "Microsoft." in resource type in output messages

Overview/Summary
Fixed Microsoft.microsoft in resource type in output messages.

Related Issues/Work Items
None
Breaking Changes
None
As part of this pull request I have

[x] Read the Contribution Guide and ensured this PR is compliant with the guide
[x] Checked for duplicate Pull Requests
[x] Associated it with relevant GitHub Issues or ADO Work Items (Internal Only)
[x] Ensured my code/branch is up-to-date with the latest changes in the main branch
[ ] Ensured PR tests are passing
[x] Performed testing and provided evidence (e.g. screenshot of output) for any changes associated to ARG queries
[x] Updated relevant and associated documentation (e.g. Contribution Guide, Docs etc.)

Screenshot

@caseywatson @kpoineal @Claudio-Merola Would you be willing to review this PR? This PR has been over 3 weeks with no reviews. Thanks.

@kpoineal @Claudio-Merola please review

@tksh164 Hey sorry about the long wait to review this. Is this still occurring? I haven't seen this behavior with the most recent updates.

@kpoineal Yes, this still exist in the latest script. The released and in dev-tools both scripts.

Approved.


Download combined data as geojson

Currently we keep ODK data separate from OSM feature data. The link between the two is an osm file, ex: "osm_building":"925bf47cc09acb0338fa21d4ae8112c729fcf8db.osm". This is helpful in separating non-OSM data from the OSM feature data. You can download each of type of data separately and then prevent any private data from being uploaded to OSM. One challenge is that sometimes you want the spatial data from the OSM file combined with the ODK data in geojson form. What is the best way to solve this?
We could post-process the data to extract the geo information from each OSM file and then combine it with the ODK data to create a new file.
Other idea is that we could do this via the server and combine the data to provide a new file for download as geojson.
Other suggestions @willemarcel?

This is one older implementation: https://github.com/AmericanRedCross/omk-odk-geojson

@smit1678 In the geojson endpoint that we created to show the submissions in the map, I'm reading the data.json file of each submission to get the submission_time and the username or deviceId. I can get all the data from that json file, skipping some keys that are not useful, and add to each feature of the geojson.
Would it solve this issue?
It would include that data in the new csv endpoint too (https://github.com/hotosm/OpenMapKitServer/issues/56), as I'm making the csv from converting the geojson.
I saw that it is common that we have some fields with hierarchy in the data.json, eg:
"group_income": {
   "hhrevsum": 1,
   "hhrevwin": 1,
   "incfreq": 0,
   "incvar": 3
 }

In the geojson it's not a problem to have something like this, but in the csv it would generate a cell with a JSON content. Is it ok?

@willemarcel yeah I think this would be a fine approach for now. I think keeping a focus on geojson is good because there will be some hierarchy from the different type of forms people may create.


Append the "_test_only" suffix to docker image

Duplicate from #17075
##What does this PR do?
I observed a failure in the pipeline while trying to test it (https://gitlab.ddbuild.io/DataDog/datadog-agent/-/jobs/265704789). The job passed successfully with this patch on my branch (https://gitlab.ddbuild.io/DataDog/datadog-agent/-/jobs/266189688)
##Motivation
Have a successful build when testing new images from agent-buildimages
##Additional Notes
##Possible Drawbacks / Trade-offs
##Describe how to test/QA your changes
##Reviewer's Checklist
If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
A release note has been added or the changelog/no-changelog label has been applied.
Changed code has automated tests for its functionality.
Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
At least one team/.. label has been applied, indicating the team(s) that should QA this change.
If applicable, docs team has been notified or an issue has been opened on the documentation repo.
If applicable, the need-change/operator and need-change/helm labels have been applied.
If applicable, the k8s/ label, indicating the lowest Kubernetes version compatible with this feature.
If applicable, the config template has been updated.

Commit merged through #17075


Make titleRegex an actual regex not a string

Details
We were trying to do titleRegex.test(something), when titleRegex was just a string, not a RegExp
Fixed Issues
Fixes failed workflow run: https://github.com/Expensify/Expensify.cash/runs/2732324613?check_suite_focus=true
Tests
Merge this pull request, then try to CP another pull request.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging in version: 1.0.61-8🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production in version: 1.0.62-0🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


HP ZBook 14 G2 Model Not Listed  - Can't Update TPM from 1.2 to 2.0

I have a 2015 HP ZBook 14 G2 and the model isn't listed in your models folder.
I would like to upgrade the TPM from 1.2 to 2.0. Its an Infineon chip.
If it matters, the BIOS has already been upgraded for the M71 family from 2015 to the most current version in 2020.
Your script would allow me to set TPM to 2.0. A pity I can't run it on my mobile workstation.
I would much appreciate your assistance in addressing this issue.

Sorry, but can't help you there. This project is a wrapper around the updates that HP delivers. So if HP does not have an update for that device, it can't be upgrade.


Add example stop_application_on_unfocus.py

PEP8 cleanup and add an useful script to help save battery when running browsers.

I'll go ahead and merge this and just put the top comment as the help string.


Add start script that is only run one time

Description
Start script might be used to run some upgraded on the VM or some operations that only need to be run one time, not everytime the VM boots. So it would be very useful to have another variable in context like START_SCRIPT_ONCE which is only run the first time.
Use case
Be able to run the script just one time.
Interface Changes
Core and contextualization packages.

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

Isn't this basically what innit_script does? If not, how is it different?

Start script is executed every time the VM reboots, for example. Also it may be executed on nic attach operations.
As a work around a file (e.g. /.startscript_run) can be created as a guard lock


Question about speed improving

Currently VLOOKUP on Excel works very slow on big data. Is it's possible to re-implement it in excel-d to improve speed?

Possibly, yes.

something like this should work:
double[][] dlookup(string[][] haystack, string[] needles, double columnNumberD) nothrow
{
    import std.exception;
    import std.algorithm:map,countUntil;
    import std.range:repeat,transposed;
    import std.array:array;
    import std.conv:to;

    double toDouble(long pos)
    {
        return (pos==-1) ? double.nan : pos.to!double + 1.0;
    }
    try
    {
        auto columnNumber = columnNumberD.to!int;
        auto haystackColumn = haystack.map!(row => row[columnNumber-1].to!string).array;
        return needles.map!( needle => [toDouble(haystackColumn.countUntil(needle).to!long)]).array;
    }
    catch(Exception e)
    {
        return ([double.nan].repeat(needles.length)).array;
    }
}

see dlookup branch.  the above could probably be made a bit nicer, but I think should work.

see dlookup branch


BEP031 community review blog post

PR seeks to add the community review blog post for BEP031:Microscopy

Thanks Franklin :)


Use actions/add-to-project to auto select the spark project

https://github.com/actions/add-to-project
@soulcramer WDYT? Could we use this cross platforms as well?

Hum, I'll ask the others from the spark team if they're interested in this 👍
Imo I wouldn't add it for now since we don't know if every issue should be added to the project


[Javascript] Empty Input.Date on AdaptiveCards

Platform

JavaScript

Author or host
Microsoft Teams
If you're an author, who are you sending cards to?
Version of SDK
I'm using botbuilder 3.11 and botbuilder-teams 0.2.6.
Details
I've built an adaptive cards with a Input.Date where user can select a date.
{                     "type": "Container",                     "items": [                         {                             "type": "ColumnSet",                             "columns": [                                 {                                     "type": "Column",                                     "width": "auto",                                     "items": [                                         {                                             "type": "TextBlock",                                             "text": "Select from 📅",                                             "size": "medium",                                             "wrap": true                                         }                                     ]                                 },                                 {                                     "type": "Column",                                     "width": "auto",                                     "items": [                                         {                                             "type": "Input.Date",                                             "id": "startDate",                                             "value": ""                                         }                                     ]                                 }                             ]                         }                     ]                 }
This is part of the card. The card is sent to Microsoft Teams and renders properly. Here comes the bug:
If the Teams client is on mobile there is no problem. But if the client is web, the Input.Date value is only being returned when the user locale is English. I think this happens because of the default date format.
I've tried with Spanish, Deustch and other languages and the date value is not returned.
As I said if I do it from Microsoft Teams mobile app this problem is solved.
Other users have reported similar problems:
https://github.com/OfficeDev/BotBuilder-MicrosoftTeams/issues/195
https://github.com/microsoft/botframework-sdk/issues/5411

@shalinijoshi19 @siduppal any idea if this is part of the upcoming patch?

This is not part of the 1.2.5 patch.  To recap:  JS fixes going in for November
@dclaux mind taking a first stab at this please?  Thanks!

I can't reproduce this using the out-of-box JS implementation. But Teams replaces the HTML5 date input control with their own, which is probably the culprit. In other words, I believe this is a Teams bug, not a JS renderer bug.

@siduppal / @clearab / @susanshen96 heads up; Can somebody from the teams side pick this up please?

@shalinijoshi19 - We have a bug for this issue - fix is pending, will post update when it's checked in.

Thanks @susanshen96 ! Any chance we can reference the bug here over github or is it being tracked internally? @pedroacuma fyi.

@shalinijoshi19 - it's being tracked internally.

Any updates on the bug solution?

@pedroacuma The fix should be in the public build of Teams now - please try out a card with Input.Date and see if it's being sent correctly, and let me know otherwise. Thanks!

Per comment above this should be fixed now. Please reactivate if there are further concerns!


Readme links are 404'd

For example: https://squareboat.com/open-source/nestjs-boilerplate/basics/transformers

Fixed!


No way to enable the default <worker_name>.<account_name>.workers.dev route in cloudflare_worker_script

Description
Currently, the cloudflare_worker_script resource in the Terraform Cloudflare provider lacks the ability to enable the default route (<worker_name>.<subdomain>.workers.dev) upon deployment. This issue requests the addition of a property or mechanism to control the default route's activation state.
Terraform and Cloudflare Provider Versions

Terraform: 1.8.2
Cloudflare Provider: 4.30.0

Affected Resource

cloudflare_worker_script

Steps to Reproduce

Deploy a cloudflare_worker_script resource.
Navigate to <worker_name> ➜ Settings ➜ Triggers in the Cloudflare dashboard.
Observe that the worker script is deployed, but the associated default route is disabled.
Confirm the absence of a property within the cloudflare_worker_script resource to enable the default route.

Expected Behavior
A new property or mechanism should be introduced to the cloudflare_worker_script resource, allowing users to specify whether the default route should be enabled or disabled upon deployment.
Actual Behavior
Currently, the default route remains disabled after deploying the worker script, and there's no option to control its state within the Terraform configuration.

Additional Context
While no official API exists for enabling the default route, the Wrangler CLI utilizes an undocumented API endpoint to achieve this.
This suggests that the Terraform provider could potentially implement similar functionality to enable the default route during worker script deployment.
Potential Implementation
One possible approach is to add a boolean attribute like enable_default_route to the resource. Setting it to true would activate the default route upon deployment.
resource "cloudflare_worker_script" "example" {
  # ... other configurations

  enable_default_route = true
}

Benefits

Improved Automation: Eliminates the manual step of enabling the default route, allowing for fully automated worker deployments.
Consistency: Aligns the Terraform provider's capabilities with the functionality available through the Wrangler CLI.

this is not a bug but an enhancement to a resource. please lodge this with customer support or your account team to have them escalate it to the respective service team.
duplicate of #2892, #1921 and #1013.

@jacobbednarz How is an enhancement to prevent users from correctly configuring their resources? You allow to do it in Wrangler but not in Terraform, so there's clearly something wrong.

How is it an enhancement to prevent users from correctly configuring their resources? You allow to do it in Wrangler but not in Terraform, so there's clearly something wrong.

It's concerning that SST had to resort to examining Wrangler's source code to discover and utilize a shadow API for enabling the default route. Relying on such workarounds shouldn't be necessary, and Cloudflare should provide proper documentation and official support for this basic functionality.

it's an enhancement because the resource works, it is however missing a particular function of the service. there is work in progress to make this automatic (see https://blog.cloudflare.com/lessons-from-building-an-automated-sdk-pipeline) but for the mean time, it is a feature request to the service team to implement.
you can see the reasoning behind it not existing in the SDKs (and subsequently Terraform) at https://github.com/cloudflare/cloudflare-go/blob/master/docs/public-api-documentation.md#but-wranglercloudflaredother-project-doesnt-require-public-documentation.
i totally agree there is an issue here lacking coverage but to address it, we need the service team to add the new feature which is not tracked in GitHub (until the automation is in place).


[Forwardport] [main] Update version check in yml test file

Forwardport of https://github.com/opensearch-project/OpenSearch/pull/15969 to main

@gaobinlong please approve when you have chance, thank you


Fixes to AsciiDoc documentation

This fixes some issues related to documentation that I stumbled upon.
I tried to make the commit messages descriptive. Please comment if you have questions.

Thanks for doing this work!


Make link bold?

Is it also possible make the link bold and rest of the text as it is.

You'll have to manually find all spans in the text and apply StyleSpans on them. I'm closing this issue because this library can't control styling, but let's continue this discussion if you need more help?


faux::methods panicked, « return type should not be Self »

Hello, I wanted to use get rids of our custom mocker in meilisearch in favour of faux, thus I tried it with some of our simplest modules, but it's constantly panicking I don't understand what's going on.
I extracted one of our simpler modules in another repo.
Do you know what I'm doing wrong here?
https://github.com/irevoire/faux-bug
(you should run cargo test to make the panic appear)

Hey @irevoire , you didn't do anything wrong, this is a limitation of faux regarding functions that return the mocked struct itself wrapped in another object. In this specific case, the new() function returns Result<UpdateFileStore> and faux doesn't know how to deal with that.
The workaround for now is to separate that one function away:
#[cfg_attr(test, faux::create)]
#[derive(Clone, Debug)]
pub struct UpdateFileStore {
    path: PathBuf,
}

#[cfg_attr(test, faux::methods)]
impl UpdateFileStore {
    // this function assumes the path has already been created.
    // Only used internally hence it being private
    fn inner_new(path: PathBuf) -> UpdateFileStore {
        UpdateFileStore { path }
    }

    /* snip the rest of your methods */
}

// this impl is split out just to get aroud `faux` not being able to
// handle functions that return `Result<Self>`. Note that this impl
// does NOT have `#[faux::methods]`
impl UpdateFileStore {
    pub fn new(path: impl AsRef<Path>) -> Result<UpdateFileStore> {
        let path = path.as_ref().join(UPDATE_FILES_PATH);
        std::fs::create_dir_all(&path)?;
        Ok(UpdateFileStore::inner_new(path))
    }
}

The reason why faux does not know how to handle functions that wrap the mocked struct is a bit convoluted but essentially it comes down to faux not knowing how to translate a Result<RealInstance> to a Result<MaybeRealMaybeFakeInstance>. In the case of Result it's easy I could just call .map but it's really hard to generalize so I haven't tackled that yet. I think in practice having something that returns Result<Self, E> or even Option<Self> is so common that I may add that as a stop-gap for now, I'll have to see how difficult that would be to add 🤔
That all being said that error is far from good so at least I'll look into making the error less bad.

I call this out in the docs for #[methods] but there is a lot of docs so it is easy to get lost: https://docs.rs/faux/latest/faux/attr.methods.html#returning-mockable-struct. I need to figure out a better way to document all the known gotchas.

Oh, sorry, I totally missed it; it works flawlessly, thank you!
And with your solution in #49 I have almost everything I need :thinking:

Oh also am I right that you should actually write;
#[cfg(not(test))] // <----------- HERE
impl UpdateFileStore {
    pub fn new(path: impl AsRef<Path>) -> Result<UpdateFileStore> {
      ...
    }
}

because if you don't you can't compile the tests?

You don't need the #[cfg(not(test))] . It is totally okay for that to exist even for tests, it just can't be inside an impl block marked by #[faux::methods]

@irevoire I have released a new version that should handle the follow return types out of the box without having to take the methods into an impl outside:

Rc<Self>
Arc<Self>
Box<Self>
Option<Self>
Result<Self, E> (also works for Result<Self>)

I hope this addresses most of your use cases so you don't have to be doing too many changes to your existing code 😄


bisq2: init @ 2.0.4

Description of changes

This PR adds Bisq 2, a decentralized bitcoin exchange that allows anyone to buy and sell bitcoin in exchange for national currencies or other cryptocurrencies.
Bisq 2 is the successor to what is now known as Bisq 1, however Bisq 2 hasn't reached feature parity with Bisq 1. Therefore, at this time, Bisq 2 doesn't replace Bisq 1, which is packaged in Nixpkgs as bisq-desktop.
Verification
It is customary to verify the downloaded Bisq application by importing upstream's GPG key and verifying the signature of the downloaded package.
This Nix package includes build-time verification of the downloaded Debian package. This is to give users of this package a greater level of confirmation --compared to verification by the maintainer, (me)-- that the package has been signed by upstream. In short, if this package builds, then it's also verified.
Build-time verification is not a substitute for manually verifying the upstream package. It's a compromise.
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I tried to address the by-name requirement, but I can't figure out what the problem is.

In anticipation of migrating the bisq-desktop package to by-name, I named the attribute for Bisq 2 bisq_2, allowing me to use the attribute bisq_1 for the current bisq-desktop.
However, the Bisq 2 executable is named bisq2. Therefore, I added the mainProgram  attribute so that nix run works.

Rebased :)

Thank you so much @emmanuelrosa! Bisq and Bisq 2 are the most important software of our time along with Bitcoin. You keeping it maintained here on NixOS is God's work!

Thank you for the kind words, @naturallaw777 .

I closed the PR because I'm sick and tired of wasting my time trying to please the code-checking gods.
package.nix is a perfectly valid Nix expression. Regardless, I formatted it twice with two different Nix formatters and the code was still rejected. This is not the first time I've had to battle with the Nixpkgs code checking bot. I write valid Nix code. I'm not trying to paint a Nix Picasso.
Frankly, I've had enough.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/complaints-about-the-adoption-of-the-autoformatter-rfc-166/51012/31


feat: migration to structured log

Checklist:

[ ] Either (a) I've created an enhancement proposal and discussed it with the community, (b) this is a bug fix, or (c) this is a chore.
[ ] The title of the PR is (a) conventional, (b) states what changed, and (c) suffixes the related issues number. E.g. "fix(controller): Updates such and such. Fixes #1234".
[ ] I've signed the CLA.
[ ] I have written unit and/or e2e tests for my change. PRs without these are unlikely to be merged.
[ ] My builds are green. Try syncing with master if they are not.
[ ] My organization is added to USERS.md.

No activity in 4 weeks. Marking as wontfix. Please dismiss reviews when you want this to be reviewed again.