Using a sliding thumbnail to access multiple panorama images?

Hi, I've been messing around with Pannellum for a bit and trying to integrate Slick Slider with Pannellum.
I'm using Slick Slider to build a thumbnail slider at the bottom of the screen, and hoping to use Pannellum to showcase and control the 360 views. I can easily add many thumbnail images to this to make an endless slider, but can't seem to figure out how to call up different 360 images, I've tried about 50 methods and all failed. I'm sure I'm missing something here. Any help would be great. I'm just learning HTML/CSS/Javascript so definitely a noob, here. Thank you!
 I'm going to assume this is the case and proceed accordingly.
First, you need to assign the Pannellum viewer to a variable so you can control it, e.g., replace pannellum.viewer('panorama', with var viewer = pannellum.viewer('panorama',. Next, you need to use a tour configuration for Pannellum (see the tour example for details); however, you don't need to add any hot spots. Finally, you need to add click event handlers to your thumbnails to change the panorama displayed using Pannellum's loadScene API method, e.g., you could change  to , where scenex would be the scene corresponding to the thumbnail.

Hi, thanks so much for the quick response. Yes, I am trying to load a new panorama everytime. I'm going to dig into this right away. I'll let you know how it goes.

Hi Matthew,
I believe I followed your instructions correctly but getting some odd results. I got the thumbnails working OK but only the default scene and one other scene are loading. The others are only the html text on screen. If I make the default panorama 9012, then I can only click on the thumbnails for 9012 or 9042. All of the others just show text. But I've tested each image/scene for the panorama by making each the default scene, which will load those. I'm wondering what I may be missing here? Here's a link to what I'm seeing: http://playoptix.com/360views/360view.html
Here's a link to a dropbox with the HTML, images used in this example and js/css files if that helps?
https://www.dropbox.com/sh/gllxn8u7ng6bydt/AACbk5IB0Hex1NwzKxW0MoCza?dl=0
Thanks for any help you can offer,
Brian

You need to get rid of the "slider syncing" code, as that's what's causing the issue. The Pannellum viewer shouldn't be a "slider." I haven't tested it, but replacing the contents of your custom.js file with
jQuery(document).ready(function($) {
	$('.thumbnail_slider').slick({
 	 slidesToShow: 5,
  	 slidesToScroll: 1,
 	 dots: false,
 	 arrows: false,
  	 centerMode: true,
 	 focusOnSelect: true
	});
});

should work.

 It works perfectly now, thank you so much for the help! Do you have a Patreon or something, I'd love to contribute.

I don't have a Patreon account, but I do have a Ko-fi page. I'm glad I could be of assistance.


It tells you to do one thing, you fix it, then it tells you to put it back the way that it was.


ERR! parse-server-push-adapter APNS cannot find vaild connection

My parse server log is filled with ERR! parse-server-push-adapter APNS cannot find vaild connection errors. Push Notifications reach devices though. This seems to happen for devices that uninstalled the app and are now no longer reachable.

[X] You've met the prerequisites.

[x] You're running the latest version of Parse Server.

[x] You've searched through existing issues. Chances are that your issue has been reported or resolved before.

Environment Setup
    push: {
        android: { senderId: '...', apiKey: '...' }, // setting android keys empty to remove error
        ios: {
          pfx: __dirname + process.env.APN_PUSH_P12_PATH, // The filename of private key and certificate in PFX or PKCS12 format from disk
          bundleId: process.env.APN_BUNDLE_ID, // The bundle identifier associate with your app
          production: false // Specifies which environment to connect to: Production
        }
    }

Steps to reproduce

Install app on device. Does register to parse server
Uninstall app
send push notification

Expected Behaviour
Devices that are no longer reachable get removed from the database.
Logs/Trace
Apr 19 20:36:36 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for<PHONE_NUMBER>5ab097c58b1f90d30a078d892
Apr 19 20:36:36 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 37bc6500dd5e33ff43dc7a3f1e45ebc25a5
Apr 19 20:36:37 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 899efce347b266412d39da18379569bdaa7
Apr 19 21:42:54 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for<PHONE_NUMBER>5ab097c58b1f90d30a078d892
Apr 19 21:42:55 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 37bc6500dd5e33ff43dc7a3f1e45ebc25a5
Apr 19 21:42:55 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 899efce347b266412d39da18379569bdaa7
Apr 20 19:29:50 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for<PHONE_NUMBER>5ab097c58b1f90d30a078d892
Apr 20 19:29:51 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 37bc6500dd5e33ff43dc7a3f1e45ebc25a5
Apr 20 19:29:52 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 899efce347b266412d39da18379569bdaa7
Apr 20 23:56:00 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for<PHONE_NUMBER>5ab097c58b1f90d30a078d892
Apr 20 23:56:01 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 37bc6500dd5e33ff43dc7a3f1e45ebc25a5
Apr 20 23:56:02 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 899efce347b266412d39da18379569bdaa7
Apr 21 20:30:10 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for<PHONE_NUMBER>5ab097c58b1f90d30a078d892
Apr 21 20:30:11 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 37bc6500dd5e33ff43dc7a3f1e45ebc25a5
Apr 21 20:30:12 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 899efce347b266412d39da18379569bdaa7
Apr 21 22:30:59 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for<PHONE_NUMBER>5ab097c58b1f90d30a078d892
Apr 21 22:31:00 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 37bc6500dd5e33ff43dc7a3f1e45ebc25a5
Apr 21 22:31:01 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 899efce347b266412d39da18379569bdaa7
Apr 22 16:17:58 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for<PHONE_NUMBER>5ab097c58b1f90d30a078d892
Apr 22 16:17:58 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 37bc6500dd5e33ff43dc7a3f1e45ebc25a5
Apr 22 16:17:59 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 899efce347b266412d39da18379569bdaa7
Apr 22 16:33:06 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for<PHONE_NUMBER>5ab097c58b1f90d30a078d892
Apr 22 16:33:07 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 37bc6500dd5e33ff43dc7a3f1e45ebc25a5
Apr 22 16:33:07 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 899efce347b266412d39da18379569bdaa7
Apr 22 16:34:49 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for<PHONE_NUMBER>5ab097c58b1f90d30a078d892
Apr 22 16:34:50 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 37bc6500dd5e33ff43dc7a3f1e45ebc25a5
Apr 22 16:34:51 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 899efce347b266412d39da18379569bdaa7
Apr 22 17:10:04 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for<PHONE_NUMBER>5ab097c58b1f90d30a078d892
Apr 22 17:10:04 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 37bc6500dd5e33ff43dc7a3f1e45ebc25a5
Apr 22 17:10:05 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 899efce347b266412d39da18379569bdaa7
Apr 24 10:47:19 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for<PHONE_NUMBER>5ab097c58b1f90d30a078d892
Apr 24 10:47:19 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 37bc6500dd5e33ff43dc7a3f1e45ebc25a5
Apr 24 10:47:20 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 899efce347b266412d39da18379569bdaa7
Apr 24 11:02:55 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for<PHONE_NUMBER>5ab097c58b1f90d30a078d892
Apr 24 11:02:56 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 37bc6500dd5e33ff43dc7a3f1e45ebc25a5
Apr 24 11:02:57 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 899efce347b266412d39da18379569bdaa7
Apr 24 11:25:33 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for<PHONE_NUMBER>5ab097c58b1f90d30a078d892
Apr 24 11:25:34 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 37bc6500dd5e33ff43dc7a3f1e45ebc25a5
Apr 24 11:25:34 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 899efce347b266412d39da18379569bdaa7
Apr 24 11:38:18 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for<PHONE_NUMBER>5ab097c58b1f90d30a078d892
Apr 24 11:38:18 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 37bc6500dd5e33ff43dc7a3f1e45ebc25a5
Apr 24 11:38:19 xsn-app parse-app-production[6721]: ERR! parse-server-push-adapter APNS cannot find vaild connection for 899efce347b266412d39da18379569bdaa7

Meet the same problem.
Anybody have solutions for that?

Same problem here !

I fix the problem by removing
production: false
If this line is present, i got "APNS cannot find vaild connection" whatever if i set true or false
Strange!!!!

Did you fix the problem?
Otherwise I would try to put the bundle identifier in quotes like: bundleId: 'process.env.APN_BUNDLE_ID':
I hope it helps

The problem is still present. I did not try setting production: false as this is happening in my production environment.
The make it clear: Push notification do get send out fine. I just do not know why this error appears. I think the error is caused by devices which do not have the app installed any more?

@funkenstrahlen that may be possible. I'm closing this issue here for now, it is still problematic please reopen on parse-server-push-adapter.

I found that (as flessard notes above) if I don't specify "production" at all, push notifications start working with either dev or production certificate.
Maybe it's meant only to be used if you're specifying an array of certificates?
The problem is that examples like the one here ask you to include it regardless!


test: add browserstack wdio

Adds Appium Browserstack setup to run local webdriver tests in debug mode on Real Devices.

okay I guess if we use Development Profile, only then it's gonna build for ios. Doing that via a search and replace.


For Vectors - Cognitive Search or Cosmos DB

Looks like vector embedding store and search is now supported in azure cosmos db for mongo.
https://learn.microsoft.com/en-us/azure/cosmos-db/mongodb/vcore/vector-search
So which one does Microsoft prefer for customers? Any idea? Seems cosmos one is in GA also.

Thanks for the question. Using Vector capabilities in CosmosDB vs Azure Cognitive Search depend on the task you're trying to solve.
Here are some features of both products and you can decide what may be a better fit for your use case:

Azure Cognitive Search has a premium vector offering that allows you to store, index, and search vectors along with advanced capabilities like the Indexer to pull from any Azure data source such as CosmosDB API for NoSQL, Blob, ADLSv2, etc. Additionally, Azure Cognitive Search has Hybrid search capabilities and an L2 reranked as part of the Semantic search (preview) feature powered by Bing. Learn more: https://learn.microsoft.com/azure/search/vector-search-overview
CosmosDB has a basic vector offering that allows you to store, index, and search vectors while only performing pure vector search and has support for MongoDB and PostgreSQL only. Not that your data must be in CosmosDB to use Vector search capabilities. Learn more: https://learn.microsoft.com/azure/cosmos-db/mongodb/vcore/vector-search

Thanks Farzad! Any news when the vector feature in Cognitive Search will become GA? Even the semantic feature of normal search in Cognitive Search is in preview. Do you have any visibility on when these will be production ready?

We are committed to GA Vector Search capabilities ASAP. Semantic search will is targeted for GA near end of CY23.

Thanks, that's good to know. Good luck!


examples, generator: Remove GrpcChannelPoolHelper

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
Remove GrpcChannelPoolHelper from _helpers.py. This class provided accessors for pin_map_channel, session_management_channel, and grpc_device_channel, but the simplified session management API and the "update pin map" step eliminated all usage of these accessors.
Change example TestStand code modules to directly import GrpcChannelPool from ni_measurementlink_service.grpc.channelpool.
Update the minimum ni-measurementlink-service version for the examples that have TestStand code modules. ni_measurementlink_service.grpc.channelpool requires 1.3.0-dev2 or later.
Why should this Pull Request be merged?
Fix AB#2576107
What testing has been done?
Ran ni-python-styleguide and mypy on all affected examples.
Installed examples using scripts/install_examples.py and tested in InstrumentStudio and TestStand with simulated devices.

Windows Python 3.12 unit tests failed with No Python at '"C:\hostedtoolcache\windows\Python\3.12.0\x64\python.exe', trying again.

Windows Python 3.12 unit tests failed with No Python at '"C:\hostedtoolcache\windows\Python\3.12.0\x64\python.exe', trying again.

I see the problem: https://github.com/ni/measurementlink-python/issues/560


play service location not found

Hi, after launching cordova plugin add https://github.com/pmwisdom/cordova-background-geolocation-services.git I get:
Error: Uh oh!
"workspace_ionic/comeInComo_gps/plugins/org.flybuy.cordova.background-location-services/com.google.android.gms:play-services-location:+" not found!

In sdk manager those modules are correctly installed. Can you help me?
Thank you

Make sure you have:
Android Support Repository
Android Support Library
Google Play Services
Google Repository

Actually I have them all. I think I should add play services to the generated android project

Yeah I'm not sure why its looking in the plugin folder for that library, it should be looking for it where your android SDK is installed. Unless Ionic does it differently, I haven't used Ionic in a very long time.


Error parsing host with NSX-T enabled

Description
Error parsing host 0 information: syntax error, unexpected VARIABLE, expecting EQUAL at line 19, columns 381:385. Monitoring information:
---redacted----
L19 NSX_STATUS = OK
L20 NSX_TRANSPORT_ZONES = [tz-host-vlan="c5796483-c5d1-49d4-8669-73dbcfd378dc",tz-overlay="aef17969-e1e8-47dc-b6f8-18e9fcef385b"]
I don't know if this value is related at all, and following the code wasn't what I'm used to with cmake and QtCreator IDE superpowers, but it seemed like i ended up in some autogenerated parsing file that i presume is generated somehow to relate to host.xsd.
To Reproduce
VMware vCenter 6.7, NSX-T 2.5.1
Expected behavior
Monitoring shouldn't fail parsing the output.

I used scons new_xmlrpc=yes mysql=yes parsers=yes to build 5.10.3 oned.
It's only once i enter the NSX-T password into sunstone that this error occurs and the "host" gets stuck on MONITORING_INIT.
I'm willing to test patches or git branches, I've been planning to evaluate ONE as VMware vCloud isn't very flexible.

Progress Status

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

Dash is not supported in Transport zone names.
http://docs.opennebula.io/5.10/deployment/vmware_infrastructure_setup/nsx_setup.html
Try to change the names with underscores for example

@mouyaq I'm sorry, I've read through the docs regarding this a gazillion times by now but somehow that just flew way past me.
Changing the dashes to underscores made the "host" go into monitored state with nsx-t enabled.
Anyhow, now anyone else with the same error should be able to Google the error and find it here :)

Thanks for your feedback.
Let me reopen this issue to evaluate the issue for future releases.


Device lost conecction when double tap on UICollectionViewCell

When i am trying to run application in the real device getting this error
Restore the connection to “iPhone” and run “My App” again, or if “My App” is still running, you can attach to it by selecting Debug > Attach to Process > My App.
This only happens when the view just loaded and immediately touched a cell two or more times quickly.
the device loses the connection. without any registration error.
I'm carrying more than 22 images, all in jpg compressed to the maximum, so I discard it memory problem.
In the simulator this problem does not occur.
if selectedIndexPath.section == 0 {
print("000000000000000000000000000000")
        //downloadURLPhotoAlbum()
        SKPhotoBrowserOptions.displayBackAndForwardButton = false
        SKPhotoBrowserOptions.displayAction = false
        let browser = SKPhotoBrowser(photos: self.imagesUrlSKPhotoAlbum)
        browser.initializePageIndex((selectedIndexPath as NSIndexPath).item)
        browser.delegate = self
        present(browser, animated: true, completion: {})

    }
    else if selectedIndexPath.section == 1{

        //downloadURLSelfies()
        print("11111111111111111111111111111")

        SKPhotoBrowserOptions.displayBackAndForwardButton = false
        SKPhotoBrowserOptions.displayAction = false
        let browser = SKPhotoBrowser(photos: self.imagesUrlSKSelfies)
        browser.initializePageIndex((selectedIndexPath as NSIndexPath).item)
        browser.delegate = self
        present(browser, animated: true, completion: {})

    }

please re-open if it'll occur latest version.


Docs: Locale working on Products.

What is the improvement or update you wish to see?
I would like to know how to handle locate for Products.
Is there any context that might help us understand?
The app gives an example of how to handle the locate with the i18n widget. So I could do it on Navbar, Hero, Marquee and all of them that don't work with the products.
The problem comes when I try to handle this on Products. I'm not able to apply different languages to names, description, etc...

Hey there! Thank you for your contribution. We have decided to take Next.js Commerce in a new direction and will be closing out current PRs and issues due to this change. Please see this PR for more details: https://github.com/vercel/commerce/pull/966


Update modules; use nnfv1alpha3

Signed-off-by: Blake Devcich<EMAIL_ADDRESS>

You need to vendor a new API version from nnf-sos. Let's use tools/crd-bumper/vendor-new-api.py for that job, then come back to release-all.sh in a separate step.

You need to vendor a new API version from nnf-sos. Let's use tools/crd-bumper/vendor-new-api.py for that job, then come back to release-all.sh in a separate step.

So, toss this PR.


Define each word in the custom forest.dic dictionary

Summary of changes
Changes introduced in this pull request:
Reference issue to close (if applicable)

Closes https://github.com/ChainSafe/forest/issues/1854
Other information and links

@tyshko5 Looks good. Could you update SUMMARY.md to include a link to the glossary?


randomly freezes webstorm when opening markdown files

I've never tried debugging a plugin - is there somewhere I should look for some debug output to make this ticket more useful?

+1

This consistently happens to me, even now - request to re-open

+1

+1

+1 This is a pain 😞

Going to have to +1 this too. Mac OS / Latest PHPStorm.

+1 on Mac OS and PyCharm

+1 on Mac OS and latest IntelliJ

+1 on Windows 7 and latest PHP Storm

+1 on macOS and RubyMine 2017.2.1. I'm since weeks afraid of md files... :-/

I find I can eliminate the problem by manually saving (CTRL+S) very frequently. By no means a solution but at least it averts the problem of PHP Storm hanging

+1 on Ubuntu 16.04 LTS PHPStorm 2017.2.1 (latest version for now). Also tested on 2017.2 - there is this issue as well.

Notice: This plugin is no more maintained and it has been removed from Jetbrains plugins repository. There is a Markdown plugin officially supported by Jetbrains.


No HLS under iOS or iPadOS

Hi,
I've done RTSPtoWeb with goland 1.16, on a raspberry under Pi Os Buster 32bits, uptodate. I've connected 2 cameras with rtsp, codec H.264, 2 weeks ago.
All is working on my laptop ( windows 10 ) and on my androïd phone ( multiview, each viewing mode : HLS, MSE, RTC )
But nothing at all on my iPad and on an iPhone ( iOs or iPadOS 14.4, with SAFARI ). For rtc and mse i think it's normal, ios doesn't support them,  but for hls there is normally a native support.
I've read there is security mechanism inside ios so I haven't tested further.
But sunday I've seen the new version with https support. So I've done some tests with it. But same problem : impossible to play HLS. The videoplayer stay unavailable. I've tried in http and in https
In the logs of RTSPtoWeb : i see the call of the m3u8 playlist file which is ok, but no call of the files.ts for a segment. So i think that iOS doen't make the call for any reason, but I have no debug tools on iPhone or iPad ( apparently an iMac is requiered ) to have more informations.
Has someone the same trouble ? Any idea how to solve that ?
Note : I've converted few minutes of my camera rtsp stream with vlc to hls : the m3u8 playlist is well display under SAFARI ( in a simple html page under apache ) when the m3u8 file and ts files are stored on my raspberry.

Hello.
Few weeks ago I've played with live555 tools. My camera which works with rtsptoweb works too with live555 and the second which doesn't work with rtsptoweb doesn't work too with live555. But for live555 I found a solution : I've increased a variable managing a buffer size for udp connection in the source code and recompiled.
=> is there such mechanism ( dealing with udp connexion ) in rtsptoweb ?


Bi-directional Visual to Text: an other paradigm to write code.

Problem 1
I can add the "camera2D" functionality in the character, for example, just by attaching a Node to the character.
I also can create a "playerMove" node, for example, and never again rewrite this code, nor locate in an external place how to do this.
However, the process of creating a node requires configuration files, external icons and this is done outside the Engine.
http://docs.godotengine.org/en/stable/tutorials/making_plugins.html
Problem 2
A "page of code" is like a book without sumary. You do not know what's inside without opening and searching. And even worse when the programmers no insert comments.
Problem 3
When I add the node "camera2D", for example, I do not have access to the contents of this node. It is a black box. The implementation is done in a traditional way, outside the Engine.

This is the current reality

This is other possibility

Once that the user can easily create and edit nodes the productivity increases about 10x. Because, using nodes in this way is like create behaviors in Stencyl. This only changes the name: node to behavior. Lastly, the index for navigation of example above, It's no different from how everything is done within Godot.
Visual programming is great for sort and organize.
And writing programming is great for copying, pasting and editing.
So we have the best of both worlds.
What ultimately matters is more organization, more productivity, more quality and more result. And how this all can or will be improved, I have presented something to consider.

Let's just think about "encapsulating the code in objects".
This is the current reality

This is the future

That's the best I can explain. Others advantages of this is only perceived in practice and in the long run.
This does not change the paradigm of the Engine. Quite the opposite. Makes it much more object-oriented.

@Gurigraphics Would you mind explaining the original problem (not just its solution and how it is better than everything devised before), since it otherwise falls under this point of the FAQ

Ok. @bojidar-bg
Problem 1
I can add the "camera2D" functionality in the character, for example, just by attaching a Node to the character.
I also can create a "playerMove" node, for example, and never again rewrite this code, nor locate in an external place how to do this.
However, the process of creating a node requires configuration files, external icons and this is done outside the Engine.
http://docs.godotengine.org/en/stable/tutorials/making_plugins.html
Problem 2
A "page of code" is like a book without sumary. You do not know what's inside without opening and searching. And even worse when the programmers no insert comments.
Problem 3
When I add the node "camera2D", for example, I do not have access to the contents of this node. It is a black box. The implementation is done in a traditional way, outside the Engine.

Once that the user can easily create and edit nodes the productivity increases about 10x. Because, using nodes in this way is like create behaviors in Stencyl. This only changes the name: node to behavior. Lastly, the index for navigation of example above, It's no different from how everything is done within Godot.
About classic object orientation, entity-component-system or modular programming paradigm, what ultimately matters is more organization, more productivity, more quality and more result. And how this all can or will be improved, I have presented something to consider.

I am sorry for being so harsh, but it is pretty apparent that you haven't really understood the systems used in Godot yet.
Godot uses several different languages: GDscript, scene files (which are a visual declarative language) and C++ are the most important ones. Writing modules in C++ is working IN the engine, it's not "outside the engine".
Yes, you do not immediately see the implementation of a node class, it's a basic principle of object orientation called encapsulation. Of course you don't know what's inside unless you open the files, but once you do you will appreciate it if the file is written in a language that is suited for writing such "black box" code (i.e. library code), because it has an extra summary (a.k.a. header file), because it has keywords that tell you which part of the code is interesting from the outside and which is meant as an implementation detail, because it can rename types to better reflect what is going on etc.. That's why Godot uses C++ for backend code rather than GDscript, a language that is optimized for high-level game code.
Also the paradigm that you are proposing has severe issues that would need to be resolved first.
What's the scope of variables inside one of these code blocks? Can I have one block that declares variables and another one that uses them? If so what happens when two blocks declare variables of the same name?If not then what's the difference between these code blocks and methods?
Either way I am getting the impression that you are suggesting to move away from object orientation because you didn't really understand it.

Writing modules in C++ is working IN the engine, it's not "outside the engine".

I wrote "outside the Engine" because outside the Editor what we have is a Framework which "does not encapsulate" code.

Also the paradigm that you are proposing has severe issues that would need to be resolved first.
What's the scope of variables inside one of these code blocks? Can I have one block that declares variables and another one that uses them? If so what happens when two blocks declare variables of the same name?If not then what's the difference between these code blocks and methods?

I'm not proposing to reinvent the wheel. The different blocks types can be sorted by shape, color, icons. That's what does Scratch, Stencyl, Google Blockly, etc.

Either way I am getting the impression that you are suggesting to move away from object orientation because you didn't really understand it.

And I'm sure you guys do not understand. The Scratch blocks logic is based on Smalltalk. So I'm really moving away from Object Orientation to Purely Object Orientation.
Anyway, I just shared it because I thought it was a good idea. If this does not follow the Engine Philosophy, then I can create an external code editor as only I have an interest in it. Sorry to bother.

I don't mean to discourage you from creating such a tool, I just want you to be aware of what Godot currently does have. The engine has already grown too fast in the past which led to a rising number of bugs, and with version 3.0 coming it will already add C# and visual scripting, so before we think about adding something new we should first see how these additions affect the community and the engine.

Certainly this idea is not urgent. I only prefer the visual system of Blocks than Blueprints like Unreal. Because it's not just beginners they prefer to use. Blocks inside blocks it really is faster and more organized. Godot chose the other way. But, as long as there is someone who has interest in develop this, there is no problem at all.

@Gurigraphics Note that you can already kind-of fake such a system by not using scripts directly, but attaching them to Node-type nodes in a hierarchy.
I would like to say a few things about the idea and some comments above (and hope I'm not too harsh):

The idea doesn't follow OOP principles IMO, though it is still cool as an idea. Something similar might be implemented in OOP by just.. I guess, splitting the code between multiple classes and having some container-like class that calls them at appropriate times, similar to what I said above. I once did something similar to this here.

Thinking about it, are you sure it isn't aspect-oriented programming?

If by "Purely Object Orientation" you mean having primitive values be objects as well, GDScript already mostly treats them as such (but there are no methods defined on int/float classes yet).
Modular code is still battled by many people and many languages, and it is something everyone wants. E.g. here is the wikipedia page for it.
"The different blocks types can be sorted by shape, color, icons. That's what does Scratch, Stencyl, Google Blockly, etc." -- We are not planning to turn GDScript into a visual scripting language, just like python 4.0 is unlikely to be done via an official drag and drop editor.
You can already define new types of blocks for VisualScript, and just connect them in .vs files. (not completely sure how, but it must be possible, since that was part of the idea)
"..And I'm sure you guys do not understand." -- Nice try. Strange why Java/C# are still hailed as the most-OOP languages, and they don't really provide this feature.

Okay. Maybe this can be used to create a editor like sublime and only this.
About the discussion this may interest you:

"Smalltalk is an object-oriented, dynamically typed, reflective programming language.
In Smalltalk everything is an object: numbers, classes, methods, code blocks, etc. There are no primitive types, unlike other object-oriented languages; Strings, numbers, and characters are implemented as classes in Smalltalk, so this language is considered purely object-oriented. Technically, every element of Smalltalk is a first-order object".(Wikipedia)

Good job.

@Gurigraphics Funny, I read the same while composing my comment above. And I can't see how your proposal gets us closer to Smalltalk.

Not really following most of the debate going on here, but something stuck out to me with that second image.  In terms of IDE functions, it would be nice for the script editor to have things like a structure tree like you find in IntelliJ or being able to declare regions like in C# so you can hop to sections of the code faster.  However, since this is primarily scripting and not system architecture, typically if you script gets long enough to need such IDE features I'd recommend splitting it up instead.  However, I think adding that would probably alleviate most of OP's concerns

In the perfect environment, the programmer is the one that makes plugins, the designers just tweak them and is easy with basic gdscript, tool mode and plugins (all reusable stuff made with the engine).
Programmers can make visual script blocks with the game needs for designers to use without breaking anything too.

I don't see the problem in 1, look at different FSM implementations on the asset lib, all are easy to use, some almost pure node based.
For 2, tell your programmer to write a good code and document if needed (the design should specify most of the code flow anyway), visual scripting don't bring anything good to this problem (just can make it worse).
For problem 3, the inspector shows everything the engine can offer to the user, and if you need something extra, use export if possible or tell your programmer to modify the engine and expose something else, that is the way game programmers should work for the different designers on the team.

If this is to just present the code in the form of visual "solid" blocks, Visual Script already does that, maybe making it more flexible and allowing stacked blocks like Stencyl to look more legible (while avoiding stencyl paradigm issues), it may be just a matter of a new Control with the same functions as the GraphEdit and GraphNode but stacked in a compact way.

@nhydock Can be. I'll list only the characteristics that do not alter any paradigm of language.
1- This allows you to use "fake classes" in any language. Because it is the editor that mounts the code according to the order of nodes.
2- This replaces the system of folder and "independent files" by system of nodes and "related files".
3- This replaces the creation of snippets by creating nodes.
4- This adds the possibility to reorder snippets of code visually.
5- This replace the function of hiding snippets of own code that are in all big ones editors by indexes navigation.
6- This enable indexes navigation that is usually only available in debugging.
This provide another code writing experience. The theory does not is the that help to understand the pragmatic advantages of this. The other possibilities what did I mention, I will not trying more to explain.  Because this arise naturally when the person begins to use this and think outside the box. And also there is no problem who has no interest in this.

This proposal sounds like a super verbose version of scratch :/


Unable to connect

Hello,
I use ros dashing. and my Lidar has the firmware 2.0 and a static ip.
I have installed the driver using apt.
I have configured the yaml file correctly :
ouster_driver:
  ros__parameters:
    lidar_ip: <IP_ADDRESS>
    computer_ip: <IP_ADDRESS>
    lidar_mode: "512x10"
    imu_port: 7503
    lidar_port: 7502
    sensor_frame: laser_sensor_frame
    laser_frame: laser_data_frame
    imu_frame: imu_data_frame

But when I try to run the launch file I get this error :
[INFO] [launch]: All log files can be found below /home/student/.ros/log/2021-01-06-15-50-00-467613-HPZ1-17665
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [ouster_driver-1]: process started with pid [17675]
[ouster_driver-1] [INFO] [ouster_driver]: Configuring Ouster driver node.
[ouster_driver-1] [INFO] [ouster_driver]: Connecting to sensor at <IP_ADDRESS>.
[ouster_driver-1] [INFO] [ouster_driver]: Broadcasting data from sensor to <IP_ADDRESS>.
[ouster_driver-1] [ERROR] []: Caught exception in callback for transition 10
[ERROR] [launch_ros.actions.lifecycle_node]: Failed to make transition 'TRANSITION_CONFIGURE' for LifecycleNode '/ouster_driver'
[ouster_driver-1] [ERROR] []: Original error: vector::_M_range_check: __n (which is 0) >= this->size() (which is 0)
[ouster_driver-1] [WARN] []: Error occurred while doing error handling.
[ouster_driver-1] [ERROR] [ouster_driver]: Handing error in Ouster driver node.

Any idea what could be the problem ? It works perfectly with ROS1.
Thanks !

Hi,
If you look at this ticket https://github.com/ros-drivers/ros2_ouster_drivers/issues/42 and this comment https://github.com/ros-drivers/ros2_ouster_drivers/issues/63#issuecomment-742027046 you can see that we do not yet support v2 firmware. I'm open to pull requests to enable it but I have not gotten the cycles to do this yet after the holidays. I hope to have time to sit down and do this in the next 2 weeks but I'm also waiting for some resolution on topics discussed with Ouster in this thread https://github.com/ouster-lidar/ouster_example/issues/164

Hi,
If you look at this ticket https://github.com/ros-drivers/ros2_ouster_drivers/issues/42 and this comment https://github.com/ros-drivers/ros2_ouster_drivers/issues/63#issuecomment-742027046 you can see that we do not yet support v2 firmware. I'm open to pull requests to enable it but I have not gotten the cycles to do this yet after the holidays. I hope to have time to sit down and do this in the next 2 weeks but I'm also waiting for some resolution on topics discussed with Ouster in this thread https://github.com/ouster-lidar/ouster_example/issues/164

Hey thanks for your answer.
I am willing to spend some time and make PRs for firmware 2.0 compatibility.
I have an OS-1 128 beams, and I see that the issue on ouster repo is about support of 128 beams sensors. Does it change anything for me ?
I will take the time to go through the code soon.

Hey thanks for your answer.
I am willing to spend some time and make PRs for firmware 2.0 compatibility.
I have an OS-1 128 beams, and I see that the issue on ouster repo is about support of 128 beams sensors. Does it change anything for me ?
I will take the time to go through the code soon.

Nope, in fact you require v2.0 to even use a 128 beam, so its totally on topic

Nope, in fact you require v2.0 to even use a 128 beam, so its totally on topic

I'm starting to work on it. But I noticed that the dashing version is not up to date and my only interest is for dashing at the moment. What do you advise me to do ?
Why does the dashing version doesn't have the same functionalities ? Is it because something is missing in Dashing ?  Thanks.

I'm starting to work on it. But I noticed that the dashing version is not up to date and my only interest is for dashing at the moment. What do you advise me to do ?
Why does the dashing version doesn't have the same functionalities ? Is it because something is missing in Dashing ?  Thanks.

Because we cannot backport ABI/API breaking changes to already released distributions. If you want all the newest features, you have to use the newer LTS distributions. We can certainly work on getting dashing working on V2 though.

Because we cannot backport ABI/API breaking changes to already released distributions. If you want all the newest features, you have to use the newer LTS distributions. We can certainly work on getting dashing working on V2 though.

Hey @SteveMacenski, I created the PR https://github.com/ros-drivers/ros2_ouster_drivers/pull/67.
It's not functionnal yet because i'm stuck with the processors but I'm sure most of the job is done. Could you give me a hand in this ?
Thanks !

Hey @SteveMacenski, I created the PR https://github.com/ros-drivers/ros2_ouster_drivers/pull/67.
It's not functionnal yet because i'm stuck with the processors but I'm sure most of the job is done. Could you give me a hand in this ?
Thanks !

@SteveMacenski No answer, so I guess it's not worth spending more time on this ?

@SteveMacenski No answer, so I guess it's not worth spending more time on this ?

It's a very large PR that I haven't had time to review yet. There's enough changes it would take me a couple of hours to really dissect it all (to find some subtle issue why its connecting but not streaming) - typically we like smaller PRs and there's some changes in structs that I didn't expect to be made that I have to track down as well.

It's a very large PR that I haven't had time to review yet. There's enough changes it would take me a couple of hours to really dissect it all (to find some subtle issue why its connecting but not streaming) - typically we like smaller PRs and there's some changes in structs that I didn't expect to be made that I have to track down as well.

Thanks for your answer. Is it worth it for me to spend more time on it ?

Thanks for your answer. Is it worth it for me to spend more time on it ?

I'd continue to try to get it to work since that's something you need, but I wouldn't do anything just for the sake of the PR until I have a chance to look over it.

I'd continue to try to get it to work since that's something you need, but I wouldn't do anything just for the sake of the PR until I have a chance to look over it.

We will survive using the ROS1 bridge. Tag me once you had a look and I'll continue with pleasure.

We will survive using the ROS1 bridge. Tag me once you had a look and I'll continue with pleasure.

@MaxandreOgeret I took a look - I would recommend sanity checking that lidar / IMU packet size being set correctly. If that isn't right, it would result in the behavior you've described where there's no data coming out because the packets are messed up.
Can you tell me where you tracked the data down to? Where was it that things stopped working?

@MaxandreOgeret I took a look - I would recommend sanity checking that lidar / IMU packet size being set correctly. If that isn't right, it would result in the behavior you've described where there's no data coming out because the packets are messed up.
Can you tell me where you tracked the data down to? Where was it that things stopped working?

Has this fix been shipped for the foxy-devel branch? Experiencing identical problems with an OS0-128

Yeah I think you're right, do you recall any of the code being particular to ros2, I assume this means the rolling distro, wrt to foxy?


How do different components communicate with a shared model?

In Redux, I can I have two completely separate components that can set the same state through a shared dispatcher.  For example, I can connect them at different depths in totally separate nested components and then dispatch on the same action.  How would I do this with the combinators without passing a common model through each component all the way from the root app?
Also, I can have actions get access to the state, which is useful when one action depends on the state set by a separate component.  If I have a header set the date (with an initial value in the store) and then a nested subcomponent of the main content call FETCH_DATA that depends on this date, I can access the store and dispatch a get request with the date param.  How would I do this with the combinators?
I hope these examples/questions make sense.  I just woke up thinking about them.

Hi @fingermark and thanks for the questions!
First of all, React combinators don't editorialize the way you manage your state - they are just a (boilerplate free) way to "combine" your reactive state with React component. That's why I can't give you complete answers or the "ultimate truth", instead I can give you some hints. But remember that the actual implementation is up to you, depending on your requirements.

In Redux, I can I have two completely separate components that can set the same state through a shared dispatcher.

Redux does the connecting by using React's contextTypes field. So if you want, you could create your own "connect" function that does the same things. Redux sources (https://github.com/rackt/react-redux/tree/master/src/components) are easy to read so the task is not hard.
However, I personally don't like the context types because with them, you easily lose track of your state when your application grows. That's why I prefer passing the model and it's props/setters/"dispatchers" via function args. But technically there is no restrictions if you want to "connect" to your reactive model.

Also, I can have actions get access to the state, which is useful when one action depends on the state set by a separate component. If I have a header set the date (with an initial value in the store) and then a nested subcomponent of the main content call FETCH_DATA that depends on this date, I can access the store and dispatch a get request with the date param. How would I do this with the combinators?

Imho this is the coolest part when using combinators (or reactive programming at all): you can build your model's dependencies into your model instead of into your UI. In your example, is it necessary for your fetching sub-component to know the selected date?
Because you're familiar with Redux, here is a simple (pseudo) model for date selection and data fetching:
const Model = (initialDate) => {
  const bus = new Bacon.Bus()
  // dispatch function for state changing
  const dispatch = (action) => bus.push(action)

  const isSelectDateAction = a => a.type === "SELECT_DATE"
  const isFetchAction = a => a.type === "FETCH_DATA"

  // model "reactive props" (= state)
  const selectedDate =
    bus.filter(isSelectDateAction).map(".date").toProperty(initialDate)
  const items =
    selectedDate.sampledBy(bus.filter(isFetchAction))
      .flatMapLatest(selectedDate => fetchItems(selectedDate))
      .toProperty([])   // initial items

  return {dispatch, selectedDate, items}
}

// usage like in Redux

const App = ({dispatch, selectedDate, items}) =>
  <Combinator>

      <DatePicker selected={selectedDate} onChange={date => dispatch({type: "SELECT_DATE", date})} />

You have selected {selectedDate.map(".format")}

        {items.map(items => items.map(it =>
{it.text}
))}

      <button onClick={() => dispatch({type: "FETCH_DATA"})}>Fetch!</button>

  </Combinator>

const model = Model(moment().minus(5, "days"))
render(<App {...model}/>, document.getElementById("app"))

In my example I've put the dispatching to the root component but it makes no difference whether the dispatch is called from nested component or from root component

I'm not sure if I understood your questions correctly so if my answers missed the point somehow, please ask again. I'd gladly explain more about the topic. :-)

Hi @fingermark,
You could try to use context feature to achieve your goal.
function App({myModel}, {getStore}) {
  function click() {
    getStore().dispatch({type: 'YOUR_ACTION_TYPE'});
  }
  return

}

App.contextTypes = {
  getStore: React.PropTypes.func
}


Add stats page

Fixes #355 .
Changes proposed in this PR:

Adds a new stats page available at /stats

This PR is in some way related to the market-stats PR #4 since the requests are directed to the API endpoints provided by market-stats

Let's revisit after the v4 split as we ant to sprinkle various statistics throughout the whole interface, not just footer


Warning

which means the message?:
Warning: unknown new rules activated (versionbit 1)

Should be fixed by #1765


[NS] modernize postal builds

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Gregory Eric Sanderson seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@mlarose ready for another round of review


fix: add support for XDG_SESSION_TYPE as tty

Hello, this is a small fix that allowed this plugin to work in my environment.  Thank you for the plugin!

If you don't start X with a display manager like gdm, and just use
startx or similar, it seems your XDG_SESSION_TYPE will be 'tty', which
causes an error.  This adds a case to handle tty.

Thank you for the PR!
But I think it's better to just write it like this:
- if display_server == 'x11' then
+ if display_server == 'x11' or display_server == 'tty' then
  cmd_check = 'xclip -selection clipboard -o -t TARGETS'
  cmd_paste = 'xclip -selection clipboard -t image/png -o > \'%s\''
elseif display_server == 'wayland' then
  cmd_check = 'wl-paste --list-types'
  cmd_paste = 'wl-paste --no-newline --type image/png > \'%s\''
- elseif display_server == 'tty' then
-   cmd_check = 'xclip -selection clipboard -o -t TARGETS'
-   cmd_paste = 'xclip -selection clipboard -t image/png -o > \'%s\''
end

@m-fonseca Can you test my change?

Works as I'd expect.

merged


Payment method is temporary unavailable.

Hi,
I've setup manual installation on this script on my local (using MAMP), but after I open up index.php on my browser, then click on 'Pay with Crypto' button, I get this below message
"This payment method is temporarily unavailable. Please try again in a minute."
any help would be appreciated?

you can check currencies.php and you're script , if response not had ['address'] , it can't be running, please follow this . added currencies.php (after Line 24 )
$data['address'] = 'xxxxx'
$data['explorer_xxxx'] = 'xxxxx'

reflush web page ,done!


Resolving/fullfilling a promise does not execute then block

Lets assume we have a URLSessionClient implementation to fetch data from url and returns the promise back to the caller , in my case lets call it MainController
class URLSessionClient {
func requestWithURL(url: String) -> Promise<NSData>{
    return NSURLSession.GET(url)
}

}
class MainController: UIViewController {
var urlSessionClient : URLSessionClient!

convenience init() {
    self.init(urlSessionClient: nil)
}

init(urlSessionClient: URLSessionClient?) {
    self.urlSessionClient = urlSessionClient
    super.init(nibName: "MainController", bundle: nil)
}

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
}

override func viewDidLoad() {
    super.viewDidLoad()

    let url = "http://jsonplaceholder.typicode.com/users"
    let requestPromise = self.urlSessionClient.requestWithURL(url)
    requestPromise.then { data -> Void in
		print(“Promise resolved successfully”)
            self.title = "my title"

        }
        .error{ error in
		print(“Promise failed with reason \ (error)”)

    }
}

}
In a ideal unit test environment , i would like to test this behaviour i.e what happens when promise is resolved successfully and what happens when it fails.
Lets consider a success scenario and set up the tests to verify the behaviour with the help of stubbing URLSessionClient to return a fake promise in tests(Please note i do not want to make network request in tests).
class ViewControllerSpec: QuickSpec {
override func spec() {

    var viewController : MainController!
    let mock = MockURLSessionClient()

    var promise : Promise<NSData>!
    beforeEach {

        viewController = MainController(urlSessionClient: mock)

        promise = Promise { fulfill, reject in
            fulfill(NSData())
        }

        stub(mock) { stub in
            when(stub.requestWithURL("http://jsonplaceholder.typicode.com/users")).thenReturn(promise)
        }

        XCTAssertNotNil(viewController.view)

    }

    context("When the view loads intially") {

        it("it should make the service call to get the users") {
            let mock = MockURLSessionClient()
            verify(mock).requestWithURL("http://jsonplaceholder.typicode.com/users")
        }

        it("Make the tests green") {
            expect(viewController.title).to(equal("my title"))
        }
    }

}

}
XCTAssertNotNil(viewController.view) will ensure MainController view did load is called and with the help of stub
let requestPromise = self.urlSessionClient.requestWithURL(url) will return the fake promise which is fulfilled with NSData().
Questions:
Although the promise is fulfilled then block is never executed in MainController. Why?

