carlogicapi

Hi,
Can you provide me some insights about the code that you wrote like how I can attack the cars and where I can exactly change the speed?
Cheers,
Farhan

Hi Greg,
Thanks a lot for the info, can't appreciate enough for this.
Regrads,
Farhan
On Sat, May 19, 2018 at 1:22 AM, Greg Cowan<EMAIL_ADDRESS>wrote:

Hi Farhan,
We stopped working on this project last year, but there is decent
documentation that may be able to answer some of your questions. The wiki
https://github.com/burtonwilliamt/carlogicapi/wiki has some examples.
Otherwise I suggest looking on the Veins website, or the Sumo one.
The general idea though is that Veins connects a OMNeT++ network simulator
and SUMO a vehicle simulator. You can change the speed of the cars in the
example Veins project in the SUMO configuration file
https://github.com/burtonwilliamt/carlogicapi/blob/master/tutorials/VeinsTutorial/simulations/demo.rou.xml
.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/burtonwilliamt/carlogicapi/issues/19#issuecomment-390242027,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG30qh6--PxvGOynm-8SxpmPnVD3mtl-ks5tzucegaJpZM4T9Rpu
.


Deprecate get_window

To me the get_window function seems to have some conceptional problems:
In most cases it serves no real purpose besides reshuffling the function call: These two are equivalent, so why use get_window in the first place?
scipy.signal.windows.cosine(16)
scipy.signal.windows.get_window('cosine', 16)

And obfuscates the window function API with some weird tuple-syntax. The first one is readable with no scipy knowledge, the second one is weird:
scipy.signal.windows.kaiser(16, beta=1.0)
scipy.signal.windows.get_window(('kaiser', 1.0), 16)

I can see the reasoning that you may want to parameterize the window function from outside your code, but using functools you can achieve the same and result in a much more descriptive and transparent code:

making it clear what is being used (scipy.signal.windows.kaiser)
making it clear what parameter being partialled out
can be mocked easily

winfunc = functools.partial(kaiser, beta=1.0)
# ...
winfunc(16)

get_window uses a very opaque API (a tuple with some special meaning) that needs people to

Go dive deep in the code to find out where winfunc is later being used, discover it is a call to get_window
Then read the get_window docs to understand what is going on
needs monkeypatching of scipy to be mocked

winfunc = ('kaiser', 1.0)
# ...
get_window(winfunc, 16)

Another advantage I can see is that you can parameterize the window function as a string, if you really need to, however this can also be done using getattr, too.
getattr(scipy.signal.windows, 'boxcar')(16)
scipy.signal.windows.get_window('boxcar', 16)

Also, get_window is quite closely coupled with each window's interface, doing parameter resolution and checking that should be

done by the window-function
defined and documented by the window-function interface

get_window replaces that "nice Python function API" with a few lines of code that is superfluous, hard to understand and hard to test.
Hence I suggest deprecating get_window and ask people to use the window functions directly.

The only advantage I can see is that you can parameterize the window function as a string

Isn't this the main purpose?  So you can do firwin(100, 0.1, 'nuttall') (handles fftbins=False for you) or periodogram(x, fs, 'hamming') (fftbins=True), and you don't need to change your imports each time you change the window function?

I would argue it is a bad practice, then.
from scipy.signal import window

firwin(100, 0.1, 'nuttall')
periodogram(x, fs, ('kaiser', 0.1))

is more opaque and less testable than
from scipy.signal import window
from functools import partial

firwin(100, 0.1, window.nuttall)
periodogram(x, fs, partial(window.kaiser, beta=0.1))

and would in some cases produce nicer error messages, too. Imagine
from scipy.signal import window

firwin(100, 0.1, 'nonsense')
firwin(100, 0.1, window.nonsense)

the first line will show some obscure error in scipy/signal/windows.py whereas the second line will point to the mistake in your script.

If you want to deprecate get_window you need a plan for how to get there.  Get window is used a number of places in signal.  All of those uses (firwin, 'firwin2', 'resample', periodogram, welch + the rest of the spectral estimation functions) will need to have the string form deprecated as well.  The question is then, is that worth it? In addition to requiring that anyone else using it also change their code.
Perhaps a better approach would be to add to get_window so that passing a function or an array to it would also return reasonable results.  The spectral estimation functions already special case their handling of the window parameter to allow an array to be passed in as the window. This then allows the usage pattern you'd like to see supported and doesn't result in breaking code that has long worked. I'm a solid +1 for supporting the interface you'd like, but I don't think breaking existing code is worth it in this case since there is a path forward that doesn't require it.

More discussion on this happened in gh-6895. About 6 people weighted in, all against removing get_window. So closing this as wontfix. Thanks for the discussion everone.


Sort Dot Product correctly

Problem Statement
When we use dot product as distance metric, the bigger the value is, the more similar two vectors are, so we should either use argmax(dot_product(v1, v2)) or argmin(neg(dot_product(v1, v2)) for index sorting.

Fixed in #1160


feat: Renders Explore in SPA

SUMMARY
Renders Explore in SPA under /explore. Previously, Explore was displayed under /superset/explore. This will open a number of possibilities for in-context features and also reduce the development complexity associated with keeping multiple React applications.
This PR also replaces SPA-related Explore navigation with React Router and removes the previous entry point files.
Follow-up of https://github.com/apache/superset/pull/20519
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
https://user-images.githubusercontent.com/70410625/176955027-010c15b7-d3a7-4537-86ef-c8d7e40a6384.mov
TESTING INSTRUCTIONS
We need to test all features that are associated with Explore, like:

Navigate from multiple places to Explore (welcome page, charts list, add a chart, dashboard, etc)
Refresh the Explore page and check if the content persists
Check permalinks
Check Explore save flow

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

@michael-s-molina Thank you very much for this long awaited PR
Do you plan to make switching between Home, Dashboard, Chart, SQL Editor and Data tabs in SPA without reloading the browser?

We need to replace links to Explore from Datasets List - we still use <a> there. However, I'm fine with doing that in a separate PR, since there's an edge case to consider - dataset can link to an external website instead of explore, and for external websites we can't use React Router links. We probably should first create a generic link component, which would detect if url is internal (if so, use React Router link) or external (use HTML anchor)

/testenv up

@michael-s-molina The results data pane seems lost.

Works for me 🤔

@michael-s-molina The results data pane seems lost.

Works for me 🤔

Could you try to close the Results Pane and open a new tab?

I have tried open some example charts, i also saw the issue that result/samples are missing, however example chart 'Most Dominant Platforms' is working fine
https://user-images.githubusercontent.com/81597121/177279948-8ffdfa0d-76b2-41a3-8d95-0edd7d90b4f8.mov

Found 2 issue when switching chart:
1, when i switching area chart to pie chart and big number, area chart will non-stop flashing before user update the chart
https://user-images.githubusercontent.com/81597121/177281177-f8da6e33-4d95-47e5-9524-0177f48ea251.mov
2, change chart to pie chart and big number chart through viz switchers, the chart will keep zoom out itself
https://user-images.githubusercontent.com/81597121/177281574-8822faac-e356-439b-aa79-0a0f3c5054f4.mov

Thanks for spotting that @zhaoyongjie @jinghua-qa ! The problem was that after using the SPA html template, the structure of the page changed a bit and the height of Explore container wasn't calculated correctly. I pushed a fix for that and confirmed that results pane is now displayed correctly when it's closed.
@jinghua-qa I couldn't repro the problem with flashing/zooming, but it looks to me like it's connected to calculating the page height. Hopefully my latest commit fixes this issue as well

/testenv up

@michael-s-molina Thank you very much for this long awaited PR Do you plan to make switching between Home, Dashboards, Charts, SQL Editor and Data tabs in SPA without reloading the browser page?

Hi @EugeneTorap. That's the plan for the whole SPA project. We're tackling it in phases so some of the pages may still be reloading.

Thanks for spotting that @zhaoyongjie @jinghua-qa ! The problem was that after using the SPA html template, the structure of the page changed a bit and the height of Explore container wasn't calculated correctly. I pushed a fix for that and confirmed that results pane is now displayed correctly when it's closed.
@jinghua-qa I couldn't repro the problem with flashing/zooming, but it looks to me like it's connected to calculating the page height. Hopefully my latest commit fixes this issue as well

Thank you for submitting the fix! I'm just waiting for @zhaoyongjie and @jinghua-qa's approval to merge it.

We need to replace links to Explore from Datasets List - we still use <a> there. However, I'm fine with doing that in a separate PR, since there's an edge case to consider - dataset can link to an external website instead of explore, and for external websites we can't use React Router links. We probably should first create a generic link component, which would detect if url is internal (if so, use React Router link) or external (use HTML anchor)

Good point. Let's tackle it in a separate PR 😉


Generated resource definition from state diagram

Possibly using TH quasiquotes

Example of state diagram:
[] --> CardReaderIdle
EatingCard --> CardReaderReleased : trans
EjectingCard --> CardReaderReleased : trans
CardReaderIdle --> CardInserted : trans
CardReaderIdle --> CardInvalid : trans
CardReaderIdle --> CardReaderReleased : ReleaseReader
CardInvalid --> EjectingCard : AckInvalidCard
CardInserted --> EatingCard : EatCard
CardInserted --> EjectingCard : EjectCard
CardReaderReleased --> CardReaderIdle : EnableCardReader
CardReaderReleased--> []


Double reading problem in Windows

Minimal reproducible program later, but here's what the symptoms looks like:
> tteesstt  -- I typed test
> tteesstt> -- Then I pressed enter
>
> >
>
>

Seems to be a crossterm issue lol: crossterm-rs/crossterm/issues/772
The fix seems relatively easy but I don't use Windows so I couldn't test it... a PR would be much appreciated :)
I think this is a recent crossterm bug, so maybe downgrading the version would work as a temporary fix

Should be fixed by #14


Make configurable how many commands are executed per tick

Can it be made configurable how many commands are executed per tick? Ever since updating from Buycraft 6.8 to BuycraftX couple of days ago, I'm noticing some issues with PEX when adding multiple permissions for the same user.
 When 2 permissions are added at the exact same time it sometimes causes only 1 permission to be added. This was not a problem in Buycraft 6.8 because execution time of commands was capped at 0.5 milliseconds per tick.

Any plans on this being added?

