I find SDWebImage can't set this url, why?

the image Url is: http://img4.imgtn.bdimg.com/it/u=1909081793,2338988051&fm=21&gp=0.jpg
I use way like this to set:
cell.centerImageView?.sd_setImageWithURL(NSURL(string:thisUrl), placeholderImage:nil, options: SDWebImageOptions.RefreshCached)
why it didn't work ?(not because of app transport security)

check this
you are missing a user agent...
i added once like this before downloading and i got the image

   NSString *userAGENT = [NSString stringWithFormat:@"%@/%@ (%@; iOS %@; Scale/%0.2f)",
                           [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleExecutableKey] ?: [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleIdentifierKey], [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] ?: [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleVersionKey], [[UIDevice currentDevice] model], [[UIDevice currentDevice] systemVersion], [[UIScreen mainScreen] scale]];

    [[SDWebImageDownloader sharedDownloader] setValue:userAGENT forHTTPHeaderField:@"User-Agent"];


add @color-syntax-type

styles/languages/Julia.less Does not define @color-syntax-type

Thanks for reporting, stupid "copy&paste" error while adding this from Northem Atom Syntax main theme :smile:


Automatic download and configure of JavaFX jmods

Currently users must manually download JavaFX jmods and set the path.to.fx.mods property. It would be nice if the plugin could do this automatically.
Also why can't the jmods files be placed in Maven Central?

This isn't required any more. (right?)


Bad argument #1 to 'registerlock' (userdata expected, got nil)

I use Manjaro with awesome-git as window manager (v4.3-1066-g832483dd6) and until now it always worked fine. However, I recently ran an update and now I'm not able to access awesome anymore because I get this error message at login: /usr/share/lua/5.3/lgi/override/Gdk.lua:23: bad argument #1 to 'registerlock' (userdata expected, got nil)
I opened an issue on the awesome github page and, since apparently it already happened to another Manjaro user in the past, they say the problem it's not related to the WM but to either Manjaro or LGI itself. I still didn't get much help from the Manjaro community and now I'm quite desperate because it's more than a week that I cannot access my WM (using Gnome in the meanwhile). I'm not a tech expert and I don't even know what LGI does for awesome, but my understanding is that the problem seems to be related to this package. Any insight is really appreciated! And please tell me if you think this issue is not strictly related to LGI and therefore should not be solved here.

As already written in https://github.com/awesomeWM/awesome/issues/3394#issuecomment-882297613: LGI does not work with Gtk 4 and this is a duplicate of #226. Sorry.

This case might be a bit different, GTK4 (4.2.1 in my example) installed alongside GTK3 (3.24.30)


Add Base Incremental Position Control

This PR attempts to provide incremental position control for the base (move_by). The current stretch.xml only has velocity control for the base configured. Therefore on move_by() commands for base, it uses threads to asynchronously make the robot track the position or rotation goals with help of the global base pose.
Try python -m stretch_mujoco.run to keyboard teleoperate
Todo:

[x] Currently Base motion is choppy when called continually which gives a big jerk when a Velocity command is called
[x] Retune Base velocity controller in Stretch XML
Both todos completed in https://github.com/hello-robot/stretch_mujoco/pull/19

Error when running
Traceback (most recent call last):
  File "/home/cpaxton/miniforge3/envs/stretch_ai_0.0.10_tmp/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/cpaxton/miniforge3/envs/stretch_ai_0.0.10_tmp/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/cpaxton/src/stretch_mujoco/stretch_mujoco/run.py", line 69, in <module>
    main()
  File "/home/cpaxton/.local/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/cpaxton/.local/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/cpaxton/.local/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/cpaxton/.local/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/home/cpaxton/src/stretch_mujoco/stretch_mujoco/run.py", line 63, in main
    robot_sim = StretchMujocoSimulator()
  File "/home/cpaxton/src/stretch_mujoco/stretch_mujoco/stretch_mujoco.py", line 33, in __init__
    self.mjmodel = mujoco.MjModel.from_xml_path(scene_xml_path)
ValueError: Error: faces of mesh 'link_SG3_gripper_body' have inconsistent orientation. Please check the faces containing the vertices 36 and 78.
Object name = link_SG3_gripper_body, id = 73, line = 0, column = -1

Error when running
Traceback (most recent call last):
  File "/home/cpaxton/miniforge3/envs/stretch_ai_0.0.10_tmp/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/cpaxton/miniforge3/envs/stretch_ai_0.0.10_tmp/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/cpaxton/src/stretch_mujoco/stretch_mujoco/run.py", line 69, in <module>
    main()
  File "/home/cpaxton/.local/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/cpaxton/.local/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/cpaxton/.local/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/cpaxton/.local/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/home/cpaxton/src/stretch_mujoco/stretch_mujoco/run.py", line 63, in main
    robot_sim = StretchMujocoSimulator()
  File "/home/cpaxton/src/stretch_mujoco/stretch_mujoco/stretch_mujoco.py", line 33, in __init__
    self.mjmodel = mujoco.MjModel.from_xml_path(scene_xml_path)
ValueError: Error: faces of mesh 'link_SG3_gripper_body' have inconsistent orientation. Please check the faces containing the vertices 36 and 78.
Object name = link_SG3_gripper_body, id = 73, line = 0, column = -1

So this issue got resolved after switching the link_SG3_gripper_body mesh from obj to stl format where the former had some issues. This fix is done feature/robocasa branch.
https://github.com/hello-robot/stretch_mujoco/pull/19/files#diff-b0098ffe5c97e32e2f7d03a5d9bc6e8ecde1ad08e05d0e3a773c460a8375181aR202

LGTM


Streamline CI config settings

Configure bazelrc in the preflight_env.sh script
Ensure we enable existing remote cache on github actions

Add @luispadron and @mattrobmattrob since they know this workflow better than me

What is the functional change implemented here? Just defaulting the cache off for local dev?

For now I've mitigated the hole for us when running locally. Dropping the -s in github output because it breaks looking at CI output in the UI me so also dropped it.

For now I've fixed it when running locally. Also - dropping the -s because it breaks looking at CI output in the UI me


To give an option of logout Button in navbar after successful login of a user.

I explored this website and found a issue in navbar.
I login successfully with my G-mail account in website but then too navbar shows the option to sign in and sign up.
If i would get an option to log-out there that would be more clear to the user to logout successfully from this application.

I request @Abhishek-kumar09 @vasudevsinghal to look this issue if they find its a valid issue can assign this work to me.

That button is under development, If you want to work on that let me know

@Abhishek-kumar09  yes sir, i want to work on it.
Can you please tell me little about the special tech it's using?. So that i can explore things in that specific direction only.
And resolve this issue as soon as possible.

@Abhishek-kumar09  sir, i want to work on it.
It's almost half done. It would be great help if you assign this task to me.


Where's the discussion for keybase?

The README says:

keybase (discussion)

But links to a non-discussion. Was that meant to be an issue or a gist?

Various issues with Keybase:

It's centralized, and there's no need for it to be
Verification is very slow
There are plenty of far better choices, including DPKI-type solutions and CONIKS

Greg, please take a friendlier approach to your issues! Maybe this would have come off better in conversation, but the tone was upsetting in text form. I know about the work you've done in this space, so I do appreciate that it means a lot to you.
I'm looking for good and ready solutions. I'm not sold on keybase yet, but the centralization issue is not why. As I mention in the discussion document, keybase would be used as a single identity provider in a federated scheme; users would be addressed @keybase.io. Therefore, keybase would not be a centralized solution in the long-term. It would, at worst, be the sole provider in a federated scheme in the short-term. In the future, other providers would be addable, after some more protocol work.
I am currently less interested in keybase than I was previously, though, for the following reasons:

Their implementation doesn't look simple to integrate into this codebase
(As far as I can tell) They use a novel JS implementation of PGP, that hasn't been well-audited
They appear to be limited to only RSA keys, at the moment
They've shifted focus away from their key distribution system, with their filesharing tools

