Setting instance level attributes in Reflex as a way to set context data is a confusing API

Feature Request
Background:
I want to start out by saying Im new to sockpuppet, but love this project. One thing though. I find setting instance level attributes in Reflexes as a way to update context data to be a confusing API
Related to issue #43, It would be nice to make the documentation more explicit that user added reflex attributes get propagated into the context data during refreshes.
I also find the existence of the context attribute in reflexes promotes this confusion. For myself and other uninitiated, setting context in a reflex instance has surprising behavior:

The context attribute is only populated with data after calling get_context_data(), and setting the context attribute overrides the data returned by get_context_data.

>>> reflex.context
{}
>>> reflex.get_context_data()
{'stimulus_reflex': True, 'view': <app.views.NewView object at 0x7ff32cdb36d0>}
>>> reflex.context
{'stimulus_reflex': True, 'view': <app.views.NewView object at 0x7ff32cdb36d0>}
>>> reflex.context = {"field2": "value2"}
>>> reflex.get_context_data()
{'field2': 'value2'}

Fields added to the context attribute in the reflex do not get passed to the template and view.

Possible solutions
Editing the documentation to better explain the API for changing context data would be a first step. A further improvement could be made to the overall API in one of two ways:

Make context "private" by prepending with a "_". Right now it looks like its part of the API and not something reserved for internal use.
Modify behavior where context data is pulled from reflex instance attributes, and instead update/merge with data from context.

class MyReflex(Reflex):
    def update(self):
        self.field = "data"

becomes
class MyReflex(Reflex):
    def update(self):
        self.context.field = "data"

I think option 2 is a better direction but it would be a breaking change. It would be ideal to release a minor version where context is pulled both from the context attribute and instance level attributes before phasing out the instance level attribute propagation in a major version.
Maybe I am confusing some of the intended API and behavior. Would love to hear others thoughts.
PR link
TBD

Thank @dylanjw for opening a thoughtful issue. I agree that editing the documentation to become clearer is definitely a good first step. It should definitely be mentioned in clearer terms on the reflex section in the documentation. If you've got suggestions to where you would like to see it elsewhere I'm open to hear it.
What I had done earlier is to exclude "protected variables" > https://github.com/jonathan-s/django-sockpuppet/blob/master/sockpuppet/consumer.py#L237, however I had missed to add context to that. I guess it would be useful make a warning in the commandline if the user tries to add variables that are protected, mentioning context more clearly in the documentation should be done as well. Making context a private variable is also a good idea.
With that out of the way it should become less confusing for a user, or would you still find it confusing? Perhaps @nerdoc or @DamnedScholar have some thoughts as well?

What if Reflex.get_context_data() set to Reflex._original_context (removing the part where it aborts fetching the original context if there's already a context) and Reflex.context had a setter that set to Reflex._new_context? Then Reflex.context could have a getter that returns Reflex._original_context.update(self._new_context) and the original context would never get overridden on accident.
I do think it makes sense to only pass variables under context to the context. It's a little more wordy, less magical, more explicit. It also provides a cognitive separation between your product (what's going to the template) and your workspace (the Reflex and its variables).

Making context a property in the first place would also make impossible to write over. So that would be another safe-guard.

I'd like to make another argument in support of namespacing passed context variables.  Extending the reflex class with new methods/attributes has the potential to be a breaking change for someone with conflicting variable names in their project. While moving over to using context for passing variables is a bit of a pain now, it sets up the reflex class to be more easily extensible in the future.

I agree that editing the documentation to become clearer is definitely a good first step. It should definitely be mentioned in clearer terms on the reflex section in the documentation. If you've got suggestions to where you would like to see it elsewhere I'm open to hear it.

I can open a PR with some doc changes.

I can open a PR with some doc changes.

That would be most welcome :)

I would also be into making the changes as @DamnedScholar suggested, to see what those could look like and keep the discussion going.

I don't know if I understood correctly. But this is one of the thins tat are unnecessarily complicated in Sockpuppet IMHO. First, at the template, you have to set the data-<variable>. and then it is available in the Reflex, as I understood. This creates boilerplate code like the one at https://sockpuppet.argpar.se/quickstart-django:
    CounterReflex#increment"
    data-step="1"
    data-count="{{ count }}"
    >Increment {{ count }}

Why is the data-value needed in the first place?
On the backend side, you need to reference self.element["data-count"] here, scroll down to the 'Untitled' code fragment to get the data. (or self.element.dataset['count'] here? Confusing!
from sockpuppet.reflex import Reflex

class CounterReflex(Reflex):
    def increment(self):
        self.count = (
            int(self.element.dataset['count']) +
            int(self.element.dataset['step'])
        )

It would be much more pythonic to write:
from sockpuppet.reflex import Reflex

class CounterReflex(Reflex):
    # define class variables here, which become automatically
    # available as template context variables in the frontend
    count = 0
    step = 1

    def increment(self):
        self.count += self.step

At the template, this would be
    CounterReflex#increment"
    >Increment {{ count }}

and with available parameters:
    CounterReflex#increment(1)"
    >Increment {{ count }}

    def increment(self, step):

or even dynamically:
    CounterReflex#increment({{ step }})"
    >Increment {{ count }}

class CounterReflex(Reflex):
    count = 0
    step = 1

    def increment(self, inc):
        # the "inc" param here in this case gets filled with the {{step}} variable again. Just to show a use case.
        self.count += inc
        if inc == 1:
            self.step = 2
        else:
            self.step=1

E.g. Unicorn does it linke this, and it is MUCH simpler, and let's the user set instance variables of the class (here Reflex) which automatically become context variables in the reflex' template.
If I would design an API, I'd do it like this...
So @dylanjw, if I understood correctly, this (instance variables are context variables?) is already the current behavior in SP and you would like to change it?
I think the main purpose of designing an API is keeping it simple to understand. Everything else makes it prone to errors on the long term...

The data-count={{count}} attr ATM is needed to get the value back to the server. Unicorn uses the unicorn:model attribute for that, much like Vue.js does.
But even if you keep the data-<...> attributes for explicit copying values to the backend, on the Reflex side, it would be easier to use instance/class (?) attributes to deal with the values, instead of self.element.dataset*stuff

Extending the reflex class with new methods/attributes has the potential to be a breaking change for someone with conflicting variable names in their project. While moving over to using context for passing variables is a bit of a pain now, it sets up the reflex class to be more easily extensible in the future.

Ah ok, now I understand better. Using context is for sure a way to go to not break existing context variables. But again: Unicorn solves this in a brilliant way IMHO: it encapsulates the "component" more than SP: you have a UnicornView which is basically a Reflex, and each of these views has it's own template which renders the "reflex". Context variables are only available within this template.
You can then render these components using a templatetag {% unicorn 'my-component' %} This solves the namespace problem and context var clashing IMHO better.

Im just concerned with the API for passing context variables from the Reflex class to the client. Getting data back from the client to the Reflex is a bit awkward, but is out of scope for the changes being proposed.
This might really just come down to personal opinion on API design. It feels like the Reflex is mixing concerns by putting context variables to be sent to the client as instance attributes. The Reflex is both an object representing a UI interaction and a special datatype for the template context. It feels weird as a user to make sure my instance methods don't clash with template context variables, and also have to work around having any instance variables I add not just internal to the working of the class/instance but also potentially passed to the client.

@dylanjw Having slept on this I think the api that you describe makes sense. Ie
class MyReflex(Reflex):
    def update(self):
        self.context.field = "data"

It should be backwards compatible, so that we can remove the old behaviour in a major version. We should also leave a logging warning if the new api isn't used so that the developer is notified in the command prompt.

Ok - I see this is clearly the better solution, and @dylanjw you're right it's a point of view - how API designing is preferred. In this case, as Reflexes always are in context of a whole view, I definitely opt for separation of context as well... :heart:

I've slept a few nights  on this topic again, and something else occurred to me.
self.context.field = "data"

is great for the writing side of data access. But what about reading? I think this is very confusing as well.
If you just want to read an input element's value, you have to write:
name = self.element["attribute"]["value"]

BTW: according to the docs, the element attribute should have these attributes  directly ("The element property contains all of the Reflex controller's DOM element attributes as well as other properties like, tagName, checked and value."), which it doesn't:

self.element contains 'attributes, which contains a valuedict key. No properties in [Element](https://github.com/jonathan-s/django-sockpuppet/blob/master/sockpuppet/element.py) exceptdataset`, and the attributes dict.
{
  'reflex': 'change->MyReflex#update',
  'controller': 'stimulus-reflex',
  'action': 'change->stimulus-reflex#__perform'
}

which is totally confusing IMHO, and badly documented.
In 99% of all cases I suppose that the user wants to access the "value" of the input field. the element accessor is some sort of low level api (with access to all html attributes etc).
So my suggestion here is something else: Why can't SP provide a higher level API for data reading access?
SP could bind e.g. the value to a value property:
class MyReflex(Reflex):
    def increment(self, step: int = 1):
        name = self.element.value  # shortcut for self.element["attributes"]["value"]
        self.context.upper_name = name.upper()

This would be an approach to get data more easily out of the elements. It's much more readable and pythonic.
Please tell me what you think of that.
I could be something like this in the Element's code:
    @property
    def value(self):
        return self.attributes["value"]

    @property
    def checked(self):
        return self.attributes["checked"]

This would be an approach to get data more easily out of the elements. It's much more readable and pythonic.
Please tell me what you think of that.

That would totally work for me. However it's worth keeping in mind that you can add any attribute to html so doing it through properties as above is probably not the best solution.

... that you can add any attribute to html so doing it through properties as above is probably not the best solution.

That's true. I didn't want to suggest replacing the low-level API with properties. It's just that e.g. value, checked, selectedetc are attrs that are used very often and make sense to have easy accessors. Would make sense to get sane defaults instead of Exceptions too, like when `element.attribute["value"] could raise an Exception when there is no value? The property could just return a "".

Ah, and it's not necessary to do hardcoded properties. Could be a __getattr__ generic one.

I think it would also be preferable to keep the api the same as javascript ie for an  element with a href attribute it would be
element.attributes.href

That way it would be consistent. I would also say it would be good to keep this in two separate PRs for the person who takes this on. Just checking in @dylanjw, were you keen on creating a PR for the context.

ok - but then there's the docs - ATM they are wrong IMHO, even for the current behaviour. as said,  "The element property contains all of the Reflex controller's DOM element attributes as well as other properties like, tagName, checked and value.",
This should (ATM) be: "The element property contains an attribute dict which contains all of the Reflex controllers DOM element attributes as well as other properties like tag_name, checked and value."
Mind that "tagName" is completely wrong.
Would be a very small, but important docs improvement, which costs much time for beginners (like me).

@dylanjw FYI, I committed a documentation update here: https://github.com/jonathan-s/django-sockpuppet/commit/76144ed5e8683b5e95458cbfa57b24d05cf4c835 how it works to set a context right now. This will then be updated in #136.


Added known issue of up to 24 hours outages support

Added known issue of up to 24 hours outages support

Docs Build status updates of commit 9282c1d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Teams/direct-routing-survivable-branch-appliance.md
:white_check_mark:Succeeded

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

Learn Build status updates of commit 6d1c313:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed]

Cannot sync git repo to specified commit because ref +refs/pull/9352/merge has been deleted or has been force pushed.
 If this is pull request, please ensure it is mergeable (no merge conflict) and open (not closed).

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


feat: accept and make use of note template

As discussed in #12, this commit adds a feature to let users configure
their own template note.
This commit also adds documentation on how to use the template system. I
am expecting it to grow as this project evolves and thus the need will
come to support more variables, but we will see how it goes.
Should close #12 too.
@acagastya want to take a look to see if this works better? :)

Let me try this once!


Table Relation Recipient Bank Account

I've tried for the first time to modify a table relation so I've been testing the following in new development:
On Payment Journal the "recipient bank account" should not load the bank accounts from the "vendor no." but the bank accounts from the "Factoring vendor no." if its filled which is a specific field related with vendor table.
So I've changed the default table relation from the field "recipient bank account" to this:

In Yellow are my changes to the standard relation.
Since the behaviour is the same as the standard, my question is: Do the standard relations overwrite changes on already existing relations?

Hi @martinhocosta88 ! We've updated the documentation for this feature: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/properties/devenv-tablerelation-property  . I think this part answers your question: The combined table relation is evaluated top-down. That means that the first unconditional relation will prevail, meaning that you cannot change an existing TableRelation from Customer to Item, since the original table relation is unconditional.

@JonasPatto we do not have any immediate plans to support this scenario. You can go ahead and post this to our Ideas forum at https://aka.ms/BusinessCentralideas, or vote up the idea if its already there. If the idea gathers sufficient support, it will increase the chances that we will consider this for a future release.


Add Code of Conduct

In this PR, I propose adding a Code of Conduct for PolicyBrain.  The goal is to ensure that this environment remains open and welcoming for contributors from all walks of life and levels of technical expertise.  From following threads in other projects and reading about successful open source projects, I think that having a Code of Conduct where misbehaving or simply frustrated members can be referred is an easy, painless way to keep discussions from devolving into ad hominem attacks or other non-productive means of debate.
The Code of Conduct proposed here was copied from pandas.  I welcome and encourage all feedback on this document.
If we decide to keep the working group, then I volunteer myself to be in it.  If you are interested in being in this working group, then please indicate this by leaving a comment below.  Ideally, we would have 2-4 members in this group.

Looks good! It would be great if we have something similar for the Tax-Calculator.

@Amy-Xu said:

Looks good!

Yes, but this is not yet complete, right?
Do we really want this in a PolicyBrain code of conduct?
 +A working group of community members is committed to promptly addressing any
 +reported issues. The working group is made up of pandas contributors and users.
 +Instances of abusive, harassing, or otherwise unacceptable behavior may be
 +reported by contacting the working group by e-mail (email@email.com).
 +Messages sent to this e-mail address will not be publicly visible but only to
 +the working group members. The working group currently includes
 +
 +- ...

@martinholmer thank you for contributing to this discussion.  The Code of Conduct is not complete, and this is the type of discussion that I was hoping for.
I think that a working group would be helpful even though I doubt that it would be used often.  My understanding of its role is that this group is there to guarantee that a person's complaints about the conduct of other contributors or cultural problems within the project will be listened to and addressed.  Without this working group, it may not be obvious who a contributor should reach out to about this type of issue.  Further, it may be easier for the contributor to quit participating all together.
I certainly see no downside to having a group like this.  What are your thoughts on PolicyBrain having a working group for this type of situation?

@hdoupe asked:

What are your thoughts on PolicyBrain having a working group for this type of situation?

I don't forsee any problems with having a working group like this.  But things like this are
always benefit-cost tradeoffs.  I can see benefits, and like you, I imagine the cost to be small.
But what if, for some set of reasons, the cost is larger?

@andersonfrailey do you have any thoughts on the proposed Code of Conduct?

@GoFroggyRun @brittainhard do you have any thoughts on the proposed Code of Conduct?

@hdoupe I think this is a good start for us. I'd also recommend anyone interested in contributing to the Code of Conduct read through Astropy's CoC. I had the opportunity to hear from one of the coordinators from the project talk about it and she said it has been very helpful for keeping the discussions in their PR's and issues on topic and productive.


CI for Node

Contains the compiled JavaScript
Initializes with two players
Starts the game with a random player
Sets the current player to be whoever it is not


Implement post replies

Addresses #20
-Post replies with reply_to param
-README cleanup
-README example of replies

modified a bit to that end:

works for me :)

thanks! still needs a test if anyone wants to write one ^^

Awesome! Let me figure out how to make a test.


virtual-scroll: add support for user-provided content wrapper

fixes #10118

FYI, I'm going to change some things around. I think the attribute selector isn't actually necessary, users can just place the whole table, dl, etc inside the viewport and have it wrapped by the content wrapper

Ok, changed it to suggest wrapping the entire table or list instead. This PR includes changes from #12181 so marking it blocked until that goes in

comments addressed, PTAL

@mmalerba  It looks like this has lint errors with the latest push.

whoops, should be fixed now


[FEATURE]: [Noon] Currency Unit Conversion

:memo: Feature Description

Each currency can be described in terms of base or minor units.
For instance, when dealing with USD currency, the Cent is considered as the minor unit, while the Dollar is considered the base unit.
In Hyperswitch, the amount value is expected to be always provided in minor units.
For example: In USD, If the amount is 1 in base unit (Dollar), then it will be equivalent to 100 in minor units (Cent)
Some of the connectors integrated require the amount to be converted to a desirable unit before being passed to them.
We have functions to_currency_base_unit and to_currency_lower_unit in place to convert the minor unit amount to its decimal equivalent and vice versa. These conversions are handled explicitly based on the connector.

:hammer: Possible Implementation

ConnectorCommon trait have been implemented for the connector.
This trait contains get_currency_unit method. This method needs to be implemented.
It will define what type of conversion needs to be done during connector_router_data creation. Concurrently handle the creation of connector_router_data to be passed for the connector request body creation.
You can check this PR for further reference https://github.com/juspay/hyperswitch/pull/2196

:bookmark: Note: All the changes needed should be contained within hyperswitch/crates/router/src/connector/
:package: Have you spent some time checking if this feature request has been raised before?

[X] I checked and didn't find a similar issue

:package: Have you read the Contributing Guidelines?

[X] I have read the Contributing Guidelines

:sparkles: Are you willing to submit a PR?

Hello! I'd like to give this a shot. Would someone please assign it to me?
Thank you!

Hi @DostoevskyOnLinux , I have assigned this issue to you.

Hey @Sakilmostak sir, I've already raised a PR that resolves this issue.
Thanks!

Hmm. I can find another one to fix, I guess...

Hey @DostoevskyOnLinux for any problem in regards to implementation you can hit to our official slack or discord server. We will be glad to help : )

Hey @DostoevskyOnLinux ,
Are you still working on this issue?
Please let us know if you need any help:)

Hey, I'd like to work on this!
I have a PR waiting to be merged and would love to contribute my 10th PR to Hyperswitch!

Sure @SagarDevAchar, I'll assign this to you.

Closing because currency conversion implementation have changed


Restore console_scripts on Windows

What does this PR do?
Restore console_scripts on Windows
Why was it initiated? Any relevant Issues?
We successfully build and install this scripts (as previously) on Windows via MSYS2 distro.

In Nuitka I have this for MSYS2:
def isWin32Windows():
    """The Win32 variants of Python does have win32 only, not posix."""
    return os.name == "nt"

def isPosixWindows():
    """The MSYS2 variant of Python does have posix only, not Win32."""
    return os.name == "posix" and getOS() == "Windows"
```

So, how does the code in ``setup.py`` affect MSYS2 then?

We use setup.py to build and install Nuitka when create a package.

@podsvirov but os.name should be posix on your MSYS2, is that not correct (anymore) ?

The MSYS2 distro has only one subsystem named MSYS where you can get:
user@host MSYS ~
$ which python
/usr/bin/python

user@host MSYS ~
$ python -c "import os; print(os.name)"
posix

We do not provide python-nuitka package for this subsystem.
But for example for MINGW32 (and others) subsystem we get:
user@host MINGW32 ~
$ which python
/mingw32/bin/python

user@host MINGW32 ~
$ python -c "import os; print(os.name)"
nt

This subsystems support WinAPI.

So, what is MINGW32 there? Is it part of the MSYS2 distribution, and how to recognize it.
Because the console scripts on CPython with Windows become executable that are just broken, while the batch files work well, which i why it got removed.
You probably noticed, that I hadded Vendor detection for Python variants, it would be nice to have something there, and then the if statement could be isWin32Windows() and not isMinGW32Python() or something like that.

I have no quick answer now. But MSYS2 distro also have clang-based subsystems.
For example for CLANG32 we also get:
user@host CLANG32 ~
$ which python
/clang32/bin/python

user@host CLANG32 ~
$ python -c "import os; print(os.name)"
nt

Enother example how I run console script:
user@host MINGW32 ~
$ /mingw32/bin/nuitka3.exe --version
<IP_ADDRESS>
Commercial: None
Python: 3.9.7 (default, Nov 21 2021, 22:15:17)  [GCC 11.2.0 32 bit]
Executable: D:/msys32/mingw32/bin/python.exe
OS: Windows
Arch: x86

For MSYS2, I only ever considered the Posix to be existant and was always confused with the other thing. I am updating the MSYS2 install and will check out, if I can find anything to recgnize MSYS2 files, like with Anaconda, which has a specific directory under its install.

Being compiled with GCC is a strong hit, CPython on Windows has MSVC. I am also interested in recognizing them.

And also, the extension suffixes for modules have this, .cp39-mingw_x86_64.pyd which must be very specific.

So on Nuitka factory, I added the flavor detections for MinGW and Posix, and changed setup.py to remove the batch files for MSYS2, and add the console scripts for it though. It is now importing Nuitka code in setup, not sure how good an idea that is, but I don't want to duplicate.
Bonus points, if you can tell what the Clang detection function should look like and add it.

For CLANG32 subsystem i get:
user@host CLANG32 ~
$ which python
/clang32/bin/python

user@host CLANG32 ~
$ python -c "import sys; print(sys.version)"
3.9.7 (default, Nov 21 2021, 23:49:16)  [GCC Clang 13.0.0 32 bit]

user@host CLANG32 ~
$ python -c "import sysconfig; print(sysconfig.get_config_var('SO'))"
<string>:1: DeprecationWarning: SO is deprecated, use EXT_SUFFIX
.cp39-mingw_i686_clang.pyd

Looks like the isMSYS2MingwPython function will work for both MINGW and CLANG subsystems.

Uhm, Ok, I assume it's OK to treat them both the same in nuitka, for what we do with it so far, right? Not sure if you wanted to change default to --clang for it though. I am going to add something for the flavor detection that allows us to see the different in --help output, but I guess you can confirm that Nuitka is working with it right now.

For MINGW32:
nuitka3 --mingw64 \
--show-scons \
hello.py
Nuitka-Options:INFO: Used command line options: --mingw64 --show-scons hello.py
Nuitka-Options:INFO: Detected static libpython to exist, consider '--static-libpython=yes' for better performance, but errors may happen.
Nuitka:INFO: Starting Python compilation with Nuitka '<IP_ADDRESS>' on Python '3.9' commercial None.
Nuitka:INFO: Completed Python level compilation and optimization.
Nuitka:INFO: Generating source code for C backend compiler.
Nuitka:INFO: Running data composer tool for optimal constant value handling.
Nuitka:INFO: Running C compilation via Scons.

Nuitka-Scons:INFO: CC 'D:\\msys32\\mingw32\\bin/gcc.exe' version check gives (11, 2, 0)
Nuitka-Scons:INFO: Initial CC: 'gcc'
Nuitka-Scons:INFO: Initial CCVERSION: (11, 2, 0)
Nuitka-Scons:INFO: Backend C compiler: gcc (gcc).
Nuitka-Scons:INFO: Using C11 mode: True
Scons: Compiler used D:\msys32\mingw32\bin/gcc.exe
Nuitka-Scons:INFO: LTO mode auto was resolved to mode: 'no' (not known to be supported).
FATAL: Error, cannot find 'python39.lib' file.
make: *** [Makefile:11: hello.exe] Error 1

For CLANG32:
nuitka3 --clang \
--show-scons \
hello.py
Nuitka-Options:INFO: Used command line options: --clang --show-scons hello.py
Nuitka-Options:INFO: Detected static libpython to exist, consider '--static-libpython=yes' for better performance, but errors may happen.
Nuitka:INFO: Starting Python compilation with Nuitka '<IP_ADDRESS>' on Python '3.9' commercial None.
Nuitka:INFO: Completed Python level compilation and optimization.
Nuitka:INFO: Generating source code for C backend compiler.
Nuitka:INFO: Running data composer tool for optimal constant value handling.
Nuitka:INFO: Running C compilation via Scons.

Nuitka-Scons:INFO: Initial CC: 'cl'
Nuitka-Scons:INFO: Initial CCVERSION: None
FATAL: Error, Visual Studio required for using ClangCL on Windows.
make: *** [Makefile:11: hello.exe] Error 1

Both not work currently...

Can you you try --static-libpython=yes on gcc mingw, that should solve your issue, and we can then make it automatically enabled, then we got that sorted out I guess.
As for clang, for Win32 there is only ClangCL right now, and gcc based clang has not been done for Windows. I have not yet tried clang from winlibs, nor of course not this clang of MSYS2. I might spend a bit of time of that, also because I will be curious of performance when I do numbers for Windows soon.

I pushed to factory a change that allows for MSYS2 to be using --clang, not sure what good it is yet.

So, the downloaded winlibs can be switched to clang with --mingw and --clang and works nicely. I believe that should pave your way to using merely --clang. I think, with MSYS2 MinGW, we should enforce mingw, if we don't do that already. I think for gcc it's derived automatically by being used. For the clang it may not do it, we can change that though.

This seems resolved to me. The only thing would be to automatically detect the Clang usage, I will occasionally install the Clang form and make it do that, maybe next week.

I have given some love to MSYS2, however I think I am seeing that LTO mode felt very slow somehow for MSYS2, not sure. I repaired to tk-inter plugin, because I wanted to make gi plugin always on, and I know MSYS2 is using it a lot, so I needed to use it for once I guess. The --mingw64 option is now the default, previously I have more or less only disabled cl.exe, and generally it feels smooth. However, for --standalone not being use, the link library is not usable it seems, which is bad and potentially a MSYS2 bug.

Good. The command nuitka3 now runnable over all appropriate MSYS2 subsystems/shells without any other modification.

Сontinue the discussion.
For MINGW32:
nuitka3 --mingw64 \
hello.py
Nuitka-Options:INFO: Used command line options: --mingw64 hello.py
Nuitka-Options:INFO: Detected static libpython to exist, consider '--static-libpython=yes' for better performance, but errors may happen.
Nuitka:INFO: Starting Python compilation with Nuitka '<IP_ADDRESS>' on Python '3.9' commercial None.
Nuitka:INFO: Completed Python level compilation and optimization.
Nuitka:INFO: Generating source code for C backend compiler.
Nuitka:INFO: Running data composer tool for optimal constant value handling.
Nuitka:INFO: Running C compilation via Scons.
Nuitka-Scons:INFO: Backend C compiler: gcc (gcc).
FATAL: Error, cannot find 'python39.lib' file.
make: *** [Makefile:12: hello.exe] Error 1

But all good with static python library:
nuitka3 --mingw64 \
--static-libpython=yes \
hello.py
Nuitka-Options:INFO: Used command line options: --mingw64 --static-libpython=yes hello.py
Nuitka:INFO: Starting Python compilation with Nuitka '<IP_ADDRESS>' on Python '3.9' commercial None.
Nuitka:INFO: Completed Python level compilation and optimization.
Nuitka:INFO: Generating source code for C backend compiler.
Nuitka:INFO: Running data composer tool for optimal constant value handling.
Nuitka:INFO: Running C compilation via Scons.
Nuitka-Scons:INFO: Backend C compiler: gcc (gcc).
Nuitka-Scons:INFO: Compiled 17 C files using ccache.
Nuitka-Scons:INFO: Cached C files (using ccache) with result 'direct_cache_hit': 8
Nuitka-Scons:INFO: Cached C files (using ccache) with result 'primary_storage_hit': 9
Nuitka:INFO: Keeping build directory 'hello.build'.
Nuitka:INFO: Successfully created 'hello.exe'.

Script work:
$ python3 hello.py
Hello, Nuitka!

But executable not:
$ ./hello.exe
Python path configuration:
  PYTHONHOME = (not set)
  PYTHONPATH = (not set)
  program name = 'python3'
  isolated = 0
  environment = 1
  user site = 1
  import site = 0
  sys._base_executable = 'D:/tmp/python/nuitka/hello.exe'
  sys.base_prefix = 'D:/a/msys64/mingw32'
  sys.base_exec_prefix = 'D:/a/msys64/mingw32'
  sys.platlibdir = 'lib'
  sys.executable = 'D:/tmp/python/nuitka/hello.exe'
  sys.prefix = 'D:/a/msys64/mingw32'
  sys.exec_prefix = 'D:/a/msys64/mingw32'
  sys.path = [
    'D:/a/msys64/mingw32/lib/python39.zip',
    'D:/a/msys64/mingw32/lib/python3.9',
    'D:/a/msys64/mingw32/lib/lib-dynload',
    '',
  ]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'

Current thread 0x00001f08 (most recent call first):
<no Python frame>

Looks like Nuitka cache some path values at build tyme (CI by MSYS2) and then use it.

The python39.lib is code that was probably intended for Anaconda only and has been deactivated on current factory, so that is good.
The --mingw switch need not be given anymore. It's the default when MSYS2 flavor is detected, I changed that the other day.
The .cmd file Nuitka creates is supposed to make it find the uninstalled Python, and is apparently not correct for accelerated mode. I think it sets PYTHONHOME, which will then override the MSYS2 build paths. Something is not quite matching there, but the accelerated executable not working without cmd is normal, but I think it was not working with. Maybe something incompatible with cmd files in MSYS2 and it should be a shell script. I will compare.

Indeed, this is the output from the CMD:
Nuitka:INFO: Launching 'Functions.cmd'.
Python path configuration:
  PYTHONHOME = 'c:/msys64/mingw64/bin'
  PYTHONPATH = (not set)
  program name = 'python3'
  isolated = 0
  environment = 1
  user site = 1
  import site = 0
  sys._base_executable = 'C:/Users/kayha/repos/Py2C/examples/Standalone/Functions.exe'
  sys.base_prefix = 'c:/msys64/mingw64/bin'
  sys.base_exec_prefix = 'C:/msys64/mingw64/bin'
  sys.platlibdir = 'lib'
  sys.executable = 'C:/Users/kayha/repos/Py2C/examples/Standalone/Functions.exe'
  sys.prefix = 'c:/msys64/mingw64/bin'
  sys.exec_prefix = 'C:/msys64/mingw64/bin'
  sys.path = [
    'C:/msys64/mingw64/bin/lib/python39.zip',
    'c:/msys64/mingw64/bin/lib/python3.9',
    'C:/msys64/mingw64/bin/lib/python3.9/lib-dynload',
    '',
  ]

Much better, and the encodings package is in c:/msys64/mingw64/lib/python3.9 on my system, so it could have been found.

With Anaconda and CPython, setting PYTHONHOME is enough to make it load, but some modules need to be contained for it to work, esp. ones uses during sys init. I think MSYS2 is failing to do that for the static link library, rendering it unusable. I am very sure, this once worked.


[FEATURE] Consider deprecated doc comment tag

Any use of tag deprecated in php doc comments is taken into account.
The output is based on the automatic determination of a version since which a deprecation exists, introduced by the keyword "since" and a version for which the removal is carried out, introduced by the keyword "removed".
If no "since" version could be determined, it is assumed that the main version preceding the "removed" version is the "since" version. However, if no "removed" version was specified, the corresponding addition is omitted.
For example the following php comment:
/**
 * Any text in RST format
 *
 * @deprecated since v11.5, will be removed in TYPO3 v12.0. Any additional text separated by one of ,.;|-
 */

will be transformed to the following RST block:
Any text in RST format

..  attention::
   ..  deprecated::  11.5
       Will be removed in version 12.0.
       Any additional text separated by one of ,.;|-

References: TYPO3-Documentation/TYPO3CMS-Reference-ViewHelper#38

I also checked if there is a good way to add deprecation information to the xsd file as metadata. From what I could see in the W3C standard, there doesn't seem to be a matching tag in the spec for that type of information, however it's possible and allowed to add custom tags to the xml file. So this is something we could implement in the future. However, I agree that this solution is more pragmatic and can solve the issue at hand.

Thank you for your feedback.
I have now simplified the commit so that the content of the doc comment tag is returned directly.
The use of the RST formatting ".. deprecated::  " was no longer possible, as the version number is no longer determined. Nevertheless, the information that users need in the ViewHelper documentation is now visible.
The only textual adjustment I make is that "@deprecated" becomes "Deprecated", followed by the text behind the tag.


feat: image transformation (#128)

What kind of change does this PR introduce?
Bug fix, feature, docs update, ...
What is the current behavior?
Please link any relevant issues here.
What is the new behavior?
Feel free to include screenshots if it includes visual changes.
Additional context
Add any other context or screenshots.

:tada: This PR is included in version 2.1.0-next.4 :tada:
The release is available on:

GitHub release
npm package (@next dist-tag)

Your semantic-release bot :package::rocket:


Missing File <GxGDE0213B72B/GxGDE0213B72B.h>      // 2.13" b/w

Hello
Readme file says for the 2.13" to use
#include <GxGDE0213B72B/GxGDE0213B72B.h>      // 2.13" b/w
I cannot find this file. Instead, I have been using
<GxGDEH0213B73/GxGDEH0213B73.h>
This seems like it works, but it the screen flashes 5 times between screen refreshes.
Which library driver is to be used?

I think you should get the master version of the following project [https://github.com/lewisxhe/GxEPD]
(not the release 3.0.5 version)

Thank you - I will take a look.


Eject doesn't work

I realized that yarn run eject throws the following error in the console:
(node:21537) UnhandledPromiseRejectionWarning:
Unhandled promise rejection (rejection id: 1):
Error: ENOENT: no such file or directory, open
'/Users/david/repos/test-inferno/node_modules/inferno-scripts/.babelrc'
(node:21537) DeprecationWarning: Unhandled promise rejections are deprecated.
In the future, promise rejections that are not handled will terminate the Node.js process
with a non-zero exit code

Looks like babelrc should be renamed to .babelrc

Well the .babelrc file had been renamed to babelrc in one of the commits from create-react-app. In any case I just found out that this is indeed a bug in create-react-app. See here https://github.com/facebookincubator/create-react-app/issues/1806#issuecomment-286143470

FYI: I don’t recommend tracking master of Create React App and releasing it in forks. Master is never ready. It is much safer to apply your changes on top of the latest stable release.

Okay, thanks for Info @gaearon

Yea, sorry about it. I guess it’s not super intuitive. If you have suggestions on how we could do this better please raise an issue.


Bug: PATCH/PUT methods doesn't allow body content

Only POST requests are allowed to have body, but PATCH and PUT ones usually need it as well.

PATCH and PUT should support HTTP requests with a body. This behavior is tested here: https://github.com/mnapoli/bref/blob/6c8c4de1ea706bb66f5ab2544860d8a8d9f9bfbe/tests/Runtime/PhpFpmTest.php#L218-L302
Those tests were added in #297
Could you write a test that reproduces the bug you are seeing?

Seems to be solved, identified before April 8th.


Database Migrations not published in L5

I've just found quite a minor issue. The Migrations aren't published by default, so that the Tables are missing on a virgin install.
Im not experienced in Package Dev but I suppose it could be solved by adding sth. like
$this->publishes([
    __DIR__.'/../database/migrations/' => base_path('/database/migrations')
], 'migrations');

to Watson\Autologin\AutologinServiceProvider->boot()
Hope this helps!

I published a 0.3.2 release shortly after the fix earlier today. I'm not sure migrations publish automatically in Laravel 5 (they didn't in Laravel 4) but the readme now contains the commands to publish the config and migrations for your project.

Alright, sorry, didn't see that.

No worries, was going to say let me know if it doesn't work but I'll assume now that it's okay!


Add note for windows user / mvn wrapper

Coverage remained the same at 67.914% when pulling 88166739be819d4a94fddc86a1c3d925c31afbe2 on mvn_wrapper_win into de90048f592118457417830ed9805aa40438b759 on master.


Cannot find module '[...]/environment'

🐞 Bug report
Description
When running npx scully --scanRoutes --project=[project], with a config file that imports environment, error is thrown.
Not sure if this is related to https://github.com/scullyio/scully/issues/571.
🔬 Minimal Reproduction
Use import { environment } from './apps/[...]/src/environments/environment'; in config file, in an nx repo. I am not sure this would happen to all repos. I will create minimal reproduction and add it here later.
💻Your Environment
macOS Monterey 12.2
Angular Version:

13.7.2

Scully Version:

"dependencies": {
    "@angular/animations": "~13.2.0",
    "@angular/common": "~13.2.0",
    "@angular/compiler": "~13.2.0",
    "@angular/core": "~13.2.0",
    "@angular/forms": "~13.2.0",
    "@angular/platform-browser": "~13.2.0",
    "@angular/platform-browser-dynamic": "~13.2.0",
    "@angular/router": "~13.2.0",
    "@nrwl/angular": "13.7.2",
    "@scullyio/init": "^2.1.11",
    "@scullyio/ng-lib": "^2.1.0",
    "@scullyio/scully": "^2.1.0",
    "@scullyio/scully-plugin-puppeteer": "^2.1.0",
    "rxjs": "~7.4.0",
    "tslib": "^2.0.0",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~13.2.0",
    "@angular-eslint/eslint-plugin": "~13.0.1",
    "@angular-eslint/eslint-plugin-template": "~13.0.1",
    "@angular-eslint/template-parser": "~13.0.1",
    "@angular/cli": "~13.2.0",
    "@angular/compiler-cli": "~13.2.0",
    "@angular/language-service": "~13.2.0",
    "@nrwl/cli": "13.7.2",
    "@nrwl/cypress": "13.7.2",
    "@nrwl/eslint-plugin-nx": "13.7.2",
    "@nrwl/jest": "13.7.2",
    "@nrwl/linter": "13.7.2",
    "@nrwl/tao": "13.7.2",
    "@nrwl/workspace": "13.7.2",
    "@types/jest": "27.0.2",
    "@types/node": "16.11.7",
    "@typescript-eslint/eslint-plugin": "~5.10.0",
    "@typescript-eslint/parser": "~5.10.0",
    "cypress": "^9.1.0",
    "eslint": "~8.7.0",
    "eslint-config-prettier": "8.1.0",
    "eslint-plugin-cypress": "^2.10.3",
    "jest": "27.2.3",
    "jest-preset-angular": "11.0.0",
    "prettier": "^2.5.1",
    "ts-jest": "27.0.5",
    "typescript": "~4.5.2"
  }

🔥 Exception or Error

  x
---------
 We encountered an error executing the config file. "./scully.[project].config.ts"
 Check the error below, and try again later
---------
Error: Cannot find module './apps/[project]/src/environments/environment'
Require stack:
- /Users/fabioemoutinho/code/[project]/scully.[project].config.js
-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:889:15)
    at Function.Module._load (internal/modules/cjs/loader.js:745:27)
    at Module.require (internal/modules/cjs/loader.js:961:19)
    at require (internal/modules/cjs/helpers.js:92:18)
    at Object. (/Users/fabioemoutinho/code/[project]/scully.[project].config.js:4:23)
    at Module._compile (internal/modules/cjs/loader.js:1072:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
    at Module.load (internal/modules/cjs/loader.js:937:32)
    at Function.Module._load (internal/modules/cjs/loader.js:778:12)
    at Module.require (internal/modules/cjs/loader.js:961:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users/fabioemoutinho/code/[project]/scully.[project].config.js',
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>  ]
}

scully.[project].config.js output:

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.config = void 0;
const environment_1 = require("./apps/[project]/src/environments/environment");
/** this loads the default render plugin, remove when switching to something else. */
require("@scullyio/scully-plugin-puppeteer");
exports.config = {
    projectRoot: './apps/[project]/src',
    projectName: '[project]',
    target: 'targets',
    // add spsModulePath when using de Scully Platform Server,
    outDir: './dist/static',
    routes: {
        '/product/:slug': {
            type: 'json',
            slug: {
                url: `some/url?apiKey=${environment_1.environment.apiKey}`,
                property: 'slug',
                resultsHandler: (data) => {
                  // ...
                },
            },
        },
    },
};

When Scully runs, it needs to load JS, the config, and everything inside of the ./scully folder are compiled by Scully before it loads the things.
However, if you pull in something that is outside of there, you become responsible for making sure it is compiled before you can load it. It might work for you if you add it to the tsconfig.json inside of the ./scully folder

@fabioemoutinho How exactly did you manage to use the compiled environment variables? Can you share a sample from your scully config please? I included the environment path as you indicated, and I see that environment.js files are added to the project, and I'm not sure how to import this correctly from the scully config file..

@rgustavsson I hope this helps:
scully.[project].config.ts
// other imports
import { environment } from './apps/[project]/src/environments/environment.prod';

export const config: ScullyConfig = {
  projectRoot: './apps/[project]/src',
  // code
}

then, scully/tsconfig.json file has "include": ["../apps/[project]/src/environments/environment.prod.ts"], but you should be able to add any environment file following the pattern "include": ["../path/to/environments/*"],

Thanks @fabioemoutinho
Do you run scully in a test environment + production environment for the same project?
I'm finding it difficult to get a good config that works for both scenarios.
The environment.prod.ts. file would be purely production.
I was thinking that I could refer to plain environment.ts since the angular.json includes;
"fileReplacements": [
                                {
                                    "replace": "src/environments/environment.ts",
                                    "with": "src/environments/environment.prod.ts"
                                }
                            ],

but thats obviously something that doesn't impact the psychical files.
So I'm wondering if there is any other built-time variable I can use in the scully config to work between environments for the very same project.
Hoping you can help me progress :)

Thanks @fabioemoutinho
Do you run scully in a test environment + production environment for the same project? I'm finding it difficult to get a good config that works for both scenarios. The environment.prod.ts. file would be purely production.
I was thinking that I could refer to plain environment.ts since the angular.json includes;
"fileReplacements": [
                                {
                                    "replace": "src/environments/environment.ts",
                                    "with": "src/environments/environment.prod.ts"
                                }
                            ],

but thats obviously something that doesn't impact the psychical files.
So I'm wondering if there is any other build-time variable I can use in the scully config to work between environments for the very same project.
Hoping you can help me progress :)

Sadly that project never went into production, it was a POC. But one way you can do it is have multiple scully config files, one for each environment. Then the pipeline calls the correct file that points to the target environment.

Thanks @fabioemoutinho
I thought I had tested the CLI configFile option but I might have dreamt that, looks like this works out well for me.
Many thanks!


[ENH] Add Arrow-backed blockfile

Description of changes
Summarize the changes made by this PR.

Improvements & Bug fixes

...

New functionality

...

Test plan
How are these changes tested?

[ ] Tests pass locally with pytest for python, yarn test for js, cargo test for rust

Documentation Changes
Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the docs repository?

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1846  👈
#1825
#1823
#1822
#1821
#1820
#1819
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @HammadB and the rest of your teammates on  Graphite


Still under development ?

Hi,
I found this via the original project chenqingspring/react-lottie which hasn't been updated since a long time.
I was wondering the plans for this fork ?
Is it still under development and if so, do you plan on breaking the fork link from the original as it seems abandoned?
Anybody using this in production ?
Thanks.

same question here, is it still developed? Can you bump the react version to 17? If it is not developed is there any other replacement with TS and hooks on board?

Same question here

Me too! 😕 I constantly get a peer dependency error when using this with react 17 since version 0.0.11 of this package is locked at 16.9.0 of react as a peer dependency!


isLocalPlayer is broken

Describe the bug
The isLocalPlayer variable is incorrect due to an incorrect assignment to ClientScene.localPlayer. This bug was introduced by the following commit: https://github.com/vis2k/Mirror/commit/eb62968bffdffcb2aad831e08ee2c39c96573d1e
To Reproduce
Steps to reproduce the behavior:

Create a server and connect to it with a local client (ie, have a server and client connect run on the same machine).
From another computer, connect to the server.
The ClientScene.localPlayer variable changes on the server to point to the latest connection. This occurs because NetworkClient is active due to the local connection on the server, and AddPlayerForConnection is invoked for every new connection added.

Expected behavior
I expect that the ClientScene.localPlayer variable should not be clobbered every time a new connection happens to the server.
Desktop (please complete the following information):

OS: Windows 10
Build target: Windows
Unity version: 2018.4.11f1
Mirror branch: Mirror 5.5.5

Closing as duplicate of #1230


One-Click Hide Giveaway Button shows even when option is not active

Description
One-Click Hide Giveaway Button shows even when option is not active
Steps to Reproduce

Go to Any giveaway listing page
See error

Expected Behavior
The button shows only when 3.37 is activated.
System (please complete the following information):

ESGST Version: Extension v8.9.4
Browser + Version: Chrome Version 114.0.5735.199

Additional Context
There also seems nowhere to see the list of giveaways hidden by using the button added by ESGST. So there's no way to unhide it unless we happen to know the direct link to the giveaway.

That button is a feature of SteamGifts, and not added by ESGST.
When you click it, a popup will show up "Would you like to hide all giveaways for <game name>?".
Option 3.37 disables this confirmation popup, makes it one-click.
This is working as intent.
You can find list of hidden games here:
https://www.steamgifts.com/account/settings/giveaways/filters

You are right. I confused 3.37 with 3.21.1.


10.0.18362.1766 not supported

10.0.18362.1766 not supported,what's the ini?

10.0.18362.1766 not supported,what's the ini?

Attach your termsrv.dll and a screenshot of RDPConf

There is solution for the x64 Windows in my repo
https://github.com/sebaxakerhtc/rdpwrap.ini/commit/b6f6dbb57c9f3d656604cbe03d06a47200c9067e#diff-9e5bbfbeae79b59b305dda13323ba2b041f30f4887a84120392c479e1f7bba33

10.0.18362.1766 not supported,what's the ini?

Attach your termsrv.dll and a screenshot of RDPConf

it show full supported,but really it does not  work

10.0.18362.1766 not supported,what's the ini?

Attach your termsrv.dll and a screenshot of RDPConf

can you help me? thannks

can you help me? thannks

With what?
You have a link to rdpwrap.ini
Is your Windows x64?

can you help me? thannks

With what? You have a link to rdpwrap.ini Is your Windows x64?

off course  Windows x64 ,hear are link to rdpwrap.ini ,https://raw.githubusercontent.com/gsons/gsons.github.io/master/rdpwrap.ini

,hear are link to rdpwrap.ini

This link dosen't work
Try this https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini

it show supported,but not work. i don't konw why

@sebaxakerhtc
万分感谢大神带到这里来，我这边已经完美解决了。
我的操作是，先Uninstall之前的数据，然后Install新的数据，随后更改ini文件，最后重启，完美解决。
非常感谢！
以下为谷歌翻译。
The following is Google Translate.
I am very grateful to the Great God for being here, I have solved it perfectly.
My operation is to uninstall the previous data, then Install the new data, then change the ini file, and finally restart, which is a perfect solution.
thank you very much!

@sebaxakerhtc
万分感谢大神带到这里来，我这边已经完美解决了。 我的操作是，先Uninstall之前的数据，然后Install新的数据，随后更改ini文件，最后重启，完美解决。 非常感谢！
以下为谷歌翻译。 The following is Google Translate.
I am very grateful to the Great God for being here, I have solved it perfectly. My operation is to uninstall the previous data, then Install the new data, then change the ini file, and finally restart, which is a perfect solution. thank you very much!

根据你的方法的 我这边也解决了 之前好像是我没重启的原因 一直不行

那就好，遇事不决就重启，重启可以解决99%的问题，剩下的1%就是换电脑。

Duplicate of https://github.com/stascorp/rdpwrap/issues/1522


Is this repo still being maintained?

Is this repo still being maintained? Just want to check before using it in my code.
On the Bittrex API page it says: "V1 will be deprecated on 7/20. Please move to V1.1 immediately". Does that affect this code at all or has it been transitioned?

Yep, we are still open for business.  We did the 1.1 migration last year.   This repo doesn't need much in the way of maintenance since the Bittrex API is pretty stable.


mismatched types - enif_make_long(env, i) ^ expected i32, found i64

Hey guys! In my excitement at the lovely improvements in #254 I'm trying to build against the current master branch (revision 5da90198e)
I'm getting a weird error in cargo build, error: Could not compile 'rustler_sys'.
There are 4 errors about mismatched types in rustler_sys nif_api.snippet
Do you have any suggestions how I could fix this please?
error[E0308]: mismatched types
   --> C:\path\to\my_app\native\mynif\target\debug\build\rustler_sys-7ebc48992530b824\out/nif_api.snippet:907:27
    |
907 |     { enif_make_long(env, i) }
    |                           ^ expected i32, found i64
help: you can convert an `i64` to `i32` and panic if the converted value wouldn't fit
    |
907 |     { enif_make_long(env, i.try_into().unwrap()) }
    |                           ^^^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> C:\path\to\my_app\native\mynif\target\debug\build\rustler_sys-7ebc48992530b824\out/nif_api.snippet:912:28
    |
912 |     { enif_make_ulong(env, i) }
    |                            ^ expected u32, found u64
help: you can convert an `u64` to `u32` and panic if the converted value wouldn't fit
    |
912 |     { enif_make_ulong(env, i.try_into().unwrap()) }
    |                            ^^^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> C:\path\to\my_app\native\mynif\target\debug\build\rustler_sys-7ebc48992530b824\out/nif_api.snippet:917:32
    |
917 |     { enif_get_long(env, term, ip) }
    |                                ^^ expected i32, found i64
    |
    = note: expected type `*mut i32`
               found type `*mut i64`

error[E0308]: mismatched types
   --> C:\path\to\my_app\native\mynif\target\debug\build\rustler_sys-7ebc48992530b824\out/nif_api.snippet:922:33
    |
922 |     { enif_get_ulong(env, term, ip) }
    |                                 ^^ expected u32, found u64
    |
    = note: expected type `*mut u32`
               found type `*mut u64`

error: aborting due to 4 previous errors

I'm on windows but hopefully that's not an issue - rustler 0.21 works perfectly
Thank you for your time and this cool project!

cc @scrogson @filmor @scohen

Oh man, I don't know how often I've been bitten by this now. Windows uses 32bit longs even on 64bit archs, different from Unix. That means that the logic in https://github.com/rusterlium/rustler/blob/master/rustler_sys/build.rs#L31 that attempts to derive the size of long from the target pointer width is wrong.
I'll create a PR for this.

Today I learned! Thank you so much for your help, I can confirm that fixed the issue. Appreciated!


Remove charisma and wisdom options from Hand of the Apprentice

No other way to access this spell besides Wizard

Wizard Dedication?

Wizard Dedication?
Your attribute would still be Intelligence in that case

OH
I remember why this was added - There was that one Livestream where they were showcasing this spell and there was an argument that because Sorcerer was using their already existing Focus Pool (which was keyed off CHA) it should have applied the CHA and not the INT.

OH I remember why this was added - There was that one Livestream where they were showcasing this spell and there was an argument that because Sorcerer was using their already existing Focus Pool (which was keyed off CHA) it should have applied the CHA and not the INT.

Is "they" Paizo? In any case, that contradicts the rules

Focus Points from Multiple Sources
It’s possible, especially through archetypes, to gain focus spells from more than one source. If this happens, you have just one focus pool, counting all your focus spells to determine the points in your pool. You can spend any of your Focus Points on any of your focus spells. Likewise, when you Refocus, you get back a point as long as you follow the guidelines of any abilities that granted you focus spells. Having Focus Points from multiple sources doesn’t change the tradition of your spells; if you had both cleric domain spells and druid order spells, your domain spells would remain divine and the order spells primal. Similarly, you need to use the attribute modifier determined by the source of the focus spell.

from Player Core pg. 298

Perfect - Paperwork is good someone asks why


Performance numbers might not be representitive or are outdated

https://github.com/WiseLibs/better-sqlite3/blob/HEAD/docs/benchmark.md
The performance difference measured on my machine is much greater!
hinloopen@7950X:~/Projects/better-sqlite3$ node benchmark/
--- reading rows individually ---
better-sqlite3 x 597,935 ops/sec ±0.21%
node-sqlite3   x 9,086 ops/sec ±0.27%

--- reading 100 rows into an array ---
better-sqlite3 x 17,584 ops/sec ±0.19%
node-sqlite3   x 4,493 ops/sec ±0.3%

--- iterating over 100 rows ---
better-sqlite3 x 15,393 ops/sec ±0.14%
node-sqlite3   x 95 ops/sec ±0.59%

--- inserting rows individually ---
better-sqlite3 x 56,636 ops/sec ±9.38%
node-sqlite3   x 9,711 ops/sec ±4.01%

--- inserting 100 rows in a single transaction ---
better-sqlite3 x 6,715 ops/sec ±6.82%
node-sqlite3   x 54 ops/sec ±4.77%

All benchmarks complete!
hinloopen@7950X:~/Projects/better-sqlite3$ node --version
v20.10.0

7950X
64GB RAM
2TB 980 Pro SSD
Node 20.10.0node
Ubuntu 22 in WSL Win 11
I'm sorry for the bad title - I just wanted to share this 🙃

Hooray!

Maybe create a pr with your latest results? Since the current results are from 2020.

@JoshuaWise
--- iterating over 100 rows ---
better-sqlite3 x 15,393 ops/sec ±0.14%
node-sqlite3   x 95 ops/sec ±0.59%

Why ?

better-sqlite3 x 15,393 ops/sec ±0.14%
node-sqlite3   x 95 ops/sec ±0.59%

If that is true, this is a 162 times improvement 😮 . But yea, plz update the benchmark results anyway.


Update offer ...

Isabelle, I'd love to update the app a bit, err, would you accept some changes/pull-requests if I get my parts all in order? Are you still actively managing this app? (well, the android app I mean).

Err, I didn't hear anything back from you, I'll try email :)


[SPARK-21308] [SQL] Remove SQLConf parameters from the optimizer

What changes were proposed in this pull request?
This PR removes SQLConf parameters from the optimizer rules
How was this patch tested?
The existing test cases

Test build #79178 has started for PR 18533 at commit 0a48ba3.

Test build #79178 has finished for PR 18533 at commit 0a48ba3.

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

Merged build finished. Test FAILed.

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

Test build #79188 has started for PR 18533 at commit 092b414.

Test build #79188 has finished for PR 18533 at commit 092b414.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

Test build #79230 has started for PR 18533 at commit f92b6f5.

Test build #79230 has finished for PR 18533 at commit f92b6f5.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
abstract class Optimizer(sessionCatalog: SessionCatalog)
case class OptimizeMetadataOnlyQuery(catalog: SessionCatalog) extends Rule[LogicalPlan]

Merged build finished. Test PASSed.

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

retest this please

Test build #79236 has started for PR 18533 at commit f92b6f5.

Test build #79236 has finished for PR 18533 at commit f92b6f5.

This patch fails PySpark pip packaging tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
abstract class Optimizer(sessionCatalog: SessionCatalog)
case class OptimizeMetadataOnlyQuery(catalog: SessionCatalog) extends Rule[LogicalPlan]

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

Merged build finished. Test FAILed.

Retest this please.

Test build #79241 has started for PR 18533 at commit f92b6f5.

Test build #79241 has finished for PR 18533 at commit f92b6f5.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
abstract class Optimizer(sessionCatalog: SessionCatalog)
case class OptimizeMetadataOnlyQuery(catalog: SessionCatalog) extends Rule[LogicalPlan]

Merged build finished. Test PASSed.

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

cc @cloud-fan

LGTM, merging to master!


Jwrapper: Fix bug with nested classes

Fixes the nested classes bug in jwrapper.

Generated comments use JNI full name.

I generated queue.nit and compiled it without any warnings/errors. Any more checks to run ?

Could you rebase to fixup the "undo" commit into the previous one? You'll have an automatic +1 then!

I've tested it locally with the problematic Android package and it fixed the problem.

Sure !

+1!


Go to repository leads to start page

Describe the bug

"Go to repository" in the assessment page of a programming exercise doesn't work and redirects to the main page.
To Reproduce

Create a programming exercise with manual correction
Assess it as a tutor
Klick on "Go to repository" in the assessment overview of one specific submission
Get redirected to the main page of Artemis

Screenshots

Additional context

This could maybe have been introduced by @derLalla in #2973

The reason is it is not working is, that the url is missing. In #3136 the fetching of the participation was changed.
The participation needs to be enriched again with the correct userIndependentRepositoryUrl repository link.
You can in the file code-editor-tutor-assessment-container.component.ts that the fetching was changed.


[SPARK-49368][CONNECT] Avoid accessing protobuf lite classes directly

What changes were proposed in this pull request?

This PR changes the code in the connect server module which refers gRPC lite classes and restores grpc-protobuf-lite scope from "compile" back to "runtime".
Why are the changes needed?

gRPC/protobuf provides both standard and lite runtimes, which should not be mixed up, connect server currently uses the standard runtime, should avoid accessing the lite class directly.
As grpc-java v1.61.0 release notes said

Change many compile deps to runtime deps (https://github.com/grpc/grpc-java/commit/d6830d7f99ac7e5afb8b75100f0432151d4705e8). This reduces the transitive classes "leaked" into the compile classpath. In particular, grpc-core (io.grpc.internal) will be less frequently included transitively at compile time.

In SPARK-46919 we upgraded the gRPC from 1.59.3 to 1.62.0, and had to manually expose "io.grpc:grpc-protobuf-lite" to the compile scope to make the build happy, which breaks the original intention of gRPC deps management.
Does this PR introduce any user-facing change?

No.
How was this patch tested?

Pass GHA.
Was this patch authored or co-authored using generative AI tooling?

No.

cc @heyihong @HyukjinKwon @LuciferYang

cc @grundprinzip @hvanhovell

Merged to master.


[docs] Link to 0.8 release notes

Makes progress on #671, #1295

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

Project coverage is 88.01%. Comparing base (0618752) to head (3c5546e).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1681   +/-   ##
=======================================
  Coverage   88.01%   88.01%
=======================================
  Files          16       16
  Lines        5805     5805
=======================================
  Hits         5109     5109
  Misses        696      696

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


Edit booking

Users have requested a feature which allows them to edit a current booking. At the moment if they need to edit a booking they have to delete the old booking and create a new one, which is time consuming.

Function to edit a booking is added in the list view. Name, time and category can nw be updated.


Create function to convert spec/status from cluster-api

What this PR does / why we need it:
Fixes #14
Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Release note:

@jichenjc Can you rebase to make CI happy?

updated,thanks for the reminder


CET 1.32.0 - any attempt to use exEntitySpawner.Spawn() results in CET error and application close.

Hello,
similar to the CET 1.31.0, using exEntitySpawner causes issues - an error message and application close.
Screenshot attached.
regards.

I got the same issue

Right, from my 68 CET mods i manage to narrow it down to only 3 that breaks CET in the end and those are:
AMM
Entity Spawner
E3 Smart Window

I have the same issue, all mods updated game as well

Fixed in the 1.32.1 as stated. Thanks a lot :)


HHH-11614

https://hibernate.atlassian.net/browse/HHH-11614
Reverts HHH-11477 and updates migration guide.

In this Pull Request, I added an example of how to migrate from the Strong-based CLOB handling to the reverted one. I'm not sure if it applies to the current PR as well, but we can still try it and maybe tell our users how to migrate their Clob data for a smooth Hibernate upgrade.

Hi @gbadner,
the PR looks good to me.
@vladmihalcea your test is still good, what can we do it is to take the code you used in the test to update the db data and add this to the migration guide.
An example can be:
If using PostgreSql  database with @Lob annotation and example of the data migration sql that should be run before upgrading from hibernate 5.2.9 or 5.2.10 to 5.2.11 is, given the following mapping:
@Entity(name = "TestEntity")
@Table(name = "TEST_ENTITY")
public static class TestEntity {
	@Id
	@GeneratedValue
	private long id;

	@Lob
	@Column
	String firstLobField;

	@Lob
	@Column
	String secondLobField;

	@Lob
	@Column
	Clob clobField;

	...
}

the following sql should be executed:
update test_entity set clobfield = lo_from_bytea(0, cast(clobfield as bytea)), firstlobfield = lo_from_bytea(0, cast(firstlobfield as bytea)),secondlobfield = lo_from_bytea(0, cast(secondlobfield as bytea))

@vladmihalcea, @dreab8, I added the tests back in. I think they are great for giving examples and to make sure they continue to work. Thanks for mentioning them.
I've also updated the migration guide with the example that Andrea mentioned.
Thanks for your help on this!

Merged.


feat: PXE must handle L2 re-orgs

Is this actually needed for S&P? If all txs we send are public token transfers and don't deal with private state, the tx bot pxe should be unaffected by reorgs.

Dupe of #8463


Don't relay blocks during synchronize

The linode's gateway.log is full of thousands of lines of duplicate blocks being rejected. Even worse is that each entry corresponds to a full block being sent over the network. So essentially when a peer downloads the blockchain from the linode, the linode winds up downloading the blockchain from the peer too. This obviously won't scale.
As always, the Bitcoin approach: https://en.bitcoin.it/wiki/Satoshi_Client_Block_Exchange#Long_Orphan_Chains
It seems like it would be beneficial for peers that are catching up to help out peers that are behind them, but I see that more as an optimization than a must-have.

I believe that you also broadcast all of the blocks every time you load them from disk. I plan on addressing this when I add testing to the consensus package. I'm thinking that there will be multiple functions for checking blocks and transactions.
There's also a need to verify blocks without checking the block header (ie just a bundle of txns)

fixed


[refinementList] New option to keep current search after click

Do you want to request a feature or report a bug?
feature
Feature: What is your use case for such a feature?

I want to select many results that start the same
I have to write them each time because the search is cleared

Feature: What is your proposed API entry? The new option to add? What is the behavior?
Add an option to keep the search after a click
What is the version you are using? Always use the latest one before opening a bug issue.
2.2

Thanks @cmalard for this feature proposal. From what I understand, being able to select multiple using a single search of facet values would make sense. Do you have time to dig in the code and contribute a PR for this new feature?

not for now :-)

Ok good to know. Thanks :)

Btw @mthuret you might be interested in that :)

@bobylito thanks for notifying me! Indeed I think that would be a great addition to our widgets having search for facets.

Hi All!  In addition to seconding the request of @cmalard, here's a related use case.  Feel free to disregard this if you don't think others would benefit.

Example: search "insignia" in the facet search box at https://codesandbox.io/s/5yr601pk2p

Per the feature request above, we'd be able to click on each of the three facets without having to search again.

Add-on feature requests:

would adding a mechanism to select all of the facet search results be possible?  In the example above, that would mean selecting all three facets matching "insignia" without having to click three times.  I ask because my facet data has a very long tail of data that has not been standardized (i.e. many relevant results per likely search term).

would providing an option to revise the behavior after a user hits enter be possible?  right now, hitting enter retrieves to top facet result.  That makes sense -- but maybe in some circumstances retrieving all matching results might be a better fit?

Thanks for your inputs, we're now going to work on that right away but I've notified the product team :)


Named pipe abstraction

I think this needs to be rebased on main once PR #29 is merged. I imagine the Tail implementation in this branch will be replaced by whatever we end up using in that PR.

I wasnt planning on it. cause this tail is specifically for the namedpipe ingester. We dont have to worry about rotating files etc... We could clean it up a bit with the string buffer approach you were talking about if necessary.

Codecov Report

Merging #27 (aaa53a8) into main (7752c9e) will decrease coverage by 0.61%.
The diff coverage is 15.61%.

@@            Coverage Diff             @@
##             main      #27      +/-   ##
==========================================
- Coverage   52.00%   51.39%   -0.61%
==========================================
  Files          26       29       +3
  Lines        1771     1792      +21
==========================================
  Hits          921      921
- Misses        808      830      +22
+ Partials       42       41       -1

Flag
Coverage Δ

unittests
51.39% <15.61%> (-0.61%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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

Also, if you end up squashing the commits, let's have those be descriptive too.

@angrieralien can you provide a more verbose description in the PR?

Summary of changes:

Creates a concept of ingesters and processors

ingesters

namedpipe ingeseter: generic ingester that reads from a namedpipe and calls a callback with each newline
auditlog ingester: ingests audit.log and passes log entries to the auditLogChannel
syslog ingester: ingests journald syslog events and passes log entries to ProcessEntry
rocky ingester: ingests rocky sercure logs

porcessors

auditd processor: same as before

removes dirreader.go
updated only for public access

sshd processor: same code as processentry.go

updated only for public access

updates integration test use the namedpipe

Decision Logic

log ingestion has been solved with other software e.g. rsyslog.

rsyslog provides an easy abstraction to read logs from a file and from journald and output those logs to a named pipe.
using a tool like rsyslog allows audito-maldito to focus more on extrapolating information from log data rather than collecting log data.
removing the log ingestion code make audito-maldito less complex resulting in easier maintainability.
rsyslog can be containerized or run on the host machine

Incorporates the single responsibility principle by splitting up ingestion logic from the processing logic.

Created a ingesters directory where all ingester code lives. Ingester code just focuses on ingesting code
Created a processors directory where all process code lives. Processing code just focuses on processing logs.

Incorporates the open/close principle

Splitting up the code by ingesters and processors allows us to extend the code without modifying existing code.

new ingesters can be added and use existing processors code.

Removes fedora dependency

now the code is just a go binary without any external dependencies.

Simplifies supporting new linux distributions

add a new ingester struct for the linux distribution with a process function that formats the log data into the desired format for the processors.

@angrieralien can you provide a more verbose description in the PR?

Ill squash the commits and add the description above.

converting to draft. Going to start integration testing this in some k8s clusters.

final merge in v0.4.0


feat(concurrency): add support for delete provisioned and reserved concurrency

This PR is to add a feature for the plugin - we are adding the possibility to delete both Provisioned and Reserved Concurrencies in deploying and routing Aws.lambda stages.
I also cleaned two classes deleting unused imports


Update / Improve / Fix and Normalize the CGV CGA and CP contracts

This PR contains many changes so feel free to ask for dedicated PRs if you want. If it's acceptable for you just review it commit by commit and it should be very accessible :smiley:

All the gems are updated to their latest version.
Coding normalization has been improved.
ee39038 fix a bad copy/paste adding some content of the Article 4.1 into the Article 4.2.
Some informations about the company have been extracted into variables to be easily customizable.
Unused parameters have been removed from the config.sample.json file

Thank you @tibastral to share these contracts templates :+1:

Mergée


restructure README's

The current README for GitHub is not suitable to be the readme at https://crates.io/crates/bitbox-api or to be the README for the NPM package (not yet published).
We put the README for crates.io into README-rust.md and reference it in Cargo.toml.
The one for GitHub goes to .github/README.md, which takes priority on GitHub.
The one for NPM is in the root README.md, as NPM does not support specifying another README out of the box.

Merged but somehow not closed.


[WIP] Implement object setattr

This PR makes __setattr__ parallel to __getattr__ by delegating to the object (via the VM) instead of set_attr on the context directly.

@nhynes Are you still working on this? I just want to know as this is blocking some work I'm planning to do, to make descriptor __set__ method work.

nope, totally forgot this PR was open. Thanks for working on this!


affected/package: time

What version of Go are you using (go version)?

$ go version
go1.20

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
amd64, Linux

What did you do?
const FormatISO8601Short = "2006-01-02"
t := time.Date(0, 0, 0, 0, 0, 0, 0, time.UTC)
fmt.Printf("Date was constructed as %s\n", t.String())
ts := t.Format(FormatISO8601Short)
fmt.Printf("Date was formatted as %s\n", t.String())
if tt, err := time.Parse(FormatISO8601Short, ts); err != nil {
	fmt.Printf("Parsing returned an error: %s\n", err)
} else {
	fmt.Printf("Parsing succeeded: %s\n", tt.Format(FormatISO8601Short))
}

What did you expect to see?
Parsing succeeded with the same Time string representation as on the line Date was formatted as.
What did you see instead?
Date was constructed as -0001-11-30 00:00:00 +0000 UTC
Date was formatted as -0001-11-30 00:00:00 +0000 UTC
Parsing returned an error: parsing time "-0001-11-30" as "2006-01-02": cannot parse "-0001-11-30" as "2006"

Expected solution
The functions Parse and Format should be the inverse of one another.

I believe this is working as intended for Parse:

Years must be in the range 0000..9999.


String not found

It seems that I don't have the "string" file in C++. I'm running MacOS Mojave and I'm not sure how to get the "string" file. I've updated gcc and c++, but I'm not sure why the string file wasn't also included.
pybox2d_dev surya$ python setup.py build
Using setuptools (version 39.1.0).
running build
running build_py
copying library/Box2D/Box2D.py -> build/lib.macosx-10.7-x86_64-3.6/Box2D
copying library/Box2D/__init__.py -> build/lib.macosx-10.7-x86_64-3.6/Box2D
running build_ext
building 'Box2D._Box2D' extension
swigging Box2D/Box2D.i to Box2D/Box2D_wrap.cpp
swig -python -c++ -IBox2D -small -O -includeall -ignoremissing -w201 -globals b2Globals -outdir library/Box2D -keyword -w511 -D_SWIG_KWARGS -o Box2D/Box2D_wrap.cpp Box2D/Box2D.i
Box2D/Common/b2Math.h:67: Warning 302: Identifier 'b2Vec2' redefined by %extend (ignored),
Box2D/Box2D_math.i:47: Warning 302: %extend definition of 'b2Vec2'.
Box2D/Common/b2Math.h:158: Warning 302: Identifier 'b2Vec3' redefined by %extend (ignored),
Box2D/Box2D_math.i:168: Warning 302: %extend definition of 'b2Vec3'.
Box2D/Common/b2Math.h:197: Warning 302: Identifier 'b2Mat22' redefined by %extend (ignored),
Box2D/Box2D_math.i:301: Warning 302: %extend definition of 'b2Mat22'.
Box2D/Common/b2Math.h:271: Warning 302: Identifier 'b2Mat33' redefined by %extend (ignored),
Box2D/Box2D_math.i:372: Warning 302: %extend definition of 'b2Mat33'.
Box2D/Collision/b2DynamicTree.h:44: Warning 312: Nested union not currently supported (ignored).
Box2D/Common/b2Settings.h:144: Warning 506: Can't wrap varargs with keyword arguments enabled
Box2D/Common/b2Math.h:91: Warning 509: Overloaded method b2Vec2::operator ()(int32) effectively ignored,
Box2D/Common/b2Math.h:85: Warning 509: as it is shadowed by b2Vec2::operator ()(int32) const.
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/anaconda3/include -arch x86_64 -I/anaconda3/include -arch x86_64 -I/anaconda3/include/python3.6m -c Box2D/Box2D_wrap.cpp -o build/temp.macosx-10.7-x86_64-3.6/Box2D/Box2D_wrap.o -I. -Wno-unused
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
Box2D/Box2D_wrap.cpp:3033:10: fatal error: 'string' file not found
#include <string>
         ^~~~~~~~
1 warning and 1 error generated.
error: command 'gcc' failed with exit status 1

I had the same problem trying to install Box2D in Mojave in an Anaconda environment. I switched to homebrew python3 and installed it successfully via pip3 install box2d-py. Then I switched back to my anaconda environment and was able to install Box2D successfully via pip install box2d-py outputting only
Collecting box2d-py Installing collected packages: box2d-py Successfully installed box2d-py-2.3.5
(I had another python3.7 installed in that environment). I'm not sure why this worked, I only had a hunch that it was related to the installation being made in the environment, so I'm sorry I couldn't bring too much light into the issue. Still worth a try IMO though.

Great. Solved the problem!

This error occurs because of the latest Mojave and XCode update for MacOS.
They've changed the directory of the basic C header libraries which originally was in /usr/include.
you need to move your C header files into /usr/include
Check out more detailed solutions at here.
https://stackoverflow.com/questions/52509602/cant-compile-c-program-on-a-mac-after-upgrade-to-mojave


How do I set RPI to be AIR ?

I would like to know if I really need two RPI for this. Can't I use a normal Ground Control Sofware instead of an RPI ?
Also, how does the RPI know if it is Ground or Air ? Both settings are on the DB v0.7 image.
How do I configure it to be Air ?
The Getting Started guide doesn't explain much: https://dronebridge.gitbook.io/docs/dronebridge-for-raspberry-pi/getting-started#mavlink-based-flight-controller
It says On the GndPi inside the OSD configuration file: #define MAVLINK and On the AirPi inside the[AIR] section:
[AIR]
en_control=Y
serial_int_cont=/dev/serial1  # serial port connected to FC
baud_control=115200 # baud rate of UART/serial port
serial_prot=5  # for MAVLink transparent
pass_through_packet_size=64

These are both configured on the DB v0.7 image. Do I delete the ones that I don't need ? How does this work ?
Also, why do I need two RPIs ? All I want is something to send and receive Telemetry Data in MavLink format to and from an Ardupilot Flight Controller. I don't need camera or all the extras.
I am sorry, but the guide is very lacking.

#75


[FEATURE] Ollama Authentication Header injection

Hey there,
I have run a Ollama Instance behind a Authentication Proxy so i need to send a Authentication Header for every Ollama Request.
In your current OllamaClient implementation I can't handle that in any way. See: https://github.com/langchain4j/langchain4j/blob/057730bc7b2f50e0bca3614bbb28b477a24e2f61/langchain4j-ollama/src/main/java/dev/langchain4j/model/ollama/OllamaClient.java#L33
please add a OKHttpClient on your builder as optional so I am able to do an inject like so:
OkHttpClient client = new OkHttpClient.Builder().addInterceptor(new Interceptor() {
      @Override
      public Response intercept(Chain chain) throws IOException {
        Request newRequest  = chain.request().newBuilder()
            .addHeader("Authorization", "Bearer " + token)
            .build();
        return chain.proceed(newRequest);
      }
    }).build();

OllamaChatModel.builder()
    .client(client)
    ....

Thanks a lot!

total blocker :(

Implemented in https://github.com/langchain4j/langchain4j-spring/pull/21


Updated csproj with qwindows.dll copy

Added the csproj option to copy the qwindows.dll in the bin/ folder to enable debugging and code distribution when building from source.

Ecxcellent, thank you!


i build chat app using firebase and its run without any error , but i was try to run my project on another laptop and i have this error now :Failed assertion: boolean expression must not be null . whats the problem plz?

[<!--](url

) Thank you for using Flutter!
 If you are looking for support, please check out our documentation
 or consider asking a question on Stack Overflow:
  * https://flutter.dev/
  * https://api.flutter.dev/
  * https://stackoverflow.com/questions/tagged/flutter?sort=frequent

 If you have found a bug or if our documentation doesn't have an answer
 to what you're looking for, then fill out the template below. Please read
 our guide to filing a bug first: https://flutter.dev/docs/resources/bug-reports

-->
Steps to Reproduce

Run flutter create bug.
Update the files as follows: ...
...

Expected results:
Actual results:

Logs

The Github issue tracker is for bugs and features requests for the Flutter SDK. Help and support questions like these are better suited for Q&A sites like StackOverflow or on one of the flutter community sites at https://flutter.dev/community .


support disabling triggers (never delete triggers that won't fire)

This resolves issues #53

I will let @bjustin-ibm review this one, to make sure same logic as kafka


Player Takes 100% of CPU

The player uses as much processing power as it can. This is probably due to rendering the window way more times than necessary, but I'm not sure.

I think it may be because the progress bar is rendered as fast as it can

We should make it so it only renders when it changes length.
On Nov 15, 2015 6:47 PM, "Tommy"<EMAIL_ADDRESS>wrote:

I think it may be because the progress bar is rendered as fast as it can
—
Reply to this email directly or view it on GitHub
https://github.com/NathanMer/RFSMP/issues/11#issuecomment-156894241.

well duh

You should do it then.
On Nov 15, 2015 6:54 PM, "Tommy"<EMAIL_ADDRESS>wrote:

well duh
—
Reply to this email directly or view it on GitHub
https://github.com/NathanMer/RFSMP/issues/11#issuecomment-156898212.

Also, you could fix #5 at the same time.

I'm going to close this issue for now, although we may need to revisit it if #5 becomes an issue.


Retriever and Chain to use metadata

Issue you'd like to raise.
How can I use the metadata information from retriever? I noticed that only page_content is being used whenever I retrieved information from a chain.
Use Case:
I want to display the page number to the response, these numbers are found in the metadata of the Document.
Suggestion:
No response

I am using RetrievalQA. I am not sure why trello is being mentioned.


Discombobulate message is wrong

[x] does not @ the proper person
[ ] the @ does not ping

Closed, won't ping


Add ability to resize animation gif images

We started have more client who wants to use animated GIF.
However, concrete5 thumbnail generation method will delete animation data.
@hissy and I were talking if c5 uses ImageMagick, we could try to preserve animation gif.
https://stackoverflow.com/questions/9417762/make-an-animated-gif-with-phps-imagemagick-api
https://stackoverflow.com/questions/18436961/php-imagemagick-gif-resize-keep-animation
For GD library...... no idea...
But what do you guys think of adding this GIF animation resize ability to concrete5.

I looked into that a while back and the way to do that is unpack the gif file so each frame is an image then resize each image individually and put them back together as an animated gif. GD can do all that but it might quickly become a real memory killer.

#7114 fixes this


too many redirects

Hello,
When I execute "gulp" I get the following errors:
ERROR in ./~/ws/lib/WebSocketServer.js Module not found: Error: Cannot resolve module 'tls' in /home/.../webpack-chrome-extension/node_modules/ws/lib
ERROR in ./~/options/lib/options.js Module not found: Error: Cannot resolve module 'fs' in /home/.../webpack-chrome-extension/node_modules/options/lib
But then it says:
webpack: bundle is now VALID.
And then when I open the background page I get:
Failed to load resource: net::ERR_TOO_MANY_REDIRECTS
*At first I got Insecure connection error but I found an answer for it in the issues.
I'm using Ubuntu 14.04 and Chrome 47
b.t.w when I execute  "gulp -p" I'm getting some errors but the extension is working.
Thanks!

I found a solution to the problem, but I'm not 100% sure that it's the best one.
dev-env/webpack.generator.js : 42
    node: {       __dirname: true,       fs: "empty",       net: "empty",       tls: "empty"     }
Do you guys want me to open a pull requests?
Thanks again :)

Is it related to your project or generally to this repository? I dont have any of these errors.
In one project, where we use joi package, we solve similliar problem with following:
// webpack config
{
    ...,
    externals: {
      net: '1',
      dns: '1'
    },
    ...

It overrides requiring of these libraries with 1. I am not sure which solution is better and more "system" correct.
Try if this problem occurs on fresh checkouted repository and then we can solve it there.

The error reproduce on a fresh checked out repository, so there is nothing to do with my code.
I guess that it is an environment issue but I'm really not sure about that.

Maybe some new versions of npm packages, or npm v3. I migrate to it recently and dont have time to test all projects with that. I know it should not affect it, but who knows.

maybe so, I will try to update some of the packages and check it out.

Well,
I upgraded all the outdated dependencies:
babel 5.6.23 --> 6.3.26
babel-core 5.8.3 --> 6.4.0
babel-loader 5.3.2 --> 6.2.1
css-loader 0.15.5 --> 0.23.1
fs-extra 0.24.0 --> 0.26.4
gulp-bg 0.0.5 --> 0.0.8
gulp-eslint 0.15.0 --> 1.1.1
react 0.13.3 --> 0.14.6
style-loader 0.12.3 --> 0.13.0
webpack 1.10.1 --> 1.12.10
webpack-dev-server 1.10.1 --> 1.14.1
Things got even worse, I get new Error when running "gulp":
[23:45:20] Requiring external module babel-core/register
/home/.../gulpfile.babel.js:2
import fs from 'fs';
^^^^^^
SyntaxError: Unexpected token import
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at loader (/home/.../node_modules/babel-register/lib/node.js:130:5)
at Object.require.extensions.(anonymous function) [as .js] (/home/.../node_modules/babel-register/lib/node.js:140:7)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Liftoff.handleArguments (/usr/lib/node_modules/gulp/bin/gulp.js:116:3)
at Liftoff. (/usr/lib/node_modules/gulp/node_modules/liftoff/index.js:192:16)
*I tried to undo all my upgrades and upgraded only the dependencies shown in bold and got the same error.

This last problem is with update babel to version 6. There is whole new configuration for babel and it need much more work to be done than just update it. I will take look sometime at it. Babel 6 is now stable, support all transformers and is faster and better configurable.


⚠ MySQL Servers has degraded performance

In b680eea, MySQL Servers (https://en.wikipedia.org) experienced degraded performance:

HTTP code: 200
Response time: 2668 ms

Resolved: MySQL Servers performance has improved in dcca18a after 5 minutes.


How to dispaly "commit" in deploy widget of product dashboards with curl

i created a product dashboards, but not any display commit information in deploy widget, i am using to curl command to do it.

have you any idea for it


Screenshot

Hey @gnomeontherun this is pretty epic.  Wondering - Any chance you have a screenshot? We got it working, but might be useful for other folks.

I haven't made one, but its been a while since I've done much with the plugin. If you have a great screenshot, feel free to send it over and I'll be happy to incorporate it into the readme.