There isn't any plan to implement a feature such as this at the moment - you are more then welcome to fork the plugin or to submit a patch to add support for this which we will of course consider, but at this moment in time there is no plan in our roadmap to add a change such as this.

It really isn't a significant change, not sure why you are against adding it.
PR:
https://github.com/BuycraftPlugin/BuycraftX/pull/115


fixed writing documents to the replica if an error happened

if a documents failed to be written on the primary
shard after preprocessing succeeded, the record was
still written to the replica

lgtm


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter seko for common errors and appropiate suggestions to keep this adapter up to date.
This check is based the current head revisions (master / main  branch) of the adapter repository
Please see the result of the check below.
ioBroker.seko
   -
ERRORS:

[ ] :heavy_exclamation_mark: [E029] Node.js 16 is required as minimum, node.js 18 is recommended. Please adapt "{'engines' : { 'node' >= '14.0.0' } }" at package.json.
[ ] :heavy_exclamation_mark: [E033] @iobroker/adapter-core 2.6.2 specified. 3.1.4 is required as minimum, 3.1.6 is recommended. Please update dependencies at package.json
[ ] :heavy_exclamation_mark: [E036] @iobroker/testing 4.1.0 specified. 4.1.3 is required as minimum,  4.1.3 is recommended. Please update devDependencies at package.json
[ ] :heavy_exclamation_mark: [E162] js-controller 3.2.0 listed as dependency but 4.0.24 is required as minimum, 5.0.19 is recommended. Please update dependency at io-package.json.
[ ] :heavy_exclamation_mark: [E405] Icon must be in the following path: https://raw.githubusercontent.com/TA2k/ioBroker.seko/main/; correct sources-dist.json
[ ] :heavy_exclamation_mark: [E407] Meta URL must be equal to https://raw.githubusercontent.com/TA2k/ioBroker.seko/main/io-package.json; correct sources-dist.json
[ ] :heavy_exclamation_mark: [E426] Icon must be in the following path: https://raw.githubusercontent.com/TA2k/ioBroker.seko/main/; correct sources-dist-stable.json
[ ] :heavy_exclamation_mark: [E428] Meta URL must be equal to https://raw.githubusercontent.com/TA2k/ioBroker.seko/main/io-package.json; correct sources-dist-stable.json

WARNINGS:

[ ] :eyes: [W040] "keywords" within package.json should contain "ioBroker"
[ ] :eyes: [W105] Missing suggested translation into uk of "common.titleLang" in io-package.json.
[ ] :eyes: [W109] Missing suggested translation into uk of "common.desc" in io-package.json.
[ ] :eyes: [W115] "common.tier" is required in io-package.json. Please check https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/objectsschema.md#adapter.
[ ] :eyes: [W145] Missing suggested translation into uk of some "common.news" in io-package.json.
[ ] :eyes: [W181] "common.license" in io-package.json is deprecated. Please define object "common.licenseInformation"
[ ] :eyes: [W184] "common.main" is deprecated and ignored. Please remove from io-package.json. Use "main" at package.json instead.
[ ] :eyes: [W184] "common.materialize" is deprecated for admin >= 5 at io-package.json. Please use property "adminUI".
[ ] :eyes: [W515] Why did you decide to disable i18n support?

:thumbsup: No suggestions found
Please review issues reported and consider fixing them as soon as appropiate.
Errors reported by repository checker should be fixed as soon as possible. Some of them require a new release to be considered as fixed. Please note that errors reported by checker might be considered as blocking point for future updates at stable repository.
Warnings reported by repository checker should be reviewed. While some warnings can be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
You may start a new check at any time by adding the following comment to this issue:
@iobroker-bot recheck
Please note that I (and the server at GitHub) have always plenty of work to do. So it may last up to 30 minutes until you see a reaction. I will drop a comment here as soon as I start processing.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
@mcm1957 for evidence
Last update at Fri, 06 Sep 2024 10:18:13 GMT

Issue outdated due to RECREATE request. Follow up issue #7 has been created.
This issue will be closed.
your
ioBroker Check and Service Bot


fix: optimize some bit functions

Which issue does this PR close?
Part of #679 and #670
Rationale for this change
The improvement could be negligible in real use cases, but I see some improvements in micro benchmarks
What changes are included in this PR?
Optimizations in some bit functions
How are these changes tested?
Existing tests

It would be nice to have a criterion benchmark as part of the PR

@andygrove
bit_util/get_value/i32_num_bits_8
                        time:   [781.53 ps 797.98 ps 818.12 ps]
                        change: [-14.395% -11.959% -9.4057%] (p = 0.00 < 0.05)
                        Performance has improved.
