bluedevil: make bluez-qt a propagatedBuildInputs

Motivation for this change
The plasma bluetooth applet fails to show with the following error:

Error loading QML file: file:///nix/store/90rl8rq4dkgvj66w4b4ihs80x62cjf23-bluedevil-5.15.5/share/plasma/plasmoids/org.kde.plasma.bluetooth/contents/ui/BluetoothApplet.qml:24:1: module "org.kde.bluezqt" is not installed

Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Thanks @ttuegel for the fast review. Unfortunately, it seems my investigation was wrong, can you help me understand what's up here?
Rebuiding with nixos-rebuild -I nixpkgs=/home/xavier/git/nixpkgs/ switch on master
nix-store --query --references /nix/store/cpwm80gr1jgb0dxnwczqmmvak42amzbr-bluedevil-5.15.5|grep blue
/nix/store/k7rg6msl9sqxm1cp9jfbi3yd4912wjbd-bluez-qt-5.58.0
/nix/store/k88rfq08byn4mvj4bx0rc15dqkbj8c81-bluez-qt-5.58.0-bin
/nix/store/cpwm80gr1jgb0dxnwczqmmvak42amzbr-bluedevil-5.15.5
Bluetooth KCMs work OK, plasmoid shows:

Error loading QML file: file:///nix/store/cpwm80gr1jgb0dxnwczqmmvak42amzbr-bluedevil-5.15.5/share/plasma/plasmoids/org.kde.plasma.bluetooth/contents/ui/BluetoothApplet.qml:24:1: module "org.kde.bluezqt" is not installed

Rebuidling on my branch
nix-store --query --references /nix/store/z841232bp8j8dfcsczkrzkwpsjwzn5ri-bluedevil-5.15.5 | grep blue
/nix/store/k7rg6msl9sqxm1cp9jfbi3yd4912wjbd-bluez-qt-5.58.0
/nix/store/k88rfq08byn4mvj4bx0rc15dqkbj8c81-bluez-qt-5.58.0-bin
/nix/store/4fj0vkx838b96jw46328n4cckggd5xyb-bluez-qt-5.58.0-dev
/nix/store/z841232bp8j8dfcsczkrzkwpsjwzn5ri-bluedevil-5.15.5
Same result:

Error loading QML file: file:///nix/store/z841232bp8j8dfcsczkrzkwpsjwzn5ri-bluedevil-5.15.5/share/plasma/plasmoids/org.kde.plasma.bluetooth/contents/ui/BluetoothApplet.qml:24:1: module "org.kde.bluezqt" is not installed

Adding libsForQt5.bluez-qt to systemPackages (either master or branch)
All works OK
Do you know if adding bluez-qt as a system package changes how its plugin is registered? Even with explicit install, bluez does not appear in $QT_PLUGIN_PATH.

Even with explicit install, bluez does not appear in $QT_PLUGIN_PATH.

Those aren't plugins, they are Plasmoids which are QML widgets. When installed to the system profile, I would expect them to appear in /run/current-system/sw/lib/qt-5.12/qml. Unfortunately, QML widgets usually need to be installed system-wide: we can't use a wrapper as with plugins because there isn't an executable to wrap.

Thanks a lot, would it make sense to patch plasma5.nix then to get bluez-qt installed if bluetooth is enabled?

Closing in favor of https://github.com/NixOS/nixpkgs/pull/66226


Support ActorReference type

Actor References come from the dotnet sdk and Orleans. It's a very handy structure for identifying an actor and can be safely stored.

Closed by #71


request help: How to get consumer id from upstream service ?

Issue description
How to get consumer id from upstream service when the request has passed authentication plugin (e.g., jwt-auth, key-auth) ?
Environment

apisix version (cmd: apisix version): 0.9
OS: Ubuntu 18.04

You can get it from ctx. consumer_id.
Here is the source code link:
https://github.com/apache/incubator-apisix/blob/master/lua/apisix/plugins/key-auth.lua#L85


Add example transformation parameters to the controllerConfig

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
The same as other Config parameters, I added an example transformations parameters.
Which issue(s) this PR fixes:

Part-of #2937
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

cc: @dgrove-oss
/assign @mbobrovskyi

/lgtm

/lgtm
Thanks!


Attempt to make standard Arduino library format

Hi,
as I promised here http://forum.littlevgl.com/viewtopic.php?f=12&t=29&sid=1f49e4aa570ac2d4e205e3b7205fc858 this is my attempt to create Arduino library for LittlevGL. It has following features:

able to be installed as .ZIP library (after we create an release)
able to be installed via Library manager (more on needed stepls later)
able to be used in PlatformIO (this need to be checked)

There are things that I want to discuss:

library uses lvgl as submodule which is IMHO not very optimal - version of the library has to be the same as version of lvgl and this is hard to maintain. My suggestion - at every lvgl release, copy the lvgl folder into src folder in this library, modify lv_conf.h if needed and modify json/properties file with right lvgl version OR made separate version numbers for this library and lvgl.
I've put myself into .properties file as an maintainer of this library because i want to remove some load from Gabor to maintain just this small part of the project.

Things that has to be done after this PR get merged:

We need to create tag with version number
We need to create Release
after first two steps are done everyone can install this library as .ZIP from Releases page
We need to continue as described here https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ#how-can-i-add-my-library-to-library-manager and create issue here https://github.com/arduino/Arduino/issues and after few days LVGL library will be registered and can be installed in Arduino IDE via the Library manager.

Any comments are welcome...

Hi,
It's awesome!

library uses lvgl as submodule which is IMHO not very optimal - version of the library has to be the same as version of lvgl and this is hard to maintain. My suggestion - at every lvgl release, copy the lvgl folder into src folder in this library, modify lv_conf.h if needed and modify json/properties file with right lvgl version OR made separate version numbers for this library and lvgl.

Updating to the new version of lvgl after a fix in master is easier with submodules but if in this case, it make things more complicated then I'm fine with no-submoule too.

I've put myself into .properties file as an maintainer of this library because i want to remove some load from Gabor to maintain just this small part of the project.

Thank you very much! If you want I can give you write access to this repo.

Hi,

Updating to the new version of lvgl after a fix in master is easier with submodules but if in this case, it make things more complicated then I'm fine with no-submoule too.

Ok, I will made a change in the repository to include LVGL v5.3 as an starting point

I've put myself into .properties file as an maintainer of this library because i want to remove some load from Gabor to maintain just this small part of the project.

Thank you very much! If you want I can give you write access to this repo.

Thanks - this will be perfect...

One more thing that I forgot to mention - library name. I strongly suggest to rename this repository from just plain arduino to something like lvgl_arduino...

@Pablo2048
I've sent the invitation and renamed the repo.

@kisvegabor Thank you. I did some modifications - added example photo, environment versions etc. so please take a look. I've also changed version # to 1.0.0 because I need the opportunity to add new examples and/or fix errors in the examples. If you are ok with this and give me a green light, then I'll do a merge and all necessary steps to make an release.

Awesome!
I pulled the changes and it seems lvgl is added twice:

Well, it seems like we need to manually remove the littlevgl folder after merge. In my branch this folder doesn't exist...

Ok, we will see.
Merged!

It was merged correctly. littelvgl/src is not existing.
Thank you very much for this update! I'm sure it will help a lot to Arduino users.

Great. Thank You. I've made release of version 1.0.0 . I'll test it and when everything is ok I'll made all steps to register this library in Arduino Library manager...

Awesome! :clap: :clap: :clap:


Unable to "recover" after providing the generated "challenge" and "signature" using a valid Ethereum address

I've tried this numerous times, providing a valid Ethereum address as the MetaAddress URL parameter to generate a "challenge", and then making a subsequent request to the other API endpoint with both that "challenge" and the "signature", but it always recovers a different Ethereum address from the original one.
I have checked that Node caching is working
I wrote the following script to generate the "signature" from the "challenge":
require('dotenv').config()
const Web3 = require('web3');

const { PRIVATE_KEY } = process.env;

const main = async () => {
  const infuraHttpProviderUrl = 'https://ropsten.infura.io/v3/<PROJECT_ID>';
  const web3Provider = new Web3.providers.HttpProvider(infuraHttpProviderUrl);
  const web3 = new Web3(web3Provider);

  const metaAuthChallenge = '<INSERT_GENERATED_CHALLENGE>';
  const metaAuthSignature = web3.eth.accounts.sign(metaAuthChallenge, PRIVATE_KEY);
  console.log('metaAuthSignature for metaAuthChallenge: ', metaAuthSignature);
}

main()
  .catch(console.error)
  .finally(() => process.exit());

Don't think this project is working currently, metamask changed how signing occurs and this hasn't been updated in a few years now.

Yeah this repo is years old and MetaMask has changed the way it does signing many times since I originally released this code. MetaMask and most libraries have their own, similar strategies for doing the same thing now.


Documentation for x-ms-examples and added settings for vscode intellisense experience

No modification for NodeJS

No modification for Ruby

No modification for Python


System UI Crash with Backgrounded App in Android O (Oreo)

Android device: Nexus 6P
Android OS version: 8
Firebase/Play Services SDK version: 11.6.0

When sending Push Notifications to devices on Android O when the app is in the background, the System UI crashes and gets stuck in an endless loop. The only way to fix it is to try and reboot it and sometimes it is corrupting the phone.
Lower versions of Android have no issues with foreground or background apps. Oreo devices work fine when the app is foregrounded.
here is the message service in the manifest:
<meta-data
            android:name="com.google.firebase.messaging.default_notification_channel_id"
            android:value="@string/default_notification_channel_id" />

        <service
            android:name=".Services.MessageService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>

here is the message service:
public class MessageService extends FirebaseMessagingService {
    private static final String TAG = "MessageService";

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        super.onMessageReceived(remoteMessage);
        Log.d(TAG, "From: " + remoteMessage.getFrom());
        if (remoteMessage.getData().size() > 0) {
            Log.d(TAG, "Message data payload: " + remoteMessage.getData());
        }
        if(remoteMessage.getNotification() != null){
            Log.d(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody());
            sendNotification(remoteMessage.getNotification().getBody());
        }
    }

    private void sendNotification(String messageBody) {
        Intent intent = new Intent(this, HomeScreen.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
                PendingIntent.FLAG_ONE_SHOT);

        String channelId = getString(R.string.default_notification_channel_id);
        Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
        NotificationCompat.Builder notificationBuilder =
                new NotificationCompat.Builder(this, channelId)
                        .setSmallIcon(R.drawable.ic_flight_takeoff_black_24dp)
                        .setContentTitle("FCM Message")
                        .setContentText(messageBody)
                        .setAutoCancel(true)
                        .setSound(defaultSoundUri)
                        .setContentIntent(pendingIntent);

        NotificationManager notificationManager =
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

        notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());
    }
}

