Fix issue #1048

Injecting ANSI characters into ColorSchemeStringWriter, instead of reimplementing printStackTrace().

The root cause of issue #1048 is lack of testing on this situation. I added a test on the nested exceptions in ColorSchemeTest, but in retrospective maybe putting it into ExecuteTest is a better option. Also, current modifications to make all test past feels strange to me, as sometimes default parameter of ColorScheme needs to be hardcoded into tests in ExecuteTest , which indicates high coupling. Perhaps some more thoughts on the tests is required.

Codecov Report

Merging #1049 into master will decrease coverage by 0.05%.
The diff coverage is 88.23%.

@@             Coverage Diff              @@
##             master    #1049      +/-   ##
============================================
- Coverage     94.35%   94.30%   -0.06%
+ Complexity      443      442       -1
============================================
  Files             2        2
  Lines          6482     6494      +12
  Branches       1735     1736       +1
============================================
+ Hits           6116     6124       +8
- Misses           94       98       +4
  Partials        272      272

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/picocli/CommandLine.java
94.13% <88.23%> (-0.06%)
303.00 <0.00> (-1.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 ee28eb1...0702296. Read the comment docs.

Changed according to the comment. Now uses Ansi.Text.toString to only output ANSI control characters when ANSI is enabled. Changes to the ExecuteTest are reverted.

Added some new test as requested.


Documenting Quirky Behaviour Plugins

So, I've been stuck for about three days trying to work out how to do some development with my own Rocketeer plugin. Here's some of my findings:

Plugins are installed to ~/.rocketeer/vendor and are not local to the project's vendor.
This means plugins either have to be installed with the rocketeer plugin:install command or you have to manually add your namespace to the ~/.rocketeer/vendor/composer/autoload_psr4.php file and symlink your plugin

This is likely not a fantastic idea because if you haven't installed the plugin on another system, rocketeer will not always fail and the user may not know that the plugin isn't being run.
So as a result, I think there needs a pull request to allow plugins to be part of either the global home config or local to the project itself perhaps as a config setting.

This was the original intention but I kept having issues with possible dependencies conflicts between your global Composer dependencies and Rocketeer's. As such I decided to isolate Rocketeer in its own Composer scope to reduce the risk of conflict.
That being said, does Rocketeer really fail silently when a plugin is not installed? Shouldn't it fail, not finding the class you listed in the plugins array?

Well you'd expect it to cause a massive error, but no, unfortunately there's no errors whatsoever.
As far as composer dependencies are concerned, what sort of conflicts did you have. If rocketeer was a global phar then the dependencies should be embeded. It would be a simple matter to require the local project's vendor/autoload.php. If I'm correct, the spl_autoloaders in the local project's vendor will try to be loaded first.
If it was bad enough an issue, perhaps a pull request to composer is in order so that it stores a separate copy for each packagist lib.

Rocketeer's dependencies are embedded in the PHAR, but not the plugins installed afterwards through it, hence the conflicts, or did I not get what you meant?


Validating data_pipeline

Hi Egil,
Thanks so much for releasing the end-to-end wtte-rnn code in data_pipeline!   Very cool stuff.
I had a question about validating the performance though.  To check how well the model predicts TTE, I did the following:
predicted_t = model.predict(x_test)
predicted_t[:,:,1]=predicted_t[:,:,1]+predicted_t[:,:,0]*0# lazy re-add NAN-mask
print(predicted_t.shape)

pred_df = tr.padded_to_df(predicted_t,column_names=["alpha","beta"],dtypes=[float,float],ids=pd.unique(df.id))
pred_df['pred_tte'] = pred_df.apply(lambda g: g.alpha*math.pow(math.log1p(0.5),(1/g.beta)),axis=1)
pred_df['actual_tte'] = y_test[:,:,0].flatten()

where
 x_test      = left_pad_to_right_pad(right_pad_to_left_pad(x)[:,(n_timesteps-n_timesteps_to_hide):,:])
 y_test      = left_pad_to_right_pad(right_pad_to_left_pad(y)[:,(n_timesteps-n_timesteps_to_hide):,:])
 events_test = left_pad_to_right_pad(right_pad_to_left_pad(events)[:,(n_timesteps-n_timesteps_to_hide):])

 y_test[:,:,0] = tr.padded_events_to_tte(events_test,discrete_time=discrete_time,t_elapsed=padded_t)
 y_test[:,:,1] = tr.padded_events_to_not_censored(events_test,discrete_time)

What I got looked like this:
>  pred_df

Out[16]:
        id	t	alpha	       beta	    pred_tte	actual_tte
0	1	0	0.148557	0.743166	0.044092	10
1	1	1	18.626453	0.687964	5.014936	9
2	1	2	21.242054	0.726595	6.132385	8
3	1	3	29.170420	0.734831	8.539321	7
4	1	4	30.190809	0.744385	8.978482	6
...	...	...	...	...	...	...
5233	802	49	4.187856	0.667144	1.082288	1
5234	802	50	5.580938	0.632970	1.340699	0
5235	802	51	2.631150	0.609310	0.598024	3
5236	802	52	4.732635	0.670265	1.230809	2
5237	802	53	5.632733	0.642269	1.381371	1

So if you plot predicted TTE vs. actual they don't agree much, not even directionally.  Clearly I am missing something.   Is this not a valid way to compare predicted vs. actual TTE?
Thank you!
Natalia

Hi there,
Thanks for the kind words.

Your actual TTE might be the censored TTE  (so pred_tte would seem to overestimate it for the censored observations). Try removing censored values to get a sense of magnitude.

It looks like your trying to predict the median TTE (a * np.power(-np.log(1.0 - p), 1.0 / b) in numpy with p=0.5). I would be more interested in about 50% of the actual tte being below the predicted than how close it is

If you want to get a general sense of performance, take the (scale dependent) correlation between actual and predicted. Also try (scale independent) correlation after dense rank (leading to rank-correlation)

I think the problem is still actual because in example with full pipeline: https://github.com/ragulpr/wtte-rnn/blob/master/examples/data_pipeline/data_pipeline.ipynb there is picture for one individual, which is not trending right TTE:

And there are not so many censored data:

Could you know what could be the reason for that and what could be fixed in the example to fit data appropriately?

So @aprotopopov the direction it goes actually makes sense, given the information available. If someone hasn't committed in a while there's a risk that it's a long break or that they've stopped altogether. I bet that's what the algo thinks anyway.
Another way I did not mention if you're worried about performance is to see how good it is in terms of fixed windows:
`
from sklearn import metrics
aucs =[]
compare score to sliding box up to some width, up to last decile
max_box_width = np.sort(seq_lengths)[-len(seq_lengths)/10]
for box_width in xrange(max_box_width):
if (box_width%10)==0:
# select only unmasked and comparable datapoints.
    m = ~np.isnan(y[:,:,1])
    # uncensored or within box_width of boundary
    m[m] = (y[:,:,1][m]==1)|(box_width<y[:,:,1][m])

    actual = y[:,:,0][m].flatten()<=box_width
    pred   = weibull.cmf(a=predicted[:,:,0],b=predicted[:,:,1],t=box_width)[m].flatten()

    fpr,tpr,thresholds = metrics.roc_curve(actual,pred)
    print 'auc: ',metrics.auc(fpr,tpr),' sliding box ',box_width
    aucs.append(metrics.auc(fpr,tpr))

plt.plot(aucs)
`
For git-repos I get AUCs in the 70-90 range for most reasonable windowsizes
Btw @aprotopopov I did not forget about your PR, it's great but I'm just trying to merge it with some local changes! Will comment ASAP


1.20.2 support?

I tried to compile the mod for 1.20.2 myself but there is some strange conditional syntax making my IDE freak out, so I cannot see what the actual migration issues are.
I really like this mod so an update would be appreciated!

Created a PR


Various fixes to correctly wait for systems to start during testing

I think maybe bump the timeouts to 3m


move non-runtime dependencies to devDependencies section

When you use levenshtein-deltas as a dependency, some packages which are only useful during package development (docs generator and test runner) are also installed. It can be optimised, by moving them into devDependencies.

Ouch, it seems that build fails because of my change (update of vows). I did that, because it made tests work on the latest node.js.


Lower frame minimum sizing/height

I only need / want to track a couple things but the minimum height only allows for this size.

Can you decrease the minimum height, so i can collapse it a bit further to hide the blank space.

Changed in v<IP_ADDRESS>

Thank you, that's perfect.


fix distributing resources from mining cities

Finding cities mining this resource was not possible as the checking function compared different types.

Thank you for your contribution !


5 second delay when opening Xt dialogs

Environment
Windows build number: 10.0.21390.2025
Your Distribution version: Ubuntu 20.04 LTS
Your WSLg version: 1.0.22 (Windows Subsystem for Linux WSLg Preview)

Steps to reproduce

Install "nedit" with:

sudo apt install nedit

Run "nedit"
Press CTRL+s to save file

This should imediately display a file save dialog, but there is a 5 second delay before it appears.  This does not occur on Ubuntu 20.04 running Wayland in a standard VM or bare metal.  The Xt call that is blocking is "XtManageChild":
#0  0x00007ffff7527ac7 in __GI___poll (fds=0x7fffffff7b40, nfds=1, timeout=4289)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffff78bce7a in _XtWaitForSomething () from /lib/x86_64-linux-gnu/libXt.so.6
#2  0x00007ffff78ca8a8 in ?? () from /lib/x86_64-linux-gnu/libXt.so.6
#3  0x00007ffff7c6c5ad in ?? () from /lib/x86_64-linux-gnu/libXm.so.4
#4  0x00007ffff78b4d56 in _XtMakeGeometryRequest () from /lib/x86_64-linux-gnu/libXt.so.6
#5  0x00007ffff78b4f80 in XtMakeGeometryRequest () from /lib/x86_64-linux-gnu/libXt.so.6
#6  0x00007ffff7b854c8 in ?? () from /lib/x86_64-linux-gnu/libXm.so.4
#7  0x00007ffff78bbdb9 in ?? () from /lib/x86_64-linux-gnu/libXt.so.6
#8  0x00007ffff78bc26e in XtManageChildren () from /lib/x86_64-linux-gnu/libXt.so.6
#9  0x00007ffff78bc378 in XtManageChild () from /lib/x86_64-linux-gnu/libXt.so.6
#10 0x0000555555620177 in ?? ()
#11 0x000055555561cb2d in ?? ()
#12 0x000055555558e281 in ?? ()
#13 0x000055555558f0f6 in ?? ()
#14 0x00007ffff78d047b in XtCallActionProc () from /lib/x86_64-linux-gnu/libXt.so.6
#15 0x00007ffff7bd1ec2 in ?? () from /lib/x86_64-linux-gnu/libXm.so.4
#16 0x00007ffff7c79731 in ?? () from /lib/x86_64-linux-gnu/libXm.so.4
#17 0x00007ffff7c7990d in ?? () from /lib/x86_64-linux-gnu/libXm.so.4
#18 0x00007ffff7c799dc in _XmRC_KeyboardInputHandler () from /lib/x86_64-linux-gnu/libXm.so.4
#19 0x00007ffff78b22be in XtDispatchEventToWidget () from /lib/x86_64-linux-gnu/libXt.so.6
#20 0x00007ffff78b283d in ?? () from /lib/x86_64-linux-gnu/libXt.so.6
#21 0x00007ffff78b2919 in XtDispatchEvent () from /lib/x86_64-linux-gnu/libXt.so.6
#22 0x00007ffff78be5cf in XtAppProcessEvent () from /lib/x86_64-linux-gnu/libXt.so.6
#23 0x00007ffff78b2d2d in XtAppMainLoop () from /lib/x86_64-linux-gnu/libXt.so.6
WSL logs:
pulseaudio.log
weston.log
versions.txt
Expected behavior
Dialog should appear immediately
Actual behavior
Dialog appears after a 5 second delay.

I confirm this bug also in other X11 applications on WSLG. The delay to pop-up dialog windows can be even longer than 5 seconds.

@badjames, thanks for reporting the issue, I confirmed this does repro with the latest WSLg. Using nedit, it doesn't occur to every dialog, like CTRL+O and ALT+I come up immediately, but it does have delay like CTRL+S, SHIFT+CTRL+F and SHIFT+CTRL+R,
@dpeterc, thanks for info, would you please share what-else X11 applications do you observe this issue? thanks!

I'm not sure what the difference between the nedit file "open" and "save" actions are that cause the delay in one but not the other.
I did run nedit under xtruss and it appears the hang is at the point that the WM_SIZE_HINTS property is set:
ChangeProperty(window=w#0040025F, property=a"WM_NORMAL_HINTS", type=a"WM_SIZE_HINTS", format=32, mode=Replace, data=0000022C:000004FF:000002CF:000001F4:000001B0:00000000:00000000:00000EE7:00000497:00000000:00000000:00000000:00000000:00000000:00000000:...)
In the code, it is the XtManageChild call that hangs.
Hope this helps!

The other X11 applications where I observe this issue are
ddd (data display debugger)
grace (xmgrace scientific visualization software)
These are all Motif applications, so menus do not work (already reported in a different bug report), so menu entries need to be called from the shortcut while the menu is open by mouse (for example Ctrl+o).
Popup windows open after considerable delay (several seconds). But if you call them the next time, it is fast.
Usually these programs create the whole user interface widget tree at the startup, so opening of dialog windows should be instant, once the main application window is up and running.


NOASSERTION is accepted as a valid supplier

A package supplier can be defined as an Organistion or Person. It can also be defined as NOASSERTION see SPDX Specification.
It appears that if a PackageSupplier tag exists, this is sufficient to pass the 'are all package details provided' even if the supplier is marked as NOASSERTION. This doesn't seem correct.

That does indeed seem to be a bug. PR welcome. I'm glad to put in one too.
Adding a test case for this and fixing the logic below should be sufficient:
    def get_components_without_suppliers(self):
        """Retrieve name of components without suppliers."""
        components_without_suppliers = []
        for package in self.doc.packages:
            if package.supplier is None:
                components_without_suppliers.append(package.name)
        return components_without_suppliers

Would this do the trick?
    def get_components_without_suppliers(self):
        """Retrieve name of components without suppliers."""
        components_without_suppliers = []
        for package in self.doc.packages:
            if package.supplier is None or package.supplier == "NOASSERTION":
                components_without_suppliers.append(package.name)
        return components_without_suppliers

@jspeed-meyers That looks fine.
Probably need to make sure the following test cases exist:
PackageSupplier: Person: John Doe
PackageSupplier: Person: John Doe<EMAIL_ADDRESS>PackageSupplier: Organisation: Awesome Inc
PackageSupplier: Organisation: Awesome Inc<EMAIL_ADDRESS>PackageSupplier: NOASSERTION
PackageSupplier: Person:
PackageSupplier: Organisation:
The first 5 are all valid according to the SPDX spec but the last 2 should fail as they are not valid according to the SPDX spec but are hopefully picked up by the Python tools.


Bonefire page title

On the bonfire page the title should have Learn to code with bonfire | Free Code Camp.
Learn to code is our SEO keyword, so we want to implement that when we can.

I just added a title and did a pr instead of an issue :)


Trixi on unstructured mesh of 2d curved quads

I fixed some type stability issues in 84832b6 and 1aef54a. Using examples/2d/elixir_euler_unstructured_quad.jl for comparison, the time for creating the mesh is reduced by ca. 25% and the time for initializing the element container by ca. 70%. This should help a bit for larger meshes. Nevertheless, there is still room for improving parsing the mesh file, but that's not a performance bottleneck right now and thus not necessary now.

With 53b4421 you can now get some rudimentary plots for the UnstructuredQuadMesh solver:
julia> using Revise, Trixi, Plots

julia> trixi_include("examples/2d/elixir_euler_unstructured_quad.jl")

julia> plot(sol, grid_lines=false)

yields the following graph:

The grid_lines=false is mandatory, as there is no implementation (yet) to get the mesh vertices for a quad mesh that can be understood by Plots.jl. In any case, @andrewwinters5000, I hope that this will get you started.

Just for clarification: @andrewwinters5000, you ask us to review this PR since everything is ready from your side, isn't it? Or is there something else you would like to change before we shall (squash-)merge this PR?


Fixed bug with bytes packed in decimal encoder

Fix for the comment

The change looks good; just one suggestion: can we simplify the implementation, specifically the write_decimal_fixed function. There are a few possible extra operations, such as mask won't be needed if it's a positive value, and some of the implementation for negative and positive values can be consolidated. I actually don't mind to use extra memory/array as the trade-off for simplicity if needed.

@clin7 I created a JIRA for your comment (https://jira.yelpcorp.com/browse/DATAPIPE-946). I will merge the current PR to resolve the buggy version and tackle the JIRA later.


Text is blurry

Come to think of it, the edges of the tooltip are blurry too.

@yunyu Is it blurry for you on the Microtip website too? - https://github.com/ghosh/microtip

@ghosh Nope, but it seems to happen with some other fonts (which make the height/width of the :after an odd number).

@yunyu Ok, it's a quite a common issue caused by CSS transitions. Will look into it.

I think a workaround would be to add some classes that make the paddings in half pixels

+1, i have this problem too

Hey @yunyu @fireswork
Thanks for submitting the issue but it's will be great if you provide an example of the issue and we will try to fix this ASAP.

Any update for this problem? It happens with position: absolute and translate3d

Hey @bilalmalkoc, could you pass me a link, please? it'll help me alot

@Muhnad hello. Check share buttons on this page please. Change position to right from source coude. It happens only right.


Provide a clear button

Currently, the only way to clear the current search results is to execute another search.  We want to provide a clear button in the UI that will allow users of the application to clear existing searches.
This idea is similar to the "Clear AOI" button in the Environmental Impact application, although placement in the UI would be different.  We should discuss.

Clear button added.  It is the X on the search panel next to the search text box.
Double-clicking in the text box clears only the text.  Clicking the X clears everything.


if .none is changed to .unavailable why it ask me to add both ?

Hi ,
I noticed the last update change .none to .unavailable
that mean .none should be removed
but Xcode ask me to add both on switch !
I did do clean build but noting change untill I add both !
also
let reachability = Reachability()! is force me to remove ! and see it not optional

Cannot force unwrap value of non-optional type 'Reachability'

and after I change it to
let reachability = Reachability()

Call can throw, but errors cannot be thrown out of a property initializer

the previous version was working fine !

let reachability = try? Reachability()
it's working for me properly.

.none is only deprecated, not removed. It will be removed in a future version. In your switch statement, you can use both in the same case like: case .unavailable, .none:
you can use let reachability = try! Reachability() with the new version as an equivalent to let reachability = Reachability()!
you can also still use the old version if you need by using pinning in your dependency manager or downloading an older release from GitHub if you are using it manually

@djtech42 Thanks for following up on this
Cheers
Ash

Also you have to use
NotificationCenter.default.addObserver(self, selector: #selector(self.reachabilityChanged),name: Notification.Name.reachabilityChanged,object: reachable)         do{             try reachable!.startNotifier()         }catch{             print("could not start reachability notifier")         }
in AppDelegate didFinishLaunchingWithOptions.

Though .none is deprecated, not removed, the way we deprecated it is not appropriate.
A more suitable way is to define a static constant none and make it equal to the new case . unavailable.
And then you don't need to list .none in a switch statement anymore.
You can see the changes in PR https://github.com/ashleymills/Reachability.swift/pull/371:


Champs page#68

Description
Progress on the all champs page addition
Screenshot(s) (if applicable, e.g. style updates)

PR Readiness Checklist

General

[x] Verified all changes are related to feature described above (no scope creep)

Branch Stuff

[x] Checked target and base branch (should be feature branch merging INTO main)
[x] Merged latest main into feature branch (so it has latest code)
[x] Resolved any conflicts between feature branch and main

Test Stuff

[ ] Added unit tests to cover modified / additional code

GitHub Stuff (on the right 👉)

[x] Updated labels
[x] Linked issue to which this PR relates
[x] Added assignee
[x] Added at least one (1) reviewer


Pass attribute name to attribute hydrator closure

For the shake of consistency with passing the attribute name to attribute transformer closure in AbstractResourceTransformer (see #8).

OK! However, please note that I intend to redesign (either replace or supplement) hydrators in the not too far future as noted in the change log, because the way they work now is not really good for my use-cases (I practice Domain Driven Design).


When using Dataframe getting empty row but pretty print contain rows

Describe the bug
Getting empty array when using parquet but prints data
To Reproduce
   let df = df
    .aggregate(
        vec![col("name")],
        vec![
            min(col("salary")).alias("min"),
            max(col("salary")).alias("max"),
        ],
    )?;
let results: Vec<RecordBatch> = df.collect().await?;
pretty::print_batches(&results)?;
println!(
    "Min for Aaa is {:?}",
    results[0]
        .column(1)
        .as_any()
        .downcast_ref::<Float32Array>()
        .unwrap()
        .value(0)
);

Expected behavior
Prints,

name
min
max

Aaa
5755.896
6388.9575

Bbb
6905.5454
7203.9756

Min for Aaa is 5755.896
Actual behavior
Prints,

name
min
max

Aaa
5755.896
6388.9575

Bbb
6905.5454
7203.9756

thread '<unnamed>' panicked at 'assertion failed: i < self.len()', C:\Users\seved\.cargo\registry\src\github.com-1ecc6299db9ec823\arrow-6.5.0\src\array\array_primitive.rs:120:9

Hi @selvavm  -- this is very strange what happens when you print out the entire results?
println!("Min for Aaa is {:#?}", results);

If you can provide a self contained reproducer I can also help try and narrow this down

Hi @alamb. Thanks for response. I will see if I can do a self contained reproducer. Sorry, I am new to Parquet files and Datafusion, so having trouble in understanding it.
I also found that results is of size 12 with most of them having 0 rows. So, I added my code like below,
for batch in results {
    for i in 0..batch.num_rows() {
        let max = batch
            .column(0)
            .as_any()
            .downcast_ref::<Float32Array>()
            .unwrap()
            .value(i);
        max_col.push(max);
        let min = batch
            .column(1)
            .as_any()
            .downcast_ref::<Float32Array>()
            .unwrap()
            .value(i);
        min_col.push(min);
        let avg = batch
            .column(2)
            .as_any()
            .downcast_ref::<Float64Array>()
            .unwrap()
            .value(i) as f32;
        avg_col.push(avg);
    }
}

Not an elegant approach. Is there any util to combine all Vec<RecordBatch> into one RecordBatch?

Not an elegant approach. Is there any util to combine all Vec into one RecordBatch?

@selvavm  you can RecordBatch::concat for that purpose:
https://docs.rs/arrow/6.5.0/arrow/record_batch/struct.RecordBatch.html#method.concat


update()

Chartist has an update method https://gionkunz.github.io/chartist-js/api-documentation.html#chartistbase-function-update
Just wonder why it's not used in this component instead of redraw everything each time the data change ?

Hi,
I tested your proposal. With update method it's not possible to redraw a chart with a new type (Pie, Line, Bar). But with two methods : draw (for type property) and redraw (for other propertys) it's possible and this is certainly more performance.
Thanks for your proposal :)

Hello,
Yes if we don't want to transform a Line in Pie or Bar but just update the chart with new data (series, labels) or even options. The update() method can be useful :)
Thanks for your answer.


add osx_arm64 support

Based on #5

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

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

I think this is picking up completion files from the docker image, which fail for yum completions since yum is not installed.

This is ready for review @conda-forge/bash-completion

Excellent! Thanks for tracking down and resolving the the yum issue @matthiasdiener 😄

Thank you @tartansandal ! Please feel free to merge when it's ready, I don't have permission yet. I added myself as maintainer and will work on ppc64le/aarch64 next.


Redis

Would it be possible to add Redis as a caching backend (or something that allows for auto-expiring of keys)? On a long-running instance the map can build up & take memory. I suppose this could be done by an interface and at startup you choose either a map or Redis, etc. Thanks for building this, btw! It has come in very handy.

I'd be happy to change CacheResolver to make it more useful -- maybe add size constraints or proactively collect expired items. When I wrote this, my use case was to cache the lookups of a small fixed set of addresses. However, I wouldn't want to add Redis dependencies to this package. Resolver is an interface and a Redis-backed version could be implemented in a different package.

That is a good suggestion. I will work on another package and get that open-source. thanks you.


Some text in System.Threading.Timer is clipped

Relevant document: System.Threading.Timer
I'm seeing text in "Tip" under the "Remarks" section being clipped. Here's a screen shot:

Adam Comella
Microsoft Corp.

Thanks @rigdern for the feedback. @adkinn can you take a look at this issue? I can repro this if I resize my window a bit.

Filed internal issue to track this: 1179401

Team has fixed the issue. Thanks for reporting it @rigdern!


" running: mkdir data/custom\colmap_text   FATAL: command failed" at step 1，how can i fix it?

Elapsed time: 1.276 [minutes]
==== running: mkdir data/custom\colmap_text
命令语法不正确。
FATAL: command failed

@ahfangming Hi, are you using Windows? We only support linux now, but you can fix this by fixing the slash/backslash.

@ashawkey I see, thank you very much, I'll try again


Add hooks state import snippets

A suggestion for adding import snippets with state features for functional components.

@hektormisplon Thanks for contribution :) I will add docs and release it today :)


Add basic test to make sure python runs

This comes out of me almost breaking main.py while editing the server.

We have a new fake implementation and the linter seems to be doing a good job here. Closing.


virtualBox guest additions won't build on Hydra

Describe the bug
A few days ago these builds started regressing, apparently on all our branches, e.g. very stable 19.03 https://hydra.nixos.org/job/nixos/release-19.03/nixos.ova.x86_64-linux  – and they are blocking the big channels.
To Reproduce
I'm unable to reproduce the problem locally, and Hydra fails repeatedly with a consistent (but weird) message
isoinfo: Warning: Joliet escape sequence uses illegal space at offset 3
Creating directory install
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.2.28 Guest Additions for Linux
Not enough space left in .<PHONE_NUMBER> KB) to decompress ./VBoxLinuxAdditions.run (7212 KB)
builder for '/nix/store/xsvgy5mnpnnl1zf9n9mxz7gcwsv93az6-VirtualBox-GuestAdditions-5.2.28-4.19.76.drv' failed with exit code 1

