Peek Definition does only work for code defined in the same project

When I try to peek into another assembly it does nothing.
F12 in contrast shows the fsi window. I think the peek behavior should be consistent with the F12 experience.

@toburger Could you provide more details? If I Alt + F12 on a symbol defined in another F# project in same solution, then it does show the definition. If you are trying to a symbol defined in an external assembly or in a C# project in same solution, then yes, it does not show generated metadata. It's knows restriction. I someone wants to fix this, go ahead.

Correct, same solution, different project works.
Referenced assembly doesn't work. However Go To Definition (F12) works.

@toburger so do you think Alt + F12 should show generated metadata just as F12 does?

@vasily-kirichenko I think that would be consistent.

Hi, I'd like to fix this issue. For starters, I forked the code and I'm looking around...

@remusp Welcome. Here are a few pointers to get started:

Extract Navigate to Metadata as an independent service https://github.com/fsprojects/VisualFSharpPowerTools/blob/f8c54cd763de2c8a151f0318f3787a9f1985ae4d/src/FSharpVSPowerTools.Logic/GoToDefinitionFilter.fs#L225-L305 (marked with Export attribute)

Import that service to GotoDefinitionFilter

Import the service to PeekDefinition and branch it out similar to what has been done it GotoDefinitionFilter https://github.com/fsprojects/VisualFSharpPowerTools/blob/f8c54cd763de2c8a151f0318f3787a9f1985ae4d/src/FSharpVSPowerTools.Logic.VS2015/PeekDefinition.fs#L86-L90

I know it's been a while, but here goes:

I extracted Navigate to Metadata as a separate service
imported it to GotoDefinitionFilter (via existing GoToDefinitionFilterProvider)
imported it to PeekableItemSource (via existing PeekableItemSourceProvider)

I guess I now have to add a branch in PeekableItemSource.getDefinitionRange that uses NavigateToMetadata and returns Some (span, range) but so far I haven't been able to. Could you point me in the right direction?
I tried to just call NavigateToMetadata, guessing it will open the document as a side-effect, but I was wrong: https://github.com/remusp/VisualFSharpPowerTools/blob/0fd2b1f3fe8a6cd2291af21c72c47e72d21dccfd/src/FSharpVSPowerTools.Logic.VS2015/PeekDefinition.fs#L90-L94
Also, do you have any suggestions about how I could debug? The test visual studio instance that is created is unable to open any projects so currently I am using the vsix from the Debug folder in the actual VS instance I also use for development.

Please rebase on master.
Exp instance of VS 2015 is completely broken for me. I've not managed to fix it on several machines. So you have to build the VSIX in Debug mode, remove the previous version manually, install the VSIX, launch a normal VS instance, open a solution in it, then attach to it.

@remusp I think you're on the right track. You have to supply the information needed by PeekableItemSource. It could be done by breaking NavigateToMetadata into two functions:
(1). GenerateMetadata that generates the signature up until OpenDocument calls. This function returns the spans and ranges expected by getDefinitionRange
(2). ViewMetadata that populates the document on a VS buffer.
So GotoDefinitionFilter uses both (1) and (2) while PeekableItemSourceProvider only uses (1).
You can always send a Work-In-Progress pull request. It would make it easier for discussion.

Hi @remusp,
Would you mind if I use the changes in your branch and implement the remaining things as discussed here? Just want to finish off this issue.


Testing effects one by one

There are somethings wrong with effects. ffb is not smooth.
Need to test effects one by one using WheelCheck.

Constanct force: Worked

Spring effect work incorrectly beacause parse wrong Cpoffet (send 0 but parse =-1)

1. Spring effect work incorrectly beacause parse wrong Cpoffet (send 0 but parse =-1)
   When increase all value of conditional effect in HID descriptor from 255 to 10000 work corrrectly)

=> Fixed

Damper work unsmoothly. Need to fixed.

Damper work unsmoothly. Need to fixed.

Add LPF, make it smooth
https://youtu.be/nI5VrETPTJs

Sine effect: work

Friction: worked!

Inertia: not work, sometime it positive, sometime it negative when wheel runs in one direction.
Maybe only care when acceleration is negative ( speed decreases):
Interia = abs (acceleration) when encoder > 0 and = - abs (acceleration) when encoder < 0.

Inertia: not work, sometime it positive, sometime it negative when wheel runs in one direction.
Maybe only care when acceleration is negative ( speed decreases):
Interia = abs (acceleration) when encoder > 0 and = - abs (acceleration) when encoder < 0.

Worked


How to Build "coexisting-angular-microfrontends"?

Hi @joeldenning ,
last 2 weeks i was going through your repositories, i wanted to appreciate your efforts for Single spa. Though i could understand the things had a doubt i.e
How to build  this repository, Is build command should be ran on each folder?
I ran npm run build:single-spa:<app_name> commands in each folder but that's not the solution, Could you please help me to get it done? And how to use import override in build time?
Thanks a lot

Run npm run build:single-spa in each of the angular directories. See code below as an example:
https://github.com/joeldenning/coexisting-angular-microfrontends/blob/925dd8ec4f7f149eeba305f4e3cc4e9783abf3db/.travis.yml#L12-L15

HI @joeldenning ,
Above worked for me, Thanks.
I've another issue which is as below.
I've added AngularJS Repo to this and provided extra route for Angular JS repo.
i ran http-server in Angular repo then added http://localhost:8081/es5-app.js to import override when i access Angular JS repo route it gives CORS issue.

http-server --cors

https://www.npmjs.com/package/http-server#available-options

Hi @joeldenning
I've tried following.

Ran http-server --cors  inside AngularJS Repo
Ran http-server --cors  inside both  AngularJS Repo and this

Still it gives Error, :Access to script at 'http://localhost:8080/es5-app.js' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

@joeldenning
Another issue:
I used below code to register
System.register('**angjs**',[], function(_export) {   return {     execute: function() {       _export(singleSpaAngularjs.default({         angular: angular,         mainAngularModule: 'main-module',         uiRouter: true,         preserveGlobal: false,         template: '<root />',       }))     }   } })
I got error with 37 as code, which says valid unmount not exist.

I have used http-server --cors for years and it works. My guess is that you're loading from a different server instead of http-server, such as ng serve or something else. The next step I'd take to debug is to check whether the URL is correct and whether a response header Access-Control-Allow-Origin is being sent by checking the Network tab of the browser devtools.
Regarding registering the angularjs application, I recommend not doing a "named register," but instead an anonymous register.
// Don't do this
System.register('angjs', [], function() {})

// Do this instead
System.register([], function () {})

Then add angjs to your import map and run the following in the browser console:
System.import('angjs').then(ns => {
  console.log('angjs module', ns)
})

@joeldenning ,
Worked for me.
Thanks


binwalk Fails if trying to analyse file inside folder with special chars (ie é | à)

It won't work if target file is in : ~/Téléchargements/chroot/
It will work if target file is in :     ~/Telechargements/chroot/
> # binwalk -eM upgrade-2.4.0.bin

Scan Time:     2015-11-28 16:59:12
Target File:   /home/rebrec/Téléchargements/chroot/upgrade-2.4.0.bin
MD5 Checksum:  52ba767db3780a7af5b915e45d56950a
Signatures:    344

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------

Signature Exception: 'ascii' codec can't decode byte 0xc3 in position 55: ordinal not in range(128)
----------------------------------------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/binwalk/core/module.py", line 565, in main
    retval = self.run()
  File "/usr/local/lib/python2.7/dist-packages/binwalk/modules/signature.py", line 177, in run
    self.scan_file(fp)
  File "/usr/local/lib/python2.7/dist-packages/binwalk/modules/signature.py", line 160, in scan_file
    self.result(r=r)
  File "/usr/local/lib/python2.7/dist-packages/binwalk/core/module.py", line 454, in result
    getattr(self, dependency.attribute).callback(r)
  File "/usr/local/lib/python2.7/dist-packages/binwalk/modules/extractor.py", line 165, in callback
    (extraction_directory, dd_file, scan_extracted_files) = self.extract(r.offset, r.description, r.file.path, size, r.name)
  File "/usr/local/lib/python2.7/dist-packages/binwalk/modules/extractor.py", line 450, in extract
    fname = self._dd(file_path, offset, size, rule['extension'], output_file_name=name)
  File "/usr/local/lib/python2.7/dist-packages/binwalk/modules/extractor.py", line 632, in _dd
    binwalk.core.common.debug("Carved data block 0x%X - 0x%X from '%s' to '%s'" % (offset, offset+size, file_name, fname))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 55: ordinal not in range(128)
----------------------------------------------------------------------------------------------------

Looking into a patch for this. A work around for the moment is to use Python3 instead of Python2, which should handle unicode paths "automagically".

Thanks for the workaroud

This was the result of a recent merge, which fixed one problem, but introduced another. You should no longer encounter this issue with the latest code from the master branch.


Unable to save Web Part on Page when Fabric DetailsList control is present in Web Part

Category

[ ] Question
[ ] Typo
[x] Bug
[ ] Additional article idea

Expected or Desired Behavior
I'd like my web part to save :(
Observed Behavior
When using a web part with a DetailsList fabric control on it, the web part works while editing the page. But does not save. So after publishing and refreshing the page, the web part is gone. Additionally, when the DetailsList control is present, the ECB menu for the web part to edit web part properties also does not work. However, manually opening the web part property pane via this.context.propertyPane.open() does work. Of course, no web part properties are saved.
Steps to Reproduce
Create a new SPFX WebPart Project using React
Add a DetailsList to the render method of the web part
Preview in Workbench to verify web part looks how you expect
Deploy to SharePoint Online
Add web part to a page - it will look like its working here
Use the pencil to try and edit the web part - nothing happens
Publish page
Refresh the page - web part disappears!
Here is a SPFX 1.6 web part demonstrating the issue with the detailslist control, and it fetches items from a list/library on the current site. List is configurable from web part properties, defaults to Documents.
listview16.zip
StackExchange - SPFX Web Part Disappears on Save
Steps Taken to Try and Remediate
-Logging, lots of logging. After save, no console.log's are hit, even inside of BaseClientSideWebPart
-Isolated web part
-Removed all other web parts from test pages
-Removed all application extensions from test site
-Attempted to load sample web parts with details list - Save behavior observed!
--SPFX React DetailsList Sample
-Attempted to edit web part properties from the web part
-Removing DetailsList from render method allows the rest of the web part to work

Side note, I wrote my own detailslist control, and the web part works now. So definitely something not playing nice inside of DetailsList.

Hello! I have same problem with DetailsList.
Is there any solution?
My package.json:

Sorry - we lost track of this issue due to metadata.  Is this still a problem?  Lots of changes to a lot of this code over the past 2 years.


To Enhance Footer and give rounded edge corners to containers.

Would like to Improve the Footer section to much extent.
Want to improve the containers by touching with rounded corners effect.

Would love to work on this Site.

Go ahead @AnirudhHanda
Show your support by stargazing the repo 🌟

@AnirudhHanda Please create only one PR for all changes.
Why you have created 3 PR's for one issue?

