Need design for a subscription/Subscription page

We are moving /subscriptions to new frontend and adding some additional features to it. Currently looks like this:

It would be nice to reuse the collective card that we use on /redeem page for example, so there is some consistency in how we display a collective.
We need to show the following data for each subscription:

Collective name (like Webpack)
Collective description (one liner at most)
Collective logo (and possibly background image)
Currency + Amount
Frequency (either monthly or annually)
Payment method (only when you are logged in). Credit card type, last 4 and expiry. (VISA ****0198 Expires 01/2020)

Link to update or change the credit card

it should change into a dropdown that lists all of a user's credit cards
Last option on the dropdown is to "Add New Card"
Adding new card can show the same field that we currently show on order page

Status

Active
Past_due (need to highlight this. We'll sending out emails to let them know about this)
Cancelled

Transactions

See the expanded view in screenshot above.
They should be able to see all the transactions and get the invoice.

Would be cool to show "Contributed to date". So, a $10/month subscription for 6 months would show $60. (maybe we can get this in the collective card instead)
Actions:

Cancel
Update Payment Method
(and eventually) Update amount

Likely we'll sort the page to show the Active subs at the top and then a section below for "Cancelled".
@cuiki working on this now, any design input much appreciated.

@cuiki making progress. Few questions/comments

Putting dot menu on top right is a little tricky (the way components are built). It would be much easier to put the action below the payment method. But, it looks annoying to have those buttons on each card. :/ Thoughts? When we add ability to change amount, we could add a pencil icon next to the amount in the center? So it's only about changing payment methods.
Need an icon for help - we won't be able to show many payment methods (see screenshot)
Lastly, we use Stripe elements and while I could split the credit card into multiple fields, it would be a lot easier to reuse the current form. See the credit card form  (when you are logged out or select 'add card'). Unfortunately, the width is too small to make that form field fit.

Ignore the dropdown that pops up for selecting credit cards - that's still work in progress.

Ok, I'll take a stab at the CC entry.

Making progress... still have some rough edges, took some liberty on the payment method flow :).
default state - not logged in

default state - logged in

actions

cancel subscription

change payment method

Hi @asood123
Here is a state that you can use. I still need to come up with a whole system for this, but meanwhile this can work. I did two views:

A user viewing their own page: https://invis.io/TSFWNQD5DWH
A user viewing someone else's page: https://invis.io/HKFWNR3P26X

The only change is in the copywrite. Maybe what the text for a visitor says isn't something we can do right now, but it could be cool.

@cuiki next up on my list is to allow changing an amount. Do you have any ideas on the UI flow for it? I'll add the action in the dropdown. Should we make the center amount editable somehow?

@cuiki any update?


refactor: separate cli app parts from common library packages

refactor: separate cli app parts from common library packages

Introduce the following separation of concerns between packages.

Package cmd: set up and read args and flags. call os.Exit(1) if internal/app/cli function returns an error
Package internal/app/cli: execute necessary business function(s) and print results to Stdout/Stderr
other packages under internal (e.g. internal/commands): implement reusable functions that can be used across different APIs (e.g. CLI, REST)

@hadjian, you're invited to comment on the updated package structure

@hadjian @enricoschuetz
how about renaming "internal/commands" to "internal/usecases"?

Now I got what you mean. commands are the pure commands that are usable by http and clis, i.e. the package doesn't read from file system or socket and doesn't return status or messages to either. Looks good


JS Bundle is cut out

I'd love to reproduce the steps but I was just using roots as always and then I realise a really strange thing. My bundle.js starts with else! I've checked and the bundle.js file in the public directory is perfectly fine so I guess it's the watcher that's getting this file wrong.
I don't know what else can I say. If you think there's some information that I can share there's no problem, I want to help.
Important facts:

I'm using browserify
I don't ignore a single file on scripts/
I run http-server into public/ and it works like a charm
The roots compiler doesn't output any log beyond: compiling... done!

I think this is the same bug I was epxeriencing here: #654
I think if you roll back to 3.1.0 you'll stop seeing this problem.

Works like a charm, thanks @Leeds-eBooks
Btw @jenius , I've notice that only happen when watch not with compile. Maybe this is some important info.


Question: Why Limit Dequeue to 1 Message?

Just curious to know why the MaxNumberOfMessages have been fixed to 1? Would it not make sense to return a batch of messages (SQS max is 10)?
https://github.com/igalarzab/sqjobs/blob/master/sqjobs/connectors/sqs.py#L87
Looks like a nice, simple library though! Thanks!

Hi George!
I'm glad you liked it :)
The MaxNumberOfMessages is fixed to 1 to improve the concurrency. If you have more than one worker (something very usual) getting more than one job per request can cause to have a lot of jobs waiting to be run in one worker while the other workers are completely free, waiting. Also, it simplifies the error handling in case that something wrong happens in the execution.
Do you need to increase the number?
Cheers!

Thanks @igalarzab
I hear what you're saying, but I think it only really applies for low throughput queues wherein the number of messages waiting to be processed is low (i.e. close to or less than the number of workers to consume them).
This is not the case for us, so having multiple workers fetching 10 messages at a time is not going to leave any workers feeling left out! Not only that, but it will reduce the SQS bill (and time between jobs) to fetch multiple messages at once.
On the error handling front, I can see the concern, but if results are cached after each execution, then the bulk versions of delete_message and change_message_visibility (which is already being used) should allow for simple recovery?
I suppose the need to offer a clean-up method will be a bit more complex (to handle a shutdown request) wherein pending messages will have to be returned to the queue, but I don't think that should be too hard to implement?
Unless I've missed something, I think those are the only issues which need to be catered for? If so, I'll try and put some time into writing solutions over the weekend and submit a PR.

@igalarzab - I've done a really quick commit (untested) to demonstrate an approach I think might work:
https://github.com/Erve1879/sqjobs/commit/7003755ce525a038b26f9ee2921e5ed7ec3f5a0d
Would be interested to hear your thoughts.

Hi @Erve1879,
You are completely right that if there a lot of enqueued messages getting more than one message at a time it's a better solution. I've seen your commit and it's a great solution.
Just my two cents:

I think most of the functionality for retrieving just one message could be deleted (1 message is a degenerated case of N-messages), simplifying the code.
I see you are adding also a way to stop gracefully the worker. It could be great to have another PR with that functionality :)

If you want after creating the PR we can check the changes more carefully.
If you want any help just tell me, please!

Great @igalarzab - I'll try and clean it up tomorrow.

Any news @Erve1879 ?


Suspect if statement

https://github.com/microsoft/electionguard-c/blob/2d9d55d2aea6302396ece6414516514998866c83/src/electionguard/bignum.c#L179-L181
The tabbing of these lines seems weird. Here they are in context.
https://github.com/microsoft/electionguard-c/blob/2d9d55d2aea6302396ece6414516514998866c83/src/electionguard/bignum.c#L172-L182
You'll also notice that the while loop does not modify either a or max_decryption, making these lines of code even more suspect.

Thanks @weaversa! It should definitely be result in that comparison, not a. The result is that this loop will ignore the max_decryption. This isn't a huge correctness bug, but the function will loop (functionally) forever if something goes wrong with the encrypted value it receives.

Hi, thanks for raising this issue - we've recently transitioned the primary ElectionGuard reference implementation to the ElectionGuard-Python repository. The team believes this issue has been resolved or mitigated there, so closing this issue for now as this repository will no longer be actively maintained. Please feel free to check and leave comments in the latest repo.


eror

Template
Please write your blade template that occurs issues.
Context (Environment)

write your environment

Description

Any other informations

Closed by #372


node-gyp rebuild error

/usr/local/lib/node_modules# node-gyp rebuild

gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>gyp info spawn python
gyp info spawn args [ '/root/.node-gyp/0.8.1/tools/gyp_addon',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-I/usr/local/lib/node_modules/build/config.gypi',
gyp info spawn args   '-f',
gyp info spawn args   'make' ]
Traceback (most recent call last):
  File "/root/.node-gyp/0.8.1/tools/gyp_addon", line 38, in <module>
    rc = gyp.main(gyp_args)
  File "/root/.node-gyp/0.8.1/tools/gyp/pylib/gyp/__init__.py", line 471, in main
    options.circular_check)
  File "/root/.node-gyp/0.8.1/tools/gyp/pylib/gyp/__init__.py", line 111, in Load
    depth, generator_input_info, check, circular_check)
  File "/root/.node-gyp/0.8.1/tools/gyp/pylib/gyp/input.py", line 2289, in Load
    depth, check)
  File "/root/.node-gyp/0.8.1/tools/gyp/pylib/gyp/input.py", line 361, in LoadTargetBuildFile
    includes, True, check)
  File "/root/.node-gyp/0.8.1/tools/gyp/pylib/gyp/input.py", line 208, in LoadOneBuildFile
    raise Exception("%s not found (cwd: %s)" % (build_file_path, os.getcwd()))
Exception: binding.gyp not found (cwd: /usr/local/lib/node_modules) while trying to load binding.gyp
gyp ERR! rebuild error Error: `gyp_addon` failed with exit code: 1
gyp ERR! rebuild error     at ChildProcess.onCpExit (/usr/local/lib/node_modules/node-gyp/lib/configure.js:290:16)
gyp ERR! rebuild error     at ChildProcess.EventEmitter.emit (events.js:91:17)
gyp ERR! rebuild error     at Process._handle.onexit (child_process.js:674:10)
gyp ERR! not ok

I'm currently getting the same problem.

one of about 7 issues i've been having installing node-gyp

I tried everything posted solution here. Still not working for me.

Try running the following commands and then run npm install
sudo npm cache clean -f
sudo npm install -g n
sudo n 4.4.5
sudo npm install npm -g
sudo npm uninstall node-gyp -g
sudo npm uninstall node-gyp

Your solution does not work, this is still broken.

Go to the folder with binding.gyp of your module and run "node-gyp configure" from it.

binding.gyp does not exist...
 System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\ERSmith\\AppData\\Roaming\\npm\\node                                           _modules\\node-gyp\\bin\\node-gyp.js" "configure"
gyp ERR! cwd C:\Users\ERSmith\AppData\Roaming\npm\node_modules\node-gyp\gyp
gyp ERR! node -v v6.9.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok

binding.gyp does not exist...
 System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\ERSmith\\AppData\\Roaming\\npm\\node                                           _modules\\node-gyp\\bin\\node-gyp.js" "configure"
gyp ERR! cwd C:\Users\ERSmith\AppData\Roaming\npm\node_modules\node-gyp\gyp
gyp ERR! node -v v6.9.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok

After hours of struggling with this issue. All I did was npm config set GYP_MSVS_VERSION 2015. I also pointed Python to npm as well as Visual Studio version. Your .npmrc file found in the hom directory should look like this:
msvs_version=2015 python=C:Python27python.exe GYP_MSVS_VERSION=2015
Ofcourse having Visual C++ installed together with Visual Studio (I used community edition, it had both)

Having the same problem with @seatownrocks, but on Ubuntu 16.04 LTS.
$ sudo node-gyp configure build
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| linux | x64
gyp info spawn /usr/bin/python2
gyp info spawn args [ '/usr/lib/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/lib/node_modules/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/root/.node-gyp/7.7.3/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/root/.node-gyp/7.7.3',
gyp info spawn args   '-Dnode_gyp_dir=/usr/lib/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=node.lib',
gyp info spawn args   '-Dmodule_root_dir=/usr/lib/node_modules',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp: binding.gyp not found (cwd: /usr/lib/node_modules) while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/lib/node_modules/node-gyp/lib/configure.js:336:16)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:194:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.4.0-22-generic
gyp ERR! command "/usr/bin/nodejs" "/usr/bin/node-gyp" "configure" "build"
gyp ERR! cwd /usr/lib/node_modules
gyp ERR! node -v v7.7.3
gyp ERR! node-gyp -v v3.6.0
gyp ERR! not ok

+1 for mac

Update, looks like @krylatij was on point. You have to run configure in a folder where binding.gyp is, or you will get this error.
Problem solved once I found the right folder.

i have not found such file on my computer. note: i had to change recently to python3 and only today i am installing python2 alongside (just because gyp does not support ver 3)

@ctzurcanu what are you trying to use node-gyp for? It's a tool for building native node modules, and every native node module should have a binding.gyp file in the root.
For example, you could clone node-report (a small native module in the nodejs foundation), and run node-gyp configure in that.
npm install -g node-gyp # This should put node-gyp in the path if it's not already
git clone https://github.com/nodejs/node-report.git
cd node-report
node-gyp configure

@gibfahn thank you. I wanted to build https://github.com/wekan/wekan and i see no binding.gyp in the source while in node-report is clearly present in the root..
I should understand that the source there is incomplete.

@ctzurcanu I don't think wekan is a native module.
But basically if you just want to use modules, npm install should just work, you shouldn't need to use node-gyp directly.

Also that module has a pretty detailed Wiki page, if you want to install I recommend reading the docs for the module.

@gibfahn thank you. It is exactly because following that Wiki page that I got in this trouble. They said on it to install gyp before npm install. But at your recommendation: I skipped that step and all that was of interest to me runs fine now :)

same here on Ubuntu

@M-Abozaid (and anyone else planning to comment) can you please raise an issue on https://github.com/nodejs/help ? Your issue is almost certainly not a node-gyp error.
Feel free to include a link to this issue and to cc/ me in the issue.

I am trying to install node-opus and keep getting node-gyp related errors to the binding.gyp

@jndachenhaus depending on which platform you are working on (Windows/linux/mac) there are some steps you need to take in order for node-gyp to function properly.
The README is now quite good, and has gone trough allot of improvempt. If you follow it's instructions node-gyp should work.

OK， I found the same error, because I only install visual studio 2017 and the node-gyp currently didn't support visual studio 2017, I changed the MSVSVersion.py script(under C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp),
and then fix this problem.
after fix the problem you can use command to install :
for example: npm install dnode --msvs_version=2017
In the MSVSVersion.py, you need add code 3 position:
1、In function _CreateVersion, you can add vs2017 like this:
versions = {
'2017': VisualStudioVersion('2017',
'Visual Studio 2017',
solution_version='12.00',
project_version='14.1',
flat_sln=False,
uses_vcxproj=True,
path=path,
sdk_based=sdk_based,
default_toolset='v141'),
2、In _DetectVisualStudioVersions function, add one line:
'14.1': '2017',
3、In SelectVisualStudioVersion function,  add one line:
'2017': ('14.1',),
this works for me, only installed visual studio 2017.

sudo npm i

On my end, I had to do this to force a rebuild manually:
cd node_modules/fibers
npm install

Then I could use my project as usual.

npm install iconv -g

This worked for me. Thanks!

@feixuwu This worked for me. Thanks!


IOS story highlight issue #235 has been resolved

Thanks @emadbaqeri , There are 2 issues in this PR:
1- Please make a pr on develop branch
2- Please before fixing the issue, pull the develop branch latest commits and then make a hotfix on it, so that I can see the hotfix file changes.

Yes you are right.
this was a mistake that I have corrected it by making a new PR


Hybrid search throws error when prefer_grpc=True

I am running a simple hybrid service with fastembed with prefer_grpc=True:
from qdrant_client import QdrantClient

client = QdrantClient(
    url="http://qdrant.localhost:6333", api_key="xxx", prefer_grpc=True
)
client.set_model("BAAI/bge-small-en-v1.5")
client.set_sparse_model("prithivida/Splade_PP_en_v1")

if not client.collection_exists(collection_name="test"):
    client.create_collection(
        collection_name="test",
        vectors_config=client.get_fastembed_vector_params(),
        sparse_vectors_config=client.get_fastembed_sparse_vector_params(),
    )

client.add(
    collection_name="test",
    documents=["Hello there"],
)

However, I get the following error:
  File "/Users/xxx/Desktop/projects/test/test.py", line 34, in <module>
    client.add(
  File "/Users/xxx/Library/Caches/pypoetry/virtualenvs/app-w4MTL1IK-py3.12/lib/python3.12/site-packages/qdrant_client/qdrant_fastembed.py", line 513, in add
    self._validate_collection_info(collection_info)
  File "/Users/xxx/Library/Caches/pypoetry/virtualenvs/app-w4MTL1IK-py3.12/lib/python3.12/site-packages/qdrant_client/qdrant_fastembed.py", line 386, in _validate_collection_info
    sparse_vector_field_name in collection_info.config.params.sparse_vectors
TypeError: argument of type 'NoneType' is not iterable

The error only occurs if prefer_grpc=True.  I checked that in the created collection's config, sparse_vectors has fast-sparse-splade_pp_en_v1 so collection_info.config.params.sparse_vectors should not be None.

Hi @StreetLamb
Thanks for pointing out, it's actually a bug from our side
I've proposed a fix in #674

When trying to perform an Hybrid Query as shown in the documentation it fails due to not detecting the dense embeddings as a valid query model.
Snipped of code from the documentation:
from qdrant_client import QdrantClient, models

client = QdrantClient(url="http://localhost:6333")

client.query_points(
    collection_name="{collection_name}",
    prefetch=[
        models.Prefetch(
            query=models.SparseVector(indices=[1, 42], values=[0.22, 0.8]),
            using="sparse",
            limit=20,
        ),
        models.Prefetch(
            query=[0.01, 0.45, 0.67, ...],  # <-- dense vector
            using="dense",
            limit=20,
        ),
    ],
    query=models.FusionQuery(fusion=models.Fusion.RRF),
)

Error:
 qdrant_client/conversions/conversion.py", line 2579, in convert_query
    raise ValueError(f"invalid Query model: {model}")  # pragma: no cover
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid Query model:

https://github.com/qdrant/qdrant-client/blob/bbe17b32b20598ef80c6a6dc830f1cd0565bfb4a/qdrant_client/conversions/conversion.py#L2560
There the function receives a dense vector as model so any of the conditions is met.

Hi @aiorga-sherpas
Thanks for pointing it out, we'll fix it asap

#682

fixes should be available with qdrant-client==1.10.1


Eye Disease Classification using DL

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
The feature request involves developing a Deep Learning (DL) model specifically designed to classify various eye diseases, including cataracts, glaucoma, diabetic retinopathy, along with a category for normal eye conditions. This model aims to provide accurate automated diagnosis based on input images of the eye.
Use Case
Implementing a DL model for eye disease classification would enhance the project by providing a powerful tool for automated, accurate, and scalable diagnosis, thereby improving patient care, supporting research efforts, and advancing the field of ophthalmology.
Benefits
Integrating a Deep Learning model for eye disease classification brings a multitude of benefits, ranging from enhanced diagnostic capabilities and efficiency to broader societal impacts through improved healthcare access and research advancements. These benefits collectively contribute to advancing healthcare delivery and improving patient outcomes in the field of ophthalmology.
Add ScreenShots

Model Evaluation
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@TAHIR0110 plzz assign it to me and put the appropriate labels


Disabling IsDefault="True" buttons

Thanks for this great control! I discovered while testing my application that if you, for example, add IsDefault="True" to the "Add tab" button in the included test app, you're still able to invoke the AddCommand when the modal is active by pressing the Enter key. I worked around it in my case but tweaking the binding, but I was wondering if you could think of a way that the modal usercontrol could wrestle control of it automatically? My WPF-fu isn't that strong.

Hi, I basically resolved this issue by adding an AccessKeyPressedHandler for the overlay.
AccessKeyManager.AddAccessKeyPressedHandler(_overlay, OnAccessKeyPressed);

void OnAccessKeyPressed(object sender, AccessKeyPressedEventArgs e)
{
    e.Scope = sender;
    e.Handled = true;
}


Django warning about "makemigrations"

Describe the bug
my_app-web      |   Your models in app(s): 'scheduler' have changes that are not yet reflected in a migration, and so won't be applied.
my_app-web      |   Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.
Expected behavior
I did run makemigrations, but did not apply it, to prevent future messing up with official migrations.
likely the migrations should come from the package, and perhaps this would prevent issues.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
django-tasks-scheduler==1.3.2
Thanks so much!!!!

What is the latest migration you have for scheduler?

and can you send me the result of makemigrations?

last migration is 17
this is 18 (makemigrations):
Generated by Django 5.0.3 on 2024-05-10 12:45
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
    ('scheduler', '0017_remove_crontask_repeat_crontask_failed_runs_and_more'),
]

operations = [
    migrations.AlterField(
        model_name='crontask',
        name='queue',
        field=models.CharField(choices=[('default', 'default')], help_text='Queue name', max_length=255, verbose_name='queue'),
    ),
    migrations.AlterField(
        model_name='repeatabletask',
        name='queue',
        field=models.CharField(choices=[('default', 'default')], help_text='Queue name', max_length=255, verbose_name='queue'),
    ),
    migrations.AlterField(
        model_name='scheduledtask',
        name='queue',
        field=models.CharField(choices=[('default', 'default')], help_text='Queue name', max_length=255, verbose_name='queue'),
    ),
]

Oh, I see.
This is happening because you have different settings.QUEUES so the new migration "changes" the BaseTask.queue field so you can see all the options from settings.QUEUES in the dropdown list when creating a task through the admin view.
i.e., it is not a bug - it is a feature :)
I should document it.

