workbox-webpack-plugin v5: setCacheNameDetails does not set cache names

Library Affected:
workbox-webpack-plugin v5.0.0-rc.0
Browser & Platform:
Tested on Firefox v70.0b13 and Chrome v77.0.3865.120, but could be happening on other browsers.
Issue Description:
The setCacheNameDetails() function from workbox-core does not set the cache names when using precacheAndRoute from workbox-precaching; Workbox instead uses the default cache name (workbox-precache-v1-https://localhost:3000).
I have tested this using workbox-webpack-plugin at 4.3.1 and 5.0.0-rc.0:

4.3.1 is working as expected, creating the caches with the custom names
5.0.0-rc.0 is not working, using the default cache names

Here is my service worker file:
import * as core from "workbox-core";
import * as precaching from "workbox-precaching";

core.setCacheNameDetails({
    prefix: "app-name",
    suffix: "1.x.x",
    precache: "custom-precache-name",
    runtime: "custom-runtime-name",
});

// this will log the updated cache names provided above
console.log({
    precache: core.cacheNames.precache,
    runtime: core.cacheNames.runtime,
});

self.addEventListener("message", (event) => {
    if (event.data && event.data.type === "SKIP_WAITING") {
        self.skipWaiting();
    }
});

// this does NOT use the updated cache names, it uses the defaults provided by Workbox
precaching.precacheAndRoute(self.__WB_MANIFEST);

And my WorkboxWebpackPlugin configuration:
new WorkboxWebpackPlugin.InjectManifest({
    swSrc: paths.serviceWorker,
    include: [
        /\.js$/,
        /\.css$/,
        /\.svg$/,
        /\.jpeg$/,
        /\.gif$/,
        /\.png$/,
        /\.jpg$/,
        /\.ttf$/,
        /\.eot$/,
        /\.woff$/,
        /\.woff2$/,
        /\.html$/,
        /\.ico$/,
    ],
    exclude: [
        /\.json$/
    ],
}),

Admittedly, this issue is similar to #1402, but while that issue seems to have been resolved I am still seeing an issue in this particular case with v5.
Thank you all in advance 👍

Hmm, I can't reproduce that:

The precache is created with the custom name when I follow the setup you used.
It's weird that you see workbox-precache-v1-https://localhost:3000 as the name, since there shoul be a v2 in that default precache name if you're using Workbox v4+.
It sounds like maybe you've got an old service worker that's still active on http://localhost:3000 and you're seeing the previous caches it created? Can you try this again in a Chrome Incognito window, or with a local webserver on a port other than 3000, and see if you can reproduce it?

I did some deeper investigating and found that I two copies of the workbox-webpack-plugin in my node_modules tree; removing the 4.x version fixed it 👍
Thanks for the quick reply and for taking the time to reproduce an example. 🙏


Bump tink repository commit

We would need to update the README#L2
And the presubmit would fail and we need to update the CHECKSUMS file.

/cherrypick release-0.10

/cherrypick release-0.10


annotate return types of a few functions to enable more mypy check

Before (mypy checks in CI):
mypy: commands[0]> mypy locust/
locust/stats.py:209: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
locust/stats.py:210: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
locust/runners.py:600: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
locust/runners.py:661: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
locust/runners.py:663: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
locust/runners.py:681: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
locust/contrib/fasthttp.py:345: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
locust/main.py:94: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
locust/test/test_runners.py:947: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]

After:
mypy: commands[0]> mypy locust/
locust/stats.py:209: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
locust/stats.py:210: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
locust/main.py:94: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
locust/test/test_runners.py:947: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]

The remaining 4 mypy notes requires more changes than just adding return types. (Fixing annotations inside functions.)

👍 I’m considering switching to pyright. Do you have any opinion on that? Because it is so much faster it can be added as a precommit hook as well.

My experience with both of them is limited, so unfortunately I can't share any useful thoughts.


Support Laravel 8

No idea if it even works with Laravel 8 yet but went to install because I don't know which view is which and saw it couldn't install 😢

Thanks!


Add support for default config files.

The config of database setting like name, location and password always setted once. I hope it can use a outset file to do this.

This is what other full-stack frameworks do.


This thing is a registry config not just for helm

The name helmConfigHome is misleading because it is not just for helm

/hold


Fixes for adding cards

This fixes ISTPAddCardViewControllerDelegate so that it exposes
DidCreateSource() and DidCreateToken().
This also changes STPAddCardViewController.Delegate from
STPAddCardViewControllerDelegate to ISTPAddCardViewControllerDelegate.
This allows a ViewController subclass to implement that interface and
then create an STPAddCardViewController and set its Delegate to this.

@jzeferino
Thank you for your PR.
Did you also update the whole library to latest version?
Cheers.

@tuyen-vuduc yes I am. The PR owner is  @bratsche  not me. I just review it.


Migrate to dual compilers and merge from AnacondaRecipes

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


in_tail: expand_paths exclude unreadable files

This is to avoid generating too many error messages from file's watcher
(which runs every second.) Each unreadable file will cause a warning.
If it becomes readable, it would be included in the next turn.
See also refresh_interval and #726.

Should use log instead of $log.

I have updated the PR, @repeatedly . Could you please explain why log should be used here?

Using $log, plugin level log_level doesn't effect.

All tests are filed. Could you check it?

All tests are failed. Could you check it?

I will take a look.

Tests on travis-ci are failed. Could you check it?

Tests are failed on my local machine (I should have executed the tests first!)
The problem is that test driver creates new temporary file ("#{TMP_DIR}/tail.txt") after the invocation of expand_paths method. (In the code below, expand_paths is invoked before d.run.) The file will not be watched as it's excluded.
Do you have any idea to get rid of this problem?
  data('1' => [1, 2], '10' => [10, 1])
  def test_emit_with_read_lines_limit(data)
    limit, num_emits = data
    d = create_driver(CONFIG_READ_FROM_HEAD + SINGLE_LINE_CONFIG + "read_lines_limit #{limit}")
    msg = 'test' * 500 # in_tail reads 2048 bytes at once.

    d.run do
      sleep 1
      File.open("#{TMP_DIR}/tail.txt", "ab") {|f|
        f.puts msg
        f.puts msg
      }
       sleep 1
    end

    emits = d.emits
    assert_equal(true, emits.length > 0)
    assert_equal({"message" => msg}, emits[0][2])
    assert_equal({"message" => msg}, emits[1][2])
    assert_equal(num_emits, d.emit_streams.size)
  end

How about following code?
diff --git a/lib/fluent/plugin/in_tail.rb b/lib/fluent/plugin/in_tail.rb
index f2f2448..73843f4 100644
--- a/lib/fluent/plugin/in_tail.rb
+++ b/lib/fluent/plugin/in_tail.rb
@@ -126,7 +126,14 @@ module Fluent
           paths << path
         end
       }
-      paths - excluded
+
+      (paths - excluded).select { |path|
+        unless File.exist?(path)
+          true # 'file not found' means users use fixed path configuration, not '*' included dynamic path. Such files should be watched.
+        else
+          File.readable?(path) ? true : false
+        end
+      }
     end

     # in_tail with '*' path doesn't check rotation file equality at refresh phase.

Thank you @repeatedly . I understand the idea here. I have updated the PR. All tests are passed now.

@sonots @tagomoris Do you see any concerns this patch?

Fine

Thanks

Thanks a lot, @repeatedly and @sonots!


Cloud code deployment

Hi,
I have some question on cloud code deployment.
Currently all my cloud code functions are located under the /cloud folder of my parse-server project. In order to update my cloud code in production i required to redeploy my parse server again.
I wanted to know if there is an option to decouple the cloud code deployment from the parse-server backend deployment so when i redeploy cloud code the only thing that i will need to do is to restart my node without redeploy the whole thing again?
Maybe we can run cloud code on another server in order to achieve this behaviour and then the change the cloud code path inside the parse-server project to point to external resource or maybe there is a better solution for that...
My parse server runs on docker container inside kubernetes cluster hosted on google container engine so each time i want to deploy the solution i need to: rebuild all the docker images again, push the latest version into the docker registry, update my kubernetes .yml files (if required) and deploy.
Thanks in advanced for any help!

@woyorus what do you suggest? We have a similar setup.

Hi , its not a suggestion its a question :) it is possible to decouple the cloud code from parse-server deployment?

Hi @flovilmart , wanted to know if technically it is possible with the current version of parse-server?

Hey there! Have you tried to attach your Cloud Code as a volume? For example, something like docker run -v /my/cloud/code:/parse-server/cloud:ro parseplatform/parse-server:2.2.25-beta.1 would work. Then you'll have to update your Cloud Code in /my/cloud/code on your host and docker restart your container.
In Kubernetes, for example, you can use a ConfigMap to store your CloudCode and then attach it as a volume.

Hi @woyorus , thanks for your response..
I use Kubernetes to create secrets to some key files (e.g. push notification, google cloud keys etc.) and it works well. So if i will use the same approach for cloud code and create a volume and provide the path to the file it will work? I am asking because this means that parse-server will need to load the cloud code from a remote location ..
If it is possible then i think that the following should be done:

The same steps you described (ConfigMap, Volume etc.)
Create env variable that will point to the path where the cloud code file(s) exists.

What do you think?
thanks !

Yeah you definitely can use secrets for that too. Just to recap:

Create a Secret/ConfigMap with your CloudCode files
In your container spec attach a volume from your Secret/ConfigMap
Use PARSE_SERVER_CLOUD_CODE_MAIN env variable to point to your Cloud Code entrypoint

Hope that helps!

#resolved

Hi @woyorus, @flovilmart
I tried to do what you suggested above (to create configmap and volume..)
the problem is that it works only if you do not need any other modules inside your cloud code which is not my case..
in my cloud code i use other node modules and when i try to run parse-server on k8s with the setup that you suggested i get an error "Cannot find module ..."
after debug it a bit i think that the problem is with the path of the node_modules because they are located under the root_folder/node_modules folder and not under my volume..

Hi @ranhsd!
Indeed there's no support yet for external dependencies in cloud code with the Dockerized app. I can suggest you to build your own image using Dockerfile in the parse-server root, simply adding dependencies that you need into package.json beforehand. I believe that may solve your problem in a quick and dirty way.
I for sure agree that this is not the way to go, so I suggest opening a separate issue for that, and hopefully we can figure out the best way to enable custom cloud code deps.
@flovilmart what do you think?