The then should definitely fulfill.
We have dozens of tests that prove that this works. Can you provide a test case so I can investigate?

@mxcl Here you go https://github.com/repl-ullas-ml/TestingQuick.git

When I run the project the then is called and the background turns yellow.

@mxcl Yes. Exactly my point. Promise resolves when you run. Problem i am facing is in regard to unit testing. Consider running cmd+U test fails

Promises are always asynchronous, you need to use XCTestExpectations or zalgo, see the FAQ.

@mxcl The fact i had to file an issue is because i could not get answers in FAQ and docs. Could you please give some code snippet or if could fix the tests directly in my repo would be super helpful.
Appreciate your help

I cannot, I know nothing about Quick I suggest you google for “asynchronous testing with Quick”.
When done you can contribute back to this project and improve the FAQ.

Google suggests something like:
expect(promise.value).toEventually(equal(something))

Closing due to no response.

@mxcl What i would actually implement is a way to defer the promise resolution and resolve it at a later point of time in tests. I strongly feel the solution lies somewhere in the way i am defining a promise and resolving it!
Perhaps i strongly feel pending promise is way to go
        let (promise, fulfill, _) = Promise<NSData>.pendingPromise()
        stub(mock) { stub in
            when(stub.requestWithURL("http://jsonplaceholder.typicode.com/users")).thenReturn(promise)
        }
        UIApplication.sharedApplication().keyWindow!.rootViewController = viewController
        XCTAssertNotNil(viewController.view)