So how do you make so it does not conflict with further scheduler app migrations you might add in the future. Should I Apply this one migration?
Get Outlook for iOShttps://aka.ms/o0ukef

From: Daniel M @.>
Sent: Friday, May 10, 2024 8:51:54 AM
To: dsoftwareinc/django-tasks-scheduler @.>
Cc: Salem, Gabriel @.>; Author @.>
Subject: Re: [dsoftwareinc/django-tasks-scheduler] Django warning about "makemigrations" (Issue #119)
Oh, I see.
This is happening because you have different settings.QUEUES so the new migration "changes" the BaseTask.queue field so you can see all the options from settings.QUEUES in the dropdown list when creating a task through the admin view.
i.e., it is not a bug - it is a feature :)
I should document it.
—
Reply to this email directly, view it on GitHubhttps://github.com/dsoftwareinc/django-tasks-scheduler/issues/119#issuecomment-2104556157, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AW464QPLC5PQGGWQOEWU6ILZBS7GVAVCNFSM6AAAAABHPCIECSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBUGU2TMMJVG4.
You are receiving this because you authored the thread.Message ID: @.***>

That's a good point! In django 5 they added support for choices to be a callable which would resolve it - but then it would not support django 4...
I will think about it.

I saw the change for 1.3.3.
-    QUEUES = [(key, key) for key in settings.QUEUES.keys()]
+    QUEUES = [("default", "default"), ("low", "low"), ("high", "high")]

It would break things in many of my projects.
How about this?
class BaseTask(models.Model):
    # Other fields remain unchanged

    @property
    def QUEUES(self):
        """Generate queue choices dynamically from settings to prevent migrations."""
        return [(key, key) for key in settings.QUEUES.keys()]

    queue = models.CharField(
        _('queue'), max_length=255, choices=property(lambda self: self.QUEUES),
        help_text=_('Queue name'), )

This is supposed to work on v4 as well (haven't tested).
Do you want me to submit a PR and do the proper testing? main goal would be to make it the best possible without breaking v4 compatibility.

It should not break things.
Notice there is another change in ready() (here)
which updates the value once the project loads.


Find Replacement facility across the set and changes should be highlighted with specific color code.

Find Replacement facility access the set   and changes should be highlighted with specific color code.

Please refer to the commit number bb61a981f531be56bc2ec1d268dab98f94318003.


Cannot complete 2FA - password request not received by cellphone assigned

Attempting to install the version 0.2.0 which was installed by HACS and appears in this card:

Select alarm.com from the "add integrations"  produces this prompt:

successfully filling out this dialog generates this dialog:

Also an email is produced from alarm.com detecting the login attempt triggered the 2FA warning:

However, the expected cellphone assigned six digit code is never received so the prompt is cancelled and no installation occurs.
Also confirmed that the cellphone six digit code IS received for an unknown browser
I was able to do a successful manual installation capturing the cookie in a previous version but cannot access that version in present release.  I lost my virtual machine and had to rebuild all from scratch so could not take the upgrade path discussed in the info:

Please advise on workaround or regression.

Same isue

@farberm Are you using phone-based 2FA?

Yes - 2FA challenges produce a 6 digit cellphone text message and an email message from alarm.com alerting an unknown source is attempting login. I get the email but not the 6 digit text message. Browser based logins always produce the cellphone text 6 digit code.
Jeff Gerth
Human Interactive Design

From: Elahd Bar-Shai @.>
Sent: Saturday, February 19, 2022 11:42:24 AM
To: uvjustin/alarmdotcom @.>
Cc: humaninteractivedesign @.>; Author @.>
Subject: Re: [uvjustin/alarmdotcom] Cannot complete 2FA - password request not received by cellphone assigned (Issue #89)
@farbermhttps://github.com/farberm Are you using phone-based 2FA?
—
Reply to this email directly, view it on GitHubhttps://github.com/uvjustin/alarmdotcom/issues/89#issuecomment-1046057105, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGYFPZ4QLZIHY3BGF33NXI3U37B7BANCNFSM5OYPMDTA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: @.***>

2FA only
Comes as email. No text message. Do not see a way to change that on website
Sent from my iPhone

On Feb 19, 2022, at 11:42 AM, Elahd Bar-Shai @.***> wrote:

@farberm Are you using phone-based 2FA?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

Here I believe is the problem:
Notice that the “continue” button in lower right must be “pressed” in order
to send a verification code.
From: farberm @.>
Sent: Saturday, February 19, 2022 1:28 PM
To: uvjustin/alarmdotcom @.>
Cc: humaninteractivedesign @.>;
Author @.>
Subject: Re: [uvjustin/alarmdotcom] Cannot complete 2FA - password
request not received by cellphone assigned (Issue #89)
2FA only
Comes as email. No text message. Do not see a way to change that on website
Sent from my iPhone

On Feb 19, 2022, at 11:42 AM, Elahd Bar-Shai @.***> wrote:

@farberm Are you using phone-based 2FA?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

—
Reply to this email directly, view it on GitHub
https://github.com/uvjustin/alarmdotcom/issues/89#issuecomment-1046078080,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGYFPZ4FTXAQIF7A4TK2PPDU37OLFANCNFSM5OYPMDTA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: <
@.***>

There is no continue button in the lower left????
Sent from my iPhone

On Feb 19, 2022, at 1:44 PM, humaninteractivedesign @.***> wrote:

Here I believe is the problem:
Notice that the “continue” button in lower right must be “pressed” in order
to send a verification code.
From: farberm @.>
Sent: Saturday, February 19, 2022 1:28 PM
To: uvjustin/alarmdotcom @.>
Cc: humaninteractivedesign @.>;
Author @.>
Subject: Re: [uvjustin/alarmdotcom] Cannot complete 2FA - password
request not received by cellphone assigned (Issue #89)
2FA only
Comes as email. No text message. Do not see a way to change that on website
Sent from my iPhone

On Feb 19, 2022, at 11:42 AM, Elahd Bar-Shai @.***> wrote:

@farberm Are you using phone-based 2FA?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

—
Reply to this email directly, view it on GitHub
https://github.com/uvjustin/alarmdotcom/issues/89#issuecomment-1046078080,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGYFPZ4FTXAQIF7A4TK2PPDU37OLFANCNFSM5OYPMDTA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: <
@.***>
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

Lower right just submit
Button
Sent from my iPhone

On Feb 19, 2022, at 1:44 PM, humaninteractivedesign @.***> wrote:

Here I believe is the problem:
Notice that the “continue” button in lower right must be “pressed” in order
to send a verification code.
From: farberm @.>
Sent: Saturday, February 19, 2022 1:28 PM
To: uvjustin/alarmdotcom @.>
Cc: humaninteractivedesign @.>;
Author @.>
Subject: Re: [uvjustin/alarmdotcom] Cannot complete 2FA - password
request not received by cellphone assigned (Issue #89)
2FA only
Comes as email. No text message. Do not see a way to change that on website
Sent from my iPhone

On Feb 19, 2022, at 11:42 AM, Elahd Bar-Shai @.***> wrote:

@farberm Are you using phone-based 2FA?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

—
Reply to this email directly, view it on GitHub
https://github.com/uvjustin/alarmdotcom/issues/89#issuecomment-1046078080,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGYFPZ4FTXAQIF7A4TK2PPDU37OLFANCNFSM5OYPMDTA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: <
@.***>
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

Sorry I meant to say lower right continue button- which I must press to generate a code.
Jeff Gerth
Human Interactive Design

From: farberm @.>
Sent: Saturday, February 19, 2022 1:47:26 PM
To: uvjustin/alarmdotcom @.>
Cc: humaninteractivedesign @.>; Author @.>
Subject: Re: [uvjustin/alarmdotcom] Cannot complete 2FA - password request not received by cellphone assigned (Issue #89)
Lower right just submit
Button
Sent from my iPhone

On Feb 19, 2022, at 1:44 PM, humaninteractivedesign @.***> wrote:

Here I believe is the problem:
Notice that the “continue” button in lower right must be “pressed” in order
to send a verification code.
From: farberm @.>
Sent: Saturday, February 19, 2022 1:28 PM
To: uvjustin/alarmdotcom @.>
Cc: humaninteractivedesign @.>;
Author @.>
Subject: Re: [uvjustin/alarmdotcom] Cannot complete 2FA - password
request not received by cellphone assigned (Issue #89)
2FA only
Comes as email. No text message. Do not see a way to change that on website
Sent from my iPhone

On Feb 19, 2022, at 11:42 AM, Elahd Bar-Shai @.***> wrote:

@farberm Are you using phone-based 2FA?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

—
Reply to this email directly, view it on GitHub
https://github.com/uvjustin/alarmdotcom/issues/89#issuecomment-1046078080,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGYFPZ4FTXAQIF7A4TK2PPDU37OLFANCNFSM5OYPMDTA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: <
@.***>
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

—
Reply to this email directly, view it on GitHubhttps://github.com/uvjustin/alarmdotcom/issues/89#issuecomment-1046081502, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGYFPZ2RNR37Y2LWMU726DDU37QT5ANCNFSM5OYPMDTA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: @.***>

I don’t understand “lower right just submit button” – are you suggesting a
programmatic solution that will need to be coded.  Just to be clear all
that is seen in HA integrations dialog popup is first the username/password
prompt then a second prompt of:
What I showed prior to this is what is seen in the human generated popups
when 2FA challenges in a browser session.  Indeed my workaround before this
new code was to do this login in a live session then capture the one time
password and the cookie for the alarm.com site 2FA authentication field.
Just trying to be clear – thanks for any help you can provide – I’m even ok
if the solution is to regress so I can go back to operational code and use
this fine “scraping” solution.
From: farberm @.>
Sent: Saturday, February 19, 2022 1:47 PM
To: uvjustin/alarmdotcom @.>
Cc: humaninteractivedesign @.>;
Author @.>
Subject: Re: [uvjustin/alarmdotcom] Cannot complete 2FA - password
request not received by cellphone assigned (Issue #89)
Lower right just submit
Button
Sent from my iPhone

On Feb 19, 2022, at 1:44 PM, humaninteractivedesign @.***> wrote:

Here I believe is the problem:
Notice that the “continue” button in lower right must be “pressed” in
order
to send a verification code.
From: farberm @.>
Sent: Saturday, February 19, 2022 1:28 PM
To: uvjustin/alarmdotcom @.>
Cc: humaninteractivedesign @.>;
Author @.>
Subject: Re: [uvjustin/alarmdotcom] Cannot complete 2FA - password
request not received by cellphone assigned (Issue #89)
2FA only
Comes as email. No text message. Do not see a way to change that on
website
Sent from my iPhone

On Feb 19, 2022, at 11:42 AM, Elahd Bar-Shai @.***> wrote:

@farberm Are you using phone-based 2FA?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

—
Reply to this email directly, view it on GitHub
<https://github.com/uvjustin/alarmdotcom/issues/89#issuecomment-1046078080
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AGYFPZ4FTXAQIF7A4TK2PPDU37OLFANCNFSM5OYPMDTA
.
Triage notifications on the go with GitHub Mobile for iOS
<
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
<
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub
.
You are receiving this because you authored the thread.Message ID: <
@.***>
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

—
Reply to this email directly, view it on GitHub
https://github.com/uvjustin/alarmdotcom/issues/89#issuecomment-1046081502,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGYFPZ2RNR37Y2LWMU726DDU37QT5ANCNFSM5OYPMDTA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: <
@.***>

There is no "continue" button in the lower right. After you enter the username and password on the first screen it prompts you for the code on the second screen. I never receive an email with the 2Fa code.

It appears that when I upgrad from version 1 that it takes all my information from configured file  and I can arm and disarm the alarm. I get an error however that says it is not configured correctly even though it appears to work. I t asks me to reconfigure. I enter my username and password and then it prompts for a 6 digit code but never sends email or text

I'm trying this for the first time and am experiencing the same issue where I'm not receiving an email with the 2FA code when asked to sign in from the Home Assistant Integrations page.  I attempted to log into the alarm.com site and use the code generated from that but that didn't seem to work.

This should be fixed in v0.2.1. Prior releases inadvertently only supported OTP via authenticator apps. Can anyone here test and confirm?

Fixed issue.
Sent from my iPad

On Feb 20, 2022, at 12:00 AM, Elahd Bar-Shai @.***> wrote:

This should be fixed in v0.2.1. Prior releases inadvertently only supported OTP via authenticator apps. Can anyone here test and confirm?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

Confirmed fixed.  Closing issue.  Many thanks @elahd


Splits improvements: double-click to collapse / expand; persistence api; history & context menu

Describe the feature

Double-click on splits handle to expand / collapse.  makes it easier to open / close a panel discretely, without requiring any other screen real-estate for the toggle.  probably want to reinstate the cascading handles so they are always visible to double-click to open, or somehow figure out another solution there.

Cogent Code supports saving / loading splits, and named splits configurations -- could use this in other apps, so put this into the base core impl.

For the double-click mechanism, we need to save the prior size of the collapsed panel, to re-open.  And probably it is safer to just save the entire state of the other splits rather than trying to reconstruct based on existing proportions.  How about just using a history stack and tagging the uncollapsed state in this stack?

Add a context menu (with tooltip to announce availability) on handles, to access all of the splits functionality, without requiring any new screen real-estate.  This includes collapse/open (depending on current state), named splits, and a graphical display of the history of splits somehow?  Also consider default keyboard shortcut for this menu (C-x C-v in Code).

To handle some of the functionality of a general-purpose dock system (#993), would be good to consider parameterizing of splits in both vertical and horizontal combinations.  Could use option to put tabs into a split along bottom under 2 editors in Cogent Code, for example, instead of on the right.  How do we parameterize the possible layouts in a general way?

Relevant code
No response

Here's a way to parameterize 2D layouts that seems sufficiently general: a list (slice) of integers specifying locations of panes in a window, up to n panes, with the number of columns additionally specified.  We can probably enumerate all the possibilities for each set of n, up to some reasonable size n, and just have that as a list of options, displayed with graphical icons.  Many cases will have rotational variants so we might want a more compact way of specifying that instead of enumerating them all. I looked for existing math on this but it was hard to specify exactly the right terms.
Note that the 1d sequential list, with row-vs-column rotation is always an option for any n.
N = 2

See https://github.com/cogentcore/core/issues/993#issuecomment-2240804041 for an update.

new SplitsTiles are now working well - better than the too-general slice-of-ints.
could add a "+" shaped case, with a horiz split and 2 sub-splits within each of those -- that would be useful for code, and would give 5 children -- could have the 5th child be a TileSplit for the Wide case, for another row of tabs (which could be collapsed).
still todo: double-click hide and restore + context menu + tooltip
saving is not so clear because each app is likely to want to specify some restricted subset of tiles as different schema, as in Cogent Code.
Also,  should be easy to add DND between tabs, which is key for the + case to be useful.  definitely need some persistence helpers for where things end up though..


Do you use a deferred Close() on the database after opening it?  E.g.,
db, err := mbtiles.Open("world.mbtiles")
if err != nil { ... }
defer db.Close()

Is world.mbtiles a valid mbtiles file or does it fail during initial validation?  If it is not valid, there was indeed a bug that was fixed in 67a7dabdbaabfe83ae008ad05bb170db035e3b1c.
If neither of those two things, can you please tell me more about how you are opening & working with world.mbtiles using this package?  My primary use case of this package is mbtileserver, so it is entirely possible that there are bugs lurking here beyond what I've used in that package, and it would be good to get to the bottom of it.


jira: prefix variable dashboard, default action, and completion

This combines and merges the changes from #4202 (optional dashboard default action), #4158 (help message for JIRA_URL), and #4132 ($JIRA_PREFIX) and adds some other stuff, too.
This way you can see how all the changes go together, and have one PR that has all the merging taken care of.

Adds a jira new for completeness
Adds jira dashboard to open up the dashboard
Adds $JIRA_DEFAULT_ACTION to configure what plain jira does (per #4202)
Adds completion support for the jira command, so jira d<tab> turns in to jira dashboard and jira<tab> lists the special argument values
Expands the documentation to cover all currently implemented argument forms and environment variables
Refactors

Closes #4202
Closes #4158
Closes #4132

Thanks for this! Some nice additions to one of the plugins that I use on a regular basis.

Terrific job Andrew. Next up, putting those comments into a README file :wink:

Thanks!
I think it could also be useful to have jira look up the directory tree for the .jira-url and .jira-prefix files, the same way the virtualenvwrapper looks for .venv files since #3918. That way you could be in any subdirectory of a project and it would still respect the per-project JIRA settings. Thoughts?

Probably a good idea as well :+1:

I put those comments into a README file :) #4343


Before checking with .endswith, convert raw.filenames[0] to str in case it is a path

I ran into an issue when I tried to export a Raw object to EEGLAB and it expected raw.filenames[0] to be a str, but it was a pathlib.Path.
With the little fix here, such surprises will be minimized, at no real cost for mne, IMHO.
Furthermore, we do not specify in the API, what raw.filenames SHOULD be in terms of a datatype:
https://mne.tools/stable/generated/mne.io.Raw.html#mne.io.Raw.filenames
Can somebody tell me the difference between .filenames and ._filenames? For example @cbrnr you are using the private attribute here: https://github.com/cbrnr/mnelab/blob/f5f641ba4376e53f1d8687692b592aecb9beea8d/src/mnelab/io/xdf.py#L154
What is your reasoning for that over using the public one?

.filenames is a property without a setter, so I'm directly using the underlying ._filenames because I need to set it.

Do we need raw.filenames to be a list of Path, or could we live with forcing it to be a list of str? Then we would not have to cast to str everywhere (I'm assuming this will crop up in other readers as well).

IMO it's the other way around, we should try to support Paths instead of str.

.filenames is a property without a setter, so I'm directly using the underlying ._filenames because I need to set it.

Ahh, thanks, found it:
https://github.com/mne-tools/mne-python/blob/f3a3ca4430e1d4b9c539e7949c946f4f83bdb43f/mne/io/base.py#L677-L680

IMO it's the other way around, we should try to support Paths instead of str.

Depends on how this property is used. I was thinking that it's just a list of filenames (usually there will be only one filename). I don't think that this is supposed to store the entire path, so I think a str would be the better choice. But correct me if I'm wrong if this attribute serves a different purpose.

I think a tuple of Paths would be good, with additional documentation under: https://github.com/mne-tools/mne-python/blob/f3a3ca4430e1d4b9c539e7949c946f4f83bdb43f/mne/io/base.py#L677-L680
That documentation could include that obtaining a str of the filename can be as easy as raw.filenames[idx].name.
I think this would be more powerful than just having a tuple of str.

I'd still like to know what purpose this attribute serves. As far as I can see, we don't really need it except to print the original file names in a report? So if this is not intended to be a path, why store it as a path?
In any case, I'm not going to argue for it anymore. If you think a Path is better, please go ahead.
Can you also add type information in the class docstring (in addition to the property)?

So if this is not intended to be a path, why store it as a path?

I sometimes use it in personal scripts of mine, to get info that I might store as part of a file path. There are other solutions I could use, of course ... but sometimes this is convenient.

In any case, I'm not going to argue for it anymore. If you think a Path is better, please go ahead.

I also don't have a strong opinion. Happy to follow the majority.

IIRC, the purpose is to store the files needed to load data from when preload=False. In that sense, a str would be sufficient and you won't run into Windows/Unix issues. I don't know if it supports both relative and absolute paths, absolute would be safer I guess.
IMO, Path are a better solution to handle file or directory names and should be preferred. That said, this one will need a bit of work, I can look into it today if you want. We could cast to Path here: https://github.com/mne-tools/mne-python/blob/f3a3ca4430e1d4b9c539e7949c946f4f83bdb43f/mne/io/base.py#L254
Which should convert all our reader code at once. However, we also need to track down lines like this one: https://github.com/mne-tools/mne-python/blob/f3a3ca4430e1d4b9c539e7949c946f4f83bdb43f/mne/io/base.py#L279
Which needs to be converted..

I can look into it today if you want.

That would be much appreciated 🙏
Your suggested changes sound good to me. I would still also improve the documentation of the attribute in the API docs, and perhaps also add a check to the property (raw.filenames) itself to return a Path ... for cases where people create Raws from scratch and set _filenames themselves with a str.

IIRC, the purpose is to store the files needed to load data from when preload=False.

Can you point me to the corresponding code? I didn't find this when grepping for .filenames.
I think we should first establish what purpose this attribute serves, and only then decide what the best representation is. If it is merely for displaying the original file name (this is my best guess at the moment), then I'd go for a string, which is easier and we don't want/need any path-related info then (just the file name).

It seems like most readers already use pathlib.Path to fill this list, so I think it is indeed less work to (1) document and (2) enforce this type.

What about adding a setter that takes care of type conversion? Then we could use the public attribute instead of fiddling with the private one.

I agree that would be cleaner, and removing the private attribute will let the unit test tell us where we need to now use the public property. I suspect that will turn out into a massive change.. while casting here where we set this private attribute will yield a smaller diff: https://github.com/mne-tools/mne-python/blob/f3a3ca4430e1d4b9c539e7949c946f4f83bdb43f/mne/io/base.py#L254

Why don't use use Path.name.endswith()?

Why don't you use Path.name.endswith() or Path.as_posix().endswith()?

For me it's more about wanting a consistent and documented filenames attribute that is either always a tuple of str, or always a tuple of pathlib.Path (I prefer the latter).
The issue here only arises because it is sometimes one, and sometimes the other ... in particular in user-code or 3rd library code where people may set ._filenames themselves.

I'm almost done with a draft PR using Path, it wasn't that bad, just a couple more tests to fix where the filename used to load a file is actually a StringIO or BytesIO or other similar IO object, in which case there value in filenames can end up being the string File-like or the repr(...) of the IO object, neither of which is informative.

The issue here only arises because it is sometimes one, and sometimes the other

ah got you!

closing this in favor of https://github.com/mne-tools/mne-python/pull/12843


Link to Travis.org

Coverage remained the same at 100.0% when pulling 90a67b0aec8ec2993ea4631ee832cfc9cb37bdc6 on travis-badge into e1be79a188e330d2282b427d4115c53adb418c7a on master.


add USBPowerTimerRelay project with GCC for Renesas RL78

added a project: USBPowerTimerRelay, with GCC for Renesas RL78 compiler.
in addition, apply ONLY PIOR (Peripheral I/O Redirection Register) setting.

forgot to set "Unused" on On-chip debug operation settings for main branch. it is for develop branch.


Date Field: Timezone differs between admin panel input, and rest response

Bug Report
Date provided in Date Field is inconsistant with it's response form provided via Rest API. Propable cause is the timezone difference.
Expected Behavior
I provide data via Data Field. The provided date is like 24.05.2022, 10:00 AM. The rest response should be exactly the same.
Current Behavior
The date in response is however : 24.05.2022, 8:00 AM - two hours prior to what I've provided.
Possible Solution
Check the timezone of Admin frontend and adjust the timezone stamp accordingly, or build functionality to adjust timezone of API response via admin. If I understand correctly, at this point the response date is set via server time, which may differ from the timezone of the browser in whicz admin is working.
Steps to Reproduce

Create Date Field in collection.
Provide date to the field via admin panel.
Chech the rest response of the field. In my case, the response is different.

Detailed Description
Current Payload version, Latest Chrome browser, UTC+1 timezone. Payload hostedn on Heroku, without the ability to granular control of the timezone of server.

Thanks for reporting this @quornik. We're considering what the configuration settings will be for timezone and what effects it will have for the admin UI and APIs to solve the issue. We'll update again when we have a plan or fix ready.

Thanks @DanRibbens.
You should also consider if I haven't rushed to quickly to call it a bug. Maybe it works properly and what it actually needs is just slightly updated documentation to the field. A warning of some kind that one should always localize the response.
If you think about it, the best practice is to adjust the timezone always on frontend, after the dateObject has been received and befere it is displayed, because the user's context should determine the way date is interpreted & displayed.
The scenario in which I had a problem with the way it works now, was this particular situation that I did not localize the response date before displaying. In every other situation it works fine.

Since we deterimined there isn't anything in Payload to fix I'm moving this to a discussion for others to see.


ActiveDirectoryDsc: Remove Unused Test-DscParameterState Common Function

Pull Request (PR) description
This PR removes the unused common function Test-DscParameterState.
This Pull Request (PR) fixes the following issues

Fixes #522

Task list

[x] Added an entry to the change log under the Unreleased section of the
file CHANGELOG.md. Entry should say what was changed and how that
affects users (if applicable), and reference the issue being resolved
(if applicable).
[ ] Resource documentation added/updated in README.md.
[ ] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Community Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Community Testing Guidelines.
[ ] New/changed code adheres to DSC Community Style Guidelines.

This change is

@X-Guardian Can you resolve this one? It was to big diff in the unit test so I didn't dare to fix the conflict in GitHub GUI.

Hi @johlju, this PR is ready for review again.


oragono mkcerts should generate a 2048-bit RSA certificate

The current default of an ECDSA certificate is extremely slow, for unclear reasons. This was one of the causes of #894.  P-256 seems to have comparable performance to RSA.


[$250] [Group 5][Accessible Pressable] Migrate OffineWithFeedback

HOLD on https://github.com/Expensify/App/issues/16988
Description
Migrate OffineWithFeedback to use PressableWithFeedback
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01c3458373439ee581
Upwork Job ID:<PHONE_NUMBER>907214336
Last Price Increase: 2023-06-07

Can you assign me to this one, please?

I want to work on this.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~012d61f168fe09c889

@Waffenffs This issue is already worked on. You can check another issues with the label Help Wanted for the open job.

reviewing - will issue payment(s) today 👍

@maddylewis Is this doesn't need the BZ checklist?

@mollfpr - im not sure why the second BZ checklist didn't populate. i think we should still go through those steps. I'll add it manually.

@mollfpr - this may not require the standard BZ checklist. also, can you confirm the following payments are correct:

$250 to @mollfpr
$250 to @Skalakid

this is paid!


[Test-Credential] Update DAC to ChainedTokenCredential

Packages impacted by this PR
@azure-tools/test-credentials
Issues associated with this PR
Describe the problem that is addressed by this PR

Exclude Managed Identity from DAC so that we can run live test pipeline successfully. The 3 credentials that we try is: Powershell, Cli, Environment in listed order. See the migration guide
Increase the default timeout for vitest to our default timeout (180000 ms)

What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.

Live tests pass here. The min/ max testing failure is unrelated to this PR and will be addressed later.

The live tests pass for Template using test-credential 2.x here and for Schema Registry Avro using test-credential 1.x here

\check-enforcer override

/check-enforcer override


Support for MAUI Embedding

SUMMARY
Hi! Thank you very much for your work in porting this library to .NET MAUI, it is greatly appreciated!
We have an app that utilizes MAUI Embedding to use MAUI pages in ".NET for Android" and ".NET for iOS" apps (previously Xamarin.Android and Xamarin.iOS). I was hoping to use your library in this app, but it seems that the map registration doesn't seem to take effect when using this approach. Do you know if this is possible at all with this approach, or if this is something that's possible to implement? When I try to do this from the iOS project, I get this error at runtime:
ObjCRuntime.ObjCException: 'Objective-C exception thrown.  Name: GMSServicesException Reason: Google Maps SDK for iOS must be initialized via [GMSServices provideAPIKey:...] prior to use

On Android I just get a NullReferenceException at runtime.
DETAILS
The use-case involves having one class library for the iOS/Android app and one class library where the MAUI pages are located. I use the embedding technique (as described in the previous link) and I use the host builder to add the .UseGoogleMaps() in my AppDelegate.cs / MainActivity.cs. I've attached a repro of a project that uses MAUI embedding and that tries to use this package.
I understand that this embedding technique might not be all that used, but it would be great if there is a way to make this package work with this setup.
PLATFORMS

[x] Android
[x] iOS

MAUIEmbedding.zip

I'll take a look

@andreas-nesheim just init the maps manually before .UseGoogleMaps()
       MauiGoogleMaps.Init("Key");

Great, I'll have a try next week when I'm back at work!

This worked perfectly, thank you very much for your help!


When using amazon.ca, the HTTPPush connection incorrectly defaults to bob-dispatch-prod-eu.amazon.com

I am new to node-red-contrib-alexa-remote2 as of yesterday but have been a long time user of the Alexa Media Player in HA and have been doing lots of debugging in it and alexapy which proved invaluable in figuring out what to set the "Push Dispatch Host" to despite the severe lack of user documentation on what that entry can be set to.
My Echo devices are registered to my account in amazon.ca but that domain resulted in HTTP2 connecting by default to bob-dispatch-prod-eu.amazon.com.  When I used amazon.com then HTTP2Push connected to the correct gateway (bob-dispatch-prod-na.amazon.com) but then I had zero devices.  Before I delved inside the code, I tried entering the alexapy gateway alexa.na.gateway.devices.a2z.com and Push then worked.  That alias is the same IP as the bob-dispatch-prod-na.amazon.com alias.
I therefore recommend that the /alexa-remote2/alexa-http2push.js should be amended as follows for amazon.ca:
    connect() {
        this.inClosing = false;
        this.update_access_token(token => {
            this.access_token = token;

            let host = 'bob-dispatch-prod-eu.amazon.com';
            if (this._options.pushDispatchHost) {
                host = this._options.pushDispatchHost;
            } else if (this._options.amazonPage === 'amazon.com') {
                host = 'bob-dispatch-prod-na.amazon.com';
            } else if (this._options.amazonPage === 'amazon.ca') {
                host = 'bob-dispatch-prod-na.amazon.com';
            } else if (this._options.amazonPage === 'amazon.com.br') {
                host = 'bob-dispatch-prod-na.amazon.com';
            } else if (this._options.amazonPage === 'amazon.co.jp') {
                host = 'bob-dispatch-prod-fe.amazon.com';
            } else if (this._options.amazonPage === 'amazon.com.au') {
                host = 'bob-dispatch-prod-fe.amazon.com';
            }
            this._options.logger && this._options.logger(`Alexa-Remote HTTP2-PUSH: Use host ${host}`);

I'd also recommend that the Alexa Account configuration node help info include the Push Dispatch Host field and the three possible settings for that field: bob-dispatch-prod-eu.amazon.com, bob-dispatch-prod-na.amazon.com' and 'bob-dispatch-prod-fe.amazon.com.

Hi @danielbrunt57, thank you very much for your input! This part of the code sits here: https://github.com/Apollon77/alexa-remote
The maintainer @Apollon77 would surely appreciate a PR.

See PR 246 for 4 additional domain lookups as per alexapy/const.py

released in 7.0.5


errors prerendering /__pinceau_tokens* routes on docus site

Environment

Operating System: Darwin
Node Version:     v20.3.1
Nuxt Version:     3.6.2
Nitro Version:    2.5.2
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      alias, extends, css, colorMode, runtimeConfig, experimental
Runtime Modules:  -
Build Modules:    -

Reproduction
https://github.com/NootInc/NootInc.github.io
Describe the bug
Static site generation fails with
Errors prerendering:
  ├─ /__pinceau_tokens_config.json (404)
  ├─ /__pinceau_tokens_schema.json (404)

Additional context
No response
Logs
https://app.warp.dev/block/wurexttaOyc0DYa4pbqjH2

Thank you for the WA

This is now resolved in the latest docus version (v1.13.1).

i met the problem in 1.14.1 and now i update to 1.15.0, it still exists when build... but the prolem seems not effect the build process


Move operator creation to idempotent

There is no IF NOT EXISTS option for CREATE OPERATOR
and the scripts were structured with operators defined in the
preinstall section. However, the function backing an operator
has to exist before you can define the operator. So, we had
"empty" functions defined in the preinstall so that the operator
creation would work and the real functions defined in
idempotent.
This is confusing, and it's a lot of extra code.
This PR moves the operator creation into the idempotent scripts
which allows us to delete the "empty" function definitions. We
get around the lack of IF NOT EXISTS with anonymous blocks
which catch the duplicate object exceptions that get thrown
when you issue a CREATE OPERATOR for an operator that already
exists.
There is also some minor reorganization and renaming of sql
scripts for general clarity.

bors r+


Bug writing EEPROM on ARM

https://github.com/WasatchPhotonics/Wasatch.VCPP/blob/d70ebc3484ebb9bc4fd6c204b8a3525f38ff7700/WasatchVCPPLib/WasatchVCPPLib/WasatchVCPPWrapper.cpp#L713
"4" should probably be pageIndex :-)

resolved in #9


Why this variable is called critic_inputs?

https://github.com/keras-rl/keras-rl/blob/bc1a1e6382b5b0d2b466805ea1bc3aa84a94d31f/rl/agents/ddpg.py#L135
I am trying to understand the DDPG code and I find it very confusing. For example variable critics_input here contains observation which is actor input and in fact is used with actor in that line.
@matthiasplappert can you please explain?

@mirraaj thanks Rohan. That is exactly my point! As you can see, in that code section, critic_inputs here only ever contains observation (hence it is actor input), and not observation+action as it should be for a critic input. And then it gets used for the actor. Hence it is misnamed.
I am sending a small PR for review, changing the name.
        combined_inputs = []
        critic_inputs = []
        for i in self.critic.input:
            if i == self.critic_action_input:
                combined_inputs.append([])
            else:
                combined_inputs.append(i)
                critic_inputs.append(i)
        combined_inputs[self.critic_action_input_idx] = self.actor(critic_inputs)


Release Community meeting recording (February)

Acceptance criteria

[ ] Upload the February recording on our youtube channel
Double check:

[ ] Recording is ordered (should be last one)
[ ] Recording has description

Description:
This meeting’s agenda:
- New policies maintained by the Kubewarden team
  [container-resources policy](https://artifacthub.io/packages/kubewarden/container-resources/container-resources)
  [share-pid-namespace-policy](https://artifacthub.io/packages/kubewarden/share-pid-namespace/share-pid-namespace-policy)
  [unique-service-selector-policy](https://artifacthub.io/packages/kubewarden/unique-service-selector/unique-service-selector-policy)
- [CEL policy](https://github.com/kubewarden/cel-policy) demo

Recording
https://zoom.us/rec/play/PhdZ9j4r8ta-WGliXAtGnJTPV3-r9oa6DEQuCOfkVpF93ny70JSi9Df6W7fbiaku1uglzX75SrxXc7AT.OLTHibqXnmGRo9Tj
@robertsirc could you take a look please?

We pinged Robert, should be done soon. Moving card to blocked to clean up the board.

Done.


Request for Windows XP Starter edition CPU speed patch

Hi,
Windows XP Starter edition have similar issue with CPU speed. When you try to install it on newer CPUs you will encounter Unsupported State 6 error, which mean unsupported CPU speed. Can you have a look on that issue too?
https://i.ibb.co/7SP08Jv/2017-05-07-190222.png

Not sure it's about the CPU.
From https://www.betaarchive.com/forum/viewtopic.php?t=39578

I have managed to figure out how to fix this error (at least on VirtualBox), so if anyone else has the exact same error you can do this to fix it.
The solution is to change the value Installed in HKLM\SYSTEM\WPA\Starter from 1 to 0
But don't try to change it manually, the OS BSODs after a few seconds, and even if you manage to get a .reg file with this fix on the VM it will show an error. So you need to modify it while the VM is offline.
There are 3 ways to do it:

The first one involves installing WinMount and mounting it from there
The second one involves adding the Starter disk image to another VM
The third one involves mounting the Starter disk image using Disk Management, but it only works if you have a VDI disk image.

Windows XP Starter doesn't have that limit in VMs, so it's not needed


Use JSON API endpoints instead of the default XML

Hi @PanierAvide, instead of using API url that return XML, we should use url that return JSON
Example, instead of https://api.openstreetmap.org/api/0.6/changeset/154086955
We should use https://api.openstreetmap.org/api/0.6/changeset/154086955.json
Do you agree on that? If so, I can work on this and get rid of xml to json manipulations to "clean" the code.

If we can get rid of XML, yes you can do the switch :grin:


Update demo and metrics in README

Codecov Report

Merging #5 (a40bd9d) into master (cf15611) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #5   +/-   ##
=======================================
  Coverage   78.77%   78.77%
=======================================
  Files           1        1
  Lines         278      278
=======================================
  Hits          219      219
  Misses         59       59

Flag
Coverage Δ

unittests
78.77% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Clarification regarding release of CassandraBundle.java

According the project README, integrators should use CassandraBundle following Dropwizard framework principles.
Source code of this class: https://github.com/composable-systems/dropwizard-cassandra/blob/master/src/main/java/systems/composable/dropwizard/cassandra/CassandraBundle.java
However, it seems to be not contained in the current release 4.0.0.
Clarification:

since which release has it been introduced?
will it work well with DropWizard also only with CassandraFactory or are there any risks/limitations?
If not yet (as current snapshot is broken):
when is the next release containing it to expect?
how to integrate with Dropwizard in release before that and which version of Dropwizard to use?

Hi
This has only very recently been merged into master from a PR (look at the commit history for details) and is due to be released shortly. Please check back in a couple of days for the latest release and let me know if you have any problems using the new features.
Thanks

awesome - thanks!


Which weights to use ?

Hi, I am training Yolov4 for my own objects. At the end of the training (6000 iterations, 2 classes) I get 3 weights files : yolov4-custom_6000.weights, yolov4-custom_final.weights and yolov4-custom_last.weights, could you please tell me which one of these should I use to get the best results ?

You trained incorrectly.
See the readme:  https://github.com/hank-ai/darknet#training
Or the FAQ:  https://www.ccoderun.ca/programming/yolo_faq/#training_command


Add instructions for creating a channel and generating an API key

Hi @wolfv --
This is my attempt at documenting the steps I needed to take to generate an API key for my user. Thoughts?
E

Thanks a lot @ericdill ! I think this is great.
I'll try to add this functionality to the quetz-cli this week so that we have a more streamlined approach of dealing with API keys.


tune model ?

Is it possible to call Gurobi's tune function (https://www.gurobi.com/documentation/8.0/refman/py_model_tune.html) through JuMP? I tried tune_model(m), but Julia did not find it.

The Gurobi.tune_model function accepts a Gurobi.Model object:
https://github.com/JuliaOpt/Gurobi.jl/blob/0ba4d2bde9764d382b50db4b8bdf6b8bf6d014a0/src/grb_model.jl#L144-L150
So from JuMP you need to go (nb. I haven't tested this)
using JuMP, Gurobi
m = Model(solver=GurobiSolver())
# ... add variables etc ...
JuMP.build(m)  # this instantiates the Gurobi model prior to solve
grb = JuMP.internalmodel(m).inner  # get the Gurobi.Model object
Gurobi.tune_model(grb)
solve(m)

For future questions like this, a better place is the Discourse forum (https://discourse.julialang.org/c/domain/opt) since many more people read those questions and might be able to help, and it is easier for people to search coming along later :)

Will the model m that gets solved by Gurobi via 'solve(m)' use the tuned parameters obtained in the previous step 'Gurobi.tune_model(grb)'? If not, how does one get those tuned parameters and set them in m?

Will the Julia code below use the tuned parameters when Gurobi solves the model m?

I should think so. Try it out and let me know if it doesn't.

How does one write the tuned model parameters to a .prm file, so that they can be used at a later time without calling tune_model again? My previous post gives the Python code for doing this. In grb_model.jl, I see a function (reproduced below) that may be able to read model parameters in from a .prm file, but not a corresponding Julia function for writing model parameters to a .prm file.
function read(model::Model, filename::String)
    @assert isascii(filename) # TODO: support non-ascii file names
        ret = @grb_ccall(read, Cint,
        (Ptr{Void}, Ptr{UInt8}),
        model.ptr_model, filename)
    if ret != 0
        throw(GurobiError(model.env, ret))
    end
    nothing
end

Does write_model work?
https://github.com/JuliaOpt/Gurobi.jl/blob/0ba4d2bde9764d382b50db4b8bdf6b8bf6d014a0/src/grb_model.jl#L134-L142

I will have to try it out. What is the difference between read and read_model? Why isn't there a write in addition to write_model?

Gurobi provides three functions: https://www.gurobi.com/documentation/8.0/refman/c_input_output.html

GRBreadmodel
GRBread
GRBwrite

These are wrapped as

https://github.com/JuliaOpt/Gurobi.jl/blob/0ba4d2bde9764d382b50db4b8bdf6b8bf6d014a0/src/grb_model.jl#L120-L124
https://github.com/JuliaOpt/Gurobi.jl/blob/0ba4d2bde9764d382b50db4b8bdf6b8bf6d014a0/src/grb_model.jl#L109-L111
https://github.com/JuliaOpt/Gurobi.jl/blob/0ba4d2bde9764d382b50db4b8bdf6b8bf6d014a0/src/grb_model.jl#L134-L136

The write_model function is poorly named and should probably have been called write.
You should examine the Gurobi documentation to understand what each function does.

How does one get Gurobi's tuneResultCount in Julia? In Python: model.tuneResultCount.

Hi @stumarcus576,
The Julia package Gurobi.jl wraps the Gurobi C API.
In the Gurobi documentation, you can find examples for how to query attributes such as "TuneResultCount": http://www.gurobi.com/documentation/8.0/refman/c_attribute_examples.html#CAttributeExamples
Since TuneResultCount is an integer, we want to use the C function GRBgetintattr.
Then, do a search of the Gurobi source for getintattr (you can drop the GRB prefix).
You will find it here:
https://github.com/JuliaOpt/Gurobi.jl/blob/fb8c3446e9864d3a25d3e5a2caacf581d584ead9/src/grb_attrs.jl#L9-L19
Therefore, you can go
result_count = Gurobi.getintattr(grb, "TuneResultCount")

You can use this process to find all of the functions you wish to use in Gurobi.jl. In some cases, the underlying C function may not have been wrapped. In that case, open an issue, or submit a PR :)
Hope that helps,
Oscar


Custom formatters, multiple actions

I am caching the JSON representation of a Grape::Entity. It looks like this:
    formatter :json, ->(object, _env) { object }

    get do
      Rails.cache.fetch(key: 'mykey', expires_in: 1.minutes) do
        data = MyModel.lookup_query
        API::V1::Entities::MyEntity.represent(data, serializable: true).to_json
      end
    end

If I remove the custom formatter, it will to_json my already-formatted string, which is obviously no good. I don't mind doing this but other actions in this controller are trying to use my custom formatter, which keeps them from being returned correctly.
Is there a way to cache/return the JSON without using a custom formatter? If not, is there a way to associate the formatter with only this one GET action so the other actions in this controller use the default?

Maybe cache the as_json output? Or roll out a slightly different formatter, ours is:
# The original Grape formatter is more strict and doesn't allow String or nil.
module Grape
  module Formatter
    module Json
      class << self
        def call(object, _env)
          return object if !object || object.is_a?(String)
          return MultiJson.dump(object) if object.respond_to?(:to_json) # to_json will use ActiveSupport::JSON.encode, which double-encodes UTF-8 strings
          fail Grape::Exceptions::InvalidFormatter.new(object.class, 'json')
        end
      end
    end
  end
end

I'll close this. Please use the Grape mailing list for questions.


source License not found..? it is bug?

git clone https://github.com/OWASP/NodeGoat
cd NodeGoat
syft ./ -o syft-json=sbom.syft.json -o cyclonedx-json=cyclone.json -o spdx-json=spdx.json

All format shows well with dependency but the license is empty..
it is bug?
[irteamsu@backscan002-dependabot-jp2v-dev NodeGoat]$ cat sbom.syft.json | grep -i -A 2 license | head
   "licenses": [],
   "language": "javascript",
   "cpes": [
--
   "licenses": [],
   "language": "javascript",
   "cpes": [
--
   "licenses": [],
   "language": "javascript",

[irteamsu@backscan002-dependabot-jp2v-dev NodeGoat]$ cat spdx.json | grep -i -A 2 license
 "dataLicense": "CC0-1.0",
 "SPDXID": "SPDXRef-DOCUMENT",
 "name": "./",
--
  "licenseListVersion": "3.19",
  "creators": [
   "Organization: Anchore, Inc",
--
   "licenseConcluded": "NONE",
   "licenseDeclared": "NONE",
   "copyrightText": "NOASSERTION",
   "externalRefs": [
--
   "licenseConcluded": "NONE",
   "licenseDeclared": "NONE",
   "copyrightText": "NOASSERTION",
   "externalRefs": [
--
   "licenseConcluded": "NONE",
   "licenseDeclared": "NONE",
   "copyrightText": "NOASSERTION",
   "externalRefs": [
--
   "licenseConcluded": "NONE",
   "licenseDeclared": "NONE",
   "copyrightText": "NOASSERTION",
   "externalRefs": [
--
   "licenseConcluded": "NONE",
   "licenseDeclared": "NONE",
   "copyrightText": "NOASSERTION",
   "externalRefs": [
--
   "licenseConcluded": "NONE",
   "licenseDeclared": "NONE",
   "copyrightText": "NOASSERTION",
   "externalRefs": [
--
   "licenseConcluded": "NONE",
   "licenseDeclared": "NONE",
   "copyrightText": "NOASSERTION",
   "externalRefs": [
--
   "licenseConcluded": "NONE",
   "licenseDeclared": "NONE",
   "copyrightText": "NOASSERTION",
   "externalRefs": [

or i missing ENV vaule?
how can i get the license

@JUNGJUNCHUL there are no licenses included in the package-lock.json. Syft only surfaces data available in what is scanned -- in other words, it does not look up licenses from external sources currently.
In this case, you have a npm project, you can run npm install and Syft will attempt to look up licenses in the node_modules directory. For example:
$ npm install && syft ./ -o syft-json | grep -i -A 2 license | head
 ✔ Indexed .
 ✔ Cataloged packages      [1467 packages]

   "licenses": [
    "MIT"
   ],
--
   "licenses": [
    "MIT"
   ],
--
   "licenses": [
    "MIT"

@kzantow
Thank you for your response!
Is there any way to retrieve the license in a normal source scan, not in a runtime environment? If possible, I would like to work on scanning multiple sources on a single host without additional commands like npm.

@JUNGJUNCHUL if the package-lock.json includes license information, Syft would be able to pick it up but there's an open issue with npm where this is not being included. Again, Syft will currently only pick up license information if it's present on the filesystem either in the package-lock.json or in node_modules by running an npm install.

@kzantow
If syft makes an external query, the scan will be slow, so it would be great if there was an option.
syft is very good at extracting dependency lists, but it has the disadvantage of having to link with other tools because it is difficult to get license information.
Among other tools, SBOM (SPDX, Cyclondx) does not have the ability to add only the dependency list, so other tools are being considered rather than syft.
If that part is supplemented, it will be very useful and good to use.
Thank you for your answer.


Loss is nan, stopping training

Describe
Model I am using (BEiT):
I tried pretraining on a custom dataset. I used some dummy data which contains 5 classes and 12 images for each class. The dataset structure is like this:
train/     class1/       img1.jpg     class2/       img2.jpg
So, "train" directory contains several subdirectories called "class1, class2, class3...". In each subdirectory there are 12 images.

I get this error in the first epcoh in training: Loss is nan, stopping training
The images' resolution is 224.
The script used:
!python run_beit_pretraining.py --data_path /content/unilm/beit/dataset_for_pre_training/train/ --output_dir /content/unilm/beit/pretrained_model_directory/ --num_mask_patches 1 --model beit_base_patch16_224_8k_vocab --discrete_vae_weight_path /content/unilm/beit/dall_e_tokenizer_weight/ --batch_size 2 --lr 1.5e-3 --warmup_steps 10 --epochs 5 --clip_grad 3.0 --drop_path 0 --layer_scale_init_value 0.1

Any idea why this error occurs? Thanks in advance.

I changed --num_mask_patches 1 to --num_mask_patches 75 and now the training is working. I don't quite understand what this parameter does. Can someone explain?

The arg --num_mask_patches indicates how many patches we would like to mask. For example, --num_mask_patches 75 masks ~40% (=75/196) of total patches.

Did the pretraining work for you?

Describe Model I am using (BEiT): I tried pretraining on a custom dataset. I used some dummy data which contains 5 classes and 12 images for each class. The dataset structure is like this:
train/ class1/ img1.jpg class2/ img2.jpg
So, "train" directory contains several subdirectories called "class1, class2, class3...". In each subdirectory there are 12 images.

I get this error in the first epcoh in training: Loss is nan, stopping training
The images' resolution is 224.
The script used:
!python run_beit_pretraining.py --data_path /content/unilm/beit/dataset_for_pre_training/train/ --output_dir /content/unilm/beit/pretrained_model_directory/ --num_mask_patches 1 --model beit_base_patch16_224_8k_vocab --discrete_vae_weight_path /content/unilm/beit/dall_e_tokenizer_weight/ --batch_size 2 --lr 1.5e-3 --warmup_steps 10 --epochs 5 --clip_grad 3.0 --drop_path 0 --layer_scale_init_value 0.1

Any idea why this error occurs? Thanks in advance.

Did the pretraining eventually work for you? Thanks!


Selenium and dino game

Hi, While trying to open 'chrome://dino'  url in selenium, it is throwing the following error:
WebDriverException                        Traceback (most recent call last)
 in
----> 1 driver.get("chrome://dino/")
F:\Anaconda\envs\opencv\lib\site-packages\selenium\webdriver\remote\webdriver.py in get(self, url)
331         Loads a web page in the current browser session.
332         """
--> 333         self.execute(Command.GET, {'url': url})
334
335     @property
F:\Anaconda\envs\opencv\lib\site-packages\selenium\webdriver\remote\webdriver.py in execute(self, driver_command, params)
319         response = self.command_executor.execute(driver_command, params)
320         if response:
--> 321             self.error_handler.check_response(response)
322             response['value'] = self._unwrap_value(
323                 response.get('value', None))
F:\Anaconda\envs\opencv\lib\site-packages\selenium\webdriver\remote\errorhandler.py in check_response(self, response)
240                 alert_text = value['alert'].get('text')
241             raise exception_class(message, screen, stacktrace, alert_text)
--> 242         raise exception_class(message, screen, stacktrace)
243
244     def _value_or_default(self, obj, key, default):
WebDriverException: Message: unknown error: net::ERR_INTERNET_DISCONNECTED
i tried googling for a solution but, couldn't find any that fixed the issue.
Kindly help me resolve this.

I have the same problem as Tejas-Haritsa-vk. Have you solved the problem?

I have the same problem as Tejas-Haritsa-vk. Have you solved the problem?

Hi, tfppcn. I have resolved this issue by using the folloing lines of code:
from selenium.common.exceptions import WebDriverException
try:
driver.get(game_url)
except WebDriverException:
pass

Thank you Tejas, I've finally got it to work with your help.
It runs very slowly on my laptop without GPU but at least it runs. What is the highest score you got?
Is it possible to copy a trained model.h5 and use it to speed up the learning?

Thank you Tejas, I've finally got it to work with your help.
It runs very slowly on my laptop without GPU but at least it runs. What is the highest score you got?
Is it possible to copy a trained model.h5 and use it to speed up the learning?

you are welcome @tfppcn, yes it is possible to speed up training using a pre trained model. I haven't trained it for long yet hence no score, the only 2 time I ran it scored around 140-160.

Thank you Tejas, I've finally got it to work with your help.
It runs very slowly on my laptop without GPU but at least it runs. What is the highest score you got?
Is it possible to copy a trained model.h5 and use it to speed up the learning?

Hi @tfppcn , do you happen to know the root cause of the issue?

I’m not sure but looking at the error messages, I guess that selenium is not happy about the web browser being offline.
Tejas’s solution of error handling that with an exception worked. Perhaps selenium has been updated since the last time you ran it.

From: Ravi Munde<EMAIL_ADDRESS>Sent: Thursday, December 10, 2020 5:33:39 AM
To: Paperspace/DinoRunTutorial<EMAIL_ADDRESS>Cc: tfppcn<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Paperspace/DinoRunTutorial] Selenium and dino game (#12)
Thank you Tejas, I've finally got it to work with your help.
It runs very slowly on my laptop without GPU but at least it runs. What is the highest score you got?
Is it possible to copy a trained model.h5 and use it to speed up the learning?
Hi @tfppcnhttps://github.com/tfppcn , do you happen to know the root cause of the issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/Paperspace/DinoRunTutorial/issues/12#issuecomment-741966414, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ANTSTCUG7ZWXAJUPHV3N4J3ST67IHANCNFSM4TCOSZOQ.

Hi,
I don't think it is due to selenium update at all as I tried the same
selenium package on two different systems and one worked and the other
didn't. So, I think it is more connected towards the particular system
firewall and security settings maybe. Not 100% sure though, as I checked my
firewall and it was allowing python. Hope this helps.

with regards
Tejas Haritsa V K

On Thu, Dec 10, 2020, 8:09 AM tfppcn<EMAIL_ADDRESS>wrote:

I’m not sure but looking at the error messages, I guess that selenium is
not happy about the web browser being offline.
Tejas’s solution of error handling that with an exception worked. Perhaps
selenium has been updated since the last time you ran it.

From: Ravi Munde<EMAIL_ADDRESS>Sent: Thursday, December 10, 2020 5:33:39 AM
To: Paperspace/DinoRunTutorial<EMAIL_ADDRESS>Cc: tfppcn<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Paperspace/DinoRunTutorial] Selenium and dino game (#12)
Thank you Tejas, I've finally got it to work with your help.
It runs very slowly on my laptop without GPU but at least it runs. What is
the highest score you got?
Is it possible to copy a trained model.h5 and use it to speed up the
learning?
Hi @tfppcnhttps://github.com/tfppcn , do you happen to know the root
cause of the issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<
https://github.com/Paperspace/DinoRunTutorial/issues/12#issuecomment-741966414>,
or unsubscribe<
https://github.com/notifications/unsubscribe-auth/ANTSTCUG7ZWXAJUPHV3N4J3ST67IHANCNFSM4TCOSZOQ

.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Paperspace/DinoRunTutorial/issues/12#issuecomment-742197317,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOSTLU347VGX2QXP7ZPLPZLSUAYFXANCNFSM4TCOSZOQ
.

The suggestion by @Tejas-Haritsa-vk worked for me to get the project running. I am only able to get a score of about 150 or so myself. The chrome browser seems to crash with an error:
NoSuchWindowException: Message: no such window: window was already closed
I'll update here if I can get it fixed and running better.


feat: remove requirement for PLUGIN_TYPE positional arg in CLI commands meltano add, meltano remove, meltano install

Currently in the CLI only the meltano add and meltano remove commands require you to specify the plugin type.
Other commands default to just referencing the name while enabling a user to specify --plugin-type if necessary. Commands that accept --plugin-type:

invoke
lock
config

Proposal
Drop the requirement for  when using meltano add and remove so that users can type:
meltano add tap-gitlab or meltano remove target-postgres and Meltano can just figure that out. When there is a collision a we can error out, tell the user there are multiple plugins with that name present and have them disambiguate.
When a user is adding a --custom plugin, we can infer the type from the name (pattern match on tap and target) and/or prompt them for a type. We should likely just ask is this an extractor, loader, or a non-connector (utility).

cc @sbalnojan @afolson @DouweM
Likely a nice developer joy win to simplify building a meltano project.

and/or prompt them for a type. We should likely just ask is this an extractor, loader, or a non-connector (utility).

My vote is for this in custom plugins 👍

Also, meltano add <plugin> may be inefficient with the current Hub API model and a new JSON endpoint/file may need to be created to avoid looping through all plugin types in the client.

Also, meltano add  may be inefficient with the current Hub API model and a new JSON endpoint/file may need to be created to avoid looping through all plugin types in the client.

@edgarrmondragon I hadn't thought about that, but seems eminently solvable 😄

Also, meltano add <plugin> may be inefficient with the current Hub API model and a new JSON endpoint/file may need to be created to avoid looping through all plugin types in the client.

What about the top-level index here:? https://hub.meltano.com/meltano/api/v1/plugins/index
It includes a ref for all variants, as well as the default variant.
We'd have to page through the types, but locally that iteration would be pretty quick.

@tayloramurphy - Is your goal with this issue to address meltano add and meltano remove, or also meltano install?
Scope of 4 may be accurate for add and remove. I don't know about meltano install - probably that would need to have separate scope.

What about the top-level index here:? hub.meltano.com/meltano/api/v1/plugins/index
It includes a ref for all variants, as well as the name of the default variant.
We'd have to page through the types, but locally that iteration would be pretty quick.

@aaronsteers yeah that'd probably be faster, if still pulling more data than it needs.

What about the top-level index here:? hub.meltano.com/meltano/api/v1/plugins/index
It includes a ref for all variants, as well as the name of the default variant.
We'd have to page through the types, but locally that iteration would be pretty quick.

@aaronsteers yeah that'd probably be faster, if still pulling more data than it needs.

Thanks for confirming. Agreed it's perhaps slightly more than needed, but at least not an order of magnitude greater. The future optimized version would likely take some search parameters like 'plugin name' and perhaps offer pagination if the resultset is too large. But that said, not being static, I don't know if the optimized version would be much faster even if sending less data. 🤷 (We can tackle+discover when we get there. 😄 )

@aaronsteers With just meltano install and meltano remove this could be an easy 4.
With meltano add this probably becomes an 8, or even 12, since it's more complex (Hub request, API changes to ProjectAddService and ProjectPlugin, etc.)

@aaronsteers my preference / priority list on this would be:

add
remove
install

I mostly care about add as it's part of the onboarding and getting started flow. Happy to pull install out of scope for this particular issue.

Still relevant


Struggling to understand how to add a HERO image

I'm trying to port my Burnt Toast notifiers to python to save making subprocess calls but I'm struggling to understand how to make a hero image.
In-progress minimal working code:
from windows_toasts import Toast, ToastDisplayImage, InteractableWindowsToaster
from pathlib import Path

basedir = Path(__file__).parent.absolute()  # Maps basedir to location of this file
src = f"{basedir}/data/toast"
herodir = f"{src}/HERO"
imgdir = f"{src}/IMG"
icodir = f"{src}/ICO"

toasts = {
    "IC": {"appid": "ZZZ_ImageConverter", "icon": rf"{icodir}/picture.ico", "appname": "Image converter"},
    "NT": {
        "appid": "ZZZ_Notification",
        "icon": rf"{icodir}/IconGroup268.ico",
        "appname": "Notification",
    },
    "CZ": {
        "appid": "ZZZ_ChineseZipConverter",
        "icon": rf"{icodir}/chinese_language.ico",
        "appname": "Chinese Zip Converter",
    },
    "PDF": {
        "appid": "ZZZ_PDFConverter",
        "icon": rf"{icodir}/pdf.ico",
        "appname": "PDF Converter",
    },
}

heros = {
    "error": f"{herodir}/error.gif",
    "check": f"{herodir}/checkmark.gif",
    "announce": f"{herodir}/announce.gif",
    "install": f"{herodir}/installing.gif",
    "code": f"{herodir}/binarycode.gif",
    "chineselandscape": f"{herodir}/chinese_zip.gif",
}

logos = {
    "chinesehappy": rf"{imgdir}/chinese_happiness.png",
    "download": rf"{imgdir}/download.png",
    "check": rf"{imgdir}/checkmark.png",
    "error": rf"{imgdir}/error.png",
    "info": rf"{imgdir}/info.png",
    "pdf": rf"{imgdir}/pdf.png",
}

def toastme(d: dict):
    toaster = InteractableWindowsToaster("Test Notif", d["a"])
    newToast = Toast([d["t"]])
    # str or PathLike
    newToast.AddImage(ToastDisplayImage.fromPath(Path(d["i"])))
    newToast.AddImage(ToastDisplayImage.fromPath(Path(d["h"])))

    toaster.show_toast(newToast)

data = {
    "t": "This is a most exciting notification!",
    "i": logos["info"],
    "h": heros["announce"],
    "a": toasts["NT"]["appid"],
}
toastme(data)

How can I assign logo and hero to the .AddImage lines, I've been reading through the docs and maybe I'm just being a bit dim, but I can't seem to suss it out.

Figured it out with a little help from Google Gemini.
First change:
from windows_toasts import Toast, ToastDisplayImage, InteractableWindowsToaster
to
from windows_toasts import Toast, ToastDisplayImage, InteractableWindowsToaster, ToastImagePosition
Then ammend the .AddImage lines as required:
newToast.AddImage(ToastDisplayImage.fromPath('logo.jpg'), position=ToastImagePosition.AppLogo))
newToast.AddImage(ToastDisplayImage.fromPath('hero.jpg'), position=ToastImagePosition.Hero))
newToast.AddImage(ToastDisplayImage.fromPath('inline.jpg'), position=ToastImagePosition.Inline))

And we now get:

@DatGuy1: It may be worth adding an example like you have with the progress bars and such, as the documentation while comprehensive could benefit from a quick example. Loving this by the way, I was using your register_hkey_aumid.py with my old Burnt Toast version to handle the custom titles but now I can finally move to a full Python implementation. 😎

I'll add a section on it to https://windows-toasts.readthedocs.io/en/latest/advanced_usage.html


Reversed evaluation order of "delete" in binary operators

Hello,
Evaluation order of binary operators (even short circuiting operators) with delete operator seems weird; GraalJS is evaluating delete operator regardless of its position.
$ js --version
GraalVM JavaScript (GraalVM CE Native 22.2.0)
$ js
> false && delete f()
ReferenceError: f is not defined
	at <js> :program(<shell>:1:1:16)

The program is expected to terminate normally but GraalJS is throwing ReferenceError.
result of NodeJS
$ node
Welcome to Node.js v18.8.0.
Type ".help" for more information.
> false && delete f()
false

I am able to reproduce this issue in GraalVM 22.2.0 but I am not able to reproduce it with the latest source code. I believe that this bug was fixed by https://github.com/oracle/graaljs/commit/51f9783cefc4d29095c0a8ac27b2d435472ef364. We incorrectly handled the argument expression of always-true delete expressions.