There are no crash logs or anything in logcat because it is not getting into the app.
Any help would be greatly appreciated. Please let me know if you would like to see any other files of lines of code. Thanks in advance.

I found the answer finally. You need to make sure that you are specifying a non-adaptive icon in the meta-data or else it crashes Android O devices.
https://android.jlelse.eu/how-to-upgrade-your-app-to-android-oreo-and-avoid-a-factory-reset-f85e34767a09
This should be added to the documentation so that other people can avoid this problem, as I have been messing with it for some time now.

Thanks for following up @lexicalninja
@kroikie could you take a look at this

Thank you all. Everything is working beautifully now.

Just an update, we are tracking this issue internally.  We can reproduce under certain conditions, looking for the fastest way to fix this bug.

Just to be clear, the issue is an Oreo problem and not in the Firebase code. Oreo system can't inflate the adaptive icons and if you have an adaptive icon as your launcher or for something else and set that as the default icon for messaging, Oreo System UI crashes. Earlier version of Android will inflate them just fine.
There probably only needs to be something in the docs to highlight this issue until core Android O is patched for this issue.

Newer versions of Android Studio provide a different standard icon, which triggers this in development.
FCM falls back to the launcher icon when no icon is specified in AndroidManifest but it was not doing enough checks to see if the launcher icon is appropriate.
Oreo SystemUI crashes on external input (from FCM) which is just never acceptable even if the input is truly bad.

We're definitely going to get out a temporary fix and some docs soon, stay tuned and thanks for your input.

Gross. Glad to be of service before Oreo is on a ton of devices. Go ahead and close this when you think it is good and let me know if you need anything else.

@lexicalninja good news!  This is now going to be fixed in two ways:

Android 8.1 will contain a system-level fix to prevent System UI crashes like this.
The next version of the FCM SDK, due out before the end of the year, contains a workaround to prevent the crash from the client side.

As there's nothing more I can do in the context of quickstart-android I am going to close this issue.

Thanks everyone!

@lexicalninja I have this issue too on my Lg G5 with Oreo 8.0 and LG doesnt offer any updates to 8.1 or 9. Is there a way to work around this somehow?I get this loop freeze issue randomly every 2-3 days, and I dont know which app it is causing it. It seems to be Whatsapp or SMS notifications while the phone is idling with screen off, but not always. Would a factory reset help to wipe those broken symbols stored somewhere causing this issue?


Incorporate React & Redux Dev Tools

Need to bring in the Redux & React dev-tools - would improve the developer experience

Addressed with PR #208


How to set a default / starting category to IS page

Do you want to request a feature or report a bug?
Bug / Question
Bug: What is the current behavior?
I want to programatically set a starting / default category to a hierarchical widget.
Use-case:
Right now in our Magento extension, you can disable autocomplete menu and enabled instant search feature, which means when you search by using a search box in a header, you get the JadoPado experience with instant search page.
At the same time, you can replace category pages with instant search as well, so the users can benefit from Algolia filters even on category pages.
The issue is, that when you are on a category page, the search box in a header of the website searches only products within the category. (this is achieved by setting a rootPath in hierarchical widget)
And I want to give a user a possibility to remove the category refinement and search again in a whole catalog.
I try to do it via searchParameters:
var attribute = 'categories.level' + algoliaConfig.request.level;

var facetRefinements = {};
facetRefinements[attribute] = [algoliaConfig.request.path];

var searchParameters = {
    facetsRefinements: facetRefinements,
    facets: [attribute]
}

It then appears in currentRefinementValues:

But when I click on a category in hierarchicalWidget it won’t replace the previously set category:

(now I expect only “Sale” category to be displayed and used for filtering).
And another issue is when I remove all category filters by clicking them out from currentRefinements widget, then select a random category, and remove it by clicking on it again in hierarchical widget, it somehow returns the default category. Probably better to see it on GIF:

I tried to achieve the behaviour even by using rootPath parameter of the hierarchical widget and not searchParameters. It works OK, refines data, shows the value in current refinements. But after removing the category from current refinements widget, the hierarchical widget is not displayed - seems to be empty.
Bug: What is the expected behavior?
The consistent behaviour between what is selected in hierarchical widget and displayed in current refinement values widget.
Possibility to somehow set a starting / default category for IS pages.
Bug: What browsers are impacted? Which versions?
Not browser related.
jsFiddles
Solution with rootPath - https://jsfiddle.net/JanPetr/0rbg8Lzt/
Solution with searchParameters - https://jsfiddle.net/JanPetr/pw2s7zcw/
Unfortunately I'm not able to reproduce the issue from posted GIF in jsFiddle (the issue which returns back the default category when category refinement is removed in hierarchical widget, not current refinements widget). I will add it when I'll manage to reproduce.
What project are you opening an issue for?

instantsearch.js

What is the version you are using? Always use the latest one before opening a bug issue.
The latest one

@JanPetr have a look at this: https://jsfiddle.net/0rbg8Lzt/1/
Would that work for you? I think this is the right way to start a solution for this, rootPath is not what you want exactly.
You will still be able to hide every other element but I would not do it, provide context to the user is better.

That's perfect @vvo, thanks a lot. Totally works for me, feel free to close the issue if it's not relevant anymore.

The solution as an overhead of 1 query though, but has the advantage of being simple.
Is there a way to avoid the first query?

Have a look here, seems ok: https://jsfiddle.net/vvoyer/pw2s7zcw/1/

Actually @vvo, the second version with searchParameters doesn't work as expected when you have enabled urlSync: https://jsfiddle.net/JanPetr/pw2s7zcw/3/
Try to switch category to "VIP" and then remove the "VIP" category by clicking on it again in hierarchicalWidget. Instead of just removing the category from refinements, it'll return back the "Shirt" category:

Is that expected? Is it bug and should be fixed?

Seems like a bug yes

@JanPetr I am not able to reproduce the issue now, can you?

@vvo I can still reproduce in linked JSFiddle - https://jsfiddle.net/JanPetr/pw2s7zcw/3/
Click for example on "Accessories" and then click on it again like you would like to remove it. Instead of just removing Category filter it puts back "Shirts" category filter.

@vvo @janPetr whoah that's crazy I swear we couldn't reproduce it earlier but now I can. What's even weirder is that you can do other refinements before removing the removing the currently selected refinement and it still goes back to shirts :/

Yes ... And when you remove urlSync parameter from IS it works as expected :)

@JanPetr i see that your level 0 attribute contains a separator, doesn't that mean it's a level 1 and not 0?

It does, but when I specify level1 instead of level0 in searchParamters it doesn't work at all. The current settings is based on @vvo's https://github.com/algolia/instantsearch.js/issues/1819#issuecomment-271842356 and https://github.com/algolia/instantsearch.js/issues/1819#issuecomment-272214050

Oh ok... yes... It's a convention for the naming because of the parameters in the helper. That's not the problem it seems then. Let's dig deeper :)

Any news on this one @bobylito @vvo ?

@JanPetr Even if first solution does two queries, would that work for you now? https://github.com/algolia/instantsearch.js/issues/1819#issuecomment-271842356