That said, their basic approach is reasonable when applied to federated identity. The sigchain system is similar to the Certificate Transparency solution in Google's End-to-End, and I think that's a promising idea. Signed merkle-logs allow users to gossip p2p about identity provider responses and enforce honesty. (The identity proofs on twitter/hn/reddit/etc seem like a clever but temporary hack, that's only relevant prior to a federated CT deployment.)
I'll give your links a detailed read. If you want to expand on them, please do. This is an active topic, so your input will be appreciated.

Greg, please take a friendlier approach to your issues! Maybe this would have come off better in conversation, but the tone was upsetting in text form.

Woah, please explain, what was upsetting?
Also, not clear to me what the answer to the original question is (where's the discussion? is this it?)

If you'd like to continue discussing decorum, you can email me (pfrazee@gmail.com). Let's not bog down the issues board with it.
To answer your original question, the link is correct, but the discussion is not finished.

Closing for now. Keybase is not the final decision. Feel free to open new issues to discuss other options!


Benchmark MLOps.NET

Describe the solution you'd like
Add benchmarking to the MLOps.NET library
Additional context
Suggest benchmarkdotnet but happy to have other suggests too.
Looking for input on preferred ways to implement this and what sort of things we would want as a foundation.

@aslotte I'd like to look into this. Looking for you guidance on what you would like for a foundation.

That would be great @Brett-Parker!
Given that we want to run some of these as part of our CI pipeline, I think we'll want to keep benchmarking tests for different storage providers separate.
I suggest creating a new folder in the solution explorer called Benchmarks
Within that folder, start by creating a project for e.g. benchmarking SQLServer (or whichever storage provider you think is easiest). Maybe MLOps.NET.SQLServer.Benchmark

I would then keep the benchmark tests grouped by catalogs as we do with the integration tests etc (e.g. ModelCatalogBenchmarks), just so it's easier to find :)


Try to fix docs.rs generation

Cannot be sure this fix but it does not break anything locally
Build log https://docs.rs/crate/reqwest/0.8.8/builds/113111
Should fix https://github.com/seanmonstar/reqwest/issues/329
Ref https://github.com/onur/docs.rs/issues/23#issuecomment-419623139

Thanks, guess we'll see!

Cool look like it build on last release! https://docs.rs/crate/reqwest/0.9.0


Custom operators

RxJS allows to implement your own custom operators.
What about Highland? I don't see any documentation on this. Is it conventional? If not, why?
Working with complex data like Vinyl objects in Gulp streams it would be great to have such option.
Example case, a lot of boilerplate and repeating code:
// === Gulp is globbing over JSON files ===
...
// Update some field in JSON
.map(file => {
  let json = file.contents.toString();
  let js = JSON.parse(json);
  // update obj here...
  let str = JSON.stringify(obj, null, 2);
  file.contents = new Buffer(str);
  return file;
})
...
// Filter over another field in JSON
.filter(file => {
  let json = file.contents.toString(); // this mess again ^_^
  let js = JSON.parse(json);
  // evaluate cond here...
  return cond;
})

Data is too complex above and operators are weak. It probably may be like this:
// === Gulp is globbing over JSON files ===
...
.pipe(Highland())
.asObject()
// Update some field in JSON
.map(obj => {
  // update obj here...
  return obj;
})
...
// Filter over another field in JSON
.filter(obj => {
  // evaluate cond here...
  return cond;
})
.asVinyl()

So I basically add asObject and asVinyl operators which convert Vinyl object with JSON content into JS object and vice versa and use existing operators like map and filter in their full power.

function asObject(xs) {
    // Do whatever you want to the stream here.
    // return a new stream. Typically uses `consume`.
}

_([]).through(asObject)
    ...

This is equivalent to RxJava's transform(https://github.com/ReactiveX/RxJava/wiki/Implementing-Your-Own-Operators#transformational-operators). Writing the actual operator can be done using consume and pull (all core highland operators are implemented like this), but can also just compose a bunch of pre-existing operators.

@vqvu thanks for the answer

_([]).through(asObject)

Well, I may also use through2 or low-level stream operations. But I want to make the operators, not functions to not bother with imports into tens of files in my case.

Writing the actual operator can be done using consume and pull (all core highland operators are implemented like this), but can also just compose a bunch of pre-existing operators.

Again, I may inspect Highland source or monkeypatch, I junst wanted to request example / official documentation for a future.

Oh, you mean patch the prototype directly to add methods (the "operator" wording confused me)? There's no official way to do that. You pretty much have to do gulp-syle .through(something()) if you want really custom stuff.
You can use Object.getPrototypeOf, but again, not officially supported.
If you're worried about importing the same function everywhere, maybe you can structure your code so that the asObject and asVinyl happens automatically in a single place? Personally, I don't like patching prototypes, because it introduces a hidden dependency on the patching code that can't be seen just from reading the source.

@vqvu yeah I speak in RxJS terminology, familiar to me. I think there is a difference between library and application. I agree that for library case custom operators really have drawbacks. But for application code where everything is under my control potential drawbacks are very unprobable and benefits are obvious. That's why RxJS still provides some functionality to add custom ops IMO.

Oh, what I meant was that a function used with through is still an operator, same as something in the prototype.
There's some discussion on why we don't expose the prototype in #148. It mostly has to do with having multiple versions of highland at once (when using NPM).
In any case, I do agree that application code can do things that library code doesn't, since you control application code directly (still don't like patching the prototype but I don't want to get into a coding style discussion here). So for your use case, you should be able to go ahead and do
var prototype = Object.getPrototypeOf(_());
prototype.myOperator = function (...) {
...
}

This will work with the current version of library (and probably with any future 2.x version).

There was also a similar talk at https://github.com/caolan/highland/issues/70
Ok, I'm gonna try all this and get some real-world impression. Node streams are way complicated unfortunately.

Yep. Among others!
If you come up with a good way to do this, please share.

Custom operators could be easily added if we had functional API instead of OOP.
import {pipe} from "ramda"

...
pipe(
  HL.map(...), // curryable function, data is last argument
  HL.filter(...)  // curryable function, data is last argument
 )(stream)

No namespacing issues because no rigid artificial namespacing OOP enforces.

We have this. All transforms have a top-level curried version, and the only way to implement custom operators is by using a functional, data-last, style. Whether you call them in a functional style
pipe(
    customFn1(...),
    customFn2(...)
)(stream)

or a more OO style
stream.through(customFn1(...))
    .through(customFn2(...))

is simply a matter of preference. It has nothing to do with how easy or hard it is to add custom operators.
I mean, Highland doesn't have the pipe function, but that's easily implemented (by yourself or gotten from ramda).

is simply a matter of preference. It has nothing to do with how easy or hard it is to add custom operators.

What? With OO style you need to inject function into object (library code).
With Functional style you just need to import function before call (app code).

With OO style you need to inject method into object (library code) to be able to use it.

I consider using through to be OO style, and through doesn't require you to inject any thing.
I really don't understand what your concern is. Right this moment, you can choose between using OO or functional style.
For core operators, you can use a functional style
pipe(
    _.map(mapper),
    _.filter(f)
)(stream);

or an OO style
stream.map(mapper)
    .filter(f);

For custom function, you can do the exact same thing, as I've already mentioned.
The way you implement custom operators is the same, and you can choose between OO or functional style. How can you say it's not a matter of preference? We are talking about how custom operators can be implemented, not how the core library is implemented.

This namespacing issues is direct consequence of OOP style.

Actually, it's a direct consequence of NPM allowing multiple versions of the same library to coexist in a single program. It'd be worse if the core library was implemented purely functionally, with data and operators separate. You'd end up with different data format for different versions of highland, which requires different versions of operators (or at least the consume and pull methods). You'd have no way of knowing which version to use for a particular stream. The OO style at least helps you select the right version and gives you a common API (i.e., consume) to code custom operators against.
But I don't see how it's relevant to the issue at hand. Again, it's not like you can't use the functional style for custom operators.

I really don't understand what your concern is. Right this moment, you can choose between using OO or functional style.

Ok, I didn't get you support both styles. My mistake.

Actually, it's a direct consequence of NPM allowing multiple versions of the same library to coexist in a single program.

Did you meant "not allowing"? Because you can't
import HighLand2_5_1 from<EMAIL_ADDRESS>import HighLand2_5_2 from<EMAIL_ADDRESS>

You can't directly depend on two different versions of a library. But if you depend on some library, that that library depends on highland, you can run into a situation where your dependency depends on<EMAIL_ADDRESS>while you have<EMAIL_ADDRESS>as a separate dependency. The issue arises when that library leaks its dependency on Highland. For example, if that library returns a Highland stream, it'll be a stream constructed with<EMAIL_ADDRESS>and not your preferred<EMAIL_ADDRESS>

Thank you. It is really a separate issue and a very tricky one. I can't help with that unfortunately.
Not enough competency.


Credit Transactions | Add an Analyst Transaction History entry when using the Historical Data Entry feature |5|

https://trello.com/c/DWfW6xoZ/911-credit-transactions-add-an-analyst-transaction-history-entry-when-using-the-historical-data-entry-feature-5
Story:
As an IDIR user, I want a Transaction History record to be created when I commit a credit transaction using the Historical Data Entry feature so that the Branch can keep track of who entered the transaction into TFRS.
Scenario:
GIVEN that I am an IDIR user
AND I am entering a credit transaction using the Historical Data Entry feature
WHEN I click on Commit
AND I confirm acceptance via the confirmation alert
THEN a transaction history record is created
AND the history record reads "Recorded on Month DD, YYYY by First and Last Name.
AND the history record is only visible to IDIR users.
Additional Info:

This change also needs to be applied to all of the existing transaction entries in Prod. The TFRS PO is the user that has recorded all credit transactions to-date.
Month DD, YYYY is the day the transaction was entered into TFRS, not the credit transaction's approval/effective date.

 Credit Transactions | Add an Analyst Transaction History entry when using the Historical Data Entry feature |5|


STATS19 layer

Similar to this:

References... https://maps.dft.gov.uk/road-casualties/index.html, https://bikedata.cyclestreets.net/collisions/

Happy to help on this..

Glad for help! I haven't started digging in at all yet. Simplest MVP is get country-wide data in a GJ, and we can serve it using PMTiles. Step one will just be drawing points (probably using https://maplibre.org/maplibre-gl-js-docs/example/cluster/ or similar for low zoom), step two can add user-controlled filters

https://github.com/a-b-street/abstreet/blob/ffb1f3a8ccb47edd16f8ed3aac44345f96ff4dab/importer/src/uk.rs#L37 and related code for more reference

Key data science problem is to join crash level data with casualty level data. I've done that in the stats19 R package. Could be an opportunity to port that logic elsewhere, or do pre-processing R side, or something else?

If that problem is already solved, awesome! Can we just consume the result? Is there (or can we make) one output file England-wide?

If that problem is already solved, awesome! Can we just consume the result? Is there (or can we make) one output file England-wide?

Yes, happy to provide the inputs.

Just noting that I tried out maplibre clusters on the cycle parking layer as an example, where seeing hundreds of points at low/moderate zoom isn't helpful. It doesn't work with pmtiles, only full geojson sources, so that's a non-starter for the amount of data we have. Will be the same for stats19. Looking into https://maplibre.org/maplibre-gl-js/docs/examples/heatmap-layer/ next.

In fact: I now think that showing aggregates of crashes on the road network may be more valuable. Various people, including @wengraf, have understandably railed against representing crashes as 'dots on the map' without context or denominators.
But can be a handy and quick way, plus generating aggregate segment level stats is a hard job that would take time and perhaps PhD level research and methods of the type undertaken by @agila5: https://onlinelibrary.wiley.com/doi/abs/10.1111/rssa.12823
Any thoughts on this Andrea from your statistician's perspecitive?

And cc @rogerbeecham who may have additional thoughts as a visualisation pro, what's your latest thinking on how to visualise STATS19 data on a map?

I haven't dove into the source data yet, but snapping points to the nearest road segment or intersection (because I recall the data distinguishes junctions vs mid-block) is not tough. Not sure if doing so makes interpreting any easier though.
We can certainly start by just rendering a bunch of dots. I quickly tried https://maplibre.org/maplibre-gl-js-docs/example/heatmap-layer/, and it works with pmtiles at least at moderate zoom levels. (I think conceptually we need to do something smarter at low zoom levels -- either throwing away performance, listing all the points, and feeding into the heatmap layer. Or maybe precalculating heatmap contour shapes for different zooms.)

Starting by showing the raw data as dots sounds like a good starting point. Just not sure that's the most policy relevant visualisation technique, but sounds like a good starting 'point'! Greetings from York office...

In fact: I now think that showing aggregates of crashes on the road network may be more valuable. Various people, including @wengraf, have understandably railed against representing crashes as 'dots on the map' without context or denominators.

I ought to be editing our response to the TSC session on transport data, but let me state exactly what my issues are, as it may help:

If a map is presented in a context that allows for or encourages people to think about risk, then it must be a map of real risk.  The human mind is poor at interpreting point maps and risk.
There are contexts where point maps are OK to me, but that's when people are definitely looking for population (e.g., crash response) and not at all thinking about risk (e.g., engineering interventions).
STATS19 is not all crashes - most notably, it doesn't have reliable slights, self-reported crashes are likely to be skewed at the very least, doesn't have super reliable serious, doesn't necessarily have crashes where people have done a runner (e.g., people who would rather not have a chat with the police) and doesn't have crashes on certain bits of the network road users might not understand as not applicable (e.g., private land, parks, etc.).  If you then map "all the dots", certain gaps in that mapping can suggest wildly inaccurate things (like the survivorship bias Spitfire diagram).

On snapping points to links, the simple GIS part isn't too hard, but that snapping then needs to be sense checked against the fields that describe the link, and you need a road network that is of decent enough quality (e.g., Open Roads doesn't have some complex junctions) and you need a denominator applicable to that road link.  The snapping is the (relatively) easy bit.

Apologies -- just wrote something and now seen @wengraf 's points.  I also not sure of genesis/background to project.
Guess it depends on the use case.  If the intention is to provide a front-end to the dataset, then the zoom-dependent density-based clustering, a bit like that in the MapLibre earthquake example fine -- imagine this would wor  in terms of order of magnitude in stats19 crashes.
If it's to represent "risk" --  not just where there are roads and people (and so road crashes), as @wengraf says, really hard to come up with generalisable decisions on how to capture exposure/context. Don't think I've yet seen this done well in an interactive/exploratory tool. And it is seems unlikely that can capture the context identified by @wengraf above.
Sometimes useful to think about constraints, especially with these sorts of exploratory tools -- e.g. if were to limit to stats19 and a road network dataset like OpenRoads (recognising difficulty with layering with lots of context).
So a starting point could be at least to generate zoom-dependent crash counts regularly sampled over the network:

sample points over network at regular spatial intervals -- this sampling increases/decreases (stepped intervals) on zoom level
generate crash frequencies within a given spatial bandwidth , again varying at stepped intervals on zoom level

From here,  possible to do things like set up some model about how the 1D distribution of these crash frequencies should look and encode deviation from this at regularly sampled points. Could then have users explore different data generating processes to emphasise different  -- e.g. thinking of this Surprise Maps paper  -- https://idl.cs.washington.edu/papers/surprise-maps, which is about exploring differences from expectation where no theoretically informed model exists.

Many thanks guys, with my ATE hat on!

Any thoughts on this Andrea from statistics/visualisation perspectives?

Hi everyone! I didn't check all the details regarding this repository (and I'm also not sure about the background of this project), but I just want to point out that there are a few techniques that can be used to display a heatmap regarding the density of points on a linear network (and everything is already implemented in R). For example:
library(spatstat)