hi @woyorus thanks for your response..
i managed to solve it by changing the path .. anyway i regarding the cloud code deployment i really think we should find a better way to deploy the cloud code from dev --> test --> to production and maybe also to be able to run CI in the middle of the process in order to make sure that everything is working as expected..
I am heavy consumer of cloud code and i am sure that other developers and organisation are also write a lot of business logic via cloud especially when now you can reuse any npm module  that you want so i think cloud code should get more attention. Maybe we can provide some CLI that will deploy cloud code or something similar..


gRPC Client Code Generation

Added capability to add gRPC client code using the scripting tool

Can you resolve the conflicts with the PR.

@ccifra  I have merged the changes. There are 6 commits that I had to merge, and lot of LabVIEW files. I mostly "merged theirs" and tested my project with the merged code. All the functionalities I require works. But once your merge, @KarthikAbiram and @nprorekhin can reconfirm if their changes is not lost. Most of the LabVIEW changes are "Seperate the compiled code" and "Get Server DLL path"

Hi @navinsubramani thanks! Unfortunately my 2 functional changes were not propagated from #14 . That is fine, since they are minor and I will re-integrate them later.

oops. Sorry about that. Thank you for the support. @nprorekhin


Update sensor_updator.py

self.BALANCE must be defined before use.Otherwise, the program will fail.
For example

The current user xxx data fetching failed 'SensorUpdator' object has no attribute 'BALANCE', the next user data will be fetched.

done


Smooth Navigation

Removed refresh onResume() for ViewPager items. This makes the in-app-navigation a lot better.

Before
After

Improves on things discussed in #980, to some extent..

anything which was reloading when you came back to the fragment won't anymore.

That is, of course, as long as you are in the same ViewPager fragment.

Looks good to me, thanks!


update js script path to use new template included build

See Pull Request #55

After merging both the PRs the demo is broken. Seems like it may be a raw.githack.com proxy issue though. I'll check it later today and see if it's resolved.

Looks like the URL https://raw.githack.com/begriffs/angular-paginate-anything/master/dist/paginate-anything-tpls.jsgives a connection refused. Maybe it's down.

raw.githack.com is back online now.


BUG : Image not readable on PHP 8

This must be a bug that should be corrected for PHP 8.
Getting... error on
Image::make(DIR.'/asset/logo/logo.png')->opacity(50);
Fatal error: Uncaught Intervention\Image\Exception\NotReadableException: Image source not readable in...

I have the same issue:
Error:
{message: "Image source not readable", exception: "Intervention\Image\Exception\NotReadableException",…}
exception: "Intervention\Image\Exception\NotReadableException"
file: "....\vendor\intervention\image\src\Intervention\Image\AbstractDecoder.php"
line: 346
message: "Image source not readable"
php --version
PHP 8.0.6 (cli) (built: May  4 2021 23:31:45) ( ZTS Visual C++ 2019 x64 )
Copyright (c) The PHP Group
Zend Engine v4.0.6, Copyright (c) Zend Technologies
$ php artisan --version
Laravel Framework 8.43.0

For my mistake I had a solution.
My code above was something like the following:
$ layout = imagecreate (1, 1);
imagecolorallocate ($ layout, 255, 255, 255);
$ base = ImageManagerStatic :: make ($ layout) -> resize (500, 200);

My solution was to use an Intervention object, for this case a canvas:
$ layout = ImageManagerStatic :: canvas (1, 1, '#ffffff');
$ base = ImageManagerStatic :: make ($ layout) -> resize (500, 200);

$ php --version
PHP 8.0.7 (cli) (built: Jun 2 2021 00:41:03) (ZTS Visual C ++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.0.7, Copyright (c) Zend Technologies
$ php artisan --version
Laravel Framework 8.48.2

Workaround
Because PHP 8 had changes with respect to the GD library, the validations that were done with versions 7. * and earlier with is_resource and get_resource_type are no longer supported, all this because now the gd extension uses GdImage objects instead of gd type resources.
https://www.php.net/manual/en/migration80.incompatible.php
The GD extension now uses GdImage objects as the underlying data structure for images, rather than resources. The imagedestroy () function no longer has an effect; instead the GdImage instance is automatically destroyed if it is no longer referenced.
Since there have been no recent Intervention updates to fix the PHP 8 compatibility bug, how workaround can be changed:
Intervention\Image\AbstractDecoder
This
`/**
* Determines if current source data is GD resource
*
* @return boolean
*/
public function isGdResource()
{
if (is_resource($this->data)) {
return (get_resource_type($this->data) == 'gd');
}
    return false;
}`

To
/**      * Determines if current source data is GD resource      *      * @return boolean      */     public function isGdResource()     {         return $this->data instanceof \GdImage;     }
Returned value
**PHP 7.4.5** gd resource @930 ▼   size: "390x200"   trueColor: true }
**PHP 8.0.7** GdImage {#1691 ▼   +size: "390x200"   +trueColor: true }
Hope this works for you.

I see that there is a commit regarding the explanation I gave earlier as a workaround, but it has not been updated on https://packagist.org/packages/intervention/image and that it has been done since December 2020.
Issue #1061
PR #1059

This has been updated on packagist. Version 2.6.0+ support PHP 8.


System.Tags won't match if multiple tags on item

If I use the System.Tags in the applywhen clause, it will only match on items that only have that one tag on it.  If an item has that tag and other tags on it, then the applywhen clause fails.
For example, I have the following Description in a Task template:
{"applywhen":[{"System.Tags":"TagA"}]}
UserStory1 has only TagA
UserStory2 has TagA and TagB
The 1-click menu will add the Task for UserStory1 but not for UserStory2.  I expected it would match both given that TagA is on both items.

Fixed on v0.11.1


Update PPP links

Pull Request Test Coverage Report for Build 631

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 91.127%

Totals

Change from base Build 630:
0.0%

Covered Lines:
2999

Relevant Lines:
3291

💛  - Coveralls


Share pathname should use hostname when available in TREE_CONNECT requests

When performing a TREE_CONNECT request servers sometimes vary their response based on the server component of the share path (e.g. \\server\share). The library just passes the resolved IP address from the net.Conn that was passed to it, but that causes problems for users. In particular, missing shares and incorrect file listings. Some public examples of this problem:
https://github.com/hirochachacha/go-smb2/issues/40
https://github.com/rclone/rclone/issues/6672
and possibly this: https://github.com/rclone/rclone/issues/6515
We need to include the server hostname in the share path sent with the TREE_CONNECT request to avoid these problems.
Per consultation with @ncw (https://github.com/rclone/rclone/issues/6672#issuecomment-1823260480), we'll still allow the user to provide their own net.Conn if they like.

Relevant part of the SMB2 spec https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-smb2/832d2130-22e8-4afb-aafd-b30bb0901798:
The full share pathname is Unicode in the form "\\server\share" for the request. The server component of the path MUST be less than 256 characters in length, and it MUST be a NetBIOS name, a fully qualified domain name (FQDN), or a textual IPv4 or IPv6 address. The share component of the path MUST be less than or equal to 80 characters in length. The share name MUST NOT contain any invalid characters, as specified in [MS-FSCC] section [2.1.6]

Fixed with commit f3ec8ae2c891ee40aab4d251873aab5db51f7cf8.


Invalid symbols in Django projects.

Describe the bug

Steps to Reproduce

Create Blank Django Web Project.

Expected behavior
There are no invalid symbols.
Additional context and screenshots
BTW, I can repro this in web-based Projects. (Python Application cannot repro.)

I can't repro this in Microsoft Visual Studio Enterprise 2022 (64-bit) - Int Preview Version 17.3.0 Preview 1.0 [32411.352.main]


Gulp pipeline baby!

Check it out. It's pretty sweet IMHO.
cc/ @MiniGod @benediktvaldez @kristjanmik

Oh baby. This is ready for review! :revolving_hearts:

Maybe I should add documentation for this...

BOOOOOM!
Somebody review me plz!

I think I resolved both your questions @kristjanmik.


commit the assignment-2

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
What did you learn from the changes you have made?
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
How were these changes tested?
A reference to a related issue in your repository (if applicable)
Checklist

[ ] I can confirm that my changes are working as intended

A2: Incomplete
Q1 Part (ii) - What is the 'variable type' of the response variable mpg (e.g., 'integer', 'category', etc.) and explain what it is in short? Please explain what a float variable is.
Q2 Part (i) - Based on the plots, please specify which variables are seen to have a positive, negative or no association with relation to miles per gallon
Q3- Wrong list of predictors. Please confirm the code you are running to ensure correct results
Q4- "squared=False" Should be omitted from your code. Further check to obtain the correct RMSE for the test set.

A2: Complete
Great work adding all the details! Question 4 RMSE is still incorrect, but it requires a small fix to get the correct value. I would  suggest using mean_squared_error as opposed to np.mean.


Custom networking pattern ipv4

Issue #, if available:
Description of changes:
This pattern enables custom networking for ipv4 using CDK blueprints.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@elamaran11 @shapirov103  please review, addressed all code review comments.
Thanks.


Create the javadoc and show in gh-pages

Hi,
It would be nice to create the javadoc and put into the branch gh-pages.
if you put the javadoc into a branch called gh-pages the github will publish your static files for free.
A sample for the folders, you could delete all the classes in the gh-pages branch and add the javadoc into a folder called gh-pages in your master branch.
-gh-pages
-examples
-src
LICENSE.txt
README.md
pom.xml

The javadocs should already be available via the gh-pages branch.
You can acces them through the following link: http://rithms.net/riot-api-java/doc/
If something is missing or you would like to see any changes, let us know.


Invalid type for argument #2. Should be of type [Ljava.lang.String;

If queryProductDetails fails, the signal doesn't seem to be emitted correctly.
Easiest way to test: Enable Flight Mode on device. then call queryProductDetails. Flight Mode causes request to always fail.
Logcat:
2024-07-30 23:13:29.691 21249-21787 BillingClient           <game_package_name>        W  getSkuDetails() failed for queryProductDetailsAsync. Response code: 12
2024-07-30 23:13:29.693 21249-21787 <game_name>          <game_package_name>        W  Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)
2024-07-30 23:13:29.693 21249-21787 <log_tag>            <game_package_name>        I  Product Details Query Error for inapp products.
2024-07-30 23:13:29.693 21249-21787 GodotPlugin             <game_package_name>        W  Invalid type for argument #2. Should be of type [Ljava.lang.String;
2024-07-30 23:13:29.693 21249-21787 GodotPlugin             <game_package_name>        W  Invalid type for argument #2. Should be of type [Ljava.lang.String;

Setup in project:
Signal connection:
_payment.connect("product_details_query_error", self, "_on_product_details_query_error")
Function it connects to:
func _on_product_details_query_error(response_id: int, debug_message: String, queried_skus: Array) -> void:
	print("_on_product_details_query_error")

This print never happens.
So the logging happens: https://github.com/201949/godot-google-play-billing-6/blob/d3f8f95e47283c7ab3f4db726267a1b3befc7080/app/src/main/java/com/magikelle/godotgoogleplaybilling/GodotGooglePlayBilling.java#L188
But the emitSignal doesn't seem to work: https://github.com/201949/godot-google-play-billing-6/blob/d3f8f95e47283c7ab3f4db726267a1b3befc7080/app/src/main/java/com/magikelle/godotgoogleplaybilling/GodotGooglePlayBilling.java#L189

Hello, @gkwaerp
I`ve enable Flight Mode on testing device plugged by USB. And my adb log is:
07-31 22:15:01.456 26798 26843 I godot   : Godot Engine v3.5.2.stable.official.170ba337a - https://godotengine.org
07-31 22:15:01.558 26798 26843 I godot   : OpenGL ES 2.0 Renderer: Adreno (TM) 506
07-31 22:15:01.669  1666  1688 I ActivityManager: Displayed com.magikelle.liftycircus/com.godot.game.GodotApp: +2s616ms
07-31 22:15:03.670 26798 26843 I godot   : Initialization Complete!
07-31 22:15:04.070 26798 26843 I GPB     : Start Connection!
07-31 22:15:04.654 26798 26891 I GPB     : Connected!
07-31 22:15:08.776 26798 26843 I godot   : CONNECTED!
07-31 22:15:10.676 26798 26843 I GPB     : Query Purchases!
07-31 22:15:11.085 26798 26843 I godot   : query_purchases_response Check!
07-31 22:15:11.087 26798 26843 I godot   : query_result.purchases is empty!
07-31 22:15:12.221 26798 27048 I GPB     : Product Details Query Error for inapp products.
P.S.: Do you`ve enabled log in gdscript and changed TAG (in my case "GPB") in "_ready" function here:
	payment.setLogLevel(0)		# Set loglevel 0 - none, 1 - enabled
	payment.setLogTag("godot")	# Set TAG for log

Hello, @gkwaerp
I`ve enabled Flight Mode on testing device plugged by USB. And my adb log is:
07-31 22:15:01.456 26798 26843 I godot   : Godot Engine v3.5.2.stable.official.170ba337a - https://godotengine.org
07-31 22:15:01.558 26798 26843 I godot   : OpenGL ES 2.0 Renderer: Adreno (TM) 506
07-31 22:15:01.669  1666  1688 I ActivityManager: Displayed com.magikelle.liftycircus/com.godot.game.GodotApp: +2s616ms
07-31 22:15:03.670 26798 26843 I godot   : Initialization Complete!
07-31 22:15:04.070 26798 26843 I GPB     : Start Connection!
07-31 22:15:04.654 26798 26891 I GPB     : Connected!
07-31 22:15:08.776 26798 26843 I godot   : CONNECTED!
07-31 22:15:10.676 26798 26843 I GPB     : Query Purchases!
07-31 22:15:11.085 26798 26843 I godot   : query_purchases_response Check!
07-31 22:15:11.087 26798 26843 I godot   : query_result.purchases is empty!
07-31 22:15:12.221 26798 27048 I GPB     : Product Details Query Error for inapp products.

P.S.: Have you enabled "log" in gdscript and changed "TAG" (in my case "GPB") in "_ready" function here:
	payment.setLogLevel(0)		# Set loglevel 0 - none, 1 - enabled
	payment.setLogTag("godot")	# Set TAG for log

Yes, I have set tag + log level to 1.
In your example, if you have connected to the product_details_query_error signal, does the Godot function run? That is what is not happening in my case.

In your example, if you have connected to the product_details_query_error signal, does the Godot function run? That is what is not happening in my case.

Oh man, you`re was successfully right. There are two mistakes in code:
In line "emitSignal("product_details_query_error", billingResult.getResponseCode(), billingResult.getDebugMessage(), list);" where list is an argument for signal.
But also needs to convert list to String[].class by this code:
                String[] strlist = new String[list.size()];
                list.toArray(strlist);

                emitSignal("product_details_query_error", billingResult.getResponseCode(), billingResult.getDebugMessage(), **strlist**);

And second mistake in gdscript function, where needs three arguments for emitted signal:
func _on_product_details_query_error(code, message, **list**):
	print("SKU details query error %d: %s" % [code, message])

Now my adb log looks like:
08-01 01:20:45.022  7909  7963 I godot   : Godot Engine v3.5.2.stable.official.170ba337a - https://godotengine.org
08-01 01:20:45.124  7909  7963 I godot   : OpenGL ES 2.0 Renderer: Adreno (TM) 640
08-01 01:20:47.129  7909  7963 I godot   : Initialization Complete!
08-01 01:20:47.171  7909  7963 I GPB     : Start Connection!
08-01 01:20:47.327  7909  7992 I GPB     : Connected!
08-01 01:20:55.357  7909  7963 I godot   : CONNECTED!
08-01 01:20:57.243  7909  7963 I GPB     : Query Purchases!
08-01 01:20:57.276  7909  7963 I godot   : query_purchases_response Check!
08-01 01:20:57.276  7909  7963 I godot   : query_result.purchases is empty!
08-01 01:21:17.276  7909  8162 I GPB     : Product Details Query Error for inapp products.
08-01 01:21:17.277  7909  7963 I godot   : SKU details query error 6: An internal error occurred.

And of course I commited a new update of code.
Thanks for your attention.

Now the ADB log looks correct, but the returned list in Godot is always empty.
If you in the Godot script function print list, it will just print []. It should print the same array as we input in queryProductDetails
I don't know Java very well, but I think you maybe need to do strlist = list.toArray(strlist); instead of just list.toArray(strlist);? Not sure, just a guess!

I’ve tried to get the list content after encountering the product_details_query_error case by adding some additional code:
                    String[] strlist = new String[list.size()];
                    list.toArray(strlist);
                    log("List: " + list);
                    log("StrList: " + strlist);

And the adb log shows:
08-01 14:52:42.092  4566  4831 I GPB     : Product Details Query Error for inapp products.
08-01 14:52:42.092  4566  4831 I GPB     : List: []
08-01 14:52:42.092  4566  4831 I GPB     : StrList: [Ljava.lang.String;@5ebdae8 _(it`s a just link, but not a data)_

But what if the list is always empty when product_details_query_error occurs? Should I exclude the list from the signal return?
If I add some different code for detailed logging:
if (list.isEmpty()) {log("Product Details list is empty.");
the adb log shows that the list is empty:
08-01 15:31:46.410  7590  7643 I godot   : Godot Engine v3.5.2.stable.official.170ba337a - https://godotengine.org
08-01 15:31:46.449  7590  7643 I godot   : OpenGL ES 2.0 Renderer: Adreno (TM) 640
08-01 15:31:48.593  7590  7643 I godot   : Initialization Complete!
08-01 15:31:48.626  7590  7643 I GPB     : Start Connection!
08-01 15:31:48.809  7590  7673 I GPB     : Connected!
08-01 15:31:56.997  7590  7643 I godot   : CONNECTED!
08-01 15:31:58.883  7590  7643 I GPB     : Query Purchases!
08-01 15:31:58.918  7590  7643 I godot   : query_purchases_response Check!
08-01 15:31:58.918  7590  7643 I godot   : query_result.purchases is empty!
08-01 15:32:05.770  7590  7826 I GPB     : Product Details Query Error for inapp products.
08-01 15:32:05.770  7590  7826 I GPB     : Product Details list is empty.

Btw, I changed this code section:
} else {
    log("Product Details Query Error for " + type + " products.");

    // Преобразование списка в строку
    String strList;
    if (list.isEmpty()) {
        log("Product Details list is empty.");
        strList = "[]";
    } else {
        String[] strlist = new String[list.size()];
        list.toArray(strlist);
        strList = Arrays.toString(strlist);
        log("StrList: " + strList);
    }

    emitSignal("product_details_query_error", billingResult.getResponseCode(), billingResult.getDebugMessage(), strList);
}

Let me know what you think about?
P.S.: adb log in Flight Mode [1] and with normal Internet connection [2]:
[1]
08-01 15:50:21.538  8928  8983 I godot   : Godot Engine v3.5.2.stable.official.170ba337a - https://godotengine.org
08-01 15:50:21.588  8928  8983 I godot   : OpenGL ES 2.0 Renderer: Adreno (TM) 640
08-01 15:50:23.505  8928  8983 I godot   : Initialization Complete!
08-01 15:50:23.559  8928  8983 I GPB     : Start Connection!
08-01 15:50:23.701  8928  9009 I GPB     : Connected!
08-01 15:50:32.008  8928  8983 I godot   : CONNECTED!
08-01 15:50:33.910  8928  8983 I GPB     : Query Purchases!
08-01 15:50:33.948  8928  8983 I godot   : query_purchases_response Check!
08-01 15:50:33.948  8928  8983 I godot   : query_result.purchases is empty!
08-01 15:50:53.958  8928  9163 I GPB     : Product Details Query Error for inapp products.
08-01 15:50:53.958  8928  9163 I GPB     : Product Details list is empty.

[2]
08-01 15:51:20.326  9234  9280 I godot   : Godot Engine v3.5.2.stable.official.170ba337a - https://godotengine.org
08-01 15:51:20.356  9234  9280 I godot   : OpenGL ES 2.0 Renderer: Adreno (TM) 640
08-01 15:51:22.040  9234  9280 I godot   : Initialization Complete!
08-01 15:51:22.096  9234  9280 I GPB     : Start Connection!
08-01 15:51:22.207  9234  9308 I GPB     : Connected!
08-01 15:51:32.117  9234  9280 I godot   : CONNECTED!
08-01 15:51:33.993  9234  9280 I GPB     : Query Purchases!
08-01 15:51:34.036  9234  9280 I godot   : query_purchases_response Check!
08-01 15:51:34.036  9234  9280 I godot   : query_result.purchases is empty!
08-01 15:51:44.643  9234  9658 I GPB     : Product Details Query Completed for inapp products.
08-01 15:51:44.643  9234  9658 I GPB     : {formattedPrice=GEL 3.00, productId=free_ads1, price=3.0, description=Отключение рекламы, title=free_ads1 (Lifty Circus Action Platformer), type=inapp, currencyCode=GEL}
08-01 15:51:44.643  9234  9658 I GPB     : {formattedPrice=GEL 3.00, productId=free_ads2, price=3.0, description=Отключение рекламы, title=Ads Free (Lifty Circus Action Platformer), type=inapp, currencyCode=GEL}
08-01 15:51:44.643  9234  9658 I GPB     : {formattedPrice=GEL 3.00, productId=free_ads3, price=3.0, description=Отключение рекламы, title=Ads Free 3 (Lifty Circus Action Platformer), type=inapp, currencyCode=GEL}

Thanks.

Let me know what you think about?

Hm now the final param is just a String, not a String array.
After looking some more, I think I found the issue -- there are 2 variables called list, so the last one shadows the original one, which is what made it do strange things.
Suggested change:
    public void queryProductDetails(final String[] list, String type) {
        ArrayList<QueryProductDetailsParams.Product> products = new ArrayList<>();

        for (String productId : list) {
            products.add(QueryProductDetailsParams.Product.newBuilder().setProductId(productId).setProductType(type).build());
        }

        QueryProductDetailsParams params = QueryProductDetailsParams.newBuilder()
                .setProductList(products)
                .build();

        billingClient.queryProductDetailsAsync(params, new ProductDetailsResponseListener() {
            @Override
            public void onProductDetailsResponse(@NonNull BillingResult billingResult, @NonNull List<ProductDetails> productDetailsList) {
                if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
                    for (ProductDetails productDetails : productDetailsList) {
                        productDetailsCache.put(productDetails.getProductId(), productDetails);
                    }
                    log("Product Details Query Completed for " + type + " products.");
                    emitSignal("product_details_query_completed", (Object) GooglePlayBillingUtils.convertProductDetailsListToDictionaryObjectArray(productDetailsList));
                } else {
                    log("Product Details Query Error for " + type + " products.");
                    emitSignal("product_details_query_error", billingResult.getResponseCode(), billingResult.getDebugMessage(), list);
                }
            }
        });
    }

Note that in this case, the signal has to be changed back to String[] (I think you changed this as well in latest version?):
signals.add(new SignalInfo("product_details_query_error", Integer.class, String.class, String[].class));
That should now make it return the original array sent in from Godot.

In case I changed the code. Try a new one.

Try a new one.

Tested with version uploaded after this comment.
Now I just get String that is "Empty List".
I am expecting to get same String array as input param to the function.
Godot example of what I mean:
const REQUEST_IDS = ["a", "b", "c"]

# In ready function after a timer
payment.queryProductDetails(REQUEST_IDS,  "inapp")

# Signal connection on error
func _on_product_details_query_error(response_id: int, debug_message: String, queried_product_ids: Array) -> void:
    print(REQUEST_IDS == queried_product_ids) # This should print true

Did you try copying my suggestion from above?

Of course, my fault was duplicating variables instead. Sorry about that.
Finally, the fixes are done. The corresponding code changes have been committed to the repository.
And the new adb log in Flight Mode looks like this:
08-02 00:21:43.124 10721 10775 I godot   : Godot Engine v3.5.2.stable.official.170ba337a - https://godotengine.org
08-02 00:21:43.160 10721 10775 I godot   : OpenGL ES 2.0 Renderer: Adreno (TM) 640
08-02 00:21:45.099 10721 10775 I godot   : Initialization Complete!
08-02 00:21:45.142 10721 10775 I GPB     : Start Connection!
08-02 00:21:45.275 10721 10804 I GPB     : Connected!
08-02 00:21:53.219 10721 10775 I godot   : CONNECTED!
08-02 00:21:55.105 10721 10775 I GPB     : Query Purchases!
08-02 00:21:55.143 10721 10775 I godot   : query_purchases_response Check!
08-02 00:21:55.143 10721 10775 I godot   : query_result.purchases is empty!
08-02 00:22:06.323 10721 10969 I GPB     : Billing Result: Response Code: NETWORK_ERROR, Debug Message: An internal error occurred.
08-02 00:22:06.324 10721 10969 I GPB     : Product Details list is empty!
08-02 00:22:06.324 10721 10969 I GPB     : Product Details Query Error for inapp products.
08-02 00:22:06.345 10721 10775 I godot   : SKU details query error 12: An internal error occurred.
08-02 00:22:06.345 10721 10775 I godot   : Requested products: [free_ads1, free_ads2, free_ads3]

Perfect, latest version works as expected. Thanks!

@gkwaerp,
Thank you for your partycipation!


#99  add config to allow user hadoop classpath first

#100 submit job error when current user not have admin acl
What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
Please review http://spark.apache.org/contributing.html before opening a pull request.

retest this please!


Mod search should work with names instead of ID

Issue description:
Working with a crafting grid. If I search @bota or @bloo then I get items from Botania and Blood Magic as expected. However @tin... doesn't return anything and I definitely have plenty of TiCo items in my RS.
JEI is filtering correctly.
Version (Make sure you are on the latest version before reporting):

Minecraft: 1.10.2
Forge: 2122
Refined Storage: 1.2.3
tconstruct-1.10.2-2.5.6b

Does this issue occur on a server? [yes/]
If a (crash)log is relevant for this issue, link it here:
[pastebin/gist/etc link here]

Currently it looks for mod ID instead of mod name, I might want to change this yes.

Maybe we should just abuse the JEI filter?

That would make JEI a dependency, I'd rather roll my own. I can write a quick parser for it.


Remove "non_water_carrier" flag

With the change to auto-detected sets, this flag is no longer used

This change will show up in the CodeOcean v11 release


Make Storybook stories component imports look like import from installed lib

Change how component imports look like in Storybook stories. Instead of this:

we should display this (because that's how end users access our library):
import { Checkbox, Fieldset, Toolbar, Button, Cutout } from 'react95';

closed by #145


kafka-manager debian package startup script

Hi,
I've just created a debian package with sbt.
And it creates
/usr/share/kafka-manager/bin/kafka-manager
/etc/default/kafka-manager
/etc/kafka-manager/application.conf
A sane default would be to add this line to ..../bin/kafka-manager so it reads /etc/default/kafka-manager
#!/usr/bin/env bash

[ -r /etc/default/kafka-manager ] && . /etc/default/kafka-manager

Another sane default would be to add these lines to /etc/default/kafka-manager.
export PIDFILE="/var/run/kafka-manager/play.pid"
export JAVA_OPTS="-Dpidfile.path=$PIDFILE -Dconfig.file=/etc/kafka-manager/application.conf $JAVA_OPTS"
export APPLICATION_SECRET="somekey"
export ZK_HOSTS="zookeeper01:2181,zookeeper02:2181"

I forgot, it's would also be nice if the package install created system user & group kafka-manager.

@Raboo You can create a file in /usr/share/kafka-manager/conf/application.ini to pass the -D parameter
ex:
-Dpidfile.path=/path/pid -Dconfig.file={{ KAFKA_MANAGER_HOME }}/conf/application.conf -Dlogback.configurationFile=file:{{ KAFKA_MANAGER_HOME }}/conf/logger.xml -Dhttp.port=9000

it will be use by the script in /etc/init/kafka-manager.conf

:+1:  Can i use your debian package?

On Ubuntu 16.04 (possibly other distros), move from Upstart to Systemd, see e.g.

https://askubuntu.com/questions/900389/upstart-to-systemd


Add WYSIWYG editor for event description

Event description already allows you to input HTML tags for formatting, so we should use ckeditor for WYSIWYG like we do elsewhere for fields like this.

Can I please get more details about the issue? I would love to help.

Sure :)
First setup your env based on cp-local (https://github.com/CoderDojo/cp-local-development)
Look into web/public/js/directives/event/cd-create-event/template.dust in cp-zen-platform (https://github.com/CoderDojo/cp-zen-platform) and replace the editor.
Afterwards, you'll probably have to look into the directives that display the text (eg: web/public/js/directives/event/detail) and see if the binding requires a change now that's it's HTML based instead of pure text
HFGL !

Sooo, i could grab this one, dont know if @gaursagar  already did something, but if i could do it, please let me know (:

I'll take this one

I'm assuming this issue was never done -- I can take a stab at this today.

Cool !
Jump on gitter if you need help :)
https://gitter.im/CoderDojo/community-platform

As far as I can tell, this has been completed.
On the event page:

The editor itself:

Is there any further work necessary here?

Yeah, i guess the front-end need a bit of work in order to accept anything. example :

My unicorn is a bit running away, allright :p
At the same time, it's allright-ish on the booking page because it doesn't contain much logic, quite "CRUD".

My recommendation would be to look into limiting the description of an event for the dojo page in order to avoid an overflow like this unicorn madness :p

I added some basic html sanitization to the saveEvent function here: https://github.com/CoderDojo/cp-events-service/pull/138/files


Provide option to disable initial compilation when watching

Do you want to request a feature or report a bug?
Feature Request

What is the current behavior?
When webpack --watch is first run, the first thing it does it compile all of the entries.
If the current behavior is a bug, please provide the steps to reproduce.

What is the expected behavior?
For webpack to simply start watching the files and not immediately compile. But given that this doesn't apply as much to single-entry instances, at least have an option for it.
If this is a feature request, what is motivation or use case for changing the behavior?
Given the number of entries (and if sourcemaps are enabled) this can can take a significant amount of time. With this feature one would be able to enable watching and immediately get to work without having to worry about whether it's finishing compiling and is actually watching, yet.
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
Node: 4.5.0
Webpack: 2.6.1
OS: Windows 10

Are you seeing bottlenecks at this point of the compilation process?

Hi @TheLarkInn, only in the sense that it may take upwards of 30-60 seconds (and scaling with each entry) every time I go to start watching. Often times I'll turn it on, flip back to the code, make a couple tweaks, save, switch to the browser, refresh, and then realize that it just finished the first compilation so the changes I just made weren't included. So then I go save again, and I'm good to go. It's just was feels like an unnecessary hickup in the workflow.

Sounds like a bug. I should actually work this way. It compares timestamp to build start timestamp when starting watching, so this should detect changes between start of compilation and start of watching.

I have a use case where I want, inside a Makefile, to build once, then run a bash script, then start watching. Right now the watch will kick off an unnecessary build.

I have created this PR which adds:
https://github.com/webpack/webpack/pull/9735
module.exports = {
  // ...
  watchOptions: {
    skipInitialEmit: false
  }
}

@alshdavid duplicate https://github.com/webpack/webpack/issues/9730 ?

@evilebottnawi, any chance you've had a chance to review the PR?

#9730 is a duplicate dated Sep 24. This one here seems to be the original issue from 2017.

So it's been over 3 years now since the first report. Any update on this?

The persistent cache in webpack 5 is basically that. Instead of compiling all modules it restores them from the cache, only builds changes and watches the files.

How would this impact developers running several webpack instances, where the output of one is required as an input for the other?

@alshdavid It is side of your code, you need run first compilation, then run second, you can run them in the same time

My personal reason why I would love to have this feature is that in my current project I run the hosting and the building of the code parallel and cannot make the hosting wait for the first build to happen. So currently the hosting script will start running the old code, then do a live reload after a few seconds when webpack is done with the initial build. I would love to change this to only start the building first, then start the hosting and watching for changes later.
I've looked at solutions, which try to leach onto webpack's build events, but either the repos are no longer maintained (you get errors in the console because of that) or you have to add this logic into webpack config. With this addition it could all be done within the scripts of package.json.

With this addition it could all be done within the scripts of package.json.

Is the best solution

I have been using wait-on and concurrently in combination with webpack to achieve this.
{
  "scripts": {
    "start": "npm run wait:a && npx concurrently \"npm run watch:a\" \"npm run wait:a && npm run watch:b\" \"npm run wait:b && npm run serve:b\"",
    "wait:a": "npx wait-on packages/a/dist/index.js",
    "wait:b": "npx wait-on packages/b/dist/index.js",
    "watch:a": "cd packages/a && npx webpack --watch",
    "watch:b": "cd packages/b && npx webpack --watch",
    "serve:b": "cd packages/b/dist && npx http-server ."
  },
  "devDependencies": {
    "concurrently": "*",
    "webpack": "*",
    "http-server": "*",
    "wait-on": "*"
  }
}

My current setup is similar, though I use npm-run-all instead of concurrently:
"scripts": {
    "dev": "cross-env NODE_ENV=development npm-run-all --parallel build:watch app:watch",
    "app:watch": "nodemon dist/server/js/server.min.js --watch dist -e js,ejs,json,css",
    "build:watch": "webpack --watch"
  }

http-server is good for serving static files, but it's not enough for me, since I have a rest api + db running in the backend.
As I see wait-on relies on watching the directory and waiting for the given file to pop into existence, which requires you to remove previously generated files before starting a new server. It's a nice solution, which I'll definitely give a try, though I feel the cleanup to be an extra step, which could be skipped using the feature request in this ticket.

It is good solutions :+1: I don't think it is our side how you will run compilations, because we don't know about it nothing

This issue had no activity for at least three months.
It's subject to automatic issue closing if there is no activity in the next 15 days.

okay, then: bump
Did anyone find any solutions or even alternatives for this?

This issue had no activity for at least three months.
It's subject to automatic issue closing if there is no activity in the next 15 days.

okay, then: bump
Did anyone find any solutions or even alternatives for this?


ERROR: Method overwriting is not permitted during Module precompilation. Use __precompile__(false) to opt-out of precompilation.

The include() structure of the package currently results in multiple inclusions of the same file. I need to make this a simpler structure, and perhaps give up on the includes at the top of every file, opting instead for a flat structure where you can only include everything.

This is resolved, there are no include statements other than in Mandelbrot.jl, and the entire file tree of src is flattened


Don't transpile as much on desktop

This changes our webpack config so on electron we transpile the minimal set through babel.
this allows us to

[x] Put breakpoints in generators (!!!) and see useful stack traces there
[x] Hopefully better performance (didn't test this)

SADLY, we can't turn this on in production (yet).
Uglify doesn't support modern JS so it chokes on the input
Babili is way too immature (lots of github issues about it generating incorrect code :( ) and it crashes when I try a production build
So we basically undo all this cool stuff on a prod build...

The commits b6028edc0b42...4fe8ed7d26bb introduce visual changes on linux. :mag_right: 6 changed

Changed: Markdown-special_chars_in_code_block (before) (after)

Changed: Markdown-links (before) (after)

Changed: Markdown-Quotes (before) (after)

Changed: Markdown-Normal (before) (after)

Changed: Markdown-Code_block (before) (after)

Changed: Markdown-Blank_lines (before) (after)

The commits b6028edc0b42...396b368b29c7 introduce visual changes on linux. :mag_right: 6 changed

Changed: Markdown-special_chars_in_code_block (before) (after)

Changed: Markdown-links (before) (after)

Changed: Markdown-Quotes (before) (after)

Changed: Markdown-Normal (before) (after)

Changed: Markdown-Code_block (before) (after)

Changed: Markdown-Blank_lines (before) (after)

Huh, wonder what's up with the visdiff.

yeah its strange. i just put a workaround to a bug in babel so maybe that'll help. in app the visdiff is correct on these screens

The commits b6028edc0b42...875502e0a4ed introduce visual changes on linux. :mag_right: 6 changed

Changed: Markdown-special_chars_in_code_block (before) (after)

Changed: Markdown-links (before) (after)

Changed: Markdown-Quotes (before) (after)

Changed: Markdown-Normal (before) (after)

Changed: Markdown-Code_block (before) (after)

Changed: Markdown-Blank_lines (before) (after)

hmmmm. visdiff still messed. @chromakode ?

[ ] test prod build

The commits b6028edc0b42...74f52b743b88 introduce visual changes on linux. :mag_right: 6 changed

Changed: Markdown-special_chars_in_code_block (before) (after)

Changed: Markdown-links (before) (after)

Changed: Markdown-Quotes (before) (after)

Changed: Markdown-Normal (before) (after)

Changed: Markdown-Code_block (before) (after)

Changed: Markdown-Blank_lines (before) (after)

The commits b6028edc0b42...34da97390f31 introduce visual changes on linux. :mag_right: 6 changed

Changed: Markdown-special_chars_in_code_block (before) (after)

Changed: Markdown-links (before) (after)

Changed: Markdown-Quotes (before) (after)

Changed: Markdown-Normal (before) (after)

Changed: Markdown-Code_block (before) (after)

Changed: Markdown-Blank_lines (before) (after)

[ ] Actually do a test bot build to sanity check this all

@keybase/react-hackers

The commits b6028edc0b42...6f06faa34b2f introduce visual changes on linux. :mag_right: 6 changed

Changed: Markdown-special_chars_in_code_block (before) (after)

Changed: Markdown-links (before) (after)

Changed: Markdown-Quotes (before) (after)

Changed: Markdown-Normal (before) (after)

Changed: Markdown-Code_block (before) (after)

Changed: Markdown-Blank_lines (before) (after)

@chrisnojima The visdiff appears to be related to whitespace handling in   strings. All of the affected views depict markdown rendered based on fenced strings containing whitspace. Was there a change in the behavior here?

don't think so. it looks 100% the same when i run it locally

by the same i mean 'correct'

Odd. Perhaps it's something different about the visdiff environment -- node version, or webpack bundle config, etc.


Akka Typed Support

Using "com.typesafe.akka" %% "akka-cluster-sharding-typed" % "2.6.4"
When running lithium with the following config
akka {
  actor {
    provider = "cluster"
    no-serialization-verification-needed-class-prefix = [
      "akka.",
      "com.swissborg.lithium"
    ]
  }
  cluster.downing-provider-class = "com.swissborg.lithium.DowningProviderImpl"
}
com.swissborg.lithium {
  active-strategy = "keep-oldest"
  stable-after = 30s
  keep-oldest {
    down-if-alone = yes
  }
}

I see the following log on startup
2020-04-22 09:44:01,562 INFO  com.swissborg.lithium.DowningProviderImpl - Starting Lithium with the keep-oldest strategy.
2020-04-22 09:44:01,664 INFO  akka.actor.LocalActorRef - Message [akka.cluster.ClusterEvent$CurrentClusterState] from Actor[akka://MySystem/system/cluster/core/publisher#-317651006] to Actor[akka://MySystem/system/cluster/core/daemon/downingProvider/split-brain-reporter/reachability-reporter#-978528538] was unhandled. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.

I do not see the unhandled warning when running lithium on akka-classic.
Is this message cause for concern or can it be ignored? @DennisVDB

Yes you can ignore it. It seems I introduced the bug in #88.
I left a cluster.sendCurrentClusterState(self) around that's not used. However, I'm a bit puzzled about why it doesn't happen on akka-classic.
Both with classic  and typed you are using the same version of Lithium?

Thanks for the speedy response!

Both with classic and typed you are using the same version of Lithium?

Sorry, no. The classic application uses lithium 0.10.0 and the typed application is on 0.11.1

Ah that's it then. #88 is not part of 0.11.0.
I'll probably push a fix by tonight.

I've released v0.11.2 with the fix.


Colors are way too bright on MacBook Pro

At work and home I often use non retina monitors, and this issue makes it very difficult, and at the least painful to work from my laptop. Atom doesn't handle colors like this, nor any other app I've noticed. Please see screenshot below:
Atom is on the left, VS Code is on the right... (notice the hex value in the dev tools)
Screenshot taken on a 2018 MacBook Pro.
The hex values are identical, but VS Code renders then wayyy brighter. I love working in VS Code, so hopefully this is a simple change on my end.

VSCode Version: 1.24.0-insider (occurs with non-insider build as well)
OS Version: Mac OS 10.12.6

Steps to Reproduce:

Open any theme on a new MacBook Pro.
Notice the over saturated, painfully bright colors.

Does this issue occur when all extensions are disabled?: Yes

It's happening to me as well.
The colors are way too bright on my MacBook Pro 2015 Retina.

I've noticed since electron 2.0, which I think is as of the last day or two, this has been resolved for me.
@CodigoMatriz @bpasero can you confirm?

@asilvadesigns can you give [1] a try which is using Electron 2.0.x to see if that makes it any better?
[1] https://az764295.vo.msecnd.net/insider/c13b8641174a66e6316d809c785fdc884998bc89/VSCode-darwin-insider-unsigned.zip

+1
VSCode: 1.25.1
OS: 10.13.6
I tried many themes. The colors in all different themes are much much more bright than the colors in my Linux.

sorry I need to add this: not only the colors are different, but also the fonts are more bold. I am unable to read texts in such extremely bright and extremely bold situation.  I just switched from Linux vscode to MacOS vscode. This is just crazy.

Hello sgon00,
Could you please attach a screenshot ?

вс, 5 авг. 2018 г., 12:49 sgon00<EMAIL_ADDRESS>
sorry I need to add this: not only the colors are different, but also
the fonts are more bold. I am unable to read texts in such extremely
bright and extremely bold situation. I just switched from Linux
vscode to MacOS vscode. This is just crazy.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/50349#issuecomment-410508341,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVPRpfn-oVVOq6GTLjE3e2HU6xqI8wY9ks5uNr-YgaJpZM4UKVaw
.

@MicrosoftEurope sorry about the reply a bit late. I am still trying to get used to the new system. Never use MacOS before, even don't know how to make a screenshot. I did adjust contrast and brightness after the last post, it looks much better now even if it's still more bright and more bold. Please check the screenshots:

Btw, the font is the same, but the lineHeight is different. I forgot to make them the same.

hi, all, FYI, I found the solution (at least for me). Simply add the following line to User Settings:
  "workbench.fontAliasing": "antialiased",

Both built-in monitor and external monitor look very well with this setting. The font no longer looks bright and bold anymore.

@sgon00   "workbench.fontAliasing": "antialiased" is a unknown configuration setting.

@leandrocunha I have no idea what you are talking about. This setting just works very well. Please check the following screenshot and check DEFAULT USER SETTINGS and my own USER SETTINGS:

@sgon00 I think you are using a old version of VSCode, currently this setting is not available. What is the version your are using?

@leandrocunha Your thoughts are wrong. I am using the latest build.
$ code --version
1.27.1
5944e81f3c46a3938a82c701f96d7a59b074cfdc
x64

https://github.com/Microsoft/vscode/issues/50349#issuecomment-402746499 @bpasero
Looks like there is no brightness problem in the Insider version. Thanks!
You can see the difference from below.

@vedatmahir yeah we pushed a change for 1.27, can you update Code stable to 1.27.1 and verify the fix is there as well?

@bpasero I'm already using that (1.27.1) version. Please look at the screenshot I sent in my previous comment.

@sgon00 Crazy man. Take a look at my printscreen

@asilvadesigns can you please comment if this issue is resolved for you?

@leandrocunha ok, I am very sorry for the bad words that I posted too. Sorry that I was too emotional because I never saw a thumbs down emoji on my comments in github before.

@sgon00 Don't worries, I should pay attention in the issue's title. I read the solution with the little bit emotional dose, excited to solve the problem, because I hate work in Linux :smile:

@leandrocunha 👍👍😃😃🤝🤝

Timeout.

@bpasero why did you close this if it is not fixed? I'm on 1.27.2 and experiencing the same issue.

@lfaoro we close issues without reply from the author after some days.
Can you try to reproduce with our nightly insider builds? You can give our preview releases a try from: https://code.visualstudio.com/insiders/


Unable to download more than 10 files using single work unit from sftp source

We have a remote sftp source which generates huge number of files (>7000 per day) which we try to pull into our HDFS. We are running into OOM memory issues most likely due to issue mentioned in #623.
To mitigate this, I tried to limit the number of work units  using source.max.number.of.partitions to 50. Each work unit may now download about 140 files. This is causing "Channel cannot be opened" exception after downloading 10 files from each container and the job is retrying the same set of files again and again before failing the job.
The culprit most likely is SfpFsHelper.getFileStream which does not close the channel once the stream read is completed. I fixed similar issue in #1267.  But, it is much trickier in this case as completing the input stream read has to be confirmed by the calling method. Any ideas to help resolve this issue?

I think the InputStream returned by FsHelper should be wrapped as gobblin.source.extractor.extract.sftp.SftpLightWeightFileSystem.SftpFsFileInputStream which closes the Channel when InputStream.close() is called.
private static class SftpFsFileInputStream extends SeekableFSInputStream {

    private final Channel channel;

    public SftpFsFileInputStream(InputStream in, Channel channel) {
      super(in);
      this.channel = channel;
    }

    @Override
    public void close() throws IOException {
      super.close();
      this.channel.disconnect();
    }
  }

Created a pull request https://github.com/linkedin/gobblin/pull/1320

Thanks a lot @pcadabam. I will test it with these changes and comment on the results.

This fixed our issue. Thanks a lot @pcadabam

No problem. Thanks for reporting the issue. @ibuenros / @sahilTakiar / @ydai1124  anyone for this quick pr https://github.com/linkedin/gobblin/pull/1320 ?


Retain duration parameters on type change

Hi,
Attached contain few changes that should retain our duration parameters on type change as discussed in the comments here https://trello.com/c/O5Xcf0tB/56-digits-type-trade-is-not-working-and-broken-with-so-many-console-errors.

@qingweibinary opinions on the PR?

I think it is safe. The assumption here is that trade type under same category can share the same barrier, duration, which I think is true.

@qingweibinary "it might breaks onAssetChange" . Do you mean like throw an error ? If so, i don't think it will. onAssetChange we create new trade therefore create new defaultBarrriers instead of the old trade . It does not break here as well.

I am merging it, keep an eye on the potential issues :)

@nuruddeensalihu what I mean is here
https://github.com/binary-com/binary-next-gen/blob/master/src/trade-params/FullTradeParams.js#L147
It should not use old value from trade object when they are invalid, but this commit makes it to use values from trade object without checking. so we might provide invalid default params, it probably will not break the app in the way u describe, but it will break some functionalities we added.


Fix for medUtils and medBinaryOperation

@Florent2305 this PR can be closed because the last version of this plugin is in https://github.com/medInria/medInria-public/pull/356

Outdated


update profile related docs

include design overview
include Prerequisite and supported platforms
include customization guide through plugin interface

fix: https://github.com/kubeflow/website/issues/1124

This change is

Thanks @kunmingg
I have a couple high level questions that it might be good to get consensus on.

What do we want this doc do be about? Do we want it to be "here's how you use profiles? Or do we want more conceptual overview of IAM in Kubeflow?
How do we want to mix generic information with Cloud specific information?

It looks like the original issue #1124 was about profiles. Should we try to answer some very specific questions about profiles?
The initial questions that came to my mind were

What are Profiles?
What do Profiles do?
How do I use profiles with kubectl?

What permissions does a user need to be able to create profiles?

How do I use profiles with the Kubeflow UI?

What permissions are needed to be able to access the UI?

Should we create a page under components of Kubeflow dedicated to profiles and move most of this information there?
What would we do about the existing multi-user-overview page? Should this become more of a conceptual overview of IAM in Kubeflow?

Should we move this into the Reference Section
IAM in Kubeflow is a fairly meaty topic. How much should we aim to cover in this PR?

/cc @sarahmaddox @krishnadurai @yanniszark

/assign
/lgtm
Thanks @kunmingg this is an good addition.
There are a few small grammatical/style points that we can ask a tech writer to look at during the doc sprint.
@jlewi I think you've asked some excellent questions. This page has grown since it was first created, and is now a mix of conceptual overviews, usage information, and tech prerequisites. It could do with splitting up. I already have a task marked for possible tackling by a tech writer during the doc sprint, to look at this page as a whole. (I haven't yet created the issue - it's currently in a spreadsheet of similar tasks for the doc sprint.) There's a bit about profiles, for example, in the usage overview section.
How about we merge this PR, and I'll refer to the comments on this PR when I create the doc sprint issue?

@kunmingg I have a suggestion: Will you be able to finalize this PR on Monday to get a minimum viable doc update merged? Then you can work with a tech writer at the doc sprint to split out the doc into multiple pages, and polish the content. We have a number of tech writers taking part in the doc sprint. It's an ideal time to get this done.

@sarahmaddox
@richardsliu
Can we have this one merged and refactor them in follow up PRs?

/lgtm
/approve


Choreo compatibility changes

Choreo compatibility changes

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 3 committers have signed the CLA.:white_check_mark: isurutmv:white_check_mark: theetaz:x: jdchathurangaYou have signed the CLA already but the status is still pending? Let us recheck it.


React / JS / Angular MSAL unit tests example request

It would be handy to see jest unit tests for the msal 2 library. as port of the examples.
logonRedirect
loginPopup
AuthenticatedTemplate
isLoggedIn
Thanks

@ArranM You can see tests for MSAL React here. We are also planning to add E2E tests for MSAL React before GA. cc: @tnorling
Please look at the existing unit tests and let us know if you have further questions, thanks!

@jasonnutter thanks, that has helped me so much, I now have only 1 test left, is user clicks logout in AuthenticatedTemplate
spying on instance.logout() seem to generate an end point issue (for me) if I setup handleRedirectSpy initially and then action logout.
but really, thanks it really helped me understand it much better.

@ArranM You should mock out the logout function to prevent it from trying to do a full frame redirect to the AAD service. If you need to simulate a logout you can clear the account cache instead and then emit the logout event to ensure msal-react updates context. Take a look at these tests for examples on mocking out the msal-browser APIs

Closing as the question was answered. Please open a new issue if you have follow up questions. Thanks!


Improved stability of making connections in reverse mode

Ah, I see, it really won't help as you make connect one by one. But it may help in my case (though it is still pretty rare case).


feat(seeding): move company and address to overwrite dir

Description
move company and address seeding files to overwrite dir
Why
to provide the option to seed the bpn without changing the code it's moved into a directory where it can be overwritten
Issue
Refs: https://github.com/eclipse-tractusx/portal/issues/449
Corresponding Portal PR
https://github.com/eclipse-tractusx/portal/pull/450
Checklist

[x] I have followed the contributing guidelines
[x] I have performed IP checks for added or updated 3rd party libraries
[x] I have created and linked IP issues or requested their creation by a committer
[x] I have performed a self-review of my own code
[x] I have successfully tested my changes locally
[x] I have added tests that prove my changes work
[x] I have checked that new and existing tests pass locally with my changes
[x] I have commented my code, particularly in hard-to-understand areas

lgtm 👍 just, could we do the update of the api specs version in a separate pr?

removed from here. will create a separate pr for that

Looks good in general, just the api spec files should not be part of the change: could you please review #1077? And once it is merged, rebase to main?

done


feat: quit with context menu

This fixes #764 by using the toggler in the menubar itself only for IPFS and adding a context menu that can be used for three things: quit the app, quick access to settings and logs directory, which might be useful.

This works well on Windows. Please test on macOS and Linux!!

I still haven't looked at the code  but this doesn't seem to be working on macOS.
Left-clicking the icon is showing the menu that should appear when right-clicking:

Ugh. On Windows it works... I remember we tried doing this on the previous version but that "bug" was happening on macOS and Linux. I hoped it was fixed already though. Probably it's the expected behaviour.

It also seems that right-click event is only supported on Windows and macOS: https://electronjs.org/docs/api/tray#event-right-click-macos-windows
@olizilla @fsdiogo @lidel what do you suggest?

Just tried a different approach and use the right click event to show up the context menu:
https://github.com/ipfs-shipyard/ipfs-desktop/blob/b3c9aaab29707e27ee834fe35bc2e26a1e8cb0a3/src/lib/menubar/index.js#L45-L48
This won't work on Linux but I hope it fixes for macOS. On Windows it keeps working.

Working on macOS.

@lidel which are the guidelines or usual ways of quitting a menubar app on Linux?

@lidel that's rad! Btw, only macOS needs the right-click event handling. On Windows it works with the context menu too.
No, you shouldn't need to click twice. Did you wait some time before trying again? Maybe it was trying to quit IPFS. We can try to debug that.

@hacdias I think the issue may be that I use remote API:

It quits instantly when i use embedded go-ipfs, but..
I need to click Quit twice to exit when I use remote one  ($IPFS_PATH/api is present)

Can confirm, works as intended for me too on macOS


Fix Colab interpretation of math symbols

The second summary bullet point starting with "The number of new infections we expect per day" was not rendering the math symbols correctly in Colab. Putting it all on the same line, like the first bullet point, fixes the issue. Github renders the page correctly without this change.

Making the change in the source document. Thank you!


[INLONG-3233][Docker] Make jvm opt configurable

fixes: #3233
Motivation
Make jvm opt configurable on docker images and the helm chart.
Modifications

docker images
helm chart

Verifying this change

[ ] Make sure that the change passes the CI checks.

@dockerzhang Fixed. Please see https://github.com/shink/incubator-inlong/commit/cbe9925cb222e8d4b6af493620b8ca3ee5a7e72f


Nix newbie question... default configuration?

Hey, sorry for wasting anyone's time because this is probably more realistically a Nix question rather than about this flake, but I'm a little lost.
When I run
nix run github:notashelf/nvf
nvim looks and acts exactly how I want as a starting point. It's fantastic.
But when I install it, I don't know how/where to put a configuration, and my nvim seems stock.
In my flake.nix:
inputs = {
...
    nvf = {
        url = "github:notashelf/nvf";
        inputs.nixpkgs.follows = "nixpkgs";
    };
};

In my configuration (home/programs/nvf/default.nix) I have:
{ inputs, ... }:
{
  imports = [
	inputs.nvf.homeManagerModules.default
  ];
  programs.nvf = {
    enable = true;
  };
}

I just don't know where to go from here. I'm clearly missing the "default" config, but I'm not sure how I could be missing something that's default. Any tips for a newb?

This is what my configuration for nvf looks like:
{
  inputs,
  pkgs,
  ...
}: {
  imports = [inputs.nvf.homeManagerModules.default];

  programs.nvf = {
    enable = true;
    settings.vim = {}; /* ... config goes here  */
  };
}

You can see the definition in flake/modules/home-manager.nix at lines 57-78.
It is also noted in the documentation (accessible on the README).
Good luck with Nix, brotha.

The packages exposed by the flake (i.e. those you can nix run) are configured here. You can copy all options that are set to true in order to replicate the default configuration.

The packages exposed by the flake (i.e. those you can nix run) are configured here. You can copy all options that are set to true in order to replicate the default configuration.

 I looked at that, but saw "isMaximal" at the beginning and assumed that wasn't what I was after. Thanks!


How to pass secrets

I am missing example of how to pass secret variables as input to the template. In general they should be mapped to environment, but how it works with templates? I have e.g. Variable group with secret value, I will put this variable group in variable section of my pipeline, and now I want to pass it to the template for stage, which is using template for job...

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

ID: 6724abea-bbdc-bf66-ed5e-3214fa6c3e66
Version Independent ID: 4f8dab21-3f0e-da32-cc0e-1d85c13c0065
Content: Job and step templates - Azure Pipelines
Content Source: docs/pipelines/process/templates.md
Product: devops
Technology: devops-cicd
GitHub Login: @vtbassmatt
Microsoft Alias: macoope

@kine -- thank you for contacting us with your question.  I have asked the author to look into this.  In the meantime, you might consider asking your question here:

Azure DevOps on Stack Overflow

@vtbassmatt -- please consider adding the requested information.

@kine the template processing step doesn't look at secrets or any other runtime data, it simply merges the contents of the templates into a single YAML DOM. So you use secrets the same way as you'd use them in a non-templated YAML file.
steps:
- task: MyTask@1
  inputs:
    someInput: $(someSecret)

vs.
# azure-pipelines.yml
steps:
- template: template.yml
  parameters:
    mySecretParam: $(someSecret)

# template.yml
steps:
- task: MyTask@1
  inputs:
    someInput: ${{ parameters.mySecretParam }}

These will compile to roughly equivalent final pipelines.

Thanks to the comment of Matt (@vtbassmatt) I was able to figure out why a script of mine was not working. But in my case I also had to figure out how to pass a secret to a script. I would really like it if Microsoft would update their documenation to include at least an example of this because it is a usecase that happens all to often. Below is an adaptation of the example of Matt that includes using a secret in a script. It also includes using a variable group which contains the variable someSecret (which, by the way, should have Allow access to all pipelines turned off for security reasons).
# azure-pipelines.yml
variables:
- group: variable-group-containing-someSecret

steps:
- template: template.yml
  parameters:
    mySecretParam: $(someSecret)

# template.yml
parameters:
  - name: mySecretParam
    type: string

steps:
- task: MyTask@1
  inputs:
    someInput: ${{ parameters.mySecretParam }}

- bash: |
    someBashCommand --user someUser --password $ENV_PASSWORD
  env:
      ENV_PASSWORD: ${{ parameters.mySecretParam }} # secrets should only be given to the script in this way

- powershell: |
    somePowershellCommand --user someUser --password $env:ENV_PASSWORD
  env:
      ENV_PASSWORD: ${{ parameters.mySecretParam }} # secrets should only be given to the script in this way

Note: the first time you run this pipeline you will have to explicitly authorize the pipeline to use the variable group. You will be prompted to do so in the Azure DevOps web frontend when you open the running pipeline. And that is of course exactly the way things should be ;-).
PS: I don't think this issue is closed as long as it is not properly documented under for instance https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch#secret-variables. I hope MS will do that soon.

Closest example in the current doc

I did lots of research and this is the closest example that I can find in the doc, which is how to pass secrets to a task.
Also suggested to update the doc to mention how to use secrets to a template. I could create a PR to update the doc.

The solution I found and verified to pass secrets to a template

I just figured out an easier way to pass secrets to a template inspired by @vtbassmatt's comment "template processing step simply merges the contents of the templates into a single YAML DOM"

Assume you have created the secret variable by following this step.
steps:
- task: MyTask@1
  inputs:
    someInput: $(someSecret)

vs.
# azure-pipelines.yml
steps:
- template: template.yml

# template.yml
steps:
- task: MyTask@1
  inputs:
    someInput: $(someSecret)

should be equivalent, which means that you could directly use secrets in a template instead of passing them as parameters.


Getting size of SSL response

Hi, for my use case I need to measure the size of incoming responses, both with and without SSL. It's easy enough to enable SSL decryption, and then count header size and body size in OnAfterRequest. But I've noticed that decrypting SSL adds an overhead of roughly 800ms to every SSL request (on windows, at least). The specs of the computer are most definitely high enough that I am convinced it is not a CPU power issue. Additionally, for SSL requests this counts the decrypted size, not the actual encrypted response size. While this is okay, for my use case it would be better if I could record the size of the encrypted response.
Is there a way to achieve what I need without decrypting SSL?

May be #626 will help. Sounds related.

Thanks! This was exactly what I needed. I somehow managed to miss that previous issue.


Compilation hangs on fork safety test

Hi,
I was trying to compile OpenBLAS on Ubuntu using the following command
make NO_AFFINITY=1 USE_OPENMP=1
and the compilation hangs on the fork test

Any ideas how this works? Thank you.

Hey! I have the same issue (head rev.).
x86_64 AMD, kernel: 4.4.0, gcc: 5.4.0
Hanging for hours... How can I help to fix this issue?
Running with GDB shows the thread is spawned:
mathias@frankenstein:~/OpenBLAS/utest$ gdb openblas_utest
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from openblas_utest...done.
(gdb) r
Starting program: /home/mathias/OpenBLAS/utest/openblas_utest
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
TEST 1/2 amax:samax [OK]
TEST 2/2 fork:safety [New Thread 0x7fffef541700 (LWP 29681)]
^C
Thread 1 "openblas_utest" received signal SIGINT, Interrupt.
0x00007ffff7bcaede in __libc_wait (stat_loc=0x7fffffffde04) at ../sysdeps/unix/sysv/linux/wait.c:29
29      ../sysdeps/unix/sysv/linux/wait.c: Datei oder Verzeichnis nicht gefunden.
(gdb)

Which ubuntu version? Which OpenBLAS version you are building? CPU name (like i9-9999 v99)?
I would suggest different approach with GDB - instead of killing process attach debugger to alive process:
$ script
$ gdb
attach PID
thread apply all backtrace
detach PID
quit
$ quit

.... file is typescript .....
There is on IF - since it is about some sort of "wait" function, attaching GDB may stop it.
probably you need glibc-dbg installed (my guess from filenames that are 'nicht gefunden')
and add more and more -dbg packages, seeing symbol names and source line names is easier than adding up offsets.

Ubuntu 16.04.3 LTS (xenial)
I cloned the repo two days ago. Should be the latest OpenBLAS version?!
CPU: AMD Athlon II X2 220
I am unsure about the debug symbols at the moment. I should have everything installed...
But for now, this should be the main process:
Attaching to process 30393
[New LWP 30394]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f583e8c6ede in __libc_wait (stat_loc=0x7fff52b80024) at ../sysdeps/unix/sysv/linux/wait.c:29
29      ../sysdeps/unix/sysv/linux/wait.c: Datei oder Verzeichnis nicht gefunden.
(gdb) thread apply all backtrace
Thread 2 (Thread 0x7f583623d700 (LWP 30394)):
#0  futex_wait (val=16, addr=0x1a74b44) at ../../../src/libgomp/config/linux/x86/futex.h:45
#1  do_wait (val=16, addr=0x1a74b44) at ../../../src/libgomp/config/linux/wait.h:67
#2  gomp_barrier_wait_end (bar=0x1a74b40, state=16) at ../../../src/libgomp/config/linux/bar.c:48
#3  0x00007f583e6a3418 in gomp_thread_start (xdata=<optimized out>) at ../../../src/libgomp/team.c:122
#4  0x00007f583e8bd6ba in start_thread (arg=0x7f583623d700) at pthread_create.c:333
#5  0x00007f583e3d141d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Thread 1 (Thread 0x7f583ecdb780 (LWP 30393)):
#0  0x00007f583e8c6ede in __libc_wait (stat_loc=0x7fff52b80024) at ../sysdeps/unix/sysv/linux/wait.c:29
#1  0x00000000004024e1 in __ctest_fork_safety_run ()
#2  0x000000000040222a in ctest_main ()
#3  0x00007f583e2ea830 in __libc_start_main (main=0x401420 <main>, argc=1, argv=0x7fff52b801d8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff52b801c8)
    at ../csu/libc-start.c:291
#4  0x00000000004014a9 in _start ()
(gdb)
This should be the spawned child:
Attaching to process 30395
Reading symbols from /home/mathias/OpenBLAS/utest/openblas_utest...done.
Reading symbols from /lib/x86_64-linux-gnu/libpthread.so.0...Reading symbols from /usr/lib/debug/.build-id/ce/17e023542265fc11d9bc8f534bb4f070493d30.debug...done.
done.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Reading symbols from /usr/lib/x86_64-linux-gnu/libgomp.so.1...Reading symbols from /usr/lib/debug//usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0...done.
done.
Reading symbols from /lib/x86_64-linux-gnu/libc.so.6...Reading symbols from /usr/lib/debug//lib/x86_64-linux-gnu/libc-2.23.so...done.
done.
Reading symbols from /lib64/ld-linux-x86-64.so.2...Reading symbols from /usr/lib/debug//lib/x86_64-linux-gnu/ld-2.23.so...done.
done.
Reading symbols from /lib/x86_64-linux-gnu/libdl.so.2...Reading symbols from /usr/lib/debug//lib/x86_64-linux-gnu/libdl-2.23.so...done.
done.
0x00007f583e3b4827 in sched_yield () at ../sysdeps/unix/syscall-template.S:84
84      ../sysdeps/unix/syscall-template.S: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0  0x00007f583e3b4827 in sched_yield () at ../sysdeps/unix/syscall-template.S:84
#1  0x0000000000404a45 in inner_thread ()
#2  0x0000000000408602 in exec_blas._omp_fn ()
#3  0x00007f583e69fcbf in GOMP_parallel (fn=0x408520 <exec_blas._omp_fn>, data=0x7fff52b7fa30, num_threads=2, flags=0) at ../../../src/libgomp/parallel.c:168
#4  0x00000000004089aa in exec_blas ()
#5  0x000000000040431b in gemm_driver ()
#6  0x0000000000404e7a in dgemm_thread_nn ()
#7  0x0000000000402999 in cblas_dgemm ()
#8  0x0000000000402360 in check_dgemm ()
#9  0x0000000000402497 in __ctest_fork_safety_run ()
#10 0x000000000040222a in ctest_main ()
#11 0x00007f583e2ea830 in __libc_start_main (main=0x401420 <main>, argc=1, argv=0x7fff52b801d8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff52b801c8)
    at ../csu/libc-start.c:291
#12 0x00000000004014a9 in _start ()
(gdb)

Can you run same 't a a bt' against spawned child?

1st/  try CC=clang instead
2nd/ try to fix OpenBLAS (I cannot repeat freeze in similar virtual machine, there is something else "specific" in your setup)
Can you try adding 3 lines in common.h to use formally correct OMP yielding (the wrappings around it are not portable)
#ifndef YIELDING
#define YIELDING        __asm__ __volatile__ ("nop;nop;nop;nop;nop;nop;nop;nop;\n");
#endif
#endif
*/

+++ #ifdef _OPENMP
+++ #define YIELDING        _Pragma ("omp taskyield");
+++ #endif

#ifndef YIELDING
#define YIELDING        sched_yield()

The fork test was added (back) just a few days ago as part of #1450. I saw a hang with it once but could not replicate with a clean checkout, though now I think the issue could be related to USE_OPENMP=1 (which I had set in the "unclean" tree for unrelated reasons, but probably not in the other).

Gosh... I just wanted to have a look at a pretrained deep neural net, that needs torch7 in order to run, which needs OpenBLAS in return. Now I am searching the web in order to activate OpenMP support in CLang... T_T
The three lines produce a lot (A LOT!) of warnings:
ignoring #pragma omg taskyield [-Wunknown-pragmas]
Result: After ages of compilation (only 2 cores) -> stuck at openblas_utest again...
Regarding VM testing: I think I used the server of minimal/netinstall iso during setup of this machine I am using. I am not sure if it makes any difference...

Which is the last revision without this test? I don't need the latest version of OpenBLAS.

You can drop the test_fork.o from the OBJS line in utest/Makefile as a short-term solution. Or git checkout 150c729 top get the state immediately before the problematic PR.

You could go with default build with pthread, or even install libopenblas-dev from Ubuntu repository.
It is not OMG. it is OMP pragma....
Breaks for me in same place, i tried and did not with Ubuntu 14 before.
Ubuntu clang with all support needed is here https://apt.llvm.org/

Your are right. I misspelled it.
I am currently compiling without the test...

@martin-frbg I will make PR if my fixup passes the test, i dont understand extent for "correct" ifdef-s of the problem but 2 reports in a day sound serious.

So, it compiled now.
What do you recommend? Do it again with correct spelling and editied common.h ? Try to run it through CLang without any edited file? Or can I safely use the compiled version?

The actual code change from PR #1450 should only affect cygwin, so any problems from using fork with openmp will have been around for much longer (or the old testcase that was resurrected together with the cygwin fix is simply not appropriate for an OpenMP context). So I expect you can safely use what you have now.

? https://bugs.python.org/issue31814

Reproduced now with USE_OPENMP=1. In issue #240 it was suggested that the hang would go away with USE_SIMPLE_THREADED_LEVEL3=1 , trying this now. (If this works, I will try the fix for  level3_thread.c that I have been working on.)

Nope, did not help. A comment in the openblas_fork_handler() of driver/others/memory.c which calls pthread_atfork specifically notes that OpenBLAS built with OpenMP will hang when calling fork. It links to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60035 (where the related discussion on the gcc-patches list died out without a conclusion). Seems wrapping the fork test into ifndef USE_OPENMP is the best short-term solution indeed.

USAGE.md and Makefile.rule somewhat disagree on semantics of NO_AFFINITY=1
Is it necessary be disabled with OMP as OMP does same with OMP_PROC_BIND

Meh. From #294/#394 the fork test was only ever meant to be used without OPENMP, but the corresponding ifndef was within the old utest main() and consequently lost with the rewrite that dropped the dependency on cutest. WIll commit a fix after merging my rotmg patch that touches the same files.

lol did not really expect so many responses this soon but yeah after commenting out the fork test I was able to compile. Thanks guys!

Too bad--I only re-enabled the test because it seemed like it had been there for a long time and mostly working anyways, and was only disabled (and never re-enabled) during the port to the new test framework.

I'll try to limit it to Cygwin and Linux for the time being. Currently travis&appveyor are giving me trouble with some of the other tests as well.


Compiler assertions according to issue #575

This PR implements some simple assertions to allow for meaningful erroring of the compiler if the right-hand side of a tilde operant is not a Distribution or a Vector of Distributions.

@trappmartin is this ready for merging now?

I would say yes but there seems to be something breaking on the Documenter part. Not sure where this comes from.
cc: @cpfiffer

I think I know what's going on here, I'll fix it when I'm back at a computer.

All good. Should be ready to merge this over now.

Thanks!


Simplify checkValidChapterOrVerse.

Was looking over TODOs in the codebase, hit upon this one, and realized it's actually already covered (i.e. we already check for Ayah limits; see www.quran.com/2/5000 or www.quran.com/2/200-300). Removed the TODO and refactored it to read better.

Nevermind, this is buggy.


Fix handling of  without explicit href

This addresses https://github.com/mjackson/history/issues/94#issuecomment-204572680 but does not otherwise resolve https://github.com/mjackson/history/issues/94.
cc @loganfuller