@vvo Yes, I have it already implemented (https://github.com/algolia/algoliasearch-magento-2/pull/144), I was just waiting if you're going to fix it so I can do it in "not-hacky" way :) But I guess it would be feasible have it with 2 queries as temp solution.

Ok then let's do this, I don't think the second solution is fixable easily, this is the behavior of searchParameters for now.


Felix should have FailsafeIn/OutboundHostPorts equivalents for UDP as well

The current failsafe ports options only apply to TCP.
There should be equivalent function available for UDP (e.g. DNS) as well.
I can see two obvious approaches:

Have the existing options cover both TCP and UDP ports.
Change the names, and add extra options (e.g. FailsafeInboundHostUDPPorts).

What do people think on 1 vs 2 vs ?

Probably less to go wrong with (2)?  Less parsing to do, fewer typo opportunities?

@matthewdupre I think you're working on this.


Update particl branch from Likho:bitcoindart-particl

Instead of using an additional/separate library we ought to extend cypherstack/bitcoindart itself to support particl
I may revert to this approach if I can't not break anything else :)

Need to make sure none of these changes break anything legacy; will reimplement with branched logic for particl

Do not merge, should have created this as draft


add Restart=always to unit file

cc @estesp

Looks like there's no DCO sign-off in the commit https://github.com/containerd/project/blob/master/CONTRIBUTING.md#sign-your-work

Sorry about that @thaJeztah, I blame the jet-lag 😅
Re-pushed with a signature FWIW.

Thanks! I see @crosbymichael is carrying the change in https://github.com/containerd/containerd/issues/3300, so either that one or this one will be merged I guess

LGTM

Thanks all!


Unable to navigate to new account by clicking on a link inside account pages

My guess is this is related to the ChainState decorator in AccountPages, clicking on a link to another account only changes the props but since the decorator sets up the props to use inside the constructor it won't change due to a prop change.

fixed by this commit 95afe50


option for lv_chart_set_next

Hi
As we know, when we use the  lv_chart_set_next function, it will shift the whole chart to the left and then add the new value to the most right of the chart. I don't want to update my chart like this.
I want to draw the next value without shifting the whole chart to the left. the x of new point will start from 0 to the mx_x and then start again from point 0. to do this I change this function to this:
void lv_chart_set_next(lv_obj_t * chart, lv_chart_series_t * ser, lv_coord_t y)
{
	lv_chart_ext_t * ext = lv_obj_get_ext_attr(chart);
#if 0
	ser->points[ser->start_point] = y;  /*This was the place of the former left most value, after shifting it is the rightmost*/
	ser->start_point = (ser->start_point + 1) % ext->point_cnt;
#else
	static uint16_t i = 0;
	ser->points[i] = y;  /*This was the place of the former left most value, after shifting it is the rightmost*/
	i = (i + 1) % ext->point_cnt;
#endif

	lv_chart_refresh(chart);
}

so what do you think about it? I think it would be good to add an option in defines or maybe a parameter to set and define how the lv_chart_set_next act.

Instead of a define I can imagine a function to change the display mode: lv_chart_set_mode(chart, LV_CHART_MODE_CIRCULAR/SHIFT). This way it can be different for each chart.

Yep, that's great.
And AFAIK now every time we add new data the whole chart is redrawn again. Although it is necessary for shift mode I think there is no need for this whole refresh in circular mode. Am I right?

And AFAIK now every time we add new data the whole chart is redrawn again. Although it is necessary for shift mode I think there is no need for this whole refresh in circular mode. Am I right?

Yes! Instead of lv_obj_invalidate lv_inv_area can be used for the affected area.

Dear Gabor, do you have any plan for implementing these?

Right now, I'm working on the new features of v6.0 so don't have time to add this. :(
However, seems quite straightforward. Would you like to try it? I can help if you stuck somewhere.

OK, I will work on it as soon as possible. Of course, I need your help. I will notify you about the parts I couldn't understand.
thanks

@ali-rostami
Were you able to make some progress with it?

not yet, I will get to this soon.

Okay.
Can I assign you this issue?

yep, no problem.

Done, thank you!

And AFAIK now every time we add new data the whole chart is redrawn again. Although it is necessary for shift mode I think there is no need for this whole refresh in circular mode. Am I right?

Yes, good idea! Instead of lv_obj_invalidate lv_inv_area can be used for the affected area.

Do you mean to use it in lv_chart_refresh function?

I mean instead if lv_chart_refresh you can call lv_inv_area in lv_chart_set_next to invalidate only a small area.

Yeah, but the problem is I have no idea how to get the coordination of the area.
How can I get them? How can I get the mask area?

I suggest adding the feature first and optimize it later.

Let's continue it in the PR: #951


consistency check: update local crates.io index before querying it

so, from a first digging surfaced

crates_index uses FETCH_HEAD or HEAD to fetch the crates ( see here )
while crates-index-diff uses its own logic to get the local ref / branch to use as a head (see here )

calling .update on crates_index.Index solves the issue, from what I see without impacting what crates-index-diff does.
( I downloaded the index state from our server and tested this)

r? @Nemo157 @Byron


Create proper mdbook documentation

Our readme is getting to be pretty messy and hard to read, so time to create a better user experience "Rust style" - an mdbook.
One option I have seen is justfile mdbook generator - I think it keeps all the data in the readme, and the generator simply converts that giant readme into multi-paged book that can be easy to publish. This may be the easiest route to take?
Alternatively, we could create a bunch of proper .md pages that get compiled into a book.
Lastly, the book should probably be published to the maplibre.org/martin

Could we generate a book from another markdown and have a simplified readme? For newcomers to Martin, a shorter and simpler readme would be more friendly I guess

Sure - I am totally ok with going the "regular" route - i.e. set up the /doc (or is it /docs ?) dir with all the needed .md files, and use standard tools to compile it into the book, plus maintain a much shorter version of the readme that simply links to the book.  Do you want to set up the first (semi-empty) book for this?

Yeah sure. Before I give it a try, is this OK like:

Set up /doc/en dir
Copy whole readme.md to /doc/en,rename it like book.md. And keep it a single file ,not many
Do a generator like justfile mdbook generator

Or should I do something like maplibre-rs did?
I would greatly appreciate any guidance. @nyurik

I think we should be consistent between projects - if @maxammann set it up like that in maplibre-rs, i think its better to keep the same approach?

I'm fine with either. So to keep the same with maplibre-rs?

Yeah, i think that would be the better choice, possibly even simplifying it - i.e. using the recommended way in https://rust-lang.github.io/mdBook/guide/creating.html ?  The fewer customizations we have, the better. We can always make it more complicated later :)
The only important thing we should think about is how we are going to publish it to maplibre.org/martin - not certain yet how that works

For now we could generate the book. But how could we use github workflow to publish it in maplibre.org/martin. I have no clue. @nyurik

Horray, its alive!!!  https://maplibre.org/martin/ is now auto-published from the main branch of book from this repo.  Next steps:

[ ] Cleanup the style of the mdbook to be nicer.  I really liked this one -- and it has edit links to the originating docs too.
[ ] update MapLibre project page to link to it
[ ] update Martin's README to link to the new site, and remove most of its content
[ ] restructure/rewrite/improve/cleanup/enhance the book to be the best there is :)

Closing this as done, thank you @sharkAndshark , awesome job!!!  See #683 for the next steps


Use require_relative instead of require to speed up requires

require_relative is faster as it doesn't require traversing the
filesystem looking for the require.
See benchmarks here: https://github.com/rspec/rspec-expectations/pull/476#issuecomment-35848905
Signed-off-by: Tim Smith<EMAIL_ADDRESS>

I'd love to merge this, but unfortunately the library currently still supports Ruby 1.8.7. I'm going to leave this open because I plan to drop support for all non-stable Ruby versions. Once I do that, I'll merge this in. I'm not sure when I'll have the time to do it, but I'd love to do that soon.

Ruby 1.8.7 was dropped in #178

Only the CI support was dropped. Support for 1.8.7 is still in the library itself https://github.com/vmware/rbvmomi/blob/master/rbvmomi.gemspec#L32

@jrgarcia any update on dropping Ruby 1.8.7 support?

I'll plan on doing this today.

Thanks @jrgarcia

No problem! Sorry it took so long! I'm changing a couple more things and then I'll push out a new major Gem release.

Thanks so much for this! Just pushed rbvmomi v3 to RubyGems with these changes.


how to set this up in CoCalc Docker?

hi i'm a new student in computer science in Brazil - UFAM college, i'm trying to setup a environment for students learn haskell with realtime colab for teacher watch students coding etc. Can u help me with this? i tried but had no success..

Doesn't this already work with CoCalc?

i installed CoCalc Docker (https://github.com/sagemathinc/cocalc-docker) and inside that docker i installed ihaskell, but even with jupyter detecting ihaskell it doesn't show as available inside the cocalc site. Also trying to startup the jupyter haskell command to use kernel in SSH it crashes. If u could elaborate (if u know how) a way that it shows inside cocalc; i'd be thankfully


This package not working with Payex at all

I tested this package an try to use it for Payex payment but not working
I have failed response
[status] => failed
this is my configration

return [
    'route' => [
        'prefix'     => 'payment',
        'as'         => 'payment.',
        'middleware' => 'web',
    ],
    'storage' => [
        // optioins: eloquent, filesystem
        'token'         => 'filesystem',
        // optioins: eloquent, filesystem
        'gatewayConfig' => 'filesystem',
    ],
    'gatewayConfigs' => [
        'payex' => [
            'factory'        => Payum\Payex\PayexGatewayFactory::class,
            'account_number' => 'xxxxxxxx',
            'encryption_key' => 'xxxxxxxxxxxxxxxx',
            'sandbox'        => true
        ],
    ],
];

but i have error

        [errorCode] => ValidationError_HashNotValid
        [errorDescription] => Admin.ValidateMerchantLogon:Invalid hash

i think it is the same isuee for @krinkel #5
plese help @recca0120

I've just tested the payex scenarios in the sandbox.

Simple purchase
Store a credit card reference and use later
Recurring payments

All works just fine.

So please make sure you set correct payex credentials and other configurations are correct.
Make sure you are using payex sandbox environment and use credit cards from here http://www.payexpim.com/test-data/test-purchase-data/


Conflict with jQuery versions

I'm using this package on a project using Django==1.5.12.  The default version of jQuery which comes packaged with this version of Django is 1.4.2
I'm experiencing a problem when viewing the map within the Django admin for an app which throws up the following error:
Uncaught TypeError: $searchInput.on is not a function  (error occurring in  geoposition.js:102)
Looking at this line of code, it seems that $searchInput.on() doesn't event exist as a callable function when using jQuery==1.4.2 (it does in more modern versions of jQuery e.g. 1.7.2).
I can hack things so that I use a more up-to-date version of jQuery just for this file but it would be good if there were a more extendible solution.

if you added something like this to the ModelAdmin it works:
class Media:
        js = (
            '//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js',
        )

Thanks for the input - appreciated.


[Bug] 9.0.0 build unable to upload to testflight with 'bundle contains disallowed file 'Frameworks' ' error.

[REQUIRED] Please fill in the following fields:

Unity editor version: 2020.3.25f1
Firebase Unity SDK version: 9.0.0
Source you installed the SDK: .unitypackage (.unitypackage or Unity Package Manager)
Problematic Firebase Component: either Analytics, Crashlytics, or Messaging (Auth, Database, etc.)
Other Firebase Components in use: as above, Analytics, Crashlytics, and Messaging (Auth, Database, etc.)
Additional SDKs you are using: AdMob, Facebook login (Facebook, AdMob, etc.)
Platform you are using the Unity editor on: Mac (Mac, Windows, or Linux)
Platform you are targeting: iOS (as well as android but this concerns iOS) (iOS, Android, and/or desktop)
Scripting Runtime: IL2CPP I believe (Mono, and/or IL2CPP)
Pre-built SDK from the website or open-source from this repo: pre-built SDK from the link in Releases

[REQUIRED] Please describe the issue here:
Upon upgrading from 8.10.1 to 9.0.0, built Archive file is refused by TestFlight with the error 'bundle contains disallowed file 'Frameworks' '.  Presumably this is Swift related.
Steps to reproduce:
Recently we updated our project to include 8.10.1, which we eventually got working correctly.  For the most part.  Unfortunately, users running iOS 12 and previous were unable to launch our game post-patch.  Apparently there was a bug in 8.10.1 for this that 9.0.0 addressed.
On updating to 9.0.0, however, our build began to crash on ALL devices with a termination description: DYLD, Library not loaded: @rpath/libswiftCore.dylib
Nothing else in our build had changed so naturally I was a bit confused at how to proceed from here.
I realized I hadn't updated the Resolver alongside the Firebase modules, so I reinstalled all three (the only change being the Resolver proper since they had successfully installed previously), bringing the Resolver version from 1.2.170 to 1.2.171.  I noticed in the settings that the Enable Swift Framework Support Workaround had changed to (Recommended) and been automatically checked in 1.2.171 (in 1.2.170 and our previous builds, it was unchecked and builds functioned fine without them).  So I made some quick change and restore alterations to settings to ensure the new settings were saved (Swift Workaround enabled, Framework Version set to 5.0).
I built an Archive as normal, but this time the archive would not upload to TestFlight, with the error mentioned above.
Some light googling indicated that this was a swift related error, but I'm unsure how to resolve it.  The xcode project itself has Always Embed Swift set to 'No', and I highly suspect that disabling the Workaround in the Resolver would only lead to a non-functional build as before.  It's possible something in our project is contributing to this issue but I tested rolling back to 8.10.1 and building again and had no trouble, so there has to be something in 9.0.0 that is triggering this issue.
Relevant Code:
no code, but here's the error box:

Hi, I have the same issue. @RoboticAccolade, do you have any workarounds until we receive something official from Firebase?

We're currently internally testing a build that uses Firebase 8.9.0, as this version was the one recommended to avoid the iOS 12 issue prior to the release of v9.0.0.  I got the pre-build version of the libraries by going to the releases page and replacing the _8.10.0.zip with _8.9.0.zip as the extension.
It's still too early to say whether this workaround will be successful for us and it may not be an option if there's an issue with 8.9.0 that makes its usage non-viable for you, but it's what we're currently pursuing.

We're currently internally testing a build that uses Firebase 8.9.0, as this version was the one recommended to avoid the iOS 12 issue prior to the release of v9.0.0.  I got the pre-build version of the libraries by going to the releases page and replacing the _8.10.0.zip with _8.9.0.zip as the extension.
It's still too early to say whether this workaround will be successful for us and it may not be an option if there's an issue with 8.9.0 that makes its usage non-viable for you, but it's what we're currently pursuing.

Have you tried the latest update (9.1.0)?

Hi all,
Thanks for flagging this, we are looking into it.  As of version 9.0.0, our underlying dependencies started requiring swift, and it seems like enabling it has caused this submission problem, while not causing an issue during development.  There is a potential fix detailed in the Unity forum, https://forum.unity.com/threads/an-empty-folder-named-frameworks-in-unityframework-framework.751559/#post-6959384, though we are still checking to see if changing those settings will fix this without causing other problems.

Hi all,
Thanks for flagging this, we are looking into it. As of version 9.0.0, our underlying dependencies started requiring swift, and it seems like enabling it has caused this submission problem, while not causing an issue during development. There is a potential fix detailed in the Unity forum, https://forum.unity.com/threads/an-empty-folder-named-frameworks-in-unityframework-framework.751559/#post-6959384, though we are still checking to see if changing those settings will fix this without causing other problems.

I can confirm that is working. Thank you very much @a-maurice

Both a new version of EDM4U and a new version of the Firebase SDK to point to it have been released.  Thanks again for bringing this issue to our attention.


Use rearranged sql credentials in flyway task

Let the flyway tasks use the sql credential files set up for BEAM
pipelines.
Credential files have been created for each environment in GCS
at gs://${project}-beam/cloudsql/admin_credential.enc. They are
meant for the BEAM pipeline runner accounts in each project.
Alpha and crash accounts use the 'nomulus-tools-key' in their own project to
decrypt the credential file.
Sandbox and production accounts use the 'nomulus-tools-key' in
domain-registry-dev to decrypt the credential file.
Previously all flyway tasks use the 'nomulus-tools-key' in
domain-registry-dev, which was meant for the Cloud Build tasks.
It is a little cleaner to limit this key to sandbox and production.
Note that this setup is temporary. It will become obsolete once
we migrate to Cloud Secret Manager for secret storage.

This change is

db/build.gradle, line 34 at r1 (raw file):
Previously, mindhog (Michael Muller) wrote…
You don't actually need to do hasProperty() on it, it will always be set: https://github.com/google/nomulus/blob/master/build.gradle#L123

This allows property override from command line, useful when working on the public repo alone. The -P arguments will not overrid
rootProject properties.

No. We will keep BEAM and GCB credentials separate.


Removing get_for_service_account_* helpers.

After oauth2client 2.0.0 the are just thin wrappers around factory constructors, so no longer needed.
Note that gcloud.credentials.get_credentials() is also a very thin wrapper, however, it has useful documentation.

@tseaver Do you think I should also remove get_credentials() and try to push to documentation into oauth2client? (I need to do a side-by-side, I can't quite remember the state of things.)

I get the feeling that there should be some documentation changes here, right ?
What I want to make sure we avoid is the whole thing of saying "Oh you want to do auth? Yea,... go over here.... we don't care enough to tell you how to do it..."
I'm fine with not wrapping simple APIs, but we still need to clarify those APIs so that people can use them without digging through code of oauth2client ... right ?

These helpers have never been part of our documentation, but we also don't have a "we don't care enough to tell you how to do it" attitude either. The auth page encourages using the Client.from_service_account_json or Client.from_service_account_p12 factories.
You can confirm the lack of references to these helpers via git grep get_for_service_account_ (no results).

This LGTM.


Is Zope only supported in Python 2?

I'm seeing an exception using Browser('zope.testbrowser')
Traceback (most recent call last):
  File "/d01/sandboxes/jgeorgeson/git/Dev-Engineering/gitlab-scripts/python-gitlab/lib64/python3.6/site-packages/splinter/browser.py", line 60, in Browser
    driver = _DRIVERS[driver_name]
KeyError: 'zope.testbrowser'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./scripts/import-project.py", line 5, in <module>
    with Browser('zope.testbrowser') as browser:
  File "/d01/sandboxes/jgeorgeson/git/Dev-Engineering/gitlab-scripts/python-gitlab/lib64/python3.6/site-packages/splinter/browser.py", line 62, in Browser
    raise DriverNotFoundError("No driver for %s" % driver_name)
splinter.exceptions.DriverNotFoundError: No driver for zope.testbrowser

And see the sys.version_info check here
$ python --version
Python 3.6.3
$ pip3 list splinter[zopetestbrowser]
DEPRECATION: The default format will switch to columns in the future. You can use--format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
beautifulsoup4 (4.6.0)
certifi (2018.1.18)
chardet (3.0.4)
cssselect (1.0.3)
idna (2.6)
lxml (4.1.1)
pip (9.0.1)
python-gitlab (1.2.0)
pytz (2018.3)
PyYAML (3.12)
requests (2.18.4)
selenium (3.9.0)
setuptools (28.8.0)
six (1.11.0)
splinter (0.7.7)
urllib3 (1.22)
waitress (1.1.0)
WebOb (1.7.4)
WebTest (2.0.29)
WSGIProxy2 (0.4.4)
zope.cachedescriptors (4.3.1)
zope.event (4.3.0)
zope.interface (4.4.3)
zope.schema (4.5.0)
zope.testbrowser (5.2.4)

Currently zope is only supported in Python 2

Is this a zope bug, or a splinter bug? according to https://pypi.org/project/zope.testbrowser/
zope.testbrowser is supported on py 3.5+

Currently zope driver with splinter works only for python 2

Fixed by #771


feat(FOROME-1231): change colors in drawer

Task

The columns width is still not equal. The best option we can get here by far is to take the amount of columns and divide 100 by this number. The result will be the width of each column

Checkboxes still don't look good

The columns width is still not equal. The best option we can get here by far is to take the amount of columns and divide 100 by this number. The result will be the width of each column

I think it's not good approach. Because columns in different tables may have completely different content. And if we equates them we can get non-readable table(
IMHO, different columns width is not a big problem. But on your screenshot i see other problem, that columns are too wide, and they can be compressed


⚠ GitLab Server has degraded performance

In 4444d48, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 10390 ms

Resolved: GitLab Server performance has improved in eb465b5.


Creation of Reporter class

The Reporter class serves as a basis class for the development of new reporters.  Reporters are parametrized through the input dictionary report_config. Once it's instantiated, the reporter object can generate new reports by using the method compute. In addition, the parameters can be updated by passing them to the compute method.
On calling of compute, the base Reporter class does the following:

Triggers config deserialization.
Fetches the data of the sensors described by the field tb_query_config of the report_config.
Runs the private method _compute that needs to be implemented in the subclasses.
If the output is a BeliefsDataFrame, it simplifies it into a DataFrame.

In addition, this PR includes the class PandasReporter, which allows applying pandas methods to the sensor's data. Also, for cases where we need to use a DataFrame object as input of the method, we can reference to it by prepending @. For example, let's see a transformation to merge the dataframe  sensor_2_source_1 into sensor_1_source_1:
            dict(
                df_output="df_merge",
                df_input="sensor_1_source_1",
                method="merge",
                args=["@sensor_2_source_1"],
                kwargs=dict(on="event_start", suffixes=("_sensor1", "_sensor2")),
            ),

This PR Closes #626 .
Please, let me know your thoughts on this.

Two quick comments.
(I'm still in the process of understanding the rationale behind your df_input / df_output approach. It's basically an additional feature next to the ability to pipe methods, right?)

Yes! Basically we have a controlled scope (self.data) which is used to create and update variables.
In more detail, the logic is the following:.

when df_output and df_input are provided:
<df_output> = <df_input>.<method>(*args, **kwargs)
when df_output is not provided and df_input is provided:
<df_input> = <df_input>.<method>(*args, **kwargs)
when df_input is not provided, df_output is  provided (and there's exist a previous transformation):
<df_output> = <df_previous>.<method>(*args, **kwargs)
when none is provided:
<df_previous> = <df_previous>.<method>(*args, **kwargs)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

193 of 207 (93.24%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.5%) to 65.302%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

flexmeasures/data/models/data_sources.py
4
6
66.67%

flexmeasures/data/models/reporting/pandas_reporter.py
46
49
93.88%

flexmeasures/data/models/reporting/init.py
71
75
94.67%

flexmeasures/data/schemas/reporting/pandas_reporter.py
42
47
89.36%

Totals

Change from base Build<PHONE_NUMBER>:
0.5%

Covered Lines:
7275

Relevant Lines:
10378

💛  - Coveralls

Thanks for the review @Flix6x!
I agree, we can leave the Reporter registration for a future PR on documentation.


Abstract event handling from generic client

Move event handling logic to sdk for work order result
Add implementation for synchronous event handling
Add cleanup code for file I/O in ethereum listener
Update logs to make more sense in connector

Signed-off-by: Rajeev Ranjan<EMAIL_ADDRESS>

Added issue #321 to make the implementation similar for both fabric and ethereum. A new PR can address this issue. Most if the review comments in this PR can be handled as part of new PR


Visual Studio 2017 version 15.8.4 update error

From VS Feedback:
After Visual Studio 2017 version 15.8.4 update
Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Because not working web project
before version Microsoft.EntityFrameworkCore, Version=2.1.1
nuget package 2.1.3 update after working
hey! I'm afraid I can not update it.

EF Team Triage: This issue is lacking enough information for us to be able to effectively triage it. In particular, it is missing the following information requested in the new issue template. Can you please provide this information?

Steps to reproduce

Ideally include a complete code listing that we can run to reproduce the issue.
Alternatively, you can provide a project/solution that we can run.
BTW we're not just doing this to be mean :smile:... we get a lot traffic on this project and it takes time to attempt to reproduce an issue based on fragments of information. In addition, our attempt is often unsuccessful as the exact conditions required to hit the issue are often not explicitly included in the code provided. To ensure we maximize the time we have to work on fixing bugs, implementing new features, etc. we ask that folks give us a self-contained way to reproduce an issue.
For a guide on submitting good bug reports, read Painless Bug Tracking.
BTW this is a canned response and may have info or details that do not directly apply to this particular issue. While we'd like to spend the time to uniquely address every incoming issue, we get a lot traffic on the EF projects and that is not practical. To ensure we maximize the time we have to work on fixing bugs, implementing new features, etc. we use canned responses for common triage decisions.

same error, up

I had the same issue and here is how I fixed:

Update Microsoft.EntityFrameworkCore.Proxies to version 2.1.3 and also  Microsoft.VisualStudio.Web.CodeGeneration.Design to version 2.1.4
Delete both /bin and /obj folders from the project
Rebuild

Perhaps using "Clean Solution" in the step 2 could also work.

EF Team Triage: Closing this issue as the requested additional details have not been provided and we have been unable to reproduce it.
BTW this is a canned response and may have info or details that do not directly apply to this particular issue. While we'd like to spend the time to uniquely address every incoming issue, we get a lot traffic on the EF projects and that is not practical. To ensure we maximize the time we have to work on fixing bugs, implementing new features, etc. we use canned responses for common triage decisions.


Should we recommend limiting memory if it affects VFS cache?

In our documentation, we suggest setting a memory limit for Elasticsearch containers. However, Docker uses the memory.limit_in_bytes property of the kernel Memory Resource Controller to achieve this, which also appears to limit the amount of file cache that the process has access to.
File cache can be beneficial to Elasticsearch performance, so perhaps we should adjust our recommendation. We could either include a note about the limiting effect on file cache or remove the recommendation altogether.

Good catch! My suggestion is to remove this from the docker-compose prod example and include an additional note item to explain the disadvantage with setting this; I think it's still worth to remind that it is possible to limit the mem e.g. for people with limited mem due to defaults in Docker for Mac/Docker for Windows who may accept a performance penalty.


Angular 17 has issue in css [photo-editor.css]

File Name: ngx-photo-editor/photo-editor.css
In line 1 casing issue @import "~cropperjs/dist/cropper.css";
It's working now as @import "../cropperjs/dist/cropper.css";
in Angular 17
Please anyone review that and fix it.

I'm using a quick & dirty prebuild script which replaces the import
const fs = require('fs');
const path = require('path');

// Define the path to the file you want to modify
const filePath = path.join(__dirname, 'node_modules/ngx-photo-editor/photo-editor.css');

// Read the content of the file
fs.readFile(filePath, 'utf8', (err, data) => {
  if (err) {
    return console.log(err);
  }

  // Replace the import statement
  const result = data.replace('@import "~cropperjs/dist/cropper.css";', '@import "../cropperjs/dist/cropper.css";');

  // Write the file back
  fs.writeFile(filePath, result, 'utf8', (err) => {
     if (err) return console.log(err);
  });
});


Where is the question corresponding to the descriptive_q1 id？

You can find the mapping from descriptive question ids to questions themselves here.


Refresh or access tokens persistence

In this particular sample "Web Browser to Web Application" flow, do I need to worry about - Refresh tokens, storage or persistence of tokens? If yes, can you point me to right direction.
Thanks for your advise!
Sam

This particular sample does not have persistent storage of tokens.  The sample link below stores tokens in a database and should be quite helpful.
https://github.com/Azure-Samples/active-directory-dotnet-webapp-webapi-multitenant-openidconnect


Support SNI in 'knife ssl check'.

Fixes #3491.

:+1:

Can I get one more :+1: from @chef/client-core? Unless @coderanger's Picard was meant to be one...

Yep. :+1: from me.


Fix output volume being added twice

We don't need to always add the outputs directory – if the user specifies a different directory then we just don't add it. It's only a default.

This is premature, clearly the existing behaviour is that we always add outputs from the docker run command.


Fix pinning of vCPU threads

What this PR does / why we need it:
Currently the host CPU topology is not considered when pinning vCPU threads. I.e. the host CPUs are assigned in the same order as in /sys/fs/cgroup/cpuset/cpuset.cpus. On the systems with hyperthreading that may lead to non-optimal CPU usage. For better performance the hyperthreads should fall on the same virtual core.
This PR groups the available host CPUs in a way that threads from the same core are assigned properly to the guest. That is achieved by sorting the original CPU list using the topology info provided via sysfs.
Fixes #4687
Special notes for your reviewer:
In general there are several ways of getting the needed topology info. As an alterantive to the approach in the PR, lscpu or /proc/cpuinfo can be used (mentioned in the linked issue). Though using the existing info from /sys/fs/cgroup/cpuset/cpuset.cpus plus reading thread siblings list from sysfs seems to work just fine. For now I skipped the tests. If the approach in general is okay and there are no concerns I will add those to the PR.
Release note:

NONE

This generally makes sense to me as long as we're considering it "best effort". I don't believe we are guaranteed that cpu manager will give us siblings in the most optimal way. But when it does, i agree that it makes sense to take advantage of that.
My only concern here is if people expect to receive siblings when they request cpu pinning and don't. That's not within kubevirt's control. I just want ot make sure expectations are accurate.

Agree, afaik cpu manager does consider the node topology (sockets/cores/hyperthreads) but it also works on a best-effort basis. For sure if the pod is not assigned to sibling threads there is not that much we can do. I would assume that from kubevirt perspective its only needed to assign the given resources in more or less optimal way.

This generally makes sense to me as long as we're considering it "best effort". I don't believe we are guaranteed that cpu manager will give us siblings in the most optimal way. But when it does, i agree that it makes sense to take advantage of that.
My only concern here is if people expect to receive siblings when they request cpu pinning and don't. That's not within kubevirt's control. I just want ot make sure expectations are accurate.

Agree, afaik cpu manager does consider the node topology (sockets/cores/hyperthreads) but it also works on a best-effort basis. For sure if the pod is not assigned to sibling threads there is not that much we can do. I would assume that from kubevirt perspective its only needed to assign the given resources in more or less optimal way.

This generally makes sense to me as long as we're considering it "best effort". I don't believe we are guaranteed that cpu manager will give us siblings in the most optimal way. But when it does, i agree that it makes sense to take advantage of that.
My only concern here is if people expect to receive siblings when they request cpu pinning and don't. That's not within kubevirt's control. I just want ot make sure expectations are accurate.

Agree, afaik cpu manager does consider the node topology (sockets/cores/hyperthreads) but it also works on a best-effort basis. For sure if the pod is not assigned to sibling threads there is not that much we can do. I would assume that from kubevirt perspective its only needed to assign the given resources in more or less optimal way.

Depending on the use-case the "optimal way" may be very tricky. In some cases landing on siblings is preferable and not in others, when it's better to avoid sharing the cache between siblings.
The problem is that we cannot control what we get from the CPU manger.
In addition to this, we can get something completely asymmetric from the CPU manager. For example, for 4 vCPUs we can get 2 siblings and 2 non-siblings, even from different NUMA nodes.
Until now we've avoided making optimizations of this kind since it seems that the system will get fragmented very quickly, but I agree that we can at least follow the same policy as the CPU manager without making any kind of guarantees.

This generally makes sense to me as long as we're considering it "best effort". I don't believe we are guaranteed that cpu manager will give us siblings in the most optimal way. But when it does, i agree that it makes sense to take advantage of that.
My only concern here is if people expect to receive siblings when they request cpu pinning and don't. That's not within kubevirt's control. I just want ot make sure expectations are accurate.

Agree, afaik cpu manager does consider the node topology (sockets/cores/hyperthreads) but it also works on a best-effort basis. For sure if the pod is not assigned to sibling threads there is not that much we can do. I would assume that from kubevirt perspective its only needed to assign the given resources in more or less optimal way.

Depending on the use-case the "optimal way" may be very tricky. In some cases landing on siblings is preferable and not in others, when it's better to avoid sharing the cache between siblings.
The problem is that we cannot control what we get from the CPU manger.
In addition to this, we can get something completely asymmetric from the CPU manager. For example, for 4 vCPUs we can get 2 siblings and 2 non-siblings, even from different NUMA nodes.
Until now we've avoided making optimizations of this kind since it seems that the system will get fragmented very quickly, but I agree that we can at least follow the same policy as the CPU manager without making any kind of guarantees.

Depending on the use-case the "optimal way" may be very tricky. In some cases landing on siblings is preferable and not in others, when it's better to avoid sharing the cache between siblings.
The problem is that we cannot control what we get from the CPU manger.
In addition to this, we can get something completely asymmetric from the CPU manager. For example, for 4 vCPUs we can get 2 siblings and 2 non-siblings, even from different NUMA nodes.
Until now we've avoided making optimizations of this kind since it seems that the system will get fragmented very quickly, but I agree that we can at least follow the same policy as the CPU manager without providing any kind of guarantees.

Yes, that was also my main concern why I wasn't sure about the approach in general. Having some heuristic in place may not work well in all the situations. Though covering all the use-cases is probably not trivial (or maybe even not possible at all since CPU manager does not provide any sort of guarantees). Apart from that I was thinking if there might be a case when the user would explicitly prefer not to assign siblings to one core (again, on the best-effort basis). I guess that would require additional API like cpuPlacementPolicy := <best-effort|dont-care|smth-else>. But then it tends to become even more complicated.

Depending on the use-case the "optimal way" may be very tricky. In some cases landing on siblings is preferable and not in others, when it's better to avoid sharing the cache between siblings.
The problem is that we cannot control what we get from the CPU manger.
In addition to this, we can get something completely asymmetric from the CPU manager. For example, for 4 vCPUs we can get 2 siblings and 2 non-siblings, even from different NUMA nodes.
Until now we've avoided making optimizations of this kind since it seems that the system will get fragmented very quickly, but I agree that we can at least follow the same policy as the CPU manager without providing any kind of guarantees.

Yes, that was also my main concern why I wasn't sure about the approach in general. Having some heuristic in place may not work well in all the situations. Though covering all the use-cases is probably not trivial (or maybe even not possible at all since CPU manager does not provide any sort of guarantees). Apart from that I was thinking if there might be a case when the user would explicitly prefer not to assign siblings to one core (again, on the best-effort basis). I guess that would require additional API like cpuPlacementPolicy := <best-effort|dont-care|smth-else>. But then it tends to become even more complicated.

/ok-to-test

/ok-to-test

Would be awesome to get this merged.

Would be awesome to get this merged.

Not that much activity on this PR for a while... though its not fully clear if its okay to have it merged. I guess the previous concerns have been addressed (at least I hope so..). @davidvossel , @vladikr, maybe we could have one more discussion round and come to some conclusion here? Meanwhile I can rebase the PR.

/test pull-kubevirt-e2e-k8s-1.20-cgroupsv2

/approve
@vladikr any reservations with this going in? It was unclear to me how to optimize that nested loop much further than it is now, maybe i'm missing something though

I don't know if we should consider a case where threads > 2, as this is simply not realistic.
When threads are <=2 there is a way to optimize this.
Regardless of the optimization, my main concern is related to https://bugzilla.redhat.com/show_bug.cgi?id=1945586
I'm worried that merging this PR now will complicate finding a solution for the above issue...

I'm worried that merging this PR now will complicate finding a solution for the above issue...

Interesting. That's worth exploring. The issue here would be that the VMI could start with one set of sibling pairs, then during migration have a different set?  Seems like there's no way we could guarantee migration consistency of any of the sibling pairs

Implemented in https://github.com/kubevirt/kubevirt/pull/6251. Closing the PR.


Website speedrate for rt scanners

This PR brings some useful information about what is doing the real-time scanner.
For that I have :

Updated the API to add a real-time scanner route (+ updated the doc and tests)
Updated the dashboard to add a pie chart and a plot about the speed rate and the ratio of interesting builds.

Hey @btellstrom once the tests are completed can you review it ? :wink:


add my name into index.html

@wtospit  contribute here https://github.com/Ishaan28malik/Get-Dev-Resources


Update code checks

The code checks also need to be updated.

FTR this can probably be dropped in favor of https://github.com/mesosphere/dcos-commons/pull/2644
BTW, It's interesting that the tests passed at c371110, i.e. before the code-checks fix commit?

Closing in favour of #2644


Paired aggregation clarity

This is just refactoring. I believe it improves the clarity of what is going on with the paired aggregations.  It also updates the old docstring that I hadn't fixed when I removed the global agg business.

Argh! It looks like the mocking in FiltersAndAggregationsBuilderTest has been bypassing some of the behaviour in FAAB.
There was some "pass through because we don't know what else to do with it" behaviour, which I replaced with E_NOIMPL to be more clear about exactly what this bit does, and to prevent surprises if we do start trying to implement pairing on different kinds of aggregations/filters.  The tests were relying on this passthrough behaviour.


Fix potential bugs from static analysis

Just reviewed InitWindow() implementation, void *datapointer is not used any more. Changes implemented in commit https://github.com/raysan5/raylib/commit/bbdf9f48806acba5cac2480c0f60f1840d322ece

@Martinfx thank you very much for all the code and formatting reviews! Please let me know when I could merge them.

Please merge. thank you M.


[Feature] Google Gemini models function calling - support for "Multi-turn" and support for "Tool choice"

https://ai.google.dev/gemini-api/docs/function-calling

This is implemented with the linked PR's, can be closed now

Awesome!


Unexpected input(s) 'androidAppBundle', 'androidKeystorePass', 'androidKeyaliasName', 'androidKeyaliasPass'

Hey thank you for the action!
I run into an issue when building for android :
##[warning]Unexpected input(s) 'androidAppBundle', 'androidKeystorePass', 'androidKeyaliasName', 'androidKeyaliasPass', valid inputs are ['unityVersion', 'targetPlatform', 'projectPath', 'buildName', 'buildsPath', 'buildMethod', 'versioning', 'version', 'androidVersionCode', 'customParameters']

And of course I get the following errors later :
UnityException: Can not sign the application
Unable to sign the application; please provide passwords!

###########################
#      Build results      #
###########################

Duration: 00:00:01.9352420
Warnings: 0
Errors: 2
Size: 0 bytes

Build failed!

Here's my workflow command:
  - uses<EMAIL_ADDRESS>      with:
          unityVersion: ${{ matrix.unityVersion }}
          targetPlatform: ${{ matrix.targetPlatform }}
          androidAppBundle: true
          androidKeystorePass: ${{ secrets.ANDROID_KEYSTORE_PASS }}
          androidKeyaliasName: ${{ secrets.ANDROID_KEYALIAS_NAME }}
          androidKeyaliasPass: ${{ secrets.ANDROID_KEYALIAS_PASS }}

To me it seems like i'm using the wrong version, but it's using the 1.1 so it should be good...
To note, it works perfectly for an iOs build.
Any ideas?

So these flags have only been added to actions.yml since after actions.yml v1.1 but the functionality was already implemented so technically these input parameters work.
Also note that master is more up-to-date than v1.1, but generally it's recommended to indeed just use the latest tag.
Unfortunately Android builds are currently not working pending an issue with the docker image.

Ok makes sens thanks.
I'll wait for a release then.


stdio exception

Related to https://github.com/elixir-tools/next-ls/issues/299

most likely will need to write a property test to figure this one out


Autotests: #5737 - autotests failed tests fixes

How the feature works? / How did you fix the issue?
(Screenshots, videos, or GIFs, if applicable)
Check list

[ ] unit-tests written
[x] e2e-tests written
[ ] documentation updated
[x] PR name follows the pattern #1234 – issue name
[x] branch name doesn't contain '#'
[x] PR is linked with the issue
[x] base branch (master or release/xx) is correct
[ ] task status changed to "Code review"
[ ] reviewers are notified about the pull request

Approved.


qt6 branch not getting tickbot updates ?

/cc @hmaarrfk

see https://github.com/conda-forge/qt-main-feedstock/issues/271

basically, its more than just this feedstock


Add merge rotation patterns for qml.Rot and qml.CRot

Context
In quantum circuits, two neighbouring rotation gates about the same rotation axis on the same wire can be merged into one, i.e. $R_x(a) R_x(b) = R_x(a+b)$.
In #1162, a merge rotation pass was implemented in Catalyst. The pass included qml.Rot/qml.CRot, but then it was realized that the angles in these two functions don't simply add when being merged, because y and z rotations do not commute. These two functions were removed from merge rotation pass in #1206 .
However, qml.Rot can be merged; it's just that the new angles of the merged gate are more complicated: https://docs.pennylane.ai/en/stable/code/api/pennylane.transforms.merge_rotations.html#details-on-rot
Goal
We should include qml.Rot and qml.CRot in merge rotation pass, with the full angle formulas, instead of just removing them from the pattern.
Requirements:

In Catalyst mlir, two neighbouring "Rot" gates, and two neighbouring "CRot" gates, should be merged into a single one, with the new angles appropriately given by the formulas linked to above.
The pass must not change the functionality (aka returned state/probabilities/...) of the circuit. This should be automatic if the formulas above are followed.
For CRot gates, since now two wires are taken in, merging should only happen if the two wires on both gates are in the same order. Note that we have a verifier analysis that checks this, and is already used by the existing merge rotation pass.

Technical details

Catalyst has its own mlir quantum dialect. The operation definitions are in QuantumOps.td. The operation of particular interest to us is the CustomOp, which corresponds to a general named gate, with the name being stored as a string.

To see what kind of input mlir the pass will receive, see merge rotation mlir test for an example. In particular, the "Rot" and "CRot" tests right now checks that no merging happens; they should be updated to check that the correct angles are produced and then used by the merged gate.

We currently already have merge rotation patterns for all other rotation gates. The pattern simply adds the two rotation angles, because the simple rotation gates can be easily merged like that. You can add the pattern for qml.Rot and qml.CRot to this same file.

You should not need to modify the actual merge rotation pass containing the pattern applicator, though you can if you wish.

To compile your pattern/pass, run make dialects from the top-level catalyst directory. This will build all passes in Catalyst and run all filecheck tests in mlir/test.

You can also invoke individual passes on an arbitrary input mlir file with catalyst/mlir/build/bin/quantum-opt, and use it like the standard mlir opt. At the top of each mlir test file, you can see how each pass is invoked.
You can use quantum-opt --help to see all available passes.

You might want to see what Catalyst mlir a frontend PennyLane python program would produce. To lower frontend PennyLane python code to mlir, you can use the keep_intermediate option in qjit. See here.

To apply the merge rotation pass from frontend PennyLane, you can use the catalyst.passes.merge_rotations decorator. See here for the documentation on a similar optimization, cancel_inverses,alongside how to use keep_intermediate, and here for merge_rotation.

Various mathematical operations, like sqrt and arctan, are in the mlir math dialect

Installation help
Complete instructions to install Catalyst from source can be found here. Note that due to the size of the llvm-project it can take a while (~3 hrs on a personal laptop) to compile.

Hi @paul0403,
In tackling the merging of qml.Rot and qml.CRot gates, I’m considering an approach that goes beyond simple angle addition due to the non-commutativity of Y and Z rotations. Specifically, based on your document, I’m using the Z-Y-Z Euler angle decomposition to calculate the combined rotations, treating each gate as a rotation matrix.
The steps involve:
Converting individual qml.Rot or qml.CRot angles into matrices.
Multiplying these matrices to get a composite rotation.
Converting the resulting matrix back to Euler angles, ensuring alignment with Z-Y-Z decomposition.
This approach aims to preserve the correct sequence and dependencies of rotations. Could you advise if this method is consistent with the intended use in Catalyst, or if adjustments are recommended?

Hi @Mohxen , I'll write up a more detailed response tomorrow. For now let me link you to the explicit formulas for the result rotation gate's angles in PennyLane's parametrization

Hi @Mohxen, I would advise against using the matrix approach for the following reasons:

While the encoding between a qml.Rot(a, b, c) and the rotation matrix is fixed, when converting a rotation matrix back to the angles, the logarithms of complex numbers will be involved, which might not be straightforward in mlir/cpp backend and require some extra work.
Matrix multiplication (MM) is an expensive process. While the merge rotation pass occurs at compile time, since Catalyst is a JIT compiler, the compile time is actually felt by the user (as the runtime of their first run). If possible, we'd like to avoid matrix multiplication if there is a scalar formula for the purpose. Also on this point, the product rotation matrix carries four terms, but we really just need one of these four terms to compute the new rotation angles, which means some computations are unnecessary in the MM approach.
In general, we do not want to associate gates to matrices in Catalyst. If you take a look at the quantum.customOp definition (point 1 in technical details above), you will see that the gates are characterized by name, not by matrices. This is because Catalyst is designed to be backend agnostic. For real quantum hardware, they don't use the notion of "gate = matrices" and perform the computations through MM. They just, well, do the computation.
Finally, if you feel like the explicit scalar angle formulas are too long, rest assured that since this is an assessment, we fully understand that you might have other commitments at the moment. There is no need to get everything perfect and production ready! Just do the best you can and we'll take it from there :wink: (Though the rotation matrices and the following extraction from production matrix to new angles are also quite complicated, so my gut feeling is the IR would probably be just as long in the matrix approach).

Don't hesitate to let me know if you need any help!

Hi @paul0403,
Thank you so much for the guidance and detailed points! I’m working to make this contribution usable within Catalyst, beyond just completing my assessment.
Using the scalar formulas from PennyLane’s documentation, I’ve implemented the approach in merge_rotation.cpp with MLIR’s Arith and Math libraries, and I’ve successfully passed make all and make test. Currently, I’m focusing on MergeRotationsTest.mlir, although I’m not entirely sure which specific checks we need, given that we already have existing tests for rot and crot.
Additionally, I’m setting up a frontend test in test_peephole_optimizations.py to observe the merged rotations' output, and I’m considering whether a new test is needed explicitly for this merge behavior.

@Mohxen Thanks for working on this. Can you open a PR? It would be easier to review.
You can fork catalyst repo, push to your fork, and make a PR to merge your branch into catalyst main branch. See, for example, what I did in my interview https://github.com/PennyLaneAI/catalyst/pull/458

Hi @paul0403,
Thank you for the feedback! I've followed your instructions and opened a pull request as you asked. The PR for my changes is available at #1270. This PR includes the merge rotation patterns for qml.Rot and qml.CRot with full-angle formulas, as discussed, and I have added tests to verify the merging behavior.
Could you please review my PR and provide any feedback? I’m happy to make any edits based on your suggestions.
Thank you again for your guidance!


CSS is no longer being minified when running less production task

need to update production task options to use use less-plugin-clean-css
options: {
  plugins: [
    new (require('less-plugin-clean-css'))
  ],
}

resolved by #61


[Request] More /claimbuy functionality

Hello,
So I am building a large server town for players to buy claims in, and the current system for buying claims is not great (unless I'm missing something). /claimbuy lists plots, but when there will be 100's of plots, you can probably see how this will cause problems. So I am requesting that if you use /claimbuy inside of a claim for sale, it'll purchase it, or use /claimbuy <claimname> to purchase the claim.
Thank you for your time,
~ Alice

Extending this to a sign would work very well.


FreakyTextInputLayout with maui toolkit validation

Hi there,
it would be nice to implements behaviors for Entry from communitytoolkit
For example: https://learn.microsoft.com/en-us/dotnet/communitytoolkit/maui/behaviors/text-validation-behavior
Problem: FreakyTextInputLayout  derives from ContentView and FreakyEntry is not binded, nor public.
Any idea on how to solve or implement this?
Thank'u!

Well I don't know if there is a direct way to do this, but what you could do is recreate your version of this Validator the original code which can be found here: https://github.com/CommunityToolkit/Maui/blob/main/src/CommunityToolkit.Maui/Behaviors/Validators/TextValidationBehavior.shared.cs
And, you could add some code to this behaviour that gets the Entry reference through FindByName and then apply the behaviour accordingly, Name for the View is here: https://github.com/FreakyAli/Maui.FreakyControls/blob/0de0401657edb3247c0e226a60ab577c05a5c504/MAUI.FreakyControls/MAUI.FreakyControls/Shared/FreakyTextInputLayout/FreakyTextInputLayout.xaml#L24
So in the OnAttach method you would do something like this:
public class TextValidationBehavior : Behavior<FreakyTextInputLayout>
	{
        protected override void OnAttachedTo(FreakyTextInputLayout bindable)
        {
            base.OnAttachedTo(bindable);
            var entry = bindable.FindByName("EntryField");
        }
    }

There is also a BehvaviorBase implementation in FreakyControls that you can use to get the AssociatedObject without creating a reference for it manually:
https://github.com/FreakyAli/Maui.FreakyControls/blob/master/MAUI.FreakyControls/MAUI.FreakyControls/Shared/Behaviors/BehaviorBase.cs
Hope this makes sense,
Feel free to ask any questions that come to mind...

Oh, thanks, i'll try!

It's fine, do let me know if you face any issues, and I will try to help you out, how much ever i can!

@SalvatoreDiFede Did you get anywhere with this?

@SalvatoreDiFede I will close this assuming you worked things out, you can always reopen this or create a new one if needed!

Thank'u @FreakyAli . Had no way nor time to implement this lately. Sorry


New sample color picker

Q
A

Bug fix?
no

New sample?
yes

Related issues?

What's in this Pull Request?
This sample pre defined palettes of colors by Microsoft documentation color enumeration in Power Apps that can be used in solutions as color picker. It's also include 2 additional colors palettes such us "12 sections" and "Basic" that can be used as color picker.
Thanks for your contribution! Sharing is caring.

Wonderful sample again my man @aaclage! 💜🧡


Upgrade ckjm's BCEL library version to 6.8.1 and add support for Java 11 syntax

I noticed that the current version of ckjm is using an older version of the BCEL library (6.0) and only supports Java 1.7 syntax. Since our project uses Java 11 syntax, I plan to upgrade ckjm's BCEL library version to the latest 6.8.1 and add support for Java 11 syntax.
I have performed the necessary upgrades and modifications, and conducted some testing. The new version of ckjm seems to work fine in a Java 11 environment. Now, I would like to contribute these changes to the project so that all users can benefit from them.

Great, thank you!


problems with geoviews bokeh backend

I was trying to work through the geoviews bokeh backend examples (http://geo.holoviews.org/Working_with_Bokeh.html)
The "WMTS Tile Sources" example fails with:
AttributeError:'TileRenderer' object has no attribute 'set'
The "Plotting Data " example fails with:
AttributeError: 'Figure' object has no attribute 'set'
I have a python3.6 Anaconda distribution (with bokeh 0.12.4) , and installed geoviews 1.2.0dev1, holoviews 1.6.2  using conda. On a machine running macOS 10.12.3.
Note that although the conda install was for geoviews 1.2.0dev1, the version yields 1.1.0.
I can provide more complete tracebacks (they are lengthy) if needed.
I am at a loss, there appears to be some problem in invoking bokeh.

See https://github.com/ioam/geoviews/issues/49, hopefully we'll have a 1.7 release by the end of next week.

Both holoviews 1.7.0 and geoviews 1.2.0 have been released so this should now be fixed. Please reopen if you encounter any issues.


Bug: Tags are not removed from the body in Live Preview

Tags are not removed from the body in Live Preview. In source mode everything seems to work fine.
This problem does not occurs in Linter version 1.23.0, so I think it is related to a change since then. The examples below are from 1.26.0
The following settings are active:

Move all tags to frontmatter of the document: true
Body tag operation: remove whole tag

Input:
#people

Output:
---
tags:
  - people
---#people

Input:

#people

Output:
---
tags:
  - people
---

#people

Input:
People

#people

Output:
---
tags:
  - people
---People
Ppeopl
e

Thanks for reporting this @kepano . I will have to take a closer look at this and see what is going on. Live Preview has been a real pain for me since it was introduced. Hopefully this will be an easy fix.

I am able to reproduce this in my integration tests. I am not quite sure what is going on here yet. But hopefully I can get to the bottom of this.

It looks like I have test case 1 fixed. I will have to check the other two cases.

I have something that looks to fix both cases mentioned, but sadly it breaks proper placement of the cursor in Live Preview. So I am not sure what is going on. I will need to take a break and look at this with fresh eyes.

Ok. I think I have this fixed thanks to some help. @kepano , do you use BRAT for the Linter? I am a little hesitant to make a regular release for the changes I just made for Live Preview. I am just not very familiar with codemirror. So I would prefer to make a BRAT release first.

I am going to close this since I believe this is fixed on master. I am hoping to create a BRAT release this week/weekend which should contain the change made to attempt to fix this.


Expose the request count off of IDocumentSession

Closes #195

I'd squash this into one commit

@danielmarbach thx. done


Peer to peer code review

[x] It would be nice if you remove Javascript from your README file
[x] The duration of your animation would be nice if it last for less than 5 sec or have an option to turn it of.

Contributors

Gdiazdiaz
Gjuliao
Ezra

Thanks for your review.


Updating libsodium to 1.0.16

I've tested this package remotely and have excluded all broken builds.
Here is the links to the Travis/AppVeyor with status "All passed":

https://ci.appveyor.com/project/saidinesh5/hunter/build/1.0.10
https://travis-ci.org/saidinesh5/hunter/builds/399551724

Testing:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.4158
https://travis-ci.org/ingenue/hunter/builds/399578317?utm_source=github_status&utm_medium=notification

Uploading:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.4159
https://travis-ci.org/ingenue/hunter/builds/399586042?utm_source=github_status&utm_medium=notification

Released: https://github.com/ruslo/hunter/releases/tag/v0.22.21


feat: DefinePlugin

Summary

Checklist

[ ] Tests updated (or not required).
[ ] Documentation updated (or not required).

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#6581
#6583  👈
#6580
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @h-a-n-a and the rest of your teammates on  Graphite

!bench

!eco-ci

!bench

!bench

!eco-ci

!bench

!eco-ci

!bench
!eco-ci

!eco-ci

!eco-ci

!bench

!eco-ci


create an xpi extension for firefox

title

That would be really cool if there was for firefox.

That would be really cool if there was for firefox.

it would make it easier all there is manual install shown from these videos
https://odysee.com/$/search?q=chatgpt advanced

Implemented, see readme.md


web.py only shows pokemon in a line

As the title state, when I run the web.py and browse to localhost:8000 the pokemons are only shown in a straightline, not in the entire grid.
Did I set this wrong up or is there an error?

What does your GRID line in config.py say?

I have the same issue, my GRID line in config.py is: GRID = (8,8)
Here is a screenshot to illustrate the issue:

That's expected shortly after running. Each worker has a good amount of points to scan (status bar should tell you how many), and it takes a couple of seconds for each point (depending on server load). Check out after each worker finishes its cycle, there should be more Pokemon on the map.

I'll double check whether algorithm for distributing points on map doesn't have any bugs, and whether worker actually visits all of them. Maybe order of visiting needs change.

@Bifros7 It says (3, 4)
@modrzew I kept it running for 2-3ish hours, but the pokemons stop showing after 1 hour. But the pokemons just dissapered from the map. The workers just get from left to right.

I still have this issue in 3.1 along with #44.  Not really sure why I'm only scanning in a straight line OR some workers error out on #44 and don't scan at all.  I went from 42 workers to 2 x 20 workers that seems to alleviate some of issue #44, but they still only really scan from a LEFT to RIGHT line from a NorthWest point of the worker point and scanns RIGHT of this imaginary line as shown in the above screenshot

Sorry for lack of update, I have dev branch with grid algorithm slightly revamped to start from worker's position (and also made sure that worker visits all of the points) AAAAAAAAAAND I decided this is the perfect time to refactor worker.py so that it uses pgoapi library, on the same branch. ETA? Tomorrow, maybe on Thursday.

Of course, by "Thursday" I obviously meant Saturday.
Anyway a few changes just landed in master, and worker should go in circles around its starting point - please check it out.


PHP-Proxy-App Error Log

Hi,
Is there somewhere that I can view an error log for PHP-Proxy-App?
Thanks,
Detronox

/var/log/apache2/error.log maybe?

I thought it may have some standalone error log. Thanks anyway.


Replace CRLF with LF

I think i did this correctly.

I'll take your word for it that the line endings is the only thing you've changed, since GitHub doesn't seem to produce a meaningful diff in this case :wink:.

It appears I did do it correctly.


Allow a retention policy to be passed when writing points.

I'm not sure if Writer::Async should implement this as well - it doesn't look like it (?).

+1 for  the ability to specify retention policy on write

@recurser Would you mind adding a quick snippet to the README to document this? I'll try to get this merged and cut a new release tomorrow. Thanks!

Apologies for the delay @toddboom - I've updated README.

@recurser awesome, thanks!


No such file or directory error

When I try any valet command I get:
`$ valet scan
PHP Warning:  file_get_contents(C:\Users\myself/.valet/config.json): failed to open stream: No such file or directory in C:\Users\myself\AppData\Roaming\Composer\vendor\vitr\valet4windows\cli\Valet\Filesystem.php on line 112
Warning: file_get_contents(C:\Users\myself/.valet/config.json): failed to open stream: No such file or directory in C:\Users\myself\AppData\Roaming\Composer\vendor\vitr\valet4windows\cli\Valet\Filesystem.php on line 112
PHP Warning:  Invalid argument supplied for foreach() in C:\Users\myself\AppData\Roaming\Composer\vendor\vitr\valet4windows\cli\Valet\Host.php on line 42
Warning: Invalid argument supplied for foreach() in C:\Users\myself\AppData\Roaming\Composer\vendor\vitr\valet4windows\cli\Valet\Host.php on line 42
`
Any ideas on how to fix this?
David

Fixed... using valet install


Updating (admin)plugin 30 seconds timeout

Hi, trying to update admin plugin I get a "Maximum execution time of 30 seconds exceeded"  meaning the plugin wasn't updated successfully, and as result, the whole admin area is throwing a woops error "One of the required plugins is missing or not enabled". The installation is from http://getgrav.org/downloads (GRAV CORE + ADMIN PLUGIN) on localhost.

Make sure Login, Form and Email plugins are installed. You can also install them from the command line.

Make sure Login, Form and Email plugins are installed

They were installed, by default
I re-installed all by unzipping again and copying my user account file from the old installation.
I raised this issue because it might be good to increase maximum execution time (set_time_limit) when updating plugins. Also wanting to inform that unsuccessful update of a plugin will break the admin interface

Thanks for pointing that out, will keep this open

Hi, the same issue here if i save a new or updated page.
this generates an 96% occupancy rate for my old bananaPi.

This could be related to the fact that we had not updated the 'clean' command recently. This means that the bundled vendor folder is full of extraneous stuff like tests, docs, etc.  I've updated this and re-released admin+email plugins which should now have smaller packages. It might just be overloading your pi because PHP unzip is not the most efficient thing.


Improved rumqttc event loop check.

The CI failure in the plugins test is because an external web server is returning a different error from the one we expected; it has nothing to do with this PR and can be overridden (assuming there are no other failures)

@suneetnangia Is this intentionally still draft?  No rush, just checking that it's deliberate.

@suneetnangia Is this intentionally still draft? No rush, just checking that it's deliberate.
We can merge now, I was trying to see if there's any better way, will raise subsequent PR as needed but for now it brings stability to the publish part.

@vdice Can you force merge this please?  The CI error is unrelated to the PR.

Since our last comment here, I've tested a better solution (as I alluded to) with a few thousand messages (100k or so). Update on it's way.

@vdice sorry, please hold off, still some changes happening after all

Thank you @suneetnangia and enjoy your break!


Behringer X-AIR DCA fader adjust & fader set (Companion 2.1.1 (acb83e9-2660))

Companion crashes when using the fader adjust commands for the DCA masters in this beta version.
The fader set function is not working for the DCA masters.
I tried the channels, SUBS and LR master. They are working fine.
But with hno programming background I've got no clue where to look for in all the coding ;-)
Thanks for your time and effort to check this error. This beta is a huge update for the X-Air series!

I'll check this today.

Thanks for your quick reply and solution!

May I ask what is the best way to update the module?
I am asking because I was trying to set use companion to set DCA fader level yesterday, but there was no response from the mixer; and I suspect that the above mentioned fix could be applied to fix the same issue that I was having too.
Thanks!

@enochchan  There is no individual module update. The fix/patch is applied to the module then Companion is completely rebuilt. You need to download the latest version of Companion.

@enochchan  There is no individual module update. The fix/patch is applied to the module then Companion is completely rebuilt. You need to download the latest version of Companion.

Thank you for the reply and will try soon!


Are there any plans to use smartparens?

Hello
I found that the behavior of paredit is sometimes annoying...
Thank you.

Nope. I've tried smartparens a couple of times in the past, and found it no better than paredit for Lisp, and equally sometimes-annoying for other languages.

@haifenghan which feature(s) of smartparens do you particularly recommend that we don't see from the combination of electric-pair and show-paren minor modes?

Such as:
sp-rewrap-sexp is an interactive compiled Lisp function in ‘smartparens.el’.
Examples:
(foo |bar baz) -> [foo |bar baz]   ;; [
(foo |bar baz) -> [(foo |bar baz)] ;; C-u [

And paredit maybe be used in Lisp mode only.

purcell doesn't want it, but that is why he provides init-local.el
something like this should get you started,
(when (maybe-require-package 'smartparens)
  (remove-hook 'after-init-hook 'electric-pair-mode))

but I tried to use sp-rewrap-sexp and I always get errors like, "Impossible pair prefix selected: (" so I am probably using it wrongly.

Hi @dcorking
Do you know where to add (require 'smartparens-config)?

Hi @dcorking
After adding your code and creating a file named init-local.el under .emacs.d/lisp, there is an error as follows:
Warning (initialization): An error occurred while loading ‘/home/haifeng/.emacs.d/init.el’:

error: Loading file /home/haifeng/.emacs.d/lisp/init-local.el failed to provide feature ‘init-local’

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file.  Start Emacs with
the ‘--debug-init’ option to view a complete error backtrace.

@haifenghan
Add (provide 'init-local) to the footer of your init-local.el file.
In addition (require 'smartparens-config) should be added to (when (maybe-require-package 'smartparens) ...).
Please make good use of Google.

@re-mx
Thanks.
Following your suggestion, (require 'smartparens-config) still doesn't work for me.

@haifenghan
(when (maybe-require-package 'smartparens)
  (require 'smartparens-config)
  (remove-hook 'after-init-hook 'electric-pair-mode)
  (add-hook 'after-init-hook 'smartparens-mode))

Is your code like this?
Sorry, my English is very poor and may have caused you misunderstanding.

The code is as follows:

However, there are no shortcut keys for smartparens after enabling smartparens-mode.

Replace (add-hook 'after-init-hook 'smartparens-mode) with (add-hook 'after-init-hook 'smartparens-global-mode)`.

Hello @re-mx
Can you use the default short-cut keys?
I still can't use it.


How can I combine merge_template with merge_rows?

I have a document with many pages, and in each page there is a table that needs to be filled in.
I noticed that document.merge_template works fine for specific fields, but doesn't work for tables with multiple rows like document.merge.
Is there a way around this? Perhaps a for loop?
Thanks in advance for any help!

Hi Lucas,
It actually does work with tables, I have just got it going now. There is however a bug which if you have a blank table, it seems to get replaced with one of the other merge templates table rows instead.
I'm going to put a bug report in for that now, not that I am optimistic it will ever get solved :)


#666 | Fix doublespeak bug

Closes #666
This bug fixes an issue where the first phrase spoken in any category would be spoken twice (only reproduces if you select via head-gaze)
Testing Notes
This PR touches some code in the CarouselGridCollectionViewController, which controls the paging functionality throughout the home screen of the app. Please pay special attention to the following area while testing, to ensure we catch any possible regressions:

Phrase selection via head-gaze AND touch
Phrase selection after switching categories
Phrase selection after changing pages within a category
Multiple page changes (e.g. pressing the back button numerous times to cycle through the pages)

I started on develop and was able to reproduce the errant behavior. From there I switched over to this PR branch and confirmed the fixed behavior with the areas of emphasis that Robbie stressed. Everything looks good. I didn't find any bugs, using head-gaze or touch, for phrase selection via switching categories or pages w/in a category. I also tested out the pagination on the Categories list and Category Details > Edit Phrases screens. I'm confident that this is a good fix.

[ ] Phrase selection via head-gaze AND touch
[ ] Phrase selection after switching categories
[ ] Phrase selection after changing pages within a category
[ ] Multiple page changes (e.g. pressing the back button numerous times to cycle through the pages)

Devices I used for testing:

iPhone 8 Plus - 14.8.1
iPhone X - 14.2
iPad Pro - 15.3.1


Does not work in alpine

Get bash: /bin/cds: No such file or directory when trying to run cds in alpine based docker container. This is due to missing libraries on alpine.
https://users.rust-lang.org/t/building-executable-for-alpine-linux/13568
It's probably worth updating the build to produce a fully static binary on linux
https://doc.rust-lang.org/edition-guide/rust-2018/platform-and-target-support/musl-support-for-fully-static-binaries.html

0.5.0 linux binary works in alpine with no additional libraries


expose loggingPrefs api

In order to get console logs from the WebDriver for Chrome, users have to type
caps := selenium.Capabilities{}
caps["loggingPrefs"] = map[string]string{"browser": "ALL"}
return selenium.NewRemote(caps, addr)

(That "ALL" is a filter level.)
It would be nice if this was wrapped in an explicit API. (Maybe I missed something in the current API though?)

Thanks for the feedback!
Would the API provided in  the new logging branch meet your needs?
Here are two example uses:
var caps selenium.Capabilities
caps.SetLogLevel(log.Browser, log.All)

or
var caps selenium.Capabilities
caps.AddLogging(log.Capabilities{
  log.Browser: log.All,
})

That's great. Thank you!

I've merged this just now. Thanks again for the feature request. Please feel free to re-open this issue if something doesn't work as expected or can be improved.

Sorry to comment on a dead thread. This is not working for me. I am unable to see any console output.
I have done this -
caps.AddLogging(selLog.Capabilities{selLog.Browser: selLog.All})

And then
_, err = wd.ExecuteScript(`console.log("hi there")`, nil)

And this is what I see -
14:21:40.202 INFO - To upstream: {"args":[],"script":"console.log(\"hi there\")"}
14:21:40.223 INFO - To downstream: {"value":null}
2018/07/14 14:21:40 <- 200 OK [[application/json;charset=utf-8]]
{
    "value": null
}

What am I missing ?

I also encountered this. I was able to start seeing logs with selenium.Output, basically the opposite that was suggested in: https://github.com/tebeka/selenium/issues/193.
This is quite noisy, so to reduce it down, you can do something like:

type filterWriter struct {
	w io.Writer
}

func (f *filterWriter) Write(p []byte) (n int, err error) {
	if bytes.Contains(p, []byte("CONSOLE(")) {
		return f.w.Write(p)
	}
	return len(p), nil
}

var opts []selenium.ServiceOption
opts = append(opts, selenium.Output(&filterWriter{os.Stderr}))
service, err := selenium.NewChromeDriverService("chromedriver", 4444, opts...)
if err != nil {
	return nil, fmt.Errorf("error starting the ChromeDriver server: %w", err)
}