# simulate car crashes data on a toy network
crashes <- rpoislpp(
  lambda = \(x, y) 125 * x + 125 * y,
  L = simplenet
)

# Not really clear, it looks like there is a constant intensity
par(mar = rep(0, 4))
plot(crashes, pch = 20, main = "")

# Much better with an heatmap
par(mar = c(0, 0, 0, 3))
plot(density(crashes, dimyx = 128), main = "")

Created on 2023-08-23 with reprex v2.0.2
A couple of points:

You've already mentioned the possibility of using heatmaps to smooth point-level car crash data. I'm not sure if maplibre implements smoothing techniques on networks but I think a classical 2D approximation might be a good starting point. Happy to provide insights on the 1D readaptation (and, in fact, I just finished working on a paper on a similar topic: here)
As Ivo and Roger already pointed out, this approach has several drawbacks. In fact, the technique that I showed is just a non-parametric way to smooth the point-level data and it doesn't really display a "car crash risk" since we are missing an exposure. Unfortunately, it's quite difficult to provide general guidance on what might be treated as "exposure" in these models (population? traffic? speed?)

This thread has so many good ideas, the making of the best way to interactively explore STATS19 data in a publicly available map IMO.

And the purpose of the visualisation: if we want to highlight dangerous junctions vs dangerous roads it could be handy to have a separate (point based I guess) visualisation approach for junctions rather than snapping them all to linestrings.

@Robinlovelace, how much detail do we want per point, for the raw point case? I'm starting with the number of casualties, the worst severity of those, and the year. Do we also want to only filter for casualties to people outside of a motor vehicle? (That complicates some stuff -- if a driver and a pedestrian were both injured, do we report them both? And ignore a collision with 2 driver casualties?)
For the area-aggregations, similar questions -- what do we want to show and let people filter by? Total collisions, total casualties, only counting peds/cyclists? etc.
The more you can help me spec out what we want in the end, the faster this'll get done

Raw point layer with filtering has been around for a while. There's no use cases internally for the other things mentioned, but the discussion was great!


[BUG] - Failing to build tui-realm-stdlib crate component on rust 1.76

Description
Can't build the latest release on Debian 11, rust version 1.76
Steps to reproduce
cargo install termscp
Expected behaviour
Application builds successfully
Environment

OS: [e.g. GNU/Linux Debian 11]
Architecture [x86_64]
Rust 1.76
termscp version 0.13
Protocol used
Remote server version and name

Log
   Compiling tui-realm-stdlib v1.3.1                                                                                error[E0061]: this function takes 2 arguments but 1 argument was supplied                                                            --> /home/hlmtre/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tui-realm-stdlib-1.3.1/src/components/table.rs:351:29
    |
351 |             let mut table = TuiTable::new(rows)
    |                             ^^^^^^^^^^^^^------ an argument is missing
    |
note: associated function defined here
   --> /home/hlmtre/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ratatui-0.26.1/src/widgets/table/table.rs:263:12
    |
263 |     pub fn new<R, C>(rows: R, widths: C) -> Self
    |            ^^^
help: provide the argument
    |
351 |             let mut table = TuiTable::new(rows, /* widths */)
    |                                          ~~~~~~~~~~~~~~~~~~~~

error[E0277]: the trait bound `tuirealm::tui::text::Text<'_>: From<&std::string::String>` is not satisfied
   --> /home/hlmtre/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tui-realm-stdlib-1.3.1/src/components/table.rs:373:48
    |
373 |                 table = table.highlight_symbol(hg_str);
    |                               ---------------- ^^^^^^ the trait `From<&std::string::String>` is not implemented for `tuirealm::tui::text::Text<'_>`
    |                               |
    |                               required by a bound introduced by this call
    |
    = help: the following other types implement trait `From<T>`:
              <tuirealm::tui::text::Text<'a> as From<&'a Masked<'_>>>
              <tuirealm::tui::text::Text<'a> as From<Masked<'a>>>
              <tuirealm::tui::text::Text<'a> as From<std::string::String>>
              <tuirealm::tui::text::Text<'a> as From<&'a str>>
              <tuirealm::tui::text::Text<'a> as From<Cow<'a, str>>>
              <tuirealm::tui::text::Text<'a> as From<tuirealm::tui::text::Span<'a>>>
              <tuirealm::tui::text::Text<'a> as From<tuirealm::tui::text::Line<'a>>>
              <tuirealm::tui::text::Text<'a> as From<std::vec::Vec<tuirealm::tui::text::Line<'a>>>>
    = note: required for `&std::string::String` to implement `Into<tuirealm::tui::text::Text<'_>>`
note: required by a bound in `tuirealm::tui::widgets::Table::<'a>::highlight_symbol`
   --> /home/hlmtre/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ratatui-0.26.1/src/widgets/table/table.rs:501:32
    |
501 |     pub fn highlight_symbol<T: Into<Text<'a>>>(mut self, highlight_symbol: T) -> Self {
    |                                ^^^^^^^^^^^^^^ required by this bound in `Table::<'a>::highlight_symbol`

Some errors have detailed explanations: E0061, E0277.
For more information about an error, try `rustc --explain E0061`.
error: could not compile `tui-realm-stdlib` (lib) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...

Additional information
Obviously not really a bug specific to termscp but maybe a locked prior version or requiring a previous rust version will fix it.

Probably tui-realm-stdlib is broken after the update to ratatui 0.26.
In the meantime you can try to build termscp with --locked arg

Oh, great. That did indeed work. Thank you!
On Mon, Mar 4, 2024 at 9:57 AM Christian Visintin @.***>
wrote:

Probably tui-realm-stdlib is broken after the update to ratatui 0.26.
In the meantime you can try to build termscp with --locked arg
—
Reply to this email directly, view it on GitHub
https://github.com/veeso/termscp/issues/237#issuecomment-1977155419, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AADNGGIWHRBIRVU5WS4IOV3YWSY2FAVCNFSM6AAAAABEFUBBRGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZXGE2TKNBRHE
.
You are receiving this because you authored the thread.Message ID:
@.***>


versions: refactor configuration of qemu in version.yaml

Include info such as commit number,tag number, etc for building
nvdimm-supported qemu on aarch64 from source code.
Fixes: #974
Signed-off-by: Hui Zhu<EMAIL_ADDRESS>

/test

jenkins-metrics-ubuntu-16-04 failed in:
12:10:31 +-----+----------------------+-------+--------+--------+-------+--------+--------+-------+------+-----+
12:10:31 | P/F |         NAME         |  FLR  |  MEAN  |  CEIL  |  GAP  |  MIN   |  MAX   |  RNG  | COV  | ITS |
12:10:31 +-----+----------------------+-------+--------+--------+-------+--------+--------+-------+------+-----+
12:10:31 | *F* | boot-times           | 95.0% | 107.4% | 105.0% | 10.0% | 104.7% | 121.1% | 15.6% | 3.2% |  20 |
12:10:31 | *F* | memory-footprint     | 85.0% | 84.9%  | 115.0% | 30.0% | 84.9%  | 84.9%  | 0.0%  | 0.0% |   1 |
12:10:31 | P   | memory-footprint-ksm | 95.0% | 100.6% | 105.0% | 10.0% | 100.6% | 100.6% | 0.0%  | 0.0% |   1 |
12:10:31 +-----+----------------------+-------+--------+--------+-------+--------+--------+-------+------+-----+

But this patch doesn't have relate with this fail.  Maybe it can be ignored.

LGTM. metrics is still failing but not related to the PR.

Ignoring the metrics failure as it is not related.


bashunit does not provide test reports option yet