As the problem seems Hydra-specific, I suspect it's related to the way the cloud instances are set up, so perhaps @grahamc might have an idea?
I tested locally with nix build -f nixos/release.nix ova.x86_64-linux, but that's probably overkill and nix build -f . linuxPackages.virtualboxGuestAdditions is enough.

Is this the same as https://github.com/NixOS/nixpkgs/issues/70442?

No, that one is only on master and affects directly the OVA build.

I can reproduce this in a VM with a 4TB disk. There must be some overflow or something in the guest additions extractor tool.

Fix above.


Max Priority gas price does not work

Component
Forge
Have you ensured that all of these are up to date?

[ ] Foundry
[ ] Foundryup

What version of Foundry are you on?
forge 0.2.0 (7545c7a2 2024-03-12T03:19:04.521042379Z)
What command(s) is the bug in?
forge script
Operating System
Linux
Describe the bug
I use forge script -v --priority-gas-price 0.05gwei --with-gas-price 20gwei,  but the transaction will set the priority gas to 20GWEI.
Gas Fees:
Base: 15.038300915 Gwei |Max: 20 Gwei |Max Priority: 20 Gwei

looks like priority gas price is overwritten by gas price
  --with-gas-price <PRICE>
      Gas price for legacy transactions, or max fee per gas for EIP1559 transactions

