Scripting language?

Which scripting language to go with?
There's a consideration of whether we need sandboxing so the client can safely download code from the server and run it.
Python is an option, and somebody can probably write a PyPy <-> C# thing though I've got no idea how P/Invoke works. Can't sandbox it though (PyPy does support sandboxing but it kills performance)
For C# it's easier to get to work but again, no sandboxing it without killing performance. Though you might be able to wrap the entire installation in an AppDomain but then you'll be restricted with file access. Gonna need looking.
Lua is another option but personally I think it's disgusting and not something that can handle SS13.
Then finally there's Javascript (maybe with TypeScript), I found a V8 binding called ClearScript which can probably work, and I assume it'd be sandbox able.
So really, if we drop sandboxing then having the client load a C# assembly from the server (or C# script files, that exists) would definitely be best.

If you want to use an AppDomain, it's possible to use IronPython, which is apparently trivial to hook up thanks to .NET. Microsoft seems to support sandboxing the interpreter:
https://stackoverflow.com/questions/4393153/sandbox-ironpython

Issue is iron python is unmaintained and stuck in the Python 2 stone age IIRC.

Also, if we were going to use AppDomains I don't see a reason to not go all out C# for code since the sandbox rules are the same. But there's still the potential performance issue of AppDomain bound crossing.

The main reason would be that C# strictness and the syntax differences will make new contributions harder. A lighter language is better for the community, and certainly Python is similar enough to DM to be able to push for a switchover without killing contributors.

We'd still want to go hard on running mypy over the Python code to make it more maintainable if we did use Python though, so honestly I think C# might be better than Python either way.

Why not just run a linter like flake8 and perform integration tests?
Having mypy is destructive if your not familiar with type checking python3, as it migrates your code.

You need type checking to be able to maintain a project the size of SS13 though. I cannot imagine how painful refactors would be if all you had to go by were AttributeErrors

Is statically typed Python so much worse? We can hook it up for automation, and it looks about as easy as regular Python to write. The main issue I have with C# is that's it's much more verbose than a content language really needs to be, and the community is going to be much more unfamiliar with it. Good typing is important, but Java-levels of syntax is going to trip people up a lot.

I don't think C# would be that bad for content language. The thing is that type defs like that xenomeat pancake recipe urist mcnewbie wants to add would go into an XML or JSON file so he won't have to touch the C# code. There's already code for entity loading and stuff too.
Also, speaking from personal experience why Python type checking becomes ass: circular references.
In regular Python, if you have a circular reference between 2 files like this:
# file A
from B import b

class a:
    def b():
        return b()

# file B
from A import a

class b:
    def a():
        return a()

you can generally resolve this by putting the imports into the function bodies:
class a:
    def b():
        from B import b
        return b()

Problem solved
Issue is that with type checking. It's not so simple, because the signature would look more like this:
from B import b
class a:
    def b() -> b:
        return b()

So you need to have the import outside the function body, but then you get circular references so you've got a problem!
How is this fixed?
from typing import TYPE_CHECKING

if TYPE_CHECKING:
    from B import b

class a:
    def b() -> "b":
        from B import b
        return b()

yuck.

@ComicIronic well apparently there's this: https://github.com/IronLanguages/ironpython3 but it's definitely not ready for production use yet.

Let's not go the route of static external definitions - it'll complicate contributing to have to deal with multiple formats, and you won't give people the power they want in contribution, so Urist McPancake +5 to Mining either bloats food code with special cases or it just gets added manually anyways.
Just spitballing, but one way to solve that typechecking import would be to make a macro with something like https://github.com/lihaoyi/macropy to simplify it. It is a problem, though.

instead of
class a:
    def b():
        from B import b
        return b()

Could you not just
import shared

# file A
class a:
    def b():
        return shared.b()

# file B
class b:
    def a():
        return shared.a()

Then you still have a circular reference.

Or, no, never mind.
Though I fail to see how that solved the problem.

That only happens because of shared or duplicate code, so just bring it out into a helper or another module and you fix the issue,

You can't make shared.a() and b.a() well-typed, at the same time, though. I'm surprised there isn't Python support for a dependency graph.

The problem here is forcing them into a Type. Just make it a generic type in this case.

Well we'd like to be able to type them, since it would make the language a lot more manageable - compare to DM now, where everything is terrible.

Even DM is more manageable for SS13 than Python with no types at all.
I mean DM's typing isn't that bad because there's some at least. Can't say that about most scripting languages.

So really the criteria here is:

Strong type checking
Familiarity
Sandboxing

Frankly, I'm only pushing for familiarity as long as it's a possibility. The further we get from Python, the less it will be possible, and the more the other two will be important in the final decision.

One other possibility (which might be good for readability anyways) would be to forbid the from x import y syntax for circular references. It lets mypy work properly, and cleans up stuff like the example to be much more readable.

We should think beyond the circular imports, they are easy to detect with linters and won't be a blocker as long as we have a good CI pipeline.

@ComicIronic disallowing from x import y doesn't solve circular references. A specific import like that still loads the module in the exact same way, just the loading module's locals get modified differently.