In simple terms i am creating a promise and giving it back to the controller by stubbing.You can ensure the controller receives the pending promise which is yet to be resolved.
And after view is loaded i resolve the pending promise by fulfill(result). Now then block execution needs to trigger in controller isn't it?

I'm sorry I don’t understand your questions. Perhaps you can try to explain them more concisely with more example code?

URLSessionClient returns promise with data from service to Controller, and if the promise is resolved then print(“Promise resolved successfully”) will execute.
But in tests you wouldn't want to hit an actual service. Hence you mock on dummy URLSessionClient and stub to return an promise with some test NSData.
So i return an promise which is yet to be resolved through the stubbing(If you enable breakpoint in the controller, promise you stub and return from the tests should be same as the promise that is received by the controller) and i force the viewDidLoad by calling XCTAssertNotNil(viewController.view)
At this point controller has a reference to the unresolved promise waiting for some one to fulfil. Now in tests when you need to verify behaviour of the success scenario you can fulfil the pending promise by calling fulfil(someNSData).
Now you have actually resolved an pending promise and then block should be executed , and after which when you verify the title of the view should be "My Title"
@mxcl Can't think of an better articulation than this. If you need reference to updated code please use https://github.com/repl-ullas-ml/TestingQuick.git


#imzML MALDI dataset

cI have the following two questions that I would like to ask you.

Regarding the imzML format data downloaded from public datasets, can I use your method?
Can I process the .d file output from the MALDI-TOF instrument according to the "example for QTOF" method?
I look forward to your comments.

This method currently only supports Thermo .raw and Agilent .d files. And some data process it does is designed for DESI or nano-DESI experiments, where you acquire imaging data line by line. For example, for imzML data or MALDI data, you may not need pixel alignment. But some Python codes here may still be helpful. In case you don't know, there's a Python parser for imzML format: https://github.com/alexandrovteam/pyimzML And a Bruker data API: https://github.com/BlaisProteomics/multiplierz


Cannot read property 'updateHash' of undefined

Bug report

What is the current behavior?
Cannot read property 'updateHash' of undefined with experiments.lazyCompilation=true
If the current behavior is a bug, please provide the steps to reproduce.

What is the expected behavior?
experiments.lazyCompilation work well

Other relevant information:
webpack version:  5.26.3
Node.js version: 14.15.0
Operating System: window
Additional tools:

Looks like a bug. Could you provide further information?

@zhangchao828 Never ignore If the current behavior is a bug, please provide the steps to reproduce., otherwise issue will be closed

@zhangchao828 Never ignore If the current behavior is a bug, please provide the steps to reproduce., otherwise issue will be closed