@klkvr I think simply changing the order in which those are set should fix this

Will be addressed in scope of #7106


Externalize the shacl context in nexus-kg

Move the shacl context to the nexus-kg project repository. When a way to import it from the nexus-kg is available the one in this prov module will be removed.

Fixed with #32


Error page

Would like to make 404 page more attractive that will appear if the user enters the url that is not available and also this page will have a home link that will redirect the user to home page.
@yash982000 please assign it to me.

Would like to make 404 page more attractive that will appear if the user enters the url that is not available and also this page will have a home link that will redirect the user to home page.
@yash982000 please assign it to me.

Done!!

@yash982000 please assign and also add labels to it.

@yash982000 i will be creating and styling the page and then creating route and then linking i think it is a level 2 issue.


Public path generated for blog articles with complex file names after their date are broken

The public path generated for a blog article with name source/fragments/blog/articles/2018-12-22-v0.1.1 released.md or source/fragments/blog/articles/2018-12-22-v0.1.1-released.md is broken.

addressed in 5e58cbcd1ae0b156ad640dc40f39c56ea28e3ece


alpha.cuelang.org: make it clear what version of CUE is required for a page

What version of the site were you looking at?
https://github.com/cue-lang/cuelang.org/commit/d4f828def30785183f20e89f661717a2ac246604
Working on https://alpha.cuelang.org/docs/tutorial/working-with-a-custom-module-registry/, we currently need the tip version of CUE to make the guide work. We call this out near the top of the page via a code block that shows:
$ cue version
cue version v0.8.0-alpha.3
...

https://cuelang.org/cl/1177003 added support for multiple versions of CUE within the default image. This was intended as a building block to enable per-page configuration for choosing the version for the page. This has overlap with https://github.com/cue-lang/cue/issues/2825 in terms of where that configuration is specified.
We should combine these two thoughts so that it's possible to:

Specify on a per page basis the Docker image used
Within that, specify some configuration for the image itself, e.g. choosing the version of CUE within the default image

This then means that the default version of CUE required for a page is driven by configuration.
However, if the page version requires a different version from the "site" baseline version (https://github.com/cue-lang/cue/issues/2823) then we need to systematically call out and show that difference in a meaningful way. This means automatically rendering something in the content part of the page (that is config driven) that highlights the version required.
It's not totally clear that there is a good general solution to this problem so now it is more than sufficient for us to do things like:

Add export PATH=/path/to/cue as part of multi-step scripts to ensure we get the right version on the page.
Have a step that shows cue version in a script block

The one "blocker" here is that it's not clear whether this approach with modifying the PATH works with code blocks. Perhaps @jpluscplusm can help verify there.

The one "blocker" here is that it's not clear whether this approach with modifying the PATH works with code blocks.

It works, but doesn't display properly.
This code block successfully switches from the default CUE to v0.9.0-alpha.1:
{{{with code "en" "testing"}}}
env PATH=/cues/tip:$PATH
exec cue version
cmp stdout out
-- foo.txt --
this is some file
-- out --
cue version v0.9.0-alpha.1

go version go1.22.1
      -buildmode exe
       -compiler gc
       -trimpath true
  DefaultGODEBUG httplaxcontentlength=1,httpmuxgo121=1,tls10server=1,tlsrsakex=1,tlsunsafeekm=1
     CGO_ENABLED 0
          GOARCH amd64
            GOOS linux
         GOAMD64 v1
{{{end}}}

exec export PATH=... can't be used, both because export is a shell built-in (hence can't be found by the txtar-invoking env), and also because exec bash -c 'export PATH=... would be pointless, as it would be restricted to the single line subshell.
But what gets rendered is this:

Two alternatives / additional-building-blocks come to mind:

https://cuelang.org/examples/shortcodes/sidenote/. These render as follows ...
When placed at the very top of the content file:

When placed immediately following the document's initial H2:

The text I injected into those examples is the longest that the current (CSS?) implementation can cope with. Longer text gets truncated and ...'d.

Notifications, via per-page front matter, as visible on any given CL's /docs page when you've not seen the CL before. I.e. the Documentation on this site depends on CUE v1.2.3 messages.
Whilst these notifications don't currently do what we want (they disappear, permanently, once dismissed), their visibility or invisibility is dictated by a boolean in local storage. I can see it being possible to have a different kind of notification that has different  visibility logic.

Both or either of these could be placed on the page by the preprocessor, letting us use their renderings whilst allowing us to also encode meaningful CUE version tests inside the content page, whether visible to the reader or not.

I opened #3004 to help with the sidenote-based solution I mentioned earlier.


⚠ Bofrost.es has degraded performance

In 551a35f, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1678 ms

Resolved: Bofrost.es performance has improved in a60dd10 after 6 minutes.


[SPARK-27385][SQL]add mapPartitionWithIndex to Dataframe

modify comment
What changes were proposed in this pull request?
This pr add mapPartitionsWithIndex to Dataframe.
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
Please review http://spark.apache.org/contributing.html before opening a pull request.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

If I want to use mapPartitionsWithIndex in Dataframe df,  I have to use df.rdd.mapPartitionsWithIndex instade. What I want to do is to use mapPartitionsWithIndex directly in Dataframe. So, I add mapPartitionsWithIndex in Dataframe, that's all.

I'm not sure this is going to be approved, but I got same needs and had to handle with RDD, so for me this is good to add.
@Ivankings You should point to master branch, which major work happens. Spark 1.6 is already EOL.

@HeartSaVioR Thanks for that.

@Ivankings Why do you make a PR to branch-1.6? Do you want to implement this feature as only for backport?


Itch.io API - Got open window to work

This can be used maliciously, but the functionality of this block is limited due to it opening windows with this:
/purchase?popup=1
To limit this block even further we can remove the domain argument which is replaced with default itch.io, and since this is an entire new block, nothing breaks. This won't allow users to open their game purchase popup from other websites, but there is still ☁ open window and ☁ redirect stuff.