bit_util/get_value/i32_num_bits_32
                        time:   [599.30 ps 605.37 ps 613.10 ps]
                        change: [-21.472% -14.798% -7.3131%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 13 outliers among 100 measurements (13.00%)
  13 (13.00%) high mild

bit_util/read_u64       time:   [662.74 ps 667.79 ps 675.09 ps]
                        change: [-44.346% -43.866% -43.140%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
  2 (2.00%) high mild
  2 (2.00%) high severe
bit_util/read_u32       time:   [640.71 ps 641.86 ps 643.37 ps]
                        change: [-84.385% -84.321% -84.263%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 15 outliers among 100 measurements (15.00%)
  4 (4.00%) high mild
  11 (11.00%) high severe
bit_util/get_u32_value  time:   [2.0853 ms 2.0860 ms 2.0868 ms]
                        change: [-28.295% -28.107% -27.945%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high mild

The baseline of read_u64(...)/read_u32(...) are read_num_bytes_u64(8, ...)/read_num_bytes_u32(4, ...)
Reverted the changes for trailing_bits as no significant differences are observed.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 34.54%. Comparing base (c1b7c7d) to head (b3332f2).
Report is 10 commits behind head on main.

Additional details and impacted files
@@              Coverage Diff              @@
##               main     #718       +/-   ##
=============================================
- Coverage     53.66%   34.54%   -19.13%
- Complexity      810      823       +13
=============================================
  Files           107      110        +3
  Lines         10265    43305    +33040
  Branches       1930     9714     +7784
=============================================
+ Hits           5509    14960     +9451
- Misses         3781    25418    +21637
- Partials        975     2927     +1952

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@parthchandra do you have any more feedbacks?
cc @comphead @huaxingao @viirya

Plan to merge this today

Merged, thank you @andygrove @parthchandra @comphead


training with batch size =1 has too low performance

Hi Xuebin Qin,
Thank you for your great work. However, I have a problem. When I train your model with batch size =1, it has too low performance that is far from batch size=8. How to train with bach size=1 and still have good performance?
Thank you

Thanks for your interest. Yes, the batch size does matter in the training process. I think you can try to use different normalization methods, e.g. group norm, instance norm or layer norm, which doesn’t require large batch size. They may or may not help.

On Jun 26, 2020, at 8:39 AM, vince<EMAIL_ADDRESS>wrote:
Hi Xuebin Qin,
Thank you for your great work. However, I have a problem. When I train your model with batch size =1, it has too low performance that is far from batch size=8. How to train with bach size=1 and still have good performance?
Thank you
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/NathanUA/BASNet/issues/42, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADSGORIXG3IQQFYZQF2ZGGTRYSXLLANCNFSM4OJMOSLA.

Thank you for your reply. My advice is really effective. Performance has improved significantly.


Microsoft Team - Presentation - Fr Translation

Cannot find the fr translation GH repo
https://docs.microsoft.com/fr-fr/MicrosoftTeams/Teams-overview

I will take care of this one


Cleaning reader and compiler

Description
I refactored some classes related to the Reader and Compiler without altering its functionality.
Changes

Declared classes as strict and final.
Removing unnecessary else statements due to return early.
No logic was altered.
Quasiquote

I rearranged the class methods: moving the private after the public one.

It's merged now.


Add support for cycle time remaining on Dryer and Washer

Can you please add the cycle time remaining on the washer and dryers. I can get this information from the LG app, and it would be very very handy to have in Home Assistant. Thanks!

Remaining time is already available as sensor and extra attribute. Please attach diagnostic file if you don't find this information.

Can we close this?

Yep, found it no problem once I had a proper look. Thanks!

@mattames - How did you added the remaining time attribute. In my case it's disabled "This entity is unavailable."

Hi @emog, from memory I simply found the disabled entities and clicked enable, then added them to a card. It was very straightforward with no tricks required.


Datepicker template error messages not getting styled

This is, I feel, as much an oversight from the angular material team themselves as it is with your templates, but here goes:
On normal inputs, everything gets wrapped in an md-input-container, including the ng-messages block. Then error classes are bubbled up to md-input-container, which allows for an easy cascade of styling, because the ng-messages block inherits the classes whenever there's an error.
Being incompatible with the md-input-container, the md-datepicker is kind of left out in the cold, and with a default theme applied its error messages don't show proper styling.
JSbin: here
With some fairly trivial CSS, I'm able to style a similarly-situated vanilla datepicker with the sibling attribute selector.
md-datepicker.ng-invalid ~ [ng-messages],
md-datepicker.ng-invalid ~ [ng-messages] [ng-messages-exp]{
  font-size: 12px;
  line-height: 14px;
  overflow: hidden;
  transition: all .3s cubic-bezier(.55,0,.55,.2);
  opacity: 1;
  margin-top: 0;
  padding-top: 5px;
}

md-datepicker.ng-invalid ~ [ng-messages],
md-datepicker.ng-invalid ~ [ng-messages] [ng-messages-exp]{
  color: rgb(221,44,0);
}

But this fragile solution doesn't work on the formly material datepicker, because of the additional wrapper div in its template. (Which seems to have, perhaps, been intended to receive the ng error classes, but didn't...?)
What I've done as an inadequate patch is just force all ng-messages within the formly-field-datepicker div to always be the 'alert' color... but this is a sad monkey-patch, for a problem that must surely be affecting more than just me. :(

@ejbaker I will check it tomorrow :) For now you can overwrite datepicker field.

Sadly that's only half the battle. I also need to open a support ticket with Angular Material itself, I think, because all the CSS really expects md-input-container to exist.
    md-input-container .md-input:invalid {
      outline: none;
      box-shadow: none; }
md-input-container:not(.md-input-invalid) .md-auto-hide .md-input-message-animation {
    opacity: 0;
    margin-top: -100px; }
 md-input-container .md-input.ng-invalid.ng-dirty {
    padding-bottom: 0;
    border-width: 0 0 2px 0; }

(It's difficult to pull out the theme'd CSS, since it's generated in a bunch of style tags. But there's one reference to ng-invalid in conjunction with md-select, and nowhere else.)
But that's not your problem. ;) Thanks for your attention!


Fix: Use PlatformDispatcher.onError in Flutter 3.3

:scroll: Description

Closes #988
:green_heart: How did you test it?
Added unit tests. Some expectations that were run in a closure would always evaluate as passed. Moved those out fo we don't have false positives anymore.
:pencil: Checklist

[x] I reviewed submitted code
[x] I added tests to verify changes
[ ] I updated the docs if needed
[x] All tests passing
[x] No breaking changes

:crystal_ball: Next steps
Should we update the documentation to reflect the change?

@denrase based on what I understood from https://github.com/getsentry/sentry-dart/issues/988
We'd do a try catch with NoSuchMethodError in order to detect if PlatformDispatcher.onError is available and use it automatically instead of having a boolean flag that has to be specified to the user, didn't work?

@denrase based on what I understood from #988 We'd do a try catch with NoSuchMethodError in order to detect if PlatformDispatcher.onError is available and use it automatically instead of having a boolean flag that has to be specified to the user, didn't work?

nvm, the method isOnErrorSupported was already builtin.

Codecov Report
Base: 90.48% // Head: 91.37% // Increases project coverage by +0.88% :tada:

Coverage data is based on head (1a43cf1) compared to base (b016e63).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1039      +/-   ##
==========================================
+ Coverage   90.48%   91.37%   +0.88%
==========================================
  Files         114        9     -105
  Lines        3572      197    -3375
==========================================
- Hits         3232      180    -3052
+ Misses        340       17     -323

Impacted Files
Coverage Δ

dart/lib/src/sentry.dart

dart/lib/src/protocol/dsn.dart

dart/lib/src/protocol/sentry_thread.dart

dart/lib/src/utils/hash_code.dart

.../lib/src/enricher/io_enricher_event_processor.dart

...rc/client_reports/noop_client_report_recorder.dart

dart/lib/src/protocol/debug_meta.dart

...event_processor/deduplication_event_processor.dart

dart/lib/src/sentry_stack_trace_factory.dart

dart/lib/src/protocol/sentry_device.dart

... and 95 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@denrase there are lint issues:

info • Unused import: 'binding_utils.dart' • lib/src/sentry_flutter.dart:9:8 • unused_import
info • The member 'callAppRunnerInRunZonedGuarded' can only be used within its package • lib/src/sentry_flutter.dart:68:9 • invalid_use_of_internal_member

@marandaneto Can't reproduce the lint error error below locally, do you have a guess?

That's not a problem, something we already discussed before:
https://github.com/dart-lang/pana/issues/1020

@denrase there's a bug here, OnErrorIntegration isn't executing correctly because the binding is null and it returns.
Test out if errors are being captured correctly with the new (onError) and old integration (zonedGuard).

@denrase

Should we update the documentation to reflect the change?

Let's amend the docs that runZonedGuarded is run when PlatformDispatcher.onError isn't available.


add constants and structs for vsock on macos

Verified by connecting from inside a VM to the host on a mac.

Thanks! @bors r+

:pushpin: Commit 5234f346c1eae8485307ac238cfd0c6356849706 has been approved by JohnTitor
It is now in the queue for this repository.

:hourglass: Testing commit 5234f346c1eae8485307ac238cfd0c6356849706 with merge 972b91c3c691df40e6c05fdfa0cebe804083760c...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13, checks-cirrus-freebsd-14
Approved by: JohnTitor
Pushing 972b91c3c691df40e6c05fdfa0cebe804083760c to main...


Drop im2col for VAE since it crashes the driver

This is for untuned models.

Oh I didn't see the auto-merge. If we want we can remove the extraneous detach-elementwise pass.


Release as a universal wheel

By releasing as a Python wheel as well as a source distribution, you can speed up end user’s installs. After merging this command, to release you just need to run python setup.py clean sdist bdist_wheel upload.

Thanks for your contribution. This is planned for version 3.0. Version 2 is currently in maintenance mode and only accepting bug fixes at this time. I'll leave this open to remind us to do this for version 3.

Cool thanks

This change doesn't affect the codebase, but I think setup.py looks fairly advanced and would require special testing on at least Windows in order to see that the .whl can still be installed. Python-Markdown doesn't use data_files for  setup() which would definitely break.
@waylan I don't think you should push it all the way to 3.0 but maybe introduce it in the 2.7 series?

@benjaoming there will be no 2.7 series. Which is why I'm rejecting all changes which are more than simple bugfixes. All such work should be on the 3.0 branch (see the Roadmap for details).

@benjaoming there will be no 2.7 series.

Ah okay, well that would have been another amendment to the [release notes](The safe_mode and html_replacement_text keywords will be ignored in version 2.7.) ;)

You could include the license file in the generated wheel using the license_file in setup.cfg:
[metadata]
license_file = LICENSE.md

See the documentation for information on this feature of wheel:
https://wheel.readthedocs.io/en/stable/#including-the-license-in-the-generated-wheel-file
This would satisfy the license's requirement:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

This was addressed in #606.


auto assign issue

Inputs

Parameter
Required
Description

repo-token
true
The GITHUB_TOKEN, needed to update the Issue.

assignees
true
Comma separated list of user names. Issue will be assigned to those users.

Follow above command to auto assign issue.

Hello, @imakash3011  we do not require auto assign as I am assigning issues because of SWoC guidelines otherwise issues will be open for everyone to create pull requests.

@aavishkarmishra could you please tell me what we have to do then??

You work on the issues and try resolve them ?
If need any help regarding that you can ping me.

Ohh.. sorry @aavishkarmishra  I was making this GitHub action for any other issue and by mistake i made a PR to this Repo. I'm  sorry  for this .


Update README.md

Signed-off-by: Binit Ghimire<EMAIL_ADDRESS>Fixed some grammatical and linguistic issues in the README.md file!
Checklist

[x] I acknowledge that all my contributions will be made under the project's license.

Description
I have made some changes to resolve the grammatical and linguistic mistakes existing in the README.md file.
Related issues
No any related issues.

Hello,
I have made changes to the README.md rather than _data/pixels.json. So, I guess it needs to go under manual checking.
Thanks,
Binit Ghimire

Hello,
I have made changes to the README.md file rather than _data/pixels.json. So, I guess it needs to go under manual checking.
Thanks,
Binit Ghimire

hi @TheBinitGhimire. Thanks for your contribution. The grammar in the README meets with Twilio's writing and style guidelines as-is, so I'm going to close this one out.


[stable/nginx-ingress] Allow more items to be configured in the Container securityContext

In the helm templates for the controller and default-backend deployments, you can set an arbitrary set of parameters for podSecurityContext, but not for the contaner securityContext. The controller deployment allows more options, but the default-backend only adds runAsUser to this context. I would like to be able to set more options, particularly on the default-backend (such as privileged: false), which are not supported in the podSecurityContext.
Is your feature request related to a problem? Please describe.
I am tasked with setting all our helm charts to have the correct securityContext at install, and would like to be able to do so.
Describe the solution you'd like
The helm template for the securityContext to support an arbitrary block, like podSecurityContext does.
Describe alternatives you've considered
Patching all the installations after installation is something I have set up, but it is not ideal.

The same request for Airflow as well. values.yaml file is not supporting passed securityContext values - privileged:true to Deployments and Pods. After deployment, I have to manually edit the Deployment. Should come up with deployment options.


does not send the code after entering the number

There was such a problem at startup

Hi @papuzha - the setup wizard first asks for which protocol you want to setup. At this prompt please enter 0 to set up nchat for Telegram. After this, nchat will ask for the phone number.
I.e. the setup would be something like this:
$ nchat --setup
Protocols:
0. Telegram
1. Exit setup
Select protocol (1): 0
Enter phone number (ex. +6511111111): +79xxxxxxxxxxx

Let me know if you still encounter any problems.
(As a side-note, I should probably add better error handling for user input on that first prompt. Or possibly skip it altogether for nchat builds only supporting Telegram. I will look into that.)

Thanks, everything worked

Thanks, everything worked

Thanks - good to hear!
In the above commit I've also added better error handling for the user input, so that nchat does not crash.


Add option for URL Base to run behind reverse proxy

Does an existing issue/feature request already exist?

[X] I've searched far and wide!

Does your feature request solve a problem you're facing?
I'm trying to run cross-seed using an nginx reverse proxy to expose it through e.g. https://example.com/cross-seed/api/announce (this is the default behavior on some seedboxes).
However in such case /cross-seed/api/announce will not match /api/announce and no endpoint was found.
Prowlarr e.g. solves this by asking for a URL base (for example when adding a download client).
What would you like for cross-seed to do?
Add a "URL base" config option so cross-seed can be exposed in subfolders and not just at the top folder of the domain.
What are you currently doing, if anything, to solve or work around the issue?
I modified cross-seed and run essentially my own fork to accomplish this.
~~https://github.com/winterberryteastories/cross-seed/commit/fc3b7da486027e2199c65e15998b571553f2ce76~~
I deleted the fork since the nginx solution works.
Additional comments

As I said, you should be able to address this by directly modifying your reverse proxy, I believe you can use wildcards against the "webhook" and "announe endpoints hitting your root path to redirect if I'm not mistaken.
If I'm wrong about this my bad. Seems like it would definitely be supported, you could accomplish similiar with cloudflare tunnels and several other mechanisms though, just as a note.

If I understand correctly you are suggesting to expose it at https://example.com/api/announce ?
Sure I could probably do this with some adjustment but wouldn't that be counterintuitive if I have https://example.com/qbittorrent, https://example.com/autobrr etc all working but then I need to have the root https://example.com/ which is currently something else be cross-seed?
As far as I can see all tools I'm using support to be in a subfolder so working around that is what I'm trying to avoid.

Seems entirely possible for your use case to be met with your reverse proxy based on the nginx GPT.
As I mentioned in Discord, we are particularly cautious about adding additional settings, especially for niche features. Given that it seems to be possible for you to handle this appropriately, adding a configuration option doesn't seem that it would be necessary. You simply would need to configure your reverse proxy to appropriately handle the requests. There aren't any additional endpoints or webui for cross-seed, so this would be simply two URI's to redirect. Are you even using api right now?
/api/announce and /api/webhook are almost certainly not being utilized by your reverse proxy currently based on your descriptions of the setup..
Is there a particular reason that configuring your setup is something you are against as opposed to having us add this?

I wasn't aware if this, my knowledge of reverse proxies is rather basic.
I'll play around with it, I simply didn't know I can do this in the reverse proxy.
I have around 20 services that no problem to be loaded with a urlbase so it just felt a bit counterintuitive.
When I have a solution, I'll paste it here for others.

I'm not trying to say no, I'm just giving you my perspective on the issue.
Our policy is generally if a user can solve the problem with some configuration on their infrastructure, especially in addition to it being a somewhat niche feature, then it should probably be solved there rather than with time spent coding. Particularly when it is adding an option, due to the complexity of cross-seed configurations already, I tend to have a bit more hesitation.
I don't intend to discourage you, but given that the VAST majority of users would be running this locally or on a network that was local to their clients, I am not entirely sure when this would be used.
To follow up, is there a reason you are choosing to either route your traffic through a reverse proxy to begin with or some reason you can't run what I would assume is your torrent client or autobrr through the local network instead of the reverse proxy?

I'm running autobrr locally since I'm connecting it to local and seedbox qbittorrent instances and to run most stuff locally instead of on the seedbox (just a preference).
Then I need to connect the local autobrr to the seedbox cross-seed server and to do that via https I need to integrate it into their reverse proxy instead of just using the IP address.
But thanks a lot for the suggestion it worked flawlessly with ngnix and I learned something new today:
location /cross-seed/ {
        rewrite ^/cross-seed/(.*)$ /$1 break;

        proxy_pass http://<IP_ADDRESS>:<enter-your-port>;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-Host $http_host;

        # Rewrite redirects to include the /app prefix
        proxy_redirect / /cross-seed/;
}

No worries, I'm happy I learned something new and that it works without me maintaining a fork.
I still think it's a useful addition but I can understand the tradeoff of keeping it simple (especially for just the two endpoints).
Hopefully this will help others if they ever run into the same.

We can/will support this for the web ui.

We can/will support this for the web ui.

I've just deleted my fork lol. Let me know if I should post it again (although it's nothing fundamental in there)

