variable nautilus execition times

hi,
thanks very much for nautilus, it sped up my dynesty optimizations by a factor of 3!
I am notice some strange behavior, in terms of execution times. A simple fit to a parabola, with 3 parameters, can take anything between 4s and 19s. I attach the example code. Is this behavior expected with Nautilus?
Cheers
(my apologies if these variable execution times are already discussed somewhere).
import sys
import os
import os.path
#import multiprocessing
#from multiprocessing import Pool, Queue, current_process, set_start_method, get_context
import numpy as np
from nautilus import Sampler
from time import time
import corner
#import cupy as cp
#ctx = get_context('spawn')
#cuda_devices = [0,1,2]
def prior_transform(domain, unif_free):
"""Transforms the uniform random variable u ~ Unif[0., 1.)
to the parameter of interest x ~ Unif[-10., 10.)."""
x_free = np.zeros_like(unif_free)
bnds = domain
for iparam in list(range(len(unif_free))):
x_free[iparam] = bnds[iparam][0] + (
bnds[iparam][1] - bnds[iparam][0]) * unif_free[iparam]
return x_free

def lnlike(Data, xfree, dum=1, n_gpus=1):
yo = 1
yo = Data[0]['y']
xo = 1
xo = Data[0]['x']
a = xfree[0]
b = xfree[1]
c = xfree[2]
ym = dum * (a * xo + b + c * xo**2)
logL = -0.5 * np.sum((ym - yo)**2)
logL = logL.item()
return logL
def main():
gendomain = [
    [-5, 5],
    [-5., 5],  #dimensionless, relative to v_Kep.
    [-5., 5],  #dimensionless, relative to v_Kep.
]

nmesh = 100
xo = np.arange(nmesh) / nmesh - 0.5

zdum = 10.
ydata_0 = zdum * (2. * xo + 3 - 1 * xo**2)

mu = 0.
sigma = 0.1
noise = np.random.normal(mu, sigma, len(xo))
yo = ydata_0 + noise

lnlikekwargs = {'dum': zdum}
n_dim = 3

Data = []
Data.append({'x': xo, 'y': yo})

dsampler = Sampler(prior_transform,
                   lnlike,
                   pass_dict=False,
                   n_dim=n_dim,
                   n_live=10,
                   prior_args=[gendomain],
                   likelihood_args=[Data],
                   likelihood_kwargs=lnlikekwargs)
dsampler.run(verbose=True)

points, log_w, log_l = dsampler.posterior()
np.save('dresult_points', points)
np.save('dresult_log_w', log_w)
np.save('dresult_log_l', log_l)

points = np.load('dresult_points.npy', allow_pickle=True)
log_w = np.load('dresult_log_w.npy', allow_pickle=True)
log_l = np.load('dresult_log_l.npy', allow_pickle=True)

naut_results = list(
    map(lambda v: (v[1], v[2] - v[1], v[1] - v[0]),
        zip(*np.percentile(points, [16, 50, 84], axis=0))))

names = ['a', 'b', 'c']

ibestparams = np.argmax(log_l)
bestparams = points[ibestparams, :]

print("param     distrib     max ")
for iparam in list(range(n_dim)):
    print(names[iparam], naut_results[iparam], bestparams[iparam])

fig = corner.corner(points, weights=np.exp(log_w), labels='abc')
fig.savefig("triangle_test_nautilus.png")

if name == "main":
time_start = time()
main()
time_end = time()
print("Execution time for Gen_surface.project (top): %s s" %
(time_end - time_start))

This doesn't appear to be a bug and is most likely expected. I didn't quite observe the strong variations you reported but only ran the script 10 times. The issue is most likely the very, very low number of live points. Even for simple examples, I'd recommend at least a few hundred live points. With only 10 live points, the quality of the initial exploration can vary dramatically such that sometimes you need a lot more likelihood evaluations to reach the effective sample size of 10,000, the default stopping criterion for sampling. With just 100 live points, the variations in the runtime disappear for this problem and you always need around 14,000 likelihood calls, much less than with 10 live points. Happy to help if you have more questions.


Image resizing

@darshanbaral  I like this theme a lot, however, I am having trouble controlling the image size in my posts. It appears that my images are always stretched to fill the page. For example, check out the page here that I'm working on:
https://boomshakalakalaka.z19.web.core.windows.net/geography-posts/multidimensional-data-in-arcgispro/
How do I control the size of the images? It appears the theme isn't responding to anything I do in my markdown.