Does there really need to be an input for "itch.io"? Ideally that would be hardcoded

I think it would be cool if the extension could provide a way for the project to choose whether to open the purchase page (eg https://night-school-studio.itch.io/oxenfree/purchase?popup=1), or just the project page (eg https://trianull.itch.io/starlight), or maybe whatever other pages itch has.
Is there a particular reason why it makes more sense to open a popup window instead of a new tab?

These do the same thing.

This one opens the user page.
There isn't any way to fix this stuff well because it is not actually a bug.

That's fine

Just let me know when this is done and I'll press the green button

It's done


Read the docs - torchaudio/libsndfile workaround

Codecov Report

Merging #59 into master will decrease coverage by 0.57%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #59      +/-   ##
==========================================
- Coverage   94.09%   93.51%   -0.58%
==========================================
  Files          23       24       +1
  Lines        1642     1666      +24
==========================================
+ Hits         1545     1558      +13
- Misses         97      108      +11

Impacted Files
Coverage Δ

lhotse/dataset/__init__.py
100.00% <100.00%> (ø)

lhotse/dataset/speech_recognition.py
52.17% <0.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 106b18f...8b14dbe. Read the comment docs.


Kdenlive adapter fails on opening dissolve

Bug Report

[ ] Build Problem
[x] Incorrect functionality
[] General question

Describe the bug here. If it is a build issue, please note whether the issue was encountered via cmake, pip, or tox.
Bug studied and fixed in coming PR
To Reproduce

Operating System: Linux (Debian testing)
Python version: 3.8
Example snippet that demonstrates the issue: from contrib/opentimelineio_contrib/adapters/tests/sample_data
otioconvert -i kdenlive_example.kdenlive -o kdenlive_example.otio
OpenTimelineIO release version or commit hash: 22e2468b32f75e8e8ec8d542accba92435dcbd16
Compiler information: gcc version 10.2.0

Expected Behavior
otioconvert kdenlive adapter shouldn't fail on files with opening dissolves
Screenshots
N/A
Logs
Traceback (most recent call last):
File "/home/vpinon/.local/bin/otioconvert", line 33, in
sys.exit(load_entry_point('OpenTimelineIO==0.14.0.dev1', 'console_scripts', 'otioconvert')())
File "/home/vpinon/.local/lib/python3.8/site-packages/opentimelineio/console/otioconvert.py", line 226, in main
result_tl = otio.adapters.read_from_file(
File "/home/vpinon/.local/lib/python3.8/site-packages/opentimelineio/adapters/init.py", line 140, in read_from_file
return adapter.read_from_file(
File "/home/vpinon/.local/lib/python3.8/site-packages/opentimelineio/adapters/adapter.py", line 131, in read_from_file
result = self._execute_function(
File "/home/vpinon/.local/lib/python3.8/site-packages/opentimelineio/plugins/python_plugin.py", line 174, in _execute_function
return (getattr(self.module(), func_name)(**kwargs))
File "/home/vpinon/.local/lib/python3.8/site-packages/opentimelineio_contrib/adapters/kdenlive.py", line 145, in read_from_string
in_offset=time(transition.get('in'), rate),
File "/home/vpinon/.local/lib/python3.8/site-packages/opentimelineio_contrib/adapters/kdenlive.py", line 44, in time
hms = [float(x) for x in clock.replace(',', '.').split(':')]
AttributeError: 'NoneType' object has no attribute 'replace'

PR: #798

Closing this since the Kdenlive adapter has been moved elsewhere: https://github.com/AcademySoftwareFoundation/OpenTimelineIO/pull/1438


Kotlin Multiplatform support

Are you think about add KMP support?

@kalist28 Hi, compose charts is already multiplatform

This is my inattention 😅
I think you need to correct the description, it won’t be superfluous.


SpringExpressionLanguage Parameter should not be mapped to Swagger Spec

Using spring expression language in methode siganture, parameters will be exposed to springfox swagger api, which are not part of the public API.
Example:
public HttpEntity<?> createRessource(
@RequestBody final Ressource ressource,
@Value("#{request.requestURL}") final StringBuffer requestURL ) {
...
}
The Parameter "requestURL" is only for internal framework use but gets Part of the Swagger generated Public API.
Is it possible to ignore every kind of spring expression language use in methode signature?
I think there`s no case where u want to publish this in ur API....

There isn't a good way to do that unfortunately... May be if you're using StringBuffers solely for this purpose you could add an ignorable type StringBuffer

I know, but ignoring StringBuffers seems a kind of an hack ^^
I think by checking for "@Value" annotated Parameters should fix it. What do u mean?

@GitVhaos the alternative is to annotate the parameter with @ApiParam(hidden=true)


Make the ObjectMapper follow Spring Boot's pattern to enable autoconfiguration

As title.
Fixes https://github.com/Azure/azure-sdk-for-java/issues/30741

/azp run java - spring - tests

/azp run java - spring - tests

/azp run java - spring - tests

API change check
APIView has identified API level changes in this PR and created following API reviews.
spring-cloud-azure-autoconfigure

We should re-consider the replacement for the below ObjectMapper usage
https://github.com/Azure/azure-sdk-for-java/blob/705117820879849dbcd7d12ac0d8432f9e30b048/sdk/spring/spring-cloud-azure-autoconfigure/src/main/java/com/azure/spring/cloud/autoconfigure/aad/implementation/graph/AadGraphClient.java#L108
https://github.com/Azure/azure-sdk-for-java/blob/705117820879849dbcd7d12ac0d8432f9e30b048/sdk/spring/spring-cloud-azure-autoconfigure/src/main/java/com/azure/spring/cloud/autoconfigure/aad/implementation/graph/GraphClient.java#L54

could you explain more?

could you explain more?

I saw the ObjectMapper creation in the AAD module, is it necessary to use an ObjectMapper bean first, and next create a new one if not existing?

could you explain more?

I saw the ObjectMapper creation in the AAD module, is it necessary to use an ObjectMapper bean first, and next create a new one if not existing?

Thanks. But it doesn't need to be the same objectmapper bean used for message converters, right?

Thanks. But it doesn't need to be the same objectmapper bean used for message converters, right?

Yes, I just want to use a unified method and a single object since they can meet all the cases in Spring Cloud Azure.
It's necessary to merge below two methods to keep a unified method:

https://github.com/Azure/azure-sdk-for-java/blob/115a6040b9f4c24a8f88e4371535d7169d975596/sdk/spring/spring-cloud-azure-autoconfigure/src/main/java/com/azure/spring/cloud/autoconfigure/aad/implementation/util/JacksonObjectMapperFactory.java#L21
https://github.com/Azure/azure-sdk-for-java/blob/115a6040b9f4c24a8f88e4371535d7169d975596/sdk/spring/spring-messaging-azure/src/main/java/com/azure/spring/messaging/implementation/converter/ObjectMapperHolder.java#L14

When SCA keeps a single objectmapper object for all SCA usage(unified method invocation) and has to create an objectmapper, this means a default OM is used for all the user cases,  but when an OM bean exists in the Spring Context, not all the related classes take the OM bean managed by Spring, this difference may confuse the customers.

close and work on https://github.com/Azure/azure-sdk-for-java/pull/32623


Try to load json/json_pure even when an old version of json is available.

This is a proposal of patch for #27

Unfortunately, I can not merge this PR. I've added comments in to #27. We can carry on the discussion there.


set it to latest lts release or similar as keeping up with node relea…

Travis.yml node version is set to latest LTS release as setting it to latest node release is a bit too fast and does not reflect what we have in our local workarea.
More details on the syntax at: https://docs.travis-ci.com/user/languages/javascript-with-nodejs/ .

Previously the CI logs used to contain node 9.2.0  but now it looks something like this .
$ node --version
v8.9.1

Verified hence.


Implement doy to days since and inverse

Pull Request Checklist:

[x] This PR addresses an already opened issue (for bug fixes / features)

This PR fixes #688

[x] Tests for the changes have been added (for bug fixes / features)
[x] Documentation has been added / updated (for bug fixes / features)
[x] HISTORY.rst has been updated (with summary of main changes)
[ ] bumpversion (major / minor / patch) has been called on this branch
[ ] Tags have been pushed (git push --tags)

What kind of change does this PR introduce?
Adds xc.core.calendar.doy_to_days_since and inverse days_since_to_doy. It converts between data in day of year to a number of days since a given date. By default, that date is the time coordinate of the value, but it can be changed with start=MM-DD. Also, passing calendar is possible to change the calendar in which the computation is done, otherwise the calendar of the time axis is used. In the inverse function, start and calendar can be forced, but they are read from the attributres otherwise.

Does this PR introduce a breaking change?
No.

@aulemahal  the negative days_since (examples) would typically not ever happen following the resample in the indices calculations right?  I was expecting a range of say 0-365 almost all the time but I think this will be the case for the vast majority of our index calculations

Generally speaking they wouldn't happen because start=None. They happen if the start date is given and the doy value falls beween the time coordinate and that start date. Example : data resampled with YS, doy of 15 and start=02-01, makes days_since = -15.
For the simple use case of performing statistics, one doesn't need to bother with start, so,  yes, "days_since" will always be in the [0, 365] range.

Here's where I found the cftime bug .... doy_to_days_since then tried to build and ensemble from outputs
da_list = []
for dsince in ['08-01','07-01','08-15']:
    out = doy_to_days_since(da,start=dsince)
    #out.attrs['units'] = out.attrs['units'].replace('days since','days after')
    da_list.append(out.to_dataset(name='dsince'))
ens.create_ensemble(da_list)

ValueError: unable to decode time units 'days since 08-01' with "calendar 'default'". Try opening your dataset with decode_times=False or installing cftime if it is not installed.

Oh! I thought it would simply skip on invalid units... I'll change it.

@Zeitsperre Do you know why the Travis CI builds are being triggered?

Here's where I found the cftime bug .... doy_to_days_since then tried to build and ensemble from outputs
da_list = []
for dsince in ['08-01','07-01','08-15']:
    out = doy_to_days_since(da,start=dsince)
    #out.attrs['units'] = out.attrs['units'].replace('days since','days after')
    da_list.append(out.to_dataset(name='dsince'))
ens.create_ensemble(da_list)

ValueError: unable to decode time units 'days since 08-01' with "calendar 'default'". Try opening your dataset with decode_times=False or installing cftime if it is not installed.

Oh! I thought it would simply skip on invalid units... I'll change it.

Is it new that you have to provide a name to to_dataset()?  Seems to break create_ensemble when using a list of DataArrays

to_dataset takes  dataarray.name and asks for it if not set, may be doy_to_days_since destroys the previous name?

@Zeitsperre Do you know why the Travis CI builds are being triggered?

@tlvu managed to get us free credits I think!

Yeah, looks like it. If we want, I can disable them here since we've migrated.

Well for now it's mostly noise because the travis.yml file is commented out. Haha, would there be a way to trigger one only if the minutes of the other are emptied?

@aulemahal They're separate services, so that could get very complicated.
My suggestion would be to officially disable Travis CI on Ouranosinc and re-enable the repositories that we want it on, one by one. @tlvu thoughts?

@aulemahal They're separate services, so that could get very complicated.
My suggestion would be to officially disable Travis CI on Ouranosinc and re-enable the repositories that we want it on, one by one. @tlvu thoughts?

Yes out of the blue Travis-CI replied they gave us more OSS credits and once they run out we request again.  That's bogus !  I don't want to spend time running after them every month.  Moreover their support is not so "fast".  I was questioning them whether they will recognize our OSS status and it took them 4 months to reply.\
So I say we disable Travis-CI for good or at least for repos that already migrate.

I've suspended Travis CI access for now. We'll know if this disables the builds on next push.

@aulemahal They're separate services, so that could get very complicated.
My suggestion would be to officially disable Travis CI on Ouranosinc and re-enable the repositories that we want it on, one by one. @tlvu thoughts?

Yes out of the blue Travis-CI replied they gave us more OSS credits and once they run out we request again. That's bogus ! I don't want to spend time running after them every month. Moreover their support is not so "fast". I was questioning them whether they will recognize our OSS status and it took them 4 months to reply.\
So I say we disable Travis-CI for good or at least for repos that already migrate.

They might have started to see a backlash over their recent move? Who knows.   I agree that ping ponging between services makes no sense. Repos that we have moved to github actions or other services should stay as is unless we start to see major issues as we move forward

@aulemahal this looks good now.  we could merge and maybe make a secondary issue for providing a mechanism for output units from the xclim.indices calls  preference?

Agreed! I'll merge when all tests complete.


Update P9 memd record to meet P9SO_FRU-VPD_Oct3.pdf

Adding CK and Q0 to Q9 keyword to MEMD VPD record for P9 system planar.

This change is

This pull request requires a rebase to get rid of the bogus 'Merge pull request' commit.  Pull requests should not contain merge commits.

I manually merged the change off the patch file, which removes the merge commit.  Closing this pull request.


[wip] gherkin-pretty: create CLI to format Gherkin AST

Summary
Implement standardised output of Gherkin AST into feature files.
Details

Add stringer to AST structs.
Implement CLI main to consume a stream of Gherkin AST and write to disk as required.

Motivation and Context
Provide standardised and consistent formatting of feature files.
How Has This Been Tested?
Creating unit tests with the scenarios outlined in #384.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue).
[x] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).

Checklist:

[x] I've added tests for my code.
[x] My change requires a change to the documentation.
[ ] TBD - I have updated the documentation accordingly.

I'm working on #378, which will introduce protobuf-generated structs for the AST. I suggest holding off until that's merged to master.

Now that I've written down a draft release plan it's become apparent that this isn't the way to go.
The pretty formatter should not be part of the Gherkin library - it should be a standalone formatter.
It should be able to render Gherkin both with and without results.
Sorry for not having communicated this more clearly from the start - it didn't become clear to me until I wrote it down. Besides, we've move to protocol buffers now.

No problem! I viewed this as the "fast approach" and thought it might not be aligned with your desired implementation.


tarssh: 0.4.0 -> 0.5.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Freaky/tarssh/releases.
meta.description for tarssh is: "A simple SSH tarpit inspired by endlessh"
meta.homepage for tarssh is: "https://github.com/Freaky/tarssh"
meta.changelog for tarssh is: ""
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.5.0 with grep in /nix/store/srk67c553f0fggka08ysdya5c1553hpg-tarssh-0.5.0

directory tree listing: https://gist.github.com/a33dfaff7a1ae7e0841d9ffbf183358c

du listing: https://gist.github.com/11f4d1811134617ea0fd9998e72181aa

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
tarssh

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/srk67c553f0fggka08ysdya5c1553hpg-tarssh-0.5.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A tarssh https://github.com/r-ryantm/nixpkgs/archive/1c7236ce79e88bf5f586df4717561502b5dc919b.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/srk67c553f0fggka08ysdya5c1553hpg-tarssh-0.5.0
ls -la /nix/store/srk67c553f0fggka08ysdya5c1553hpg-tarssh-0.5.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

1 package built:

tarssh

Maintainer pings
cc @sohalt for testing.

Result of nixpkgs-review pr 105569 run on x86_64-darwin 1

1 package built:

tarssh


Update pipeline doc to reflect service account requirements

Based on this thread:  https://ibm-cloudplatform.slack.com/archives/CKM8XAUE9/p1569232764112300

For the 0.3.0 release, we will document how the user can create a generic service account to use with the pipelines in https://github.com/kabanero-io/docs/issues/159.
For 0.4.0, we would like to create a sample service account as part of Kabanero install that's a bit more fine grained.

@marikaj123 can I remove the 0.3.0 tag from this?  I would like to use this issue to deal with the 0.4.0 work.  The 0.3.0 work is being handled in https://github.com/kabanero-io/kabanero-pipelines/issues/67

Yes, please.

Completed this work.  Shipped a new kabanero-pipeline service account.


Feature: LDAP-PHPAdmin service.

Once the new repositories are published and the images available I'll ask Travis nicely to rerun the build.
Assuming I accept #45 first this will also require a rebase.

Closed, 'cause LDAP-PHPAdmin and LDAP-LTB was done in an another PR which you can find here: https://github.com/Accenture/adop-docker-compose/pull/52


dereference array item when comparing

Example below doesn't compile because code generator think that item is ref str and when comparing item == "test" it tries to compare ref str with str. Which throws error: passing 'struct str *' to parameter of incompatible type 'struct str'
arr := ["test1", "test2"]

loop i := 0; i < arr.len; i++ {
  item := arr[i]

  if item == "test" {
  }
}

duplicate of #19


Allow (pre)processing multiple times

If you have preprocessed a prep template or processed a preprocessed data, you cannot re-(pre)process them. This is a limitation on the GUI, not in the database.

Solved in: https://github.com/biocore/qiita/pull/1738


Feature/change token format

Following discussions in #1443 to match oni's editor.tokenColors to match with vscode's syntax to allow for cross compatibility with vscode themes this PR changes the theme format to match as well as aims to merge the user, default and theme tokens with priority and as a test adds the editor tokens from vscode/onedark.theme.json
Made a lot of progress here and this PR now uses a TokenScorer to determine which of the available scopes in a list should render for a symbol in a line, this change means that syntax highlighting nearly matches vscode/atom (not accounting for treesitter)

Oni

VSCode

Todo:

[x] Ensure token merging works as expected.
[x] Update theme token provider to fill in any necessary gaps as the imported theme does not cover many token scopes which the hover depends on

Granted tests pass, I believe this is done (for now... from reading around there are loads of tweaks that could be made to improve how we highlight in the long run)
-> side note for my future self or anyone who wants to look at it in markdown.ts, where symbols are defined we dont apply any ranking logic but instead pass the all matching tokens to each symbols so all symbols have several applicable class name -> starting point for optimising the hover box at least

I've given this a quick look over, but is there anything specific you want a second look at?

@CrossR I think my main goal was to avoid breaking any of the syntax highlighting whilst allowing for the use of editor tokens from vscode themes, so that we can copy their editor tokens into our oni themes and they should match the highlighting (almost*) means with this PR anyone making a port of a theme can get really good highlighting by borrowing the tokens.

there are quite a few quirks with how the highlighting is applied which I find hard to quantify prior to and despite this PR (I didnt alter the logic) it still occasionally disappears, or is partially applied, on sourcing vimrc as one example, one change I did make was converting the hi oni_highlight_x guifg={ourColor} to have a hi! which I believe forces the highlight

Will post a little message on discord anyone who uses onedark should see the new tokens and maybe might notice if anything is off although I think the reason for the bugs, although not at all sure, is that the highlighting is sort of cached and or rather we save the lines we have highlighted but I'm not sure if that's enough for vim as there are a lot of things that could alter or clear highlighting in vim and if we believe the line is highlighted then it won't reapply it (or at least I think this is a possible explanation for why sourcing your vimrc will clear all textmate highlighting)


NPE in fragment inject

The problem is when the application stays in the backgound for a while and a recently displayed activity is recycled by Android. Bringing back the application causes NPE as the activity's component is called by the fragment before it is initialized. In my case it often happens after pushing on notification which starts new activity. This issue is very hard to reproduce.  By the way this issue occurs only on my device with android 5.

https://github.com/android10/Android-CleanArchitecture/commit/3e2e3822796d6216a6b221a9ddbff58ab8134faa#commitcomment-16642857
To reproduce: switch ON Don't keep activities under Apps in Settings/Developer options. This will destory every activity as soon as the user leaves it.

Well, I suppose i fixed this issue. The reason is that the code  which create fragment component in activity doesn't executed. Most of the time it works well, but when activity goes to background and is called after some time, FragmentController tries to restore fragment (in onCreate() callback in FragmentActivity.class), that's why dependencies's injections in fragment happen before fragment component initialization in activity. That's why NPE occures.
So to fix this behaviour i put fragment component initialization before super.onCreate() in my activity and the issue is gone.

Could this be provided as PR here?

You may find this interesting: Efficient and bug-free fragment injection in Android MVP applications on medium.com


Does the synchronized version of abn support fp16 training?

The regular abn supports fp16 training but I couldn't make sync_abn work with fp16 training. Did I do something wrong?

@bwang-delft can you please provide more context about the way you are using fp16 with sync_abn and the errors you are encountering?

(1) replace every ABN layer with InPlaceABNSync layer in my network
(2) change activation from 'relu' to 'leaky_relu'
(3) cast my model to half()
(4) use 2 gpus, set batch size to 1 on each
(5) start my training script with the following command: python3 -m torch.distributed.launch --nproc_per_node=2 train.py
The training process was successful but failed after the first epoch. I got the following messages:
RuntimeError: mean is not compatible with x (wrong size or scalar type) (forward at src/inplace_abn.cpp:52)
frame #0: c10::Error::Error(c10::SourceLocation, std::string const&) + 0x33 (0x7f1fab3cb813 in /home/beinan/.local/lib/python3.6/site-packages/torch/lib/libc10.so)
frame #1: forward(at::Tensor&, at::Tensor const&, at::Tensor const&, c10::optionalat::Tensor const&, c10::optionalat::Tensor const&, float, Activation, float) + 0x42b (0x7f1f837c886b in /home/beinan/.local/lib/python3.6/site-packages/inplace_abn/_backend.cpython-36m-x86_64-linux-gnu.so)
frame #2:  + 0x85619 (0x7f1f837e7619 in /home/beinan/.local/lib/python3.6/site-packages/inplace_abn/_backend.cpython-36m-x86_64-linux-gnu.so)
frame #3:  + 0x8126a (0x7f1f837e326a in /home/beinan/.local/lib/python3.6/site-packages/inplace_abn/_backend.cpython-36m-x86_64-linux-gnu.so)
frame #4: /usr/bin/python3() [0x4f8925]
frame #5: _PyEval_EvalFrameDefault + 0x467 (0x4f98c7 in /usr/bin/python3)
frame #6: /usr/bin/python3() [0x4f6128]
frame #7: /usr/bin/python3() [0x56febd]
frame #8: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #9: THPFunction_apply(_object*, _object*) + 0xa4f (0x7f1ff3ce75ef in /home/beinan/.local/lib/python3.6/site-packages/torch/lib/libtorch_python.so)
frame #10: /usr/bin/python3() [0x4f858d]
frame #11: _PyEval_EvalFrameDefault + 0x467 (0x4f98c7 in /usr/bin/python3)
frame #12: /usr/bin/python3() [0x4f6128]
frame #13: /usr/bin/python3() [0x4f7d60]
frame #14: /usr/bin/python3() [0x4f876d]
frame #15: _PyEval_EvalFrameDefault + 0x467 (0x4f98c7 in /usr/bin/python3)
frame #16: _PyFunction_FastCallDict + 0xf5 (0x4f4065 in /usr/bin/python3)
frame #17: /usr/bin/python3() [0x5a1481]
frame #18: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #19: _PyEval_EvalFrameDefault + 0x1851 (0x4facb1 in /usr/bin/python3)
frame #20: /usr/bin/python3() [0x4f6128]
frame #21: _PyFunction_FastCallDict + 0x2fe (0x4f426e in /usr/bin/python3)
frame #22: /usr/bin/python3() [0x5a1481]
frame #23: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #24: /usr/bin/python3() [0x513601]
frame #25: _PyObject_FastCallKeywords + 0x19c (0x57ec0c in /usr/bin/python3)
frame #26: /usr/bin/python3() [0x4f88ba]
frame #27: _PyEval_EvalFrameDefault + 0x467 (0x4f98c7 in /usr/bin/python3)
frame #28: _PyFunction_FastCallDict + 0xf5 (0x4f4065 in /usr/bin/python3)
frame #29: /usr/bin/python3() [0x5a1481]
frame #30: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #31: _PyEval_EvalFrameDefault + 0x1851 (0x4facb1 in /usr/bin/python3)
frame #32: /usr/bin/python3() [0x4f6128]
frame #33: _PyFunction_FastCallDict + 0x2fe (0x4f426e in /usr/bin/python3)
frame #34: /usr/bin/python3() [0x5a1481]
frame #35: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #36: /usr/bin/python3() [0x513601]
frame #37: _PyObject_FastCallKeywords + 0x19c (0x57ec0c in /usr/bin/python3)
frame #38: /usr/bin/python3() [0x4f88ba]
frame #39: _PyEval_EvalFrameDefault + 0x467 (0x4f98c7 in /usr/bin/python3)
frame #40: _PyFunction_FastCallDict + 0xf5 (0x4f4065 in /usr/bin/python3)
frame #41: /usr/bin/python3() [0x5a1481]
frame #42: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #43: _PyEval_EvalFrameDefault + 0x1851 (0x4facb1 in /usr/bin/python3)
frame #44: /usr/bin/python3() [0x4f6128]
frame #45: _PyFunction_FastCallDict + 0x2fe (0x4f426e in /usr/bin/python3)
frame #46: /usr/bin/python3() [0x5a1481]
frame #47: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #48: /usr/bin/python3() [0x513601]
frame #49: _PyObject_FastCallKeywords + 0x19c (0x57ec0c in /usr/bin/python3)
frame #50: /usr/bin/python3() [0x4f88ba]
frame #51: _PyEval_EvalFrameDefault + 0x467 (0x4f98c7 in /usr/bin/python3)
frame #52: _PyFunction_FastCallDict + 0xf5 (0x4f4065 in /usr/bin/python3)
frame #53: /usr/bin/python3() [0x5a1481]
frame #54: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #55: _PyEval_EvalFrameDefault + 0x1851 (0x4facb1 in /usr/bin/python3)
frame #56: /usr/bin/python3() [0x4f6128]
frame #57: _PyFunction_FastCallDict + 0x2fe (0x4f426e in /usr/bin/python3)
frame #58: /usr/bin/python3() [0x5a1481]
frame #59: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #60: /usr/bin/python3() [0x513601]
frame #61: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #62: _PyEval_EvalFrameDefault + 0x1851 (0x4facb1 in /usr/bin/python3)
frame #63: /usr/bin/python3() [0x4f6128]
_backend.forward(x, mean, var, weight, bias, ctx.eps, ctx.activation, ctx.activation_param)

RuntimeError: mean is not compatible with x (wrong size or scalar type) (forward at src/inplace_abn.cpp:52)
frame #0: c10::Error::Error(c10::SourceLocation, std::string const&) + 0x33 (0x7f1464f6e813 in /home/beinan/.local/lib/python3.6/site-packages/torch/lib/libc10.so)
frame #1: forward(at::Tensor&, at::Tensor const&, at::Tensor const&, c10::optionalat::Tensor const&, c10::optionalat::Tensor const&, float, Activation, float) + 0x42b (0x7f143d36b86b in /home/beinan/.local/lib/python3.6/site-packages/inplace_abn/_backend.cpython-36m-x86_64-linux-gnu.so)
frame #2:  + 0x85619 (0x7f143d38a619 in /home/beinan/.local/lib/python3.6/site-packages/inplace_abn/_backend.cpython-36m-x86_64-linux-gnu.so)
frame #3:  + 0x8126a (0x7f143d38626a in /home/beinan/.local/lib/python3.6/site-packages/inplace_abn/_backend.cpython-36m-x86_64-linux-gnu.so)
frame #4: /usr/bin/python3() [0x4f8925]
frame #5: _PyEval_EvalFrameDefault + 0x467 (0x4f98c7 in /usr/bin/python3)
frame #6: /usr/bin/python3() [0x4f6128]
frame #7: /usr/bin/python3() [0x56febd]
frame #8: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #9: THPFunction_apply(_object*, _object*) + 0xa4f (0x7f14ad88a5ef in /home/beinan/.local/lib/python3.6/site-packages/torch/lib/libtorch_python.so)
frame #10: /usr/bin/python3() [0x4f858d]
frame #11: _PyEval_EvalFrameDefault + 0x467 (0x4f98c7 in /usr/bin/python3)
frame #12: /usr/bin/python3() [0x4f6128]
frame #13: /usr/bin/python3() [0x4f7d60]
frame #14: /usr/bin/python3() [0x4f876d]
frame #15: _PyEval_EvalFrameDefault + 0x467 (0x4f98c7 in /usr/bin/python3)
frame #16: _PyFunction_FastCallDict + 0xf5 (0x4f4065 in /usr/bin/python3)
frame #17: /usr/bin/python3() [0x5a1481]
frame #18: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #19: _PyEval_EvalFrameDefault + 0x1851 (0x4facb1 in /usr/bin/python3)
frame #20: /usr/bin/python3() [0x4f6128]
frame #21: _PyFunction_FastCallDict + 0x2fe (0x4f426e in /usr/bin/python3)
frame #22: /usr/bin/python3() [0x5a1481]
frame #23: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #24: /usr/bin/python3() [0x513601]
frame #25: _PyObject_FastCallKeywords + 0x19c (0x57ec0c in /usr/bin/python3)
frame #26: /usr/bin/python3() [0x4f88ba]
frame #27: _PyEval_EvalFrameDefault + 0x467 (0x4f98c7 in /usr/bin/python3)
frame #28: _PyFunction_FastCallDict + 0xf5 (0x4f4065 in /usr/bin/python3)
frame #29: /usr/bin/python3() [0x5a1481]
frame #30: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #31: _PyEval_EvalFrameDefault + 0x1851 (0x4facb1 in /usr/bin/python3)
frame #32: /usr/bin/python3() [0x4f6128]
frame #33: _PyFunction_FastCallDict + 0x2fe (0x4f426e in /usr/bin/python3)
frame #34: /usr/bin/python3() [0x5a1481]
frame #35: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #36: /usr/bin/python3() [0x513601]
frame #37: _PyObject_FastCallKeywords + 0x19c (0x57ec0c in /usr/bin/python3)
frame #38: /usr/bin/python3() [0x4f88ba]
frame #39: _PyEval_EvalFrameDefault + 0x467 (0x4f98c7 in /usr/bin/python3)
frame #40: _PyFunction_FastCallDict + 0xf5 (0x4f4065 in /usr/bin/python3)
frame #41: /usr/bin/python3() [0x5a1481]
frame #42: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #43: _PyEval_EvalFrameDefault + 0x1851 (0x4facb1 in /usr/bin/python3)
frame #44: /usr/bin/python3() [0x4f6128]
frame #45: _PyFunction_FastCallDict + 0x2fe (0x4f426e in /usr/bin/python3)
frame #46: /usr/bin/python3() [0x5a1481]
frame #47: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #48: /usr/bin/python3() [0x513601]
frame #49: _PyObject_FastCallKeywords + 0x19c (0x57ec0c in /usr/bin/python3)
frame #50: /usr/bin/python3() [0x4f88ba]
frame #51: _PyEval_EvalFrameDefault + 0x467 (0x4f98c7 in /usr/bin/python3)
frame #52: _PyFunction_FastCallDict + 0xf5 (0x4f4065 in /usr/bin/python3)
frame #53: /usr/bin/python3() [0x5a1481]
frame #54: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #55: _PyEval_EvalFrameDefault + 0x1851 (0x4facb1 in /usr/bin/python3)
frame #56: /usr/bin/python3() [0x4f6128]
frame #57: _PyFunction_FastCallDict + 0x2fe (0x4f426e in /usr/bin/python3)
frame #58: /usr/bin/python3() [0x5a1481]
frame #59: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #60: /usr/bin/python3() [0x513601]
frame #61: PyObject_Call + 0x3e (0x57c2fe in /usr/bin/python3)
frame #62: _PyEval_EvalFrameDefault + 0x1851 (0x4facb1 in /usr/bin/python3)
frame #63: /usr/bin/python3() [0x4f6128]

I have another question. Why does ABN support relu activation but InPlaceABNSync does not?

It seems that the first validation loss calculation caused the crash. Training is fine but somehow validation causes an error.

OK. The cause is model.eval() but why?

I have another question. Why does ABN support relu activation but InPlaceABNSync does not?

InPlaceABN and InPlaceABN sync require invertible activation functions such as Leaky ReLU (please refer to our paper for an explanation). ABN is just a wrapper for standard Batch Norm (not in-place) + activation function, so it can also work with ReLU which is not invertible.
Regarding the error you are getting in eval, this is caused by the fact that the current fp16 implementation of InPlaceABN still expects the running mean and running var to be given as fp32 tensors, as is done in mixed precision training. Pure fp16 support will come in the future but I can't give you a precise timeline. In the meanwhile, as a work-around, please run the following code on your model after calling half() on it:
def cast_running_stats(m):
    if isinstance(m, ABN):
        m.running_mean = m.running_mean.float()
        m.running_var = m.running_var.float()

model.apply(cast_running_stats)

Thanks, your answer is very helpful.

I have another question. Why does ABN support relu activation but InPlaceABNSync does not?

InPlaceABN and InPlaceABN sync require invertible activation functions such as Leaky ReLU (please refer to our paper for an explanation). ABN is just a wrapper for standard Batch Norm (not in-place) + activation function, so it can also work with ReLU which is not invertible.
Regarding the error you are getting in eval, this is caused by the fact that the current fp16 implementation of InPlaceABN still expects the running mean and running var to be given as fp32 tensors, as is done in mixed precision training. Pure fp16 support will come in the future but I can't give you a precise timeline. In the meanwhile, as a work-around, please run the following code on your model after calling half() on it:
def cast_running_stats(m):
    if isinstance(m, ABN):
        m.running_mean = m.running_mean.float()
        m.running_var = m.running_var.float()

model.apply(cast_running_stats)

How about using apex? should we still apply cast_running_stats?


chore(master): release 0.46.0-alpha

:robot: I have created a release beep boop
0.46.0-alpha (2024-02-20)
Features

new (4626e94)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/mafqla/yalis-blog/releases/tag/v0.46.0-alpha :sunflower:


Summary: Legal Updates for New European and Canadian data laws

The following changes need to happen to the following portions of the site, and must be live before 12/18 to meet the new European and Canadian data laws:
Needs UX:

[ ] LP.com footer https://github.com/lonelyplanet/rizzo-next/issues/801 (Nick)
[ ] LP Kids footer https://github.com/lonelyplanet/wp-kids/issues/71
[ ] rizzo footer in all legacy apps https://github.com/lonelyplanet/rizzo/issues/1650

Ready for Dev:

[ ] Newsletter sign up page https://github.com/lonelyplanet/gonzo/issues/349
[ ] LP Kids newsletter sign up page  https://github.com/lonelyplanet/wp-kids/issues/72
[ ] Homepage sign up box https://github.com/lonelyplanet/copilot/issues/425 (Nick)
[ ] Travel News Daily sign up page https://github.com/lonelyplanet/wp-travelnews-frontend/issues/440 (Nick)
[ ] Contact us page https://github.com/lonelyplanet/microsites/issues/141

fyi on the updated copy with footer form. It will look like this 👇

I am assuming this is not ok and we will either have to get shorter copy or completely redesign how these components look.
cc @chrissysievers @bpotterbaum

@chrissysievers also wanted to check that it is a legal request to remove the checkbox opt-in. Thanks

on homepage with new text

@chrissysievers

@chrissysievers @nickfranciosi On it!

@andycarmstrong just to clairfy the main issue is going to be on the footer on LP Kids footer lonelyplanet/wp-kids#71 and LP.com footer #801
it would be awesome if the same solution could be used for both, but also know that the kids site does not use backpack
Thanks!

@chrissysievers If i recall correctly the explore everyday page that @thomasthesecond has a newsletter form signup. Will that follow the same updates that are happening on the homepage?

Correct @nickfranciosi but EED is being powered through copilot, like the homepage. Are the components shared? Good call!
cc: @thomasthesecond

@chrissysievers looking at the code - since the form is pretty different they do not utilize the same component, but we probably should think through a way to share this logic between forms.
If we can just confirm that the EED form needs the same updates (same legal text, checkbox removed) I can take it from there.
Thanks

The form component for Explore Every Day is here
https://github.com/lonelyplanet/copilot/blob/develop/app/assets/templates/exploreEveryDay/components/form/index.jsx
So we will need to update it also.
I agree the form can be shared somehow, at the very least in a shared folder within Copilot; I imagine it'll be used again in the future.

I can create an issue for that @thomasthesecond. Thanks for the heads up @nickfranciosi !

Thanks @chrissysievers @nickfranciosi

QA'd all issues linked here and all are correct and live. Closing this out.


PR: Generalize Run plugin to support generic inputs and executors

Description of Changes
This PR will generalize the functioning of the Run plugin, and more specifically, the Run button itself, which will allow plugins to register run inputs and executors in a generic way. This will enable plugins such as spyder-terminal to run scripts and plugin designers may create other interfaces that have an executable output, examples of this, some sort of graph editor, or even the future plots panel.
This is being done as part of the tasks necessary to migrate the editor to the new API and is being tracked as part of #17468

[x] Wrote at least one-line docstrings (for any new functions)
[ ] Added unit test(s) covering the changes (if testable)

[ ] Included a screenshot or animation (if affecting the UI, see Licecap)

sequenceDiagram
    autonumber
    actor User
    participant RunInputProvider as RunInputProvider[input T];
    participant Run
    participant RunExecutorProvider as RunExecutor[exec T]
    participant RunResultViewer as RunResultViewer[display U]
    par Providers are registered on plugin initialization
          RunInputProvider->>Run: register_input_provider
    and
          RunExecutorProvider->>Run: register_run_executor
    and
          RunResultViewer->>Run: register_run_result_viewer
    end
    par The RunInputProvider is switched for the run button each time the focus changes
          User->>RunInputProvider: on_focus
          activate User
          RunInputProvider->>Run: update_run_focus
          deactivate User
    end
    par The user clicks the run button
          User->>Run: on_click
          activate User
          Run->>RunInputProvider: get_run_input
          activate RunInputProvider
          RunInputProvider-->>Run: input:  class RunInformation[input T, display U]
          deactivate RunInputProvider
         Run->>Run: dispatch for input T
         alt There are multiple executors for run input type T
               Run->>User: Ask for executor
               User-->>Run: executor: class RunExecutorProvider[T]
         else There is a single executor for run input type T
               Run->>Run: executor: class RunExecutorProvider[T]
         end
         Run->>+RunExecutorProvider: executor.run_input(input: class RunInformation[T, U])
         RunExecutorProvider-->>-Run: run_result: class RunResult[U]
         Run->>Run: dispatch for result display U
         Run->>RunResultViewer: display_run_result(run_result: class RunResult[U])
         RunResultViewer-->>User: Display results
         deactivate User
    end

Issue(s) Resolved

Fixes #
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct:

Hello @andfoy! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file spyder/plugins/run/api.py:

Line 34:80: E501 line too long (81 > 79 characters)
Line 108:50: E203 whitespace before ':'

In the file spyder/plugins/run/container.py:

Line 28:5: E303 too many blank lines (2)
Line 50:1: W391 blank line at end of file

In the file spyder/plugins/run/plugin.py:

Line 36:27: E261 at least two spaces before inline comment

Checking locally the failing test (test_varexp_rename) on Windows and even running all the tests at test_mainwindow.py with CI=True pass for me. Maybe for the CI a bigger timeour param for the failing test is needed?

I've just ran the failing tests on Windows directly on the CI (via RDP) and they are passing, I don't know what is causing the failures here

I think this is ready, so let's merge. It still requires more work but that can be done in follow up PRs.


Only SetGauge adds the hostname to the key

I just started using go-metrics and noticed that for the output (when using InmemSink) has the following:
[2016-04-12 22:03:20 +0000 UTC][G] 'go-proxy.vagrant-ubuntu-trusty-64.runtime.num_goroutines': 9.000
[2016-04-12 22:03:20 +0000 UTC][G] 'go-proxy.vagrant-ubuntu-trusty-64.runtime.alloc_bytes': 1947560.000
[2016-04-12 22:03:20 +0000 UTC][G] 'go-proxy.vagrant-ubuntu-trusty-64.runtime.sys_bytes': 8231160.000
[2016-04-12 22:03:20 +0000 UTC][G] 'go-proxy.vagrant-ubuntu-trusty-64.runtime.malloc_count': 463503.000
[2016-04-12 22:03:20 +0000 UTC][G] 'go-proxy.vagrant-ubuntu-trusty-64.runtime.free_count': 435483.000
[2016-04-12 22:03:20 +0000 UTC][G] 'go-proxy.vagrant-ubuntu-trusty-64.runtime.heap_objects': 28020.000
[2016-04-12 22:03:20 +0000 UTC][G] 'go-proxy.vagrant-ubuntu-trusty-64.runtime.total_gc_pause_ns': 21151072.000
[2016-04-12 22:03:20 +0000 UTC][G] 'go-proxy.vagrant-ubuntu-trusty-64.runtime.total_gc_runs': 8.000
[2016-04-12 22:03:20 +0000 UTC][S] 'go-proxy.runtime.gc_pause_ns': Count: 4 Min: 103050.000 Mean: 1246662.500 Max: 4138151.000 Stddev: 1931961.901 Sum: 4986650.000 LastUpdated: 2016-04-12 22:03:28.830586229 +0000 UTC

My hostname is  vagrant-ubuntu-trusty-64. I noticed that all the keys contain it except for the last one. I checked the source code and it looks like only SetGauge() adds the hostname to the key in these lines:
	if m.HostName != "" && m.EnableHostname {
		key = insert(0, m.HostName, key)
	}

EmitKey(), IncrCounter() & AddSample() do not contain those lines. Is there a particular reason for that?

@sigurdknippenberg The gauges do not accumulate, meaning if multiple services output a gauge the last value wins. All the other values aggregate in some way, so there is no need to split it by host or instance.

I understand that, but if I have 5 applications of the same type (go-proxy in this case), then I'd still want to see what the gc_pause_ns time was for a particular instance and not the value from all instances together. Is that not what the hostname in the key is meant for?


Converting JSON array that has multiple object types

Hi,
I have a JSON array that contains two types of objects (e.g. TypeA and TypeB), both of which correspond to Swift structs that conform to the same protocol 'CommonInfo'.
I know the type of each JSON object by a 'type' property on each object. How can I map this JSON array to a Swift array of type [CommonInfo] ?
Thanks!

We have a similar case of this where we have different payment accounts (such as credit card vs apple pay), and they share a similar base protocol.
The way we accomplish this is by something like this:
func chargeAccount(from dictionary: NSDictionary) -> ChargeAccount? {
    guard let type = dictionary["type"] as? String, let method = ChargeAccountType(rawValue: type) else {
        return nil
    }

    switch method {
    case .applePay:
        return ApplePay.from(dictionary)
    ...
    }
}

let response: [NSDictionary] = ...
let chargeAccounts: [ChargeAccount] = response.flatMap(createChargeAccount) ?? []

Here you can see that we handle each dictionary individually, and switch based on the type key, then in the switch statement we call the individual Mapper initializer for each separate type.
Let me know if you have any other questions!

Thanks! I'll give it a try today or tomorrow.

Hm, this won't work as I am using Moya with uses type inference to convert the JSON to a specific type:
provider             .request(targetType)             .mapArray(type: T.self)
The question is, how do I get T to represent both TypeA and TypeB and call the respective constructors?

I guess then you need T to be something that inherits from your custom protocol, and also from Mappable.

Thanks, they do but there is nowhere to put the logic on how to different the two types.
I ended up downloading every as a JSON array and manually calling the correct init function for each JSON element in the array.

Sounds good. You might consider adding something to the Moya wrapper for this.


Added support for future dates

Future dates will be displayed as "in 5 days", "in 6 years", etc. I added some tests as well.

Perfect, thanks Paul! Might I interest you in http://github.com/krainboltgreene/tardis ?


You can pull items in your inventory/hands

Is this a feature?

Right click a item in your hands/inventory
Press pull

Got fixed, can't reproduce.


Add grouped by time and grouped by time / size operators to async.Queue

Batching data that comes of a Queue by time with a timeout is very useful in many circumstances. With Streams that attach to a Queue we can't timeout as the grouping operator / spliterator does not have direct access to the Queue (and may not be connected to one), this means that grouping always occurs only when an element is added to the Queue.
By batching / grouping directly on the Queue we can timeout and pass currently grouped elements downstream
E.g. To group elements that are added within a 100ms range, we can batch until 100ms and return regardless of whether or not an element has been recently added.
See https://github.com/aol/cyclops-react/issues/515 for use case

Merged on master


alt text missing from footer template

Coverage remained the same at 64.232% when pulling 82fb9c306a5aed9628f1b56f949a766b5f601c0f on wdwatkins:master into 68145c36e77c4ea0fae63f93b44551fce474a3ee on USGS-VIZLAB:master.


pal g only works if the prisma.schema file is saved as LF (linux default)

I'm just a noob, working on windows and I had it saved in CRLF. It does not throw an error, but it only generated the graphql stuff and not the admin pieces.
Due to some wonky regexp in PrismaReader.js this fails.
    get models() {
        return this.data.match(/\n(model(\s)[\s\S]*?})\n/g);
    }
    get enums() {
        return this.data.match(/\n(enum(\s)[\s\S]*?})\n/g);
    }

What would work is (I tested it)
    get models() {
        return this.data.match(/>\r?\n(model(\s)[\s\S]*?})\r?\n/g);
    }
    get enums() {
        return this.data.match(/\r?\n(enum(\s)[\s\S]*?})\r?\n/g);
    }

please open pull request with your change


HBASE-26097: to resolve hbase version 2.x  protobuf version conflict

HBase 2.0.x is alread EOL. If this is for 2.x only, please open a PR against branch-2?
Thanks.

HBase 2.0.x is alread EOL. If this is for 2.x only, please open a PR against branch-2?
Thanks.

Hi, i have opened a new PR https://github.com/apache/hbase/pull/3515, please review again

Closing in favor of #3515

Actually close!


[release-1.10] Fix TestNamespaceController issues

This is an automated cherry-pick of #32927

@istio-testing: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-telemetry-mc-k8s-tests_istio_release-1.10
0413a71bd5ade66784a1e02b91beadd0e161a4de
link
/test integ-telemetry-mc-k8s-tests_istio_release-1.10

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-telemetry-mc-k8s-tests_istio_release-1.10
0413a71bd5ade66784a1e02b91beadd0e161a4de
link
/test integ-telemetry-mc-k8s-tests_istio_release-1.10

integ-pilot-multicluster-tests_istio_release-1.10
0413a71bd5ade66784a1e02b91beadd0e161a4de
link
/test integ-pilot-multicluster-tests_istio_release-1.10

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Making some of the plist file strings untranslatable ?

What

Making some of the plist file strings untranslatable ? cc @g123k

@teolemon Could you test if https://github.com/openfoodfacts/smooth-app/pull/1563 is better, please?


⚠ T:Riza Api has degraded performance

In 28e7ec3, T:Riza Api (https://infra.triza.dev/api) experienced degraded performance:

HTTP code: 200
Response time: 3215 ms

Resolved: T:Riza Api performance has improved in 1fc4516.


How to type a Date object?

First off thanks for a really useful library. I've already used it very successfully on a small project.
However, now I've hit a problem with typing a Date object. I'm probably missing something fundamental here.
With the following:
import { Number, Record, InstanceOf, Static } from 'runtypes'

const Coords = Record({
  latitude: Number,
  longitude: Number,
  time: InstanceOf(Date)
})

type Coords = Static<typeof Coords>

let data: Coords = {
  latitude: 1.0,
  longitude: 1.0,
  time: new Date(2017, 0, 1, 10, 0, 0)
}

I get the type error:
...
Types of property 'time' are incompatible.
        Type 'Date' is not assignable to type 'DateConstructor'.

What am I missing?
if this is not the correct way to type a Date object, what is?

@mlandauer Looks like this was a bug with InstanceOf which should be fixed now in 0.13.1, give it a try.

@pelotom that works perfectly now. Thank you so much!


Recieve to Receive Typo Fix

PR Checklist
Please check all that apply to this PR using "x":

[x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
[x] I have checked that this PR does not introduce a breaking change
[ ] This PR introduces breaking changes and I have provided a detailed explanation below

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting)
[x] Refactoring (no functional changes)
[ ] Documentation changes
[ ] Other - Please describe:

Fixes
Issue Number:
What is the current behavior?
A typo
What is the new behavior?
A typo fix
Other information

This is gone in the new app, you changed a translation file.

I still see this typo in the version I just downloaded fresh from the website.

It's already fixed in the new version that will be coming out soon.


new collections are not added

Hi
I had a problem extracting the zip file of windows 64bit. I reported about it in its own older issue. I was told to try and work with it despite the error. so it is working but when creating a new collection it says the collection is created but I don't see it in the list of collections.
Not sure if it's relevant to the extraction problem or not.

OK, I deleted the data folder completely and restarted the server and now it's ok, sorry for the troubles

Hello, no problem at all, you can raise a new issue as soon as you encounter anything :)


moving match_request to RequestContext.push to enable ModelConverter

match_request will be called in RequestContext.push after current_app, request, and session are already populated.
closes #3088

I don't want to add a large dependency like SQLAlchemy just for this test. Can you rewrite this to use stuff from request in a converter rather than a db query?

Sure np
On Mon, 25 Feb 2019 at 0:33 David Lord<EMAIL_ADDRESS>wrote:

I don't want to add a large dependency like SQLAlchemy just for this test.
Can you rewrite this to use stuff from request in a converter rather than
a db query?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pallets/flask/pull/3104#issuecomment-466824529, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADz-bJtBZxoFDXxFcCMp1sDYdJ-hCbCbks5vQxMjgaJpZM4bOzR0
.

ok @davidism changed to the test

@davidism any update?

When I have time to review, I will, no need to ping me.

Ok man, sorry for interrupting
On Wed, 27 Feb 2019 at 20:25 David Lord<EMAIL_ADDRESS>wrote:

When I have time to review, I will, no need to ping me.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pallets/flask/pull/3104#issuecomment-467974595, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ADz-bPPAYXT23dHIl45R4hixa1VDXdCeks5vRs2TgaJpZM4bOzR0
.

Azure still having issues, Tox suite passes locally.


Backup container not recognizing MariaDB container

I'm using the realorangeone/docker-db-auto-backup container to back up my databases, but it doesn't recognize my MariaDB container, which uses the image lscr.io/linuxserver/mariadb:latest.
Output:
Starting backup...
Found 11 containers.
Backup of 0 containers complete in 0.05 seconds.

The MariaDB container is running and correctly configured. Could there be an issue with how the backup container identifies containers?
Environment:

Docker version: 27.3.1
Host OS: DietPi v9.8.0 Linux DietPi 6.6.51+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.51-1+rpt3 (2024-10-08) aarch64 GNU/Linux

Thanks for the quick fix


Reorganize Python deps and use pip-compile

This change is to simplify our Python dependency specifications and to use pip-tools's pip-compile to generate hashed requirements files with the full dependency tree from input files. This also performs dependency resolution and will highlight any conflicting versions. The model for this is that of Mozilla's Bedrock project, the Django project that serves mozilla.org.
The new file structure is as follows:

deployment.in: requirements to run consumerfinance.gov in any environment
test.in: requirements for executing Python tests locally or in CI
dev.in: requirements for development work, running, and testing
docs.txt: requirements to build the consumerfinance.gov docs.
scripts.txt: Requirements for running certain jobs on Jenkins, so scripts can run in Jenkins without having to install all the other requirements.

The contents of base.txt, django.txt, wagtail.txt, and libraries.txt move into deployment.in, which contains the minimum necessary to run consumerfinance.gov. test.in includes tools like coverage, diff_cover, and tox that are required to run our Python tests. docs.in and scripts.in are relatively unchanged, and dev.in combines all of the above to construct a local environment.
These relationships between files now look like this:
flowchart TD
    deployment.in
    test.in
    dev.in
    scripts.in
    docs.in

    deployment.in --> dev.in
    test.in --> dev.in
    scripts.in --> dev.in

Where previously they looked like this:
flowchart TD
    ci.txt
    docs.txt

    base.txt
    deployment.txt
    django.txt
    libraries.txt
    local.txt
    wagtail.txt

    scripts.txt
    test.txt

    django.txt --> base.txt
    wagtail.txt --> base.txt
    libraries.txt --> base.txt

    base.txt --> deployment.txt

    base.txt --> local.txt

Notes and todos
If this approach is okay @chosak and anyone else who wants to review:

We'll need to update the requirements files in Snyk.
We'll need to document the process of updating/adding a requirement and running ./compile-requirements.sh.

Checklist

[x] PR has an informative and human-readable title
[x] Changes are limited to a single goal (no scope creep)

At a high level, what does this reorganization get us? I get that it gives us SHAs for the packages we install, but what benefit does that provide over the already-pinned version numbers?

The big thing it gets us is dependency resolution with failures when a conflict happens. We get to specify the minimum number of requirements in the .in files, and pip-compile will do concrete resolution of all dependencies these need and pin them in the .txt files (yes, with SHAs, etc). Any conflicts will fail the compilation.

Snyk will fail on this PR until we update the requirements files in Snyk.
When I have an approval I'll do that, before merging.

It's not entirely clear to me why both backend and filter-backend are running. Digging into the filter-backend runs, it's using this workflow file: https://github.com/cfpb/consumerfinance.gov/actions/runs/7087530960/workflow?pr=7874
Whereas the backend run is using this workflow file: https://github.com/cfpb/consumerfinance.gov/actions/runs/7087530958/workflow?pr=7874
So, this looks like filter-backend is being invoked using the old workflow file that does not include requirements/**.in, so the jobs are being skipped. backend is using the workflow file from the PR that adds requirements/**.in, so the jobs in it are not being skipped.
What I don't understand is why filter-backend is using the old workflow file? But... I don't know that this lack of knowledge on my part is a blocker.

The deployable-zipfile flow needs to be updated since it references deployment.txt here.

What needs to change here? deployment.txt still exists and should still be the correct file?


[Feature request] Minimize container's height to fit overall under new GOG layout

Gog has added various parts (such as 'Buy now' button, discount's expiration date, etc.) to the product prices' sections since this script's been last updated. Currently on some product pages overall placement pushes some top info of this section under the navbar.
My suggestion is to add some visibility manipulating arrow to hide details part (and leave colored text always-on?), with extra check button if an user wants hidden part to be visible or not on load. Or maybe it's enough to simply adjust elements sizes.
Small notice: on GOG I set browser's scale to 125%, but even on 100% it's at its edge.
As an example: https://www.gog.com/en/game/travellin_cats_bundle

There is an IsThereAnyDeal API overhaul happening in the next month. I hope to address this along with the API changes in the same week when they happen. Stay tuned. Thanks for reporting this, by the way.

@DawEdhel This has been implemented with version 1.5.0. Ping me if you encounter any issues!


Checking for error logs?

Hey!
I'd like to make a very simple test: if there is any error-level logs output, then I want the test to fail. Error logs are useful to not crash production systems, but while developing (and especially writing my fuzzers), I'd really like to just be able to assert that there's none.
However, reading the documentation tracing-test seems to only provide the log contents, which in turn means there seems to be no way to panic upon a specific log level.
Is there a way to do that that I missed? If not, what would you suggest I do to assert there's no error logs in my tests? :)

I am looking for a similar feature. It would be great if we had introspection into the event/spans to assert for log level for instance.

Hi, this would probably be resolved by #5, right?


Add Microsoft OAuth

@darrt2008 Requesting your review.

Good!....now try adding sign in with github in the website or even apple id

If I could, I would. But I don't have an Apple ID.

Checks passing, reviews approving. Cleared to merge.

The CI will deploy it.