We can/will support this for the web ui.

UI when @mmgoodnow

No worries, our support for it will likely have to be different than your fork.


Add to cart and buy now button is not getting disabled even if their quantity is 0 for virtual products

Bug report
Title
Add to cart and buy now button is not getting disabled even if their quantity is 0 for virtual products
Issue Description
add to cart and buy now button is enable while the quantity of that product is zero and backorder is also not allowed.

Preconditions
1. framework Version. v0.1.8

Steps to reproduce
1. step1: create a virtual product , give quantity 0
2. step2: check on shop

Expected result
both button should be in disabled state
Actual result:
enabled

framework Version. v0.1.8
issue fixed


Retain data in tabular form

I rewrote some parts of this package in order to interface with GLM.jl more directly. Hopefully, this will make sure all the functionality GLM.jl has will also be available through MLJ.
This pull solves both https://github.com/JuliaAI/MLJGLMInterface.jl/issues/44 and https://github.com/JuliaAI/MLJGLMInterface.jl/issues/42.
I removed _matrix_and_features as this is where the variable types (CategoricalVector) was lost.
In order to predict with categorical values properly, we need the entire object returned by GLM.glm, as this contains information about classes. For now, I simply removed the FitResult and return the TableRegressionModel returned by GLM.glm instead (we can revert this if it is problematic, and find some other solution). I also changed predict, so we call GLM.predict, rather than constructing the model matrix in this package. GLM.predict calls StatsModels.modelcols, which does the dummy-encoding for categorical variables.

After reading some old PRs I realised we need FitResult so I added it again.
I just added the FormulaTerm as a field in FitResult, so we can reconstruct the model matrix without saving the entire TableRegressionModel.

Thanks @tiemvanderdeure for this substantial PR 🙏🏾
In testing locally, I was struggling to cook up data sets for which Cholesky factorization would not fail, so I tried a simple one-dimensional example (here adapted from the GLM docs). But it's not working either:
using CategoricalArrays, StableRNGs, MLJModelInterface
using MLJGLMInterface # dev'ed from this source branch of this PR
rng = StableRNG(1); # Ensure example can be reproduced

y = rand(rng, 100)
X = (;x = categorical(repeat([1, 2, 3, 4], 25)))

model = LinearRegressor()
MLJModelInterface.fit(model, 0, X, y)

# ERROR: PosDefException: matrix is not positive definite; Cholesky factorization failed.
# Stacktrace:
#   [1] checkpositivedefinite
#     @ /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/LinearAlgebra/src/factorization.jl:67 [inlined]
#   [2] #cholesky!#140
#     @ /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/LinearAlgebra/src/cholesky.jl:269 [inlined]
#   [3] cholesky! (repeats 2 times)
#     @ /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/LinearAlgebra/src/cholesky.jl:267 [inlined]

Am I missing something?

Good catch! Clearly we need some more tests.
I just looked at this and there are a few things going on here.
Firstly dropcollinear defaults to true in GLM.lm, while it defaults to false in LinearRegressor. Setting it to false fixes the error. In my opinion, since this package is an interface, we should refrain from overwriting defaults set by GLM. (I also just noticed that neither LinearCountRegressor nor LinearBinaryClassifier have a dropcollinear field. I think this might be an oversight?)
Secondly, it appears the position of intercept in a formula matters. StatsModels.@formula will always put intercept as the first term. In this package, we put it at the end in glm_formula. Reversing this so the intercept is the first term will actually also fix the error (I have no clue why, but it does).
I'll implement the second straight away. Changing default settings might be a bit trickier, what do you think?

Changing default settings might be a bit trickier, what do you think?

Generally we mirror the defaults of the wrapped model. In this commit (some time back) I see that allowrankdeficient=false was replaced with dropcolinear=false, which is effectively a reversal.
@OkonSamuel Do you remember a reason for making the new default false?

Maybe we should make a new PR for the defaults, just to get things not too mixed up.
Checks pass and as far as I am concerned this PR is good to go.

Thanks @tiemvanderdeure! I don't know the details of this PR, but I see 160 lines removed and only 100 added so that looks very good to me! Thanks to you and Anthony for improving this package 😃


Use mingw-std-threads in MinGW builds

Quoting @akien-mga:

[...] I believe RandomShaper intends to look into a better fix later (though it's starting to look like we'd have to fix MinGW or GCC itself :)).

This PR replaces the implementation of std::thread and friends provided by MinGW with a third-party one (so, in a sense, it indeed fixes MinGW). This seems to fix crashes and hangs occuring in complex multi-threading scenarios.
Fixes #78734.
Fixes https://github.com/godotengine/godot/issues/85105.
Limitations:

Some additional files are modified to avoid compile errors due to some additional Windows defines leaking around. It's not as simple as undefining them in typedefs.h. If this PR is accepted to at least workaround the serious issue, further work could be done on that area to keep things a bit less ugly, but this is as far as I've been able to reach so far.
3rd-party code still uses the std::* symbols provided by MinGW. That doesn't seem to be a big issue. However, a nice piece of future work would be to make everything use the same, given the replacements provided in this PR seem to work better. And to avoid duplicates.
~With/without this PR I'm getting certain non-fatal errors at exit (of the kind of ERROR: BUG: Unreferenced static string to 0: completed). That means this PR doesn't completely fix all the threading issues caused by MinGW.~ UPDATE: After replacing the recursive mutex (lack thereof was a left-behing), I'm no longer getting those errors! I'm starting to think this may be fixing other Windows-only stability issues in prod builds.

EXTRA (2023-11-21):
This may allow us to revert the following PRs without regressions:

#78977
#85165

In draft because I've realized a few mistakes. The overall approach is already reviewable, though.

Awesome stuff :)

We discussed this on RC with @RandomShaper, @hpvb and @YuriSizov, and agreed to go with this approach for 4.2.
I was wary of replacing our threads implementation for Windows so late in the release cycle, but the alternatives are either building with MSVC (which is also a risky change to do so late in the cycle, and has a number of other issues with known bugs and performance regressions), or finding another workaround for what seems to be a bug in mingw's current threads implementation.
RandomShaper tried a potential workaround in #85165 but that didn't seem to work.
This PR however properly solves the linked issues.
The implementation of std::thread for mingw by Mega NZ seems to be used by a few other projects, according to some checks by RandomShaper:

LMMS
https://github.com/rlguy/Blender-FLIP-Fluids
https://github.com/pnedev/comparePlus
https://github.com/IceCodeNew/qBittorrent-Enhanced-Edition/blob/2ec4a8efbdbeda83ea299424714598488436199d/.github/workflows/cross_build.sh#L355-L367

@hpvb also reviewed the library and thinks it should be a good option for us with the given constraints.
So let's test in 4.2 RC 2 and hope it doesn't regress in other use cases.

Thanks!

https://github.com/godotengine/godot-proposals/issues/6219 https://github.com/godotengine/godot-proposals/issues/6062 just wanted to mention these proposals from nearly a year ago as it directly relates to threading and had action been taken on said proposals, they would have eliminated whatever this bandaid fix is by using OS specific threading systems directly.

You have written comments both here and in one of the proposals, but I'll just follow up here. Your proposals are about threading, indeed, but about a different aspect of it. Thia PR replaces an implementation of  std threading stuff with another. Besides that, it's as if anything else had changed.


where is the ivus daaset?

Thank you for your code. I searched but not see the ivus data, plz tell us where do we download it? Thanks.