@psykzz the issue with circular references isn't that they're hard to fix (they're not), the issue is that it's incredibly ugly and cumbersome to fix them in a type checked python environment.

It doesn't solve the circular reference, it allows mypy to resolve the names correctly.
file A.py
import B;

class a:
    def b() -> 'B.b':
        return B.b()

file B.py
import A;

class b:
    def b() -> 'A.a':
        return A.a()

works totally fine.

Wait that works?
Huh learn something new every day I guess.

Looking elsewhere than Python for a moment, I guess we're throwing Lua out immediately for lack of typing.
We could use Guile - it's meant to have good script embedding support, though I don't know how it is for C#. It might be possible to just use Scheme instead. It satisfies a typing need, and the functional aspect isn't so strong that it prevents simple useful code.  The main trouble would be new syntax and brackets.

What are your thoughts on using TypeScript is has:

Typing
Its super simple to learn and has great asynchronous capability.
Sandboxing when compiled to Javascript and used with Jurassic

Just wanted to see what you guys thought about a language that is growing very rapidly that isn't python.

Looks good, but if we take it I would not use Jurassic - ES6 support hasn't progressed far enough to give classes, which would be a strong requirement for the language in my eyes.

It doesn't look like its really active but Javascript.NET is a binding to the v8 engine for javascript which has ecma2015 support.

I think LUA should be considered too.

@Jaden-Giordano there's also "ClearScript" for a .NET V8 bonding.
 It's kind of a mess.

ES6 support hasn't progressed far enough to give classes

That's all just sugar anyway under the hood there is just the same old class system.
Also as well be compiling we can use polyfills to fix all the missing features if that's something we care about.

Would Jurassic have the advantage of low overhead sandboxing though? Also it even says it's not intended for end users in the Readme on GitHub.

V8 doesn't support in-process sandboxing. If a runaway script exceeds V8's memory limits (some of which aren't configurable), V8 considers itself compromised and immediately crashes the process. So if you need to run untrusted script code safely, you should probably avoid the V8-based options. The only way to sandbox V8 is to run it in a separate process.

@BitCortex does that actually just mean it hard crashes or does untrusted code actively create security hazards by allowing access to the filesystem?
If it's just crashing it doesn't matter. The reason we need sandboxing is so that we can have client side code while still preventing servers from giving people malware by still connecting. There's not really any value to a malicious server to crash people.

Yeah the Javascript/Typescript option might not be best option.

It just crashes the process in a way that embedders can't trap.
By default, V8 only sets up the JS intrinsics (Object, String, Math, etc.). The embedder or binding layer then sets up access to other things, usually under the application's control. So unless your application deliberately sets up a JS file system API, script code shouldn't be able to mess with the file system.
On the other hand, V8 like most script runtimes is susceptible to sophisticated techniques such as heap spraying, potentially giving script code the ability to exploit application or OS vulnerabilities.

@Jaden-Giordano of course not, though so far it's the only really easily sandboxable other than Lua.
I wonder if doing C# server side and AppDomain sandboxed C# client side would be good, keeping client code to a minimum for responsive UIs and stuff.

Going to lua, with a few libraries, OOP and type(checking) can be added through two libraries (MiddleClass and typecheck, and lua is really light weight, I agree with Silver on considering it.

It also makes me want to gauge my eyes out, has tons of the same issues as Javascript, and makes every variable declaration a trap.

Yeah, that makes sense I don't have too much knowledge on them, but I've used them once it was awhile ago. That makes sense though.

So after a quick chat with N3X15 on Discord, it turns out AppDomains aren't even needed for sandboxing C# (see KSP). If that's the case it's probably the best option to go with I'd say.
It's really easy to implement (just load an assembly with System.Reflection), makes working on both sides of the game straight forward, it's powerful, fast.
Personally I think C# is the best option.

Then it could become more advanced, like this:
prototypes:
- name: welder
  class: Prototypes.Tools.Welder
  components:
  - type: sprite
    icon: wrench.png
  - type: tool
    tool_type: weld

And then an accompanying C# file:
namespace SS14.Shared.Content.Prototypes.Tools
{
    public class Welder : EntityPrototype
    {
        public override void AttackHand(Entity User)
        {
            var component = GetComponent<ToolComponent>();
            component.Enabled = !component.Enabled;
        }
    }
}

May be a little verbose but I think it can work out. What do you guys think?

I think it's good, as long as there is some form of single inheritance to reduce copypasting.
I'm semi-concerned about the OOP issues comic brought up in #80, wherein people may start using components incorrectly with switch statements instead of polymorphism though.

one issue with YAML is that it's really error prone if you fuck it up.

Very true. We can always encourage a client tool if we decide to use it.
My worry about the proposed system is the disconnect between the YAML and the code might make mistakes easier if you write a type wrong and then you don't find out until runtime. Would it be possible to check it in a test-compile somehow?

@ComicIronic That was one of my other conditions, I want a pre or post build compile event that resolves missing parent types, clashing type names, and nonexistent components/variables if possible.

Collating opinions for the final decision is going on here
http://piratepad.net/rMjnb4qVsw

closing as this has moved to #211 #131


feat: rawScanRecord

resolves https://github.com/dotintent/react-native-ble-plx/issues/949
resolves https://github.com/dotintent/react-native-ble-plx/issues/970

Hi,
just a quick note for this line:
https://github.com/dotintent/react-native-ble-plx/blob/555a1923814dd60955013765ea8697ab0efa905a/ios/MultiplatformBleAdapter/BleExtensions.swift#L62
rawScanRecord indicates it is the raw BLE advertisment data, but currently its just a copy of hand picked key/value pairs of the data.
I guess this should better not copy advertisementDataDict but rather advertisementData? But maybe still make the contents of advertisementDataDict somehow available like the way it was before this commit?
regards simon


Creating sample java application using jwt token

Pull Request Template
Description
Creating sample java application using JWT token authentication and tested using Keploy.
Fixes #34
Type of change
Please delete options that are not relevant.

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

How Has This Been Tested?
Using the latest jar and putting the environment variables as used in samples-java
Additional Context (Please include any Screenshots/gifs if relevant)
Capturing requests using Keploy record.

First API: login and receive the token.

Second API: put token in authorization to access any other APIs.

Record requests with Keploy

Test with Keploy

...
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings
[x] I have tagged the reviewers in a comment below incase my pull request is ready for a review
[x] I have signed the commit message to agree to Developer Certificate of Origin (DCO) (to certify that you wrote or otherwise have the right to submit your contribution to the project.) by adding "--signoff" to my git commit command.

And please also re-structure this repo if possible, like whatever code is in this repo is for samples-java-sql application. Since we are adding more samples application hence project structure should look like.
Samples-Java

samples-java-sql
samples-java-jwt
samples-java-someOtherDependency
README.md ( To mention all above sample applications)

You can take reference  from this.

@gouravkrosx I have corrected the spelling and generalizes samples-java, you can check it now

Please review why your build is failing and
I) Remove the Quickstart Gitpod section from the Readme file.
2) Sample application links in the outer readme file are giving 404.


Shifted Gyro Bias

The Gyro bias changed mid-flight  while flying ROS Plane.

Here is the link to the bag file link

The aircraft was disarmed and armed mid-flight and re-calibrated the gyro biases.


Galaxy overlay_images plugin AttributeError: 'NoneType' object has no attribute 'seek'

Dear,
I have deployed the Galaxy overlay_images (Galaxy Version 0.0.4+galaxy3) in our local galaxy and followed the "Introduction to image analysis using Galaxy" tutorial, but I am getting this error (see below).
Note that I also used the "Galaxy Version 0.0.3-3" version as in the tutorial which worked after I fixed the mulled conda env ; I indeed had to (re)install numpy.
Could you advise?
Traceback (most recent call last):
  File "/g/funcgen/galaxy-production/shed_tools/toolshed.g2.bx.psu.edu/repos/imgteam/overlay_images/8dc02c854048/overlay_images/overlay_images.py", line 121, in <module>
    seg_contour(args.im1, args.im2, args.out,
  File "/g/funcgen/galaxy-production/shed_tools/toolshed.g2.bx.psu.edu/repos/imgteam/overlay_images/8dc02c854048/overlay_images/overlay_images.py", line 77, in seg_contour
    labels = giatools.io.imread(im2_fn)
  File "/g/funcgen/galaxy-production/database/dependencies/_conda/envs/mulled-v1-ab2c0f314a3c4674b82222c696598109c6abab527a4e27a3e115a79787e5ca0d/lib/python3.9/site-packages/giatools/io.py", line 25, in imread
    return impl(*args, **kwargs)
  File "/g/funcgen/galaxy-production/database/dependencies/_conda/envs/mulled-v1-ab2c0f314a3c4674b82222c696598109c6abab527a4e27a3e115a79787e5ca0d/lib/python3.9/site-packages/skimage/io/_io.py", line 48, in imread
    img = call_plugin('imread', fname, plugin=plugin, **plugin_args)
  File "/g/funcgen/galaxy-production/database/dependencies/_conda/envs/mulled-v1-ab2c0f314a3c4674b82222c696598109c6abab527a4e27a3e115a79787e5ca0d/lib/python3.9/site-packages/skimage/io/manage_plugins.py", line 207, in call_plugin
    return func(*args, **kwargs)
  File "/g/funcgen/galaxy-production/database/dependencies/_conda/envs/mulled-v1-ab2c0f314a3c4674b82222c696598109c6abab527a4e27a3e115a79787e5ca0d/lib/python3.9/site-packages/skimage/io/_plugins/imageio_plugin.py", line 10, in imread
    return np.asarray(imageio_imread(*args, **kwargs))
  File "/g/funcgen/galaxy-production/database/dependencies/_conda/envs/mulled-v1-ab2c0f314a3c4674b82222c696598109c6abab527a4e27a3e115a79787e5ca0d/lib/python3.9/site-packages/imageio/__init__.py", line 97, in imread
    return imread_v2(uri, format=format, **kwargs)
  File "/g/funcgen/galaxy-production/database/dependencies/_conda/envs/mulled-v1-ab2c0f314a3c4674b82222c696598109c6abab527a4e27a3e115a79787e5ca0d/lib/python3.9/site-packages/imageio/v2.py", line 360, in imread
    result = file.read(index=0, **kwargs)
  File "/g/funcgen/galaxy-production/database/dependencies/_conda/envs/mulled-v1-ab2c0f314a3c4674b82222c696598109c6abab527a4e27a3e115a79787e5ca0d/lib/python3.9/site-packages/imageio/plugins/pillow.py", line 252, in read
    image = self._apply_transforms(
  File "/g/funcgen/galaxy-production/database/dependencies/_conda/envs/mulled-v1-ab2c0f314a3c4674b82222c696598109c6abab527a4e27a3e115a79787e5ca0d/lib/python3.9/site-packages/imageio/plugins/pillow.py", line 335, in _apply_transforms
    meta = self.metadata(index=self._image.tell(), exclude_applied=False)
  File "/g/funcgen/galaxy-production/database/dependencies/_conda/envs/mulled-v1-ab2c0f314a3c4674b82222c696598109c6abab527a4e27a3e115a79787e5ca0d/lib/python3.9/site-packages/imageio/plugins/pillow.py", line 537, in metadata
    if self._image.getexif():
  File "/g/funcgen/galaxy-production/database/dependencies/_conda/envs/mulled-v1-ab2c0f314a3c4674b82222c696598109c6abab527a4e27a3e115a79787e5ca0d/lib/python3.9/site-packages/PIL/Image.py", line 1389, in getexif
    self._exif.load_from_fp(self.fp, self.tag_v2._offset)
  File "/g/funcgen/galaxy-production/database/dependencies/_conda/envs/mulled-v1-ab2c0f314a3c4674b82222c696598109c6abab527a4e27a3e115a79787e5ca0d/lib/python3.9/site-packages/PIL/Image.py", line 3445, in load_from_fp
    self.fp.seek(offset)
AttributeError: 'NoneType' object has no attribute 'seek'

Is there an option to try the Container for that tool?

we dont have this set up available on our local instance, so ...no sorry.

worked after I fixed the mulled conda env ; I indeed had to (re)install numpy.

@cgirardot What was the error that you were getting? Was it this maybe?

AttributeError: module 'numpy.typing' has no attribute 'NDArray'

@cgirardot With #130, version 0.0.4+galaxy4 of the tool works nicely for me running a local Galaxy instance without containerization. Can you maybe check whether the issue still persists for you with version 0.0.4+galaxy4 of the tool?


[question] How to discover compiler / compiler flags user to build python bits in pypi

Hi!
I'm benchmarking cv2.ximgproc.segmentation.createSelectiveSearchSegmentation from opencv-python package (version 4.8.0) with manually compiled selectivesearchsegmentation.cpp from opencv_contrib linked to libopencv_core.so (from the ubuntu package, version 4.2.0).
I'm compiling with g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, using -Ofast -shared -fPIC. The manually compiled .so (I have a three-line wrapper in C++ exporting a single C function which I'm calling from python using ctypes) gives 2.2 seconds, while cv2.ximgproc.segmentation.createSelectiveSearchSegmentation gives 1.6 seconds. I'm using the same params for the both ways, so both ways produce equal number of proposal bboxes.
I'm benchmarking against manual compilation because I want to introduce some modifications in the future.
What could explain this difference? Why is opencv-python-contrib version faster than my manual one? :)
It might be nice if the build info (like the used compiler / flags were burned in the Python packge and accessible via some cv2.__buildinfo__ or similar.
Thank you!

cv.getBuildInformation() returns CMake status page, It contains information about compiler and all flags: https://docs.opencv.org/4.x/db/de0/group__core__utils.html#ga0ae377100bc03ce22322926bba7fdbb5


[8.x] Add ability to convert DB calls into Data Object classes

This adds the ability to pull items from the database as a pre-defined class instead of only as a stdClass.
This is particularly helpful in cases where you have a large number of joins and select specific values. For example, in our project, we have database tables that follow a schema defined by a tool we utilize, and so to get reasonable information, we end up having to do 5 separate joins. In this case, an Eloquent model does not make as much sense as just a Value Object. This would allow us to define that value object, and have the queries set directly onto that value object, instead of having to convert from a stdClass.
Think of it like a half-way point between full eloquent and basic stdClass.
This adds 2 methods, as well as dynamic versions of the functionality, to the Query Builder:

asClass: Sets the Class that the return should be.
as: This is just an alias for asClass for ease on a developer and improved readability.
<method>As: first calls asClass, then calls <method>. The first parameter is the class, and the rest of the parameters are passed to <method>. This allows for calling getAs(Object::class) for example.

Under the hood, this uses the PDO::FETCH_CLASS fetch type. This just reveals this functionality into the query builder.
If you try to call the asClass or as methods on an Eloquent Query builder, it just silently ignores it, as we are already returned a class for that.
This doesn't change any existing functionality, only adds new functionality, so it has no backwards compatibility breaks.
Usage Example:

// Returns: Collection of PostMetaValueObject
$postMetas = DB::table('post')
    ->join('post_metadata as pm', 'pm.post_id', '=', 'post.id')
    ->select([
        'post.title',
        ...
        'pm.location',
    ])->getAs(PostMetaValueObject::class);

// Or

$postMetas = DB::table('post')
    ->join('post_metadata as pm', 'pm.post_id', '=', 'post.id')
    ->select([
        'post.title',
        ...
        'pm.location',
    ])->as(PostMetaValueObject::class)
    ->get();

@GrahamCampbell since this has no backwards compatibility breaks, and 7.x is only recently out and is still in active development, may I ask why the [8.x] tag? Since there are no BC breaks, surely it could live in 7.x? If I am mistaken, could you let me know about what?

since this has no backwards compatibility breaks

Adding a new method to an interface is a BC break.

Ahhh yes, that makes sense. I didn't think of that.
It needs to be added to the interface I think, sadly.
Alrighty, fair enough.

If it were me, I would just map the objects after doing the query:
$records = DB::table('post')
    ->join('post_metadata as pm', 'pm.post_id', '=', 'post.id')
    ->select([
        'post.title',
        ...
        'pm.location',
    ])
    ->get();

$postMetas = array_map($record => new PostMetaValueObject($record), $records);

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.

...just map the objects after doing the query

Illuminate\Support\Collection also has a mapInto() method to transform every item into another class.
$postMetas = DB::table('post')
    // ....
    ->get()
    ->mapInto(PostMetaValue::class)

$postMetas is then a collection of PostMetaValue objects.

I guess the point could be made about performance here, but OP didn't provide any benchmarks.

@mfn Here is a benchmark that I quickly threw together. These times are the average across ten iterations, of pulling 10079 records and turning them into a class/model from the database. Same dataset, just different ways to pull the data.  The unit is seconds.
[
     "iterations" => 10,
     "totalRecords" => 10079,
     "eloquent" => [
       "average" => 0.26437900066376,
       "min" => 0.20074510574341,
       "max" => 0.32719397544861,
     ],
     "as" => [
       "average" => 0.099833512306213,
       "min" => 0.064872026443481,
       "max" => 0.16268587112427,
     ],
     "map" => [
       "average" => 0.12988379001617,
       "min" => 0.10640406608582,
       "max" => 0.18968510627747,
     ],
]

[
     "iterations" => 100,
     "totalRecords" => 10079,
     "eloquent" => [
       "average" => 0.28687718629837,
       "min" => 0.20745301246643,
       "max" => 1.0159649848938,
     ],
     "as" => [
       "average" => 0.10354375839233,
       "min" => 0.06424880027771,
       "max" => 0.39444494247437,
     ],
     "map" => [
       "average" => 0.14727062940598,
       "min" => 0.095596075057983,
       "max" => 0.46486711502075,
     ],
]

There is a definite performance difference.  It definitely is faster performing than mapInto.

Definitely nice!

@m50 out of interest is there a reason why you are opting to use the query builder directly? Given you want to map into a class Eloquent would be more suitable for your use case.
If it's for performance reasons you're benchmark doesn't show a huge difference across the many iterations, so could be considered a microoptimization.
With that said there could be a case for this PR where you have some kind of legacy database and cannot use Eloquent. Also there is possibly a reduction in memory usage as PDO could map directly into the given class rather than essentially creating throwaway objects.

@garygreen its precisely the legacy database issue you mentioned.
In our case, we have applications that dictate the database structure, and it doesn't map to eloquent cleanly at all. We also only need to read from the database tables that are defined by this other application. Having query builder map into a DTO would be cleaner for us overall. The reduction in memory would also allow us to return larger datasets.
That was the use case I tried to describe, but I kept my examples simple which may have muddied this up.
In the case of our database, the information for one piece of data is spread across 5 separate tables, so eloquent doesn't work as cleanly for our purpose. Relationships don't make as much sense as joins, because some of the tables are just ID and a value, and that's it. The tables are designed around joins.


How to reconnect when connection is stale?

What is the best way to reconnect to Redis when the connection goes stale?

See:

https://github.com/jcmellado/dartis/issues/22

weirdly catchError is not being fired @jcmellado.
We are using Dart 2.19.2 and nothing seem to happen when the connection goes stale.

my problem was that a connection was fetching an blpop and then tried a lpop, sorry


[GSSOC'21] String Algorithm

Hey, I am Manas Tole a GSSOC'21 Participant. I am having experience in java Coding as well as I am doing Competitive coding in the java programming language.
I want to contribute the below mentioned algorithm in Java Programming language :
Program for String to Integer conversion and Integer to String conversion.
Please assign this task to me :)
Thank-you.
@anubhavitis @dheerajkotwani @tarun26091999 @todi-2000 @geekquad

its already done in #170


images aren't serialized

I got xterm.js + xterm-add-image working under DomTerm. However, it doesn't appear a sixel-produced image is saved by the serialize addon.
Specifically, I printed some images (using lsix), and then did a "detach session". When I then did "attach" on the session, the images were gone.
Serialization is important not only for detach+attach, but also when dragging a window to a new top-level window - this also uses serialization on most platforms.
In "regular" DomTerm (not based on xterm.js), an image is represented as a <img> element with a data: URL. When a buffer is serialized as HTML, this automatically handles such images.  (FWIW, I'm actively working on improving the sixel handling in regular DomTerm.)

@PerBothner Drafted a quick demo PR to test the idea above (see #48). Ofc this cannot be used until the serialize addon sees major changes. Also the image re-encoding is very rough atm (using IIP for every single cell, which is not how it should be done).

There is prolly a simpler solution possible - the image addon currently always draw on top of FG/BG content not erasing it. Thus it should be possible to keep most of the serialize addon as it is, but invoke a full line image serializer for every line. This has several advantages:

serialize addon needs only tiny change
no complicated fuse logic needed
no stitching artefacts in x-progression
most of the image render logic can be re-used

Will see if that works better...

Addendum regarding a proper protocol:
It turns out that IIP has all the basics to guarantee a stable cell coverage, if dimensions are set with plain numbers denoting row/col extend, eg. width=80;height=1 for a single terminal line of 80 cols. It still needs the overprinting patch of 64244d8 to level out floating rounding issues, in fact the floor/ceil logic must be applied all over the place to avoid stitching/striping artefacts. This might be some food for a better protocol, most likely we need to address into fractions of a cell, as already suggested by @egmontkob years ago.
Nonetheless IIP with col/row metrics works good enough atm to get a working solution for serialization running. :smile_cat:

The QOI image format might be a good choice for image serialization, as it provides very fast encoding/decoding.
Some early numbers testing QOI decoding speed with the sixel-bench test:
qoi: 2.72s (48.06 MB/s, 251.76 fps)
png: 7.56s (18.88 MB/s, 90.62 fps)
jpg: 2.25s (7.18 MB/s, 304.94 fps)
sixel: 3.03s (39.16 MB/s, 226.2 fps)

(Note: The JPEG numbers are flawed, as I did a simple 75% conversion, which reduces data from ~130MB to 17MB for jpeg.)
Did not test yet the encoding path, but I expect this to be much faster than any PNG/JPEG encoding.

A simple way to serialize a canvas is to use canvas.toDataUrl(). That seems simple, portable, and reasonably efficient.
To unserialize, you can create a new Image, set the src attribute, and optionally drawImage into the canvas. There may be a way to avoid creating a temporrary Image object.
You still have to decide on an escape sequence to wrap the data url in.

Haha - stumbled over the next hassle - fast bytearray to string conversion. I really dont get it why JS has no fast Uint8Array.toByteString method, thats literally a malloc + memcpy away for the engine. But nope, we have to use slow JS looping with String.fromCharCode calls, :see_no_evil:
Well did not investigate much yet beside testing various concat tricks, thats what I ended up for now:
const data = ... // uint8 array from encoder
let p = 0;
let s = '';
while (p < data.length) {
  s += String.fromCharCode.apply(null, data.subarray(p, p += 65536) as any);
}

Also TextDecoder seems to be on par with this, but I am not sure yet, whether it will run into issues for certain charcodes. Needs some more testing...
Some interim results:

QOI encoding is 2.5 to 5 times faster than toDataUrl/PNG, depending on the image at hand. Thats a lesser gain than I was hoping for, but still remarkable.
The implementation overhead with custom encoders is quite big, but it is only ~10kB bundled, with ~3kB in wasm.
getImageData gets much faster with a software canvas (willReadFrequently setting), and is much more reliable and stable in timings than any webgl hacks. It is also not hardware dependent. Clearly the better choice.

@PerBothner Imho QOI is the right decision, as it is able to serialize things 2.5 - 5x faster than with browser methods (see full roundtrip numbers and explanation here: https://github.com/jerch/xterm-addon-image/pull/48#issuecomment-1484145335).

@PerBothner
Hmm, currently the serialize plugin is pretty slow, it takes ~170 ms to serialize a 10k scrollbuffer of 87 cols (tested with ls -lR /usr/ generating ~500kB of string data). Thats ~8 times slower than a wasm version with almost the same functionality (takes ~20 ms).
Therefore I might ditch the idea to extend the serialize addon, instead a rewrite seems more appropriate to me. It makes it also easier to rethink the serialization problem and come up with a proper interface, where custom extension can hook into.

For grapheme clusters, why do you need to store codepoint attributes, assuming you're using either dom or canvas renderers? The browser takes care of that. You may need to know cluster boundaries but you can detect those at the same time you're detecting double-width characters, using an efficient trie lookup (which would probably be a good candidate for wasm).
"If those ever will make it back into xterm.js" If I get to the point of switching DomTerm to use the xterm.js engine by default, I'm assuming it will have to be a fork, since the xterm.js maintainers don't seem to be interested in rich data or variable-width text.

For grapheme clusters, why do you need to store codepoint attributes, assuming you're using either dom or canvas renderers? The browser takes care of that. You may need to know cluster boundaries but you can detect those at the same time you're detecting double-width characters, using an efficient trie lookup (which would probably be a good candidate for wasm).

Yes, I meant that lookup data for the unicode codepoint range to eval incoming chars. I dont quite remember, what I used back then, but it was quite big (I think it was a condensed bitmap for fast lookup). So no, I was not storing additional attributes in the buffer, it was just the segmentation logic, that needed additional lookup data.
Btw I think other TEs implementing grapheme support put the segmentation burden early right after the utf-8 decoding before doing wcwidth, thus they keep things cell aligned. Technically thats a grapheme_wcwidth in the end, and imho the only way to keep things within that nasty grid metaphor.
The impl impact is quite remarkable though - unicode does not limit graphemes in x direction, so it is theoretically possible to end up with cells >2 half widths. Thats what most TEs will have issues with, and so does xterm.js in its renderer logic. This gets really horrible for heavily stacking language systems with tons of subscripted perceivable characters (hebrew, arabic, hindi languages etc.), widths may even be in fractions of a cell here. But unicode did not bother with formalizing that at all, they left it on purpose to font developers to get the best visual output. Thats really a nightmare for proper grapheme dealing on a grid system, and I have not seen anyone to fully address this. So all TEs are currently broken in their unicode support.
Anyway, its kinda offtopic here.

Off-topic - about grapheme clusters: The table for codepoint attributes used in DomTerm is a Uint32Array of length 12764, initialized from a 4032-character atob string. I consider that acceptable.
Basically DomTerm treats a cluster as wide if any of the constituents is wide, or it sees an emoji_presentation_selector or a regional_indicator pair.

This gets really horrible for heavily stacking language systems with tons of subscripted perceivable characters

That is why terminals need to figure out how to handle variable-width fonts. On my roadmap is a wrapper for input editors (such as GNU readline) where the terminal uses a variable-width font (layout handled by the browser engine), but it pretends to the application that it's all regular fixed-width columns. This would be enabled by some extra shell integration flags without applications having to be otherwise modified. Applications that know they are running under DomTerm can request that a variable-width font be used for output.


Fields do not reset when upon failed deploy

When deploying using Swarm constraints, if you use an invalid constraint and the deploy fails, you cannot update the constraint field. It uses the old value.
Here is a screenshot where I entered an invalid constraint, then tried a value one.  It throws an error using the old constraint.

@ehazlett thanks for the info, will get on it over the weekend :+1:


First Release:rocket: v0.0.1

Hi all,
we are set for our first release on 25th January 2023. :partying_face: :heart_eyes:
:construction: Please note that all efforts are to ship our first component into the core Headless Button Component

hi all :smile: am excited that today our first version is has been published.
Super inspired by how much we have build in a very short time.
We have moved first without comprimise on good architecture. Kudos to us all :clap:
Thank you all @OSCA-Kampala-Chapter/react-ui-team  @SoulSolomon21 @Rishav1707 @maddy020 @Abeinevincent @123MwanjeMike @SamEarth79 @ankitk26 @Pavan-Nambi for making this realease come to reality.
Excited about how much more we are to build :rocket:


How to include all the commits

This is my .changelogrc
{
    "app_name": "Git Changelog",
    "logo": "https://github.com/rafinskipg/git-changelog/raw/master/images/git-changelog-logo.png",
    "intro": "Git changelog is a utility tool for generating changelogs. It is free and opensource. :)",
    "branch" : "",
    "repo_url": "",
    "version_name" : "v1.0.0",
    "file": "CHANGELOG.md",
    "template": "myCustomTemplate.md",
    "sections": [
        {
            "title": "Bug Fixes",
            "grep": "^fix"
        },
        {
            "title": "Features",
            "grep": "^feat"
        },
        {
            "title": "Documentation",
            "grep": "^docs"
        },
        {
            "title": "Breaking changes",
            "grep": "BREAKING"
        },
        {
            "title": "Refactor",
            "grep": "^refactor"
        },
        {
            "title": "Style",
            "grep": "^style"
        },
        {
            "title": "Test",
            "grep": "^test"
        },
        {
            "title": "Chore",
            "grep": "^chore"
        },
        {
            "title": "Branchs merged",
            "grep": "^Merge branch"
        },
        {
            "title" : "Pull requests merged",
            "grep": "^Merge pull request"
        },
        {
            "title" : "Other",
            "grep": "^"
        }
    ]
}

Is it possible to modify the Other section to catch all the commits with malformed titles?,
e.g. I am trying to catch commits like:
fea(cli): gggg (misspelling of feat)
created something
The first won't be displayed but the second does

Hello, the grep option passed is used in the command to pick the logs, i guess if you find a regular expression that is compatible to do what you want, you may do it. Sorry, i don't know clearly if it is possible

I  tried
        {
            "title" : "Other",
            "grep": "^"
        }

but this doesn't match any


chore: remove deprecated memory_ballast extension

Description

Error: failed to get config: cannot unmarshal the configuration: decoding failed due to the following error(s):
error decoding 'extensions': unknown type: "memory_ballast" for id: "memory_ballast" (valid values: [zpages health_check pprof])
collector server run finished with error: failed to get config: cannot unmarshal the configuration: decoding failed due to the following error(s):

References

Review Checklist

[ ] I have clicked on "allow edits by maintainers".
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[ ] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected

It's funny how this extension got deprecated in december 2023 and nobody noticed, including myself 😬 https://github.com/open-telemetry/opentelemetry-collector/pull/8803


MDATP/ASR rules: Restore broken link

Description:
As described in issue ticket #5105, the link to "adding exclusions" for
Attack Surface Reduction Rules is broken and causes a HTTP 404 error.
Thanks to @redog for reporting the broken link & 404 error.
The cause of this link breaking is more or less documented on the
Github source page for "Reduce attack surfaces with attack surface
reduction rules" with the latest commit ae43d72
(moved attack surface topics to mdatp dir) from August 21, 2019.
Proposed changes:

insert the correct new page link, pointing to the Github page
correct an old typo, securty -> security

issue ticket closure or reference:
Closes #5105

Rich Text Diff view, for easier overview of the effective changes:
https://github.com/MicrosoftDocs/windows-itpro-docs/pull/5117/files?short_path=b574f3f#diff-b574f3fc1b7338bd0cec8208ceecff77
(... and yes, I have tested that the Github link works and that the corresponding docs.microsoft.com page & link exists, so I presume that the migration process should easily be able to convert the link correctly.)


Implement transform-built-ins plugin

fixes #363

Thoughts: I think we could also help constant-propagation by evaluating the expressions if the arguments are constants ?
let a = 1.8, b = 2.5;
let x = Math.floor(Math.max(a, b));
foo(x);

could be transformed to
foo(2);

@boopathi I like the idea in general, I believe it shouldn't cause any issues..
Shall i create a new issue for that and fix it in a new PR?

Part of this PR would be great.

Cool then.. will give it a try..

Handled the optimisations.

@boopathi Addressed all the issues.

Is this already available in 0.0.11?

Nope.. Not released yet.


Connecting NewEntities with NewEntities

Could not find a way to establish a nested connection. For example, a transform yields a 'Document' entity can be linked to original object. However, it would be excellent to be able to correlate another entity to the Document object rather the original request element.
For example, Hash --> Document -->DomainInDocument. Right now it is only possible to connect both the Document object and the Domain to the original Hash object.

Unfortunately, you are right, it is not possible to return nested entities from a transform as the Maltego client does not support it. A workaround would be to have two transforms: Hash --> Document and another that does Document -->DomainInDocument

Is this a limitation within Maltego or the TRX library?

It is a limitation with Maltego.


Missing PlayAssetDeliveryEvent Class

Hi, I find the PlayAssetDeliveryEvent Class is missing.
Another thing is that could you please provide a demo project so that we could follow it. I don't see an example for on-depand / fast-follow on the wiki page. As debugging is so difficult, I'm a bit lost here... Thanks again for your help!

I've updated the apm package to include the new release and should be available now. Not sure why it wasn't pushed out originally, will double check the release process on this extension.
Let me know if you have any issues with the update.

Thanks so much. Now it is included in!


Intermittent crashes on Big Buck Bunny 60fps

When stopping and starting, seeking a lot with bunny 60fps at 1080p sometimes get crashes. Investigate.

Seems resolved, probably due to bad assertions in the audio path.


row colors a bit too light

Now that the alternating rows are a bit lighter, it's harder to see the difference between them. I think having at least some alternative color would be nice to make the tables more readable.
Here's what it looks like for me in Linux/Firefox

Looks like this comes from the to html output including background-color for the body and the table element. Removing both fixes this issue.
@fdncred since you've worked on the theming and colors in to html: Could you explain why those are there?

When I remove those styles, the table rows looks fine:

@jzaefferer All colors output by to html are there because of the theme chosen. The them has 16 colors plus foreground and background. The theme does not output alternating row colors or understand that concept, so that is from our code here somewhere.
These hard coded colors could also be influencing what's going on. I added this because when a user has dark mode enabled the colors were totally messed up. I think you could also override light mode with another section like this one. But I haven't played with it.
If we want to use another theme, we can choose one. Any iterm2 color scheme in json format can be added to to html.

@fdncred Based on your comment, I decided to simply use the body background-color all the time, and adjust the rest of the styles around that. But the problem now is that it sets the same background-color for body and for table, so besides the table border, there's zero contrast there.
There should be some contrast! As an example, see my screenshot above.
Can we adjust the theme in nu to have different background colors for body and table, to solve this also for other contexts that use to html?

I think by default to html shouldn't add colors, though I think we should make it easy for people to pass in a flag to configure the CSS that will be used. The theming @fdncred could be possible with a flag like --theme=theme_name.

That makes sense, and we already have it! https://github.com/nushell/demo/blob/main/www/index.js#L45
 return run_nu(input + "| to html --html_color --theme 'blulocolight'");

I suggest adjusting the theme colors to separate body and table background colors.


feat: Added UDTs for Azure Firewall Application, network and NAT rules

Description
This pull request adds UDTs for Azure Firewall application, network, and NAT rules. Also, added an extra network rule for service tags in the max test.
@hundredacres @AlexanderSehr We must be aware that the change itself is not breaking, but when existing rules are not written as the UDT expects it will break a deployment. See the image below (left is how it is now and right is what's new with the UDT). How do we handle this version wise?

Pipeline Reference

Pipeline

Type of Change

[ ] Update to CI Environment or utlities (Non-module effecting changes)
[ ] Azure Verified Module updates:

[ ] Bugfix containing backwards compatible bug fixes, and I have NOT bumped the MAJOR or MINOR version in version.json:

[ ] Someone has opened a bug report issue, and I have included "Closes #{bug_report_issue_number}" in the PR description.
[ ] The bug was found by the module author, and no one has opened an issue to report it yet.

[ ] Feature update backwards compatible feature updates, and I have bumped the MINOR version in version.json.
[ ] Breaking changes and I have bumped the MAJOR version in version.json.
[x] Update to documentation

Checklist

[x] I'm sure there are no other open Pull Requests for the same update/change
[x] I have run Set-AVMModule locally to generate the supporting module files.
[x] My corresponding pipelines / checks run clean and green without any errors or warnings

Hey @johnlokerse, if in doubt I'd rather consider it breaking. As we're not on version 1.* yet, I'd suggest to update the module's minor version. @hundredacres what's your take?

Hey @johnlokerse, if in doubt I'd rather consider it breaking. As we're not on version 1.* yet, I'd suggest to update the module's minor version. @hundredacres what's your take?

@hundredacres Do you have feedback on the PR? 😃

Hey @johnlokerse, if in doubt I'd rather consider it breaking. As we're not on version 1.* yet, I'd suggest to update the module's minor version. @hundredacres what's your take?

@hundredacres Do you have feedback on the PR? 😃

Hey @johnlokerse, @hundredacres may be on an Easter break. Just added a tag to draw attention, but let's wait a while longer. Those darn public holidays 😄

@johnlokerse @AlexanderSehr I'm onboard with bumping the minor version to account for the addition of the UDT.

Bumped version to 0.2! 👍

Hey @hundredacres, just a ping so that a notification is raised :)


[ISPN-5601] Merge ExtendedModuleCommandFactory into ModuleCommandFactory

Pulling..

Integrated into master, thanks @ryanemerson !

https://issues.jboss.org/browse/ISPN-5601


The tags property of NetApp Snapshot doesn't take effect at creation/update

After tested, I found the tags property of NetApp Snapshot doesn't take effect at creation/update. On the other words, we cannot add/update tags to snapshot. I remember tags can be added and updated for snapshot successfully before. If it's a bug, please fix it asap since we already exposed tags to our customers.
I am using api version 2019-10-01 (https://github.com/Azure/azure-sdk-for-go/blob/eb4c4aba8640051febddd72dc36bb7841b38a4c1/services/netapp/mgmt/2019-10-01/netapp/models.go#L1078)

@leonardbf, seems it's a bug. could you help to have a look? Thanks.

@ArcturusZhang Could you help to take a look at this issue?

@ruowan this should be a service side bug, but we do not have a label for netapp @akning-ms

add @audunn to suggest as Audunn is main contributor for swagger

Snapshots are a proxy resource and they do not support tags. Tags are not part of snapshot properties as of 2019-11-01 specs .
https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/tag-support#microsoftnetapp
Perhaps the right course of action here is to remove them from older specs as well to avoid confusion.


list-prs-for-file - Fix overlap with other components

close: #7408
Screenshot

Nice! I forgot we dealt with this before:

https://github.com/refined-github/refined-github/pull/7094

Could the same fix work for https://github.com/refined-github/refined-github/issues/7223?

@fregante 👌


Remove duplicate item description

As a User of bookkeeper red I do not need the same description of an item twice. Therefore, remove the description on the left side (red box).

Acceptance Criteria

[ ] Only one description for one item. The description should be displayed on the right side.

This issue should be fixed already (#300). At least under the Development App, I only see one description.

Duplicated


Full overwrite replication delete data

:pencil: Description
PR for deleting data associated with the existing replica table when using FULL_OVERWRITE replication.
I have added new DataManipulationClients which are clients with the correct access for respective replications - s3->s3, hdfs->s3, hdfs->hdfs.
:link: Related Issues
#185 - this is the PR to implement the new replication mode, currently only drops the existing table.

Fixes the "data" part of #183


Werkzeug dependency causing new Turbine deployments to fail installation

There's an issue with the Werkzeug dependency that is causing airflow to crash on startup for new Turbine deployments, see here:
#https://github.com/apache/airflow/pull/7377
Recommend updating the stack to use Airflow >= 1.10.9.

#152 Pull request submitted

Oh, thanks for pointing it out :-)


Feedback on best_layer selection

Hi there,
I'm really enjoying looking through this library. I wanted to provide some thoughts on the selection of the 'best layer' returned by fit_predict. Firstly I just wanted to check my understanding. Is the approach that the layer that produces the fewest outliers is assumed to be the one that best fits the data and that is therefore the one returned by fit_predict?
Initially I thought it was a bug that fit_predict wasn't returning the most granular layer contained in cluster_layers (in my case it was returning cluster_layers[1]) until I went looking through the code and found the best_layer calculation.
It wasn't intuitive or clear to me that the most granular layer wasn't the one returned so I think that needs to be outlined in the doc strings of both EVoC and fit_predict.
Secondly, I think it would be good to have some option of what layer is returned by fit_predict. While it is easy enough to get the most granular layer from cluster_layers[0] explicitly, for some use cases (e.g. using EVoC as a drop in clusterer in BERTopic), BERTopic is just going to call fit_predict and return whatever it thinks is best. If the user sets base_min_cluster_size to try and control the level of granularity that they expect in the resulting clusters, but then EVoC chooses a different layer as the best layer, then the user won't be getting the level of granularity they expect.
It might be nice to introduce something like layer_selection = ['best', 'bottom', 'top'] so the user can force fit_predict to return the most granular layer if desired. best could be called fewest_outliers or something to be more explicit about how 'best' is being determined. It could also take an integer to just select a given layer (with the top layer returned if the integer is out of range).
Just some ideas.

Yes, I think a few more options there might be useful. I haven't really gotten to the point of properly documenting everything, and have been travelling and on vacation for the past month. I'll see what I can do when I get back to working on this and have time available.


Sodium 0.5.0 incompatibility, here's the list of working Sodium 0.4.10 addons:

the only fix while we wait for a Flywheel/Sodium is to downgrade back to Sodium 0.4.10, however you're probably using Reese's Sodium Options, Indium etc
so here's a list of Sodium addons compatible with the 0.4.10:
ImmediatelyFast-1.2.3+1.20.1.jar
indium-1.0.21+mc1.20.1.jar
iris-mc1.20-1.6.4.jar
memoryleakfix-fabric-1.17+-1.1.2.jar
reeses_sodium_options-1.6.3+mc1.20.1-build.92.jar
sodium-extra-0.4.27+mc1.20.1-build.110.jar
sodium-fabric-mc1.20-0.4.10+build.27.jar

take your time king

problem with what you linked.

can reproduce, not an issue if you're not in a world, however everything is working fine it's only a UI issue

for me, i'm on the Create-Fabric-0.5.1-d-build.1161+mc1.20.1, u can edit the file in create (open it with 7zip)
},
"breaks": {
"optifabric": "*",
"colormatic": "\u003c\u003d3.1.1",
"iris": "\u003c\u003d1.2.5",
"sodium": "\u003e\u003d0.5.3"
},
[Lib]fabric-api-0.88.1+1.20.1.jar
[Lib]fabric-language-kotlin-10.10+kotlin.1.9.10.jar
[Optimization]exordium-fabric-1.2.1-mc1.20.1.jar
[Optimization]ferritecore-6.0.0-fabric.jar
[Optimization]ImmediatelyFast-1.2.4+1.20.1.jar
[Optimization]indium-0.25+mc1.20.1.jar
[Optimization]iris-flywheel-compat-1.20.1-0.2.1.jar
[Optimization]iris-mc1.20.1-1.6.8.jar
[Optimization]lithium-fabric-mc1.20.1-0.11.2.jar
[Optimization]reeses_sodium_options-6.5+mc1.20.1-build.95
[Optimization]sodium-extra-0.5.1+mc1.20.1-build.112.jar
[Optimization]sodium-fabric-mc1.20.1-0.5.2.jar
[Optimization]sodium-shadowy-path-blocks-3.2.1.jar
[Optimization]starlight-1.2+fabric.dbc156f.jar
[Optimization]threadtweak-fabric-1.20.1-0.1.0.jar
for me is working fine :-)

the only fix while we wait for a Flywheel/Sodium is to downgrade back to Sodium 0.4.10, however you're probably using Reese's Sodium Options, Indium etc
so here's a list of Sodium addons compatible with the 0.4.10:
[...]

This does not work if you are using Supplementaries (signposts) or other mods that add custom overworld content (Farmer's delight for example) as it renders the chunk invisible (game-breaking):

for me, i'm on the Create-Fabric-0.5.1-d-build.1161+mc1.20.1, u can edit fabric.mod.json, the file is in create (open it with 7zip)
}, "breaks": { "optifabric": "*", "colormatic": "\u003c\u003d3.1.1", "iris": "\u003c\u003d1.2.5", "sodium": "\u003e\u003d0.5.3" },
for me is working fine :-)

This does not work well because it does this when placing waterwheels (which must be the reason it was marked as incompatible in the first place):

Notice the FPS top left dropped down to 16.
When disabling shaders, the waterwheels just disappear out of existence:

Hope it clears up any confusion about these workarounds and how they might work for you depending on your use-case.

disabling flywheel with
/flywheel backend off

should most likely fix that

no idea?

i got 5 fps with /flywheel backend off turn it bag again i have same fps and no

turn it on, again i have same bug. but same fps. so for me is better with flywheel but dont use the comands from flywheel :D

linked on the main issue, closing

Curve rail way would disapper after reloading (F3+Q)

If you're using Sodium 0.4.10 and have Indium 1.0.21, make sure you use Fabric API 0.88.1.
That version of Indium is not compatible with higher versions of Fabric API.

I am using sodium 0.5.3 and iris and i changed the restriction of version. It works well and railway become visible after disabling flywheel.

I found a create-fabric fork that fix the incompatibility:
https://modrinth.com/mod/create-fabric-sodium-fix

I found a create-fabric fork that fix the incompatibility: https://modrinth.com/mod/create-fabric-sodium-fix

YOOOOO it works! It's incompatible with dash-loader if anyone else was using that, but its a worthy trade off to get create back.

As far as i can tell the issue isn't with sodium or flywheel, its with the iris/oculus flywheel compat mod
I followed the steps in this post and had no issues until i installed the iris/oculus flywheel compat and loaded into the world. previous attempts at recreating the bug all failed with the compat mod not installed.

if you are using shaders, the flywheel will be disabled. And the iris/oculus flywheel compat mod will enable the flywheel with shaders. the problem is between flywheel and sodium

That makes a lot of sense, my bad.

can i just allow myself and say that it's so fucking hilarious that a fabric fork of a forge mod is waiting on a forge port of a fabric mod
(flywheel is waiting for r

Rubidium 0.7.0 was the update that brought Sodium 0.5's changes to it. And Flywheel is already compatible with Rubidium 0.7.0. https://github.com/Jozufozu/Flywheel/commits/1.20/dev/
I believe we're now waiting for the Fabric fork of Flywheel to get those changes ported from the original/Forge version.
A problem is that they currently support 1.20.1, 1.19.2 and 1.18.2. https://discord.com/channels/620934202875183104/976100492243501106/1162564469130547280 goes into more detail

Fabric fork of Flywheel

:point_up: :nerd_face: it's erm, just a branch on the flywheel repo

YOOOOO it works! It's incompatible with dash-loader if anyone else was using that, but its a worthy trade off to get create back.

tbh I don't rly consider it a worthy trade if you can't use Create: Interactive along with it to enhance the Create experience
An issue from a mere version name change "build.5"🗡🗡

YOOOOO it works! It's incompatible with dash-loader if anyone else was using that, but its a worthy trade off to get create back.

tbh I don't rly consider it a worthy trade if you can't use Create: Interactive along with it to enhance the Create experience An issue from a mere version name change "build.5"🗡🗡

Even if the version name change is fixed, Interactive requires Valkyrian Skies 2, which currently doesn't support Sodium 0.5 unfortunately (https://github.com/ValkyrienSkies/Valkyrien-Skies-2/issues/556). It still works for me though.

YOOOOO it works! It's incompatible with dash-loader if anyone else was using that, but its a worthy trade off to get create back.

tbh I don't rly consider it a worthy trade if you can't use Create: Interactive along with it to enhance the Create experience An issue from a mere version name change "build.5"🗡🗡

It's very easy to work around that by using a Fabric Dependency Override.

https://www.reddit.com/r/fabricmc/comments/1aiuy7w/sodium_0410_mods_for_minecraft_1201/ is a really comprehensive list


heavy metal effect

Does anybody know how to implement a heavy metal effect just like photoshop?
thank you very much.

Without context (I've never used Photoshop), I have no idea what this is.


BCD does not display contract's entrypoint name

Hi, when an entrypoint has one parameter of type OR, BCD does not find the entrypoint name.
For example :
https://better-call.dev/florencenet/KT1DHT7AQog7Ybnxm3yHSGUk2B1oY75zuKym/code
The entrypoint's name is displayed as  entrypoint_2 while it should be second  (this is because its argument type OR nat string is confused with the OR structure that describes entrypoints).
The archetype source code of this contract :
archetype test
entry first() {
  ()
}
entry second(a : or<nat, string>) {
  ()
}

Regards,
Ben

Hey @rognierbenoit, BCD does not display intermediate entrypoints indeed, only the terminating ones, and moreover tries to "normalize" transaction parameters in case a contract is called with default/intermediate entrypoint.

thank you Michael for your feedback.
I don't know what an "intermediate endpoint" is.
The parameter type is or (unit %first) (or %second nat string):
I think that the algo that searchs for entrypoints should stop when an annotation is met: here it should consider the second branch of the first or as an entrypoint because it has the annotation %second. I believe this is the purpose of annotations, otherwise it would mean that an entrypoint cannot have one or typed parameter.

In your case you have the following nested sum type:
      or %default unit (or nat string)
     /                                               \
  unit %first                               or %second nat string
                                                /                                   \
                                             nat                                 string

There is a root (you can call your contract with the following params:  (entrypoint: default, value: Left Unit)
There are three terminal nodes, but only one named (entrypoint first, value: Unit)
And one intermediate node (entrypoint second, value: Left 42)
BCD recognizes only terminal nodes and since they are not named it will use inferred names entrypoint_1, entrypoint_2, etc


Update travis config based on breaking change

Experienced build error on another branch #12. Saw breaking change https://benlimmer.com/2019/01/14/travis-ci-xvfb/
Based my change on https://stackoverflow.com/a/55674747/7491536
Build error message via
https://travis-ci.org/conversationai/perspective-viewership-extension/builds/595410114?utm_source=github_status&utm_medium=notification
before_install.2
0.00s$ export DISPLAY=:99.0
0.00s$ sh -e /etc/init.d/xvfb start
sh: 0: Can't open /etc/init.d/xvfb
The command "sh -e /etc/init.d/xvfb start" failed and exited with 127 during .```

@googlebot I fixed it.

I was using the incorrect email while committing. Closing this pr


Custom error types inaccessible as they are defined in internal package

Expected Behavior
Custom error types should be accessible per the docs at https://github.com/temporalio/documentation/blob/master/docs/go-error-handling.md
Actual Behavior
Custom error types are all defined in https://github.com/temporalio/sdk-go/blob/master/internal/error.go which makes them inaccessible by modules that make use of go.temporal.io/sdk/client since go.temporal.io/sdk/internal gives use of internal package go.temporal.io/sdk/internal not allowed
Steps to Reproduce the Problem

Try to make use of go.temporal.io/sdk/internal from a different module per the docs provided

Specifications

Version: v1.2.0
Platform: linux

Apparently I'm blind, as they are also in go.temporal.io/sdk/temporal


Error: TypeError - Cannot read properties of undefined (reading 'toString')

I tried converting HAR with Headers and Query Parameters to Powershell, which worked as expected. But when provided with body it throws this error.
TypeError: Cannot read properties of undefined (reading 'toString')
    at escapeString (escape.js?056a:43:1)
    at convert (common.js?aa75:formatted:54:35)
    at eval (httpsnippet.js?8e8e:238:67)
    at Array.map (<anonymous>)
    at HTTPSnippet.convert (httpsnippet.js?8e8e:238:1)
    at CodeView (index.js?c905:33:43)
    at renderWithHooks (react-dom.development.js?3c4a:16305:1)
    at updateFunctionComponent (react-dom.development.js?3c4a:19588:1)
    at beginWork (react-dom.development.js?3c4a:21601:1)
    at beginWork$1 (react-dom.development.js?3c4a:27426:1)
    at performUnitOfWork (react-dom.development.js?3c4a:26557:1)
    at workLoopSync (react-dom.development.js?3c4a:26466:1)
    at renderRootSync (react-dom.development.js?3c4a:26434:1)
    at performSyncWorkOnRoot (react-dom.development.js?3c4a:26085:1)
    at flushSyncCallbacks (react-dom.development.js?3c4a:12042:1)
    at eval (react-dom.development.js?3c4a:25651:1)

The HAR request
{
    "method": "POST",
    "url": "https://example.com?id=1",
    "httpVersion": "HTTP/1.1",
    "cookies": [],
    "headers": [
        {
            "name": "Authorization",
            "value": "sadasdsdsaadasdsads"
        }
    ],
    "queryString": [
        {
            "name": "id",
            "value": "1"
        }
    ],
    "postData": {
        "mimeType": "application/json",
        "text": "{\n  \"name\": \"somename\"\n}",
        "jsonObj": {
            "name": "somename"
        }
    },
    "headersSize": 0,
    "bodySize": 0
}

Did you happen to try the same, but without newline characters in the body? I wonder if it has to do with the escape character used for newlines in PowerShell strings being a backtick instead of a backslash. Removing the newlines to see if that works would be a worthwhile test.
Another test worth running would be doubly-escaping the newlines (i.e. "text": "{\\n \"name\": \"somename\"\\n}",, since you're not trying to escape the n characters in the json property value, but in the converted string.


Wrong framerate written to video file

latest version when recording and replaying video on vlc media the codec info shows a framewrate of 30fps which means the actual parameter --framerate 3 is not written to the video file.
replicate eg by:
libcamera-vid --timeout 10000 --framerate 3 -o test.h264
this results in ugly replay experience that in this case compresses the 3*10 frames stretching over 10s into just 1s.

Hi, unfortunately this is the expected behaviour. The file written is an elementary h.264 stream which contains no framerate information. You would have to tell the playing software the correct framerate at which to play the video.
Alternatively, libcamera-vid can save frame timestamps and you can process the h.264 bitstream into a container format that includes the timestamps. One way to do that is illustrated here.


Porting prost migration to raft 0.4

For TiKV usages.
This is opened as a PR only for code review, please don't merge.
Currently there's one assertion error in tests  but the production code are (seem to) working.

The assertion error is in https://github.com/pingcap/raft-rs/blob/26f51c2e64c07967d86d15b4da716f28ea374567/src/storage.rs#L2308

The assertion error is in ...

On master this is assert_eq!(rs.index, 2);. I wonder if there is a rebasing error?

Seems it would be good if we made a branch off 0.4.1 and then merged this with that, then we can release 0.4.2 from that branch?

@Hoverbear sounds good to me!

Seems we never released 0.4.1, so we'll make this 0.4.1. :)

All comments addressed except those depends on nrc/kvproto-build#3.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: ice1000:x: nrcYou have signed the CLA already but the status is still pending? Let us recheck it.

@nrc PTAL at the CLA

I think this just needs the protobuf-build update and then can be merged

Comments related to nrc/kvproto-build#3 are addressed.

Failing tests now :-(

Forcing a rebuild on CI

I have one test failing locally but I didn't know why (at least seem to be unrelated to pb library).

@ice1000 @Hoverbear any ideas about the failing tests? Publishing 4.1 is blocking Prost migration of kvproto, etc.

I'll fix it today, don worry.

https://github.com/pingcap/raft-rs/blob/c6a2b7d48d5bd9c902a1a85144436dcd7f448cd8/src/raft.rs#L75

raft-rs/src/raft.rs
Line 75 in c6a2b7d
pub const INVALID_ID: u64 = 0;

I don't understand this comment. Do you need anything?

raft-rs/src/raft.rs
Line 75 in c6a2b7d
pub const INVALID_ID: u64 = 0;

I don't understand this comment. Do you need anything?

Nope. I was writing down some notes for my own convenience.

It's supposed to be fixed now. Let's wait for CI response...

Still some errors, looks like lints

@ice1000 can you pull in https://github.com/pingcap/raft-rs/pull/219 to fix the CI please?

All comments addressed. Mr. Travis CI, please start your performance

error: the feature `tool_lints` has been stable since 1.31.0 and no longer requires an attribute to enable
   --> src/lib.rs:264:47
    |
264 | #![cfg_attr(feature = "cargo-clippy", feature(tool_lints))]
    |                                               ^^^^^^^^^^
    |
    = note: `-D stable-features` implied by `-D warnings`
error: this .into_iter() call is equivalent to .iter() and will not move the slice
   --> src/raft.rs:789:14
    |
789 |         ents.into_iter()
    |              ^^^^^^^^^ help: call directly: `iter`
    |
    = note: `-D clippy::into-iter-on-ref` implied by `-D clippy::all`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref
error: aborting due to 2 previous errors

I don't understand. I can see a lot of stacktraces in the nightly CI build, but it's saying test all passed.
Is that what we expect to see?

Yay! CI passed!

@Hoverbear can we release this as 0.4.1 please?

Sorry about the delay @ice1000 :(

No problem, I can totally understand that you people are busy last week!

This PR introduces API changes, and should be landed on 0.5.x instead of 0.4.x.

@BusyJay Prior to 1.0.0 authors are free to break API as they please. 0.5.0 contains other changes and is already released. It's incompatible with TiKV.

@BusyJay We have another PR that does the same thing but based on the master branch instead of the 0.4.0 release tag.

Discussed on Slack, we agreed to yank 0.4.1 and use Prost via a Git dep for the time being


Fixed a crash that happens when you attempt to get the name of an XML document

Name now returns nil instead of crashing. This was done by adding Document to the types of XML to ignore, returning early like the other XML types ineligible for a name are. 5.1 is not out yet, so I put this is 5.0.

Did!

There are still unrelated changes. I assume you meant to open a PR against the master branch?

@pi1024e: I appreciate that these issues are real, but there are a few problems with your approaches:

One issue per patch, please. The CFString changes are unrelated, can you remove them?
We do not take 5.0 (monthly release) patches that aren't being backported or cherry-picked from master. Can you retarget this to master?

I feel it's a little confusing direction.

If this PR is retargeted to master, it will be the same with #2453.
The approach of #2453 (that still contains unrelated changes and incorrect modification though) is now the same with #2316.
#2316 is open still.
That is, there are/will be three PRs to fix the same issue SR-10776.

@pi1024e
One of the important things that I said is

Why don’t you review #2316 before creating a new PR?

I think @xwu also said the same thing:

if you're interested in helping to resolve such an issue or disagree with how they've approached the topic, you can review their work and offer to help that person.

@millenomi Yes, this works for master too. Let me rebase it, if that is what you need.

The CFString change was merged into master already, which is why this PR is showing it in the diff case.

@YOCKOW I will be happy to help you then, if you so wish.

I'm calling an audible and consolidating the effort into https://github.com/apple/swift-corelibs-foundation/pull/2316.


resolves 2548

Resolves issue raised in Issue 2548 to add ability to call assertions on MailFake

https://github.com/laravel/framework/pull/35430#issuecomment-740120894

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


Add option to map single item arrays to item value

Everything becomes an array. Can we copy the behavior from other parsers to (optionally) only become an array when more than 1 child item exists?
E.g. this xml node: <STATUS v="O"/>
Now becomes:
"STATUS": [
	{
		"$": {
			"v": "O"
		}
	}
]

I would like this to be:
"STATUS": {
	"$": {
		"v": "O"
	}
}

If XML file structure is fixed and known, you can use mappings to fetch suitable JS structures from XML (see docs). Furthermore, with mappings you can process XML streams by chunks, feeding those chunks to Xml2VarBuilder object and using currently constructed JS structures, which has beed formed on those data, which alredy has been feeded. Furthermore, after processing you can clear those JS structures in the middle on feeding, freeing memory. So, with mappings you can develop processing of huge XML files/streams with very small memory usage. See test/chunked_dowload.js for example code. But, again, you must know XML structure. If no, then AnyXml2VarBuilder is your friend:) Concerning arrays, I will try to see, what can I do with this issue.

I understand. Creating a mapping for a big XML source is not always easy, and requires extra maintenance when the source keeps changing.
It would be nice to find a way to have a (disabled by default) option for this that's more efficient than recursively looping over the entire result afterwards.
For one reason, it would make nkit a snap-in replacement for xml2js, xml2json and xml2js-expat. And I'm hoping it will gain popularity.

xml2js

explicitArray = false

An array is created only if there is more than one child node

xml2json

arrayNotation = false

XML child nodes are not always treated as arrays

xml2js-expat

Works like xml2js with explicitArray = false

PS - Can we create a custom mapping? E.g. "foo" becomes true and "bar" becomes false?

Ok, Sander, I will do it.
About custom mapping for booleans: I can add options for nkit.Xml2VarBuilder: "true_variants" and "false_variants". Usage:
var options = {
   true_variants: ["True", "true", "Yes", "yes", "foo", "Foo", "On", "on"],
   false_variants: ["False", "false", "No", "no", "bar", "Bar", "Off", "off"]
}

var builder = new nkit.Xml2VarBuilder(options, mappings);
...// other code

@eye3

Ok, Sander, I will do it.

Much appreciated! :+1:

I can add options for nkit.Xml2VarBuilder

That helps, e.g. for XMLs in a specific language. But for custom mappings it would be versatile to have the user specify custom functions like for example so:
mapping = [
    "name": ["/person/name", "string"],
    "age": ["/person/birthday", function(strDate) {
        return ~~((Date.now() - +new Date(strDate)) /<PHONE_NUMBER>0))
    }]
]

I added option 'explicit_array' for nkit.AnyXml2VarBuilder. You can get version 2.4.4.
Also, can you please look to file test/compare.js. I comparing nkit with rapidx2j, xml2js-expat and xml2js on big but simple xml. You right, rapidx2j is very fast. But it seems that nkit with mappings is even faster or has the same speed.

"true_variants" and "false_variants" I will add later.
I thought about user-defined functions in mapping. It is interesting idea, but not now. In the future: I have no time for this work yet.

@eye3 said:

Also, can you please look to file test/compare.js. I comparing nkit with rapidx2j, xml2js-expat and xml2js on big but simple xml. You right, rapidx2j is very fast. But it seems that nkit with mappings is even faster or has the same speed.

Mappings aren't fair (for testing). They are essentially rules to skip parsing of certain things. That's very good for a specific use case, but not for comparing with other parsers.
I'm comparing complete translation into an Object. I've added some markdown to this script I made for deciding which parser to use. Check it out here:
https://github.com/Redsandro/node-xml2js-olympics#rankings
Since rapidx2j does not support common options to make it a valid swap-in replacement, I think I might soon port to nkit. :smiley:

I added "true_variants" and "false_variants" options.
See docs (https://www.npmjs.com/package/nkit4nodejs#options-1)

I have made some optimization. Now your node-xml2js-olympics gives first place to nkit on Mac OS and Linux:) On Windows - same result
Mac OS:
nkit           | 1 | 156 ms
rapidx2j    | 2 | 214 ms
xml2json  | 3 | 228 ms
x2je          | 4 | 245 ms
xml2js      | 5 | 709 ms
Ubuntu 2014.04
nkit          | 1 | 148 ms
rapidx2j   | 2 | 176 ms
xml2json | 3 | 243 ms
x2je          | 4 | 247 ms
xml2js      | 5 | 716 ms
Windows 7
rapidx2j    | 1 | 112 ms
nkit           | 2 | 115 ms
x2je          | 3 | 213 ms
xml2json  | 4 | 215 ms
xml2js      | 5 | 623 ms

Interesting. I ran a lot of times in a row, but every time nkit is just a little bit slower than rapidx2j.
However, it's catching up! I have updated the olympics.


Zotero crashing

Hello and thank you for a very needed add-on!
I have been using this add-on for a while, and it has been working perfectly. But recently Zotero crashed every time I tried to open it, and through some debugging with the people at the Zotero forum we finally found that the bug was within this add-on. When i removed it, Zotero could open again. I'm no programmer so will not give any tips on what needs to be done, but in the forum thread there was an advice for a line that should be removed. For further explanation see the thread here: https://forums.zotero.org/discussion/comment/417064#Comment_417064

Woah. Thank you for bringing this to my attention. Will you please give me your system information so that I can better understand this bug?

Since I haven't figured out how to reproduce this bug yet, I'd be very grateful if you are able to test whether the 0.0.19a pre-release solves your issue:  https://github.com/daeh/zotero-markdb-connect/releases/download/v0.0.19a/MarkDBConnect-0.0.19a.xpi

It happened again as soon as I restarted Zotero with the new add-on installed

Here is the system error message I get: System Error Message.txt

Yes, the 0.0.19a has the <script src="chrome://zotero/content/include.js"/> line in overlay.xul commented out. I'm not sure why that line would be suspect (and removing it is obviously not sufficient to fix the issue). I'll dig around. Thank you for the feedback on the pre-release and for the system error.

FYI I made another change that's related to the potential race condition, but since I haven't figured out how to reproduce this bug yet I'm shooting in the dark.
One thing that sticks out to me in the zotero debug log that you uploaded to the BBT issue is that MarkDB-connect is raising a warning that your obsidian vault path cannot be found. That shouldn't cause a crash, but I'm wondering if it somehow related. Do you know why the vault path might not be found?
If you're up for helping me trouble shoot this some more, you can try installing the 0.0.19b release https://github.com/daeh/zotero-markdb-connect/releases/download/v0.0.19b/MarkDBConnect-0.0.19b.xpi
and then uploading the zotero debug log here (same as you did on the BBT issue):
/Applications/Zotero.app/Contents/MacOS/zotero -ZoteroDebugText > ~/Desktop/zotero-debug-19b.txt

Thanks! Yes, I have sometimes changed to a new vault, and that hasn't been a problem with your add-on. Just went into settings and changed the vault path. I have probably not changed that for my latest vault. I will try to fix that as well, and also try your new release. Thank you for your effort. I will upload the debug as soon as possible!

Ok. Go update to the production release and if the crash comes back, just upload the zotero debug log and I'll see if I can gain any more insight into its cause. Thanks for the help troubleshooting. https://github.com/daeh/zotero-markdb-connect/releases/download/v0.0.19/MarkDBConnect-0.0.19.xpi

Hopefully things have been running smoothly with v0.0.19. I'm going to mark this a closed, but please reopen if the problem shows up again, @Kullenej


Circular Dependency on ECR artifact

This is such a powerful architectural pattern, @jpignata - especially with Fargate.
I just wanted to make you aware of a circular dependency issue.  I couldn't figure out an elegant workaround.  Since you are creating a brand new ECR repository that will have zero artifacts until you do a successful build, the ECS service will never complete creation because the task can't move from PENDING to RUNNING state until it can pull the artifact from ECR.  And, the Pipeline can't create yet because it needs an ECS service to deploy to.
The workaround I am currently using is to launch the CloudFormation template, then while the ECS Service is attempting to launch, doing a manual "docker build/tag/push" to the newly created ECR repository.  Once there is an artifact to pull, the ECS service goes to CREATE_COMPLETE status and the Pipeline gets created.
This probably wouldn't be an issue if you're using a pre-existing ECR repository with at least 1 artifact.

The template has an inelegant workaround in place whereby it first pulls a
generic container from Docker Hub. I hate this, but it worked for me in
testing. Did you see differently?
I suspect having a CloudFormation template in the pipeline to manage the
task definition and service is less problematic than the native
ECS/CodePipeline integration, FWIW.
On Sat, May 12, 2018 at 8:13 PM Luke Youngblood<EMAIL_ADDRESS>wrote:

This is such a powerful architectural pattern, @jpignata
https://github.com/jpignata - especially with Fargate.
I just wanted to make you aware of a circular dependency issue; I couldn't
figure out an elegant workaround. Since you are creating a brand new ECR
repository that will have zero artifacts until you do a successful build,
the ECS service will never complete creation because the task can't move
from PENDING to RUNNING state until it can pull the artifact from ECR. And,
the Pipeline can't create yet because it needs a running ECS service to
deploy to.
The workaround I am currently using is to launch the CloudFormation
template, then while the ECS Service is attempting to launch, doing a
manual "docker build/tag/push" to the newly created ECR repository. Once
there is an artifact to pull, the ECS service goes to CREATE_COMPLETE
status and the Pipeline gets created.
This probably wouldn't be an issue if you're using a pre-existing ECR
repository with at least 1 artifact.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/awslabs/ecs-refarch-continuous-deployment/issues/41,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABNP51tfpzFeKQAnb9YIFhQAYCix-cZks5tx3qUgaJpZM4T8m2z
.

Would you mind pointing out where in the code that workaround is?  I actually rewrote this entire architecture pattern into a single template so that I didn't have that issue that others faced if they wanted to update stack (where you lose the ability to change parameters as part of a stack update, or potentially have stack updates override parameters causing unexpected behavior).

I also agree about your second statement (having a CloudFormation template in the pipeline to manage the task definition and service) - it seems somewhat against the "infrastructure as code" paradigm to have a service like CodePipeline updating the task definition for you, as opposed to versioning that in source control like everything else.  Perhaps if I have enough free time I'll take a stab at it and create a pull request.

See
https://github.com/awslabs/ecs-refarch-continuous-deployment/issues/33 for
discussion on this.
On Mon, May 14, 2018 at 2:02 PM Luke Youngblood<EMAIL_ADDRESS>wrote:

I also agree about your second statement (having a CloudFormation template
in the pipeline to manage the task definition and service) - it seems
somewhat against the "infrastructure as code" paradigm to have a service
like CodePipeline updating the task definition for you, as opposed to
versioning that in source control like everything else. Perhaps if I have
enough free time I'll take a stab at it and create a pull request.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/awslabs/ecs-refarch-continuous-deployment/issues/41#issuecomment-388908711,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABNP8w9XdweYNNLJNjWMkMekYFetGbEks5tycasgaJpZM4T8m2z
.

See
#33 for
discussion on this.

Great!  That actually looks like a better option, to deploy with DesiredCount 0.  By merging all the nested templates into 1, I've already fixed the issue with parameter overrides in the nested templates getting overwritten by stack updates.


 Just add the attribute midilearn=true like that  <webaudio-knob midilearn=true ... > and that's all :-) It works with knobs, switches, sliders.

Thanks, but this repository has nothing to do with the UI. Please, add this as an issue on the UI repo.

I just wanted to inform you that the webaudiocontrols lib you use has been updated. If your rebuild your synth in order to use the last version, and add a midilearn=true to <web-audio-knob midilearn=true>, you'll get a right click context menu, making the GUI of Viktor-NV1 midi controllable. Having your online demo midi controllable (knobs, sliders, switches) would be interesting...


Writing multibyte strings

The current implementation of writeString and maybe also writeProperty and writeKey has the problem, that the length (s:<length>) of multibyte strings is not written correctly. This results on the PHP side in unserialize() [function.unserialize]: Error at offset ...
Unfortunately, you must give the length of a serialized string in bytes instead of characters. However, the byte count depends on the character encoding.
When testing the serializer with a servlet I didn't immediately notice this, because the standard encoding of the output is ISO-8859-1 (one character is always one byte).  Only when switching to UTF-8 (response. setCharacterEncoding("UTF-8") and using german umlauts the problem came up.
My instant fix for UTF-8 looks like this:
Writer.java:
...
import static java.nio.charset.StandardCharsets.UTF_8;
...
    public void writeString(String value)
    {
        setState(state.value());

        buffer.append("s:");
        buffer.append(value.getBytes(UTF_8).length);
        buffer.append(":\"");
        buffer.append(value);
        buffer.append("\";");
    }
...

It would certainly be better if the desired character encoding could be given to the writer.
Translated with www.DeepL.com/Translator.

It's a bug indeed.
I make changes to the builder to allow specifying a default charset when creating the serializer. Also, I'll add a new parameter to serializeString allowing to define a custom charset as per value.
Please allows me a few days to release a new version with the fixes.

I just released the version 0.6.0 that covers this issue. Could you please check if it covers your use case?
You can check the full release description here:
https://github.com/marcospassos/java-php-serializer/releases/tag/0.6.0
I've also updated the docs to reflect the new feature:
https://github.com/marcospassos/java-php-serializer

It works like a charm now.
Thank you very match for your quick support.

Closing as the issue has been fixed.


Linux SDK is not being built with sysroot

The SDK building bots are not using the new GN options to build with wheezy sysroots, but are using the old method of setting c++ environment variables to --sysroot... and so on.
The new SDL builds therefore need glibc 2.16 and will not run on precise builders or other machines without glibc 2.16.
The way to fix this is to add the right environment variable to the SDK builder recipe.
Since we uploaded a 1.22.0-dev.9.0 SDK to cloud storage to be downloaded to the repo when checking out, this is now hitting our 32-bit dartium builder.  I will revert the SDK download change, and land it with a new version without the glibc problem.
We need to fix this immediately, before sending out another dev version and before building stable.

@whesse what is the status of this?

It is fixed.  It will be in the next full push to dev.  It should also be in any patches to dev - I missed putting it in -dev.9.1


Browser and Opreating System Data is not showing in Dashboard.

Hello Team,
Can you please help me get the browser and os data in goaccess dashboard.
Attaching screen shot for the reference. browser and os data showing unknown

Thanks,

Please attach a few lines from your access log to determine which log-format you need. Thanks.

Below is the access log entry.
<IP_ADDRESS> - - [23/Feb/2017:04:30:57 -0500] "GET /etc/designs/alecensa/images/alecensa/splash/btn-splash-arrow.png HTTP/1.1" 200 1229 "https://www.example.com/tel:18882494918" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"

This should do it:
 goaccess -f access.log --log-format=COMBINED

or uncomment this line from your config file:
log-format=COMBINED

Tried it but still no browser and os data is coming its showing unknown

For the log line you posted above works fine. Do you have mixed log formats in your access.log?

Worked fine with below combination.
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
log-format COMBINED


sds.h warning C4244

My code compile with flag warning treated as error and i get warning
hiredis\sds.h(101): warning C4244: 'return': conversion from 'uint64_t' to 'size_t', possible loss of data
hiredis\sds.h(126): warning C4244: 'return': conversion from 'uint64_t' to 'size_t', possible loss of data
hiredis\sds.h(194): warning C4244: 'return': conversion from 'uint64_t' to 'size_t', possible loss of data

Is size_t 32 bits wide on your system?
What's the exact OS you're compiling on.  I assume some variant of Windows because of the backslashes but more specific information would be useful.
This conversion is likely safe because if your size_t is only 32 bits wide, we can't have malloced more memory than that anyway (since malloc will take a size_t).

Is size_t 32 bits wide on your system?
Windows, MSVC 16 (2019) x86

What's the exact OS you're compiling on. I assume some variant of Windows because of the backslashes but more specific information would be useful.

This conversion is likely safe because if your size_t is only 32 bits wide, we can't have malloced more memory than that anyway (since malloc will take a size_t).
Yes, it's correct, but generate warning. And if i compile code with /WX (warning as error) i get error :(

There aren't any current plans to fix this warning in Windows so I'll close the issue.


${fileBasename} does not seem to work

Issue Type: Bug
Wanted to debug my very simple C test code unter "Test.c".
Made a succesful build and tried to run it with this "lauch.json" while being in "Test.C":
{
"name": "Start Current file's exe",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/${fileBasename}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"console": "externalTerminal"
}
But I get an error that "...\Test.c.exe does not exist"
the same that I get if I just use
"program": "${workspaceFolder}/${file}.exe"
which suggests to me that ${fileBasename} does not do what it should.
Am I mistaken?
VS Code version: Code 1.66.0 (e18005f0f1b33c29e81d732535d8c0e47cafb0b5, 2022-03-30T05:50:14.623Z)
OS version: Windows_NT x64 10.0.19044
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz (12 x 2592)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: unavailable_offvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.86GB (16.16GB free)

Process Argv
--crash-reporter-id 547d5464-444a-4155-8192-63f2e7892352

Screen Reader
no

VM
0%

Extensions (18)

Extension
Author (truncated)
Version

html-snippets
abu
0.2.1

bracket-select
chu
2.0.2

vscode-html-css
ecm
1.13.1

hjson
lak
0.3.2

vscode-language-pack-de
MS-
1.66.3

csharp
ms-
1.25.2

python
ms-
2022.4.1

vscode-pylance
ms-
2022.5.1

jupyter
ms-
2022.3.1000901801

jupyter-renderers
ms-
1.0.9

remote-wsl
ms-
0.66.3

cmake-tools
ms-
1.12.27

cpptools
ms-
1.11.5

cpptools-extension-pack
ms-
1.3.0

powershell
ms-
2022.11.0

pretty-json
sup
0.0.4

mako
tom
0.2.0

cmake
twx
0.0.17

(1 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstes627:30244334
pythonvspyl392:30443607
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vscaac:30438847
vsclangdc:30486549
c4g48928:30535728
dsvsc012:30540252
azure-dev_surveyone:30548225
pyindex848cf:30577861
nodejswelcome1:30587005
3biah626:30602489
gswce1:30612156
iaj6b796:30613358
89544117:30613380

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.73.1. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Did you find https://code.visualstudio.com/docs/editor/variables-reference#_predefined-variables ?
Maybe you want to be using ${fileBasenameNoExtension}

Great, thank you, that does the job.

Good. Please close the issue.


conan failing

I have never used conan so troubleshooting errors is a bit difficult.
$ conan --version
Conan version 1.1.1
$conan remote add bincrafters -i 0 https://api.bintray.com/conan/bincrafters/public-conan
$conan remote add DEGoodmanWilson -i 0 https://api.bintray.com/conan/degoodmanwilson/opensource
$ conan install -o build_luna_examples=True --build=missing
usage: conan install [-h] [-g GENERATOR] [-if INSTALL_FOLDER] [-m [MANIFESTS]]
[-mi [MANIFESTS_INTERACTIVE]] [-v [VERIFY]]
[--no-imports] [-u] [-pr PROFILE] [-r REMOTE]
[-o OPTIONS] [-s SETTINGS] [-e ENV]
[-b [BUILD [BUILD ...]]]
path
conan install: error: too few arguments
ERROR: Exiting with code: 2
$ conan install .
Version range '~=1.2' required by 'gnutls/3.6.2@DEGoodmanWilson/stable' resolved to 'zlib/1.2.11@conan/stable'
libmagic/5.29@DEGoodmanWilson/testing: Not found in local cache, looking in remotes...
libmagic/5.29@DEGoodmanWilson/testing: Trying with 'DEGoodmanWilson'...
libmagic/5.29@DEGoodmanWilson/testing: Trying with 'bincrafters'...
libmagic/5.29@DEGoodmanWilson/testing: Trying with 'conan-center'...
ERROR: Unable to find 'libmagic/5.29@DEGoodmanWilson/testing' in remotes

Howdy! I'm sorry to say that for a range of reasons, the current stable version of Luna does not build, at all. This is a known issue, and is the result of changes in various dependencies as you can see. I'm really sorry!
You can help us test the newest beta branch, however. There are some problems getting it to build too, unfortunately, but help is certainly welcome. Look at luna/5.0.0@DEGoodmanWilson/testing, if you don't mind?


Patch v0.19.2 prod cli trigger

Issue #, if available:
Description of changes:
Patch v0.19.2 prod cli trigger
Testing (if applicable):
Documentation added/planned (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve