[9] whatsapp chatbot

Closes #9
A prototype to test out OpenAI integration with WhatsApp
Implements a simple Flask API that can receive text messages from WhatsApp/Twilio and send back a response.
It supports two types of responses:

'explain' : Sending a simple explanation of a user-provided concept
'activities': Suggesting conversation and activity ideas based on user-provided topic

At the moment, this runs successfully using local machine as the server + ngrok to expose the localhost to outside world
I can make a separate PR for setting this up on heroku, as I will need to figure out how to make it work with poetry and custom packages.

Hey @kstathou, it would be great to get your advice on a couple things:

How to best organise the code: I've tried to simplify things by using your utils (ActivityGenerator) and having one 'whatsapp_bot.py' file for the Flask API app. However, for some reason I find it a bit unsettling to have prompt complication in the same file as the API functions - let me know what you think?

Conflicting pre-commit hooks: When I try to commit, Flake8 complains about whitespace:

whatsapp_bot.py:136:25: E203 whitespace before ':'

However, when I delete the whitspace, black complains about formatting and restores the whitespace. So, seems like they're at odds... What would you suggest to do?
The line causing the issue is the following:
texts = [text_body[i : i + 1500] for i in range(0, len(text_body), 1500)]

FYI so far I've tested this with localhost + ngrok. I will also need to figure out how to make poetry and custom packages (ie, genai) work with Heroku, but happy to do that as a separate PR. Also, I can then write a readme about how to link it to Twilio, as I'll be writing a blog about it.

Oh, another FYI @kstathou - I've slightly adjusted one of the messages of the activity generation prompt.
Sometimes the OpenAI response doesn't neatly separate Conversations and Games and Crafts, but instead alternates between one Conversation and one Games and Crafts idea. The same behaviour happened in the streamlit app as well sometimes.
So, I adjusted this part of the prompt to make the instructions more explicit:
Please propose two conversation ideas and several games and crafts ideas I could do with the children to extend their learning.\n\nTypes of activities:\n- Conversations: Asking them questions about the topic\n- Games and Crafts: Puzzles, games, role play, arts and crafts\n\n###Formatting###\nReturn the proposed activities in the following format and always start with the two conversation ideas and then follow with all games and crafts ideas


[python-sequence] Support to URL models

Description
This PR will Support URL models in Recognizers text.
Changes made

Add _is_valid_match method in the BaseURLExtractor class  and use it on the extract method  in the SequenceExtractor class. Important: There is a class called StringMatcher in C# that is not migrated to either JavaScript or Python, therefore, only the tests that run in JavaScript will run in Python

Allow that the regex variable in the SequenceExtractor class could use both Chinese Regex and English Regex

Modify the get_url_model method in SequenceRecognizer class to use the same Regex to Japanese and Chinese

Remove the NotSupportedByDesign tag  from the URLModel.json where the word python was located in the Sequence folder to run the tests

Testing

Run the tests from python's terminal and execute this pytest test_runner_sequence.py

@LCarbonellRod solve the conflicts and I'll merge this!


KeyError: 'id'

When executed get this error:
Traceback (most recent call last):
File "main.py", line 15, in
user_id = r.get("https://users.roblox.com/v1/users/authenticated", cookies={".ROBLOSECURITY": cookie}).json()["id"]
KeyError: 'id'

put a valid roblox cookie

put a valid roblox cookie

I did, but found for windows you need to replace "limiteds.txt" and "cookie.txt" with full path name in the script.
For mac, same error with a valid cookie.


PHP8 support?

when will you add php8 support?

In this repo, or are you referring to the actual PHP service here: https://github.com/openbridge/ob_php-fpm? This repo is for nginx, PHP is abstracted into a separate container.


switch to README.rst for PyPI

Oh.. I hate rst format, but I understand...

Could you please remove README.md from repo? I don't think that I want to support two readme files.

woops, I meant to. That was a rebaseo

Looks good https://pypi.python.org/pypi/asyncio-ipython-magic
Thanks.


How to transform global axis into local using python in cadwork?

Hi,
Could someone please share a code snippet utilizing the apply_transformation_coordinate(elements, old_point, old_xl, old_yl, new_point, new_xl, new_yl) method? To aid our understanding, let's consider a practical example involving an inclined beam in Cadwork. Let's envision placing the beam in a scene and, subsequently, using the mentioned method to transform the global axis into local coordinates. The expected outcome is that the beam no longer remains inclined.

you could do something like this
from typing import List

import cadwork
import element_controller as ec
import geometry_controller as gc

def get_element_orientation_and_position(element_id: int):
    point1 = gc.get_p1(element_id)
    x_direction = gc.get_xl(element_id)
    y_direction = gc.get_yl(element_id)
    return point1, x_direction, y_direction

def transform_element(element_id: int, point1_new: cadwork.point_3d, x_direction_new: cadwork.point_3d,
                      y_direction_new: cadwork.point_3d):
    point1_old, x_direction_old, y_direction_old = get_element_orientation_and_position(element_id)
    ec.apply_transformation_coordinate([element_id],
                                       point1_old,
                                       x_direction_old,
                                       y_direction_old,
                                       point1_new,
                                       x_direction_new,
                                       y_direction_new)

if __name__ == '__main__':
    element_ids: List[int] = ec.get_user_element_ids()

    x_direction_new = cadwork.point_3d(1., 0., 0.)
    y_direction_new = cadwork.point_3d(0., 1., 0.)

    for element_id in element_ids:
        point1_new = gc.get_p1(element_id) # or set your preferred position
        transform_element(element_id, point1_new, x_direction_new, y_direction_new)


Senzing/resolver

See https://github.com/senzing-garage/garage-roadmap/issues/3

Replaced by #140


When flipping tiles "face-up", the difference in size can be jarring and makes it harder to play

Is your feature request related to a problem? Please describe.
To start, I would say this is more of a QoL suggestion, rather than a bug-fix.
I played the simulation a few times and noticed that the images for the characters are not all the same size. Most of the time this is not problematic but for certain characters (such as Wolf, Sonic, Diddy Kong, and Kirby; Kirby especially) their images are much larger than the other images displayed. And this causes the 'tiles' to get moved farther down the screen or farther up.
Describe the solution you'd like
A clear and concise description of what you want to happen.
I would like that the size parameters are modified for the rendered images so that either:

All images are rendered at roughly or exactly the same size, maintaining their width-to-height ratios to preserve image quality
or
Each image is rendered inside of a container (such as a ) and all image-containers are exactly the same size; and the image would be re-sized to suit its container

Additional context
Most of the characters do not have a significant impact on the simulation, however:

when Wolf has been found, since his image is thinner than the "face-down tile" image, it pushes some of the other tiles up
Wolf, Sonic and Diddy Kong's images are taller than most of the other tiles, thus they force their entire row (and rows below them) farther down the page
Kirby's image is so large that flipping his tile face-up effectively re-arranges the entire screen which I find frustrating

Can I be assigned this issue?
I'd like to implement this solution myself. It shouldn't be too complicated. Probably just some CSS edits.

Submitted a PR which fixes this issue.


Finished the code challenge

[x] Read all of the following instructions carefully and name things exactly as described.
[x] Do all the work in a public repository and name it data-structures-and-algorithms
[x] Create a branch in your repository called fizz-buzz-tree
[x] On a branch, create a file called fizz-buzz-tree.js
[x] Include any language-specific configuration files required for this challenge to become an individual component, module, library, etc.
[x] Write a function called FizzBuzzTree which takes a tree as an argument. Without utilizing any of the built-in methods available to your language, determine weather or not the value of each node is divisible by 3, 5 or both, and change the value of each of the nodes respectively. Return the tree with it’s news values.
[x] Utilize the Single-responsibility principle


adjust qr-code regarding dccConsent

Current Implementation
QRCode do not reflect DCC
Suggested Change
The dcc consent shall be included in the QRCode and also in the hash if the user wants personal data to be included in the QRCode (otherwise no DCC can be issued)
new key/value pair:  "dcc" : true|false
The dgc value shall be also included in the hashing algorithm when personal data is included.
Hash = SHA256([dob]#[fn]#[ln]#[timestamp]#[testid]#[salt]#[dgc]) ([dgc] shall be mapped to 1 [true] or 0 [false])
If the DCC flag is not provided in the QRCode it will not be included in hashing (->downward compatibility)
Expected Benefits

add third consent for cwa

hash data 4 all 3 cases:

no personal data: Hash = SHA256([timestamp]#[salt]) --><PHONE_NUMBER>#8a86c881e90fe61c068116f3a720574d -->1990-01-10#Gordon#Grund#1622631758#de19d2dd-8978-44c8-985c-e0a3734f12a8#2ea80d028058e322e8ca169122f03701#1
with personal data, without dcc: Hash = SHA256([dob]#[fn]#[ln]#[timestamp]#[testid]#[salt]#[dgc]) --> 1990-01-10#Gordon#Grund#1622631765#de19d2dd-8978-44c8-985c-e0a3734f12a8#697abe2daf055662edeefb70637ac82c#0
with personal data, with dcc: Hash = SHA256([dob]#[fn]#[ln]#[timestamp]#[testid]#[salt]#[dgc])

3rd case removed. every times dcc is enabled in 2nd case --> 1990-01-10#Gordon#Grund#1622631758#de19d2dd-8978-44c8-985c-e0a3734f12a8#2ea80d028058e322e8ca169122f03701#1


Support for react 17.0.0 [BUG]

The library is not working on react 17.0.0 and above. Would you mind upgrading it

Version 1.5.5 is released with React 17 support.
Feel free to use

Perfect


update tensorflow learn readme

since TensorFlowDNNClassifier, TensorFlowLinearClassifier, TensorFlowLinearRegressor are all deprecated, use DNNClassifier, LinearClassifier, LinearRegressor

Can one of the admins verify this patch?

Thanks! They should be LinearRegressor instead of LinearRegression, same for Classifier. Could you change that?

@terrytangyuan , I've changed as you mentioned

@tensorflow-jenkins test this please


Community

https://stackoverflow.com/questions/tagged/entity-framework-core*
https://stackoverflow.com/questions/tagged/ef-core*


Changed time units break branch_time information

In CMIP6, some(many) experiments start off from initial conditions provided by other experiments. For deck and historical runs, there is a piControl-spinup that starts from observations and has arbitrary times that don't correspond to any real time, which is the parent to piControl, which is run with constant 1850 forcing, thus again having fictitious time.
From piControl, the historical simulations are started, different members of the historical ensemble starting from different points in the piControl simulation. Similar relationships exist for many, perhaps most, other experiments.
It is important to know to which time-span of the piControl experiment a given historical simulation corresponds to perform correct drift correction and comparisons. This information is recorded in the attributes branch_time_in_parent, branch_time_in_child, and parent_time_units.
By changing the time units we make this information invalid, even misleading. For example the historical runs of CESM2 suddenly claim to have started in the year 3797 instead of 1848.
Potential remedies would be one of

Keep original time units
Change the attributes
Provide the information additionally

Note that the problem also exists for CMIP5 data, but in a weaker form since there only the branch time in the parent is recorded.

I think the issue here is that propagation of untis change is not done to the branch_time_in_child attribute. Fixing this should eliminate the problem. If we choose this, we may also want to normalize the parent_time_units and branch_time_in_parent to be consistent
The other issue here is if we still want to normalize all time untis. This is something we have inherited from v1, I think. All python based code does not benefit from this, I don't know if it really helps managing different models in NCL diagnostics, for example.

The problem with changing these attributes is that they refer to other files that we might not have control over. If, for example, somebody sees an analysis of a historical run and wants to check the corresponding period in the piControl, they might be steered towards a wrong period.
Therefore I support the idea to remove the changing of time units. After all, when it comes to ncl, it seems now that it has been effectively end-of-lifed, the only question is: when will we remove it completely?.


setup.py already existis in the module folder and pyb create a new one

If you want to create your own setuptools setup.py file and want to pyb just publish your project you can't.
Will be good if the plugin distutils check the existence of setup.py in the project path and if already exists, just patch the paths if necessarily and copy the file to the target folder.
In this way you keep all the customizations done in the development folder.
Currently if you add the plugin distutils the target folder will always build a new setup.py and ignore all source file.

Hi, @koiker.
distutils plugin was created for generating setup.py and the right way is adding to the plugin needed functions. Could You please provide Your own setup.py and generated? What should we add to distutils for resolve it?
Or at least add property distutils_generate_setup_file with True as default.
Thanks.

@koiker The setuptools is currently migrating to the declarative approach with setup.cfg anyway. I would echo @AlexeySanko question - what are you missing in the currently generated setup.py?

Hi guys,
The scenario:

Developer already have a python project and already has a setup.py with setuptools and other customizations in place
He started using pybuilder (option of existing project)
He want to include the configurations in his existing setup.py

The problem:

Adding the distutils will overwrite the existing setup.py
The current plugin distutils create a setup.py with some features that maybe we want to change.

Proposed solution:

distutils plugin become aware of a existing setup.py and with a bool True/False overwrite the existing file or inject what is needed in the existing one.

Hi, @koiker
When I migrate projects to PyB I just create the same set of parameters. It guarantees that I will save all features into future (for example, if setuptools will be moved to setup.cfg).


Don't Require Email for LDAP

Is there a way to change the validation on the frontend, such that email domains aren't required for logging in with LDAP (just the username)?
Also note that my user's emails aren't the same as their LDAP usernames.

:+1:  This is the case for my usage also. I would definitely like to know the answer to this.

:+1:

There's not currently a way to do this but it's likely fairly easy to make this possible.  The thing standing in its way is that we're using the same username/password form for LDAP authentication and for standard email/password authentication, and so we have email address format validation running on the form.
We'll probably want to just change the logic to do the email address format validation conditionally based on whether the LDAP integration is enabled and configured this way.
There's also likely a bit of work to do the mapping for the case of email addresses that aren't directly related to LDAP usernames, since Zulip does require users' email addresses in order to send them emails (e.g. for missed message notifications).

I'd be willing to give it a shot. Could you provide a bit of direction as far as where to start?

@nVitius sorry for the slow reply.  I don't recall the details and haven't retraced the path for this but here are a few pointers on how this works:

zproject/backends.py is where the code for the LDAP backend is.
template/zerver/login.html is the template for the login form (you can see this in zproject/urls.py if you search for /accounts/login); this is where you'll want to adjust the username/email translation.  The code for it may be login_page in zerver/views/init.py.
The first issue (of being even able to enter a non-email) likely results somehow from a combination of Django's fancy form validation on the django_login_page function in views/init.py with our having declared the field an "email" field (I think we're using OurAuthenticationForm in zerver/forms.py ).  Probably will require some tracing to find exactly where it's being checked and then where we need to change things.  By default Django allows non-email usernames though so this this is ultimately going to lead to something in our code.
We probably want to preserve the validation of "it's an email address" for the case where only email auth is supported, so I'd probably add a new setting with some unique name like LDAP_LOGIN_WITH_USERNAME (add it in the settings.py default section + local_settings_template.py with a descriptive comment) and check that setting in the places where you're making code changes.

That may be enough for you to start looking -- let me know if you run into any trouble that I can help with!

@nVitius I just got another request for this feature here: https://groups.google.com/d/msgid/zulip-devel/53eaeaa0-36cc-49ec-8897-fd73ed8ef8e3%40googlegroups.com?utm_medium=email&utm_source=footer for docs on this -- did you end up implementing this for your installation?

Actually what is the correct LDAPSearch string to research users using email into ldap ? I suppose i need to change uid= by the correct email= field, but for %(user)
AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=users,dc=example,dc=com",     ldap.SCOPE_SUBTREE, "(uid=%(user)s)")

%(user) will have the user's email address in the Zulip database substituted in when generating the actual LDAP queries.

@timabbott Thanks for answer, i try to use ldap with docker image of Galexrt without success. Is there a way to see more log about authentification with ldap ? When i run the script query_ldap i have an error  :
root@3ea9e2c01c89:~/zulip# sudo -u zulip bash -c './manage.py query_ldap<EMAIL_ADDRESS>Traceback (most recent call last):
  File "./manage.py", line 24, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 330, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 393, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 444, in execute
    output = self.handle(*args, **options)
  File "/home/zulip/deployments/2016-03-15-15-45-30/zerver/management/commands/query_ldap.py", line 31, in handle
    query_ldap(**options)
  File "/home/zulip/deployments/2016-03-15-15-45-30/zerver/management/commands/query_ldap.py", line 18, in query_ldap
    ldap_attrs = _LDAPUser(backend, backend.django_to_ldap_username(email)).attrs
  File "/usr/lib/python2.7/dist-packages/django_auth_ldap/backend.py", line 418, in _get_user_attrs
    self._load_user_attrs()
  File "/usr/lib/python2.7/dist-packages/django_auth_ldap/backend.py", line 458, in _load_user_attrs
    if self.dn is not None:
  File "/usr/lib/python2.7/dist-packages/django_auth_ldap/backend.py", line 411, in _get_user_dn
    self._load_user_dn()
  File "/usr/lib/python2.7/dist-packages/django_auth_ldap/backend.py", line 474, in _load_user_dn
    self._search_for_user_dn()
  File "/usr/lib/python2.7/dist-packages/django_auth_ldap/backend.py", line 494, in _search_for_user_dn
    results = search.execute(self.connection, {'user': self._username})
  File "/usr/lib/python2.7/dist-packages/django_auth_ldap/backend.py", line 433, in _get_bound_connection
    self._bind()
  File "/usr/lib/python2.7/dist-packages/django_auth_ldap/backend.py", line 718, in _bind
    sticky=True)
  File "/usr/lib/python2.7/dist-packages/django_auth_ldap/backend.py", line 729, in _bind_as
    self._get_connection().simple_bind_s(force_str(bind_dn),
  File "/usr/lib/python2.7/dist-packages/django_auth_ldap/backend.py", line 743, in _get_connection
    self._connection = self.backend.ldap.initialize(uri)
  File "/usr/lib/python2.7/dist-packages/ldap/functions.py", line 91, in initialize
    return LDAPObject(uri,trace_level,trace_file,trace_stack_limit)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 70, in __init__
    self._l = ldap.functions._ldap_function_call(ldap._ldap_module_lock,_ldap.initialize,uri)
  File "/usr/lib/python2.7/dist-packages/ldap/functions.py", line 63, in _ldap_function_call
    result = func(*args,**kwargs)
ldap.LDAPError: (2, 'No such file or directory')

I haven't seen this error before.  The error is pretty deep in the django-auth-ldap / python-ldap code; I would try checking your AUTH_LDAP_SERVER_URI, since I'm not sure what other files/directories are involved here.  Googling for your error and django-auth-ldap, this thread seems helpful:
https://groups.google.com/forum/#!topic/django-auth-ldap/Mcu6S2aFwSc

@timabbott Thanks, with your comment, manual query works now ..
URI need to be indicated like this :
AUTH_LDAP_SERVER_URI: "ldap://<IP_ADDRESS>:389"
root@c37c05dc0882:~/zulip# sudo -u zulip bash -c './manage.py query_ldap<EMAIL_ADDRESS>full_name: [u'Rey Sebastien']

But front end login continue to doesn't work so my ldapresearch is probably wrong ...
```

AUTH_LDAP_SERVER_URI: "ldap://<IP_ADDRESS>:389"
AUTH_LDAP_BIND_DN: "cn=admin,dc=comnmodel,dc=org"
AUTH_LDAP_BIND_PASSWORD: "xxx"
AUTH_LDAP_USER_SEARCH: "LDAPSearch("ou=Users,dc=comnmodel,dc=org",ldap.SCOPE_SUBTREE,"(mail=%(user)s)")"
AUTH_LDAP_APPEND_DOMAIN: "None"

So the problem here is this: ZulipLDAPAuthBackend expects  the base name of the user's email address (in the case of your example email<EMAIL_ADDRESS>to match the domain for the realm ("comnmodel.org"), which is clearly not the case, and given that you're using GMAIL addresses, probably not going to be possible to make the case.  The quick fix to this is thta we  probably we should just add a new setting "LDAP_REALM_DOMAIN" that lets you specify that any LDAP user should be assumed to belong to a particular realm; should be a small patch to zproject/backends.py to support this.
You should be able to test whether this will work hackishly by just changing domain to hardcode "comnmodel.org" in get_or_create_user inside ZulipLDAPAuthBackend, and then restarting the Zulip server.  Are you up for doing that @reyman ?

@timabbott Why not, i can test that if you want.
I suppose i also misunderstand the LDAP_APPEND_DOMAIN  i set to None ... I think in a first place that this option authorize any adress email, but it seem it's not the case.
# If the value of a user's "uid" (or similar) property is not their email
# address, specify the domain to append here.
LDAP_APPEND_DOMAIN = None

That option is for the case where what you have in LDAP is just e.g. "tabbott", and you need to convert it to e.g<EMAIL_ADDRESS>to get the user's email address (which Zulip needs to be able to send emails to the user in addition to needing something for the login page).

@timabbott Thanks for explanation, can you help us about modification (some details about the file we need to modify) we need to do to test the hack you proposed with @Galexrt  ?

yeah get_or_create_user inside ZulipLDAPAuthBackend inside zproject/backends.py.

@reyman I may have found the problem (nothing wrong with Zulip :wink:).
The user that is created using my script, is created from the following environment variables and you set them to the default, so the "wrong" user is created:

ZULIP_USER_EMAIL<EMAIL_ADDRESS>(see https://gist.github.com/reyman/0a1cb49b63629edd9a3b#file-docker-compose-tmp-yml-L51)
ZULIP_USER_PASS: "zulip" (see https://gist.github.com/reyman/0a1cb49b63629edd9a3b#file-docker-compose-tmp-yml-L52)
ZULIP_USER_DOMAIN: "example.com" (see https://gist.github.com/reyman/0a1cb49b63629edd9a3b#file-docker-compose-tmp-yml-L53)

Change them to and try again to login:

ZULIP_USER_EMAIL<EMAIL_ADDRESS>ZULIP_USER_PASS: "YOUR_USER_PASSWORD"
ZULIP_USER_DOMAIN: "comnmodel.org"

Because then the user you are trying to login exists and login with LDAP should be possible, if I understand LDAP authentication good enough.

OMG thanks @Galexrt that works :+1:
So if i understand weel, LDAP user designe to be admin, and admin config in ENV variable (ZULIP_USER_*) should correspond (login/password) ?
Is there a way to mask password in the env files ?

@reyman There is no way to mask the password in the env file, but after the container start just login and change the password to something else. Someone would need full access to Docker, to see the password.

Ok, the way that ldap work seem strange to me in Django/Zulip. In other ldap application (like redmine for example), ther is no way for user to change password.
@timabbott If i understand LDAP in zulip serve only to create user in the zulip database. If user want to change their password (only in zulip database), they could, isn't it ?

@reyman it's a bit more complicated than that.  There's an LDAP password that goes into the config file that is used for Zulip to be able to connect to LDAP and make queries.
However, once that is setup, all users of the LDAP domain are able to login to Zulip using their LDAP password.  Those LDAP passwords are not stored in the Zulip database -- Zulip queries the LDAP server whenever a user tries to login.  If you enable both LDAPAuthBackend and EmailAuthBackend, then there both local user passwords and LDAP passwords will be checked, but the usual configuration would be to only enable LDAPAuthBackend, in which case only the LDAP password (and not a "local user password") will be used when a user tries to login.

Thanks for clarification :)
2016-03-28 17:32 GMT+02:00 Tim Abbott<EMAIL_ADDRESS>
@reyman https://github.com/reyman it's a bit more complicated than
that. There's an LDAP password that goes into the config file that is used
for Zulip to be able to connect to LDAP and make queries.
However, once that is setup, all users of the LDAP domain are able to
login to Zulip using their LDAP password. Those LDAP passwords are not
stored in the Zulip database -- Zulip queries the LDAP server whenever a
user tries to login. If you enable both LDAPAuthBackend and
EmailAuthBackend, then there both local user passwords and LDAP passwords
will be checked, but the usual configuration would be to only enable
LDAPAuthBackend, in which case only the LDAP password (and not a "local
user password") will be used when a user tries to login.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/zulip/zulip/issues/210#issuecomment-202441256

--
http://stackoverflow.com/users/385881/reyman64

@nVitius @timabbott Is this feature still consider? If not, I might give a try if it still makes sense.

This is fixed via #6494.  Thanks everyone and especially to @Supermanu for fixing this!


Match certificate name

When I run match and a certificate is generated, what determines what the name of the certificate will be? Is it based directly on the Apple account username/email? Can the name of the certificate be customized or is it just a default of the Apple account username?

The name is consistent and cannot be customised. Why do you feel like changing the name?

I would like to change the name because it has my name and since it's shared, it would be better if it has the company name?

@KrauseFx I would like to change the name because it has my name and since it's shared, it would be better if it has the company name?

@i-schuetz Thanks for following up. We'll track this as a feature request.


fix: add sanitizer

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Refactoring
[ ] Build or CI related changes
[ ] Tests related changes
[ ] Documentation content changes

Since it's a breaking change, it should be a new major release.


[3.5] undefined behaviour on node delete

https://jenkins01.arangodb.biz/view/PR/job/arangodb-matrix-pr/7614/


drivers: eswifi: Fix memory buffer allocation in off_read_work

When receiving data over the eswifi module, we currently read the data first, then allocate a buffer, and finally write the data into the buffer. The issue is that if we can't allocate the buffer, the data that was read is lost. To fix this, we should first attempt to allocate the buffer before reading any data. If we can't allocate the buffer, we should not proceed with reading the data.

Can you also double check or confirm that if we discard packet reading (e.g forced allocation failure), we are actually able to retrieve the packet in next/subsequent 'read_work' procedure (and don't fuzz the chip state).

Test failed on : tests/net/lib/http_server/tls/net.http.server.tls but locally it works.
START - test_tls
E: Page fault at address 0x18a00c (error code 0x0)
E: Linear address not present in page tables
E: Access violation: supervisor thread not allowed to read

PR #76528 got the same issue with the same address page fault, is that weird ?

Can you also double check or confirm that if we discard packet reading (e.g forced allocation failure), we are actually able to retrieve the packet in next/subsequent 'read_work' procedure (and don't fuzz the chip state).

Currently if we have an allocation failure we are going to the label "done", so we never reach __read_data function in that situation. I assume that it doesn't imply packet loss in next read_work.

Test failed on : tests/net/lib/http_server/tls/net.http.server.tls but locally it works.

I think this is fixed by #76580

Test failed on : tests/net/lib/http_server/tls/net.http.server.tls but locally it works.

I think this is fixed by #76580

Yes, it seems to !
INFO    -  696/1063 native_sim                tests/net/lib/http_server/tls/net.http.server.tls  PASSED (native 0.054s)

Since this change I'm getting this error:
[00:00:45.112,000] <err> net_pkt: Data buffer (1460) allocation failed.
[00:00:45.112,000] <err> wifi_eswifi: Cannot allocate rx packet

Any clue?

Hi davidalo, logs show us that we can’t allocate buffer but actually it is
not a failure because we will try to allocate a new buffer the next time we
run off_read_work function (take a look at my commit). So you are true to
trace back this point because it should not be an error message but an
informative message I guess.
On Thursday, August 15, 2024, davidalo @.***> wrote:

Since this change I'm getting this error:
[00:00:45.112,000]  net_pkt: Data buffer (1460) allocation failed.
[00:00:45.112,000]  wifi_eswifi: Cannot allocate rx packet
Any clue?
—
Reply to this email directly, view it on GitHub
https://github.com/zephyrproject-rtos/zephyr/pull/76483#issuecomment-2291498021,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BHRY7TFNKX6AWY2OD6EOB7LZRTATTAVCNFSM6AAAAABLWLUMEOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJRGQ4TQMBSGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi davidalo, logs show us that we can’t allocate buffer but actually it is not a failure because we will try to allocate a new buffer the next time we run off_read_work function (take a look at my commit). So you are true to trace back this point because it should not be an error message but an informative message I guess.
…
On Thursday, August 15, 2024, davidalo @.> wrote: Since this change I'm getting this error: [00:00:45.112,000]  net_pkt: Data buffer (1460) allocation failed. [00:00:45.112,000]  wifi_eswifi: Cannot allocate rx packet Any clue? — Reply to this email directly, view it on GitHub <#76483 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/BHRY7TFNKX6AWY2OD6EOB7LZRTATTAVCNFSM6AAAAABLWLUMEOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJRGQ4TQMBSGE . You are receiving this because you were mentioned.Message ID: @.>

Hello @LeoBRIANDSmile . Thanks for the information. I resolved the issue by increasing the net buffers for the allocation, after doing it everything worked as expected.


Add ports and change conveyor to VictorSPX

The TalonSRX and VictorSPX hardware API is the same so the same motor configure class will work for both.


Review build for SDK doc copy edit

Description
Review only - DO NOT MERGE
Review build for Tomas:
https://github.com/quixai/quix-streams/pull/21

Closing as only retired for review.


[qt] qt5-script build error

Host Environment

OS: [Windows 10]
vcpkg-tool version: 2022-09-20-522aa94e9d261c7d7b2f079bf2591ca62df5c714
vcpkg-scripts version: d52632d9a 2022-09-21 (16 hours ago)

To Reproduce
Steps to reproduce the behavior:
./vcpkg install qt5-script:x64-windows
Failure logs
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:129 (message):     Command failed: D:/SRC/vcpkg/downloads/tools/jom/jom-1.1.3/jom.exe -j 21     Working Directory: D:/SRC/vcpkg/buildtrees/qt5-script/x64-windows-dbg     See logs for more information:       D:\SRC\vcpkg\buildtrees\qt5-script\package-build-x64-windows-dbg-out.log       D:\SRC\vcpkg\buildtrees\qt5-script\package-build-x64-windows-dbg-err.log
And the error log shows:
jom 1.1.3 - empower your cores
cl : Command line warning D9025 : overriding '/Zi' with '/Z7'
cl : Command line warning D9025 : overriding '/Zi' with '/Z7'
cl : Command line warning D9025 : overriding '/Zi' with '/Z7'
cl : Command line warning D9025 : overriding '/Zi' with '/Z7'
cl : Command line warning D9025 : overriding '/Zi' with '/Z7'
cl : Command line warning D9025 : overriding '/Zi' with '/Z7'
cl : Command line warning D9025 : overriding '/Zi' with '/Z7'
cl : Command line warning D9025 : overriding '/Zi' with '/Z7'
cl : Command line warning D9025 : overriding '/Zi' with '/Z7'
jom: D:\SRC\vcpkg\buildtrees\qt5-script\x64-windows-dbg\src\script\Makefile.Debug [....\lib\Qt5Scriptd.dll] Error 1120
jom: D:\SRC\vcpkg\buildtrees\qt5-script\x64-windows-dbg\src\script\Makefile [debug] Error 2
jom: D:\SRC\vcpkg\buildtrees\qt5-script\x64-windows-dbg\src\Makefile [sub-script-make_first-ordered] Error 2
jom: D:\SRC\vcpkg\buildtrees\qt5-script\x64-windows-dbg\Makefile [sub-src-make_first] Error 2

Additional context
I wanna use colmap,and it need qt-script.But when I bulid qt5-script,it always fail.How can I solve this problem

Error 1120 -> unresolved symbol -> needs other log (package-build-x64-windows-dbg-out.log) to see what exactly is missing.

In package-build-x64-dbg-out.log,it shows:
JSGlobalData.obj : error LNK2019: unresolved external symbol "private: static void __cdecl QTJSC::MarkedArgumentBuffer::operator delete(void *,unsigned __int64)" (??3MarkedArgumentBuffer@QTJSC@@CAXPEAX_K@Z) referenced in function "int private: __cdecl QTJSC::JSGlobalData::JSGlobalData(bool)'::1'::dtor$9" (?dtor$9@?0???0JSGlobalData@QTJSC@@AEAA@_N@Z@4HA)
..\..\lib\Qt5Scriptd.dll : fatal error LNK1120: 1 unresolved externals

package-build-x64-windows-dbg-out.log
package-build-x64-windows-dbg-err.log

@LetterfromLongBow The qt5 is upgraded, could you please pull the latest vcpkg and try again?

I'm not able to repro this via vcpkg version 2023-04-07-bedcba5172f5e4b91caac660ab7afe92c27a9895. If more information comes up, or this issue appears again, please reopen.


Milestone report's next report due link is not aligned with the correct report[7]

Describe the Bug:
Milestone report's next report due link is not aligned with the correct report. removing one report from the middle can cause the link to show the wrong number and anchor.
Probability (how likely the bug is to happen, scored from 1-5):3
(For example, probability of 5 is something like "it happens to all users every time they log in."
Probability of 1 "only happens to certain users when a really specific and unlikely path is followed.")
Effect (how bad the bug is when it does happen, scored from 1-5):4
(For example, effect of 5 is "the entire app crashes and makes it unusable for all users" or "the bug causes the wrong data to be saved, with critical information (e.g. payment) being affected."
Effect of 1 is "It makes some styling look a little bit weird.")
Steps to reproduce the behaviour:
create multiple milestone reports → make the last report as the next report due → remove the last report → next report due link is still referring to that last report which does not exist anymore
Screenshots:
https://www.loom.com/share/b7dd8e1b496f49ea9d98d81213a6f988
Additional information:

OS: [e.g. iOS]
Browser: [e.g. chrome, safari]
Version: [e.g. 22]
Additional context

Amazing instructions and video @Sepehr-Sobhani! Thank you for tackling the bug @gurjmatharu!  I could no longer reproduce the bug while following the steps outlined above.


[1.12] Error for LAN Players "Fatally Missing Blocks or Items"

Intro:
Please note, you will be treated exactly like any other person who submits a bug report, saying this, if you decide to delete this template entirely, your issue will be closed. If you do not provide relevant information when reporting an issue (for example having a script issue and not providing the scripts or the crafttweaker.log file) this issue will be closed. you may now delete this section and continue on with the report.
Issue Description:
Note: If this bug occurs in a modpack, please report this to the modpack author. Otherwise, delete this line and add your description here. If you are using an unnofficial version of Minetweaker or Crafttweaker please report it to the person who gave you the version. Also please look at the other issues to make sure that you are not creating a duplicate.
What happens:
When the host machine changes the recipes.zs file by adding a new recipe via the CTGUI 1 function, other players in a LAN environment cannot join the world due to an error saying "Fatally missing blocks or items."
Giving LAN players the updated version of the script file fixes this issue.
What you expected to happen:
Script files from the host machine should be propagated to any connecting machine.
Script used (Please Pastebin or gist your script, posting an unpasted or ungist'd script will automatically close this issue):
Minetweaker.log file (Please Pastebin or gist your file, posting an unpasted or ungist'd file will automatically close this issue):

Affected Versions (Do not use "latest"):

Minecraft: 1.12
Forge: 2443
Crafttweaker: 4.0.4

Your most recent log file where the issue was present:
[pastebin/gist/etc link here]

Scripts need to be on both client and server, give the other client the script.

@jaredlll08 thats not true, Lex fixed this in Forge <IP_ADDRESS>6 https://github.com/MinecraftForge/MinecraftForge/commit/28e341002f7f338bb9cc490ef3a7270c7b9c99f6
@MokahTGS update your Forge version!

So pretty sure forge 2443 is the latest for 1.12.
If you mean update to 1. 12. 1 then that won't happen until more mods are there.

99% of the mods that are on 1.12 work on 1.12.1, if you have a premade modpack you will have to wait, doubt Forge for 1.12 will get any more updates


Added support for 'category' field

IOS 8 supports interactive notifications. In order to use it we need to add the field 'category' in the payload.

This looks good, could you include the new field in the README/documentation?

Does the above change work for you?

Thanks @varnit


Update CONTRIBUTING.md

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-ZQrYvg1Wv7BG
Commit ID: a2f305c13a35319a0510f2d2227ccacceebb85d0
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-bnXG9FcXlX0l
Commit ID: a2f305c13a35319a0510f2d2227ccacceebb85d0
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-HHah0H4kRcJ1
Commit ID: a2f305c13a35319a0510f2d2227ccacceebb85d0
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: codebuildgithubautobuildPro-sdNVS2x9cuir
Commit ID: a2f305c13a35319a0510f2d2227ccacceebb85d0
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Delete Ford-proprietary SiphonServer.

Fixes #51

@MikaylaRay44 did we actually pull siphon server from the proxy, or are we waiting for #190 to address this problem?

The siphon server, as of now, is still in the project but the change was made (along with related & replacement logging) in the logging consolidation branch #190 that is awaiting merge approval. I closed this to avoid duplication and the work involved in updating this branch before merging since it is already going to be taken care of in the other.


update vgg pretrained model

Description
Following https://github.com/apache/incubator-mxnet/pull/11830 , re-trained VGG models with the latest gluoncv and achieves better results.
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[X] Changes are complete (i.e. I finished coding on this PR)
[X] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

@szha changes are tested. please review and merge.


Update the SDK Manager version

The latest 0.9.14-4964 is used for installation. The definition
of the version was moved to a variable and one common variable for the .deb
file is used.
Signed-off-by: Christian Ege<EMAIL_ADDRESS>

Hello @graugans
thank your for handing in this PR. I am also looking forward for the new SDK versions to get my Board Support Package updated on the Jetson Nano.
@atinfinity do you mind merging this PR?
Best,
Oliver

@deltaflyer Thank you for your comment.

do you mind merging this PR?

I agree this proposal.


document.styleSheets is not reliably updated

document.styleSheets not always synchronously updated with a new element's sheet.
The element added here may not actually cause a sheet to be added and found in document.styleSheets here.
This presents as an error:

I can reproduce this on Chrome 48, but not on Safari or FF

Ahha, confirmation it can also be reproduced on Chrome 47


refactor: move query and wait logic to separate module

This prepares the way for using the query_and_wait method built-in to the client library when available.
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Towards #710
🦕

Conda test failure appears unrelated and tracked here: https://github.com/googleapis/python-bigquery-pandas/issues/708


Standardize utf8 file coding declarations

The goal of this PR is to switch varying utf8 coding/encoding tags to the standard # -*- coding: utf-8 -*-.

lgtm


[RFC] AWCY: Remove libaom's Gerrit as a remote for AV1

Do we want to have gerrit as a remote for libaom, this is quite slow idea since it will be fetching all new gerrit changes which makes  the whole build slow where the bottleneck is fetching gerrit changes.

As discused offline, I have removed the gerrit from the current AWCY as remote as for AVM development, we moved to GitLab.


Mapping between MNI152NLin6Asym ijk-coordinates and CIFTI row indices differs from HCP

What happened?
In HCP 91k CIFTIs, within each subcortical structure, the mapping from ijk-coordinates to CIFTI row indices is basically a nested loop with the CIFTI row index being incrementing along with i, then j, then k (i.e. nested loop going k, j, i from outer to inner). NiWorkflows is incrementing along k, then j, then i. Since the ijk to CIFTI row mapping differs, NiWorkflows-generated CIFTI subcortical data are spatially transposed when mapped onto the "canonical" HCP 91k grayordinates template.
What command did you use?
/opt/conda/envs/fmriprep/bin/fmriprep --fs-license-file /license.txt --resource-monitor --project-goodvoxels --omp-nthreads 3 --cifti-output 91k -vv -w /wd /bids_dir /output_dir participant

What version of the software are you running?
fMRIPrep 23.1.1
How are you running this software?
Singularity
Is your data BIDS valid?
Yes
Are you reusing any previously computed results?
No
Please copy and paste any relevant log output.
No response
Additional information / screenshots
No response

@madisoth Can you patch in niworkflows 1.8.1? If you're using fmriprep-docker, you can use --patch niworkflows=.... Can come up with a Singularity bind, if you don't already have a process there.

@madisoth did the fix in #815 end up solving the problem?

@madisoth I saw a post of yours on basecamp where it sounds like #815 addressed your problem. Is that correct?

Can I ask a quick question? Was this CIFTI-indexing also a problem in the previous (20.x.x) versions as well?

Yes.


Wikimedia:Linkshere implemented

Please Review @abinashmeher999

Anything else?

Currently it only returns a list of pageids right? That works.

Yup. We can change that when we integrate it together.

Can you mention that in a TODO near that? This is so that we don't forget to include the titles too later when we integrate.

Here you go! 😄


06/28/2018 00:53 : Create Pull Request for branch master -> prTesting1_2018062800

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestRef1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


got npm WARN when npm install

npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>

Is this during npm install doca -g  or later?
Does it lead to some errors? Since it's optional (warn), it should be fine.

This is an OS X only dependency that will (harmlessly) fail on other operating systems. It's fine to ignore.


Fix clock::now() Can't locate Time/HiRes.pm

📚 Description
Fix: #318
bashunit will throw an error when Perl Time::Hires is not available. This requires a minor fix to the clock::now() function.
🔖 Changes
function clock::now() {
  if perl -MTime::HiRes -e "" > /dev/null 2>&1; then
    perl -MTime::HiRes -e 'printf("%.0f\n",Time::HiRes::time()*1000)'
  elif [[ "$_OS" != "OSX" ]]; then
    date +%s%N
  else
    echo ""
  fi
}

✅ To-do list

[ ] I updated the CHANGELOG.md to reflect the new feature or fix
[ ] I updated the documentation to reflect the changes

Nice! Thanks for the fix @nawawi Works for me!


Exception: CosmosDB table does not support truncate in batch mode

I am trying to write a Spark DataFrame into a CosmosDB table using the 4.3.1 version of the azure-cosmos-spark connector. I am getting the exception below. Any thoughts on what could be wrong here?
AnalysisException: Table com.azure.cosmos.spark.items..*****. does not support truncate in batch mode.;
writeConfig = {   "spark.cosmos.accountEndpoint": cosmosEndpoint,   "spark.cosmos.accountKey": cosmosdbkeyvalue,   "spark.cosmos.database": CosmosDatabase,   "spark.cosmos.container": CosmosCollectionSpark,   "spark.cosmos.write.bulk.enabled": "true",   "spark.cosmos.write.strategy": "ItemOverwrite" } (df  .write   .mode("overwrite")   .format("cosmos.oltp")   .options(**writeConfig)   .save())

/cc: @kushagraThapar could you please help route this.

@moderakh  - please take a look at this.

Truncate mode is not supported - only append.
df .write .mode("overwrite") needs to be change to df .write .mode("append") above.

Hi! Sorry I know this is closed, but I have a similar issue. What's the alternative for replacing items using cosmos.oltp connector?

If it is not supported, why does it say do in the documentation? Maybe you should update it


fix(ui): conflict resolution to properly import

Motivation
Attempting to build the UI on main currently fails with the following error:
ERROR in ./src/app/workflows/components/retry-workflow-node-panel.tsx 26:0-43
Module not found: Error: Can't resolve '../../shared/utils' in '/home/vscode/go/src/github.com/argoproj/argo-workflows/ui/src/app/workflows/components'

This is happening due to a merge conflict between https://github.com/argoproj/argo-workflows/pull/13343 and https://github.com/argoproj/argo-workflows/pull/13339. The latter was merged first and deleted ui/src/app/shared/utils.ts, which the former is importing. The reason the CI build didn't fail for the former PR is that the branch wasn't up-to-date with main at the time of merge.
Modifications
Fixed src/app/workflows/components/retry-workflow-node-panel.tsx to use the new location of getValueFromParameter()
Verification
Verified http://localhost:8080/workflows?namespace=argo&limit=50 loads locally:

Thanks for fixing this.


fix:  appears twice

https://github.com/hexojs/hexo-theme-landscape/pull/123
https://github.com/hexojs/hexo/issues/3652

wow, this is a big mistake.

it's not caused by theme though, this PR is more like a workaround for cheerio used in meta_generator.js.
More details on the cheerio issue:
https://github.com/hexojs/hexo/issues/3313
https://github.com/hexojs/hexo/pull/3315
https://github.com/hexojs/hexo/issues/3353


added oracle support

Hi, i added Oracle support for the app component. In case we want to use it, we need oracle ;)

Thanks, merged!


There is a problem with the line spacing of the Text widget

When I use text widget to render text in different languages, the line spacing of the text is inconsistent. What should I do to keep it the same line spacing?
Here is my code:
return Column(
                        children: <Widget>[
                          Text(
                            '12346546849651689465164+945684514686459489654846548654,59489654846548654',
                            style: TextStyle(fontSize: 16),
                          ),
                          Text(
                            '房贷呢不乱收费年后vs的哈佛安徽大非农好啊嗯佛奥大V票的不VOA房贷呢不乱收费年后',
                            style: TextStyle(fontSize: 16),
                          )
                        ],
                      );

Please add the output of flutter doctor -v.

in Flutter 1.9.1, TextStyle.height = 1.0 will set widget's height to same as TextStyle.fontSize.

As mentioned by @niusounds, the height property will now indeed produce consistent line sizes. You may also consider the use of a StrutStyle which can provide further paragraph/line level height enforcements.


Not working activity properly.  CropImage.activity() finished before selecting Image

When I launched my app on my device it's work only one time. But when I clear it from cache and restart app and then try to crop new Image then activity started but before selecting any Image to crop it have been finished. I don't know but it is not working properly.
//Code.
CropImage.activity()
.setGuidelines(CropImageView.Guidelines.ON)
.start(ImageCompress.this);

Hey!
I start a new project to handover this library
https://github.com/CanHub/Android-Image-Cropper
The ideia is that we keep improving because this project don’t have updates since 2018
Hope I can count with your help.
Open to contribute, next pieces of work will be Android 11 permissions, refactor into Kotlin and ActivityContract


Prep for platform specific flow

[x] move to haste
[x] dont alias files
[x] mobile files all .native
[x] desktop files all .desktop
[x] filter out most of node_modules. The regexp in flowconfig [ignore] section sucks but this makes my flow go from 30s -> 25s

This is a pr to break up into steps what this pr was trying to accomplish: https://github.com/keybase/client/pull/11907/files

[ ] desktop test build

@keybase/react-hackers this is a partial step towards doing per platform flow checking

Cool. Thanks for the explanation!


MODEXPS-187 Authority control: add new export type

Purpose
Add Authority control export functionality
Approach

update folio-export-common
add new command builder
add converters to builder resolver
add job parameters validation

Learning
MODEXPS-187
Pre-Merge Checklist:
Before merging this PR, please go through the following list and take appropriate actions.

Does this PR meet or exceed the expected quality standards?

[ ] Code coverage on new code is 80% or greater
[ ] Duplications on new code is 3% or less
[ ] There are no major code smells or security issues

Does this introduce breaking changes?

[ ] Were any API paths or methods changed, added or removed?
[ ] Were there any schema changes?
[ ] Did any of the interface versions change?
[ ] Were permissions changed, added, or removed?
[ ] Are there new interface dependencies?
[ ] There are no breaking changes in this PR.

There is no need for dates range for failed report type according to last refinement.


Electrolytic Separator Output Error

While I can stick an RC to the right of a Seperator to turn the right hand gas into a fluid, I cannot do so on the left side, but instead MUST use a pipe to connect the Seperator to the left RC, which just wastes space.  Could you please fix it so that the Seperator will directly dump from the left side into other machines without requiring piping?
Minecraft: 1.10.2
Mekanism: <IP_ADDRESS>5

The separator has a fixed input and output, if you place the rotary condensentrator 180 degrees turned it works just as fine as on the other side.


Rewrite of block: i-bem elem: deps

if my block has deps like this:
    mustDeps: [
        {block: 'i-bem', elem: 'i18n'},
        {block: 'i-bem', elem: 'html'},

then bemhint will read actual deps only of last statement:
actual:   { block: 'i-bem', elems: [ 'html' ] }

Why do not you write this ->
    mustDeps: [
        {block: 'i-bem', elems: ['i18n', 'html']}
    ]

?
I think that the first variant is not really a good bem style

I think you right for i-bem block
but think about i-ua
deps can be:
block: 'i-ua', elem: 'svg'
block: 'i-ua', elem: 'retina'

and in his case we don't need block itself

bemhint checks i-bem deps now, so it seems that we can use everything AS IS.


[Do Not Merge] First stab at a Mint wdl style'ish guide...ish

I wanted to try to take a stab at what kind of style guide the team might want to follow for our wdls.
I've put most of my suggestions in SS2SingleSample.wdl but you can find anything I've added by looking for the pattern## **.  I've stated some things and have also asked a few questions about things I am not sure about but comments on anything would be really awesome and I fully expect for whats written here to change quite a bit.
I also took the styles I wrote up (totally biased on how I like to write my wdls) and applied them to the SS2 workflow as a whole in this PR as well so at least we could get an idea of what they look like.
I don't plan on merging this in ever but it might be a good first step in figuring out what we want to make our WDLs look like and then we can go back and apply those guidelines to already written WDLs and future WDLs.
This will also be good feedback for the WDL team as I know they are looking to work on a wdl style/possibly linter in the near future.

@LeeTL1220 @yfarjoun your input would be appreciated as well.


Ramya/he enhancement rev2

Implemented  fpgaperf_counter shared library module works similar to perf tool

fixing sanity check errors


Broken wallaby logo on mochajs.org

In our mochajs.org site, wallaby-logo.png is broken.
It is only happened in docs.production build, so I think it is optimization issue.

Let me work on it :)

fixed by #4431

This should be in the process of being deployed to https://mochajs.org


HIP 51: Helium DAO

Authors: @tjain-mcc, @shayons297, @jmfayal,@abhay
Start Date: 2022-01-26
Category: Economic / Technical
Original HIP PR: https://github.com/helium/HIP/pull/334
Tracking Issue: https://github.com/helium/HIP/issues/336 (this)
Status: Approved

Rendered view
Read the HIP:
https://github.com/helium/HIP/blob/master/0051-helium-dao.md
Summary
This proposal outlines economic and technical constructions with the aim of scaling the Helium Network to support new users, devices, and types of wireless network protocols.
We propose that each wireless network supported by Helium (LoRaWAN, Wifi, 5G — referred to as wireless network protocols or WNPs) has its own subDAO with its own token (referred to as wireless network tokens or WNTs). The key specifications of the WNT such as proof-of-coverage rules, data credits rewards, and consensus mechanisms are governed by each WNT DAO.
The aim is to create an economy such that the underlying HNT-Data Credit burn-and-mint equilibrium remains undisturbed, and Proof-of-Coverage rules and miner emission amounts are dictated by the corresponding wireless network’s sub-token.
The technical model requires that the entire Helium Network lives at some proposed base layer (L1). All accounts and transaction activity happens at this L1. All subDAOs operate as economic and governance layers (L2) with their respective WNTs acting as native tokens for this purpose. Each L2 also runs software to calculate WNP specific items (eg: all the proof of coverage code that exists on the current LoRaWAN network to determine hotspot rewards) and the L2 validators who have staked WNTs come to consensus on these calculations.

Do you think the proposed HIP could support networks other than star topology? Does a mesh network could become a WNP ? Mesh Proof of coverage is slightly different than device to hotspot architecture of star networks. (Device to devices than to hotspot)

These proposals are great ideas HIP 51, 52. There are some fundamentals that would build confidence in the expected target outcome:

Is DeWi & Helium committed to drive the maximum balanced value for both Lora and 5G/Wifi.  With recent observations in technical debt, skills and changing tokenomics, limited consideration for SLAs -- are you tooled to make this successful and industrial grade.
The 5G token model was proposed recently without wider consultation of community experts. How will you ensure this model will actually work and engage the community into open testing and feedback
Can DeWi/authors confirm their analysis on economic, technical, functional and community pros and cons.

In summary, how can we GUARANTEE HIP 51,52 will deliver... getting it half right with a long tail is not an option. How will execution risk be managed? How will you engage the community and  leverage devs and commercials skills willing to help from the ecosystem. I may not be a Dev, but we are making a 'pig ear' such a great project which has so much more to give.

Thank you very much for the team's update on programmatic treasury and protocol score on this HIP. My question is: what is the specific difference between programmatic treasury and the previous bonding curve? Are there any auxiliary documents that allow us to understand and learn more about programmatic treasury? I will appreciate it a lot for any explanation and help!

I honestly believe that this HIP should be more along the lines of how a sub-DAO should interact with Helium. Helium could be a DAO or just an L1 blockchain in this context.

We need to establish how sub-DAO's are rewarded by Helium
Determine how these rewards will be governed to ensure fairness
Minimum requirements to be met to become a sub-DAO (rewarded/non-rewarded)

We should do this in the most minimalist and simplistic way. Helium shouldn't need to worry about how a sub-DAO governs itself nor tries to enforce it. However, there needs to be agreements on what that means in regards to rewards specifically PoC.
Helium (L1) Structure:

HNT accounts
HNT related transactions
Awards HNT to applicable sub-DAOs based on agreed sub-DAO operations

Sub-DAO

Establishes participants rewards
Implements mechanism to validate rewards (PoC logic)
DNT accounts
DNT transactions

My biggest concern is how sub-DAOs "connect" to the Helium blockchain. I would recommend that to establish a sub-DAO that sub-DAO would need to bond a certain amount of HNT as a license. With the bond transaction the sub-DAO sets the DC to DATA ratio for the sub-DAO. There's three ways to add HNT to sub-DAO - wallet contribution, PoC rewards, and Data Transfer rewards.
** The CURRENT Reward Pools should remain the same **

Wallet Contribution: Any wallet holding HNT can bond HNT to the sub-DAO resulting in the creation of DNT to that wallet on the sub-DAO.
PoC Rewards: Helium divides up the PoC rewards based on protocol age and DC usage. [1] The resulting % calculated above will then be bonded to all attached sub-DAOs respectively. The sub-DAO's are then responsible to convert that newly bonded (staked) HNT to their DNT rewards structure.
Data Transfer Rewards: The sub-DAO acquires DC by burning the HNT in their bond pool. The means this happens is up to the sub-DAO however, upon the agreed upon report interval (30 blocks/epoch) the sub-DAO submits the amount of DATA transferred resulting in the 1:1 bond of HNT.

[1] The goal of this is to define the maturity of a wireless protocol. At what age, should it be kicked out of the house and fend for itself? At what income should it also meet the same fate? At the core the PoC rewards should be evenly split between protocols. So for example with LoRa and 5G being active they should get 50% of the current PoC rewards. These % are then adjusted based on the protocols age ratio'd to the maturity date of that protocol. The older the protocol gets the smaller the % would be. DC usage would also make the % smaller since the wireless protocol is established enough to feed the "flywheel"

I'd like to consider the technical implementation of this HIP. There are various risks, rewards and opportunities depending on how we choose to proceed. Specifically, I want to consider what platform we could use.
The HIP describes a modular blockchain architecture. There is a central, governing L1 communicating directly with independent yet interconnected Decentralised Network Protocols (DNPs). This is a good approach; we can innovate within a DNP without concerns about how that might impact other DNPs. Each unit of the protocol is contained, yet all units are connected.
This modular approach is well suited to the Cosmos SDK. The Cosmos SDK is a foundational layer on which to build modular, interconnected blockchains. It provides consensus, networking, and inter-blockchain communication, as well as optional extras such as interchain-security and smart contract execution via CosmWasm.
If we were to implement this HIP on the Cosmos SDK, we would have a central Helium Hub surrounded by Helium Zones. The Helium Hub performs the functions of the L1, while each Helium Zone is a unique DNP or, potentially, some other modular chain that benefits Helium, such as an AMM or bridge.

The primary benefit of using the Cosmos SDK is that we will be able to focus our efforts on things that make Helium unique, while inheriting upstream development for things that most blockchains share in common. We could avoid continually reinventing the wheel while we attempt to solve problems in consensus, networking and interchain communication that have already been solved elsewhere. Additionally, we gain access to the wider Cosmos ecosystem, giving us access to liquid AMMs (Osmosis); existing bridges to Ethereum, Polkadot and Solana; and a substantial group of potential blockchain developers.
If we were to pursue this course of action, we may be able to transition to the Cosmos SDK in stages. The existing Helium blockchain could become the LoRa subDAO and a bridge could be built to the new Helium Hub. At a later stage, and by the consent of LoRa governance, we would be able to transition the LoRa subDAO to the Cosmos SDK entirely in order to fully reap the benefit of using a single SDK.

This honestly has to be a joke! They need to fix what's wrong with everything and stop making all these changes. Its just getting worse

Authors: @tjain-mcc,
@shayons297,
@jmfayal,
@abhay
Start Date: 2022-01-26
Category: Economic / Technical
Original HIP PR: Create HIP 51: Helium DAO #334
Tracking Issue: HIP 51: Helium DAO #336 (this)
Status: In Discussion

Rendered view
Read the HIP:
https://github.com/helium/HIP/blob/master/0051-helium-dao.md
Summary
This proposal outlines economic and technical constructions with the aim of scaling the Helium Network to support new users, devices, and types of wireless network protocols.
We propose that each wireless network supported by Helium (LoRaWAN, Wifi, 5G — referred to as wireless network protocols or WNPs) has its own subDAO with its own token (referred to as wireless network tokens or WNTs). The key specifications of the WNT such as proof-of-coverage rules, data credits rewards, and consensus mechanisms are governed by each WNT DAO.
The aim is to create an economy such that the underlying HNT-Data Credit burn-and-mint equilibrium remains undisturbed, and Proof-of-Coverage rules and miner emission amounts are dictated by the corresponding wireless network’s sub-token.
The technical model requires that the entire Helium Network lives at some proposed base layer (L1). All accounts and transaction activity happens at this L1. All subDAOs operate as economic and governance layers (L2) with their respective WNTs acting as native tokens for this purpose. Each L2 also runs software to calculate WNP specific items (eg: all the proof of coverage code that exists on the current LoRaWAN network to determine hotspot rewards) and the L2 validators who have staked WNTs come to consensus on these calculations.

Dawg every average HNT miner is getting shafted like an abused child, fix the current issues with your network rather than adding more sauce into the pot it's already overflowing come on, go watch an expert give his opinion https://youtu.be/d2wdlP3gDTo and subscribe

Fix your network Nova Labs you have more funding then ever and aren't doing much.

As I understand HIP 51 IOT Token and Mobile Token are backed by HNT Token. My question is what would the exchange rate be? 1:1? 2:1?
Also how is that exchange rate managed.
This is defined by the subdao HIPs
Lastly will you exchange it in the app?

The HIP has been approved via Helium Vote, with +96.94% voting For HIP 51.
On behalf of Helium Foundation, the HIP Editors, and the wider Helium community, I am marking this proposal as approved and recommending that the coredev team implement the necessary changes as soon as reasonably possible.

The visio in this HIP suggests that 5G will operate as it's own DAO, rather than a subDAO. I've updated the visio, if someone with permission wants to update this.
https://drive.google.com/file/d/1yGZARRzfx7EltcAGd4CsmHUcRF_wjjL5/view?usp=sharing

This has been implemented. Please see contracts on the Solana blockchain or visit this Repo: https://github.com/helium/helium-program-library.


Make the order by name case insensitive

Current outpout:
 tmp  test  %  ⎈ prodild  prod  lsd -l
.rw-r--r--  peltoche  users  0 B  Mon Dec 10 10:16:50 2018    AAAAA
.rw-r--r--  peltoche  users  0 B  Mon Dec 10 10:16:57 2018    BBBB
.rw-r--r--  peltoche  users  0 B  Mon Dec 10 10:16:53 2018    aaaaa
.rw-r--r--  peltoche  users  0 B  Mon Dec 10 10:16:59 2018    bbbbb

expected output:

 tmp  test  %  ⎈ prodild  prod  \ls -l
total 0
-rw-r--r-- 1 peltoche users 0 Dec 10 10:16 aaaaa
-rw-r--r-- 1 peltoche users 0 Dec 10 10:16 AAAAA
-rw-r--r-- 1 peltoche users 0 Dec 10 10:16 BBBB
-rw-r--r-- 1 peltoche users 0 Dec 10 10:16 bbbbb

Downloaded the latest version 0.10. The issue still persists. The listing is still case sensitive.
    % lsd
    AAA  BBB  aaa  bbb
    % \ls
    aaa  AAA  bbb  BBB
    % exa
    aaa  AAA  BBB  bbb

Fix merged -> #82 , thanks for the report

Hi,
Contrarily to @Peltoche , I want my ls command to differentiate between Lower and Upper case letters.
This is because:

All (real) OSes (notably Unices) are case sensitive
[because] All (real) programming languages are case sensitive,
[because] Most languages (at least latin ones I know of) are case sensitive (try to write the first/last name of someone in all-lower case in Italy/France/Portugal/UK and you'll be stoned!)
That's also the reason why ASCII differentiates "a" and "A" as 2 different chars
That's also why the original ls differentiates between the two (apart if you have asked it to localize the output by changing LANG=C in your environment).

So all (real/reasonable) computer scientists would want the output of any command to differentiate between Lower/Upper case letters.
So I don't see any reasonable reason to want to treat an Upper/Lower case letters in the exact same manner... But let's says a few people on earth want that.
In this case, that should be an option (not activated by default).
Would be great if you could provide some means to come back to the previous & correct behaviour (distinguishing L/U case letters), either by a CLI switch or by taking into account the LANG varenv (like original ls) or anything else.
Thanks :)

hi @liar666, thanks for the report, please open a new issue for the discussion, you could add a link to this one for reference.
BTW, adding the GNU ls behavior would be great as LSD is trying to align features with GNU ls.


[Prod] Input parameters not showing up on NDWI

For some reason when I open the NDWI tool, no inputs appear:

Other indices work just fine e.g.

Try the tool with the name 'NDWI (Normalized Difference Water Index)'. It's possible that the tool you are trying to use is outdated and should be deleted.

Yep, the other one works!


Docs for each module

Closes #94

Codecov Report

Merging #114 (7b34d3d) into main (6a0d362) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main     #114   +/-   ##
=======================================
  Coverage   91.83%   91.83%
=======================================
  Files          29       29
  Lines         784      784
=======================================
  Hits          720      720
  Misses         64       64

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Peds relationship

Example:
int group1 = World.AddRelationShipGroup( "myTestGroup1" );
int group2 = World.AddRelationShipGroup( "myTestGroup2" );
int group3 = World.AddRelationShipGroup( "myTestGroup3" );

Ped ped = World.CreatePed( PedHash.AFYBeach01, player.Position );
Ped ped2 = World.CreatePed( PedHash.AFYBeach01, player.Position );

ped.RelationshipGroup = group1;
ped2.RelationshipGroup = group2;
player.RelationshipGroup = group3;

World.SetRelationshipBetweenGroups( Relationship.Hate, group1, group2 );
World.SetRelationshipBetweenGroups( Relationship.Hate, group1, group3 );
World.SetRelationshipBetweenGroups( Relationship.Companion, group2, group3 );

Nice!

Very nice!

...let's see Paul Allan's relationship groups!


CLIP tuncation for transformer processing not working - Prompt length errors on 666

Prompt was truncated. Try to shorten the prompt or increase max_embeddings_multiples
I get this on most all models and anything over a few prompt words...

Is anyone else having this issue? Still with 669... it truncates prompt and I do not see any way around it here... works fine with prior versions

Looks like long prompts are not being cut into max length for further processing through transformer with concatinated chunks

WARNING: [Loader Message] Code 0 : Layer VK_LAYER_OBS_HOOK uses API version 1.2 which is older than the application specified API version of 1.3. May cause issues.
WARNING: [Loader Message] Code 0 : Layer VK_LAYER_OBS_HOOK uses API version 1.2 which is older than the application specified API version of 1.3. May cause issues.
WARNING: [Loader Message] Code 0 : Layer VK_LAYER_OBS_HOOK uses API version 1.2 which is older than the application specified API version of 1.3. May cause issues.
Prompt was truncated. Try to shorten the prompt or increase max_embeddings_multiples
Prompt was truncated. Try to shorten the prompt or increase max_embeddings_multiples

This long prompt problem is not new and is here since day one:
The new weighted encoder is simply warning you when the limit has been reached, the legacy encoder cut it the same way without reporting it.


Contributing file

Have you read the Contributing Guidelines?
Issue #
Describe your changes
Clearly and concisely describe what's in this pull request. Include screenshots, if necessary.

contributing file accepted


fix transfer example

Description

Test Plan

Related Links

let's change this line:
arguments: [AccountAddress.fromHexInput({ input: bob.accountAddress.toString() }), new U64(TRANSFER_AMOUNT)],
// to
arguments: [bob.accountAddress, new U64(TRANSFER_AMOUNT)],

Should work

Closing this PR now. Looks like Maayan just landed the feepayer PR which included this fix cc: @xbtmatt


Page translation links

This PR adds the ability to link translated Wagtail pages and have those links automatically rendered atop those pages. It also adds a basic Wagtail report for reviewing which pages have translated versions, as well as a simple script for importing page translation links in bulk. This implements the design described on internal D&CP#122.
(Note that this approach is not the same as Wagtail's built-in approach to such things.)
Page translation links
Pages now have a new english_page field, which is intended for use on non-English pages, to link back to the English page of which they are a translation. For example, given a page A in English and a page B in Spanish that is a translation of page A, B's english_page would point to A. English pages should not use this field, although nothing terrible will happen if it is set.
Pages now also have a translations property which returns a PageQuerySet of all pages that are translations of that page. This can be used on all pages regardless of language.
Page editor interface
This new field can now be set in the Wagtail admin page editor interface as part of a new consolidated "Translation" section that can be found on pages' "Configuration" tab:

Bulk import of translation links
To make it easier to test and implement this feature, this PR includes a new Django management command, import_translation_links, that allows for loading of page links from a CSV. See import_translation_links.py in this PR for specific implementation details and expected CSV format.
"Translated Pages" report
This PR adds a new, very basic, Wagtail report for reviewing page translations. It's very basic but allows for filtering by translation language:

Automatic rendering of translation links
For now I've only implemented a first cut at rendering translation links as part of the Item Introduction module, which is used on most blog pages. A good representative production URL to test with locally is this one, which looks like this (links are duplicated with the existing hardcoded rich text ones):

Obviously the links aren't in the right place, and there are some other questions: should the language links be translated into the page's language, or not? One thing I've implemented here is the use of hreflang in the links, which partially addresses internal XP#13.
How to test this PR
All code changes should be covered by unit tests with (I hope) total coverage.
Notes and todos

Page editor interface: it would be nice if the interface were more dynamic, for example hiding or disabling the "English page" field if the page's language is English. I'm not sure how possible this is; it would probably be better to wait until we are on Wagtail 4 to do any frontend customization like this.
"Translated Pages" report: there's a lot more to do here; for example the export doesn't currently include any translation information. For the to be truly useful it might need to include page URLs, though, which we've had trouble with in the past. The current layout (combining all translations in one column) is just an initial approach; open to any ideas @csebianlander.
Automatic rendering of translation links: before we can move forward with this we'd need to figure out how to practically turn this on at the same time as we remove the current hardcoded links. One option would be to hide this behind a feature flag turned off by default while we iterate on design and implementation questions.
Documentation needs to be added for this, both internal and external.

Checklist

[x] PR has an informative and human-readable title
[x] Changes are limited to a single goal (no scope creep)
[x] Code follows the standards laid out in the CFPB development guidelines
[x] Future todos are captured in comments and/or tickets
[ ] Project documentation has been updated, potentially one or more of:

This repo’s docs (edit the files in the /docs folder) – for basic, close-to-the-code docs on working with this repo
CFGOV/platform wiki on GHE – for internal CFPB developer guidance
CFPB/hubcap wiki on GHE – for internal CFPB design and content guidance

I love this. Back-end implementation (in terms of content editor experience) is pretty straightforward and should be easy to document for expanded use.
Thoughts in general and on some of your notes:

Page editor interface: it would be nice if the interface were more dynamic, for example hiding or disabling the "English page" field if the page's language is English. I'm not sure how possible this is; it would probably be better to wait until we are on Wagtail 4 to do any frontend customization like this.

yeah this is very low-priority to me, especially since if the page is in English then you're probably not even needing to look at the Translation section of the tab at all.

"Translated Pages" report: there's a lot more to do here; for example the export doesn't currently include any translation information. For the to be truly useful it might need to include page URLs, though, which we've had trouble with in the past. The current layout (combining all translations in one column) is just an initial approach; open to any ideas @csebianlander.

I need to give this some thought, but it's OK to just have it as-is for this initial step and then we can expand on it in a separate task.

Automatic rendering of translation links: before we can move forward with this we'd need to figure out how to practically turn this on at the same time as we remove the current hardcoded links. One option would be to hide this behind a feature flag turned off by default while we iterate on design and implementation questions.

So, considering we're still in-progress on figuring out styling approaches, maybe for now we can just hide this on the front-end (maybe commenting out or removing everything from /molecules/translations.html, but keeping the infrastructure to re-add it still in place). Then we still get the ability to set up the translations on the back-end, which should make it faster and easier to go through and remove hardcoded links ahead of additional work to implement a short-term visual solution that works.

Thanks for the feedback @csebianlander.

Page editor interface: it would be nice if the interface were more dynamic, for example hiding or disabling the "English page" field if the page's language is English. I'm not sure how possible this is; it would probably be better to wait until we are on Wagtail 4 to do any frontend customization like this.

yeah this is very low-priority to me, especially since if the page is in English then you're probably not even needing to look at the Translation section of the tab at all.

It had also occurred to me that it might be useful to use this editor section to be able to see the translations as well, though, for example to be able to directly click to edit one. The need for this becomes somewhat less on Wagtail 4 with the live sidebar preview, though.
Any thoughts on whether we should move the language selection bits to a separate Translation tab in the editor, vs. including it on the Configuration tab?

yeah I think we've discussed that option before - I think of it as a nice-to-have but not necessary for this iteration.
I'm OK with keeping the Translation item as it currently stands within Configuration, but if we did implement a way to view the translations right on the page, it'd be nice to separate that out for better visibility.

Thanks @willbarton @csebianlander for the reviews - I'm going to push some additional changes to simplify this and get this mergeable behind a feature flag as we discussed, and then I'll move this out of draft status and re-request review.

@csebianlander @willbarton this is ready for review again.
I've put any visible frontend changes behind a TRANSLATION_LINKS feature flag which can be enabled locally by going to http://localhost:8000/admin/flags/TRANSLATION_LINKS/.
Once enabled, you can preview the current link appearance at http://localhost:8000/admin/template_debug/v1/translation_links/.
I've added some pages to our test database to make it easy to test the current functionality without needing to mess with production data; you should be able to load the test database using ./refresh-data.sh test.sql.gz and then navigating to http://localhost:8000/about-us/blog/ to see and edit the linked pages.
There is more work to do before this feature can go live, but this PR is intended to be a foundation upon which we can build further.

Some of the ordering of links is weird, like on the English test page:

I assume this is because of the incomplete native language/alphabetizing support?
Works beautifully otherwise!

Some of the ordering of links is weird

@csebianlander yes, this needs to be addressed along with the translations.
Thank you both for the reviews!


🧞 Fix genai exporter arguments bug and add Genai phi2 example

Describe your changes

With the latest onnxruntime-genai, there are a few bugs:
a. precision can only accept string value(int4, fp16, fp32) but not the

b. execution_provider accept ep value but not device value
c. the pass of GenAIModelExporter is not EP agnostic. For cuda int4, the input shape is changed to fp16, but for cpu int4, it is still fp32.

Add phi2 example.

CUDA: v100

CPU:  Intel(R) Xeon(R) CPU E5-2698

Update genai generation example in README of llama2/phi2.

Checklist before requesting a review

[ ] Add unit tests for this change.
[ ] Make sure all tests can pass.
[ ] Update documents if necessary.
[ ] Lint and apply fixes to your code by running lintrunner -a
[ ] Is this a user-facing change? If yes, give a description of this change to be included in the release notes.
[ ] Is this PR including examples changes? If yes, please remember to update example documentation in a follow-up PR.

(Optional) Issue link

    INT4 = "int4"

I think add __str__ could fix the str(Precision.FP32) issue.

Refers to: olive/passes/onnx/genai_model_exporter.py:31 in b5f1e71. [](commit_id = b5f1e710e8bcb024aa1bb32f6e8ba37b2b40e559, deletion_comment = True)

    INT4 = "int4"

I think add __str__ could fix the str(Precision.FP32) issue.
Refers to: olive/passes/onnx/genai_model_exporter.py:31 in b5f1e71. [](commit_id = b5f1e71, deletion_comment = True)

Please make sure the search point is always Enum. If there are any possibility to use str for precision, we'd better add __str__


Statement is returning 'NoneType' object has no attribute 'tzinfo'

I've been running the same config for a few years now (moved from BSD to docker last year) and it seems recent docker update might  have broken something time related. Not sure if this is app or container related - so figure id asks here first.
The statement I am using is:
if:
- transmission_progress == 100: accept
- transmission_date_done > now - timedelta(minutes=30): reject

Expected behavior:
The eval should return accept once 30mins has past.
Actual behavior:
The task never runs properly and logs the error.
I have confirmed using --dump that the transmission_date_done field is fine - so leaning towards 'now' maybe being the issue?
Log:

(click to expand)
Error occurred while evaluating statement `transmission_date_done > now - timedelta(minutes=30)`. ('NoneType' object has no attribute 'tzinfo')

Additional information:

FlexGet version: 3.11.35 (inside container)
Python version: 3.11.9 (inside container)
Installation method: Docker Compose (linuxserver_io - latest)
Docker Image BuildInfo: "Linuxserver.io version:- v3.11.35-ls99 Build-date:- 2024-05-28T15:53:06+00:00"
TZ env is set (and confirmed correct via exec date in the container)
FG_LOG_LEVEL + FILE and CONFIG env are set

There were some changes with times, but it shouldn't break your case. I did find a couple issues that I fixed for the next release though:

The message about has no tzinfo was a bit confusing, and obscures the appropriate error, which should be something like Error occurred while evaluating statement `transmission_date_done > now.subtract(minutes=30)`. ('>' not supported between instances of 'NoneType' and 'CoercingDateTime')
transmission_date_done was always in UTC, which was incorrect, and would break the math. It's now set in the appropriate time zone.

It really looks like the issue you are running in to is when transmission_date_done is None. I'm guessing the bug I just fixed with the wrong time zone was messing up your logic, and that error was from a different torrent that actually wasn't finished.

Makes sense - happy to test when its pushed to next release or if you can point me to a test build docker image.

New version is out, you can give it a go now.

For testing I add 5 torrents of similar size and the task does seem to process now. I did notice 3 logs matching what you mentioned above but the task did process on the next run.
I'm wondering if its similar to another issue a while back were tr_progress could be 100% but tr_date_done can be delayed getting set? Maybe as it transitions to seeding or the file moving?
Either way the cleanup tasks appear to be running again now. So unless you would like to me to debug anything else happy to close it.


Installer DB test: Create empty div that alert appears in so no resizing

Currently the "Everything works" alert is causing the installer window to resize.
It would be better to add an alerts div to that window that is empty and has its size set and then write into that empty div so nothing changes size.

I could not reproduce the issue.
Could this be browser-specific?

Was changed in above merge, but you not being able to reproduce probably means that it can be considered fixed ;)


Moved user values to .env & added .gitignore

Hey man, hope this is not too presumptuous but I wanted to ask how you would feel about some small QoL suggestions:

Move the user specific values to a .env file that would allow the user to store their personal values without the fear of checking them in and publishing to github
Added a .gitignore file to prevent myself (and others) from accidentally checking in their .env and generated pycache files

I am (impatiently) waiting on my e-ink screen to arrive, but I have tested this locally and I see the expected console logs as I saw when I ran the command on your main branch.

Not presumptuous at all, I'm glad to see someone improve upon my code.

I'll clone the repo with your changes to my rpi and make sure everything works and then approve it.
Thanks for your contribution!


Add whitespace to force redeploy

Yesterday's deploy failed due to API outage.

I believe the Workers docs have already deployed since this, but it won’t hurt to deploy again.


Santa Wars

And this ladies and gentlemen, is how the Grinch stole Christmas.

a long time ago
in a repo far far away....

... a jew got insulted by goddamn hat

Guys, let's just split the difference and add a Santana hat. :)

A Satania hat, you say?

Thanks for creating this issue. We think this issue is unactionable or unrelated to the goals of this project. Please follow our issue reporting guidelines.
Happy Coding!

Thank god for political correctness. Imagine all those people who could have been offended by the Santa hat! It's too bad that the ones who actually liked it will be disappointed, but their disappointment is a small price to pay to prevent the offense of those who find Santa hats offensive - who I assume to be the majority.


Help understanding Regex

I am playing around with regex to make filtering more useful to me. My use case is blocking calls from EVERY COUNTRY, except those starting with Portugal's country code (+351).
As I understand I can achieve this by using the regex (?:351)?.* (to allow Portuguese numbers), however when I do this it actually allows ALL numbers through, even those from other countries, as if the code was simply .*
The only workaround here I have found so far is to also add the most common beginning numbers in portuguese phone numbers (e.g. 91,92,96), which leaves me with rules such as (?:351)?96., (?:351)?91., (?:351)?92.*, and so on.
My question is, is this the only way? Do I need to create a rule for every possible beginning number coming from Portugal and authorize them individually, or is the another, simpler way to do this?
kind regards.

The explanation of your regex by AI:
(?:351)?.*

Optionally starts with the number "351".
Followed by any number of characters

It's basically equivalent to .*, and the (?:351)?96.* == 96.*
I'd suggest using two simple regex:

.* priority: 0,   it blocks all numbers
351.* priority:1, it allows numbers start with 351, with higher priority, so it overrides the previous rule. The leading + is ignored.

.* priority: 0, it blocks all numbers
351.* priority:1, it allows numbers start with 351, with higher priority, so it overrides the previous rule. The leading + is ignored.

I have attempted this strategy, but what happens is the call is blocked by the app under the .* rule, because it does not read the +351 country code when I receive a call, it only reads the beginning 91 numbers. In other words, it seems that either the app or my phone aren't recognising the +351 country code by default.

Then it's not an international call, it's just a domestic call, there's no +351 on the pop-up dailer screen, right? The app wouldn't know if there is no +351 on the dialer screen.
I think you need to find a list of all leading numbers, and add a rule like
(96|91|92).*

That's correct. I am currently in Portugal but I usually live abroad and I sometimes receive spam calls from wherever in the world, and the country code is relevant in those instances. I always want to be able to receive a call from Portugal when I'm abroad.
So your suggestion for my use case would be having the following rules:

.*, priority 0 to block all numbers
(96|91|92).*, priority 1 to allow all numbers starting with 96,92...

Is that correct? In this instance, how would the country code be checked for? Also, if I already have to add all number prefixes for Portugal anyway, would it make sense to condense everything into one rule? Something like (?:351)?(96|91|92).*?

I don't know much about the carrier things, but when the carrier send the call information to your phone, the country code is not always included. In most cases for domestic calls, there is no country code.
If you don't see +351 on the dialer screen, then it's not included in this call information, and this app wouldn't be able to know it.
Since you are currently testing it in Portugal, it will always be domestic call and no leading +351. But when you are abroad, there will be +351 because that's international call, and these rules would work.
I think when you are abroad, the whitelist rule 351.* would be enough, no need for the 91,92,96...

You're right, it makes sense when I'm abroad. Thanks, I will do as you recommend.
One last question that may not be so relevant: does the app also include SHAKEN attestation, or only STIR? I know you advertise STIR only, but I thought it would be worth asking. Thanks.

This document https://developer.android.com/develop/connectivity/telecom/dialer-app/prevent-spoofing
claims:

STIR/SHAKEN verdict

and

which surfaces the STIR/SHAKEN verdict from the carrier verification mechanism for the STIR/SHAKEN protocol

Seems shaken is also supported. Under the hood, Android just give you a result of the attestation, either of:
Valid, Invalid or Unidentified.
This result comes along with the call information, I think it depends on the carrier, if the carrier supports both STIR/SHAKEN then the result represents both. For countries(carriers) that only supports STIR, the result only represent STIR. For others, it's always Unidentified.


New Subcommand Tutorial

An alternative for trying to get art or pyfiglet to work for a tutorial.
sympy is listed as a dependency for this tutorial, which is on the default/main channel.
Resolves https://github.com/conda/conda-plugin-template/issues/3

Can we perhaps just make this an Argparse example?

Done!