Currently bashunit does not have an option to output test report files.
As a workaround (see #12) this adapter runs a test command per test function name. This allow us to have individual results and individual outputs.
With a test report we could be able to at least:

Run all tests in a file with just 1 command
Run all test files in a directory with just 1 command
Show inline errors about what went wrong in running a test

Hi everyone,
After careful consideration and further usage of the adapter, as well as observing increased community adoption, I have decided that the proposed functionality to generate test report files is no longer necessary for our project. The same goals can be achieved without this specific integration.
Therefore, I am closing this issue. I greatly appreciate all the time and effort that everyone has put into this discussion and proposal.


SPFX 1.17 PopupFlow

Hi all,
Cannot make this popup flow work in anyway, here is the code I'm using:
const tokenProvider = await this.context.aadTokenProviderFactory.getTokenProvider();
const spEventObserver:ISPEventObserver = { componentId: this.componentId, instanceId:this.instanceId, isDisposed:false, dispose:null};
tokenProvider.onBeforeRedirectEvent.add(spEventObserver, (eventArgs: IBeforeRedirectEventArgs) =>{
eventArgs.cancel();
})
tokenProvider.popupEvent.add(spEventObserver, (eventArgs: IPopupEventArgs) =>
{ eventArgs.requestPopup(); eventArgs.showPopup(); })
return await tokenProvider.getToken(reachResourceUrl);
What am I doing wrong?

Bumping, I've followed instructions but its still redirecting.
Debugging AADHttpClient I can see popupEvent is registered correctly, but it's never called, onBeforeRedirect event is called instead.
Running Get-SPOTenant shows that IsEnableAppAuthPopupEnabled is set to true.

@danielcostalvt @SharePickle - we identified an issue and working on the fix.
If no unpredicted things happen it should be rolled out WW in about 2-3 weeks.

Any update on this @AJIXuMuK ?

@glyn-clough-wm-reply - sorry for the silence.
The fix should be rolled out globally.
Could you please check if you're still experiencing the issue?

Many thanks - we'll try and test this out over the next few days and provide an update.
Can I just check - is this the Microsoft recommended approach to access AD secured API's, when there is ITP blocking the usual authentication methods? (As that's the challenge we're trying to solve)

@glyn-clough-wm-reply - yes, we recommend this approach for SPFx solutions.

@AJIXuMuK : will try it out and provide some feedback.
My question though, if we have multiple web parts consuming different APIs, we will have a never ending appearance of popups, correct?
Can we get some insight if there is any plan on removing the cookie dependency of authentication alltogether in the future?

The popup shows up, but nothing happens (error says cannot read measage of undefined in console). Also if you try get token again it says is Token request previously failed.

@SharePickle could you please share the console errors and also correlation id from requests (request-id header value) for failing requests?

Here's my setup:

  // configure popup
  onInit() {
    return this.context.aadTokenProviderFactory.getTokenProvider()
      .then(configurableTokenProvider => {
        configurableTokenProvider.popupEvent.add(this, this.handlePopup);
        this._tokenProvider = configurableTokenProvider;
      })
      .catch(e => console.error(e));
  }

  handlePopup = (eventArgs: PopupEventArgs) => {
    eventArgs.cancel();     // REQUIRED: to cancel the default popup that is called to open
    eventArgs.showPopup();  // initiate the popup flow
  }

  getToken = async () => {
    const token = await this._tokenProvider.getToken('https://graph.microsoft.com')
  }

The web part is just a simple button which calls getToken method.
When I click the first time - popup shows up, but nothing happens.
When I was debugging cannot read measage of undefined I found it caused by this method (argument e is undefined):

When I click the button second time nothing happens at all, but if I debug again the error message is caught internally and it says Token request previously failed..
Error: Token request previously failed
    at new t (chunk.aadTokenProvider_en-us_fee8ad587b68c8265bea.js:1:1754)
    at e._getTokenInternal (chunk.aadTokenProvider_en-us_fee8ad587b68c8265bea.js:1:3807)
    at e.getToken (chunk.aadTokenProvider_en-us_fee8ad587b68c8265bea.js:1:2612)
    at sp-pages-assembly_en-us_c362cb7e1934defdf3d1046262075d28.js:78:169616

If I refresh the page and click button again - token loads successfully.

Hi @AJIXuMuK  - any update on this? Do you need anything else from @SharePickle ?

hi @AJIXuMuK / @VesaJuvonen can we get an answer on:
My question though, if we have multiple web parts consuming different APIs, we will have a never ending appearance of popups, correct?
Can we get some insight if there is any plan on removing the cookie dependency of authentication alltogether in the future?

@AJIXuMuK hey sorry to ping you so often, but is there anything you guys found out?
Now I'm getting other error:
Uncaught (in promise) ClientAuthError: User cancelled the flow.
    at t [as constructor] (chunk.vendors~msalImplicit~msalImplicitLegacy_none_98fce48cd7ca5bbe0433.js:1:8320)
    at new t (chunk.vendors~msalImplicit~msalImplicitLegacy_none_98fce48cd7ca5bbe0433.js:1:8879)
    at t.createUserCancelledError (chunk.vendors~msalImplicit~msalImplicitLegacy_none_98fce48cd7ca5bbe0433.js:1:10209)
    at chunk.vendors~msalImplicit~msalImplicitLegacy_none_98fce48cd7ca5bbe0433.js:1:41370

Is there any update on this?
I also need to be able to handle AAD authentication when silentsso gets blocked by the browser


Are-you-sure dialogue to let the user back out of replacing the internal keys.

Description
With the previous change, when replacing the internal keys, the user was not given the "are-you-sure" last chance dialogue. Upload button resulted in uploading the keys and restarting.

Motivation and Context
Usability issue.
How Has This Been Tested?
In my IDE.
Types of change

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

Checklist:

[x] My code follows the Code style guidelines of this project
[x] My unit test follow the Unit test guidelines
[x] Unit test coverage percentage is maintained(increased/remains the same but not decreased)

@dmitryintel: No further comments and let me know when you resolve/answer the query from Arvind, so that i can merge.


removing parameter hardcoded. add the timeout of G5k in the config

Hi @tdurieux
I updated the code. WDYT?

It seems ok. Maybe can you add a comment that says that the overhead is a percentage of the timeout?

Updated


Request: Appsflyer one links

Does the plugin have onelinks configuration or must the appsflyer plugin be installed to detect onelinks?

This is the PR that added appsflyer integration https://github.com/la-haus/flutter-segment/pull/19
You are welcome to create a contribution with that too :)

@DarwinVJ why did you close this?

@DarwinVJ why did you close this?

I thought that this topic was already closed with the answers you gave.

Darwin just to confirm, it already detects one links?

Yes, using only appsflyer sdk to listen to onelinks

Then yeah, this issue could be closed :)


wrong suggestion

I ran this nice tool and got back:
cmd/snap/cmd_run_test.go:353:8: "unreleated" is a misspelling of "unreleased"
This is a mistake, so thanks for catching it :) However, the correct suggestion should be "unrelated".

definitely!  I'll take a look here.


Wrong page metadata for conversation page

When sharing on social media the url of a conversation, the title of the page should reflect the topic of the conversation
Example: https://opencollective.com/xr-namur/conversations/amende-de-eur61-du-service-public-de-wallonie-pour-xr-affiche-a56da67b
See result on facebook: https://developers.facebook.com/tools/debug/?q=https%3A%2F%2Fopencollective.com%2Fxr-namur%2Fconversations%2Famende-de-eur61-du-service-public-de-wallonie-pour-xr-affiche-a56da67b
I'd put the title of the conversation as the title followed by collective name ({thread.title} - {collective.name}) of the page and the first 2 lines of the text as the description.

I got it

@Betree -> I have come to the community after long , why are there packages which are not available on npm -> https://www.npmjs.com/login?next=%2Fpackage%2F%40hyperwatch%2Fhyperwatch
Where did hyperwatch go ?

@jeffin143 are you still working on this?
if not , I will take this bounty.

:trophy: This issue has been completed by @ersachin3112
To claim the bounty, you can either:

Submit an invoice to https://opencollective.com/engineering/expenses/new (please mention the issue number)
Or ask for an Open Collective gift card of the same value (to donate to other collectives)


Add swagger support for SOFARPC restful

Add swagger support for SOFARPC restful services.

Users can add swagger dependencies and add com.alipay.sofa.rpc.rest-swagger=true in applications.properties to enable swagger openapi support, the swagger openapi will be available at http://localhost:8341/swagger/openapi

@leizhiyuan You mean sofaboot-dependencies's version?

ok, I see,sofaboot-dependencies 310 has released four days ago.

after ci，I will merge this pr to master


Throttling based on previous 4xx/5xx responses?

I keep thinking it would be useful to block/throttle clients that have produced a high number of 4xx/5xx responses recently, to cut down on errors from badly behaved spiders / script kiddies.
I couldn't see an obvious way of bending rack-attack to do this.  Am I missing anything, or any thoughts on whether this functionality might belong in rack-attack or elsewhere?

Hi @jdelStrother,
rack-attack is built to make decisions based on the request, not the response. So indeed blocking/throttling clients based on 4xx/5xx response codes isn't what rack-attack was designed for. There's a bit of history here.

I am sort of looking for the same feature: I want to throttle failed login attempts (which get a 4XX response).
As I see there is no way of achieving it with rack-attack currently, I think maybe I could write a custom middleware, which checks the response, and if so, manually increases the request count using the proper throttle name and discriminator.
Does this seem reasonable to you? if so, how could I perform the "please rack-attack increase this throttle count for this discriminator"?


Iheanacho Amarachi's Technical Writing Resume.

I am interested in writing technical articles for brands.

@googlebot I signed it!

Hi! Would you please make a new pull request adding your information in alphabetical order by surname/family name? If you only use one name, alphabetize under that name. If you have questions about where your name would go in order, please reply to this comment. (Please alphabetize by more than the first letter: for example, Cat would go after Call but before Cave.)
The names are LISTED firstname, surname, but they are alphabetized by surname. So if you have:
Anwar Able
Bill Lion
Caesar Sun
Someone named Amy Pleasant would go between Bill Lion and Caesar Sun.


Performance issue when opening the widget admin page

https://github.com/OrchardCMS/Orchard/blob/97648ed5a2a6c43074216786126ff8a207e6ac2f/src/Orchard.Web/Modules/Orchard.Widgets/Controllers/AdminController.cs#L87
When many content pages contain widgets we experience perfomance issues as the widget admin page takes even some minutes to open

Continuing from #8750:
A generic-purpose solution to this could be to optionally move the layer filtering to the server-side. Right now, when you open the Widgets page and select any layer, you still see the widgets from each layer and you can hide/show the widgets of each layer on the client-side using the layer list on the right side.
This could be overridden for example by adding a site setting, which, when enabled would filter the displayed widgets down to the selected layer only by using a different override of GetWidgets at the place highlighted by @gdessimoneinvalle above.
Since this would make the client-side filtering useless, that should be hidden too. A new, "Show all" option (with value 0) needs to be added to the layer dropdown too.
It can be taken one step further by the above site setting just providing a default value and the Widgets screen having an additional checkbox for the same purpose, but its value stored in a cookie, so admins can switch between the two behaviors for themselves.

Just for the sake of discussion, the things we could filter widgets on for that action are:

Layer: this is what we are discussing, and I think this is what makes the most sense to have in a site setting.
Zone: the usefulness of this in the context of this controller/action is debatable. Personally, I think the job of this controller is to display everything, but, since it's grouping things by Zone anyway, it may be worth it to set that up as a filter. Overall, I think this would be overengineering this feature.
ContentType: I think it makes little sense to have a setting to filter this page for this.

So I think the site setting should definitely let admins select default layers whose widgets are loaded/shown; probably nothing else.
I think the UI for client side filtering may still be there, but rather than operate entirely client-side, it may call a server-side api for the updated information.
I like the approach of using the cookie for admins so they may override their own setting, but I'm not sure I'd actually implement it, unless there is a trivial way to handle this:
Suppose the default (site setting) is to show Layers 1 and 2, and that leads to a fast load for that page. As and admin, I may need to check something from one of the "slow" Layers: if that is saved as my cookie, the next time I may want to check something, I'm subjected to the slow load time; this will likely repeat itself several times until I happen to change the setting/cookie for myself. So interacting once with the slow layer may end up degrading the UX making it worse and making it feel like the rest of the changes we are proposing aren't even there.

What I meant by site setting is just a simple checkbox: When enabled, the filtering happens entirely on the server-side (and then the right-side list on the Widgets page for client-side filtering is hidden, because it becomes dysfunctional).
To expand on that, the cookie-based setting is also just a checkbox that takes precedence over the site setting.

I see.
I would have, in the Site Setting, the list of all Layers, for the admin to select which ones are to have their widgets displayed/hidden by default in the list.
Filtering happens server-side.
Then in the Widgets page I'd keep the UI that's there to filter, but change what it does: rather than hide/display something that's already client-side, it would call a server-side api to update the list.

That sounds good in principle, although I'd advise against such an overhaul of the UI unless you can keep the current behavior going (because it's not a common problem) and you really really need it to work like this.
On the other hand, you can address the performance issue by adding just a single checkbox setting and 1 line changed in the controller.

What does OC do? I believe we designed it to be efficient, and nobody has complained so far.


Update models: Add url and id property to item type

Description / Motivation

Adding two extra fields (id & url) to the Item interface in models to be able to properly type incoming data.
The data that is coming from Sitecore seems to have these extra 2 fields on it, see example:
  paymentFrequencies: [
      {
        id: '7b7ff13f-f7af-4dc7-8612-baf46a61659a',
        url: '/data/reference-data/payment-frequencies/fortnightly',
        name: 'Fortnightly',
        displayName: 'Fortnightly',
        fields: {
          label: {
            value: 'due on {date}',
          },
          value: {
            value: 'Fortnightly',
          },
          name: {
            value: 'Fortnightly',
          },
        },
      },
      {
        id: '63e0d50e-b123-4783-8817-b42ebbdc4d0e',
        url: '/data/reference-data/payment-frequencies/four-weekly',
        name: 'Four weekly',
        displayName: 'Four weekly',
        fields: {
          label: {
            value: 'due on {date}',
          },
          value: {
            value: 'Four weekly',
          },
          name: {
            value: '4Weekly',
          },
        },
      },
]

Having these 2 extra fields allows to properly type the rendering props:
export interface ComponentProps {
  fields: {
    paymentFrequencies: Item[];
  };
  rendering: ComponentRendering;
}

Testing Details
No effects on other data as the fields are marked optional.
Types of changes

[x] New feature (non-breaking change which adds functionality)

@ambrauer would you be able to provide some feedback on this and #1220  please?

@ambrauer would you be able to provide some feedback on this and #1220 please?

@pzi This PR looks great, thanks for the contribution! The other PR is being addressed with #1226 which expands on this a bit.

Awesome, thanks @ambrauer. I don't suppose this will make it into latest v20? We currently are not in a position to go v21 just yet.

@pzi We don't have any plans for another v20 release. Your best bet would be to go through Sitecore Support (if this is preventing you from launching your site on v20, for example) in which case we would release this as a hotfix for v20.

Fair enough @ambrauer, will see how we go for a Sitecore support ticket. It's not stopping us from launching as we have type augmentation in place, but it'd just be nicer to have it all straight from the horses mouth, e.g. this package 👯


Build not picking up ANDROID_SDK_ROOT

Current behavior
I just tried to build my project. It failed informing me that I had to either set the environment variable ANDROID_SDK_ROOT or sdk.dir in local.properties. I set the variable, double checked using echo $ANDROID_SDK_ROOT and it still failed.
Then I proceeded to set sdk.dir in local.properties, now the build works.
Expected behavior
The build works using the ANDROID_SDK_ROOT environment variable.
Repro steps
Unsure, seems to have to do with my local setup.
Environment

Async Storage version: ^1.7.2
React-Native version: 0.61.5
Platform tested: Android
Logs/Error that are relevant:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':@react-native-community_async-storage'.

> SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at '/Users/marces/dev/facemurphy/frontend/packages/app/android/local.properties'.

This problem occurred as VSCode did not use zsh to launch the script -> the variable actually was not defined. Sorry for the inconvenience.


[ETHOSN] Support multiply conversion to depthwise

Multiply can be supported when offloaded to the NPU by a conversion to a depthwise convolution operation. This is only supported when the multiply operation has a single single variable input with the other being a constant of shape [1, ..., C]. This commit adds a new pass "ConvertEquivalents" (name subject to change) to handle this conversion before codegen.
cc @NicolaLancellotti @leandron

@tvm-bot rerun

@lhutton1 this now has a conflict, so when you have a moment and solve, I'm fine for this to be merged once CI is green again.


How to make a flow depend on a job of another flow

For example, the timing task of a flow is to be executed every other hour, and the data can be analyzed by another flow only after the work time has been fully scheduled. Such a flow depends on the operation of another flow, and the scheduled period in a flow is inconsistent.

I think you're probably looking for nested flows, or embedded


feat(pixels): add my new pixel (16, 11)

Checklist

[x] I ran npm test locally and it passed without errors.

[x] I only edited the _data/pixels.json file.

[x] I entered the username in the pixels.json that I'm also using to create this pull request.
[x] I acknowledge that all my contributions will be made under the project's license.

Hey @spianoDev it seems like another PR of yours has been merged in the meantime. I'll close this one as a duplicate. Thank you for your contribution!


Change in .clasp.json location & behavior with --rootDir

Steps to reproduce the problem

Install clasp locally
Create a project using --rootDir
Attempt to push files

Expected Behavior
(as in 2.4.0:)
4. Success
% mkdir -p project-2.4.0/{src,tools}
% cd project-2.4.0/tools
% npm install<EMAIL_ADDRESS>...
% ./node_modules/.bin/clasp create --type webapp --title test-2.4.0 --rootDir ../src
Created new webapp script: https://script.google.com/d/.../edit
Warning: files in subfolder are not accounted for unless you set a '.claspignore' file.
Cloned 1 file.
└─ ../src/appsscript.json
% ./node_modules/.bin/clasp push
└─ ../src/appsscript.json
Pushed 1 file.

Actual Behavior
(in 2.4.1:)
4. .clasp.json file (now in rootDir rather than same directory) not found; must run with clasp -P rootdir
% mkdir -p project-2.4.1/{tools,src}
% cd project-2.4.1/tools
% npm install<EMAIL_ADDRESS>...
% ./node_modules/.bin/clasp create --type webapp --title test-2.4.1 --rootDir ../src
Created new webapp script: https://script.google.com/d/.../edit
Warning: files in subfolder are not accounted for unless you set a '../src/.claspignore' file.
Cloned 1 file.
└─ ../src/appsscript.json
% ./node_modules/.bin/clasp push

No valid /Users/chjones/Downloads/project-2.4.1/tools/.clasp.json project file. You may need to `create` or `clone` a project first.
% ./node_modules/.bin/clasp -P ../src push
└─ ../src/appsscript.json
Pushed 1 file.

Specifications

Node version (node -v): 16.5.0
Version (clasp -v): 2.4.1
OS (Mac/Linux/Windows):Mac

Presumably this is associated with #865 ; the new behavior may be the "correct" one, but failure to create .clasp.json in the working directory is a breaking change when that is expected (at least, for some of my scripts. :-) ) Is this worth specifying in documentation or release notes?
Thanks as always,
CDJ

Additional issue: as the relative directory rootDir is also written to .clasp.json as given to the --rootDir option., clasp -P must also be called from a directory at a certain hierarchy.
From the above, if we are in the tools directory and use clasp create ... --rootDir ../src to place the project in the given src directory, ../src is written to .clasp.json, hence moving up a directory level and calling clasp -P src/ ... results in:
% clasp -P src/ push
ENOENT: no such file or directory, open '../src/appsscript.json'

If we can agree on desired behavior for --rootDir and -P I'm happy to work on a PR. Thanks again!