The last PR 190 is the final.. One in the previous one I was unable to
resolve conflicts.
On Mon, 10 Oct, 2022, 11:59 pm Arun G Nayak, @.***>
wrote:

@AnirudhHanda https://github.com/AnirudhHanda Please create only one PR
for all changes.
Why you have created 3 PR's for one issue?
—
Reply to this email directly, view it on GitHub
https://github.com/Arun9739/Paryatana/issues/180#issuecomment-1273674316,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3DTMM4AU5R4U7EHHUXI6JTWCRN7RANCNFSM6AAAAAARAZORRI
.
You are receiving this because you were mentioned.Message ID:
@.***>


Web UI Stops Working

After ~30 minutes of the web UI working, it will stop, and Bjorn will also stop updating the e-ink display. Monitoring the logs, I see a python error:
ERROR - Unexpected error: [Errno 24] Too many open files: '/home/bjorn/Bjorn/web/screen.png'
The workaround here is to stop and start the Bjorn service every ~30 minutes. I noticed in both display.py and utils.py, you are opening screen.png, but I never see a close() call. I added that call to both of those files, but it did not alleviate the issue, so I figured I would open an issue to get your thoughts.

Looks like the latest error in the web UI was:
{"status": "error", "message": "[Errno 24] Too many open files: '/home/bjorn/Bjorn/data/logs/temp_log.txt'"}
And cat temp_log.txt gives the the latest entries as:
==> /home/bjorn/Bjorn/data/logs/webapp.py.log <==
2024-11-11 22:44:33 - webapp.py - ERROR - Unexpected error: [Errno 24] Too many open files: '/home/bjorn/Bjorn/web/screen.png'

Yes, i am aware about this, unfortunately.
On README i said i was trying to solve File descriptor limit.
I literrally spent weeks tweaking everything to solve this error.
Can you tell me  :
sudo vi /etc/systemd/system.conf
and
sudo vi /etc/systemd/user.conf
DefaultLimitNOFILE=65535  should be uncommented.
And can you ensure to have these 6 lines at the end of :
sudo vi /etc/security/limits.conf
End of file
root soft nofile 65535
root hard nofile 65535
bjorn soft nofile 65535
bjorn hard nofile 65535

soft nofile 65535
hard nofile 65535

Then
sudo sysctl -p
sudo systemctl daemon-reload
sudo reboot
Thanks

@infinition I noticed this issue as well and did confirm those limits were applied with ulimit -n. It looks like this may be related to an error within scan_with_semaphore that causes resource exhaustion after erroring. I've been trying to debug this, without luck so far. However, feel free to use this as a reference to hopefully help resolve the issue. I will continue to look as well.

Thanks for your feedback.
I had a strange value, due to the autoinstall script, can you confirme me that you have this line under :
sudo vi /etc/systemd/system.conf
DefaultLimitNOFILE=65535  #should be uncommented.

Concerning the  scan_with_semaphore , the thing is i completely tried to run Bjorn without the scanner (with scan_with_semaphore  thing) and i had this file descriptor limit error.
I think it may be related to the fact that i use screenshot of bjorn screen to display it live(with a delay) on the webpage .
I keep working hard on it.

Thanks for your feedback.
I had a strange value, due to the autoinstall script, can you confirme me that you have this line under :
sudo vi /etc/systemd/system.conf
DefaultLimitNOFILE=65535  #should be uncommented.

Concerning the scan_with_semaphore , the thing is i completely tried to run Bjorn without the scanner (with scan_with_semaphore thing) and i had this file descriptor limit error. I think it may be related to the fact that i use screenshot of bjorn screen to display it live(with a delay) on the webpage . I keep working hard on it.

Mine is currently set to DefaultLimitNOFILE=655351024:524288. Sounds like that thread issue may just be a side-effect of out of resources if that is the case.

Just catching up here. I implemented the proposed solution and it seems to be fine so far. I have had it running for ~45m, which is longer than it generally runs. I will update you again in a bit.

#27  #


Argument list too long

Is it possible to add something like a queue to prevent the Argument list too long error?
Thanks

You can use (with literal single quotes):
fixjson '*.json'
fixjson '**/*.json'

This causes fixjson to use its glob module to walk the directory rather than the shell passing all of the JSON files as strings.


[Question] Why is ResolveInfo::$fieldNodes an array?

ResolveInfo::$fieldNodes has the following doc block:
/**
 * AST of all nodes referencing this field in the query.
 *
 * @api
 * @var FieldNode[]|null
 */

So far I've only ever seen it contain exactly one node (the node corresponding to the field being resolved). When would this be empty/null? When would this contain more than one element?

I have replaced all documented array types with the closest concrete types I have been able to find.
You can run ExecutorTest::testProvidesInfoAboutCurrentExecutionState(), StarWarsQueryTest::testAllowsUsToQueryForTheFriendsOfFriendsOfR2D2() or ResolveInfoTest::testFieldSelection() where it contains FieldNode[]

The FieldNode[] type is correct.
In my testing (including the three test cases you referenced), it always contains exactly one FieldNode. It's never null, and it never contains more than one FieldNode. Thus why I'm asking if there are any such cases.
If there aren't, maybe it should eventually get changed to $fieldNode as @var FieldNode? (It'd be a breaking change to the public API so I know it can't be changed easily.)

Consider the following query:
query {
  ...F1
  ...F2
}

fragment F1 on T {
  field1
}

fragment F2 on T {
  field1
}

When field1 is resolved in the query which node should be in the fieldNode?

Thanks for the example! I didn't even realize it was legal to have duplicate fields (but I do see it in the spec now that I know to look for it).


Multi-line docstring MetaModelica breaking highlighting

public function createFMISimulationFlags
  "Function reads FMI simulation flags from user input --fmiFlags
   and creates FmiSimulationFlags record for code generation.
   Author: AnHeuermann"
  input Boolean printWarning = true;
  output Option<SimCode.FmiSimulationFlags> fmiSimulationFlags;
// [...]
end createFMISimulationFlags;

@phannebohm I can't find a way of fixing this besides removing your
  - match: (?<![=+]\s*)((?<!\\)"([^"]*|\\")*(?<!\\)")\s*;
    captures:
      1:
        name: comment.line

Also regex101 isn't allowing the regex: https://regex101.com/r/a6GKMy/1
This means we can't detect doc strings after a variable declaration any more, but that's better than having all classes with documentation breaking the highlighting.

Apparently regex101 requires lookbehinds to be of fixed width. I guess vsc does not require this because it works, right?
Another thing is ([^"]*|\\")* which is a runaway regular expression. We can easily solve this by using ([^"]|\\")* instead. Remember to always use the Kleene star sparingly :sweat_smile:.
I suspect the runaway creates the problem. If you take a small doc string it works as before. Try:
public function createFMISimulationFlags
  "Fun
   Author: AnHeuermann"
  input Boolean printWarning = true;
  output Option<SimCode.FmiSimulationFlags> fmiSimulationFlags;
// [...]
end createFMISimulationFlags;


Do not load precompiled user scripts when server side render disabled.

Ran into a weird edge case where the Javascript Engine went missing in production. Hotfixed my server to use VroomJs engine instead, but engine was unable to support ".map" call.
Expected behavior: Adding .DisableServerSideRendering() would at least render the site usable again.
Actual behavior: My pre-compiled scripts were still executed (and failed). Needed to comment those declarations out as well.
This PR attempts to fix that.

I was probably being a little hasty here. The check should probably be around the function instead of in it.
And I'm uncertain whether or not this would somehow make the case where !_config.LoadReact && !_config.UseServerSideRendering break.


UP-4746: Add findbugs gradle plugin

Checklist

[x] the individual contributor license agreement is signed
[x] commit message follows commit guidelines
[x] tests are included

Description of change

https://issues.jasig.org/browse/UP-4746
Enables the findbugs Gradle plugin.
gradle findbugsMain

Coverage decreased (-0.01%) to 23.035% when pulling 57ef7eaa438f6b9608e11640a3314000cfa0f059 on ChristianMurphy:UP-4746 into 72d9d0a312b0d0e4dcabcca4852fcce3613fbe08 on Jasig:master.

:+1: Looks great.  I'm planning to run it and look at the console output.

@drewwills findbugs currently does not have console output, I could setup a print statement for the file output.
reference: https://stackoverflow.com/questions/28982149/how-can-i-print-reported-bugs-to-console-in-gradle-findbugs-plugin


Adds KeyPath value accessor on Identified

Resolves #67

Is there anything I need to do here to fix the pipeline?


Code coverage for beta

Coverage should increase in beta to at least 80%. We should have a unit test for each component if possible, not only integration tests for all the tools.
Note: thresholds in codecov.yml should be changed.

I don't know if it will be possible for beta, although we are around 77% now (cb6af686fd8a6b92608adf7d2ba9ca268ed0695a). I don't want to invest time to test deprecated classes that will disapear in version 1.
Keep it in beta to track the thresholds in codecov.yml. This is important because from version 1.0.0 on, changes to the source code will be contributed by PR and added directly to master.

develop at 08c70ba9245f6a9426a2fe9f3ace5a824a2dc475 already have an 80.56% test coverage. Great!

Coverage is already higher than 80% and the thresholds are changed in 2079088abec885a2c179cb52c1b7cc8702490131


Low GPU usage, Low FPS in games

Hyprland Version
Hyprland, built from branch  at commit 4a41d013a27c9919ed41a50c43c4224d8443a415
Bug or Regression?
Bug
Description
When playing different games, my dedicated GPU (Nvidia GT840M) may turbo up to its full clock speed for a couple seconds, before dropping to around the minimum clock speed (~135mhz). In both Gnome and Sway this issue is not present. Sorry if this issue has already been reported, I could not find one identical to this though.
How to reproduce
Launch a game on dedicated GPU, observe low FPS.
Crash reports, logs, images, videos

Example shown: Minecraft launched via PrismLauncher, MangoHud showing clocks.

 Did it work differently before under the same setup or hardware? Did something change since then apart from the hyprland version?
It sounds very similar to a bottle neck.

Can reproduce, issue is not present on Sway or GNOME.
OS: NixOS
GPU: nVidia GTX 1050Ti Mobile
Hyprland version: (using nix flake)
Hyprland, built from branch  at commit 4a41d013a27c9919ed41a50c43c4224d8443a415  ().
Tag: ?

flags: (if any)
debug
```

Did you have to do anything special to get it to have this issue? Mine is also built using nix flakes.

No, I got this issue after updating Hyprland.

Do you know what version the issue started at?

Not really, I was using Sway for the past few days.

Ok, good to know it's not just me with the issue.

The nixpkgs version of Hyprland works fine for me, maybe you could try using that temporally.

Do you think it may be worth it to roll back a couple versions and progress forward to see what version caused this issue?

Try git bisect
Is this specific to certain games?

I'm not sure that I know enough to debug using that, but I can attempt it. I'll need to find a version that does not have the issue first.

Is this specific to certain games

As far as I know, it is not. I have only tried it in two "games". One was Minecraft as I noted above, and the other was Dolphin Emulator, both exhibited the same issue, so I assume it is not just an issue with one game.

my dedicated GPU (Nvidia GT840M)

Given NVIDIA's hostility to Linux, I'd rather check if it's a driver issue first.

It worked on Sway though, so I would be inclined to say it's not, but I'm not sure if I'm totally correct on that. And according to @Guanran928 it works with the version of Hyprland in nixpkgs.

Just found something new that may relate to this issue. I noticed I also got poor video performance launching Minecraft using my integrated GPU, which is somewhat expected, but it was also around the 10-20ish fps mark that I saw on my dedicated GPU. I decided to look further and noticed that Minecraft said the render device was "llvmpipe", when I was expecting it to be "Mesa Intel(R) HD Graphics 5500" that is listed when Minecraft is launched in Sway. Could there be some relation between these two issues?

This is why I stopped using NixOS a couple of months ago.
It's a reoccuring bug or more precisely a design flaw
So much for reproducible builds
Here'a the best workaround fix:
https://github.com/hyprwm/Hyprland/issues/2170#issuecomment-1528163470

I have attempted adding inputs.nixpkgs.follows = "nixpkgs-unstable"; already.

Actually, if its an issue with a MESA mismatch, I have to use nixpkgs, not nixpkgs-unstable because my system is on stable.

Yes
Anyhow, the proper fix is to update flake.lock in Hyprland repo
Pinging @fufexan

The reason I was using the unstable repos was because wayland-protocols is too old for Hyprland in the stable repo.

Is my only real solution to use NixOS Unstable?

This issue is technically not fixed for NixOS Stable users, but a good fix for now is using NixOS Unstable (I was planning on doing so already, but this jumpstarted that) I will close this issue now.


How to pipe yt-dlp output to an external program using options listed in YoutubeDL.py file?

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2023.07.06 (update instructions) or later (specify commit)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
I have the following command below, how can I define in a configuration python script that yt-dlp should pipe the output stream to the VLC program?
yt-dlp -f 18 "https://www.youtube.com/watch?v=blahblahhah" --ignore-config --hls-prefer-native --hls-use-mpegts --no-part --retries 30 --cookies cookies.txt --no-break-per-input --wait-for-video 1000000 --fragment-retries "infinite" --retry-sleep linear=1::2 -o - | vlc -
I tried using the "outtmpl" configuration parameter in the following example, but I was unsuccessful.
ydl_opts = {

    'format': '134+140/mp4+m4a/bestvideo+bestaudio',

    "outtmpl": '- | vlc -',

    "writethumbnail": False,

    "fragment_retries": "infinite",

}

Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[b532a3481]
[debug] Python 3.11.3 (CPython x86_64 64bit) - Linux-6.1.41-1-MANJARO-x86_64-with-glibc2.37 (OpenSSL 3.1.1 30 May 2023, glibc 2.37)
[debug] exe versions: ffmpeg 6.0 (setts), ffprobe 6.0, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.12.0, brotlicffi-<IP_ADDRESS>, certifi-2023.07.22, mutagen-1.46.0, secretstorage-3.3.3, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {'no': 'localhost,<IP_ADDRESS>/8,::1'}
[debug] Loaded 1855 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>yt-dlp is up to date<EMAIL_ADDRESS>

piping must be done in the shell. outtmpl should be just -, and you need to log everything to stderr instead of stdout:
 ydl_opts = {

     'format': '134+140/mp4+m4a/bestvideo+bestaudio',

-    "outtmpl": '- | vlc -',
+    'outtmpl': {'default': '-'},
+
+    'logtostderr': True,

     "writethumbnail": False,

     "fragment_retries": "infinite",

 }

and then in your shell, run:
python3 yourscript.py | vlc -

 ydl_opts = {

     'format': '134+140/mp4+m4a/bestvideo+bestaudio',

-    "outtmpl": '- | vlc -',
+    'outtmpl': {'default': '-'},
+
+    'logtostderr': True,

     "writethumbnail": False,

     "fragment_retries": "infinite",

 }

and then in your shell, run:
python3 yourscript.py | vlc -

Thanks for the answer. Is there any way to integrate the "| vlc -" parameter directly inside "yourscript.py" script, without the need for an "external call"?

 ydl_opts = {

     'format': '134+140/mp4+m4a/bestvideo+bestaudio',

-    "outtmpl": '- | vlc -',
+    'outtmpl': {'default': '-'},
+
+    'logtostderr': True,

     "writethumbnail": False,

     "fragment_retries": "infinite",

 }

It didn't work, I get the error:
self.ytdl_opts["outtmpl"]
    ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
TypeError: unsupported operand type(s) for /: 'PosixPath' and 'dict'

When I try to fix it by removing the {}:
'outtmpl': 'default': -',
The following output is displayed:
[download] Destination: default: -.f140.mp4

you are missing quotes. look at my diff again

piping must be done in the shell. outtmpl should be just -, and you need to log everything to stderr instead of stdout:
 ydl_opts = {

     'format': '134+140/mp4+m4a/bestvideo+bestaudio',

-    "outtmpl": '- | vlc -',
+    'outtmpl': {'default': '-'},
+
+    'logtostderr': True,

     "writethumbnail": False,

     "fragment_retries": "infinite",

 }

and then in your shell, run:
python3 yourscript.py | vlc -

It works.


Update jq & AWS

There were some issues getting awscli and jq installed with the script for the consul script to provision correctly.

Thank you for your submission! We require that all contributors sign our Contributor License Agreement ("CLA") before we can accept the contribution. Read and sign the agreement
Learn more about why HashiCorp requires a CLA and what the CLA includes
Have you signed the CLA already but the status is still pending? Recheck it.


Can Node 20 be added to the list of approved engines?

When upgrading from 4.x to 5.x, I got the following error:
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package<EMAIL_ADDRESS>npm WARN EBADENGINE   required: { node: '^16 || ^18', npm: '>=8' },
npm WARN EBADENGINE   current: { node: 'v20.5.0', npm: '9.8.0' }
npm WARN EBADENGINE }

When I decided to ignore that and proceed, the site I built seems to be working just fine.  Is there any chance we could either add node 20 to the list of supported engines, or switch it to '>=16'?
I am willing to make a PR to this effect, but I have no experience writing Typescript, and don't have a clear sense of what additional testing you'd want done.  If you can point me to any guidance about the latter, and specify if you have a preference between adding 20 or making it accept all >=16, I'm happy to try.

Hi @eldang,
Yes, a PR to fix this will be great. There's no much to change. I guess package.json and test.yml is enough.
And yup, >=16 is better in package.json#engines#node.

Cool, I should be able to do that next week.

Closed by #269


11106 layer controller refactor

Closes #11106

Test have failed! Take a look!

Fixe the obvious issue, but it seems that there are some more profound issues with tests. Take a look please!

Fixed the tests, there were three instances of map without visualization in the specs. Just adding a dummy visualization works.

I like the suggestions, implementing them! I left a major discussion point, of which I think could be an interesting extra refactor step.

Acceptance: IMHO this should be accepted through the smokes related to map edition, focusing on layers.

Oh, I left a similar comment in the ticket (we should standardize where we write such comments). Copying:

Acceptance: basically smoke tests for all things layer-related. Some must-test:

Test everything with Builder and Editor
Custom basemaps (create / delete)
Basemaps (test variants with layers on top and below)
Data and torque layers
Removing a dataset correctly identifies related maps
Cache/embed invalidation upon making changes (this is specially important in editor, which does not have the publish system)

@javitonino yes, as sometimes a PR has several issues, but we never do acceptance on several PRs, I'd add them at PRs. In addition, issues are the problem, PR the solution, so acceptance suggestions are closer to PRs, IMHO.
Anyway, sorry about not checking the issue!

@gfiorav spent some hours with many smokes: https://docs.google.com/spreadsheets/d/1_096XJQyYn83oj0xfpQxw88G82oQd52-Sbn1WpewbdY/edit#gid=1849408127 . We only found the ssl_required mistake ✨


"Virtual Rollups" via Transfer Hooks

Basically the idea of being able to spend money on a Ubiquity debit card but deduct directly from a user's wallet balance. However, we can create a "virtual rollup" by deducting on the next transfer via a transfer hook. It might be cheaper to do a single debit to roll up all transactions vs every transaction debit in regards to gas fees.
https://github.com/ubiquity/research/issues/2

We need to create a research specification to have a transfer hook contract to be able to perform this behavior of rebasing a user's uAD balance. It would be even more interesting if we had an off-chain oracle for the amount to be debited (so that it can change as many times as needed throughout the day - e.g. a user makes 20 debit card transactions)
Then the next time that the user wants to interact with their uAD with a transfer the transfer hook will rebase the user's balance from e.g. 1000 uAD to 850 uAD after the 20 debit card transactions from that day.

The off-chain oracle can be represented as "user delegated balance" where the amount begins with the amount of Ubiquity Dollars in the user's wallet, pre-transaction.
Next, a delegate service such as the Ubiquity Card modifies the "user delegated balance".

This is stored in an off-chain database, or on Gnosis Chain as the gas fees are negligible.
In this case, every time the Ubiquity Card is debited in the real world, it will subtract from the "user delegated balance."

as debitCard role, to enable access control management delegation.

This architecture allows "on-chain Ubiquity Dollar balance" delegation for various off-chain contexts.

Finally, the pre-transfer-hook ensures that the user's balance is synchronized with the "user delegated balance"

For security reasons, it only makes sense to enable support for subtracting (burning) Ubiquity Dollar's from one's on-chain balance via this pre-transfer-hook.

This can be easily handled with our protocol access control manager by enabling only burn permissions on the "user delegated balance transfer hook" contract address.

Request for comment @zgorizzo69 @rndquu

Sync gap
Traditional banks maintain a single source of truth (i.e. DB)
In the proposed architecture we should maintain 2 sources of truth:

off-chain Ubiquity Card service (i.e. DB with user balances)
on-chain UbiquityDollar contract with user balances

Maintaining 2 sources of truth we have a "sync" gap when user pays with his Ubiquity debit card.
Example (user balance 100 USD on-chain and off-chain):

Time: 12:00:00. User pays 100 USD with his debit card (on-chain balance: 100 UAD, off-chain balance: 0 USD)
Time: 12:00:00. User transfers 100 UAD to somebody   (on-chain balance: 0 UAD, off-chain balance: 100 USD)

So on next trasfer code inside a transfer hook will fail to deduct 100 USD (which came in off-chain) because there is nothing to deduct
Flow
Consider an example with onchain confirmation (with successful result):

User wants to buy a T-shirt in an online store for 10 UAD
User enters his Ubiquity Card number
User's card number is sent to the "Ubiquity Card Service" (which has allowance over user's balance)
"Ubiquity Card Service" sends transfer transaction to gnosis chain that moves user's 10 UAD to the merchant (here we omit the "who pays for gas?" question because gas prices are really low in gnosis chain)
"Ubiquity Card Service" waits 40 seconds for 8 block confirmations in gnosis
"Ubiquity Card Service" sends a success webhook to the online store so that it could display a success message

Here on step 3 we should somehow distinguish a real card holder with an adversary who knows the card number. So we need an additional step of authentication (sms, push, OTP, etc...)
So basically we are sending a transaction on behalf of a user. I don't get why user should take additional risks by allowing some address his funds while he can simply use any wallet, sign transaction and send it without any 3rd party services.

Traditional banks maintain a single source of truth (i.e. DB)

If the user wants to use the debit card feature, the user is required to opt in to this "delegated balance service." Now this is the singular source of truth for the balance of that user. Once the user has enabled the "delegated balance service" on the next on-chain transfer of uAD, the balance will be rebased to what the "delegated balance service" thinks it should be.
If a user is not opted in, then they can not use any of these features with prevents any of these issues from happening in the first place. Meaning that by default, the single source of truth will be the user's on-chain balance as we would traditionally expect for any normal stablecoin project.

Time: 12:00:00. User pays 100 USD with his debit card
Time: 12:00:00. User transfers 100 UAD to somebody

I also think this is exceptionally difficult to get a transaction included and the block validated all in the same millisecond that the debit card payment was made and is checked by our server. Maybe possible so we should think about this more carefully.

Flow

"Ubiquity Card Service" waits 40 seconds for 8 block confirmations in gnosis

I am not sure that the traditional finance system is compatible with this. Imagine going to a fast food restaurant and spending 40 seconds to buy a snack.

Here on step 3 we should somehow distinguish a real card holder with an adversary who knows the card number. So we need an additional step of authentication (sms, push, OTP, etc...)

I always like to default to Gnosis Safe because they support push notifications and transaction approvals on the iOS app, which is a very convenient form of on-chain two-factor authentication.

I don't get why user should take additional risks by allowing some address his funds while he can simply use any wallet, sign transaction and send it without any 3rd party services.

There is no way that we can offer a fully decentralized debit card. It must have a centralized component unfortunately due to laws regulations. If you know of a way to hop on to traditional finance payment rails in a totally permission less way then we will absolutely do that. However as of now, there must be KYC for example, and the card must be authorized (accepted) by merchants in specific geographies following geographic specific regulations.
I'm unsure if I addressed all of your points fully.
Fiat Liquidity
There is one clarification I need to make in regards to liquidity in case it is not clear:
When we issue debit cards, I presume that we will need to have a fiat bank account with liquidity (e.g. $1M USD for all the early customers) and that balance must be topped up/managed daily in order to settle payments in the fiat world. So when a transaction happens with a merchant, it all happens on the fiat side.
However, because Ubiquity is providing that fiat liquidity, we must be made whole from our customer/user. The way we do this is by liquidating their on-chain uAD from their wallet so that they can't redeem collateral or spend it elsewhere on chain.

If the user wants to use the debit card feature (or any other off-chain extensions of the Ubiquity Dollar economy) the user is required to opt in to this "delegated balance service." Now this is the singular source of truth for the balance of that user.

So we should somehow block on chain transactions for that user while he is opted in to the "delegated balance service", right?

I think it's easy to control transfer behavior on-chain including blocking with transfer hooks.
This question seems to be less around technology and more around strategy.

I think it's easy to control transfer behavior on-chain including blocking with transfer hooks.
This question seems to be less around technology and more around strategy.

I'm trying to understand how to prevent double spending from off chain and on chain user's balances.
So, from what I've understood so far, in case a user wants to opt in for the "delegated balance service" we should:

Block user's on-chain transfers and operate only with an off-chain balance
Sync off-chain balances with on-chain ones from time to time

Block user's on-chain transfers and operate only with an off-chain balance

Unfortunately this sounds exactly like depositing the tokens into a smart contract which defeats the vision of being able to keep your Ubiquity Dollars liquid in your wallet, while being able to spend them in the real world. Alternatively we could consider spend limits with the debit card and actually make their uAD balance negative (overdraft.)
It's not ideal, but it will handle the edge case I replied to earlier with:

I also think this is exceptionally difficult to get a transaction included and the block validated all in the same millisecond that the debit card payment was made and is checked by our server. Maybe possible so we should think about this more carefully.

Sync off-chain balances with on-chain ones from time to time

This will be synchronized every time transfer is invoked on the Ubiquity Dollar.

Alternatively we could consider spend limits with the debit card and actually make their uAD balance negative

This does not eliminate double spending but if there is a form of KYC on the "debit card side" then we could charge negative in such cases

I also think this is exceptionally difficult to get a transaction included and the block validated all in the same millisecond that the debit card payment was made and is checked by our server. Maybe possible so we should think about this more carefully.

Another kernel of an idea that isn't completed but maybe could inspire something more fleshed out: what if we take inspiration from optimistic rollups, where we optimistically assume that everybody is a good actor, but if we detect any foul-play (attempted double spend) we can post the attestation and retroactively undo things on chain.


Provide short summary after update nuget package

Is it possible to provide a small description when new version released?
Thank in advance!

@aritchie

Not in the betas.  Already have enough to do.  Please use github for issues only


Documentation Copyright update

Details
This is a Documentation change ONLY.
Context
Gradle issue #31402

"Gradle, Inc." is used for legal or formal documents (e.g., copyright statements, terms of service).
"Gradle Inc" is used for branding, marketing, or informal contexts where simplicity is preferred.

WARN: The milestone of this PR is 8.12 RC1, but the base branch version is 8.11.1

WARN: Based on labels, this pull request addresses notable issue but no changes to release note found.


Proper scaling on iOS 10 requires user-scalable tag set to no

This will fix a zooming issue on iOS embedded contexts

Actually a bit trickier than this. Closing.


Replace SERVER_CONFIG with require('./dev_config')

That configuration shouldn't stay in the separate file, it can be used directly.

I think we can drop dev_ prefix

Yeah, that's a nice idea.

We don't need it anymore; was replaced by KAIWA_CONFIG injected by webpack.DefinePlugin.


Add a service to dynamically configure the xDS test server

This adds a configuration service to the xDS interop test server, analogous to the service that is already defined for the client. The initial purpose of this service is to enable outlier detection tests in which some servers always respond with errors.

I think technically this is the source of truth for this proto. It can probably be added there as a follow-up though.


make javadoc alignment at least locally coherent

@paplorinc was commenting about the javadoc alignment being inconsistent.
actually sometimes we have the descriptions aligned between themselves, sometimes they are only one space character away from the keys. Maybe we could harmonize that through the project, maybe not, but yes, at least we should be coherent in a single javadoc comment, that's what this commit does.
see https://github.com/javaslang/javaslang/commit/b97080b199adc2abe51b8ebb05d646acecfac8fe#commitcomment-19891096

Current coverage is 97.06% (diff: 100%)

Merging #1693 into master will not change coverage

@@             master      #1693   diff @@
==========================================
  Files            89         89
  Lines         11247      11247
  Methods           0          0
  Messages          0          0
  Branches       1888       1888
==========================================
  Hits          10917      10917
  Misses          187        187
  Partials        143        143

Powered by Codecov. Last update ac9e284...f14a66f

Thank you!
I think there are still several formatting-inconsistencies throughout the codebase - but on the other hand we take care of formatting. The repo is in a relatively good shape.
I plan to re-format the whole repo (*.java) soon. The Checkstyle configuration needs to be accordingly adjusted to be consistent with our IntelliJ formatter. For now we will use Sputnik review comments as hints if there is s.th. wrong beyond formatting.


Sprite over Graph not working/refreshing

I am trying to have a message pop-up over the running graph. So I thought a sprite must be a good idea, since I can clear it, move it, delete it, without impacting the graph.
While I can 'draw' the message, functionally delete the message, the message remains part of graph until the graph refreshes / redraws.
The sprite renders fine outside of the graph area, but not within.
Any hints, tips or ideas  ?
 The graph needs to be created into its own spline !?


Known reflect prototype issues

As regards my first pull request #41:
Only the Type side of reflect has been started, no work yet on the Value side.
The Type system only works fully for simple types with a textual name in the interface and for named types based on a struct, where a Haxe class is created which has had @:rtti metadata created.
Named types not based on a struct that generate code using the @:using(haxe.path.To._MyType__extension) are still to be worked up.
Anonymous structs work, but with native concrete Haxe types rather than Go type information based on abstract Haxe types.
Other types (array, slice ...)  have not been looked at so far.

This is great stuff, I assume the method handling for Slices/Arrays/Chans will just a recursive system for the method kind for instance. Do you need some type of transport of:

Named types not based on a struct that generate code using the @:using(haxe.path.To._MyType__extension) are still to be worked up.

To the reflect system to have it partially handled at compile time somehow? Or potentially add @:rtti to the generated extensions Classes as well?

I will look into Slices/Arrays/Chans, which should work in the same way as other basic classes.
Certainly @:rtti needs to be added to the extension classes.
Because it is not a named type, I think I made a mistake, reflect.Kind should not be an abstract, but rather a typedef with an extension in the same way as a normal type ... which I will change.
Then the problem becomes how to handle haxe typedef + extension class implementations of named types, which I will work on next.
I just noticed that the code you generate for a go2hx class shows which go2hx interfaces it implements, I need to implement that too as a shortcut before checking the function names+signatures (needed for non-go2hx classes).

Latest PR #44 requires code generation changes to work.
Go named types need to be implemented using an abstract, to allow the correct conversion to interface{}, and their __extension class needs to contain a static _typeName_ string to provide the name of the underlying type.
The prototype is the reflect.Kind implementation:
@:using(stdgo.reflect.Reflect._Kind__extension)
abstract Kind(GoUInt) from(GoUInt) to(GoUInt) {
	public inline function new(?ui:GoUInt = 0) {
		this = ui;
	}

	@:to inline function __promote() // this is why Kind is an abstract
		return new AnyInterface({value: this, typeName: Type.getClassName(_Kind__extension)});

	@:from inline static function __fromIntegerType(i:IntegerType):Kind {
		return new Kind((i : GoUInt));
	}
}

@:rtti
class _Kind__extension {
	static final _typeName_ = "uint";

	// string must be here to enable it to be seen at runtime
	public static function string(k:Kind):GoString {
		var idx:UInt = (k:GoUInt).toBasic();
		var r = EnumTools.getConstructors(GT_enum)[idx].substr(3);
		if (r == "unsafePointer")
			return "unsafe.pointer";
		return r;
	}
}

TypeOf array, slice, map and channel now added.

@elliott5 let me know if the code generation changes I have pushed thus far is sufficent (class extensions for all alias types and typeName system that as a string holds the underlying type of the alias). Also apologies for the commits as well recently working on getting multiple files to work/proper exporting of types and I needed to quickly get it to a point where it wasn't breaking the compiler, so I could update the code generation needed for the pull request 😅

TODO find a way to pass in field types, rather than inspect contents

Perhaps all StructTypes could take the types of their fields and put them into a seralized string to be extracted by reflect in the future?

No need to do this with namedTypes, as these have the rtti data to work from. But for anonymous structs and other complex types without rtti data, that is what I'm hoping for.

Both Type and Value should be working, and @:rtti no longer applies.


NOT READY - Implemented sort by name and sort by date for the bookmarks panel

Implemented sort by name and sort by date for the bookmarks panel.
Sort by date:

rather than keeping track of the actual times when bookmarks are set, always add them to the front of their sets so that they are sorted by date, left to right.
This way, sorting by date does not incur an extra cost (apart from setting the list in the tree and re-rendering it).
When the array is sorted by date, new bookmarks are rendered at index 0.

Sort by name:

if the array is sorted by name, find the index where a new bookmarks should be inserted through a binary search.

Converted the Array implementation back to Sets. Similarly to how recent directories stores the directories ordered by when they were visited (so the most recent is the one inserted last), the bookmarks that were set last are the ones last added to the set.


Hot module cross browser

Addresses #4695

Updated the format of the dates passed to the front end because the The pattern yyyy-MM-dd that being returned from PHP isn't an officially supported format for Date constructor in JS. This was causing some Invalid Date errors in Safari and IE9 that was stopping the graph from being rendered.

Added a check for the support of the setLineDash() HTML5 Canvas function which is only supported in IE10+. So now in IE9 the goal line will be solid, not dashed.

@DoSomething/front-end

Cooool :+1:


YCAP1, YCAP2, YCAP3

The 'Cheetah Driver Integrated V4 connector' schematic has YCAP1, YCAP2, YCAP3 listed as 'Do not place', whilst 'Cheetah Driver Integrated V4' has them listed as 100nF, but they do not appear in Parts_no_connector.xlsx
Are these caps required?

It also looks like the MA700 encoder is a discontinued part now. Is there a drop in replacement, or will changes be required?

Yep, I use the MA702 now.
As far as the y-caps:  whether they're needed or not depends on how your drive is mounted.  I found YCAP1 to be necessary when mounting the drives directly to large metal structures with multiple motors.  If the drives are mounted to plastic I haven't needed them.  I believe this is due to capacitive coupling between the motor and the logic ground planes on the board when both the drive and motor are mounted to the same piece of metal.

Thanks,
I don't suppose there are drop in replacements for the DRV8323 or the mosfets? Both are rather difficult to source the moment.
Even the LDO is impossible to find at the moment!


mariadb crash

Hi,
I am trying to use the mariadb database but when I check the docker status, I see that mariadb keeps restarting. There is also a crash on the data container.
I read #16 and tried to pull latest mariadb as suggested but still got the same issue.
Here are the logs  :
projectcom_data_1 exited with code 0
projectcom_mariadb_1 exited with code 1
mariadb_1     | MySQL root password (from /data/mysql/root_password): 4548rbBmL30mamsTbRYUMQHvfEczTO
mariadb_1     | error: database is uninitialized and password option is not specified
mariadb_1     |   You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
mariadb_1     | MySQL root password (from /data/mysql/root_password): 4548rbBmL30mamsTbRYUMQHvfEczTO
mariadb_1     | error: database is uninitialized and password option is not specified
mariadb_1     |   You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
mariadb_1     | MySQL root password (from /data/mysql/root_password): 4548rbBmL30mamsTbRYUMQHvfEczTO
mariadb_1     | error: database is uninitialized and password option is not specified
mariadb_1     |   You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
mariadb_1     | MySQL root password (from /data/mysql/root_password): 4548rbBmL30mamsTbRYUMQHvfEczTO
mariadb_1     | error: database is uninitialized and password option is not specified
mariadb_1     |   You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
projectcom_mariadb_1 exited with code 1
mariadb_1     | MySQL root password (from /data/mysql/root_password): 4548rbBmL30mamsTbRYUMQHvfEczTO
mariadb_1     | error: database is uninitialized and password option is not specified
mariadb_1     |   You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
mariadb_1     | MySQL root password (from /data/mysql/root_password): 4548rbBmL30mamsTbRYUMQHvfEczTO
mariadb_1     | error: database is uninitialized and password option is not specified
mariadb_1     |   You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
mariadb_1     | MySQL root password (from /data/mysql/root_password): 4548rbBmL30mamsTbRYUMQHvfEczTO
mariadb_1     | error: database is uninitialized and password option is not specified
mariadb_1     |   You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
mariadb_1     | MySQL root password (from /data/mysql/root_password): 4548rbBmL30mamsTbRYUMQHvfEczTO
mariadb_1     | error: database is uninitialized and password option is not specified
mariadb_1     |   You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
mariadb_1     | MySQL root password (from /data/mysql/root_password): 4548rbBmL30mamsTbRYUMQHvfEczTO
mariadb_1     | error: database is uninitialized and password option is not specified
mariadb_1     |   You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
mariadb_1     | MySQL root password (from /data/mysql/root_password): 4548rbBmL30mamsTbRYUMQHvfEczTO
mariadb_1     | error: database is uninitialized and password option is not specified
mariadb_1     |   You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
projectcom_mariadb_1 exited with code 1

So I added the following code in the mariadb block of the docker-compose.yml
  environment:
    - MYSQL_ROOT_PASSWORD=root

Here are the new logs :
mariadb_1     | MySQL root password (from /data/mysql/root_password): 4548rbBmL30mamsTbRYUMQHvfEczTO
mariadb_1     | Initializing database
php_1         | [16-Sep-2016 15:59:17] NOTICE: PHP message: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20151012/memcached.so' - /usr/local/lib/php/extensions/no-debug-non-zts-20151012/memcached.so: cannot open shared object file: No such file or directory in Unknown on line 0
php_1         | [16-Sep-2016 15:59:17] NOTICE: fpm is running, pid 1
php_1         | [16-Sep-2016 15:59:17] NOTICE: ready to handle connections
mariadb_1     | 2016-09-16 15:59:15<PHONE_NUMBER>61056 [Note] /usr/sbin/mysqld (mysqld 10.1.17-MariaDB-1~jessie) starting as process 63 ...
mariadb_1     | 2016-09-16 15:59:15<PHONE_NUMBER>61056 [ERROR] WSREP: rsync SST method requires wsrep_cluster_address to be configured on startup.
mariadb_1     | 2016-09-16 15:59:15<PHONE_NUMBER>61056 [Warning] You need to use --log-bin to make --binlog-format work.
phpmyadmin_1  | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
mariadb_1     | 2016-09-16 15:59:16<PHONE_NUMBER>61056 [Note] InnoDB: Using mutexes to ref count buffer pool pages
mariadb_1     | 2016-09-16 15:59:16<PHONE_NUMBER>61056 [Note] InnoDB: The InnoDB memory heap is disabled
mariadb_1     | 2016-09-16 15:59:16<PHONE_NUMBER>61056 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
mariadb_1     | 2016-09-16 15:59:16<PHONE_NUMBER>61056 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
phpmyadmin_1  | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
mariadb_1     | 2016-09-16 15:59:16<PHONE_NUMBER>61056 [Note] InnoDB: Compressed tables use zlib 1.2.8
mariadb_1     | 2016-09-16 15:59:16<PHONE_NUMBER>61056 [Note] InnoDB: Using Linux native AIO
projectcom_data_1 exited with code 0
phpmyadmin_1  | [Fri Sep 16 15:59:18.107357 2016] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.10 (Debian) PHP/5.6.25 configured -- resuming normal operations
mariadb_1     | 2016-09-16 15:59:16<PHONE_NUMBER>61056 [Note] InnoDB: Using SSE crc32 instructions
phpmyadmin_1  | [Fri Sep 16 15:59:18.107423 2016] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
mariadb_1     | 2016-09-16 15:59:16<PHONE_NUMBER>61056 [Note] InnoDB: Initializing buffer pool, size = 256.0M
mariadb_1     | 2016-09-16 15:59:16<PHONE_NUMBER>61056 [Note] InnoDB: Completed initialization of buffer pool
mariadb_1     | 2016-09-16 15:59:16<PHONE_NUMBER>61056 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
mariadb_1     | 2016-09-16 15:59:16<PHONE_NUMBER>61056 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
mariadb_1     | 2016-09-16 15:59:16<PHONE_NUMBER>61056 [Note] InnoDB: Database physically writes the file full: wait...
mariadb_1     | 2016-09-16 15:59:16<PHONE_NUMBER>61056 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
mariadb_1     | 2016-09-16 15:59:17<PHONE_NUMBER>61056 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
mariadb_1     | 2016-09-16 15:59:18<PHONE_NUMBER>61056 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
mariadb_1     | 2016-09-16 15:59:18<PHONE_NUMBER>61056 [Warning] InnoDB: New log files created, LSN=45883
mariadb_1     | 2016-09-16 15:59:18<PHONE_NUMBER>61056 [Note] InnoDB: Doublewrite buffer not found: creating new
mariadb_1     | 2016-09-16 15:59:18<PHONE_NUMBER>61056 [Note] InnoDB: Doublewrite buffer created
mariadb_1     | 2016-09-16 15:59:18<PHONE_NUMBER>61056 [Note] InnoDB: 128 rollback segment(s) are active.
mariadb_1     | 2016-09-16 15:59:18<PHONE_NUMBER>61056 [Warning] InnoDB: Creating foreign key constraint system tables.
mariadb_1     | 2016-09-16 15:59:18<PHONE_NUMBER>61056 [Note] InnoDB: Foreign key constraint system tables created
mariadb_1     | 2016-09-16 15:59:18<PHONE_NUMBER>61056 [Note] InnoDB: Creating tablespace and datafile system tables.
mariadb_1     | 2016-09-16 15:59:18<PHONE_NUMBER>61056 [Note] InnoDB: Tablespace and datafile system tables created.
mariadb_1     | 2016-09-16 15:59:18<PHONE_NUMBER>61056 [Note] InnoDB: Waiting for purge to start
mariadb_1     | 2016-09-16 15:59:18<PHONE_NUMBER>61056 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.31-77.0 started; log sequence number 0
mariadb_1     | 2016-09-16 15:59:18<PHONE_NUMBER>00928 [Note] InnoDB: Dumping buffer pool(s) not yet started
mariadb_1     | 2016-09-16 15:59:22<PHONE_NUMBER>05760 [Note] /usr/sbin/mysqld (mysqld 10.1.17-MariaDB-1~jessie) starting as process 92 ...
mariadb_1     | 2016-09-16 15:59:22<PHONE_NUMBER>05760 [ERROR] WSREP: rsync SST method requires wsrep_cluster_address to be configured on startup.
mariadb_1     | 2016-09-16 15:59:22<PHONE_NUMBER>05760 [Warning] You need to use --log-bin to make --binlog-format work.
mariadb_1     | 2016-09-16 15:59:23<PHONE_NUMBER>05760 [Note] InnoDB: Using mutexes to ref count buffer pool pages
mariadb_1     | 2016-09-16 15:59:23<PHONE_NUMBER>05760 [Note] InnoDB: The InnoDB memory heap is disabled
mariadb_1     | 2016-09-16 15:59:23<PHONE_NUMBER>05760 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
mariadb_1     | 2016-09-16 15:59:23<PHONE_NUMBER>05760 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
mariadb_1     | 2016-09-16 15:59:23<PHONE_NUMBER>05760 [Note] InnoDB: Compressed tables use zlib 1.2.8
mariadb_1     | 2016-09-16 15:59:23<PHONE_NUMBER>05760 [Note] InnoDB: Using Linux native AIO
mariadb_1     | 2016-09-16 15:59:23<PHONE_NUMBER>05760 [Note] InnoDB: Using SSE crc32 instructions
mariadb_1     | 2016-09-16 15:59:23<PHONE_NUMBER>05760 [Note] InnoDB: Initializing buffer pool, size = 256.0M
mariadb_1     | 2016-09-16 15:59:23<PHONE_NUMBER>05760 [Note] InnoDB: Completed initialization of buffer pool
mariadb_1     | 2016-09-16 15:59:23<PHONE_NUMBER>05760 [Note] InnoDB: Highest supported file format is Barracuda.
mariadb_1     | 2016-09-16 15:59:23<PHONE_NUMBER>05760 [Note] InnoDB: 128 rollback segment(s) are active.
mariadb_1     | 2016-09-16 15:59:23<PHONE_NUMBER>05760 [Note] InnoDB: Waiting for purge to start
mariadb_1     | 2016-09-16 15:59:23<PHONE_NUMBER>05760 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.31-77.0 started; log sequence number 1616799
mariadb_1     | 2016-09-16 15:59:23<PHONE_NUMBER>55552 [Note] InnoDB: Dumping buffer pool(s) not yet started
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [Note] /usr/sbin/mysqld (mysqld 10.1.17-MariaDB-1~jessie) starting as process 121 ...
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [ERROR] WSREP: rsync SST method requires wsrep_cluster_address to be configured on startup.
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [Warning] You need to use --log-bin to make --binlog-format work.
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [Note] InnoDB: Using mutexes to ref count buffer pool pages
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [Note] InnoDB: The InnoDB memory heap is disabled
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [Note] InnoDB: Compressed tables use zlib 1.2.8
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [Note] InnoDB: Using Linux native AIO
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [Note] InnoDB: Using SSE crc32 instructions
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [Note] InnoDB: Initializing buffer pool, size = 256.0M
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [Note] InnoDB: Completed initialization of buffer pool
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [Note] InnoDB: Highest supported file format is Barracuda.
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [Note] InnoDB: 128 rollback segment(s) are active.
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [Note] InnoDB: Waiting for purge to start
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.31-77.0 started; log sequence number 1616809
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>56800 [Note] InnoDB: Dumping buffer pool(s) not yet started
mariadb_1     | ERROR: 1049  Unknown database 'test'
mariadb_1     | 2016-09-16 15:59:25<PHONE_NUMBER>43744 [ERROR] Aborting
mariadb_1     |
mariadb_1     |
mariadb_1     | WARNING: OPENGIS REQUIRED SP-S WERE NOT COMPLETELY INSTALLED!
mariadb_1     | GIS extentions might not work properly.
mariadb_1     |
mariadb_1     | PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
mariadb_1     | To do so, start the server, then issue the following commands:
mariadb_1     |
mariadb_1     | '/usr/bin/mysqladmin' -u root password 'new-password'
mariadb_1     | '/usr/bin/mysqladmin' -u root -h  password 'new-password'
mariadb_1     |
mariadb_1     | Alternatively you can run:
mariadb_1     | '/usr/bin/mysql_secure_installation'
mariadb_1     |
mariadb_1     | which will also give you the option of removing the test
mariadb_1     | databases and anonymous user created by default.  This is
mariadb_1     | strongly recommended for production servers.
mariadb_1     |
mariadb_1     | See the MariaDB Knowledgebase at http://mariadb.com/kb or the
mariadb_1     | MySQL manual for more instructions.
mariadb_1     |
mariadb_1     | Please report any problems at http://mariadb.org/jira
mariadb_1     |
mariadb_1     | The latest information about MariaDB is available at http://mariadb.org/.
mariadb_1     | You can find additional information about the MySQL part at:
mariadb_1     | http://dev.mysql.com
mariadb_1     | Support MariaDB development by buying support/new features from MariaDB
mariadb_1     | Corporation Ab. You can contact us about this at<EMAIL_ADDRESS>mariadb_1     | Alternatively consider joining our community based development effort:
mariadb_1     | http://mariadb.com/kb/en/contributing-to-the-mariadb-project/
mariadb_1     |
mariadb_1     | Database initialized
mariadb_1     | MySQL init process in progress...
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] mysqld (mysqld 10.1.17-MariaDB-1~jessie) starting as process 148 ...
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Warning] You need to use --log-bin to make --binlog-format work.
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] InnoDB: Using mutexes to ref count buffer pool pages
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] InnoDB: The InnoDB memory heap is disabled
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] InnoDB: Compressed tables use zlib 1.2.8
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] InnoDB: Using Linux native AIO
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] InnoDB: Using SSE crc32 instructions
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] InnoDB: Initializing buffer pool, size = 256.0M
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] InnoDB: Completed initialization of buffer pool
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] InnoDB: Highest supported file format is Barracuda.
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] InnoDB: 128 rollback segment(s) are active.
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] InnoDB: Waiting for purge to start
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.31-77.0 started; log sequence number 1616819
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>58336 [Note] InnoDB: Dumping buffer pool(s) not yet started
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] Plugin 'FEEDBACK' is disabled.
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Warning] 'user' entry 'root@4230632d0627' ignored in --skip-name-resolve mode.
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Warning] 'proxies_priv' entry '@% root@4230632d0627' ignored in --skip-name-resolve mode.
mariadb_1     | 2016-09-16 15:59:28<PHONE_NUMBER>75232 [Note] mysqld: ready for connections.
mariadb_1     | Version: '10.1.17-MariaDB-1~jessie'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  mariadb.org binary distribution
mariadb_1     | Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
mariadb_1     | 2016-09-16 15:59:30<PHONE_NUMBER>10816 [Warning] 'proxies_priv' entry '@% root@4230632d0627' ignored in --skip-name-resolve mode.
mariadb_1     |
mariadb_1     | /docker-entrypoint-init.sh: ignoring /docker-entrypoint-initdb.d/*
mariadb_1     |
mariadb_1     | 2016-09-16 15:59:30<PHONE_NUMBER>07712 [Note] mysqld: Normal shutdown
mariadb_1     |
mariadb_1     | 2016-09-16 15:59:30<PHONE_NUMBER>07712 [Note] Event Scheduler: Purging the queue. 0 events
mariadb_1     | 2016-09-16 15:59:30<PHONE_NUMBER>72928 [Note] InnoDB: FTS optimize thread exiting.
mariadb_1     | 2016-09-16 15:59:30<PHONE_NUMBER>07712 [Note] InnoDB: Starting shutdown...
mariadb_1     | 2016-09-16 15:59:32<PHONE_NUMBER>07712 [Note] InnoDB: Shutdown completed; log sequence number 1616829
mariadb_1     | 2016-09-16 15:59:32<PHONE_NUMBER>07712 [Note] mysqld: Shutdown complete
mariadb_1     |
mariadb_1     |
mariadb_1     | MySQL init process done. Ready for start up.
mariadb_1     |
projectcom_mariadb_1 exited with code 0

Thanks.

Probably, something has changed in upstream MariaDB image, will take a look.

Should be good now, but let the images some time to build (https://hub.docker.com/r/nazarpc/webserver/builds/). and do not forget to pull fresh images after
There was some changes in upstream image (which I didn't follow close enough), which made it incompatible, so I've added few patches to make it compatible again.
Also data image doesn't crash.
From readme (about data image):

This container will start and stop immediately, that is OK.

When new images will be available give it a try and let me know if you experience any other issues.

Thanks !
I will check this when the build is done.

It works with latest fix !
However in my web application I have to specify the database_host, I found that I have to use the server ip specified in phpmyadmin.

When I restart the containers, the ip changes sometimes.
Any idea on how to fix ?

Just like with PHP you need to specify the name of the service as host, not IP. IP will change on each restart/upgrade.


Fix asar testing (it would fail on Windows due to line endings)

I had 4 asar tests fail because, the tests assumed that the file content ends with UNIX line endings (\n), while it was using Windows line endings (\r\n). Git probably changed them when I cloned the project on
Windows.
Since the line ending is not what matters in the tests, I trimmed them and now all the tests pass as expected and will work cross-platform.

isn't it better to use os.EOL ?

The end of line can change according to your git configuration, so os.EOL is not reliable. The goal of these tests is to check that asar works as expected, the line endings shouldn't matter.

The X from Travis is not related to the changes in this PR. It seems the OS X machine just timed out (like it also did with #2453).

Looks good to me, thanks!


Revert _get_arch

This PR partially reverts the change made in https://github.com/cupy/cupy/pull/4558, where _get_arch was simplified.
_get_arch was originally for the case that nvrtc supported only lower compute capability than nvcc, but at the same time, it also worked for the situation that the compute capability that the CUDA Toolkit version supported was lower than the GPU did.
The situation may have to be always an error as, for example, one should not expect to run Ampere on CUDA 10.x, but we keep working user's environment here. (Actually, we have to build CUDA 9.0 wheels on Tesla T4 (CC = 7.5))

LGTM!
pfnCI, test this please.

Thanks @takagi.

Jenkins CI test (for commit cd4317a32caa4e006045c8241e91f89fa412cd1f, target branch master) failed with status FAILURE.

@toslunar @kmaehashi The failing tests are also frequently seen when testing #4628 (thus I suspect it might have something to do with #4684):
tests.cupy_tests.random_tests.test_generator.TestInterval.test_goodness_of_fit
tests.cupy_tests.random_tests.test_generator.TestChoiceChi.test_goodness_of_fit
tests.cupy_tests.random_tests.test_generator.TestChoiceChi.test_goodness_of_fit_2
tests.cupy_tests.random_tests.test_sample.TestRandint2.test_goodness_of_fit
tests.cupy_tests.random_tests.test_sample.TestRandint2.test_goodness_of_fit_2
tests.cupy_tests.random_tests.test_sample.TestRandomIntegers2.test_goodness_of_fit
tests.cupy_tests.random_tests.test_sample.TestRandomIntegers2.test_goodness_of_fit_2

https://jenkins.preferred.jp/job/chainer/job/cupy_pr/3058/

Let me merge this as
As for the test failures, we're discussing reverting batched SVD PR to isolate the issue. (as the next release date is close)

As for the test failures, we're discussing reverting batched SVD PR to isolate the issue. (as the next release date is close)

@kmaehashi All failures are from the  test_svd_rank<N>_loop tests. Perhaps it's easier to just disable this call path https://github.com/cupy/cupy/blob/1976a612043e63d149b9ed08e622220f54ed7f3d/cupy/linalg/_decomposition.py#L398-L402
and also those tests?


[compile] fix BE crash when link with opentelemetry

What type of PR is this：

[ ] bug
[ ] feature
[ ] enhancement
[ ] others

Which issues of this PR fixes ：
close #5319
Problem Summary(Required) ：
It was because opentelemetry uses C++20 standard by default under GCC10,
which has a different std::string ABI with C++17.

Thanks for your contribution, This is duplicated with #5332 I will merge it.


[Feature request] Extract Password from variable initial_root_password

Thanks for role gitlab.
May be add view gitlab password from /etc/gitlab/initial_root_password to role?
My playbook for install gitlab
- hosts: gitlab
  become: yes
  roles:
    - role: robertdebock.gitlab
  post_tasks:
    - name: Read initial_root_password file
      slurp:
        src: /etc/gitlab/initial_root_password
      register: initial_root_password

    - name: Extract Password from variable initial_root_password
      set_fact:
        gitlab_password: "{{ initial_root_password['content'] | b64decode | regex_search('Password: (.+)', '\\1') | first }}"

    - name: Print gitlab password
      debug:
        var: gitlab_password

May add variable 'show gitlab password' and set variable to false.

I couldn't login w user root using the password in the initial_root_pass file. Also, logging in after resetting the root password didn't work...
I manually created an admin user.
sudo gitlab-rails console
u = User.new(username: 'test_user', email<EMAIL_ADDRESS>name: 'Test User', password: 'password', password_confirmation: 'password')
u.admin=true
u.skip_confirmation!
u.save!


EnvFile configuration resets on restart for ScalaTest setups

Example setup:

After restart:

This has been a problem for quite a long time but it used to work. See also https://github.com/ashald/EnvFile/issues/170
There is also a problem with ScalaTest run configuration templates - if I set up an EnvFile configuration in the template, then create a new ScalaTest run configuration, the EnvFile config doesn't get applied.
Like the original reported problem, the ScalaTest configuration is lost after IntelliJ is restarted.

As of IntelliJ IDEA 2024.3.1, there is native support for env files, omitting the need for using this plugin.


Issues running on Windows

Ok, I don't use Windows myself (ugh), but some of my coworkers do. There are issues running this on Windows:

The compiler is run with an invalid path that contains a leading "/". Here is the debug output from Gradle:

11:48:22.846 [INFO] [org.gradle.process.internal.DefaultExecHandle] Starting process 'command 'C:\jdk1.8.0_191\bin\java.exe''. Working directory: H:\source\myproject\lib-proto Command: C:\jdk1.8.0_191\bin\java.exe -Dfile.encoding=windows-1252 -Duser.country=US -Duser.language=en -Duser.variant -jar /C:/Users/Me/.gradle/caches/modules-2/files-2.1/com.github.marcoferrer.krotoplus/kroto-plus-compiler/0.1.3/620b2a278b4d4beed80320bb4800339967f850d7/kroto-plus-compiler-0.1.3.jar H:\source\myproject\lib-proto/src/main/proto H:\source\myproject\lib-proto\build/extracted-include-protos/main -default-out H:\source\myproject\lib-proto\build\generated\source\proto\main\kotlin -writers 3 -StubOverloads -o|H:\source\myproject\lib-proto\build\generated\source\proto\main\kotlin|-coroutines -MockServices -o|H:\source\myproject\lib-proto\build\generated\source\proto\main\kotlin -ProtoTypeBuilder
...
11:48:22.874 [ERROR] [system.err] Error: Unable to access jarfile /C:/Users/Me/.gradle/caches/modules-2/files-2.1/com.github.marcoferrer.krotoplus/kroto-plus-compiler/0.1.3/620b2a278b4d4beed80320bb4800339967f850d7/kroto-plus-compiler-0.1.3.jar

Note the leading slash on the -jar argument.

I don't know if this is an issue in this plugin or in the upstream protobuf gradle plugin, but when adding the kroto code gen plugin to the protobuf plugin, the build fails with the error:

Execution failed for task ':generateProto'.
> protoc: stdout: . stderr: --kroto_out: protoc-gen-kroto: %1 is not a valid Win32 application.

Looking at the --debug logs, it looks like a --plugin parameter is addd to the call to protoc, with the following value:
 --plugin=protoc-gen-kroto=C:\Users\Me\.gradle\caches\modules-2\files-2.1\com.github.marcoferrer.krotoplus\protoc-gen-kroto-plus\0.1.3\3c41d071d04c8558822447643894490e33a857b7\protoc-gen-kroto-plus-0.1.3-jvm8.jar

but protoc is assuming the jar file is an executable it can run. I have tried associating ".jar" files with "java" (and this seems to have worked), but for some reason when running via protoc, the same "not a valid Win32 application" error still happens.

This might be related to the second item mentioned above: https://github.com/google/protobuf-gradle-plugin/issues/268

It looks like the problem is that the script thats embedded in the jar via spring boot is not executable in windows. I dont think there is any issue with the gradle protobuf plugin.
The fix is probably going to involved distributing another artifact that is executable on windows. I dont have windows machine to try on but I think if you point the protobuf gradle plugin to an executable bat script that executes the jar via java it might work in mean time while I work on the long term solution. I dont have much experience with windows batch scripts but try this if possible
@if "%DEBUG%" == "" @echo off

set CMD_LINE_ARGS=%*
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe

"%JAVA_EXE%" -jar C:\Users\Me\.gradle\caches\modules-2\files-2.1\com.github.marcoferrer.krotoplus\protoc-gen-kroto-plus\0.1.3\3c41d071d04c8558822447643894490e33a857b7\protoc-gen-kroto-plus-0.1.3-jvm8.jar %CMD_LINE_ARGS%

build.gradle
protobuf {
  protoc {
    artifact = 'com.google.protobuf:protoc:3.6.1'
  }
  plugins {
    kroto {
      path = "absolute/path/to/script.bat"
    }
  }
  ...
}

If that works then I can come up with a gradle task to hold you over in the mean time.

@marcoferrer Thanks, the batch script solves problem 2. However, the build gets further and still encounters problem 1. The specific error is:
18:36:04.214 [INFO] [org.gradle.process.internal.DefaultExecHandle] Successfully started process 'command 'C:\jdk1.8.0_191\bin\java.exe''
18:36:04.214 [DEBUG] [org.gradle.process.internal.ExecHandleRunner] waiting until streams are handled...
18:36:04.235 [ERROR] [system.err] Error: Unable to access jarfile /C:/Users/Me/.gradle/caches/modules-2/files-2.1/com.github.marcoferrer.krotoplus/kroto-plus-compiler/0.1.3/620b2a278b4d4beed80320bb4800339967f850d7/kroto-plus-compiler-0.1.3.jar

Whats confusing for me is that the snippet you posted is referencing the old stand alone compiler "kroto-plus-compiler-0.1.3.jar" and not the protoc plugin "protoc-gen-kroto-plus-0.1.3-jvm8.jar" . If your using the kroto-plus gradle plugin for 0.1.3 you can disable it. If possible can you post a snippet of your gradle config?

Aha, looks like I still had a krotoPlus { ... } block from an earlier version. I've removed it.
I'm sure something is wrong in my build now, but now without the older compiler (on Linux, I haven't tried Windows yet) I am getting the error:
20:04:05.535 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > protoc: stdout: . stderr: com/google/protobuf/Timestamp.java: Tried to insert into file that doesn't exist.
20:04:05.535 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   com/google/protobuf/Timestamp.java: Tried to insert into file that doesn't exist.
20:04:05.535 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]   com/google/protobuf/Timestamp.java: Tried to insert into file that doesn't exist.

My build looks like this:
buildscript {
  ext {
    krotoplusVersion = '0.1.3'
  }
  dependencies {
    classpath "com.github.marcoferrer.krotoplus:kroto-plus-gradle-plugin:$krotoplusVersion"
  }
}

plugins {
  id "com.google.protobuf" version "0.8.6"
}

apply plugin: 'java-library'

group = ...
version = ...

dependencies {
  api "com.github.marcoferrer.krotoplus:kroto-plus-coroutines:$krotoplusVersion"
  api 'io.grpc:grpc-netty:1.15.1'
  api 'io.grpc:grpc-protobuf:1.15.1'
  api 'io.grpc:grpc-stub:1.15.1'

  implementation "com.github.marcoferrer.krotoplus:kroto-plus-test:$krotoplusVersion"
  implementation 'com.google.protobuf:protobuf-java:3.6.1'
  implementation 'com.google.protobuf:protobuf-java-util:3.6.1'
}

protobuf {
  // Configure the protoc executable
  protoc {
    artifact = 'com.google.protobuf:protoc:3.6.1'
  }
  plugins {
    grpc {
      artifact = 'io.grpc:protoc-gen-grpc-java:1.15.1'
    }
    kroto {
      artifact = "com.github.marcoferrer.krotoplus:protoc-gen-kroto-plus:$krotoplusVersion:jvm8@jar"
      //path = "${project.projectDir}/krotoplus.bat"
    }
  }
  generateProtoTasks {
    def krotoConfig = file("krotoPlusConfig.json")

    all()*.plugins {
      grpc {}

      kroto {
        outputSubDir = "java"
        option "ConfigPath=$krotoConfig"
      }
    }

    all().each { task ->
      task.inputs.files krotoConfig
    }
  }
}

A workaround seems to be to do this to relativize the config path before passing it to protoc:
option "ConfigPath=${file('/').toPath().relativize(krotoConfig.toPath().toAbsolutePath()).toString()}"

Messy, but it seems to work.

If this can hold you over in the mean time I can work on getting better windows support into an upcoming release.

Yup, it can! I've got workarounds for all issues identified. Looking forward to the next release.

So I think I have a good solution to this problem but wanted to hold off on releasing it too early. I didnt want to hold up the coroutines update but the next release after that should have something in it to address this.

after applying those changes I still unfortunately get an error:
Execution failed for task ':newproto:generateProto'.

protoc: stdout: . stderr: Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
Caused by: java.lang.NullPointerException
at com.github.marcoferrer.krotoplus.generators.GeneratorContext$currentWorkingDir$2.invoke(GeneratorContext.kt:40)

And I'm at a lost to understand what shall I do, many thank's for any hint.

@Abegemot Can you post a snippet of your current build configuration?

Sure, thank you so much, I really found your work not only very interesting but in my opinion you and the other people trying to bring protobuf to kotlin in a gentle and convenient way ought to be supported by jetbrains to bring up an official answer to such a technical cornerstone such as protobuf .

the configuration file and bat file are exactly the same as in the examples.

protobuf{
protoc{
artifact=Deps2.protocc
}
plugins{
plugins{
id("kroto"){
path="H:\prg\artifactidfake\newproto\mykrotobat.bat"  // *
}
}
}
generateProtoTasks{
val krotoConfig = file("krotoPlusConfig.asciipb") //  *
all().forEach{task->
task.inputs.files ( krotoConfig)
task.plugins {
id("kroto") {
outputSubDir = "java"
option("ConfigPath=${file(System.getProperty("user.dir")).toPath().toAbsolutePath().relativize(krotoConfig.toPath().toAbsolutePath()).toString()}")
                   }
               }
   }

}
}

Looking at the stacktrace posted earlier, I think the null pointer is coming from this line
More specifically I think its the call to File(path).parentFile. It looks like the path isnt being relativized correctly. What output do you get when you run the following:
println("ConfigPath=${file(System.getProperty("user.dir")).toPath().toAbsolutePath().relativize(krotoConfig.toPath().toAbsolutePath()).toString()}")`?

Also could you give this a try?
option "ConfigPath=${krotoConfig.absolutePath.replace(rootProject.projectDir.path, "").drop(1)}"

Thank you that did the job, nevertheless unfortunately when I run the build I only get generated the messages but not the grpc calls, which is weird, and can't start up a server or do anything.
I guess I'm doing something wrong but I'm clueless....

I managed to hack a pure grade solutions to fix the windows problem.
It will have gradle fetch the plugin jar, copy it, then generate a batch file, where it'll point protoc to it.

configurations {
    kroto_conf
}

dependencies {
    kroto_conf "com.github.marcoferrer.krotoplus:protoc-gen-grpc-coroutines:$krotoplus_version:jvm8@jar"
    kroto_conf "com.github.marcoferrer.krotoplus:protoc-gen-kroto-plus:$krotoplus_version:jvm8@jar"
}

ext.kroto_gen_kroto_plus = new File("$buildDir/kroto/gen_kroto_plus.bat")
ext.kroto_gen_grpc_coroutines = new File("$buildDir/kroto/gen-grpc-coroutines.bat")

task setupKroto(type: Copy) {
    from configurations.kroto_conf
    into "$buildDir/kroto"

    ext.batch = { jar ->
        """
    @if "%DEBUG%" == "" @echo off

    set CMD_LINE_ARGS=%*
    set JAVA_HOME=%JAVA_HOME:"=%
    set JAVA_EXE=%JAVA_HOME%/bin/java.exe

    "%JAVA_EXE%" -jar $jar %CMD_LINE_ARGS%
    """.stripIndent()
    }

    doLast {
        kroto_gen_kroto_plus.text = batch("$buildDir/kroto/protoc-gen-kroto-plus-$krotoplus_version-jvm8.jar")
        kroto_gen_grpc_coroutines.text = batch("$buildDir/kroto/protoc-gen-grpc-coroutines-$krotoplus_version-jvm8.jar")
    }

}

protobuf {
    //download the proto compiler
    protoc {
        artifact = "com.google.protobuf:protoc:$protobuf_version"
    }

    generatedFilesBaseDir = "$projectDir/gen"

    //noinspection GroovyAssignabilityCheck
    plugins {
        grpc { artifact = "io.grpc:protoc-gen-grpc-java:$grpc_version" }
        coroutines {
            artifact = "com.github.marcoferrer.krotoplus:protoc-gen-grpc-coroutines:$krotoplus_version:jvm8@jar"
            //https://github.com/marcoferrer/kroto-plus/issues/6#issuecomment-432782481
            if(Os.isFamily(Os.FAMILY_WINDOWS)) {
                path = kroto_gen_grpc_coroutines.absolutePath
            }
        }
        kroto {
            artifact = "com.github.marcoferrer.krotoplus:protoc-gen-kroto-plus:$krotoplus_version:jvm8@jar"
            //https://github.com/marcoferrer/kroto-plus/issues/6#issuecomment-432782481
            if(Os.isFamily(Os.FAMILY_WINDOWS)) {
                path = kroto_gen_kroto_plus.absolutePath
            }
        }
    }

    generateProtoTasks {

        def krotoConfig = file("krotoPlusConfig.asciipb") // Or .json

        all().each { task ->

            //setup kroto for windows
            task.dependsOn setupKroto

            // Adding the config file to the task inputs lets UP-TO-DATE checks
            // include changes to configuration
            task.inputs.files krotoConfig

            task.plugins {
                grpc {}
                coroutines {}
                kroto {
                    // The extendable-messages generator needs the outputSubDir
                    // to be the same as 'task.builtins.java.outputSubDir' since
                    // it relies on the insertion_point api from protoc.
                    outputSubDir = "java"
                    //https://github.com/marcoferrer/kroto-plus/issues/6#issuecomment-457261961
                    option "ConfigPath=${file('.').toPath().toAbsolutePath().relativize(krotoConfig.toPath().toAbsolutePath()).toString()}"
                }
            }
        }
    }
}

Also, it seems a better solution for the ConfigPath problem is to simply strip away the drive ("C:"), then you can use absolute paths. I had a problem with the above solution in multi-project setup, where without absolute paths, it would not be able to find the config, if I assembled from the parent project.
Solution:
task.plugins {
    kroto {
        option "ConfigPath=${krotoConfig.absolutePath.substring(krotoConfig.absolutePath.lastIndexOf(":") + 1)}"
    }
}

Also, it seems a better solution for the ConfigPath problem is to simply strip away the drive ("C:"), then you can use absolute paths.

That only works if you know everything is on the c:\ drive.

I'm using val krotoConfig = File("${project.name}/krotoPlusConfig.yml") for loading the file in Windows, and it works fine.

With 0.6.0 released, there is now an executable windows artifact available.

Hello. I'm using kroto-generator in an Android project and I think that I still have this issue on Windows. When I build the project I receive:
Caused by: java.lang.IllegalStateException: Config file does not exist. 'C:\Users\Andrew\StudioProjects\my-app\C'

I think it may be related to my folder structure.
I have the following setup:
Project:
my-app
⨽ libraries
  ⨽ networking
    ⨽ build.gradle

// build.gradle
protobuf {
    protoc {
        artifact = Deps.protoc
    }
    plugins {
        grpc {
            artifact = Deps.grpcGenerator
        }
        javalite {
            artifact = Deps.javaLiteGenerator
        }
        kroto {
            artifact = Deps.krotoGenerator
        }
    }
    generateProtoTasks {
        def krotoConfig = file("krotoconfig.asciipb")
        all()*.plugins {
            javalite {}
        }
        ofNonTest()*.plugins {
            grpc {
                // Options added to --grpc_out
                option 'lite'
            }
            kroto {
                outputSubDir = "java"
                option "ConfigPath=$krotoConfig"
            }
        }
    }
}

I found that if I use @Brainfree's solution for Windows, then it works, but I expected that release 0.6.0 would resolve this.
Please let me know if there is some more information I can provide.

@fitzsia2 So originally the kroto+ plugin was not able to execute on windows environments. Version 0.6.0 introduced a native executable to mitigate this issue. But the problem still exists where the : in the path to the configuration file is mistaken by the protobuf compiler as an option delimiter. Currently in windows you still need to perform a small amount of path transformation to the configuration file to resolve correctly. You can see here how the project still relies on it.
Considering you had issues discovering this means that its not immediately clear to users and should be better documented. Thank you for bringing this to light.
                kroto {
                    outputSubDir = "java"
                    if(osdetector.os == "windows") {
                        // We want to relativize the configuration path
                        // because absolute paths cause issues in windows
                        // environments
                        option "ConfigPath=${krotoConfig.absolutePath.replace(System.getProperty("user.dir"), "").drop(1)}"
                    } else {
                        option "ConfigPath=$krotoConfig"
                    }
                }

https://github.com/marcoferrer/kroto-plus/blob/2b0b447d47f14da93b536ef238b379eb4cc6075c/build.gradle#L126

Hi guys,
we just experienced somethings similar using Maven (protobuf-maven-plugin):
 Failed to execute goal org.xolstice.maven.plugins:protobuf-maven-plugin:0.5.0:compile-custom (kroto-plus) on project entity-api: protoc failed to execute because: 'nativePluginParameter' contains illegal characters

Do we have some workaround for Maven & Windows like we have for Gradle please?


Verify const correctness

Recent changes made a lot of methods const so that Expose() can be declared const (exposing should not change any internal states for persistent and relevant data).
Verify everything's consistent.

Verified.

You checked every single method? ;)


help me with tensorflow 2.0 installation

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):windows 10 64 bit
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): pip
TensorFlow version: 2.0
Python version:3.7
Installed using virtualenv? pip? conda?:pip
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:10.1
GPU model and memory: nvidia geforce gtx 1050ti

i tried a lots of tutorials to install tensorflow gpu but failed facing different issues mainly while running the object_detection_tutorial.ipynb is not ruuning..

i already installed the tensorflow gpu but still it is again installing in jupyter notebook..
iam fully confused what to do...
please anyone help me out.

Since you are working on your local computer ... go to command prompt and do "pip install tensorflow==2.0.0". Your work ll be done. Thank you.

What is the error you are getting? It's not visible in the screenshot. Please post the error (using ``` proper markdown around it) instead of a screenshot

What is the error you are getting? It's not visible in the screenshot. Please post the error (using ``` proper markdown around it) instead of a screenshot

there is a bash error while executing ..

@0unstoppable,
Looks like issue is not related to Tenosrflow installation. To confirm Tensorflow installation, try
import tensorflow as tf
tf.__version__

For bash error please refer this
https://stackoverflow.com/questions/37335201/jupyter-notebook-couldnt-find-program-bash .Thanks

Issue not related to TensorFlow, closing.


Rectify some logic error and mistake

Codecov Report

Merging #280 (aaf5754) into master (dcd6373) will increase coverage by 0.15%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master     #280      +/-   ##
============================================
+ Coverage     60.53%   60.68%   +0.15%
- Complexity      608      613       +5
============================================
  Files           112      112
  Lines          2440     2442       +2
  Branches        300      301       +1
============================================
+ Hits           1477     1482       +5
  Misses          853      853
+ Partials        110      107       -3

Impacted Files
Coverage Δ

...in/java/seedu/address/storage/JsonAdaptedTask.java
0.00% <0.00%> (ø)

...java/seedu/address/logic/commands/EditCommand.java
90.00% <0.00%> (ø)

src/main/java/seedu/address/model/task/Task.java
48.91% <0.00%> (+1.08%)
:arrow_up:

...in/java/seedu/address/logic/parser/ParserUtil.java
69.56% <0.00%> (+5.79%)
:arrow_up:

Continue to review full report at Codecov.

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


mts default export support for @types/node

Bug Report

🔎 Search Terms

🕗 Version & Regression Information
TypeScript 4.5
💻 Code
file a.mts
import * as process from 'node:process';

console.log(
  global.process === process.default,
  global.process.cwd === process.cwd
);

If we save this file as mjs and it runs well.
🙁 Actual behavior

🙂 Expected behavior

default exist on process.

This seems like a problem with the types at @types/node, not something specific to TypeScript, right?

Uh, depends, what compiler options we talking about? We only add the implicit whole-module default member to the import if allowSyntheticDefaultImports (or esModuleInterop or module: node12 or module: nodenext) is set.

This does repro with esModuleInterop.

But yeah, the problem is that the type definitions are written as a CJS module; there’s no default export to speak of. This was done because when you turn on esModuleInterop as a consumer and use a default import, you get pretty good cross-compatibility between CJS and ESM with only one set of type definitions. So this is a general problem with practically everything on DT where the implementation library has a module wrapper that detects for ESM usage and adds the default there (which is quite a lot of libraries). Going forward, these libraries can start to add separate type definitions for import vs. require with an export map if they feel like that’s valuable. But yeah, a specific request for Node to do something like this should be brought to DT.