Please contact the original dataset author for the dataset. I have no access to the dataset anymore (it was on my master's lab server many years ago).

Thank you for your reply.
I also have been finding that dataset but not yet. Thank you @Kulbear and everyone.


CC-62 Changes for signature control UI fixes

Add height-width in story.
Make sign pad height-width inherit.
Remove position: fixed for sign text.

@Dharmik-atharva Please fix the onBlur event and add a name prop to the signature control.
onBlur and name prop are needed to make the control usable in our form engine.
onBlur should be called when the user closes the Signature Dialog. (onBlur marks fields as touched/dirty and enables validation in Form Engine)
The onBlur event should be registered on a HTML element which has the name attribute set via props (name is set to field name in Form Engine)

@TQjona Requested changes done, please review


Category for all CMS Pages

Hello,
Module have settings for category :

All static pages
All blog pages

But i not found option (all cms pages) I found only for 1 cms page, but i have ~700 cms pages (every page have 5 languages) and in output in must be ~3500 pages.
How it make auto generated all in sitemap.xml?

Do you actually have 700 different pages or do you mean the same page with different parameters?

700 page files. Each file contains a description of the domain zone, they are generally similar to everything, and it is convenient to translate them, several parameters change, for example, the country, and several other parameters. 700 files with domains zone descriptions (domain-ae.htm, domain-fr.htm etc 700 files.) This scheme allows you to conveniently add new pages and add a language variable.

The way this is usually done is to have a translatable model with fields that you can fill in the backend, then you create a SINGLE CMS page that has a parameter for the model slug or id which is retrieved from db and its values/fields are used in the twig markup.

I understand, just change the model, but in another way, can i add some kind of parameter so that they are taken into sitemap.xml automatically?

You'd have to add a new menu item type in your plugin, we certainly won't add this to Sitemap plugin.

Thank you for the clarification.

@oim37 I'm not necessarily opposed to adding an item for "All CMS Pages", but it seems like it would only be necessary for your specific use case, a use case which might be better served by being structured a bit differently (although I don't really have enough information to provide any recommendations at the moment).
If you would like to register it for yourself however you should be able to do the following:
use BackendAuth;
use Cms\Classes\Controller as CmsController;
use Cms\Classes\Page as CmsPage;
use Cms\Classes\Theme;
use System\Classes\PluginBase;

class MyPlugin extends PluginBase
{
    public function boot()
    {
        $this->registerMenuItemTypes();
    }

    /**
     * Register the frontend Menu Item types provided by this plugin
     */
    protected function registerMenuItemTypes(): void
    {
        Event::listen('pages.menuitem.listTypes', function () {
            return [
                'all-cms-pages' => 'All CMS Pages'
            ];
        });

        Event::listen('pages.menuitem.getTypeInfo', function ($type) {
            if ($type === 'all-cms-pages') {
                return [
                    'dynamicItems' => true
                ];
            }
        });

        Event::listen('pages.menuitem.resolveItem', function ($type, $item, $url, $theme) {
            if ($type === 'all-cms-pages') {
                $result = [];
                $pages = CmsPage::listInTheme(Theme::getActiveTheme(), true);
                $controller = CmsController::getController() ?: new CmsController;
                foreach ($pages as $page) {
                    // Remove hidden CMS pages from menus when backend user is logged out
                    if ($page->is_hidden && !BackendAuth::getUser()) {
                        continue;
                    }

                    $pageUrl = $controller->pageUrl($page->getFileName(), [], false);
                    $result[] = [
                        'url' => $pageUrl,
                        'isActive' => rtrim(pageUrl, '/') === rtrim($url, '/'),
                        'mtime' => $page->mtime ?: null,
                    ];
                }
            }
        });
    }
}

NOTE: This is completely untested / not even run once code, but in theory it should get the job done.

The reason why it doesn't already exist and why I'm hesitant to add it is because CMS pages are by their very nature intended to be highly dynamic and reliant on URL parameters to affect the final suite of URLs that are handled by them.
If you are using CMS pages in a scheme where 1 CMS page = 1 URL with no parameters of any kind, then you're most likely better served by using static pages for that. And if you're using hundreds of CMS pages that are mostly the same just with separate static URLs then you would most likely be better served by some combination of the translate plugin and / or custom components that you would then register your own menu item type to handle generating URLs for, just like the Blog plugin does for the All Blog Posts or All Blog Categories menu item types (supported by a single CMS page).
Let me know if you have any questions @oim37!

I choose for this task - CMS page because it fast and simple for start, all countries use a code to pull up prices from a third-party system and some pages - about 250 domains by country have different registration conditions and contain more fields than international domains. Thus, there is no understanding yet to conveniently automate all this.
Information on them rarely changes, quite convenient. For the sitemap I use an external free service, but it is free up to 5000 pages, and I already have ~ 4700, so I decided to try the module.
I use blog for news. ~ 100
Static pages for all other content ~ 1100
CMS ~ 3500 for domain pages.
I tried to add this code in a new plugin, apparently I'm doing something wrong or I need to add code in sitemap plugin.
Thanks anyway for the answer.

@oim37 this code would go into a new plugin, and you would ensure that it requires Winter.Sitemap.
What issues are you having with the code? In theory it should work.


fix(renderer): check if current buffer is loaded

          Somehow this commit has caused a bug with `:Neotree current toggle`.

If you have more than one split,
and you use :Neotree current toggle
then open a file
then :Neotree current toggle
you'll get an error (see below)
then your current window will be closed

Error from step 5:
Error executing vim.schedule lua callback: ...is/.local/share/nvim/lazy/nui.nvim/lua/nui/tree/init.lua:188: missing bufnr
stack traceback:
        [C]: in function 'error'
        ...is/.local/share/nvim/lazy/nui.nvim/lua/nui/tree/init.lua:188: in function 'init'
        .../.local/share/nvim/lazy/nui.nvim/lua/nui/object/init.lua:132: in function 'NuiTree'
        ...e/chris/repos/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:778: in function 'create_tree'
        ...e/chris/repos/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:1190: in function 'draw'
        ...e/chris/repos/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:1326: in function 'show_nodes'
        ...ree.nvim/lua/neo-tree/sources/filesystem/lib/fs_scan.lua:96: in function 'render_context'
        ...ree.nvim/lua/neo-tree/sources/filesystem/lib/fs_scan.lua:165: in function <...ree.nvim/lua/neo-tree/sources/filesystem/lib/fs_scan.lua:164>

@pysan3 I'm not sure I am going to be able to debug so I was thinking about reverting it for now. Do you want to look into it before I do?
Originally posted by @cseickel in https://github.com/nvim-neo-tree/neo-tree.nvim/issues/1390#issuecomment-2008589757

Sorry, I still have the same problem. I'll try to file a proper bug report with a minimal config tomorrow.

Did you pull the right branch?
{
  "pysan3/neo-tree.nvim",
  branch = "fix-check-buf-available",
  ...

I cannot reproduce it anymore...

If you are using lazy, double check in the UI. Changing the repo nvim-neo-tree to pysan3 might not be detected and still tries to pull from nvim-neo-tree.

My lazy config always points to my local folder and that is definitely on this PR. I confirmed that by adding a log statement in my local repo.

@cseickel is the error message exactly the same?

@cseickel is the error message exactly the same?

Yes:
Error executing vim.schedule lua callback: ...is/.local/share/nvim/lazy/nui.nvim/lua/nui/tree/init.lua:188: missing bufnr
stack traceback:
        [C]: in function 'error'
        ...is/.local/share/nvim/lazy/nui.nvim/lua/nui/tree/init.lua:188: in function 'init'
        .../.local/share/nvim/lazy/nui.nvim/lua/nui/object/init.lua:132: in function 'NuiTree'
        ...e/chris/repos/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:778: in function 'create_tree'
        ...e/chris/repos/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:1190: in function 'draw'
        ...e/chris/repos/neo-tree.nvim/lua/neo-tree/ui/renderer.lua:1326: in function 'show_nodes'
        ...ree.nvim/lua/neo-tree/sources/filesystem/lib/fs_scan.lua:96: in function 'render_context'
        ...ree.nvim/lua/neo-tree/sources/filesystem/lib/fs_scan.lua:165: in function <...ree.nvim/lua/neo-tree/sources/filesystem/lib/fs_scan.lua:164>

😭
Ok please revert the PR. I don't have time right now.

@cseickel Added one more fix. Could you pull the latest commit and test it again?

See #1408

@cseickel Did you check if this PR fixes the issue instead? Your issue should not work.
That one may work sometimes due to timing issues but that's just because you were lucky. Please test it a couple of times.

I did try this PR, even after your last fix, and it has no effect at all. I still get the error every single time. I also get errors with this branch every time I am using a float and try to open a file where there is no valid window to reuse at ground.
With my fix, which is actually just reverting the close window code back to what it has always been, all situations work as expected and no matter how many times I do it, I can't create any error.

Could you record what you are seeing?
If your record is too big in size to be uploaded, please use this ffmpeg script to reduce the size. This will create ./record.mp4 in cwd.
ffmpeg -i <INPUT-FILE> \
  -vf "fps=10,scale=1080:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" \
  -pix_fmt yuv420p \
  -loop 0 record.mp4 -y

cd /path/to/neo-tree.nvim
nvim --version
nvim

:e README.md
:vs release.sh
:Neotree current toggle
choose any file
:Neotree current toggle
choose any file
:Neotree current toggle
q (quit without selecting)
:Neotree current toggle
<C-w>h (go to left window)
:Neotree current toggle
choose any file
:Neotree current toggle
choose any file
:Neotree current toggle
q (quit without selecting)
:Neotree current toggle

https://github.com/nvim-neo-tree/neo-tree.nvim/assets/41065736/a9743cf1-2e4b-4241-a4c4-1ff3312d0ca2

@cseickel

There's one more commit I pushed to this branch but it looks like it's not been updated.
@cseickel  I think if you pull right now, please check you are on commit 934935a704d414b09f4cd088f085eac517db4943 don't close buffer when toggled on.

That is better. The latest commit seems to handle all situations. I'm going to reopen this...

Please revert your PR before merging this or it will be broken.
https://github.com/nvim-neo-tree/neo-tree.nvim/pull/1408

Please revert your PR before merging this or this code will be completely broken.

fix: winfixbuf/current toggle bug from #1390 #1408

No need, I merged it properly.

The commit unfortunately comes with a regression for me.
Spacing left to the nodes without the commit:

Spacing after the commit:

@ttytm Thanks for reporting and sorry about the experience.
Could you open a new issue with your config? Please ping me there and I'll look into it.


AnimatedValue should not be mutable

 Issue by Hixie
Wednesday Oct 21, 2015 at 16:51 GMT
Originally opened as https://github.com/flutter/engine/issues/1709

Rather than AnimatedValue being mutable, it should just represent a begin/end range and have an API that, given a value 0.0..1.0, returns a lerp over that range.
Alternatively, we could make AnimatedValue take an object that represents 0..1, a direction, and a change notification API, and exposes a value in the range begin..end and a change notification API. That way you would just plug AnimatedValues straight into the things they were animated by.

Fixed.


Validate parsed config against click command params

Refs: #1909.
Config key validation
$ cat .pip-tools.toml
[tool.pip-tools]
annotation = false

$ pip-compile
Error: No such config key: annotation. (Possible options: annotate, annotation_style)

Config value validation
$ cat .pip-tools.toml
[tool.pip-tools]
dry-run = ["foo", "bar"]

$ pip-compile
Error: Invalid value for config key 'dry-run': ['foo', 'bar']

Contributor checklist

[x] Provided the tests for the changes.
[x] Assure PR title is short, clear, and good to be included in the user-oriented changelog

Maintainer checklist

[x] Assure one of these labels is present: backwards incompatible, feature, enhancement, deprecation, bug, dependency, docs or skip-changelog as they determine changelog listing.
[ ] Assign the PR to an existing or new milestone for the target version (following Semantic Versioning).

This looks good to me, thanks!
Can you include the exception types to expect, click.BadOptionUsage and click.NoSuchOption, in the _validate_config docstring?

Can you include the exception types to expect, click.BadOptionUsage and click.NoSuchOption, in the _validate_config docstring?

@AndydeCleyre thanks! Addresses in 278d8df6d9127eba1d6a4a435349d49158988df3.

Thanks @AndydeCleyre and @chrysle for the review! 🙏🏻


No notifications?

Unfortunately I did not get any notifications for new messages.  Is this normal?
I just get a very silent  but no pop up/ android notification.
Anyway a very nice piece of software 😃 .

Hi, see #63 #4
thanks for the feedback :)


chore: update CloudflareDev Discord link

The current invite in the issue template is invalid - updating to the vanity invite link.

Nice catch! I forgot to update it after all the old link were forcefully expired.


Site request for thehiveworks.com

It's a Network of Webcomics and I think they all use the same program.
This would mean you only need ONE script to make the 30+ different
webcomic sites work.
I need it for these sites:
http://www.marycagle.com/
http://www.kiwiblitz.com/ (already Logged but doesn't work)
http://www.sleeplessdomain.com/
They're all part of http://www.thehiveworks.com/

I've added a generic fix that should prevent thehiveworks sites from being broken, but we'll still have to add the individual sites to the list.
The css is a bit mangled up on marycagle.com, and the commentaries on the bottom is not added yet. (The site uses images for layout, so it's difficult to add buttons without messing upp the layout)

Thanks


Right to work filter

https://trello.com/c/ZOSgmFC9/321-for-hiring-staff-users-add-the-right-to-work-in-the-uk-filter-to-the-candidate-profiles-pages
Changes in this PR:
This PR adds the ability for hiring staff users to filter candidate profiles by their right to work in the UK
Screenshots of UI changes:
Before
After

Next steps:

[ ] Terraform deployment required?

[ ] New development configuration to be shared?

 For hiring staff users, add the right to work in the UK filter to the candidate profiles pages


Just added Alternatives Forms

You were missing alternatives forms from the relationships, I just added

Thanks for your contribution. We would be happy to merge it once the tests pass.


Aria posinset not allowed in menu items

The aXe tool reports the following error with respect to ARIA attributes:
Elements must only use allowed ARIA attributes. Not all ARIA role-attribute combinations are valid. This Rule checks that each role is supplied with allowed attributes.
Using ARIA attributes in roles where they are not allowed can interfere with the accessibility of the web page. Using an invalid role-attribute combination will, at best, result in no effect on the accessibility of the application and, at worst, may trigger behaviour that disables accessibility for entire portions of an application.
Target:
#wb-sm > div > .row > [role="menubar"] > li:nth-child(1) > a[role="menuitem"]
HTML:
Home
Summary:
Fix any of the following:
-ARIA attributes are not allowed: aria-posinset="1" aria-setsize="1"

suggested fix (might already be fixed : posinset on  instead of
WET has posinset and menuitem in the same object...


Batch RPC requests

Proof of concept re https://github.com/cosmos/cosmjs/issues/1298

@webmaster128 PR updated. httpbatchclient had a dependency on the http in httpclient now, can pull that out into something shared if need be. figured that if batch may become the default then this may be unnecessary

Nice stuff!
Any last changes from your side? Otherwise I merge and ship with the next patch release. Then we can start testing it in real apps.

nothing from my side, all good!
actually just deployed it to our live apps (https://blue.kujira.app,  https://fin.kujira.app)


After user presses cancel payment link using quick action button notify him that event is already performing

Liav's comment from #1835 PR where we discuss this option.
We can change the colors of the button (text + contour) to the "disable" light gray (#CBCBCB)
And if possible, change the text to "Canceling..."
Or, another option is just to remove popup and card right after clicking from the dashboard and then finish canceling the link in the backend.
@sirpy What do you say?

in one of my PR I fixed cancel to be immidiate, so no need for that. I think in feed optimization pr.

In that case, this issue should be verified after https://github.com/GoodDollar/GoodDAPP/pull/1812 will be merged and if everything is ok - closed.


bump gem and ruby version

Hi @evgenyKharitonov, I see that you haven't attached any Trello card, let me help you with that...

 noun-project-api - bump gem and ruby version


fix(css/parser): bug with scope in block

Description:
refactor code +  fix bugs with block scope
BREAKING CHANGE:
No
Related issue (if exists):
No

@kdy1 Rebased and ready for review :+1:


Resolve syncing conflicts from repo_sync_working_branch to live

Pull request opened by OPS to resolve syncing conflicts from repo_sync_working_branch to live.

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/MicrosoftDocs/powerbi-docs, working directory: W:\dr1i-s, target branch: live, target branch commit: 8950d9097d490148c5edc293d60775426168eb2e, source branch: repo_sync_working_branch, source branch commit: .

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@openpublishbuild : Thanks for your contribution! The author, @mihart, has been notified to review your proposed change.

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/MicrosoftDocs/powerbi-docs, working directory: W:\l2uf-s, target branch: live, target branch commit: 8950d9097d490148c5edc293d60775426168eb2e, source branch: repo_sync_working_branch, source branch commit: .

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@openpublishbuild : Thanks for your contribution! The author, @mihart, has been notified to review your proposed change.


should not use str::len to get the "character length" of a string in README

Hi, PL/Rust team.
I found the example shown in README might be misleading. According to the documentation, str::len returns the length of the underlying bytes buffer and behaves incorrectly for non-ASCII characters when used to count the characters in the string.

https://doc.rust-lang.org/stable/std/primitive.str.html#method.len
Returns the length of self.
This length is in bytes, not chars or graphemes. In other words, it might not be what a human considers the length of the string.

Instead, one may use s.chars().count() here.

I mean, it's just a small demo and not really intended to be an example of how best to count the length of a string (and note that s.chars().count() is still wrong for the number of characters by most metrics (unicode scalars != characters for really any reasonable definition of character, see https://manishearth.github.io/blog/2017/01/14/stop-ascribing-meaning-to-unicode-code-points/).
But I suppose we should consider changing the example to something less likely to spark pedantry.

Postgres and Rust, both, have a reputation for correctness. So it'd be best if the example in the README is either fixed to not elicit correctness debates, or possibly be replaced with a different example.
In my opinion, this example, if retained, should be corrected to produce a result identical to Postgres' length(text) or char_length(text) functions (at least when Postgres server uses UTF-8 encoding).
https://www.postgresql.org/docs/15/functions-string.html

I've updated the examples and merged to main:
CREATE FUNCTION add_two_numbers(a NUMERIC, b NUMERIC) RETURNS NUMERIC STRICT LANGUAGE plrust AS $$
    Ok(Some(a + b))
$$;
CREATE FUNCTION

SELECT add_two_numbers(2, 2);
 add_two_numbers
-----------------
               5
(1 row)

I hope everyone likes this.


Add Operator Connect references in call flows documentation

Hello team! Short feedback, but have heard this is a few times in the last several months - can we please add specific references to Operator Connect on this call flows page?
Thanks!
David

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

ID: 43c84773-337e-9df7-7fbd-fc9d94280711
Version Independent ID: 223a78a0-67fd-8b96-be3f-153bb400101b
Content: Microsoft Teams call flows - Microsoft Teams
Content Source: Teams/microsoft-teams-online-call-flows.md
Service: msteams
GitHub Login: @CarolynRowe
Microsoft Alias: crowe

Hello @dwhitney7 I am looking into this

Hello @dwhitney7 David,
I managed to pass this feedback to the article's author and adding OC references will be taken into account.
Thank you for your feedback,

Hi @get-itips, is there any update you can share back from the article author on if Operator Connect references are planned to be added to this article? Thanks so much!


Instagram Live Sharing

Can you please add the feature of live streaming to Instagram

There doesn't seem to be any interest in this feature, so I'll close it for now.


Create non active moonsoon trough icon.

Now created and uploaded to the shared drive.

Dan to incorporate this.


Replace gulp with vitejs

Description
What did you change and why?
Replace gulp with vite.js which is the company standard and will make it easier to add vue.js and render the OAS specs in the docs.
A few things changed:

static assets (images, manifests, keys) now live in app/assets - handled via Jekyll
javascripts, fonts,  and stylesheets live in app/_assets - handled via vite.js, bundled and fingerprinted in production mode
make run runs vite + jekyll build and netlify's redirect
as a side effect we might be able to get rid of some of the security warnings

Testing instructions
Netlify link:
We need to make sure that the styles and js work as expected.
Some things to note:

some things will fail due to CORS issues, e.g. tracking requests, etc.
gtm and recaptcha are not loaded in preview apps, we previously did but I don't think that's necessary

Checklist

[x] Review label added
[x] PR pointed to correct branch (main for immediate publishing, or a release branch: e.g. release/gateway-3.2, release/deck-1.17)

🤦 It's an unrelated issue, fix is up

As far as I can tell everything is working like normal.

It looks like incremental build isn't working on this branch. Any time I change a file it takes a couple of minutes then vite reports a page reload for (what looks like) every page on the site

I edited app/_src/gateway/install/linux/ubuntu.md. Let me try a full clean + rebuild

Full clean + rebuild worked as expected. Page rebuilt in 15s. Something strange on my machine I guess.

:shipit:

It could be that the cache was invalid, probably built using a different branch and Jekyll/vite didn't handle it well 🤷


[SPARK-7399][Spark Core]Fixed compilation error in scala 2.11

scala has deterministic naming-scheme for the generated methods which return default arguments . here one of the default argument of overloaded method has to be removed

Can one of the admins verify this patch?

ok to test

Merged build triggered.

Merged build started.

Test build #32093 has started for   PR 5966 at commit c90bba8.

Verified that the patch fixes the compilation problem.
A few comments:

The method withScope with 3 parameters seems to be only used in the tests. Is there any other reason to keep this method?
The fix is required following this fix in Scala 2.11.

Test build #32093 has finished for   PR 5966 at commit c90bba8.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/32093/
Test FAILed.

@andrewor14 FYI

retest this please

This is a surprise since the two methods have different number of non-default arguments. Thanks for fixing this @tijoparacka. We need to keep the second method for later.

Merged build triggered.

Merged build started.

Test build #32119 has started for   PR 5966 at commit c90bba8.

LGTM

Test build #32119 has finished for   PR 5966 at commit c90bba8.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/32119/
Test PASSed.

Merging into master 1.4

@andrewor14 I don't see this commit in master (i.e., it still fails on 2.11). What is the policy w.r.t. to master vs. the 1.4 branch?

Ah, looks like this might have gotten inadvertently reverted when merging https://github.com/apache/spark/commit/bd61f07039064833108070e19b752d4c46045766 ?

I would say good catch!

Ugh, my mistake. I will merge this now.

Honestly I don't understand why scala 2.11 can't compile this when 2.10 can. The number of non-default arguments here is not at all ambiguous. Anyway I'm looking into this ATM.

By the way I suspect this is also an issue in branch-1.4 because that patch was also merged there.

Scala is too conservative, indeed it could compile this, but it decided to forbid overloads + default arguments altogether because of the way they are encoded (and potential conflicts).
Indeed, the same problem is present in brach-1.4


Support citext type for PostgreSQL dialect

The citext module adds a case-insensitive character type to PostgreSQL (https://www.postgresql.org/docs/current/citext.html).
This type is not supported by the PostgreSQL dialect of the adapter and leads to an error.

Fixed in v1.2.0


fix: make password options deterministic

Description
This fixes an edge case where Terraform could not determine whether or not a password resource should be created since var.password could be some other uncreated resource provided by the caller.
Checklist before submitting PR for review

[x] This change requires a doc update, and I've included it
[x] My code follows the style guidelines of this project
[x] I have ensured my code is commented and any new terraform variables have proper descriptions

:tada: This PR is included in version 0.2.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


BUG? polygons(..) with indices gives "buffer source array is read-only" error

Assume I have an array of rings, and an array of indices mapping each ring to the polygon they belong:
import pygeos

# 1D array of rings with shape (10, )
rings = pygeos.linearrings(np.random.randn(10, 3, 2))
polygon_indices = np.array([0,1,1,2,2,2,3,4,4,5])

with some manipulation of the indices, I can get split the rings into shells and holes, and get the hole indices:
polygon_indices_shell = np.insert(np.diff(polygon_indices), 0, 1)
shells_mask = polygon_indices == 1
holes_mask = polygon_indices == 0

shells = rings[shells_mask].copy()
holes = rings[holes_mask].copy()
hole_indices = polygon_indices[holes_mask].copy()

but passing those arguments (I even added copy() to be sure) gives the following error:
In [5]: pygeos.polygons(shells, holes, indices=hole_indices)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-5-76bad8a0d07f> in <module>
----> 1 pygeos.polygons(rings[shells_mask].copy(), rings[holes_mask].copy(), indices=polygon_indices[holes_mask].copy())

~/scipy/repos/pygeos/pygeos/decorators.py in wrapped(*args, **kwargs)
     54             for arr in array_args:
     55                 arr.flags.writeable = False
---> 56             return func(*args, **kwargs)
     57         finally:
     58             for arr, old_flag in zip(array_args, old_flags):

~/scipy/repos/pygeos/pygeos/creation.py in polygons(shells, holes, indices, **kwargs)
    164         return lib.polygons(shells, holes, **kwargs)
    165     else:
--> 166         return polygons_1d(shells, holes, indices)
    167
    168

~/scipy/repos/pygeos/pygeos/_geometry.pyx in pygeos._geometry.polygons_1d()

~/scipy/repos/pygeos/pygeos/_geometry.cpython-38-x86_64-linux-gnu.so in View.MemoryView.memoryview_cwrapper()

~/scipy/repos/pygeos/pygeos/_geometry.cpython-38-x86_64-linux-gnu.so in View.MemoryView.memoryview.__cinit__()

ValueError: buffer source array is read-only

Is there something that I am missing that I am doing wrong?

So passing the rings (shells and holes) as a list works (pygeos.polygons(list(shells), list(holes), indices=hole_indices))

Funny that this never popped up when I was working on it. Good catch.
This is related to https://github.com/cython/cython/issues/1605 : typed memory views and readonly arrays are incompatibly. So as long as we do not release the GIL in the Cython functions (ref #226) we should be fine with using the multithreading_enabled decorators for the ufuncs only.

Ah, I forgot about the decorator that makes them readonly ..  (because I explicitly checked and copies my arrays that they were certainly not read-only ;))
Now, the issue you mention is fixed in the meantime, in general you can work with const memoryviews to support read-only arrays. But, const is not supported for object type (https://github.com/cython/cython/issues/2485), so that doesn't help here.
This is the reason that in pandas we don't use memoryviews but use the older np.ndarray cython interface whenever a function needs to support object type.

So this patch also works, and will then also work if the user, for some reason, passes a read-only array:
--- a/pygeos/_geometry.pyx
+++ b/pygeos/_geometry.pyx
@@ -410,7 +410,7 @@ def collections_1d(object geometries, object indices, int geometry_type = 7):

 @cython.boundscheck(False)
 @cython.wraparound(False)
-def polygons_1d(object shells, object holes, object indices):
+def polygons_1d(np.ndarray[object, ndim=1] shells, np.ndarray[object, ndim=1] holes, object indices):
     cdef Py_ssize_t hole_idx_1 = 0
     cdef Py_ssize_t poly_idx = 0
     cdef unsigned int n_holes = 0
@@ -421,12 +421,10 @@ def polygons_1d(object shells, object holes, object indices):
     cdef GEOSGeometry *poly = NULL

     # Cast input arrays and define memoryviews for later usage
-    shells = np.asarray(shells, dtype=object)
     if shells.ndim != 1:
         raise TypeError("shells is not a one-dimensional array.")

     # Cast input arrays and define memoryviews for later usage
-    holes = np.asarray(holes, dtype=object)
     if holes.ndim != 1:
         raise TypeError("holes is not a one-dimensional array.")

@@ -448,8 +446,6 @@ def polygons_1d(object shells, object holes, object indices):
         raise ValueError("The indices should be sorted.")

     cdef Py_ssize_t n_poly = shells.shape[0]
-    cdef object[:] shells_view = shells
-    cdef object[:] holes_view = holes
     cdef int[:] indices_view = indices

     # get the holes count per polygon (this raises on negative indices)
@@ -469,7 +465,7 @@ def polygons_1d(object shells, object holes, object indices):
             n_holes = 0

             # get the shell
-            if PyGEOS_GetGEOSGeometry(<PyObject *>shells_view[poly_idx], &shell) == 0:
+            if PyGEOS_GetGEOSGeometry(<PyObject *>shells[poly_idx], &shell) == 0:
                 raise TypeError(
                     "One of the arguments is of incorrect type. Please provide only Geometry objects."
                 )
@@ -490,7 +486,7 @@ def polygons_1d(object shells, object holes, object indices):

             # fill the temporary array with holes belonging to this polygon
             for poly_hole_idx in range(hole_count[poly_idx]):
-                if PyGEOS_GetGEOSGeometry(<PyObject *>holes_view[hole_idx_1 + poly_hole_idx], &hole) == 0:
+                if PyGEOS_GetGEOSGeometry(<PyObject *>holes[hole_idx_1 + poly_hole_idx], &hole) == 0:
                     _deallocate_arr(geos_handle, temp_holes_view, n_holes)
                     raise TypeError(
                         "One of the arguments is of incorrect type. Please provide only Geometry objects."

Why then would you work with typed memoryviews?
I am curious if the C-compiled version now does an INCREF / DECREF (as was done with the memoryviews). That is hindering the GIL release.

Why then would you work with typed memoryviews?

Compared to the cython numpy interface, typed memorviews are newer, and are generally seen as 1) slightly faster 2) nicer to use (and also support any object with the buffer interface, and not just numpy arrays, although that's not very relevant for us, I think).
See https://cython.readthedocs.io/en/latest/src/userguide/memoryviews.html, which says "Memoryviews are similar to the current NumPy array buffer support (np.ndarray[np.float64_t, ndim=2]), but they have more features and cleaner syntax."

I am curious if the C-compiled version now does an INCREF / DECREF (as was done with the memoryviews). That is hindering the GIL release.

I would need to look at the generated source, but I assume that will be the same yes.
See also https://github.com/pygeos/pygeos/issues/226 and the linked notebook in the top post. That has a small reproducer for cython, uses the numpy buffer protocol and also has INCREF/DECREF when accessing an element of the array (the annotated code has the generated C code as well, if you expand a line).

Why then would you work with typed memoryviews?

And note that this limitation of not working with read-only arrays is only for object-dtype arrays. When you write algorithms in cython for numeric arrays, you don't have such issues, and memoryviews work nicely.


Client hangs when using from_service_account_json from the datastore library

I can't get anything from the datastore or put stuff in the data store from the python lib when using the service account.

Linux, Ubuntu 16.04
Python 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609] on linux2
Name: google-cloud
Version: 0.27.0
Summary: API Client library for Google Cloud
Home-page: https://github.com/GoogleCloudPlatform/google-cloud-python
Author: Google Cloud Platform
Author-email<EMAIL_ADDRESS>License: Apache 2.0
Location: /home/tom/.virtualenvs/test/lib/python2.7/site-packages
Requires: google-cloud-bigtable, google-cloud-core, google-cloud-language, google-cloud-pubsub, google-cloud-error-reporting, google-cloud-videointelligence, google-cloud-speech, google-cloud-translate, google-cloud-storage, google-cloud-runtimeconfig, google-cloud-datastore, google-cloud-vision, google-cloud-monitoring, google-cloud-bigquery, google-cloud-resource-manager, google-cloud-dns, google-cloud-logging, google-cloud-spanner

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-3-cc19367a0521> in <module>()
----> 1 client.get(key)

NameError: name 'key' is not defined

In [4]: key = client.key('test')

In [5]: client.get(key)
---------------------------------------------------------------------------
GatewayTimeout                            Traceback (most recent call last)
<ipython-input-5-cc19367a0521> in <module>()
----> 1 client.get(key)

/home/tom/.virtualenvs/test/local/lib/python2.7/site-packages/google/cloud/datastore/client.pyc in get(self, key, missing, deferred, transaction)
    307         """
    308         entities = self.get_multi(keys=[key], missing=missing,
--> 309                                   deferred=deferred, transaction=transaction)
    310         if entities:
    311             return entities[0]

/home/tom/.virtualenvs/test/local/lib/python2.7/site-packages/google/cloud/datastore/client.pyc in get_multi(self, keys, missing, deferred, transaction)
    354             missing=missing,
    355             deferred=deferred,
--> 356             transaction_id=transaction and transaction.id,
    357         )
    358

/home/tom/.virtualenvs/test/local/lib/python2.7/site-packages/google/cloud/datastore/client.pyc in _extended_lookup(datastore_api, project, key_pbs, missing, deferred, eventual, transaction_id)
    136         loop_num += 1
    137         lookup_response = datastore_api.lookup(
--> 138             project, read_options, key_pbs)
    139
    140         # Accumulate the new results.

/home/tom/.virtualenvs/test/local/lib/python2.7/site-packages/google/cloud/datastore/_gax.pyc in lookup(self, *args, **kwargs)
    113         """
    114         with _catch_remap_gax_error():
--> 115             return super(GAPICDatastoreAPI, self).lookup(*args, **kwargs)
    116
    117     def run_query(self, *args, **kwargs):

/usr/lib/python2.7/contextlib.pyc in __exit__(self, type, value, traceback)
     33                 value = type()
     34             try:
---> 35                 self.gen.throw(type, value, traceback)
     36                 raise RuntimeError("generator didn't stop after throw()")
     37             except StopIteration, exc:

/home/tom/.virtualenvs/test/local/lib/python2.7/site-packages/google/cloud/datastore/_gax.pyc in _catch_remap_gax_error()
     80         else:
     81             new_exc = error_class(exc.cause.details())
---> 82             six.reraise(error_class, new_exc, sys.exc_info()[2])
     83
     84

/home/tom/.virtualenvs/test/local/lib/python2.7/site-packages/google/cloud/datastore/_gax.pyc in _catch_remap_gax_error()
     72     """
     73     try:
---> 74         yield
     75     except GaxError as exc:
     76         error_code = exc_to_code(exc.cause)

/home/tom/.virtualenvs/test/local/lib/python2.7/site-packages/google/cloud/datastore/_gax.pyc in lookup(self, *args, **kwargs)
    113         """
    114         with _catch_remap_gax_error():
--> 115             return super(GAPICDatastoreAPI, self).lookup(*args, **kwargs)
    116
    117     def run_query(self, *args, **kwargs):

/home/tom/.virtualenvs/test/local/lib/python2.7/site-packages/google/cloud/gapic/datastore/v1/datastore_client.pyc in lookup(self, project_id, read_options, keys, options)
    202         request = datastore_pb2.LookupRequest(
    203             project_id=project_id, read_options=read_options, keys=keys)
--> 204         return self._lookup(request, options)
    205
    206     def run_query(self,

/home/tom/.virtualenvs/test/local/lib/python2.7/site-packages/google/gax/api_callable.pyc in inner(request, options)
    450                 func, this_settings.timeout, **this_settings.kwargs)
    451         api_call = _catch_errors(api_call, gax.config.API_ERRORS)
--> 452         return api_caller(api_call, this_settings, request)
    453
    454     if settings.page_descriptor:

/home/tom/.virtualenvs/test/local/lib/python2.7/site-packages/google/gax/api_callable.pyc in base_caller(api_call, _, *args)
    436     def base_caller(api_call, _, *args):
    437         """Simply call api_call and ignore settings."""
--> 438         return api_call(*args)
    439
    440     def inner(request, options=None):

/home/tom/.virtualenvs/test/local/lib/python2.7/site-packages/google/gax/api_callable.pyc in inner(*args, **kwargs)
    374         """Wraps specified exceptions"""
    375         try:
--> 376             return a_func(*args, **kwargs)
    377         # pylint: disable=catching-non-exception
    378         except tuple(to_catch) as exception:

/home/tom/.virtualenvs/test/local/lib/python2.7/site-packages/google/gax/retry.pyc in inner(*args)
    141                         timeout * timeout_mult, max_timeout, deadline - now)
    142
--> 143         raise exc
    144
    145     return inner

GatewayTimeout: 504 Deadline Exceeded

client = datastore.Client.from_service_account_json('./serviceAccount.json')
key = client.key('test')
client.get(key)

Tested from the node version of the datastore library and it does work there so doesn't seem to be an auth issue.

@ajudi Can you try this with HTTP and see if you get a similar error? You can do this by setting the env. variable GOOGLE_CLOUD_DISABLE_GRPC=True.

@dhermes, thanks! This seems to solve the issue but do you know why GRPC wouldn't be working for me. Seems to be installed and importable.

@ajudi I was "hoping" it'd be the same error with a better error message.

I've been running into this same issue. Settings the above ENV variable does seem to work. One thing that I did notice in my testing is if I run client.get(key) within the python interactive shell it will hang, then if I hit ctrl-c and re-run client.get(key) without instantiating client again, it will successfully run.

@mlaferrera That makes it sound like a gRPC issue (which is what I think may be happening with @ajudi). Do you mind sharing what OS you are running on? And what version of Python?

Certainly. I was also attempting to test on python 3.5.2 and was experiencing the same issue.
Linux testbox 4.4.52+ #1 SMP Thu Jul 13 11:47:20 PDT 2017 x86_64 Linux

Python 3.6.1 (default, May  2 2017, 15:16:41)
[GCC 6.3.0] on linux

@mlaferrera What version of grpcio do you have installed? Can you consistently reproduce this behavior?

Yes, this is consistently reproducible when  datastore.Client() is instantiated. However, this was previously working fine in a production environment. From my logs, it appears the problem started at 18:49:25.000 on 9/27/2017.
Below are the python libs installed:
$ pip freeze
Babel==2.3.4
billiard==<IP_ADDRESS>
blinker==1.4
certifi==2<IP_ADDRESS>
chardet==3.0.4
click==4.1
colorlog==2.10.0
contextlib2==0.5.5
dill==0.2.6
enum34==1.1.6
future==0.16.0
gapic-google-cloud-datastore-v1==0.14.1
gapic-google-cloud-logging-v2==0.90.1
gapic-google-cloud-pubsub-v1==0.14.1
google-auth==0.6.0
google-auth-httplib2==0.0.2
google-cloud==0.22.0
google-cloud-bigquery==0.22.1
google-cloud-bigtable==0.22.0
google-cloud-core==0.22.1
google-cloud-datastore==0.22.1
google-cloud-dns==0.22.0
google-cloud-error-reporting==0.22.0
google-cloud-happybase==0.22.0
google-cloud-language==0.22.2
google-cloud-logging==0.22.0
google-cloud-monitoring==0.22.0
google-cloud-pubsub==0.22.0
google-cloud-resource-manager==0.22.0
google-cloud-runtimeconfig==0.22.0
google-cloud-storage==0.22.0
google-cloud-translate==0.22.0
google-cloud-vision==0.22.0
google-gax==0.15.4
googleapis-common-protos==1.5.1
grpc-google-cloud-datastore-v1==0.14.0
grpc-google-cloud-logging-v2==0.90.0
grpc-google-cloud-pubsub-v1==0.14.0
grpc-google-iam-v1==0.11.1
grpcio==1.1.0
httplib2==0.10.3
idna==2.6
itsdangerous==0.24
jsonschema==2.6.0
oauth2client==3.0.0
ply==3.8
protobuf==3.2.0
psq==0.5.0
pyasn1==0.2.2
pyasn1-modules==0.0.8
requests==2.18.4
retrying==1.3.3
rsa==3.4.2
six==1.10.0
tornado==4.2
urllib3==1.22
Werkzeug==0.11.15

@mlaferrera I was hoping grpcio==1.6.0 would be the culprit, but I'm equally surprised to see grpcio==1.1.0. How are you installing the packages?

Well that is silly on my part. I was running an old image that initially had the issue as of the above time. I rebuilt the image with grpcio==1.6.3 via pip install google-cloud==0.27.0.
Without the ENV variable GOOGLE_CLOUD_DISABLE_GRPC=True set, I then ran:
>>> from google.cloud import datastore
>>> client = datastore.Client()
>>> key = client.key(key, value)
>>> client.get(key)
<Entity('mykey', 'myvalue')...

Success! With grpcio==1.6.3 it does not appear to require the ENV set.
However, if I revert to the old image (with the previously posted libs) and run the same thing, it hangs on client.get(key). Hitting ctrl-c then running client.get(key) runs successfully. If I set the ENV variable and do the same, client.get(key) runs successfully every time.
Sorry for the confusion.

@mlaferrera FWIW the ENV var actually changes the transport from HTTP 1.1 to gRPC (which uses HTTP 2). You can "see" this by viewing client._datastore_api.
ASIDE: I would recommend that you use grpcio==1.4.0 due to https://github.com/grpc/grpc/issues/12455

Given that an update fixed the OPs problem, and that grpcio  1.7.0 is out with a fix for the grpc/grpc#12455 issue, I'm going to close this one.

Having the same issue on MacOs. Google Cloud Datastore client hangs on queries and gets.
Setting os.environ["GOOGLE_CLOUD_DISABLE_GRPC"] = "True" did not fix it for me.
I have grpcio 1.17.1 installed.

I fixed it as follows:

Used export GOOGLE_CLOUD_DISABLE_GRPC=True on bash before invoking python
I solved the authentication problem with $ gcloud auth application-default login as described here


import cv2 error

when I run the train.py, the error
ImportError: /usr/share/Anaconda2/lib/python2.7/site-packages/torch/lib/libgomp.so.1: version GOMP_4.0' not found (required by /opt/OpenBLAS/lib/libopenblas.so.0)
` happens. How can I fix it?

Google is your friend https://github.com/dmlc/xgboost/issues/1786