also noticed this behavior breaking my app (built on https://github.com/enuchi/React-Google-Apps-Script) when npm decided to bump from clasp version 2.4.0 to 2.4.1! Might confuse others, especially if the breaking change comes from a minor version bump!

I did the following:

Install clasp locally
Clone a project from /myproject using --rootDir src
Attempt to push files

Actual Result:
"No valid [full path] /myproject/clasp.json project file. You may need to create or clone a project first."
The .clasp.json project file was created in the /myproject/src.
Move the .clasp.json file
I moved the .clasp.json file from /myproject/src to /myproject.
Running clasp push from /myproject now works as expected.

I did the following:

Install clasp locally
Clone a project from /myproject using --rootDir src
Attempt to push files

Actual Result: "No valid [full path] /myproject/clasp.json project file. You may need to create or clone a project first."
The .clasp.json project file was created in the /myproject/src.
Move the .clasp.json file I moved the .clasp.json file from /myproject/src to /myproject.
Running clasp push from /myproject now works as expected.

Yep, that worked for me too! Thanks a lot.

I did the following:

Install clasp locally
Clone a project from /myproject using --rootDir src
Attempt to push files

Actual Result: "No valid [full path] /myproject/clasp.json project file. You may need to create or clone a project first."
The .clasp.json project file was created in the /myproject/src.
Move the .clasp.json file I moved the .clasp.json file from /myproject/src to /myproject.
Running clasp push from /myproject now works as expected.

That worked for me too. Thanks a lot!

I doubt this is the correct behavior, at least it's very counter-intuitive (#923).
I think "specified directory" in #832 was misunderstood to mean "specified by --rootDir", but rootDir is documented as:

Local directory in which clasp will store your project files.

I'd interpret "project files" as "pushed files", as in telling clasp which subdirectory should be pushed, analogous to TypeScript's include.
As far as I can tell this is what it was intended for (#22 / #25), how it's commonly used and how it functions. The example in the README seems to support this, listing a build folder for rootDir. The README also says:

When running clone or create, a file named .clasp.json is created in the current directory to describe clasp's configuration for the current project.

This is no longer true, .clasp.json is now created in the provided rootDir.
The suggested workaround with -P seems unnecessarily tedious and undermining the purpose of rootDir, not to mention hazardous with shenanigans around relative paths as mentioned by @therealchjones.
Proposal
I propose the following changes to create, clone and rootDir:

A relative rootDir in .clasp.json is always resolved against the location of .clasp.json to avoid shenanigans.
A relative --rootDir passed to create and clone should still be resolved against the current working directory.
The create and clone commands always put the new .clasp.json in the current working directory, containing a relative path to the passed rootDir if applicable. The created/cloned files are put inside --rootDir.
Rename rootDir to something like sourceDir, buildDir, distDir, synchronizedDir or gapDir to clarify its function and make its purpose more explicit. rootDir could stay as an alias with a deprecation warning for now to avoid a breaking change.

I'd love to hear your thoughts on this! I'll look into creating a draft PR to see how this plays out.

If I specify a rootDir it pushes the files but doesn't resolve them to be at the base, uploading them in a dist folder.
└─ dist/appsscript.json
└─ dist/dialog.68d5e797.js
└─ dist/dialog.html
└─ dist/main.js
└─ dist/sidebar.15d4dce8.js
└─ dist/sidebar.html
Pushed 6 files.

Hence it's useless as the files don't appear in App Script.
In the end I copied .clasp.json into dist/ during build and ran it from there


Fix lack of Key in HeaderAccount

Codecov Report

Merging #214 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #214   +/-   ##
=======================================
  Coverage   79.42%   79.42%
=======================================
  Files          19       19
  Lines         729      729
  Branches      109      109
=======================================
  Hits          579      579
  Misses        122      122
  Partials       28       28

@dalcib Let's provide ability to specify key in account object, rather then use indexes .. I know they are not indexes but it looks similar :)

I change it to key={account.key} .. hope it's enough ..


Aqueduct document fails with missing getter "summary"

Below is a partial trace, not sure what can be wrong?
gokr@maz:~/bio/cloud/transformer$ aqueduct document
-- Aqueduct CLI Version: 3.0.2
-- Aqueduct project version: 3.0.1
*** Uncaught error
    Bad state: NoSuchMethodError: The getter 'summary' was called on null.
Receiver: null
Tried calling: summary
  **** Stacktrace
  * #0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:46:5)
  * #1      ResourceController.documentOperations.<anonymous closure>.<anonymous closure> (package:aqueduct/src/http/resource_controller.dart:281:50)
  * <asynchronous suspension>
  * #2      APIDocumentContext.finalize.<anonymous closure> (package:aqueduct/src/openapi/documentable.dart:227:41)
  * #3      Future.forEach.<anonymous closure> (dart:async/future.dart:486:26)
  * #4      Future.doWhile.<anonymous closure> (dart:async/future.dart:528:26)
  * #5      _RootZone.runUnaryGuarded (dart:async/zone.dart:1314:10)
  * #6      _RootZone.bindUnaryCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1353:26)
  * #7      _RootZone.runUnary (dart:async/zone.dart:1379:54)
  * #8      _FutureListener.handleValue (dart:async/future_impl.dart:129:18)
  * #9      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:642:45)
  * #10     Future._propagateToListeners (dart:async/future_impl.dart:671:32)
  * #11     Future._complete (dart:async/future_impl.dart:476:7)
  * #12     _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
  * #13     _AsyncAwaitCompleter.complete (dart:async/runtime/libasync_patch.dart:28:18)
  * #14     _completeOnAsyncReturn (dart:async/runtime/libasync_patch.dart:292:13)
  * #15     ManagedEntity.documentComponents.<anonymous closure>.<anonymous closure> (package:aqueduct/src/db/managed/entity.dart)
  * <asynchronous suspension>

Per your other info, this looks like a bug with ManagedObjectControllers are auto-documenting. More generally, a bug with any subclass of a subclass of ResourceController. This will get fixed in 3.0.2.

@gokr Are you able to verify this is fixed in 3.0.2?


Automatic code fix stops working due to vscode update

When starting vscode in a doodba copier template project, this appears in the lower right corner:

Translation: You have stopped using linting or formatting settings for Python. See logs for more details.
And it directs us to this link: https://github.com/microsoft/vscode-python/wiki/Migration-to-Python-Tools-Extensions
Removing these two lines from doodba.XXX.code-workspace:
"python.linting.flake8Enabled": true,
"python.linting.pylintEnabled": true

The message disappears, but continues without the useful correction functionality

Probably it will have to integrate with https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff now and remove those old linters.

Probablemente tendrá que integrarse con https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff ahora y eliminar esos viejos linters.

If I find a solution I will publish it, but studying vscode in depth is another of my pending subjects.

Probablemente tendrá que integrarse con https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff ahora y eliminar esos viejos linters.

If I find a solution I will publish it, but studying vscode in depth is another of my pending subjects.

I found a temporary solution, but it would be nice to have some expert confirm if it is the right way to go.
First, add "charliermarsh.ruff" to the extensions list in ./vscode/extensions.json
Second, install Ruff on the system. In my case, Ubuntu is in version 23.10, and I must do it with:
sudo snap install ruff
Although I have seen that it is possible in other distributions to do it with pip
Third, remove all the obsolete lines (the ones that are marked off) in the file: doodba.xxx.code-workspace
    "python.formatting.provider": "none",
    "python.linting.flake8Enabled": true,
    "python.linting.ignorePatterns": [
      "/path/to/your/project/odoo/custom/src/odoo/**/*.py"
    ],
    "python.linting.pylintArgs": [
      "--init-hook=\"import sys;sys.path.append('/path/to/your/project/odoo/custom/src/odoo')\"",
      "--load-plugins=pylint_odoo"
    ],
    "python.linting.pylintEnabled": true,

Fourth, uninstall the extensions
ms-python.pylint and ms-python.flake8

Hello community! Question, is there any intention to repair the code-workspace extension file to fix the problems that appear with the latest version of Visual Studio Code (1.90.1)?

Currently it does not correct my code as it should and I am not being able to debug correctly

Thanks, at the moment what version of Visual Studio Code is recommended to use without problems?

I'm using with the latest and I have warnings and errors. Which ones do you mean?

The problems that appear are from library imports and therefore the correction is wrong. I guess it has to do with the linting problem

But if I'm not wrong, this wasn't working before either.

Pero si no me equivoy, esto tampoco estaba funcionando antes.

And what advantage of use could Visual Studio Code have if it is integrated into the code-workspace file generated by dodba copier template if ruff is integrated and the old linters are eliminated as suggested by @yajo

ruff is one thing, and import sentences another different one.

Ruff es una cosa, y importoro a otra diferente.

Sorry for my ignorance, yes, it is a code formatter, the thing is that I assumed that this tool works well if it manages to import all the libraries and maybe it had some automatic way to do it or based on the configuration file (code- workspace)

ruff is run when you run manually pre-commit or automatic if you configure the repository, but it's not directly attached to VSCode IDE. You may want to do it on IDE file save, but it's not put (it was not either when using previous linter + formatter, as having pre-commit is enough).

ruffse ejecuta cuando se ejecuta manualmente pre-commito o automático si configura el repositorio, pero no está conectado directamente a VSCode IDE. Usted puede querer hacerlo en el archivo IDE guardado, pero no se pone (no fue ni cuando se usaba linter anterior formatter, ya que tener pre-comprometer es suficiente).

Thanks, for the moment then I guess I won't miss anything if I remove the flake8Enabled, pylintEnabled lines from the code-workspace file and the chrome extension from .vscode/extensiions.json
These two things are what were bothering me with warnings when launching Visual Studio Code every day

After so much time it seems that uninstalling the ms-python.python extension and installing it again apparently causes ms-python.black-formatter to also be installed, thus solving the warning problem


cargo train problem

Describe the problem
I put my passenger station and cargo station together, but there are 2 strange problems.
1、some trucks drive through the cargo station to passenger track nearby back and forth without unloading.
https://steamcommunity.com/sharedfiles/filedetails/?id=2417483017
2、the cargo train from north (from both local cargo station and outside connection) drive to passenger track and unload.
I use TM:PE to restrict nothing but speed on both track.(to let them slow down)
https://steamcommunity.com/sharedfiles/filedetails/?id=2417484160
https://steamcommunity.com/sharedfiles/filedetails/?id=2417487917&fileuploadsuccess=1
passenger station: Train Station Liège-Guillemins Modular (vanilla) https://steamcommunity.com/sharedfiles/filedetails/?id=2298376882
cargo station: Freight Terminal
https://steamcommunity.com/sharedfiles/filedetails/?id=1128919057
Steps to reproduce

Log files
https://ufile.io/qg5ph8me
Savegame?
it needs around 4000 assets
Screenshots?
show above
Notes or questions?

Hi - sorry for late reply. Do you still have issues with the train stations?
Were you using custom station tracks (eg. using Railway Replacer mod or similar)? If cargo tracks were put in the passenger station, cargo trains might stop there.
For trucks driving through, it's possible the building has misplaced spawn points - you can check with building spawn points mod, or it might be that the station has some roads in it which trucks are using to reach the cargo station? In any case, setting the building spawn points to nearer the road in front of cargo station should fix that.
Also, asset creator made some updates to fix some bugs with the asset https://steamcommunity.com/sharedfiles/filedetails/changelog/2298376882

Lack of response. Closing.


[Mod Request] Torchmaster

Tested latest version in the pack on server & client, no crashes.

This has been requested before, and since the modpack is intended to be played in peaceful mode, they were not going to add it. I do not know if they have changed their minds, though.


[Doc] Update System_limit.md - remove column name changes mention

Since version 3.3.2, StarRocks allows column name changes.
Why I'm doing:
Since version 3.3.2, StarRocks allows column name changes.
What I'm doing:
Fixes #issue
What type of PR is this:

[ ] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[x] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[x] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.3
[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

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

@Savvyr can you sign the CLA before we accept your patch?

done


fix: lower function visibility & add myself to reviewers

Those contracts are already deployed, no changes are allowed unless fixing a vulnerability.


Test preview

Added min-height of 36 vh to body > .container

Issue: #512

Hi @Graviton5 thank you for your work. It seems that you used the test-preview branch to make this PR. Can you start over but from the master branch of this repo? Thank you.


Spacing and Peaking for Vue

Nativescript version : 6.0.0
Nativescript-pager: latest -> 11.0.9
Platform: Android
Hello,
I was looking at this and the Vue implementation for peaking and spacing attributes is missing.
Tried to implementing like:
<Pager height="100%" for="item in gallery" @selectedIndexChange="selectedIndexChange" spacing="2%" peaking="10%">
 <v-template>
   <GridLayout class="gallery-item" rows="*" columns="*">
	<Image stretch="fill" class="gallery-image" row="0" :src="item.image"/>
   </GridLayout>
  </v-template>
</Pager>

and the image is still displaying the only one.
The code does not show any implementation into it https://github.com/triniwiz/nativescript-pager/blob/master/src/vue/pager.js or am i missing something?
Thank you.

Hi,
Not sure but looks that basically this plugin development for Vue is dead?

https://github.com/triniwiz/nativescript-pager/blob/02598865540e3ade7e55573d7b3d6870bc2f989e/src/vue/pager.js#L30
This passes all attributes down to the element (anything that's not a prop).
So in theory - it should work, unless it doesn't work in other flavors either.

https://github.com/triniwiz/nativescript-pager/blob/02598865540e3ade7e55573d7b3d6870bc2f989e/src/vue/pager.js#L30
This passes all attributes down to the element (anything that's not a prop).
So in theory - it should work, unless it doesn't work in other flavors either.

This should do it. Thanks.


dd.repartition: note in docs only npartitions or divisions

a warning might be a bit too much, but i included it anyway.
Will remove if preferred.
Signed-off-by: Nir Izraeli<EMAIL_ADDRESS>

+1


Library For FX Series over the MELSEC protocol

Can you suggest any library for FX series over the MELSEC protocol ?

Unfortunately, FX series does not support MCProtocol Type 3E. So You cannot use pymcprotocol for FX series.
FX series supports Type 1C maybe.
How about implement this?
I think it's not tough.

Sounds good, but i think it supports Type 1E probably. Let me check.


Hystrix status has always been "UP", Can you help me?

I have two microservices , One is a movie microservice, one is a user microservice, the movie microservice is a service consumer, and the user microservice is a service provider. I use hystrix in the movie microservices. I have checked the status of hystrix in /health and it has always been "UP". Even if I turn off another microservice(user), I always display "UP". I don't know where I am wrong.
The version of spring boot I am using is 2.0.3 RELASE
The state of hystrix has been
{
    "status": "UP"
}

But the result I want is
{
    "status": "CIRCUIT_OPEN"
    "openCircuitBreakers":[
            "controller::method"
     ]
}

This is my configuration in application.yml
management:
  endpoints:
    web:
      base-path: /
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always
hystrix:
  metrics:
    enabled: true

When I turn off the user as a service, I keep asking until it stops requesting, but returns directly

Can you provide a sample that reproduces the issue?

The javadocs of the HystrixHealthIndicator say:

This default implementation will not change the system state (e.g. OK) but includes all open circuits by name.

It's working as designed. An open circuit should be using a fallback and not cause an  instance to be down.

Showing the details in the health endpoint is also configurable.

in your application.yml
please add
management:
security:
enabled: false


Improve return data type for getEarliestVersion method.  Return data type changed to be the same as getLatestVersion method.

Improve return data type for getEarliestVersion method.
Return data type changed to be the same as getLatestVersion method.
Signed-off-by: Vishal Deshmukh<EMAIL_ADDRESS>

@vishalsdeshmukh  Thank you for your contribution.
Could you please change commit message to something like that:
`
Improve return data type for getEarliestVersion method.
Return data type changed to be the same as getLatestVersion method.
`
Thanks!

@vishalsdeshmukh Thank you for your contribution.
Could you please change commit message to something like that:
`
Improve return data type for getEarliestVersion method.
Return data type changed to be the same as getLatestVersion method.
`
Thanks!

Done


[Website] React wrapper outline

Follow on to: Website issue 1491
Brainstorm Mural board
Capture the pages that need to be updated to better highlight the React wrapper.

Current:

Developing > Get started

Add reference to React wrapper in paragraph under "Choose your Framework".
Add entry for React wrapper with more details on the same page.

Resources

Add Storybook link resource card under "Development resources" header.

Frameworks

Add "React wrapper" tab to the top of the page with additional content.
Add alert or other content in "React" tab intro paragraph.

Component pages

Add "React wrapper Storybook" to relevant component pages.

Relevant component pages:

Back to top
Callout quote
Card group
Card in card
CTA > Card link
Card section carousel
Card section offset
Card
Carousel
Content block simple
Content block
Content group banner
Content group
Content item horizontal
Content item
Content section
Content section
CTA section
Expressive modal
Feature card
Feature section
Filter panel
Image (& Image with caption)
Lead space block
Lead space search
Lead space
Leaving IBM
Table of contents
Tabs extended media
Tabs extended
Tag group
Universal banner


[shaders] Support "enable" via post-process directive

The WGSL source currently cannot contain the "enable" directive as naga doesn't support it (see gfx-rs/wgpu#5476). This patch introduces the "#enable" post-process directive to work around this limitation.
Lines that start with "#enable" get turned into an inline comment during the pre-process stage and converted to a standard "enable" directive following the intermediate module compilation step. This allows us to pass the WGSL shaders with enable directives on to other WebGPU implementations.

Seems like a big pile of hacks, but also seems reasonable enough

Indeed, though hopefully we can remove it before long.


How to set rotate function like your vanilla demo with jquery?

Hi, Thanks for share your code.
I want use Croppie, but I can't use rotate function in jquery.
So, my question is, How to set rotate function like your vanilla demo with jquery?
Thank you very much.

You can call any method with vanilla or jQuery.
$('.croppie-el').croppie('rotate', 90)

Thanks for reply,
I try ;)


[bug] modal.subscribeEvents returns CONNECT_SUCCESS event after wallet rejects connection

Link to minimal reproducible example
https://codesandbox.io/p/sandbox/blazing-wave-8pymf7
Summary
When the web3modal opens and a user clicks MetaMask, if a user rejects the MetaMask connection, modal.subscribeEvents returns a CONNECT_SUCCESS event, I believe it should be CONNECT_ERROR.
See the codesandbox to reproduce.

List of related npm package versions
<EMAIL_ADDRESS><EMAIL_ADDRESS>

Should be fixed latest


Update API-M 2.6.0 Documentatiion with the latest Api Import/Export Tool

Description:
Illoshini reported as follows:
Please update API-M 2.6.0 Documentation with the latest Api Import/Export Tool for the documentation [1]. I have attached the latest api-import-export-2.6.0-v13.war herewith.
[1]. https://docs.wso2.com/display/AM260/Migrating+the+APIs+and+Applications+to+a+Different+Environment
Suggested Labels:
Suggested Assignees:
Affected Product Version:
APIM 2.6.0
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

Updated the WAR in the following pages

https://docs.wso2.com/display/AM260/Migrating+the+APIs+and+Applications+to+a+Different+Environment
https://docs.wso2.com/display/AM260/Building+CICD+Pipeline
https://docs.wso2.com/display/AM260/Migrating+the+APIs+to+a+Different+Environment
https://docs.wso2.com/display/AM260/Migrating+the+APIs+and+Applications+to+a+Different+Environment
https://docs.wso2.com/display/AM260/Initializing+projects+using+the+CLI+Tool


feat: add support for raw TCP endpoints

QuestDB offers a TCP endpoint for the InfluxDB Line Protocol (ILP) and recently deprecated the corresponding UDP endpoint [1]. This PR adds TCP endpoint support to influxdb-cxx.
[1] https://questdb.io/blog/2020/07/22/influxdb-lp-on-tcp/

Thanks for your contribution. I must confess that I haven't heard of (or used) a tcp influxdb endpoint, nor have I found any documentation or examples. v1.x docs and the influxdb.conf file list udp, but nothing tcp related. Do you have any further information?

recently deprecated the corresponding UDP endpoint

Do you know the rational behind it? Influxdb v2.x doesn't support udp anymore so it might worth to consider a deprecation here too.

Hi @offa, I just implemented all requested changes and also made this plugin compatible with IPv6 endpoints (we should do the same for the UDP transport as well). The new code is found here: https://github.com/fmoessbauer/influxdb-cxx/tree/feat-rawtcp
As this MR has been created by my colleague, I propose to close it and I'll create a new one. Unfortunately cross-fork collaboration is not really supported by github.

As this MR has been created by my colleague, I propose to close it and I'll create a new one.

:+1:


[tests-only] [full-ci] Test against core branch issue-40093-squashed

Test demonstration for core acceptance test PR https://github.com/owncloud/core/pull/40114

See #3908


[Bug]: Hardcoded secret key

telegram_media_downloader version or commit
latest
What OS are you seeing the problem on?
Windows
Python Version
No response
What happened?
Hello,
We are a cybersecurity research group from the CISPA Helmholtz Center for Information Security and Ca’ Foscari University of Venice. We recently conducted an analysis of the session management used in your web application as part of our research. We have discovered a security vulnerability that we believe requires your attention.
Vulnerability Description:
After our analysis, we have identified that your application is using a hard-coded secret key that is leaked through GitHub. If operators  who install your web application do not change this secret key, they are vulnerable to cookie forgeries. The cookie forgery attack allows an attacker, knowing the key used to sign a cookie, to forge new arbitrary cookies to impersonate and take over other accounts.
link to the relevant code part
Recommendation for Mitigation:
To address this vulnerability and enhance the security posture of your web application, we highly recommend setting the secret key from an environment variable. If the environment file is not shared on GitHub then this would force operators of your application to create  their own key upon installation, forcing them to set their own secure secret key.
We hope this notification helps improve your security. Can you take a look into the relevant code parts and comment on the issue?
Expected Behavior
.
Current Behavior
.
Possible Solution
No response
Steps to Reproduce
No response
Relevant log output
No response

@Asterius27 hi, Thank you for your valuable opinions. We will revise this part of the question in the future.


Music bug

Fixed music bug.

Yeah, no. This is way too many commits for this bug fix.

I'll just do it.


go-machine-service and rancher-compose-executor restarting every minute

Rancher Version:
v1.2.1 (upgraded from v1.1.4)
Docker Version:
1.11.3
OS and where are the hosts located? (cloud, bare metal, etc):
Ubuntu Trusty, AWS
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)
HA w/ external DB
Environment Type: (Cattle/Kubernetes/Swarm/Mesos)
Cattle
Steps to Reproduce:
After upgrading to v1.2.1 (and also upgrading all of all of our cattle environments), I'm seeing the go-machine-service and rancher-compose executor restarting frequently (maybe multiple times a minute). I'm also seeing containers fail to start (every one of our scheduler instances is failing as well).
Results:
time="2016-12-19T17:13:35Z" level=fatal msg="Unable to start event router" error="Timed out waiting for transtion."
time="2016-12-19T17:13:35Z" level=info msg="Starting rancher-compose-executor" version=v0.12.1
time="2016-12-19T17:13:52Z" level=fatal msg="Unable to start event router" error="Timed out waiting for transtion."
time="2016-12-19T17:13:54Z" level=info msg="Starting rancher-compose-executor" version=v0.12.1
time="2016-12-19T17:14:11Z" level=fatal msg="Unable to start event router" error="Timed out waiting for transtion."
time="2016-12-19T17:14:12Z" level=info msg="Starting rancher-compose-executor" version=v0.12.1
time="2016-12-19T17:14:29Z" level=fatal msg="Exiting go-machine-service: Timed out waiting for transtion."
time="2016-12-19T17:14:30Z" level=info msg="Setting log level" logLevel=info
time="2016-12-19T17:14:30Z" level=info msg="Starting go-machine-service..." gitcommit=v0.34.1
time="2016-12-19T17:14:30Z" level=info msg="Waiting for handler registration (1/2)"
time="2016-12-19T17:14:37Z" level=info msg="Stats auth failed: Error parsing stats token. Failing auth. Error: token is expired"
time="2016-12-19T17:14:44Z" level=fatal msg="Exiting go-machine-service: Timed out waiting for transtion."
time="2016-12-19T17:14:46Z" level=info msg="Setting log level" logLevel=info
time="2016-12-19T17:14:46Z" level=info msg="Starting go-machine-service..." gitcommit=v0.34.1
time="2016-12-19T17:14:46Z" level=info msg="Waiting for handler registration (1/2)"

Expected:
Those services to not restart as frequently.
What is the transition it is waiting for?

Possibly related to #6753

@nextrevision I'd imagine this has been resolved. I'll close this out, feel free to create a new issue if you see issues again.


Make golang theme toggler behave exactly like JS one

Make golang theme toggler behave exactly like JS one
Make use of newly created default theme & default dark theme variables

Coverage remained the same at 39.525% when pulling d2490b1553ab254503c37cc3f7ab1fe03b6ed41c on theme-toggler into 2044a3c98af5ac545a319c0a7a5b38d47199194b on dev.

Coverage decreased (-0.03%) to 39.497% when pulling 81d877f802bfcd05052f6221eb2aecdf855026fa on theme-toggler into 2044a3c98af5ac545a319c0a7a5b38d47199194b on dev.


No option to center align the text

Is there no option to center align the text?

It would help to see what your code looks like. I am able to center align text by giving it a custom class and using justify-content: center;
If you share your code, I may be able to help.

It would help to see what your code looks like. I am able to center align text by giving it a custom class and using justify-content: center;
If you share your code, I may be able to help.


Display boards with SM5266P Row drivers

Hi,
I have recently had delivered some display boards which use the SM5266P drivers for the row select. This is a shift register type using only ABC signals to drive a 1:32 scan 128x64 PCB.
https://datasheetspdf.com/pdf-file/1328896/Sunmoon/SM5266P/1
Before I have a go at modifying the library to drive these has anyone had any joy previously with these?
They are a shift register with Clock, Data and Blank inputs rather that a straight 5:32 demux.
Cheers!
Daz

I have the same panel here, received last month and the rows is giving me trouble...
I addressed it in isue:
https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA/issues/154
But so far no solution.
If you are going to modify the lib to drive this one successfully, please keep us updated.

Okay - problem solved.
I have modified the function void MatrixPanel_I2S_DMA::clearFrameBuffer(bool _buff_id) in ESP32-HUB75-MatrixPanel-I2S-DMA.cpp
Essentially the DE row drive signals for multiplexing stay the same but the ABC signals are clk, di, bk now instead of being binay coding in three bits for the row drivers. This means that the rows to be turned on are defined by shifting data into the SM5266P chip. (Datasheet here- [https://datasheetspdf.com/pdf-file/1328896/Sunmoon/SM5266P/1])
Page six shows the setup on my 128x64 P2.5 panels.
Here is the modified code :
///////////////////////////////////////////////////////////////////////////////////////////////
//
// modifications here for row shift register type SM5266P
//
///////////////////////////////////////////////////////////////////////////////////////////////
// get last pixel index in a row of all colordepths
int x_pixel = dma_buff.rowBits[row_idx]->width * dma_buff.rowBits[row_idx]->color_depth;
//Serial.printf(" from pixel %d, ", x_pixel);
// fill all x_pixels except color_index[0] (LSB) ones, this also clears all color data to 0's black
do {
--x_pixel;
#ifdef SM5266P
row[x_pixel] = abcde & (0x18 << BITS_ADDR_OFFSET); // mask out the bottom 3 bits which are the clk di bk inputs
#else
row[x_pixel] = abcde;
#endif
} while (x_pixel != dma_buff.rowBits[row_idx]->width);
// color_index[0] (LSB) x_pixels must be "marked" with a previous's row address, 'cause  it is used to display
//  previous row while we pump in LSB's for a new row
abcde = ((ESP32_I2S_DMA_STORAGE_TYPE)row_idx - 1) << BITS_ADDR_OFFSET;
do {
--x_pixel;
#ifdef SM5266P
row[x_pixel] = abcde & (0x18 << BITS_ADDR_OFFSET); // mask out the bottom 3 bits which are the clk di bk inputs
#else
row[x_pixel] = abcde;
#endif
} while (x_pixel);
// now time to add the clk di and bk bits to the end of the scan to update the row select shift register SM5266P
#ifdef SM5266P
uint16_t serialCount;
uint16_t latch;
x_pixel = dma_buff.rowBits[row_idx]->width - 16; // come back 8*2 pixels to allow for 8 writes
serialCount = 8;
do {
serialCount--;
latch = row[x_pixel] | (((((ESP32_I2S_DMA_STORAGE_TYPE)row_idx) % 8) == serialCount) << 1) << BITS_ADDR_OFFSET; // data on 'B'
row[x_pixel++] = latch | (0x05 << BITS_ADDR_OFFSET); // clock high on 'A'and BK high for update
row[x_pixel++] = latch | (0x04 << BITS_ADDR_OFFSET); // clock low on 'A'and BK high for update
} while (serialCount);
#endif
///////////////////////////////////////////////////////////////////////////////////////////////
//
// modifications end here for row shift register type SM5266P
//
///////////////////////////////////////////////////////////////////////////////////////////////
This modified code is invoked if SM5266P is defined at the start of this file.
#define SM5266P
#include <Arduino.h>
#include "ESP32-HUB75-MatrixPanel-I2S-DMA.h"
I am unsure of the best way to include this as an option when setting the library up as the defines are not carried through to the library from the source code so any help there would be appreciated.
Cheers :)

If this code mod is working then this is definitely something that should be added to the library. With the SM5266P comes a whole lot of panels ...so worth looking into @mrfaptastic
On a side note, i tried the code by modifying the ESP32-hub75-matrixpanel-i2s-dma.cpp but all i get is errors compiling ...double defined variables or different expectations of a functions..etc.
Maybe its an option for you to share the modified file completely? That way we can check side to side what needs to be changed.

@DarrylStrong - Can you submit a pull request to the SM5266P tree, donnersm can test, and I might get my resident config expert @vortigont to look at the changes and see how it could be incorporated.
https://github.com/mrfaptastic/ESP32-HUB75-MatrixPanel-I2S-DMA/tree/SM5266P

Will be my pleasure to help here! I'll take a look at it this weekend or once confirmed that it all ready to go. That great if we all could keep this lib up to date and make it even better
Cheers!

I am sorry - you will have to guide me through this process as I am not familiar with GitHub and especially Pull Requests. I have gone to Pull Requests and compared two branches but can't get any further.

Not a problem. How about just attaching a zip of your full modified version of this library.

Now that I can do :)
One file attached.
Cheers!
ESP32-HUB75-MatrixPanel-I2S-DMA.zip

I tried using it by replacing the lib file with the modified file, however, it will not compile. In the end it still has some definition errors. Also the clearscreen function is double declared. don't know if Darryl added that function to the i2s-sma.cpp or that it is a library version conflict. I am using 2.0.5 ( according to arduino)

I modified an older version of the library so definitely a version conflict.
Once I have working code for one of our signs I leave well alone 😊

@donnersm - Can you try the SM5266P branch of this library?
You can pass  mxconfig.driver = HUB75_I2S_CFG::SM5266P; on setup

@vortigont - FYI

@donnersm - Can you try the SM5266P branch of this library?  @vortigont - fyi.
You can pass  mxconfig.driver = HUB75_I2S_CFG::SM5266P; on setup

I tried the SM5266P Branch by deleting all the lib files and replacing them with the onces from the SM5266P repo..however, cannot compile..getting error on the mxconfig.driver = HUB75_I2S_CFG::SM5266P;
C:\Users\chord\AppData\Local\Temp\arduino_build_650897\sketch\LEDDRIVER.H:131:43: error: expected unqualified-id before ';' token
mxconfig.driver = HUB75_I2S_CFG::SM5266P;     // in case that we use panels based on different chip, we can change that

@donnersm - Can you try the SM5266P branch of this library? @vortigont - fyi.
You can pass  mxconfig.driver = HUB75_I2S_CFG::SM5266P; on setup

Tried it. It compiles and runs but result is the same, still double horizontals

I shall try this tomorrow.
Donnersm, do you have a picture of the back of your pcb without the plastic frame? I took mine off to see the complete chipset.
My panel behaved according to the data sheet specs. for the 5266 driver.
The pcb was marked with ABC inputs only but it also had DE lines. ABC are clock data and strobe for the address latch and the DE lines select which of the 4 row drivers are active.

I hope we are not on a wild goose chase here and that i am dealing with a broken panel.

I can't unfortuately test because I don't have one of these panels. You probably have yet another variant of the panels.  These don't work with this library out of the box.
@DarrylStrong - Thanks for testing the branch of the library to see if my copy-paste of your 'SM5266P' code works.

Glad to report all working well!
Thank you for incorporating it into the library.
Video here...
https://youtu.be/Mwpp63a9-Eo
Picture of the back of the module and my CPU board.

Thank you again!
Darryl

I hope we are not on a wild goose chase here and that i am dealing with a broken panel.

I can't unfortuately test because I don't have one of these panels. You probably have yet another variant of the panels.  These don't work with this library out of the box.
@DarrylStrong - Thanks for testing the branch of the library to see if my copy-paste of your 'SM5266P' code works.

I have a 1/8 scan panel, is there no modification that works for it?