I'll give you an example later

https://github.com/zhangchao828/webpack-demo
@sokra @alexander-akait

clone the repository
install dependencies
yarn start
click link in the browser
then you'll see the error: Cannot read property 'updateHash' of undefined

@zhangchao828 Thanks

Fixed in 5.27.2, please update


pid directory mode needs be writable

Employer EnableIT
If file resource is defined globally, its fails to start the elasticsearch process. so getting the mode set in first place is a right way to do it.
File { owner => root, group => root, mode => '0444' }

Thanks for the contribution! This looks like a great change, once you sign the CLA this should be good to go.

I have signed the CLA

Thanks for getting the CLA taken care of, @ashish1099. Can you merge in the latest changes in master into your PR? It's been a couple of months so there are several testing changes (and there are conflicts in config.pp)

@tylerjl I have fixed it.
It was quite a fun, since I got messed up my local branch.

Thanks for solving that mess @ashish1099 😄
It looks like the failures in Travis CI are legitimate. If you look at one of the failed tests you'll see that the puppet runs that test for idempotency are failing (that is, the second time puppet runs it still makes changes to the system so something either isn't being set right the first time or something on the system is changing the permissions after running puppet). I'm not entirely what this may be (since it happens on both SysV and systemd-based systems), so you may have to work with it to find what exactly is going on.

Hi there,
Firstly, thank you for taking the time to contribute, and apologies for the radio silence from Elastic on this PR.
I'm going to be working on this module over the next few weeks, with an ultimate aim of updating the module to support the elasticsearch 7.x and simplifying the module to make it easier to use.
I'll be reviewing all the open issues and PRs over the next few days, and will merge or provide feedback where appropriate.
So please hang in there whilst we give this module some TLC.
Thanks again.

Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually?


OpenVPN cosmetic cleanup

http://imgur.com/N1mGH3Q
Text should be less verbose with a more verbose tooltip? Or perhaps some more padding between the checkbox and the text.

Perhaps like on the IDS page with the little awesome orange ? icon

I've restructured the page completely to make the process-flow easier to understand and less prone to errors. While at it I've also added the help widgets like we use in our new UI.
commit https://github.com/opnsense/core/commit/b5fc573016bc8a817bd3de8e7dc233472cd22378 contains the last bits and pieces.
Do you have time to test?

I finally got around to upgrading to opnsense-devel, change looks good!
Should I create a 2nd issue to also have the text displayed in a tooltip on hover? (this would mostly be for desktop/laptop users, it will prevent the interface from shifting but is obviously useless on touch devices)

Looks like setting the title attribute on the link is sufficient!
http://i.imgur.com/kRyAZpT.png

Thanks, I'm going to close this issue then.
Copying the same help content into the title attribute is not something we do want to implement, because some of the help messages contain more (html) info and that would break the look and feel across the whole system. Removing the hover messages was done on purpose.
Sorry about that.


$Shape doesn't work

type A = {a: string};

function test(fn: $Shape<A> => void): void { fn({}); }

function fn(a: A): void { a.a.slice(2) }

test(fn)   // no error 0_o

Try it

type A = {a: string};

function test(a: $Shape<A>) {
  a.a.repeat(2); // no error
}

Is it the expected behavior?

@jacekkolasa I'm afraid your workaround stopped working in version 0.106.0. It is still working with 0.105.2:
https://flow.org/try/#0C4TwDgpgBAglC8UDeBDAXFAzsATgSwDsBzAXwG4AoUSKAZTBwhQBNaALFGxJCqKAOkEASdpwgAeGAD4ANBRIUAZgFcCAY2B4A9gSjAI2ABTo6DJqw6QAlMl5QU-B40gpghgExWyUAPQ+oAMIoBARawFBqKAA2UVAABg5OEC7AcVAARhCRypjQDFqQOKDxzkypUHiYUAC2lZiERBW6qswQioQQzFAA2gCMALr88kA

It's also not working at all when using strict objects, which we are almost exclusively doing...