I have modified this to some degree by changing the img tag:
.content img {
  max-width:100%;
  width:auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

I was trying to make the images responsive. Could you tell me more about your desired behavior for the images when the window width becomes narrow?

@gbrunner, thanks for pointing it out. I fixed it in 43aeeccd356bf344d13a89414c9ee706c36c9dbb.

@darshanbaral Awesome. Thank you for addressing this! Again, I like the theme a lot. Check out my live use of your theme at https://www.gbrunner.me/


feat: remove COLUMN_LAYOUT feature flag

Description
Changes proposed in this pull request:

removed COLUMN_LAYOUT flag
fixed jumping columns in column layout
adjusted logic for checking if form is opened
adjusted tests
Related issue(s)

/hold


Some frames cut off in react-native ios

Description
[Description of the bug]
Steps to Reproduce

[First Step]
"lottie-ios": "3.1.3",
"lottie-react-native": "^3.3.2",
[Second Step]
pod install
[and so on...]
<LottieView
ref={animation => {
this.animation = animation;
}}
source={bot}
/>

Expected behavior: [What you expected to happen]
https://i.imgur.com/MgTJtUw.mp4
Actual behavior: [What actually happened]
https://i.imgur.com/dk3YUCR.mp4
Versions
"lottie-ios": "3.1.3",
"lottie-react-native": "^3.3.2",
You can get this information from executing npm version.

any idea?

This could be due to the version of body movin you are using.
I had the same problem I downloaded the JSON of a similar animation but with a more recent bodymovin.
It worked for me

Could you explain more about it? I am not sure the version of body movin.
So how sure I solve this?

This is first time that using lottie and I receive json file and some images, so not sure how could I solve this problem. Please guide me.

this link explains how you can use animations with assets:
https://github.com/react-native-community/lottie-react-native/blob/master/docs/api.md#using-animations-with-assets

Thank you, I will check bodymovin version

Any tip on this?

Any tip on this?


[WIP] Refactor and add test parser

Codecov Report

Merging #60 (a8633b6) into main (917a37d) will increase coverage by 1.80%.
The diff coverage is 93.75%.

@@            Coverage Diff             @@
##             main      #60      +/-   ##
==========================================
+ Coverage   84.06%   85.87%   +1.80%
==========================================
  Files          21       21
  Lines        1042     1041       -1
==========================================
+ Hits          876      894      +18
+ Misses        130      115      -15
+ Partials       36       32       -4

Impacted Files
Coverage Δ

internal/spec/parser/parser.go
66.15% <91.66%> (+14.24%)
:arrow_up:

internal/matcher/stream/eq_json.go
85.71% <100.00%> (ø)

internal/util/json.go
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Change type of received_message

Description
The point of this issue is to highlight discussion to change from a type T to message_info in the OnMessageReceived Function. I would be able to make a pull request for these changes, if the libstatistics_collector library wanted to go along with this
Related Issues
This was discussed in pull request 2247 over in the rclcpp library. If you want to follow discussion up to this point, it has all happened there.
Completion Criteria

Must change type T in const T & received_message within all OnMessageReceived functions to either rmw_message_info_t or if we wanted to import rclcpp (which we probably don't) clcpp::MessageInfo
Then deprecate all OnMessageReceived functions that are templated with type T

Testing Notes / Suggestions
Not much other than changing the message types passed to the test functions.

* Must change type `T` in `const T & received_message` within all `OnMessageReceived` functions to either `rmw_message_info_t` or if we wanted to import rclcpp (which we probably don't) `clcpp::MessageInfo`

Agreed that we can't take a new dependency on rclcpp here.  That would lead to a circular dependency that would be hard to undo.  This package already depends on rcl, which in turn depends on rmw, so it is OK to take an explicit dependency on it for this feature.

@CursedRock17 Sounds good :+1:

Sounds good, it's been checked off as ready to go and all the uncrustify errors are fixed so once it's reviewed and the CI is ran on it, I'll change up rclcpp message handling.

@CursedRock17 i totally missed this one, i will take a look.


Threadsafe application state

It appears that the only way to manage application state is static variables which might not be safe to be accessed in multi-threaded environment. Is there any plan to have a feature like app_data in Actix?

Try this: https://github.com/salvo-rs/salvo/blob/main/examples/affix/src/main.rs


Problem: systemd check in hare_setup start may not work

hare_setup start command checks if systemd is enabled and accordigly
decides to start hax and consul without or with systemd. But,
hare_setup does not start consul in case systemd is enabled in the
containers.
Solution:
Instead of checking systemd internally in hare_setup start command,
take an explicit option to specifiy if hare_setp start is being executed
in environment with or without systemd.
Signed-off-by: Mandar Sawant<EMAIL_ADDRESS>

[root@cortx-io-pod-1 ~]# /opt/seagate/cortx/hare/bin/hare_setup start --config json:///tmp/hare.config.conf.n.cvgs.3-node --nosystemd &
[1] 13168
[root@cortx-io-pod-1 ~]# ps -aux | grep hax
root      13187  9.5  0.1<PHONE_NUMBER>4 pts/10   S    17:36   0:00 /usr/bin/python3.6 /opt/seagate/cortx/hare/bin/hax

@mssawant : Can you check for cluster type in confstore (common>environment_type) and if it is k8s, assume it to be non-systemd environment ?

@madhavemuri, Would prefer to have an explicit input, so let's have non systemd start as default and have an option as --with-systemd.


Tunable UI for Power Attack feat

https://github.com/ChrisPJohn/SolastaCommunityExpansion/pull/109

In 1.2.15


ranger: config-based construction

A draft to show where #31 heads with regards to ranger.Ranger setup.

@profsmallpine if you want to review, this PR contains all the previous branches with the addition of this penultimate commit putting a nail in the coffin. Barring overlooking anything, this finishes refactoring out all the flexible ways ranger was configurable in favor of the "one way" philosophy.

@seedifferently if you're curious to check out the major refactor here, the pertinent changes are in ranger/, specifically ranger/ranger.go and the replace of ranger/opt.go with ranger/config.go. Probably easiest to chat any specific changes, but the overall gist is to (1) eliminate being able to overwrite defaults and (2) have ranger be configured "first" and then expose its components to an application. 2 will make more sense when I get a branch up showing how these changes work in college-try.


Implement Gibson Assembly

@TimothyStiles can you elaborate on what exactly it is we need here?

I think I can explain a little bit.
Gibson Assembly is an extremely popular DNA assembly method. It's used by pretty much everyone who isn't doing high-throughput work (where GoldenGate usually works better, which we do have).
Fundamentally, pretty much all DNA assembly methods use some form of overlapping sticky DNA ends which are then ligated together. In restriction enzyme cloning, these overhangs are created with enzymes that cut the DNA. In Gibson, you take blunted fragments and chew back about 20bp-40bp, which is then used as the overlap region (an idea originally adapted from yeast, which do this naturally).
So, with just a few additions, we could probably adapt our clone library to do Gibson. However, I think the clone library out of all our packages (other than parsers) could really use a revamp. It's kinda convoluted right now, and I think it could be simplified by quite a bit.
Gibson assembly I think is important enough that we should have it on the roadmap.


[AutoRelease] t2-peering-2022-11-01-00004(Do not merge)

https://github.com/Azure/sdk-release-request/issues/3331
Live test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=1170

issue link:https://github.com/Azure/sdk-release-request/issues/3331


Implement webpack build system

lgtm!

Coverage remained the same at 91.696% when pulling bd8768d425d576180d56762c49f5f0cc5038ad4a on webpack into e688ae589c93440528fc0e51384e6719c256e8c4 on master.


Feature request: Exposing Number of Channels per Eventloop

Netty doesn't expose the number of channels per event loop for Kqueue|Epoll|Nio. It might be helpful for monitoring performances to expose this.
Could also be useful for a better way of assigning channels to event loops as well. (My results on this were inconclusive, but the simulations I wrote might not be good).

Perhaps EventLoopGroup.registeredChannels could be a good API to expose?

@normanmaurer How do you feel about exposing this API (see above)? I might have time to contribute this little improvement if you find that useful.

@vkostyukov yeah I think it is a good one... That said we will need to implement it without breaking other impls so it will need to go into an implementation of EventLoopGroup I guess.

Sounds good! Let me give a try.

@vkostyukov any update ?

@normanmaurer Yes - I was looking into where to expose this and the best I can come up with is concrete implementations of event-loops, NioEventLoop, EpollEventLoop.
I wish we could put this under SingleThreadEventLoop (by analogy with pendingTasks) but we don't really have access to the underlying channel-map from there. My vote would probably be start with Nio|Epoll classes and see how it goes. Does it sound reasonable?

@vkostyukov the problem here is that EpollEventLoop is not public but I guess we could change this.


chore: bump cairo + scarb

If Serde is now derived, do we still need serialize and deserialize in a component's #[abi] and to explicitly call it?

I thought the serialization is done automatically by the compiler, so even if there's a custom Serde impl, as long as it's imported, it's going to be used.

I thought the serialization is done automatically by the compiler, so even if there's a custom Serde impl, as long as it's imported, it's going to be used.

thats true, but in the case of an autonomous world, different developers might have different serde impls locally. so i it has a specialized impl, then there is the challenge of making sure a future contributor has the same impl locally. with this approach, it is maintained onchain so we can avoid that issue

developers might have different serde impls locally

I must be missing something. How is that possible? Isn't a Component also a deployed contract? If so, it is deployed with its Serde impl that everyone/everything has to use no?


fix: dont send local storage token to /current_token

What?
We were always sending localStorage.token to /current_token and auth-api would return that token ... even if the session_token had a more recent one.
This ensures we never send /current_token the token stored in local storage.

current_token_id
current_token
session_token

this sort of makes sense, but does that mean we do not invalidate some types of tokens?


Context access inside Shape implementation

Problem
I am trying to implement some vector drawing with ratatui, but I face problem. The ratatui::widgets::canvas::Line method can't draw a line if one of the points is outside the window. In theory I can calculate the intersection and draw a shorter line, but I need to know the resolution from Shape. get_point doesn't help because it just returns none if the point is outside. Also context is a private field and I don't have access to the required fields.
Solution
I see few solutions:

Public access to context in Painter.
Additional methods like resolution and context bounds
New property for widgets that need context

Alternatives
I can use context before calling draw or draw without shape implementation, but it doesn't look consistent.
Additional context
I can try to implement some of the solution, but I am not sure which way is better

Hey there, thanks for raising this issue. It's been a while since I looked at the canvas module, so you're likely more of an expert on this problem than I am right now. I wonder if you could provide a very small example of what doesn't work (i.e. <10 lines), and a few examples of your suggested solutions? It doesn't have to be compiling code, but it would help to make the ideas a little more concrete and assess which one works best.

I’m creating a map visualization for my project. The issue is that I'm drawing not by points as in ratatui::widgets::canvas::Map, but by polygon lines using ratatui::widgets::canvas::Line. A peculiarity arises here: lines do not render outside of *_bounds, even if they pass through the visible area.
You can see the issue in these images:

Here is a code example that draws a blue line but doesn't draw the red one:
    let canvas = Canvas::default()
        .marker(Marker::Braille)
        .x_bounds([0.0, 1.0])
        .y_bounds([0.0, 1.0])
        .paint(|ctx| {
            ctx.draw(&ratatui::widgets::canvas::Line {
                x1: 0.5,
                y1: 0.5,
                x2: 2.0,
                y2: 0.0,
                color: Color::Red,
            });
            ctx.draw(&ratatui::widgets::canvas::Line {
                x1: 0.5,
                y1: 0.5,
                x2: 0.9,
                y2: 0.0,
                color: Color::Blue,
            });
        });
    frame.render_widget(canvas, frame.area());

I thought about finding the intersections between the visible area and the line and
rendering it:
            if let Some((start, end)) = crop_line_in_box(start, end, x_bounds, y_bounds) {
                ratatui::widgets::canvas::Line {
                    x1: start.0,
                    y1: start.1,
                    x2: end.0,
                    y2: end.1,
                    color,
                }
                .draw(painter);
            }

But the issue is that I need to know x_bounds and y_bounds. In theory, this information should be available in the ratatui::widgets::canvas::Painter passed to the draw implementation, but this structure does not provide public access to the Context where the bounds can be
obtained.
Proposed Options

Rewrite Line to render if points are outside the area. The problem is that Line also
does not have direct access to the bounds, so they will need to be passed as parameters,
which could slightly slow down rendering.
Add methods to access Context:let context: &Context = painter.context;

or access its parts in Painter:let (x_bound, y_bound) = painter.get_bounds();

Pass Context to Shape::draw instead of Painter. This would break backward
compatibility.    fn draw(&self, context: &mut Context) {

Add a draw_with_context method. This is a more compromise option similar to the third
one.

Got it. Thanks for the explanation.

seems like it breaks the way this works
a) (context) Of the methods on Context are there ones which would make things act odd if called from a Shape being drawn? This would likely also entail making the bounds accessible on Context (they're private right now)
b) (painter.get_bounds()) This seems like the most reasonable option to me. The terminal width and height don't sounds like they really need to be known by shapes
I don't like the idea of breaking backwards compat on this
Yeah, 2.b is better

I think it would be worth implementing the painter.get_bounds method. (likely the naming should be just bounds(), though it might make sense to make two functions x_bounds and y_bounds as these are the new() params / field names on context.
Can you expand on whether there's a likely need for access to the width/height fields in addition to the bounds? (you mentioned resolution above, which would imply this)

Can you expand on whether there's a likely need for access to the width/height fields in addition to the bounds? (you mentioned resolution above, which would imply this)

Sorry. Resolution = bounds in this context. I think area with bounds is enough for shape.

And maybe improve the Line method too? Well, if we have access to bounds(), we can render lines with edges outside the area. This is usually how it is done (e.g. cairo and other libraries).

This will also make it possible to re-write the circle drawing using the bresenham's / midpoint algorithm. Right now that's a little difficult as the center point and radius are in canvas units, while the algorithm would have to work in grid units. We can get an approximation, but it would snap to the closest grid point to points based on the start the circle rather than choosing the point which should be algorithmically part of the circle. This likely matters if you're trying to move circles around smoothly, but probably is immaterial for most things.
Also, I noticed that the points calculation for the grid points was a tiny bit off when looking into this and fixed that up in https://github.com/ratatui/ratatui/pull/1507. I wonder if you'd mind taking a look for feedback / review?


{Core} Add new error type CommandUsageError

Description

Add a new error type CommandUsageError to indicate command is used incorrectly or the desired function is provided by other commands.
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Core

https://github.com/Azure/azure-cli/blob/588cfc9ed8bea45751a3315ad8a2e00d65acb09d/src/azure-cli/azure/cli/command_modules/acs/custom.py#L2787-L2788
Some of my thoughts:

Maybe it can also be ArgumentUsageError, though I haven't looked into the logic of this command yet.
We currently don't have enough bandwidth maintaining the error classification functionality. You may continue using CLIError for now. There is no rush.
You may include the actual CLIError -> CommandUsageError change in this PR.


[SQL] When creating partitioned table scan, explicitly create UnionRDD.

Otherwise, it will cause stack overflow when there are many partitions.

Merged build triggered.

Merged build started.

Test build #32750 has started for   PR 6162 at commit fa016d8.

Test build #32750 has finished for   PR 6162 at commit fa016d8.

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

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

Merged build finished. Test PASSed.

LGTM, merging to master and branch-1.4.


Make HierarchicalEOM.jl directly depend on QuantumToolbox.jl

Codecov Report
Attention: Patch coverage is 96.95122% with 5 lines in your changes missing coverage. Please review.

Project coverage is 89.16%. Comparing base (97c04fc) to head (01d8123).

Files with missing lines
Patch %
Lines

src/heom_matrices/heom_matrix_base.jl
87.09%
4 Missing :warning:

src/ADOs.jl
95.65%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##             main      #79       +/-   ##
===========================================
+ Coverage   66.04%   89.16%   +23.11%
===========================================
  Files          22       20        -2
  Lines        1502     1467       -35
===========================================
+ Hits          992     1308      +316
+ Misses        510      159      -351

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


lost_focus on a single_text_edit widget does not get called in several cases

Has been tested in master branch.
Describe the bug
lost_focus gets correctly called when clicking in an area without widget or when pressing ENTER but
lost_focus does not get called in the following cases:

when focus is given to another widget (e.g.  clicking on another single_text_edit)
when tab is pressed (focus is given to the first widget of the panel while you would expect the next widget to get focus and the current widget to lose focus

Case 1:
Click on a single_text_edit to get focus
Click on a second single_text_edit --> you get focus on the second widget without lost_focus getting called on the first one
Case 2:
Click on a single_text_edit to get focus
Press tab --> the first widget gets focus without lost_focus being called on our focused widget
Press tab until you reach the correct widget --> the lost_focus gets correctly called when leaving the considered widget
Expected behavior
a) lost_focus should be called when focus is given to another widget
b) Pressing TAB for the first time should move to the widget just after the currently widget under focus (and call lost_focus)
**Desktop **

OS: MACOS
Browser Chrome
Version 105.0.5195.125

Sorry (my bad), seems the case 2 ("TAB")  has been fixed between 0.19.0 and master branch.
The bug on case 1 is still present in master branch.

I've run into this myself (case 1), and it's still present on the latest master.
Digging a bit deeper, the problem is actually dependant on the ordering. If you click from one TextEdit field to another created later, then the lost_focus() event is missed. But if you click to one created previously, then lost_focus()` works as expected.


IWW Issue #34, January 19th 💪 2021

This pull request is for gathering links for the January 19th issue of the Immersive Web Weekly newsletter for the W3C Immersive Web Community Group.
If you have a link to a news article, event, artwork, or project that is directly related to the immersive web then we welcome your help!
To submit a link comment below using this template:
title: Example title of link
url: https://example.com/
author: Alice Smith
content: A short description of what is at the link and why it's related to the immersive web

Please keep in mind that comments here and all submitted links are public!
We keep each issue pretty short so we won't immediately use every submission but we keep track of them all and they may appear in a later issue.
Deadline
IWW goes out each Tuesday morning around 10am Pacific time.
Trevor will edit each issue on the Monday before publication so submissions after that will roll over for use in future issues.
If you need editorial support then email @TrevorFSmith<EMAIL_ADDRESS>

title: WebXR integrations into PlayCanvas: Depth Sensing, Image Tracking, DOM Overlays
url: https://playcanvas.com/
author: Maksims Mihejevs (@mrmaxm)
content: With new PlayCanvas engine update 1.38.0, new integrations into engine been deployed for everyone. Those include: Depth Sensing with GPU and CPU paths, which allows to get better distance sense in AR session. Image Tracking - allows to actively track images in real world during AR session. And DOM Overlays - simple way to use HTML + CSS with AR session. Also Input Sources now can be squeezed. All WebXR integrations in PlayCanvas, make developer lives easier and benefit from engine features.

title: WebXR integrations into PlayCanvas: Depth Sensing, Image Tracking, DOM Overlays
url: https://playcanvas.com/
author: Maksims Mihejevs (@mrmaxm)
content: With new PlayCanvas engine update 1.38.0, new integrations into engine been deployed for everyone. Those include: Depth Sensing with GPU and CPU paths, which allows to get better distance sense in AR session. Image Tracking - allows to actively track images in real world during AR session. And DOM Overlays - simple way to use HTML + CSS with AR session. Also Input Sources now can be squeezed. All WebXR integrations in PlayCanvas, make developer lives easier and benefit from engine features.

title: WebXR Meetup with Ada Rose Canon
url: https://www.meetup.com/Web-VR/events/275691745/
content: Join us as we invite Ada Rose Cannon, Developer Advocate/Staff Engineer at Samsung & Co-chair of the W3C Immersive Web Working Group and Community Group, to share with us the latest and greatest with the WebXR Device API and more! Register for the webinar below.

title: WebXR Meetup with Ada Rose Canon
url: https://www.meetup.com/Web-VR/events/275691745/
content: Join us as we invite Ada Rose Cannon, Developer Advocate/Staff Engineer at Samsung & Co-chair of the W3C Immersive Web Working Group and Community Group, to share with us the latest and greatest with the WebXR Device API and more! Register for the webinar below.

title: ShaderWorlds Collaborative XR Spaces
url: https://shaderworlds.com/
url: https://github.com/jure/shaderworlds
content: "A collection of open source VR-enabled shader worlds"

title: ShaderWorlds Collaborative XR Spaces
url: https://shaderworlds.com/
url: https://github.com/jure/shaderworlds
content: "A collection of open source VR-enabled shader worlds"

title: CineShader
url: https://cineshader.com/
content: "A real-time 3D shader visualiser. It leverages the Shadertoy.com API to bring thousands of existing shader artworks into a cinematic 3D environment."

title: CineShader
url: https://cineshader.com/
content: "A real-time 3D shader visualiser. It leverages the Shadertoy.com API to bring thousands of existing shader artworks into a cinematic 3D environment."


+sign in the code

Description
Many +sign can be seen in this files,
Are those there by mistake?
Version
0.70.0
Output of npx react-native info
no need to run the command, you can see it from the codebase directly
Steps to reproduce
you can see it directly from here https://github.com/facebook/react-native/blob/35e2a63b8d45a52445266bd8106600cb49081a59/Libraries/Animated/NativeAnimatedTurboModule.js#L29
Snack, code example, screenshot, or link to a repository
link to repository, https://github.com/facebook/react-native/blob/35e2a63b8d45a52445266bd8106600cb49081a59/Libraries/Animated/NativeAnimatedTurboModule.js#L29

this is the JavaScript type system used at Meta called Flow - the + indicates that the property is read only.

Hi @brentvatne,
Thanks alot for sharing!!!


mbslave installed via pip: ImportError: No module named mbdata.replication

I installed mbdata via pip exactly how it's described in the instructions. Unfortunately i get an error each time i try to use the mbslave script:
Traceback (most recent call last):
File "/home/****/.local/bin/mbslave", line 6, in
from mbdata.replication import main
ImportError: No module named mbdata.replication
There is only the mbslave script in the directory after doing the pip install.
The script works great if i clone the whole git instead.

That is strange, it works for me. I suspect you have an older version of mbdata installed somewhere.


create() and createTheme() break when building

We've been developing with this plugin, vite, react and stylex for a few weeks and basically only using storybook for development. Now we're at the point where we're configuring our project to be published as a package and when we run vite build we get the error Only static values are allowed inside of a stylex.create() call
The workaround we found for places where it's actually pointing to stylex.create({}) was to just make everything a function.
  const styles = stylex.create({
    root: () => ({ ...  }),

    viewport: () => ({ ... }),

    title: () => ({ ... })
  })

This is a bit annoying but NBD. The problem that we can't work around is that it gets upset with this same error when we call stylex.createTheme() and there's little to go on for tracking down a workaround or the actual issue.
theme.ts
  import { createTheme } from '@stylexjs/stylex'
  import { colors } from<EMAIL_ADDRESS>
  const DARK = '@media (prefers-color-scheme: dark)'

  export const realgeeks = createTheme(colors, {
    defaultText: { default: colors.gray120, [DARK]: '#FCFCFD' },
    secondaryText: { default: colors.gray100, [DARK]: '#F6F7F9' },
    accent: { default: colors.blue120, [DARK]: '#96C9FF' },
  })

We've tried doing string values for defaults but same issue.
import * as stylex from '@stylexjs/stylex'

export const colors = stylex.defineVars({
  defaultText: '',
  secondaryText: '',
  accent: '',
  blue120: '#...',
  gray100: '#...',
  gray120: '#...',
})

vite.config.ts
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react-swc'
import styleX from 'vite-plugin-stylex'
import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js'

export default defineConfig({
  plugins: [
    react(),
    styleX(),
    cssInjectedByJsPlugin(),
  ],
  server: {
    port: 3301,
  },

  resolve: { ... },
  build: {
    cssCodeSplit: true,
    lib: { ... },
    outDir: './dist',
    emptyOutDir: true,
    rollupOptions: {
      external: ['react', 'react-dom'],
      output: {
        assetFileNames: 'assets/[name][extname]',
        globals: {
          react: 'React',
          'react-dom': 'ReactDOM',
        }
      }
    }
  }
})

package versions
"@stylexjs/dev-runtime": "^0.4.1",
"@stylexjs/stylex": "^0.5.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"storybook": "^7.6.10",
"typescript": "^5.2.2",
"vite": "^5.0.8",
"vite-plugin-stylex": "^0.5.0"
"vite-plugin-css-injected-by-js": "^3.3.1"

Please share a repository that reproduces the issue.

I'm currently seeing it on a company repo that I can't share but in the AM I'll make a public repo and try to reproduce there.

Here's the repo. I confirmed that with the setup if I run npm run build it gives me that error as I'm seeing in my other repo
https://github.com/Sparkmasterflex/stylex-theme-issue
also if you change this key/value from a function to normal object and adjust usage accordingly it'll also error out on the same error.


[SPARK-16665] python import pyspark fails

What changes were proposed in this pull request?
Fix importing pyspark in python
How was this patch tested?
manually tested
BEFORE patch error was:
import pyspark
Traceback (most recent call last):
File "", line 1, in
File "pyspark/init.py", line 44, in
from pyspark.context import SparkContext
File "pyspark/context.py", line 28, in
from pyspark import accumulators
ImportError: cannot import name accumulators

Can one of the admins verify this patch?

Is that actually different? CC @holdenk

I think it is different in that the side effects are slightly different - but it shouldn't actually impact this reported problem. I'm a little fuzzy on the specific Python importing rules between Python versions though so I could be missremembering something.
I think it would be useful to know how this problem came to be - are you running your python job through spark submit or are you trying to import pyspark in another way) and do you have a repro we could see?

Sorry for the super brief answer - got to run to a flight - but if we could get a repro that would be great :)

Quick repro
cd python
python
import sys
sys.path = [os.environ[SPARK_HOME] + "/python/lib/py4j-0.10.1-src.zip"] + sys.path sys.path
sys.path = [os.environ[SPARK_HOME] + "/python/"] + sys.path sys.path
import pyspark

note the stacktrace. It occurs inside the init.py of pyspark.
So the pyspark module is not actually initialized and you are trying to import accumulators from it.
It may be that re-arranging the order of the init.py might make this go away

I don't know if this is the intended way to use PySpark (normally you would use it through spark-submit or pyspark) - however if you want to use PySpark this way you can see https://github.com/sparklingpandas/sparklingpandas/blob/master/sparklingpandas/utils.py to see one way how to setup the imports and then just do an import pyspark - although it should be more or less equivalent with what you've posted for repro.
That being said I tried your repro steps with Python 2.7.11 & 3.4.3 on 2ae7b88a07140e012b6c60db3c4a2a8ca360c684 and it doesn't repro:

import sys
import os
sys.path = [os.environ['SPARK_HOME'] + "/python/lib/py4j-0.10.1-src.zip"] + sys.path
sys.path = [os.environ['SPARK_HOME'] + "/python/"] + sys.path
sys.path
['/home/holden/repos/spark/python/', '/home/holden/repos/spark/python/lib/py4j-0.10.1-src.zip', '', '/home/holden/miniconda2/lib/python27.zip', '/home/holden/miniconda2/lib/python2.7', '/home/holden/miniconda2/lib/python2.7/plat-linux2', '/home/holden/miniconda2/lib/python2.7/lib-tk', '/home/holden/miniconda2/lib/python2.7/lib-old', '/home/holden/miniconda2/lib/python2.7/lib-dynload', '/home/holden/.local/lib/python2.7/site-packages', '/home/holden/miniconda2/lib/python2.7/site-packages', '/home/holden/miniconda2/lib/python2.7/site-packages/setuptools-20.3-py2.7.egg']
import pyspark

#delayedflightjuststartedtoboard

@eastlondoner , the import error you show indicates that accumulators has already been imported.  I was able to run the steps in your reproduction without error, but I did accidentally get the error one time when I forgot to add the py4j to the sys path and the context module was partially loaded with accumulators, so when I called 'import pyspark' again, I got the same import error as you.
Can you verify that there were no previous import attempts when you receive this error?

It seems fine with me too.
$ python
Python 2.7.10 (default, Oct 23 2015, 19:19:21)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-7<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyspark
>>> filter(lambda x: x == "accumulators", dir(pyspark))
['accumulators']
>>> pyspark.accumulators
<module 'pyspark.accumulators' from .../spark/python/pyspark/accumulators.pyc'>

@BryanCutler got it!
I had previously had a failed import, I didn't realise that python 'remembered' failed imports.
Thanks for the help!


Add release cycle chart

In 2019 Dustin Ingram made this chart of the Python release cycle: https://python-release-cycle.glitch.me/

Jeff Triplett and I have forked to make one for Django and Drupal respectively. It's a simple static site: some HTML, JS and CSS using a Gantt chart from Google Charts:

https://github.com/jefftriplett/django-release-cycle
https://github.com/hugovk/drupal-release-cycle

Dustin recently asked:

Hugo, do you think there's any appetite for putting this in more official docs or web properties somewhere? I think there was talk about that at some point but never saw it happen.

I think it would be good, it has come up before a couple of times:

https://github.com/python/cpython/issues/69483
https://github.com/python/pythondotorg/issues/1302

Options
If so, we have a number of options.
We could:

Move this page under https://github.com/python/ as a standalone static page

Either link to the static page, or
figure out a way to integrate it to https://www.python.org/downloads/ and/or https://devguide.python.org/versions/

Create a new chart integrated into either of those pages

Proof of concept
For option two, I made a proof of concept using https://github.com/mgaitan/sphinxcontrib-mermaid to render a Gantt chart on the devguide: https://hugovk-devguide.readthedocs.io/en/mermaid/versions/

Right now it duplicates the dates, but once https://github.com/python/devguide/pull/884 is merged, we could generate them from the CSV.
Further
Let's discuss in today's docs community meeting.

Notes from the meeting:
We thought it would be nice to have something like this on both https://python.org/downloads and https://devguide.python.org/versions. We'll start with the latter using the proof of concept (remembering the Diátaxis iterative model), wait for https://github.com/python/devguide/pull/884 to be merged (now merged), then generate those CSV files and the Mermaid file from a JSON file.
I've made a start on this.
See also @encukou's https://github.com/python/devguide/pull/884#issuecomment-1310031205:

FWIW, I think the source should be a human-writable format, and we should generate a JSON for the machines to consume (like peps.python.org/api/peps.json). And we should tell people to expect the source format to change whenever we feel like it. (That'll need a Sphinx plugin, but if we want to move the formatting out of the tables, one will be needed anyway.)

@encukou Did you have a human-writable format did you have in mind? It also needs to be machine readable.
A flat, nicely-formatted JSON file should be easily human-writable? For example:
[
  {
    "cycle": "main",
    "pep": 693,
    "status": "features",
    "releaseManager": "Thomas Wouters",
    "releaseDate": "2023-10-02",
    "eol": "2028-10"
  },
  {
    "cycle": "3.11",
    "pep": 664,
    "status": "bugfix",
    "releaseManager": "Pablo Galindo Salgado",
    "releaseDate": "2022-10-24",
    "eol": "2027-10"
  },
...

Writing JSON is a pain.

Did you have a human-writable format did you have in mind? It also needs to be machine readable.

I helped add tomllib for this! (Well, acltually for Misc/stable_abi.toml – the same story). But depending on 3.11+ (or an external dependency) might not be appropriate.
My second choice is configparser/INI. See the PEP 518 table – most of INI's downsides don't apply if we don't care for third-party (non-python) tools, and if the schema is simple.

Writing JSON is a pain.

If we use a format similar to the one @hugovk proposed it shouldn't be too bad: we will either have to update some dates here and there or copy/paste/update a section when a new release comes out.
If we use JSON it will also be easier for other people to consume it, if we don't we will either have to generate a JSON or they will have to add extra dependencies to handle toml/config files (or worse, parse them manually).
Also note that in https://github.com/python/pythondotorg/issues/2066 also requested patch versions to be included (in the JSON).

In general, I'm strongly in favor of TOML over JSON for human-readable, and even more importantly human-writable format, and make heavy use of it as such. However, for this specific case, I believe practicality strongly outweighs purity here.
This use case is tightly constrained, to one very specific file, relatively short/simple file that we have full control of the format of, that is updated by a very small number of experienced people, in a highly constrained manner, and with updates being either tweaking one or a few existing values and (once a version/year) copy/pasting a new version block, so the practical downsides of JSON vs. TOML are minimized, whereas the former's greater simplicity and concision is maximized.
By contrast, generating JSON from TOML rather than simply using it as the source requires non-trivial complexity for users, contributors and maintainers of the devguide, a cost which seems likely to equal or outweigh any benefit for this particular case.

If we ever change the contents -- e.g. add more info that's currently in release PEPs in unstructured form -- we might want to change the input format as well. If all we have is JSON that people are depending on, we'll have painted ourselves in the corner: we won't be able to make it more complex while keeping it maintainable.
I recommend to bite the bullet and generate a file for external use now, and to strongly discourage people from using the source file.

I'm not sure I follow, sorry. If we wanted to add more info, or even a modified form of existing info, couldn't we just add a new field, which would of course be backward compatible with existing users—and would that really be any different whether or not we generated the file, in that case? And if we ever did want to change the input format, at any time couldn't we just switch to generating the public JSON from some other file, transparently to existing clients?

couldn't we just add a new field

Yes. But if you the field is a list of dicts, the file is no longer simple.

And if we ever did want to change the input format, at any time couldn't we just switch to generating the public JSON from some other file, transparently to existing clients?

Probably. Or it could be messy. How do you check?
I'm writing under the assumption that if you're already building CSV from JSON, it's trivial to build both CSV and JSON from INI. If that's not the case, let's not do it.
But if it is... I've never regretted separating human-writable files from machine-readable ones.

Yes. But if you the field is a list of dicts, the file is no longer simple.

A list of releases, each with a mapping of key-value pairs, are naturally represented by a list of objects in JSON, or as rows and columns of a CSV, whereas I personally find the equivalent TOML list of tables a little awkward to use, and INI doesn't natively have lists at all. If we instead used a mapping of versions to version data, like we do for peps.json, this would allow direct, efficient access to a desired version and would work just as well in JSON (as an object of objects) and CSV (as before), while also working with INI (as sections of key-values) and would use more common TOML tables, though it would require quoting the table names.
If you mean a key inside one of those that is itself a list of dicts (or anything else more complex than string, bool or number), then yeah that's certainly not simple. However, it isn't natively reprisentable in CSV, so it would be a significant change from the initial proposal here (where CSV is the primary internal consumption format for display as a table), nor are there any such constructs in INI (without making up our own bespoke sub-format). TOML is (IMO) easier to use for human entry in that case, but if and when we get to that point, we could always consider it then.

Probably. Or it could be messy. How do you check?

With the same formatting options and the same data, the files will be byte-identical. Otherwise, json.load(old_json_f) == json.load(new_json_f), no? Or maybe there's something else I'm missing?

I'm writing under the assumption that if you're already building CSV from JSON, it's trivial to build both CSV and JSON from INI. If that's not the case, let's not do it.

Theoretically, yeah, if you use a mapping of mappings and only strings for the values, though personally, I'd rather write JSON then INI, not the least because, as its an old ad hoc format, I'd have to remember which of the innumerable variations we were using :). For future extensions, though, INI would be basically a non-starter if we wanted to have values more complex than strings/basic data types, as you suggest above.
TOML seems to make more sense, as it is standardized and a superset of JSON; we'd just need to add tomli as a dep (or use tomllib on 3.11+), and it would indeed seem to be straightforward to read in TOML and write out JSON instead of just reading in JSON directly. I guess it just comes down to the benefit of using TOML rather than JSON directly given our current requirements right now, since it seems to me we could just as easily switch in the future as implement it now, since it would only change the input format that a small number of people (us) directly interact with.

If this can easily be changed later, there's not much point debating it. You don't have to convince  me, I just hope whoever implements this takes my suggestion into account :)
That said,

INI [is] an old ad hoc format, I'd have to remember which of the innumerable variations we were using :).

That's easy -- normally you copy bits from the rest of the file, like with JSON. When you're changing the schema, you control the dialect directly.
(This might even be an advantage, as it encourages people to use the JSON export.)
Anyway, let the implementer choose the bikeshed colour here.

That's easy -- normally you copy bits from the rest of the file, like with JSON. When you're changing the schema, you control the dialect directly.

Yeah—and as you simply, we'd previously made that same point in JSON's defense, so it would be unfair to not give INI the same benefit of the doubt on that one :)

Please see https://github.com/python/devguide/pull/988 for a first draft. This does JSON -> CSV + MMD.


get_courts is hardcoded -- make show the real list

Should be fixed in https://github.com/SuffolkLITLab/EfileProxyServer/commit/9d9376627bbf05c16bb5969f39847f44c6913d79


New DuckDNS service support and little fixes

What(What have you changed?)

[x] Add support to the DuckDNS  service

[x] Fix Rackspace and Aurora dependencies exclusion when not used

[x] Add MockResponse.text in test_utils.py as fake object response attribute by request.get or request.post for testing tool

[x] Fix encoding of README.md

[x] Add DuckDNS updates in Readme.md

Why(Why did you change it?)

I'd like to import this package to  Home Assistant project throught PyPi to use the DuckDNS service.
Rackspace and Aurora dependencies variable was not setted up correctly when not choosen.
Since DuckDNS service's reply is a basic html text page (OK done or KO fail) we need to use the text attribute of Requests response that was not implemented in the MockResponse class to work properly in the test suite.
When install sewer directly from git with the following command:
python -m pip install git+https://github.com/komuw/sewer.git
i receive an:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 804: ordinal not in range(128)
that refers to the string:
Let’s Encrypt is a free, automated, and open Certificate Authority. - https://letsencrypt.org
the problem here is the fake accent of Let’s

Hello @komuw,
these are fixes for #116
Since i like to import this package on Home Assistant (and for to that it must be on PyPi), please could you update these fixes in the next sewer release?
Thanks

@Tungsteno74
Thanks for the PR.
I have just released v0.7.1 https://pypi.org/project/sewer/0.7.1/ . Try it out

Sorry I forgot to add me to contributors.
Could you add me to the file?
Thanks

Done: https://github.com/komuw/sewer/commit/14095fcdf86d0171d67e012e171978eb78fe4de9


Max BLE characteristics with table declaration, and crash on connection (IDFGH-7861)

Environment

Development Kit: none
Module or chip used:  ESP32-WROOM-32E
IDF version : v5.0-dev-3654-gc2ccc383da
Build System:  idf.py
Compiler version (run xtensa-esp32-elf-gcc --version to find it): xtensa-esp32-elf-gcc (crosstool-NG esp-2022r1-RC1) 11.2.0
Operating System:  Linux
Using an IDE?: No (vscodium to edit files)
Power Supply:   LDO regulated 3.3V

Problem Description
Hello,
I designed a Bluetooth profile. I declared a few hundred characteristics in a service.
According to 314 it should be possible to add any number of attributes in a service. Yet, using the table declaration:
esp_err_t esp_ble_gatts_create_attr_tab(const esp_gatts_attr_db_t *gatts_attr_db, esp_gatt_if_t gatts_if, uint8_t max_nb_attr, uint8_t srvc_inst_id);

up to 255 attributes (uint8_t) are accepted. How should I proceed?
Moreover, if I declare more than 16 characteristics(yes, I mean characteristics, not attributes ) in a service the server crashes when a client connects.
I have 3 services, and only one is managing the advertisement (i.e. calling esp_ble_gap_config_adv_data ) as shown in this example, in which are declared two services (A and B) and only A is calling gap functions.
The server fails on connection if I use more than 16 characteristics in any of the 3 services.
Edit: in the demo I just prepared the server crashes at 26 instead of 16. But it still crashes is ANY of the services goes over 25 characteristics, unrelated to the size of the other services. And in each service a characteristic has a different number of attributes.
Expected Behavior
I expect to connect flawlessly with up to 255 attributes per service
Actual Behavior
I am not able to connect to a service with more than 16 characteristics. In the demo I prepared the server crashes at the 26th characteristic in the service, disregarding the size (in attributes) of the characteristic.
In the demo the size of the services is always under 255 atributes.
Yet, I would like to declare a service with 400-500 attributes, but I am not able to, using the table declaration.
Steps to reproduce
git clone https://github.com/mngr0/esp_idf_ble_error_report
cd esp_idf_ble_error_report
idf.py fullclean
idf.py build flash monitor

Observe the server start correctly.
It will crash when a client connects (I am using this to test, but I have the same behaviour with a custom android app I am developing)
In esp32_bridge.c edit line 39 to
#define SIZE_SERVICE_2 25

And observe that the server does not crash anymore on connection
Code to reproduce this issue
https://github.com/mngr0/esp_idf_ble_error_report
(I am not using gist because the code is divided in several files)
Debug Logs
Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x400db8ac  PS      : 0x00060d30  A0      : 0x800ec6f5  A1      : 0x3ffcb4c0
0x400db8ac: bte_main_hci_send at /home/marco/Documents/esp-idf/components/bt/host/bluedroid/main/bte_main.c:242

A2      : 0x3ffcf078  A3      : 0x00002101  A4      : 0x00000000  A5      : 0x00000001
A6      : 0x00000003  A7      : 0x00060d23  A8      : 0x00950094  A9      : 0x3ffcb4a0
A10     : 0x00002101  A11     : 0x00000001  A12     : 0x00000008  A13     : 0x00000008
A14     : 0x00000000  A15     : 0x00001200  SAR     : 0x0000001d  EXCCAUSE: 0x0000001c
EXCVADDR: 0x009500a0  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0xffffffff

Backtrace:0x400db8a9:0x3ffcb4c00x400ec6f2:0x3ffcb4e0 0x400ecf73:0x3ffcb500 0x400ee431:0x3ffcb520 0x400eb7b7:0x3ffcb540 0x400ec211:0x3ffcb570 0x400fa6e9:0x3ffcb5c0 0x400f1b35:0x3ffcb5e0 0x400f2589:0x3ffcb600 0x400f1108:0x3ffcb620 0x40092f0d:0x3ffcb640
0x400db8a9: bte_main_hci_send at /home/marco/Documents/esp-idf/components/bt/host/bluedroid/main/bte_main.c:242

0x400ec6f2: l2c_link_send_to_lower at /home/marco/Documents/esp-idf/components/bt/host/bluedroid/stack/l2cap/l2c_link.c:1252

0x400ecf73: l2c_link_check_send_pkts at /home/marco/Documents/esp-idf/components/bt/host/bluedroid/stack/l2cap/l2c_link.c:1173

0x400ee431: l2cu_send_peer_ble_par_req at /home/marco/Documents/esp-idf/components/bt/host/bluedroid/stack/l2cap/l2c_utils.c:2954

0x400eb7b7: l2cble_start_conn_update at /home/marco/Documents/esp-idf/components/bt/host/bluedroid/stack/l2cap/l2c_ble.c:562

0x400ec211: L2CA_UpdateBleConnParams at /home/marco/Documents/esp-idf/components/bt/host/bluedroid/stack/l2cap/l2c_ble.c:160

0x400fa6e9: bta_dm_ble_update_conn_params at /home/marco/Documents/esp-idf/components/bt/host/bluedroid/bta/dm/bta_dm_act.c:4995

0x400f1b35: bta_dm_sm_execute at /home/marco/Documents/esp-idf/components/bt/host/bluedroid/bta/dm/bta_dm_main.c:436

0x400f2589: bta_sys_event at /home/marco/Documents/esp-idf/components/bt/host/bluedroid/bta/sys/bta_sys_main.c:499

0x400f1108: osi_thread_run at /home/marco/Documents/esp-idf/components/bt/common/osi/thread.c:68 (discriminator 1)

0x40092f0d: vPortTaskWrapper at /home/marco/Documents/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:141

ELF file SHA256: 2fc63fcacad7d9e3

Rebooting...
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:6936
load:0x40078000,len:15356
ho 0 tail 12 room 4
load:0x40080400,len:3840
0x40080400: _init at ??:?

entry 0x4008064c
I (29) boot: ESP-IDF v5.0-dev-3654-gc2ccc383da-dirty 2nd stage bootloader

Other items if possible
In the repo you can find the sdkconfig

I have reproduced the problem. The reason of crash is that the index exceeds the range of the handles array (line 584 in btc_gatts.c). There are some ways to avoid this problem.

Increase the handles array size.
components/bt/host/bluedroid/btc/profile/std/include/btc_gatts.h
#define ESP_GATT_ATTR_HANDLE_MAX 100
Add characteristics and characteristics descriptor instend of creating attr table.
There will be no quantitative limit by using esp_ble_gatts_add_char() and esp_ble_gatts_add_char_descr().
You can refer to the examples/bluetooth/ble/gatt_server.

Additionally, it's not recommended to update conn params in all gatts profile cb. I noticed that you update conn params in gatts_profile_conf_event_handler(), gatts_profile_status_event_handler() and gatts_profile_main_event_handler(). You can also refer to the gatt_server example.

Hello esp-cjh, thank you for helping me.
I hope that this issue can help other users in the future

Thanks for reporting, fix on master branch is available at https://github.com/espressif/esp-idf/commit/e2d488cf4b7721f92d5c214bbcadd724bcf1921c, and also back ported to other release branches, feel free to reopen. Thanks.


Compile time i18n macro

Discussed in https://github.com/XAMPPRocky/fluent-templates/discussions/52

Originally posted by patefacio September  5, 2023
For compile-time support is it possible to get a compile error when compiling if the lookup fails? I tried cargo-i18n with i18n-embed and in that setup a mispelling will trigger a compile error. My issue with that setup was I could not figure out how to make it work in wasm. This project works just fine in wasm but the forced breakage at compile time would be great.
assert_eq!("Hello World!", LOCALES.lookup(&US_ENGLISH, "hello-world-ooops"));

Thank you for question! I think this should be possible if implemented as procedural macro. I don't have much time to work on this at the moment, but I'd be happy to review a PR for it. We already have a macro crate, so what would work would be to add a new macro similar to the existing one, but that uses the ArcLoader to load localisations into the macro itself, and then provides a panic message when it's not found using a separate lookup macro.

My issue with that setup was I could not figure out how to make it work in wasm.

There is no special treatment needed for fluent-templates targetting wasm, see leptos-fluent.

I've just started using Fluent in a project, and thought of a similar way to get compile-time checking. If we generate helper functions for every message, we can also check the variables.
For example:
# This .ftl file
issue-control-conflict-summary =
    Control Input '{ $input-name }' on Processing Object '{ $po-display-name }' has conflicting inputs
issue-control-conflict-details =
    Driving a Control Input with more than one signal can cause fighting.

would generate
mod tr {
    use std::collections::HashMap;

    use fluent::FluentValue;
    use fluent_templates::Loader;
    use unic_langid::LanguageIdentifier;

    pub fn issue_control_conflict_summary(
        lang: &LanguageIdentifier,
        input_name: FluentValue<'_>,
        po_display_name: FluentValue<'_>,
    ) -> Option<String> {
        let mut args = HashMap::with_capacity(2);
        args.insert("input-name", input_name);
        args.insert("po-display-name", po_display_name);

        super::LOCALES.try_lookup_with_args(lang, "issue-control-conflict-summary", &args)
    }

    pub fn issue_control_conflict_details(lang: &LanguageIdentifier) -> Option<String> {
        super::LOCALES.try_lookup(lang, "issue-control-conflict-details")
    }
}

I presume somebody has thought of this before, but has anybody implemented it?

@joshchngs eh, I hate generated code like that

@joshchngs I think that could work for running lookups at runtime in Rust, but that solution wouldn't really work for compile time.

@XAMPPRocky how come? I'm basically suggesting to generate a function per Fluent key, with a name matching the key. So, if the key changes or disappears, so does the function, and that's where your compile-time error comes from.

I have the same feature request, add a way to extract each message id and generate Rust bindings for them in a build.rs (at build time)


Perform monthly maintenance check

See which Parachains added XCM compatibility, which left ecosystem and which updated versions.

Polkadot chains:
✅Litmus -> v1 to v3
TBA
Kusama chains:
TBA


Druid should not require JVM time zone to be UTC

This issue is meant to aggregate all the problems related to JVM not running UTC:

#228 Hadoop running non-utc
#1204 Segment Granularities
#1284 Integration Tests

Tranquility does work in non-UTC timezones, what it took to get there was,

replacing all instances of new DateTime(x) with new DateTime(x, ISOChronology.getInstanceUTC)
replacing all instances of new Interval(long, long) with new Interval(long, long, ISOChronology.getInstanceUTC)
replacing all instances of new Interval(string) with new Interval(string, ISOChronology.getInstanceUTC)
call .withChronology(ISOChronology.getInstanceUTC) on DateTimes received from "outside"
call .withChronology(ISOChronology.getInstanceUTC) on Intervals received from "outside"

So essentially internally it's using UTC for everything and ignoring the user.timezone value.

re: "depending on whether you want to parse strings in UTC or in the user's timezone" IMO it would be better to parse strings in the user's timezone, so the latter form probably makes more sense.

Agree with @gianm that we should always interpret strings in the user's timezone whenever possible (unless they already specify a time zone of course)

:+1: , This is useful.

Closing this after #4611. If the problem persists let's open another issue


Stick to the concrete linter version

Originally posted here

@zhenik :Which version of super-linter should we use?
https://github.com/github/super-linter/releases

hot-fix solution from @Neha-Sinha2305 https://github.com/Neha-Sinha2305/terraform-nomad-presto/blob/8fcf9d4771ac595f5ba802a38e954e740ed34c02/.github/workflows/on_pr_push_master.yml#L15

@zhenik : Should i include this hotfix solution in these files too to have a consistent implementation for now:

[ ] https://github.com/fredrikhgrelland/vagrant-hashistack/blob/master/template/.github/workflows/on_pr_push_master.yml

[ ] https://github.com/fredrikhgrelland/vagrant-hashistack/blob/master/.github/workflows/on_pr_master.yml

Note: Risk of not doing this will be that the hotfix in submodules will get overriden once we resynch the submodules with vagarant-hashistack-template latest code.

I would suggest to do not add it. Modules maintainers will know it by new PR :) Believe me, like me here https://github.com/fredrikhgrelland/terraform-nomad-presto/pull/9

I would suggest to do not add it. Modules maintainers will know it by new PR :) Believe me, like me here fredrikhgrelland/terraform-nomad-presto#9

sure..i will pick up some other task then.
I will get back to this issue when  github/super-linter#708 is fixed.

set this to 3
https://github.com/fredrikhgrelland/vagrant-hashistack/blob/7431a7f905f253a7b5eb143c59c07bd0ef30eb7a/.github/workflows/on_pr_master.yml#L42


Add comment/number of requests to IOUReport display

Problem
Currently, we don't display any additional info on request reports:

Solution
Let's display the Request comment when there is a single request in the report, or the Number of requests if there's more than one. To avoid loading all actions when displaying the report preview, we'll need to add this info on the backend. Ideally on the reportAction, as two new pieces: numberOfRequests and lastRequestComment. We can then display them on the frontend
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01d1f7e066ce82b8a0
Upwork Job ID:<PHONE_NUMBER>814179328
Last Price Increase: 2023-06-21

@Gonals  Seems this PR was already started reviewing by another C+. Could you kindly assign them here?

Sorry wrong comment. Deleted

I'll be back on this soon!

Not overdue.
@Gonals Gentle bump.

Working on it. There was a revert

@trjExpensify Didn't we at one point in planning decide to review the number of requests in the report preview?

@trjExpensify Didn't we at one point in planning decide to review the number of requests in the report preview?

Sorry, what to do you mean? 😅

Final PR in review! (We can add the merchant for Receipts later. Comment/Number of requests for Manual requests is what we currently have)

The PR that introduced the bug has been identified. Link to the PR:
The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

New Feature

Determine if we should create a regression test for this bug.

Yes

If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

Log into your account in newdot
Request money from someone else and add a comment while doing so
Confirm the comment immediately shows in the request preview
Request money again from the same person.
Confirm that, instead of the comment, the number of requests show immediately in request preview.

Alrighty, $1000 due to @abdulrahuman5196 for the C+ review of the internal PR. Offer sent!
We'll take care of the regression test in a wider update.

Settled up!


can this codec to have "multiplier" option ?

to print "." for example each 1000  events.
can be useful on big data(billions) processing

+1,000,000,000 !!!

... and perhaps an option to output some statistics such as elapsed time, total time, rate, etc.


Validator manager contract utils

Implement some APIs for shard chain validators to call the validator manager contract on main chain.

contract code: https://github.com/ethereum/sharding/blob/develop/sharding/contracts/validator_manager.v.py
previous implementation (with pyethereum): https://github.com/ethereum/sharding/blob/develop/sharding/validator_manager_utils.py

Implementation should probably remain low level.  A simplistic Contract class with the following API should suffice.

Base class with factory class method which accepts abi and returns a ContractClass
ContractClass as returned by BaseContract.factory can be instantiated with a single address.
A method on the ContractClass for constructing a transaction (TODO: should this be a dictionary, a Message class, or something else?)

There are likely some other convenience APIs that should be added around this functionality to make common tasks easier as we find what those are.
I think this code should live in something like evm.utils.contracts.

Made some updates to try and add some clarity to how this might be implemented.

@carver looks like @mhchia may be working on this but you may be well suited to assist with implementation or just sussing out the API.

Interesting, the contract API starts to feel a lot like web3.py: http://web3py.readthedocs.io/en/latest/web3.eth.html#web3.eth.Eth.contract
Maybe we could rip out some part of web3 into a eth-contracts library, for code reuse. Either way, I'm happy to chat about API. As you can see in the docs, web3.py uses a dict when constructing a transaction.

I'm going to backpedal hard on my original suggestion since I think I may have missed something crutial.
@mhchia does this interaction happen over the JSON-RPC interface?

@pipermerriam
Yes it is. Previously I used the web3.py contract object.
But after, I changed to generate the tx data of the contract call transaction on our own, using eth_abi. (referenced from here)
Now performing a contract call looks like this, specifying the function_name and args.
The implementation underneath: VMCHandler.send_vmc_tx.
I did this is because I used web3.py and eth_tester as the backends of vmc_handler. The parameters taken for the sendTransaction of both packages are the same.
So I can just generate one parameter for both backends using the same function mk_contract_tx_obj.
If it is better to use web3.py contract object, I can change to that:)
But this way I will need to figure out a prettier solution.

@mhchia
Just in case you are not aware.  You may be able to slim down to a single handler that only uses web3.py and still leverage eth-tester.  Web3.py ships with a special provider web3.providers.eth_tester.EthereumTesterProvider which uses eth-tester under the hood.  That would allow a single handler implementation that just delegates to web3.py or potentially for you to remove the chain_handler all-together.

@pipermerriam Thank you. It's so great! I will modify them to use web3.py altogether.

I tried EthereumTesterProvider with EthereumTester(PyEVMBackend()), however it seems there are still some of the RPCs not implemented. May I change to use that later when  EthereumTesterProvider is more complete? I think I can help with that after the https://github.com/ethereum/py-evm/pull/206 . Or it is also fine that we can do it right away and continue to https://github.com/ethereum/py-evm/pull/206 ?
Ah I'm in a hurry for this part(Since TesterChainHandler is currently enough for vmc_handler to work. Please reply only when you have spare time. I really appreciate your help! :D

@mhchia which endpoints?  Depending on what they are it should be easy to implement them.

I'm really sorry that I just found I missed a word in the comment above(*I'm not in a hurry for this part...). I apologize if I made you misunderstand.
About the endpoints, it seems like miner.start() is not implemented yet in the eth_tester provider.
I will fix the endpoints that is needed and use eth-tester provider and remove the TesterChainHandler. Thank you!


Shared files do not update immediately on docker

Description
The files changed in the host and shared between the host and a docker vm would not update immediately in the docker vm.
Steps to reproduce:

Create a docker environment with command:

limactl start docker.yaml
docker context create lima --docker "host=unix:///{path}/docker.sock"
docker context use lima

Change a file's content and check the file information by command:

file=source/main.cpp; TZ=utc gls -l --time-style=full-iso $file && docker run --rm -it -v "$(PWD)":/$(PWD) -w "/$(PWD)" ubuntu:latest bash -c "ls -l --time-style=full-iso $file"

Result:
-rw-r--r-- 1 xxxxxx staff 951 2022-06-16 15:19:42.514692541 +0000 source/main.cpp
-rw-r--r-- 1 root nogroup 951 2022-06-16 15:19:33.000000000 +0000 source/main.cpp

They are the same file, so they should be read as the same information. But as you can see, The second file is not updated.
It would take around 10s to wait for the docker and host to be "synchronized." Admittedly, sometimes it would be synchronized immediately, but most of the time, it won't.

Please try disabling sshfs cache
https://github.com/lima-vm/lima/blob/fe004c81d78b75005c3c886f3b731dcc445cd815/examples/default.yaml#L45-L60

@AkihiroSuda Thank you! It works!


The repeated requirements installation is (not really) fixed in Webui v1.7.0

Hi there!
i've got this message everytime i start A1111 (Linux, v1.7.0)
Checking Requirements for Bringing-Old-Photos-Back-to-Life...
Then a file =2.3.1 is created in /whatever/stable-diffusion-webui/ with the content :
Requirement already satisfied: dominate in ./venv/lib/python3.10/site-packages (2.9.0)
Looks like the cause is somewhere in the preload.py code.
Maybe looking at the way faceswaplab extension checks requirements in the install.py code could help?

Could you try to see if renaming preload.py to install.py fix the issue?
The line Checking Requirements for Bringing-Old-Photos-Back-to-Life... being called every launch is normal.
But the line Requirement already satisfied is rather not normal.
And yes, both codes used the same built-in function to check if a package is installed.

@Haoming02 nope, same thing after renaming preload.py to install.py
Checking Requirements for Bringing-Old-Photos-Back-to-Life...
Installing Old-Photo-Restoration Requirement: dominate>=2.3.1

And this odd =2.3.1 file being created with the same content as above.

Should really be fixed for real this time.
I just looked into the Webui's built-in code, the is_installed function from the launch_utils.py still does not handle the version, which is why when asking for "dominate>=2.3.1", it kept trying to install it again...
And you were indeed correct. faceswaplab's install implementation is more thorough.
They just used the same function name

Many thanks. Really Fixed!


Hugging Face to Hub converter

🚀 🚀 Pull Request
Checklist:

[ ]  My code follows the style guidelines of this project and the Contributing document
[ ]  I have commented my code, particularly in hard-to-understand areas
[ ]  I have kept the coverage-rate up
[ ]  I have performed a self-review of my own code and resolved any problems
[ ]  I have checked to ensure there aren't any other open Pull Requests for the same change
[ ]  I have described and made corresponding changes to the relevant documentation
[ ]  New and existing unit tests pass locally with my changes

Changes
Added converter to convert hugging face datasets to Hub datasets.
from hub.integrations.huggingface import from_huggingface
from datasets import load_dataset

ds = load_dataset("glue", "mrpc")
hub_ds = from_huggingface(ds, "mem://xyz")

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Can't change config in-game

The mod description on Curse says that there is a functionality to change the config in-game, but when I click on the 'Config' button on the mod, it just takes me to the 'tutorial' config editor. I don't know if this is a bug or if I'm just doing it wrong, but any help would be greatly appreciated.

I'm not seeing any issues, please refer to the screen shots above, and make sure you have the correct mod selected when you click 'config'

Maybe it's the version of Forge that I'm using? I'm using 2282, but I see that you're using 2233. I know that I can change them in the config files, but it would be more convenient to be able to change it in-game.  Thanks for the help!

It looks like something changed regarding the config screen in the newer builds of forge, I'll need to look into it.

I found the change, they are using a new method to create the gui now, so I'll need to release an update that implements the new method as well.

Thanks a lot!


chore: update chain id for 061-dione

Also pulls in the latest faucet allocations from discord, via galileo.

I removed the new discord allocations; OK to merge once CI passes.


Allow persisting and resuming state

Useful for hydration, testing, etc

See: https://github.com/tom-sherman/serverless-xstate

See: https://github.com/RoyalIcing/yieldmachine/issues/10#issuecomment-920560801


error: unknown crate type: proc-macro

On a trivial project created by cargo new (and removing the edition from Cargo.toml):
$ cargo bisect-rustc --start 2016-06-16 --end 2016-10-03 --prompt
checking nightly-2016-06-16
std for x86_64-unknown-linux-gnu: 58.89 MB / 58.89 MB [=======================================================================================] 100.00 % 11.15 MB/s
error: failed to run `rustc` to learn about target-specific information

Caused by:
  process didn't exit successfully: `rustc - --crate-name ___ --print=file-names --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro` (exit code: 101)
--- stderr
error: unknown crate type: `proc-macro`

nightly-2016-06-16 finished with exit code Some(101).
please select an action to take:
uninstalling nightly-2016-06-16
the --start nightly has the regression

Bisecting into 2016 with a recent Cargo and without the --with-cargo option is highly unlikely to work. I think this should work if you pass --with-cargo though -- let me know if not and we can reopen!

It does not work with --with-cargo either:
$ cargo bisect-rustc --start 2016-06-16 --end 2016-10-03 --with-cargo
checking nightly-2016-06-16
std for x86_64-unknown-linux-gnu: 58.89 MB / 58.89 MB [=========================] 100.00 % 11.06 MB/s  uninstalling nightly-2016-06-16
Could not download toolchain: Tarball not found at https://static.rust-lang.org/dist/2016-06-16/cargo-nightly-x86_64-unknown-linux-gnu.tar.gz

Looks like we don't support dates that far back -- the Cargo binaries were kept in a different directory (e.g., in this case it'd be in https://static.rust-lang.org/cargo-dist/2016-06-16/cargo-nightly-x86_64-unknown-linux-gnu.tar.gz). You could probably download that manually and put it in the path before calling and that should work.

Thanks!  However, I'm not sure where it wants the file to be placed.
(also, will it only need the one, or will it need it for all commits it tries to visit? If it's the latter, I might just be better off installing toolchains through rustup to bisect for now...)

Should most likely just be the one. You can place it anywhere -- I was suggesting unpacking that tarball and then doing something like PATH=/path/to/tarball/bin/dir:$PATH ./target/release/bisect...

Oh, duh!  I see what you mean now.  (run it without --with-cargo :stuck_out_tongue:)
It appears this version predates cargo check as well, but that can be worked around with --script.
script
#!/usr/bin/env bash
cargo build

$ PATH=$(pwd)/cargo-nightly-x86_64-unknown-linux-gnu/cargo/bin:$PATH ~/.cargo/bin/cargo-bisect-rustc --start 2016-06-16 --end 2016-10-03 --script ./script

Seems to be running well now!

I wonder if we should keep this issue open.

Skimming, yes, looks like we can close.


Speech-api (Transcribe.py) returning unicode

Hi There,
Having some issue using the google speech-API for Python. Canadian french here, using accented characters (à é è o û). Whenever transcribe.py returns an accented characters, it prints it in unicode like :
é = \u00e9  è = \u00e8  à = \u00e0
Knowing the script decode his content in UTF-8 ( 'content': speech_content.decode('utf-8')) it shouldn't have any problem with these characters. I am a very  "amateur" programmer and since this script also uses "import json" and mixes javascript in it, I'm not sure on what I should be focusing.
The script usage is as follow (this is run from the console directly):
/usr/bin/python transcribe.py myaudiorecording.flac
So let's say I record an audio file in which i say "Les éléphants"  and transcribe it through google, transcribe.py will return: "Les \u00e9l\u00e9phants".
I use stock transcribe.py file which can be found here: https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/speech/api-client/transcribe.py
I tried adding # -- coding: utf-8 -- to the code but that didn't help. I'm pretty sure this has nothing to do with Python itself since with this line added I can print any accented characters to the console without issue.
So, not sure if Google actually returns the incorrect format, if Python just can't handle the function return or if its something about json.
Thank you very much for your assistance.

@jello2545 thanks for reporting!
The example you mentioned is actually part of a different repository.
I'm not entirely sure offhand how encoding is handled for that. But I would guess that if you used Python 3, it would probably resolve itself.
>>> a = '\u00e0'
>>> a
'à'

@jonparrott, do you have any suggestions?

Hi @daspecster,
Thanks you very much for your answer, I actually did try to run transcribe.py with python2 but it looks like googleapiclient isnt available for it (or I didnt install it properly).
However, your second suggestion for Python 2.7 looks pretty interesting. I added the decode option to the print line so it looks like:
print(json.dumps(response)).decode('unicode-espace')
Looks like python codec doesnt like it much since it returns this:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 75: ordinal not in range(128)

Try:
print(json.dumps(response).decode('unicode-escape'))

You have espace instead of escape, and also you're decode is on the print() instead of the `response.

Oops, my bad about the escape and I wasent indeed decoding the response. Corrected it to print(json.dumps(response).decode('unicode-escape')) but still I receive the same UnicodeEncodeError.
Looks like there's a bunch of frustration about this issue on https://pythonhosted.org/kitchen/unicode-frustrations.html . Will need to dig into that.

Ok, there may be an option for json.dumps to handle it better.
Since this is more of a Python thing than a google-cloud thing, I'm going to close this.
You could try using this library, we try to handle the encoding for you.
https://googlecloudplatform.github.io/google-cloud-python/stable/speech-usage.html

Looking into that, thank you again !

Hi @daspecster
Got my answer, like you suggested to look with json options.  I actually had to add ensure_ascii=False to the json.dumps, then everything printed correctly.
print(json.dumps(response, ensure_ascii=False).encode('utf8'))
Thanks !

Glad to hear!


Added Pong

Closes #117
Pong game added
review PR @TusharAMD

@TusharAMD Review this PR

Content copied from https://github.com/Roiabr/Pong-Game/blob/master/scraprers.py
Remove labels
@TusharAMD

Content copied from https://github.com/Roiabr/Pong-Game/blob/master/scraprers.py Remove labels @TusharAMD

Sorry But my code is a little different from the link you posted here
you can check here left code was mine and others that you sent here
https://www.diffchecker.com/vuanbO3V
And I'm a Technical team Member at GSSoC, someone sends a list of all your PR's so I mentioning it here at @aritra1804


OPCT-210: added stats on etcd-parser-attl tool

Adding stats to the ETCD log requests taking too long parser:

From

> Filter Name: ApplyTookTooLong
> Group by: all
>>> Summary <<<
all	 120
>500ms	 34	(28.333 %)
---
>>> Buckets <<<
low-200	 0	(0.000 %)
200-300	 40	(33.333 %)
300-400	 25	(20.833 %)
400-500	 20	(16.667 %)
500-600	 19	(15.833 %)
600-700	 8	(6.667 %)
700-800	 4	(3.333 %)
800-900	 1	(0.833 %)
900-1s	 0	(0.000 %)
1s-inf	 2	(1.667 %)
unkw	 1	(0.833 %)

To

= Filter Name: ApplyTookTooLong =
== Group by: all ==
=== Summary ===
     all    120
  >500ms     34 (28.333 %)
---
=== Buckets (ms) ===
 200-300     40  (33.333 %) |  600-700      8   (6.667 %) |   1s-inf      2   (1.667 %)
 300-400     26  (21.667 %) |  700-800      4   (3.333 %) |     unkw      0   (0.000 %)
 400-500     20  (16.667 %) |  800-900      1   (0.833 %)
 500-600     19  (15.833 %) |   900-1s      0   (0.000 %)
unkw : []
=== Timers ===
 Count 		:               120	|     Median 	: 385.757 (ms)
   Min 		:      200.848 (ms)	|        P90 	: 608.940747 (ms)
   Max 		:     1379.912 (ms)	|        P99 	: 1077.006 (ms)
   Sum 		:    50405.496 (ms)	|      P99.9 	: 1355.251 (ms)
Average 	:      420.046 (ms)	|     StdDev 	: 192.323 (ms)
Outliers 	: {Mild:[] Extreme:[1330.5906089999999 1379.91236]}

Usage
Outside OPCT:
$ cat ${MUST_GATHER_PATH}/*/namespaces/openshift-etcd/pods/*/etcd/etcd/logs/current.log | ~/bin/ocp-etcd-log-filters

Available in OPCT archive:
$ ls .plugins/99-openshift-artifacts-collector/results/global/artifacts_must-gather_parser-etcd-attl-*.txt
plugins/99-openshift-artifacts-collector/results/global/artifacts_must-gather_parser-etcd-attl-all.txt
plugins/99-openshift-artifacts-collector/results/global/artifacts_must-gather_parser-etcd-attl-hour.txt

There is validation in progress on my branch devel-v0.5, which is required to change on the tools image:

build process
jq URL (dependency) is broken
/hold

This tool has been embedded in OPCT in the PR https://github.com/redhat-openshift-ecosystem/provider-certification-tool/pull/76
Converting to draft to decide what to do.

closing this PR, it was removed on #51 and incorporated into the tool in #76:

preliminary commands: opct adm parse-etcd-logs options args
https://github.com/redhat-openshift-ecosystem/provider-certification-tool/pull/76/files#diff-f13c2a57ef079d89ff26e751c5742770b081a96bd24275e24f26745c6d80b117


Kryo tweaks

Mirrors some optimization and refactoring also targeted for XD 1.2.x.  Move CodecConfig and ModuleProperties out of ChannelAdapterBindingConfiguration.

LGTM.

squashed and merged since Ilaya does not have write permissions yet


Prefer using slashes in Rails/FilePath cop

Under Windows, Rails.root.join('app', 'models', 'goober') is equal to Rails.root.join('app/models/goober'). They both return a string with forward slashes.
I'm in favor of always using the simple slashes and deprecating the previous join. The current cop suggests this is

to avoid bugs on operating system that don't use '/' as the path separator

but there is no evidence of such bugs.
More discussion of the issue here: https://twitter.com/tenderlove/status/842064491936280576

Expected behavior
Rails/FilePath should treat as:
# bad
Rails.root.join('app', 'models', 'goober')

# good
Rails.root.join('app/models/goober')

Actual behavior
Today it treats the following as:
# good
Rails.root.join('app', 'models', 'goober')

# bad
Rails.root.join('app/models/goober')

Good find.  FWIW, we disable this cop at our shop and use the "#{Rails.root}/app/models/goober" format.

At the very least the style should be configurable.


Support building using Xcode 10.2 and Swift 5.0

New Issue Checklist

[x] I have tried with the latest version of OHHTTPStubs
[x] I have read the README
[x] I have read the Using the right Swift Version of OHHTTPStubs for your project section
[x] I have searched in the existing issues
[x] I have read the OHHTTPStubs wiki to see if there wasn't a detailed page talking about my issue

Environment

version of OHHTTPStubs: 7.0.0
integration method you are using:

[ ] Cocoapods
[x] Carthage
[ ] submodule
[ ] other

version of the tool you use: 0.32.0

Issue Description
Attempting to build OHHTTPStubs via Carthage using Xcode 10.2 fails due to Swift 3.0 no longer being supported.
What are the thoughts regarding updating to a later Swift version? Is there any interest in a pull request to update the version? If so, what version should be used? An update to Swift 5.0 perhaps would be optimal since ABI is now stable.
Complete output when you encounter the issue (if any)
Build system information
error: SWIFT_VERSION '3.0' is unsupported, supported versions are: 4.0, 4.2, 5.0. (in target 'OHHTTPStubs iOS Framework')

Hey @raatiniemi , thanks for submitting this!  Unfortunately I haven't been able to reproduce the issue are seeing.
jeffs-new-mbp-4:OHHTTPTester jeff$ carthage version
0.32.0
jeffs-new-mbp-4:OHHTTPTester jeff$ more Cartfile
github "AliSoftware/OHHTTPStubs"
jeffs-new-mbp-4:OHHTTPTester jeff$ carthage build
*** xcodebuild output can be found in /var/folders/zd/n2tm8whj1bv2xdlp8dtnrdlw0000gn/T/carthage-xcodebuild.j1fv00.log
*** Downloading OHHTTPStubs.framework binary at "7.0.0"
***  Skipped installing OHHTTPStubs.framework binary due to the error:
	"Incompatible Swift version - framework was built with 4.2.1 (swiftlang-1000.11.42 clang-1<IP_ADDRESS>) and the local version is 5.0 (swiftlang-1<IP_ADDRESS> clang-1<IP_ADDRESS>)."

    Falling back to building from the source
*** Building scheme "OHHTTPStubs Mac Framework" in OHHTTPStubs.xcworkspace
*** Building scheme "OHHTTPStubs iOS Framework" in OHHTTPStubs.xcworkspace
*** Building scheme "OHHTTPStubs tvOS Framework" in OHHTTPStubs.xcworkspace
jeffs-new-mbp-4:OHHTTPTester jeff$ ls -la ./Carthage/Build/iOS/
total 144
drwxr-xr-x  6 jeff  staff    192 Apr  2 21:24 .
drwxr-xr-x  6 jeff  staff    192 Apr  2 21:24 ..
-rw-------  1 jeff  staff  36262 Apr  2 21:24 9929D4EB-2470-3FE9-8A17-DE495A417503.bcsymbolmap
-rw-------  1 jeff  staff  34691 Apr  2 21:24 A1E82756-13B2-39C1-9411-596090984A1C.bcsymbolmap
drwxr-xr-x  6 jeff  staff    192 Apr  2 21:24 OHHTTPStubs.framework
drwxr-xr-x  3 jeff  staff     96 Apr  2 21:17 OHHTTPStubs.framework.dSYM

The binary created at release time was built with 4.2.1, so I think the Incompatible Swift version message is expected.
Would you feel comfortable sharing your entire Cartfile, the exact Carthage command used, or anything else you think would be helpful to reproduce the issue?

Hey @jeffctown, thanks for a fast answer.
I've investigated it a bit more after your response and I realised that version 6.0.0 of OHHTTPStubs was being pulled in by a different dependency. Attempting to compile the other dependency with 7.0.0  works as intended, I perhaps should've done more investigation before opening an issue.
However, on the topic of Swift 5.0, is there any interest in updating the library? Seems as ABI stability would be beneficial to reduce the need for recompilation.

Oh, that's great @raatiniemi .  I'm happy to hear you resolved the compilation issue.
On the topic of Swift 5, yes - we are interested in updating the library.   I believe one of @AliSoftware 's goals for this project is to support as many modern versions of swift as possible, so I'd be curious to see what we could still support when updating to Swift 5.  Feel free to start a PR for that change.
That said, I don't think that updating to Swift 5.0 is going to reduce the need for recompilation, even though the latest swift release has ABI stability.  I think we need module stability to do what you are thinking of, which is still unreleased.
More info on that here:
https://swift.org/blog/abi-stability-and-more/

Updating to Swift 5.0 will solve also Carthage warnings when building the project using XCode 10.2. Thanks.

Since #306 have been merged, this issue can be closed.


[misc] Update baseline data for M49 rebase

Impacted TCs num(approved): New 0, Update 22, Delete 0
Unit test Platform: Crosswalk Project for Android 19.49.509.0
Unit test result summary: Pass 0, Fail 0, Blocked 0
https://crosswalk-project.org/jira/browse/XWALK-6666

LGTM


Refresh Python tutorial

Docs Build status updates of commit 710bda5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

tutorials/python.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


VSCode doesn't see files in OneDrive with Files On-Demand

VSCode Version: Code 1.14.1 (2648980a697a4c8fb5777dcfb2ab110cec8a2f58, 2017-07-13T19:18:47.188Z)
OS Version: Windows_NT ia32 10.0.16232
Extensions:

Extension
Author (truncated)
Version

Bookmarks
ale
0.15.2

python
don
0.6.7

xml
Dot
1.9.2

nuget4code
ffo
0.0.2

Untabify
ili
0.0.2

Ionide-fsharp
Ion
2.27.14

vscode-omnisharp
jri
0.3.0

restructuredtext
lex
32.0.0

csharp
ms-
1.11.0

mono-debug
ms-
0.15.6

PowerShell
ms-
1.4.1

sort-lines
Tyr
1.3.0

(2 theme extensions excluded)

Steps to Reproduce:

Try to open a folder or a file in a OneDrive folder with Files On-Demand turned on.
Files/folders cannot be found even though they are in the locally available state (see https://support.office.com/en-us/article/Learn-about-OneDrive-Files-On-Demand-0e6860d3-d9f3-4971-b321-7092438fb38e?ui=en-US&rs=en-US&ad=US). Windows Explorer/Notepad have no issues with those folders and files.

I have OneDrive 2016 (Build 17.3.6955.0712).
Reproduces without extensions: Yes

#27285


How can I configure the issuer, clientId, and clientSecret at request time while still abstracting?

Help! Been stuck on this for hours.... 😩
I have a requirement where each customer has unique credentials for issuer, clientID,  and clientSecret. (Okta)
I don't know which credentials to configure on the strategy until the user tells me which tenant they are trying to log in to. At that point I can look up the tenant and grab the credentials. Therefore I can't create the strategy until after that point.
This is the problem I'm having (and it might be due to me not understanding typescript):
I import my instance of the authenticator:
export const authenticator = new Authenticator<string | undefined>(storage, {
  sessionKey: 'userEmail',
});

Then in my action function I create the strategy and register it on the authenticator:
import {authenticator} from 'auth.server.tsx';

export async function action({ request }: ActionArgs) {
  const user: User = getUserFromDB();
  if (user.company.oktaClientId && user.company.oktaClientSecret && user.company.oktaDomain) {
    let oktaStrategy = new OktaStrategy(
      {
        issuer: `https://${user.company.oktaDomain}/oauth2/default`,
        clientID: user.company.oktaClientId,
        clientSecret: user.company.oktaClientSecret,
        callbackURL: `${process.env.FRONT_URL}/auth/okta/authorization-code/callback`,
      },
      async ({ accessToken, refreshToken, extraParams, profile }) => {
        // Do stuff with profile
      }
    );
    authenticator.use(oktaStrategy);
    try {
      return authenticator.authenticate('okta', request);
    } catch (error) {
      //....
    }
  }
}

As soon as I try to call authenticator, i get the error:
strategy okta not found

which leads me to think the registration isn't happening.
I HAVE gotten this all to work by defining everything inline in the action function. (i.e. creating the authenticator, creating the strategy, registering the strategy, and calling authenticate.) Seems like something about importing it from another module breaks it. While it worked, I would much rather be able to remove all the authenticator logic from my login route, including configuring the strategy.
Do I need to have some kind of singleton for my Authenticator?
Any help would be very appreciated.

closing this as I found my problem was something else

Thanks for the response @sergiodxa! Can getLoadContext() be used with the RemixAppServer? I could only find examples with an express server.

Could you clarify what "create...on the server" means? Seems like I'm a bit outside the norm here so having a hard time finding examples.

Remix is designed to work as a request handler inside an HTTP server, so you can run code inside the HTTP server itself which runs before Remix, there you have access to the request the HTTP server uses (e.g. the Express request object) so you can identify from that object the tenant.

Can getLoadContext() be used with the RemixAppServer? I could only find examples with an express server, and the documentation is pretty sparse

It can't be used with Remix App Server, the idea of RAS is to be used when you don't need to customize the HTTP server, if you want to you will have to switch to Express, you can use rmx-cli package to eject from RAS to Express, see https://github.com/kiliman/rmx-cli#-eject-ras