A lot of valuable discussion is going on in https://github.com/facebook/flow/issues/7566, and I think this solution is what will work in most cases: https://github.com/facebook/flow/issues/7566#issuecomment-526324094
Here is another example of $Rest<T, {} working as expected, even with strict objects:
https://flow.org/try/#0C4TwDgpgBAChBOBnA9gOygXigbwD4CgooBDAcwgC4pUBXAWwCMEAaQ64uyqRYeAS1SlWuAL758oSLGLxgfYgBsAPABUAfJigASAEoQeq5jhFr8AYzQ8oYGXMVwkaKjFvzlDlKg1ZsJclQAWACYoMXwbWTcPNAA6VA4IGPgISGJgAAoggEooAHpcqGAACz5EKAt4ZLNgBRBC8AgAWgR4ZCRxCLsFaNQYgDNkZDyCnj4FBWpkYBIzM31EPgYFCCMmM2IaRGgeqFKoCAAPYmqgA
There is even a good explanation in the docs:
https://flow.org/en/docs/types/utilities/#toc-rest

For example, $Rest<{|n: number|}, {}> will result in {|n?: number|} because an in-exact empty object may have an n property

At least this is what we are going with at the moment.

There's also a weird error when treating $Rest<T, {}> like $Shape: https://flow.org/try/#0PTAEAEDMBsHsHcBQiAuBPADgU1ABQIYBOKAlvtADwAqAfKALygAkASlgM4rUA0oA3gF8aiUKFSYcAZVgBbLFQkN+AH1D4AXKE6ESAOwDmoZQOQBjWLs6gsAD3ymUm6XIXYlfNZoDkX0CcTmliigGESk5JoExGSUzvISdIweGqA+fmYWVliEhLCEkWExFHGuWInWdg5AA
... because string [1] is incompatible with undefined [1] ...

just looks plain wrong, as [1] is talking about the same property, yet one of them is string, the other is undefined

@loyd you would hope $Shape is the same as making all the properties optional, but it isn't unfortunately.
const b: $ReadOnly<{age?: number}> = { name: 'foo' }
const a: $ReadOnly<$Shape<{age: number}>> = { name: 'foo' } // Cannot assign object literal to `a` because property `age` is missing in object literal

So what's the actual purpose of shape?  Who knows...

@loyd you would hope $Shape is the same as making all the properties optional, but it isn't unfortunately.
const b: $ReadOnly<{age?: number}> = { name: 'foo' }
const a: $ReadOnly<$Shape<{age: number}>> = { name: 'foo' } // Cannot assign object literal to `a` because property `age` is missing in object literal

So what's the actual purpose of shape?  Who knows...

So we've created $MaybeKeys<T> = $Rest<T, {}>. What is $Shape<T> actually supposed to do?

Use $Partial instead https://flow.org/en/docs/types/utilities/#toc-partial

This utility converts all of an object or interface’s named fields to be optional, while maintaining all the object’s other properties (e.g. exactness)


No commits since 2020-06-13. Is peer2school retired? If so, FOS alternatives?

Is holtwick/peer2school retired/dead?
I see no commits since 2020-06-13 here, no any newer activity at any of the forks at  https://techgaun.github.io/active-forks/index.html#holtwick/peer2school
At https://brie.fi/ng one author said: "During the Corona pandemic I tried to create a peer-to-peer solution for home schooling called peer.school. Although the project has been retired for various reasons..." Can project status and maybe some of the reasons it was retired be added to the readme? I did a quick search at the 2 twitter feeds saw no mention of "peer" nor "school". For those already using peer2school are there any serious known-issues, or would it be considered "stable" or at least RC/beta quality? It seems most of the current 22 issues are feature-requests.
Since it is peer-to-peer, should be possible to use in-house servers if the https://peer.school/ site goes away, right?
If it is dead, any similar FOS alternatives. (Or others interested in re-viving this project?)
It would be good to have peer-to-peer teaching software, as  I expect non-peer2peer video-conf sites like zoom to have issues due to high load with all the virtual teaching expected in Fall 2020. Not to mention schools with low bandwidth internet.

For future reference, below are steps I used to setup local server that seems to work same as https://peer.school/ site.
The steps shown are on a 10.14 macos laptop (with homebrew), but should be similar for linux. Any device with a web-browser on same network, in this case 192.168.0.x, can reach the website at http://<IP_ADDRESS>:64263 in this example.
$    date
Fri Jul 24 14:17:26 EDT 2020
$    brew install node git
$    node --version
v6.16.0
$    npm install -g serve. ### or leave out the -g to do local not global install
$    git clone https://github.com/holtwick/peer2school.git
Cloning into 'peer2school'...
### ...
$    cd  peer2school
$.   npm install
$    npm ci
$    npm build run
$    cd dist; ln -s . dist ; ls -l  ; cd ..  # symlink hack to fix /dist/css not found
total 40
drwxr-xr-x  4 emerg  wheel   128 Jul 24 14:42 css
lrwxr-xr-x  1 emerg  wheel     1 Jul 24 15:21 dist -> .   # hacky symlink
$ serve  -s dist
   ┌───────────────────────────────────────────────────┐
   │                                                   │
   │   Serving!                                        │
   │                                                   │
   │   - Local:            http://localhost:64263      │
   │   - On Your Network:  http://<IP_ADDRESS>:64263   │
   │                                                   │
   │   This port was picked because 5000 is in use.    │
   │                                                   │
   │   Copied local address to clipboard!              │
   │                                                   │
   └───────────────────────────────────────────────────┘


RE-231 Update rpc_release and SHA's for r14.3.0

Issue: RE-231

recheck_cit_trusty_deploy_swift - failed kibana tests, this is a flaky test so doing a recheck
minorupgrade/leapfrogupgrade tests failed due to lack of artifacts - only once the artifact/deploy tests pass can we build them: FAILED! => {"changed": false, "command": "/usr/bin/lxc-create --name LXC_NAME --quiet --template download --bdev dir -- --dist ubuntu --release xenial --arch amd64 --force-cache --server rpc-repo.rackspace.com --variant default-r14.3.0 --no-validate --keyserver hkp://p80.pool.sks-keyservers.net:80", "err": "", "failed": true, "msg": "Failed executing lxc-create.", "rc": 1}

recheck_cit_trusty_deploy_swift - failed allocating pubcloud node

recheck_cit_trusty_leapfrogupgrade_swift

Artifacts and deploy jobs passed. The others will repeat fail until we build artifacts, so I'll kick off the job to do it now.

Artifact build for r14.3.0 started: https://rpc.jenkins.cit.rackspace.net/view/Artifacts/job/RPC-Artifact-Build_newton-periodic/44/

Artifact build complete.
recheck_cit_trusty_leapfrogupgrade_swift
recheck_cit_trusty_minorupgrade_swift
recheck_cit_xenial_minorupgrade_swift


(#152) Rego policy engine

Adds an additional policy engine for using rego, and tests.
Supports filtering on agents, classes, facts, and if the provisioning mode is enabled
Support tracing on policy decisions, and a separate configuration entry to enable this on demand.  Defaults to false, enables on either a specific key or the debug log level being enabled.

Demo, obviously.  Starting to think a common authorizer interface might be worth the effort.

looks pretty good, more or less what I too had in mind.  Didnt you want a thing that takes a json input or something?

@ripienaar that was before I actually tried doing it and I got a bunch of json encoding errors.

@ripienaar possibly next I should look into the loader interface and see if rego can use that instead of the mis-mash of custom logic and feeding in modules on the fly.

@ripienaar figured out how to use the in memory store, not sure really which should be 'input' vs 'data'.  Or if it would matter at this point.

Also added some dynamic tracing, makes it a bit easier to debug what you're doing.

@ripienaar would need to make a seperation in choria about "trusted facts" like puppet does.. since we don't accept facts from the caller, other than to query values.. ehh?

@ripienaar would need to make a seperation in choria about "trusted facts" like puppet does.. since we don't accept facts from the caller, other than to query values.. ehh?

one day :) for now I just dont want someone who corrupts the facts on the machine to end up passing on some fact check when there are no facts suddenly

@ripienaar definitely will add some protection around fact loading (I kinda hate how we're just decoding the raw json message right now, this should already be populated before we even get to this point), but I'll default to an empty set, which will make any fact tests fail.

Yeah right now I have nowhere that I cache the decoded facts, kind of lazy mode so i dont have to deal with invalidation and stuff - reading is quick enough - so I am kind of just punting and spending time on more important thigns heh

I am happy with this, dont feel we need to fret too much about testing around provisioning mode - since its known to work and tested elsewhere - so if you want to test it as I suggested that's fine else remove that commented out block of test code.

yay 🕺 thanks a lot @vjanelle


Sitemap for book served from subdir

I would like to create a sitemap for a book served from a subdirectory, e.g. http://mybook.com/subdir/.
My configuration looks like this:
"sitemap":  {
  "hostname": "http://mybook.com/subdir/"
 }

In the generated sitemap in all links subdir is ignored.

@mdotasia Does this do what you need?
https://www.npmjs.com/package/gitbook-plugin-sitemap-general


Support for required text fields is not a part of Office UI Fabric and should be removed

Currently the TextField directive supports defining required fields (https://github.com/ngOfficeUIFabric/ng-officeuifabric/blob/544333a6bc2b004330e26d11f1968bb3fde01d97/src/components/textfield/textBoxDirective.ts#L24). This is however a custom implementation that isn't a part of Office UI Fabric.
As there are many different ways in how required fields can be marked in applications and there is no specification of it in Office UI Fabric, current implementation should be removed from the directive to stay aligned with Office UI Fabric.

Agreed... for now let's have strict adherence to OOTB Office UI Fabric or if there's a common "required" visual indicator used in Office* (O365 / clients / etc), let's implement that.
@rolandoldengarm is this something you want to address being your component?

FWIW: looking at Fabric, the visual identification for required fields is implemented on Labels rather than on fields. See http://dev.office.com/fabric/components/label for an example of a Label for required field.

Yes, I will fix this. Please assign this issue to me.

Yes, I will fix this. Please assign this issue to me.

Addressed in pr #55


Support stamping on yq rule

Useful for things like producing a package.json file that has the version field set from git tags.

Reopening to track the similar thing for yq (though I don't intend to do that now - the rules_js release story doesn't need it)

This would be great to support tag stamping in rules_oci via yq.
The jq toolchain is not available on macOS with M1 or linux with arm64.

Hi guys,
Big thanks for this feature very vey useful!!
I've tried it and i have an issue that i replicate here with a red test when running
bazel test --config=release //lib/tests/yq/...
It's unfortunately not working when i stamp a value from stable-status.txt when I use the release config with bazel.
For info i am running on Bazel 5.4.0

Yup, I can repro that, looks like the yq expression
load_str(filename) | split("\n") | .[]
    | select(length!=0)
    | [capture("(?P<key>[^\s]+)\s+(?P<value>.*)")]

only returns the first entry, which is why our tests for this passed.

Working like a charm :) Thanks guys!


Cannot open certain DataFrame in Variable Explorer, but can open others

Issue Report Checklist

[X] Searched the issues page for similar reports
[X] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[X] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[ ] Could not reproduce inside jupyter qtconsole (if console-related)
[X] Tried basic troubleshooting (if a bug/error)

[X] Restarted Spyder
[X] Reset preferences with spyder --reset
[ ] Reinstalled the latest version of Anaconda
[X] Tried the other applicable steps from the Troubleshooting Guide

[X] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
I create a DataFrame with the following Python3 code:
from bs4 import BeautifulSoup
import pandas as pd
from requests import get

BASE = 'https://www.njsp.org/ucr/'
URL = 'https://www.njsp.org/ucr/current-crime-data1.shtml?agree=0'

response = get(URL)
soup = BeautifulSoup(response.text, 'html.parser')

ucr_files = pd.DataFrame(
  {
  'link' : BASE + str(soup.select('.table-striped a')),
  'desc' : soup.select('.table-striped a'),
  'update' : soup.select('td:nth-child(2)')
  }
)

But I cannot open ucr_files in Variable Explorer. When I double-click it, nothing happens. I can view ucr_files in the console:

I made a small DataFrame and I can open that in variable explorer.
test1 = pd.DataFrame({
        'a': [1, 2, 3],
        'b': [4, 5, 6],
        'c': ['x', 'y', 'z']
        })

Versions

Spyder version: 3.3.6
Python version: 3.7.3
Qt version: 5.9.7
PyQt version: 5.9.2
Operating System name/version: Ubuntu 18.04.3

Dependencies

IPython >=4.0     :  7.8.0 (OK)
cython >=0.21     :  0.29.13 (OK)
jedi >=0.9.0      :  0.15.1 (OK)
matplotlib >=2.0.0:  3.1.1 (OK)
nbconvert >=4.0   :  5.6.0 (OK)
numpy >=1.7       :  1.17.2 (OK)
pandas >=0.13.1   :  0.25.1 (OK)
psutil >=0.3      :  5.6.3 (OK)
pycodestyle >=2.3 :  2.5.0 (OK)
pyflakes >=0.6.0  :  2.1.1 (OK)
pygments >=2.0    :  2.4.2 (OK)
pylint >=0.25     :  2.3.1 (OK)
qtconsole >=4.2.0 :  4.5.5 (OK)
rope >=0.9.4      :  0.14.0 (OK)
sphinx >=0.6.6    :  2.2.0 (OK)
sympy >=0.7.3     :  1.4 (OK)

Also, if it helps, all of my packages, including Spyder and its dependencies, were installed from conda-forge.

I reproduced this in master. I do get a popup error:
Spyder was unable to retrieve the value of this variable from the console.

The error mesage was:
Could not pickle object as excessively deep recursion required.

The spelling mistake in "message" was there too.
@everetr I don't think we are going to fix this because your code is placing bs4.element.Tag objects into dataframe when I think you just want the string information.
BASE + str(soup.select('.table-striped a') This code is not going to work like you want it to. You are casting a list as a string which python probably shouldn't even let you do.
I am closing this issue, but I fixed your code for fun. Well it does what I think you wanted it to do.
from bs4 import BeautifulSoup
import pandas as pd
from requests import get

BASE = 'https://www.njsp.org/ucr/'
URL = 'https://www.njsp.org/ucr/current-crime-data1.shtml?agree=0'

response = get(URL)
soup = BeautifulSoup(response.text, 'html.parser')

ucr_files2 = pd.DataFrame(
  {
  'link' : [BASE + tag.attrs['href'] for tag in soup.select('.table-striped a')],
  'desc' : [tag.text for tag in soup.select('.table-striped a')],
  'updated' : [tag.text for tag in soup.select('td:nth-child(2)')]
  }
)

I appreciate the code fix.


Add Github CI for linting and tests

Both are currently failing – but at least now we'll know :)

Suggestion: disable camelcase warning on the entire src/db?


Highlight First Commit in List

@feeds You didn't merge the newest version of the master branch. I'll try to resolve the merge conflicts

I get your feedback, but I would not consider correcting all of this.
The current state is rather a proof of concept. It is untestable and a full refactoring + reflection about architecture is 100% required.
This pull request should find a desicion on wether we want to merge this at all - if not we should implement a completely new extensible version.

@HPI-SWA-Teaching/2017-student-team-01

@Baschdl you can also tell us what you think ;)

I think before discussing anything we should have a clear Definition of Done/Mergeable

@Baschdl Do you know the reason for the travis fail? To me this seems quite random. Is there an option to rerun it.

Added some tests #42

@Baschdl Tests are creating errors - I use a Generator from the Collections-Streams package, which is apperentl not in the tunk. Do we need to define this in our baseline?

@feeds Do the tests pass on your machine? Because they fail with Squeak-4.6, 5.0, 5.1 and trunk on travis

nope, but it would be great if you could try checking out the branch and running the tests in your image


Plans regarding jsonnet / ksonnet

What did you do?
wondering
What did you expect to see?
nothing
What did you see instead? Under which circumstances?
The team behind ksonnet is stepping back from the project. As a result, work on ksonnet will end and the GitHub repositories will be archived. You can read more about our decision here.
source
Question
Are there any plans yet how to go further with the jsonnet stuff?

The community (including us) is currently looking into a way forward.
We'll keep you we posted!
Don't worry too much about it.

@metalmatze Are there any updates at this moment?

A week ago a few people, the original authors and others that have heavily invested into jsonnet and ksonnet, have met to discuss the future plans of ksonnet.
Without any hesitation it was agreed to keep the best parts of ksonnet and move forward with them.
That includes ksonnet-lib, the autogenerated (from Kubernetes' OpenAPI spec) jsonnet library which we use in kube-prometheus and other projects.
Not only are the original authors of ksonnet going to help to get ksonnet into a bright future, but also a few others including people from Grafana and Red Hat. Whether the label/name of this project will continue to stay in its current form has yet to be decided, but there are enough parties involved and willing to make this work, that you don't have to worry :slightly_smiling_face:
We have no plans to move away from jsonnet and ksonnet with kube-prometheus and keep pushing forward!

Thanks, that's amazing news!


Refactor build stages and Makefile

Flatten vmconfig stages into linux.git and use
aarch64 over arm64 to allow use of uname -m to identify the target config files.
Change-type: minor

I self-certify!


TODO: generate table of content for markdown articals

Landed in https://github.com/vitejs/vite-plugin-react-pages/pull/96


FR: flag / report inappropriate comments in frontend

Flag / report inappropriate comments in frontend.

After x amount of flags remove comment. (like disqus)

Implemented in 0.1.1. Doesn't delete the comment, but instead provide you with a isFlagged variable.
You may want to simply exclude it (and all replies), or you might want to keep any replies, but have a '[comment flagged as inappropriate]' - which is the default. My reasoning behind this is the same reason we don't delete a comment - it should preserve any replies.
Have a look at the updated wiki - https://github.com/engram-design/Comments/wiki/Comment-ElementType or the updated template incorporating this - https://github.com/engram-design/Comments/blob/master/comments/templates/_forms/templates/comment.html#L76
Closing for now - let me know if you have any further suggestions.


Static values & interpolation

Thinking about The What, Why, and When of Single-Table Design with DynamoDB, by Alex DeBrie, this library could support single-table-design by using some sort of placeholders & fixed values when getting/setting items:
<!-- EXPERIMENTAL, DOES NOT EXIST -->
{
  pk: {
    type: String,
    value: 'user:${id}',
  },
  sk: {
    type: String,
    value: 'profile',
  },
  id: {
    type: String,
    required: true,
    default: () => ulid(),
  }
}

Initially this would be for strings, but would this be relevant for lists/maps? If so, would hierarchy come into it (e.g. ${../id})?

Added support with 4568fa17a7e31da82f67abaa717d4c0c5e5f260a, an example with 5550200e51c32655dc818b1ada292237509b4ca8 & tests with 73c06050b05ded288ca8c6c1c5fe8a23d07cdd3f 😅


fix(NODE-4074): ensure getTopology doens't throw

Description
What is changing?
See https://www.mongodb.com/community/forums/t/nodejs-driver-v4-4-1-doesnt-handle-errors-correctly/151675
Is there new documentation needed for these changes?
No
What is the motivation for this change?
Fixes https://www.mongodb.com/community/forums/t/nodejs-driver-v4-4-1-doesnt-handle-errors-correctly/151675

Double check the following

[x] Ran npm run check:lint script
[x] Self-review completed using the steps outlined here
[x] PR title follows the correct format: <type>(NODE-xxxx)<!>: <description>
[ ] Changes are covered by tests
[ ] New TODOs have a related JIRA ticket

Thanks for opening the PR. I've created a NODE ticket to track this: NODE-4074

@durran Thanks. I'm even not sure about this ones:
https://github.com/mongodb/node-mongodb-native/blob/966ddfafb4a3913a7ca78c8beed1981308e2a250/src/collection.ts#L762
https://github.com/mongodb/node-mongodb-native/blob/966ddfafb4a3913a7ca78c8beed1981308e2a250/src/collection.ts#L1411

@durran Anyone that could give a look at this?

Hey @robertsLando - thanks for this submission!  There are a couple of changes to start I'm going to make and push to your fork

I'm going to rebase with main (there is a merge conflict)
I'm going to fix a failing test and add more tests to cover this new scenario
I'm going to try and get rid of the type cast as Topology in execute operation


memory get increased significantly every time when expanding the cell

In the Demo the memory usage increases around 10 MB for each expanding. Any way to control the memory. Thanks.

I'll run instruments and check the allocations. Thanks for the feedback, standby.

I managed to fix the memory leak problem. You were calling UIGraphicsBeginImageContextWithOptions in SwiftyExpandingTransition.animateTransition() without calling UIGraphicsEndImageContext which never allowed the contexts to release memory. All you need to do is move the graphics context creation inside the if statement on line 41.

Fixed in release 1.1 -Thanks @antiquechrono


[Nodepool_Sync] Sync_201906050100_modified_by_theopenlab-ci

We will specify the security-groups for every providers. the vexxhost is first one. : ) I think we better to merge them together tomorrow.
See more in https://github.com/theopenlab/openlab/issues/274


Add version to TestSuite

So users can have something to reference when communicating an issue or request.

Codecov Report

Merging #98 (fa76239) into main (df22147) will increase coverage by 0.01%.
The diff coverage is 100.00%.

:exclamation: Current head fa76239 differs from pull request most recent head 3142f78. Consider uploading reports for the commit 3142f78 to get more accurate results

@@            Coverage Diff             @@
##             main      #98      +/-   ##
==========================================
+ Coverage   93.99%   94.01%   +0.01%
==========================================
  Files         100      100
  Lines        2483     2488       +5
==========================================
+ Hits         2334     2339       +5
  Misses        149      149

Impacted Files
Coverage Δ

...tes/dev_infrastructure_test/infrastructure_test.rb
92.98% <100.00%> (+0.12%)
:arrow_up:

lib/inferno/apps/web/serializers/test_suite.rb
100.00% <100.00%> (ø)

lib/inferno/entities/test_suite.rb
90.00% <100.00%> (+0.81%)
: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 df22147...3142f78. Read the comment docs.


[BREAKING] fix(generate): emit GraphQL schema to a single file

Fixes https://github.com/prisma/prisma/issues/3359

Closing in favor of https://github.com/prisma/prisma/pull/4080


Add option for noRedirect to serve UI directly at the route prefix

This PR is related to #117. I like the suggestion, and it would be beneficial to me to have this feature, so I've implemented it.

Checklist

[x] run npm run test and ~npm run benchmark~
[x] tests and/or benchmarks are included
[x] documentation is changed or added
[x] commit message and code follows the Developer's Certification of Origin
and the Code of conduct

noRedirect option
I have introduced a new option, which will disable the redirect to /static/index.html for the documentation UI. On visiting the documentation route, the UI is returned without redirection, and the url stays clean.
await fastify.register(require('@fastify/swagger-ui'), {
  routePrefix: '/documentation',
  noRedirect: true,
})

noRedirect is not about not redirecting but actually about some routing option. This seems kind of wrong.

Thanks for the feedback. Any suggestion on what I should call it? serveIndexAtRootPrefix? noStaticIndexRedirect?
Otherwise, is the general approach to this ok?

Why do we even redirect? I have no motivation to deep dive into the topic. But maybe not redirecting but directly serving the expected files?
Maybe related to
https://github.com/fastify/fastify-swagger/pull/39
https://github.com/fastify/fastify-swagger/pull/56
https://github.com/fastify/fastify-swagger/issues/65

I did the redirect because I was too lazy to figure out how to make that rendering work correctly. At the beginning, the HTML was entirely static, so just redirecting it makes sense.
Maybe we should flip it to true by default.

I did the redirect because I was too lazy to figure out how to make that rendering work correctly. At the beginning, the HTML was entirely static, so just redirecting it makes sense.
Maybe we should flip it to true by default.

Any decision on this?

I think dropping the redirect entirely seems the best option. Would you like to take care of that?
@Uzlopak would you be ok if that was the case?

Can you update the OP?

Can you update the OP?

There's a couple of changes to make - issues with trailing slashes that I am ironing out and test failures. Almost there, and I'll rebase it on updated master.

Ok, code is updated and I think in a good state. The changes are mainly because you can access the documentation route with or without a trailing slash, and this changes the behaviour of the relative imports used in the html. So, I have needed to handle this, by pasing the url of the request into the html template. If there's a simpler way, I'm all ears, but I wanted to make sure this honoured either trailing slash option (which I believe can be overidden at the server level, so this should handle both just in case?)
Tests are updated to reflect this, and new e2e test cases make sure that the import of static assets, and the correct url for the json spec is used (which it wasn't before, but I hadn't noticed). I hope that all makes sense.

@mcollina
Yes, dropping it is imho the best option.


Turn off RTL text patch on Chromium >=96

Way back in #3923 and #6018 I had a fix for right-to-left line labels in Chromium-based browsers. Long story short, iD is one of the few places on the web which uses SVG textPath elements.  A text shaping bug is making complex text (such as Indic languages , #5342) or RTL text broken for a long time - bug reported in 2014.  We were able to use a JS library, sort of a hack really, to show corrected letters for Arabic and other RTL languages.
This week, the bug was fixed in Chrome Canary.  In this PR I suggest that we detect the browser version and skip the right-to-left label fix in Chromium >= 96.0
Should the code and alif-toolkit dependency just be removed? Chrome, Brave, etc. are currently on Chromium 94. Once the fix is more mainstream (mid-November), we could start a grace period of 6?-18? months and then remove it.

Thanks @mapmeld!

Once the fix is more mainstream (mid-November), we could start a grace period of 6?-18? months and then remove it.

Sounds good to me!


:white_check_mark: add: tests for the methods to use cheerio

I added the test codes.
+if set the Links
+if set the imgs
+if set the body

Thank you.


Metric data exported repeatedly

We recently performed OpenTelemetry and opentelemetry-operations-go module upgrades and found an issue with the export of metric data (it may be that we have done something wrong with the upgrade so apologies if this is the case).
I've tried to illustrate the issue here:
https://github.com/bvwells/opentelemetry-issue
In this git repository I have two examples which generate a singe histogram metric with varying versions of OpenTelemetry modules. The legacy folder contains an application running:
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.32.7
go.opentelemetry.io/otel v1.15.1
go.opentelemetry.io/otel/metric v0.34.0
go.opentelemetry.io/otel/sdk v1.15.1
go.opentelemetry.io/otel/sdk/metric v0.31.0

The latest folder contains an application running:
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.46.0
go.opentelemetry.io/otel v1.25.0
go.opentelemetry.io/otel/metric v1.25.0
go.opentelemetry.io/otel/sdk/metric v1.25.0

There are more details in the README here https://github.com/bvwells/opentelemetry-issue/blob/main/README.md.
The behaviour when exporting to Google Cloud operations is different between the versions. The older version of the exporter only exports time-series data to the  Google Cloud operations API once, whereas the new version of the exporter is exporting the same time-series data every time the exporter runs (every minute).  This means that the ingested bytes into Google Cloud operations increases over time irrespective of whether any new metric data has been recorded.
When running in our application we see its memory footprint increase over time as metric data is kept in memory and the ingested bytes into Google Cloud operations increases drastically.
Please let me know if you require any further information on this issue.

Where do the print statements come from?
Histograms in cloud monitoring are cumulative, so exporting the current state of the histogram each export interval is expected.  I'm not sure why the older version was not doing this.

When running in our application we see its memory footprint increase over time as metric data is kept in memory and the ingested bytes into Google Cloud operations increases drastically.

This sounds like a bug.  We should not be accumulating increasing amounts of metric data over time.

I've vendored the modules for each example and manually added some logging statements to the vendored code. See
https://github.com/bvwells/opentelemetry-issue/blob/3dea93c18e76f50197296c90b440b958579db127/latest/vendor/github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric/metric.go#L232
and
https://github.com/bvwells/opentelemetry-issue/blob/3dea93c18e76f50197296c90b440b958579db127/legacy/vendor/github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric/metric.go#L260

Thanks for looking into the issue.
The increase in memory is caused due to us recording some metrics with quite high cardinality.  Previously the data was only kept in memory for an export cycle, however now it keeps all data in memory for all time. I don't think it is a memory leak.
It has now become unfeasible to record this type of metric data in Google Cloud Operations due to this as the ingested bytes has exploded in magnitude and with it the cost (as the pricing model is based on ingested bytes). We had been able to ingest this type of metric into Google Cloud Operations using OpenCensus and previously versions OpenTelemetry. The cost for lower cardinality metrics has also increased significantly.
Technically it feels a little excessive that all time-series data is pushed at every export cycle rather than only time-series which has changed, but it sounds like this would be a large design change....

Got it.  It definitely isn't recommended to use deltas with GCM (IIRC, it negatively impacts query performance), but if you've been happy with the existing experience, I think it is possible to work around this to get the SDK to send deltas.  GCM doesn't really support Deltas, but we can send cumulatives that reset every interval.
You currently have:
	exporter, err := metric.New(
		metric.WithProjectID(*projectID),
		metric.WithMetricDescriptorTypeFormatter(func(m metricdata.Metrics) string {
			return fmt.Sprintf("custom.googleapis.com/opentelemetry/%s", m.Name)
		}))
	if err != nil {
		log.Printf("failed to create the exporter: %v", err)
		os.Exit(-1)
	}

You would add something like:
// deltaExporter overrides the Temporality of the Exporter with delta.
type deltaExporter struct {
        otelsdkmetric.Exporter
}

// Override the exporter's temporality function
func (d *deltaExporter) Temporality(ik metric.InstrumentKind) metricdata.Temporality {
        // Use delta temporality for all instruments
        return metricdata.DeltaTemporality
}

Then, after your setup code above
        // Current setup code ...

        // Wrap the exporter to make the SDK give it deltas instead
        exporter = &deltaExporter{Exporter: exporter}

I'm not 100% sure it will work properly, but it sounds like this was the behavior in the older version of the OTel SDK.

The only other thing i'll add is that if cost is a concern, it may be worth looking into Google Managed service for Prometheus (GMP).  It is much, much less expensive.  You can use the Prometheus exporter from OTel-go with managed GMP collection, or use the googlemanagedprometheus exporter on the collector, but we don't have one that exports directly from the application.

Thanks for the suggestions and for your analysis. I'll do some playing! :-)
We already use Prometheus in some of the cloud environments we deploy our application to. I suspect that this may push us to fully adopt it in all environments.

I'm going to close this, but feel free to reopen if you have any other questions


Problem with Dark Hekmet and Night Vision

EnderIO: <IP_ADDRESS>9
EnderCore: <IP_ADDRESS>
Minecraft: 1.7.10
Forge: <IP_ADDRESS>7
Today I encountered a problem, the helmet does not want to add an improvement in night vision (previously such problems were not observed)

What version of nightvision is that

@tyler489 Initially, as before, they used the potion for 3 minutes


[Feature Request] dev-aremod-vis live data stream

The agent is taking a snapshot of AIS data. However this could be revisited if the data from live AIS data stream.

We can modify the ship input agent to obtain the dynamic data

Completed by pull request #1088


Added vote functionality for video content.

PR Fixes:

1  Added up-vote and down-vote functionality for video content

Resolves #406
Checklist before requesting a review

[x] I have performed a self-review of my code
[x] I assure there is no similar/duplicate pull request regarding same issue

Conflicts + old pr closing feel free to reopen