Don't check for locks on dequeue

This PR is not related to any issue. It removes the checking for CDN locks when trying to dequeue updates.

Which Traffic Control components are affected by this PR?

Traffic Ops

What is the best way to verify this PR?

Run TO and TP locally.
As user X, lock CDN A.
Queue updates on CDN A as user X.
Then as user Y, try clearing these updates on CDN A, while it is still locked by X.
This should succeed.
Make sure all unit/ API tests pass.
If this is a bugfix, which Traffic Control versions contained the bug?

master

PR submission checklist

[x] This PR has tests
[ ] This PR has documentation
[x] This PR has a CHANGELOG.md entry
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

Should this only ignore soft locks for dequeue? A hard lock is supposed to prevent editing servers, right? Queueing updates will change two fields (lastUpdated and updPending - once the changes in #6569 are merged it'll also change the update timestamp field)

Should this only ignore soft locks for dequeue? A hard lock is supposed to prevent editing servers, right? Queueing updates will change two fields (lastUpdated and updPending - once the changes in #6569 are merged it'll also change the update timestamp field) on affected servers.

Resolved offline.


Quoting KDL nodes containing // to avoid being considered a comment

I just created this Issue https://github.com/onyx-lang/onyx/issues/92, and then created this PR to resolve it.
I would appreciate it if you could check it out.
About the changes:
I think quoting all KDL nodes without if/else is also reasonable option. Let me know what you think.
KDL doc about quoting nodes:
https://kdl.dev/#:~:text="Alex"
}-,More Details,-// Nodes can be

This is a good catch! I guess I had not tested packages from 3rd parties since I changed the package file syntax to KDL. I agree with your solution and I will merge this in!


Linux system installation issues

Hello! I would like to install Codon on a Linux system, but due to network restrictions, I am unable to download and install the "install.sh" file. Even if I manually download the "install.sh" file and try to install it using the command "bash install.sh", it fails due to network issues. Is it possible for you to provide an offline version of the installation package? It would be great if you could integrate all the necessary files into a single sh file for direct installation. Thank you!

Please check https://github.com/exaloop/codon/releases/tag/v0.16.2: all releases are there. It is sufficient to extract them into $HOME/.codon (or any other path, for that matter) and run $HOME/.codon/bin/codon.


Hue execute hive query very slowly, log shows waited for thrift client to ip:21066

Hue execute hive query very slowly, log shows waited for thrift client to ip:21066
version:3.11.0

Hue 3 is not supported anymore, and Hue 4 has a lot of optimization.
Please also share the load, number of users etc... and check that Hive is not overwhelmed and blocking the RPC calls (later can be common).


Error in Fold3D config file

Hi! Thank you for your great work!! I just have a quick question. I am trying to use Gearnet with the Fold3D dataset using the configuration file you provided. But I keep on getting this error (I add the screenshot in attach). If I remove mlp_batch_norm and mlp_dropout the code runs, but the model doesn't seem to train properly. I would really appreciate if you could give me your input on that, or let me know what I am doing incorrectly.
Thanks a lot!!

Hi,
I've added a comment in README.md. To run Fold3D, you need to install the latest version of torchdrug from source. Sorry about the inconvenience! We'll update the latest version to conda and pip soon.

Ahh!! That makes sense - I thought it might be a version issue, but I had the latest version from conda so I was not sure. Thanks for getting back to me so quickly!!


feat: rewrite update-style-exceptions.sh as a Lean executable

This allows running both the Python and Lean style linters.
As a user, replace ./scripts/update-style-exceptions.sh by lake exe update_style_exceptions.
The Lean version is slightly slower (1s vs 0.5), presumably due to some overhead of spawning processes/using xargs the way I do. I'm not inclined to worry.

[x] depends on: #13339 to remove the copy-pasted code from mk_all.lean

Just as an update: I have an even better than rewriting just this file in Lean. Instead, I propose merging lint-style.py and update-style-exceptions.py. PR will come once I find a moment to write it - probably later this month.

Let me close this in favour of #14273.


Update PHP.php

In this PHP file closing bracket was missing so I added that.

https://stackoverflow.com/questions/32124566/why-some-php-files-do-not-end-with-the-closing-bracket/32124607#32124607


Remove newState, newStateLibc, and setAllocF

It isn't clear if these functions are of any use. After the changes from #40, removing these functions is not required, but it could still make things cleaner.
The one benefit from removing these functions is the Lua.allocator() function can never fail by making it impossible to create a Lua state without a Zig allocator from Ziglua.

Excellent argument for this here: https://ziggit.dev/t/finding-a-good-way-to-store-a-pointer-to-a-std-mem-allocator-for-ziglua/5441/7?u=natecraddock


When "Attach path" and "Iterate ID" fields are not provided for Iterate mediator an empty string is present in the generated code

An empty value is generated for optional fields "Attach path" and "Iterate ID" fields when the values are not provided in the form of the Iterate Mediator.

The latest release v1.0.5 has resolved the issue. Please reopen if the problem persists.


Update node-forge to 1.3.1

Fixes
https://devdiv.visualstudio.com/DevDiv/_componentGovernance/119762/alert/6790960?action=ContributedHub&controller=Apps&typeId=795877
https://devdiv.visualstudio.com/DevDiv/_componentGovernance/119762/alert/6790961?typeId=795877
https://devdiv.visualstudio.com/DevDiv/_componentGovernance/119762/alert/6790959?typeId=795877
https://devdiv.visualstudio.com/DevDiv/_componentGovernance/119762/alert/6329827?typeId=795877
https://devdiv.visualstudio.com/DevDiv/_componentGovernance/119762/alert/6362953?typeId=795877
https://devdiv.visualstudio.com/DevDiv/_componentGovernance/119762/alert/6350317?typeId=795877
https://devdiv.visualstudio.com/DevDiv/_componentGovernance/119762/alert/6350318?typeId=795877
https://devdiv.visualstudio.com/DevDiv/_componentGovernance/121300/alert/6790465?typeId=1649196
https://devdiv.visualstudio.com/DevDiv/_componentGovernance/121300/alert/6790466?typeId=1649196
https://devdiv.visualstudio.com/DevDiv/_componentGovernance/121300/alert/6361513?typeId=1649196
https://devdiv.visualstudio.com/DevDiv/_componentGovernance/121300/alert/6326990?typeId=1649196
https://devdiv.visualstudio.com/DevDiv/_componentGovernance/121300/alert/6790464?typeId=1649196
https://devdiv.visualstudio.com/DevDiv/_componentGovernance/121300/alert/6348861?typeId=1649196
https://devdiv.visualstudio.com/DevDiv/_componentGovernance/121300/alert/6348862?typeId=1649196
Related to https://github.com/microsoft/pxt-backend/issues/587

@riknoll for learning purposes, is this what you're talking about? https://github.com/microsoft/pxt/blob/master/skillmap/webpack.config.override.js
Interestingly doing this change locally after removing node_modules gave me this output thinking this compiled succesfully:
dmon@dmon-comp MINGW64 /g/makecode/pxt/skillmap (dmonroym/node-forgeSkillmap)
$ npm install

added 231 packages, removed 733 packages, changed 567 packages, and audited 1401 packages in 2m

139 packages are looking for funding
  run `npm fund` for details

6 moderate severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

dmon@dmon-comp MINGW64 /g/makecode/pxt/skillmap (dmonroym/node-forgeSkillmap)
$ npm run build

><EMAIL_ADDRESS>build
> react-scripts build

Creating an optimized production build...
Compiled successfully.

File sizes after gzip:

  126.29 kB (+90.88 kB)  build\static\js\main.241964e7.js
  4.36 kB (-26 B)        build\static\css\main.b82edbf6.css

The project was built assuming it is hosted at /.
You can control this with the homepage field in your package.json.

The build folder is ready to be deployed.
You may serve it with a static server:

  npm install -g serve
  serve -s build

Find out more about deployment here:

  https://cra.link/deployment

After swtiching branches and re-deleting node_modules gives me the same build error. I'll try updating the node-forge package by itself

yes, the actual patching is done here:
https://github.com/microsoft/pxt/blob/master/gulpfile.js#L575

Note there is no actual vulnerability here. There must be an exception process for dev dependencies. This seems "ok" to me, but I defer to Richard.

My guess is that this upgrade won't cause any issues, but I agree that this is a frivolous vulnerability that doesn't impact any users. We should investigate if there is any sort of exception process for vulnerabilities in dev dependencies that don't ship with the product.

We can dismiss those alerts by selecting "Component has been misidentified as a dependency" but that will just cause the alert to reappear every time we run the pxt-electron pipeline.

@eanders-ms @riknoll y'all ok to merge this or should I just tag it as misidentified?

sure


flexget commands fail after Ubuntu 16.04 upgrade with "TypeError: the JSON object must be str, not 'NoneType'"

Expected behaviour:
Commands execute properly
Actual behaviour:
$ flexget execute
Traceback (most recent call last):
  File "/usr/local/bin/flexget", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/flexget/__init__.py", line 42, in main
    manager.start()
  File "/usr/local/lib/python3.5/dist-packages/flexget/manager.py", line 311, in start
    self.initialize()
  File "/usr/local/lib/python3.5/dist-packages/flexget/manager.py", line 211, in initialize
    fire_event('manager.startup', self)
  File "/usr/local/lib/python3.5/dist-packages/flexget/event.py", line 106, in fire_event
    result = event(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/flexget/event.py", line 23, in __call__
    return self.func(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/flexget/utils/simple_persistence.py", line 183, in load_taskless
    SimplePersistence.load()
  File "/usr/local/lib/python3.5/dist-packages/flexget/utils/simple_persistence.py", line 145, in load
    cls.class_store[task][skv.plugin][skv.key] = skv.value
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/attributes.py", line 293, in __get__
    return self.descriptor.__get__(instance, owner)
  File "/usr/local/lib/python3.5/dist-packages/flexget/utils/database.py", line 139, in getter
    return json.loads(getattr(self, name), decode_datetime=True)
  File "/usr/local/lib/python3.5/dist-packages/flexget/utils/json.py", line 112, in loads
    return json.loads(*args, **kwargs)
  File "/usr/lib/python3.5/json/__init__.py", line 312, in loads
    s.__class__.__name__))
TypeError: the JSON object must be str, not 'NoneType'

Steps to reproduce:

Step 1: ...
Upgrade Ubuntu from 15.10 to 16.04. Run flexget execute or other command.

Config:
N/A
Log:
$ flexget -L debug execute
2016-08-07 21:36 DEBUG    manager                       Figuring out config load paths
2016-08-07 21:36 DEBUG    manager                       Found config: /home/jordan/.flexget/config.yml
2016-08-07 21:36 DEBUG    manager                       Config file /home/jordan/.flexget/config.yml selected
2016-08-07 21:36 DEBUG    manager                       sys.defaultencoding: utf-8
2016-08-07 21:36 DEBUG    manager                       sys.getfilesystemencoding: utf-8
2016-08-07 21:36 DEBUG    manager                       os.path.supports_unicode_filenames: False
2016-08-07 21:36 DEBUG    plugin                        Trying to load plugins from: ['/home/jordan/.flexget/plugins', '/usr/local/lib/python3.5/dist-packages/flexget/plugins']
2016-08-07 21:36 DEBUG    plugin                        ('Plugin `%s` requires `%s` to load.', 'memusage', 'ext lib `guppy`')
2016-08-07 21:36 DEBUG    safe                          Reading from cache file /tmp/safe-0.4.words.cache
2016-08-07 21:36 DEBUG    plugin                        Plugins took 1.88 seconds to load. 260 plugins in registry.
2016-08-07 21:36 DEBUG    manager                       Connecting to: sqlite:////home/jordan/.flexget/db-config.sqlite
2016-08-07 21:36 DEBUG    manager                       config_name: config
2016-08-07 21:36 DEBUG    manager                       config_base: /home/jordan/.flexget
2016-08-07 21:36 DEBUG    manager                       New config data loaded.
2016-08-07 21:36 DEBUG    schema                        current flexget version already exist in db 2.2.11
2016-08-07 21:36 DEBUG    manager                       Removed /home/jordan/.flexget/.config-lock
Traceback (most recent call last):
  File "/usr/local/bin/flexget", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/flexget/__init__.py", line 42, in main
    manager.start()
  File "/usr/local/lib/python3.5/dist-packages/flexget/manager.py", line 311, in start
    self.initialize()
  File "/usr/local/lib/python3.5/dist-packages/flexget/manager.py", line 211, in initialize
    fire_event('manager.startup', self)
  File "/usr/local/lib/python3.5/dist-packages/flexget/event.py", line 106, in fire_event
    result = event(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/flexget/event.py", line 23, in __call__
    return self.func(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/flexget/utils/simple_persistence.py", line 183, in load_taskless
    SimplePersistence.load()
  File "/usr/local/lib/python3.5/dist-packages/flexget/utils/simple_persistence.py", line 145, in load
    cls.class_store[task][skv.plugin][skv.key] = skv.value
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/attributes.py", line 293, in __get__
    return self.descriptor.__get__(instance, owner)
  File "/usr/local/lib/python3.5/dist-packages/flexget/utils/database.py", line 139, in getter
    return json.loads(getattr(self, name), decode_datetime=True)
  File "/usr/local/lib/python3.5/dist-packages/flexget/utils/json.py", line 112, in loads
    return json.loads(*args, **kwargs)
  File "/usr/lib/python3.5/json/__init__.py", line 312, in loads
    s.__class__.__name__))
TypeError: the JSON object must be str, not 'NoneType'

Additional information:

Flexget Version: 2.2.11
Python Version: 3.5.2
Installation method: pip
OS and version: Xubuntu 16.04.1

Please let me know if there's any additional information I can provide.

Did you only upgrade OS or also Flexget? If so, what was the old version of Flexget?

I did try several things before posting this bug, including upgrading flexget to the latest version. (Unfortunately I don't have a way of determining what the older version was--something from several months to a year ago.) But the bug was present in the older version of flexget as well. It seems that something in the OS upgrade caused this.

older database before the simple persistance migration from what it looks like. easiest fix would be to drop the simple persistance table have it recreated from what I can see.

OK. How do I do that? I tried:
sudo pip install flexget --upgrade --force-reinstall
Then when running flexget execute I got a slight variation on the above error:
$ flexget execute
2016-08-13 04:58 INFO     manager                       Database upgrade is required. Attempting now.
2016-08-13 04:58 INFO     schema                        Plugin tvmaze database is not upgradable. Flushing data and regenerating.
2016-08-13 04:58 INFO     schema                        Plugin api_tmdb database is not upgradable. Flushing data and regenerating.
Traceback (most recent call last):
  File "/usr/local/bin/flexget", line 9, in <module>
    load_entry_point('FlexGet==2.2.17', 'console_scripts', 'flexget')()
  File "/usr/local/lib/python3.5/dist-packages/flexget/__init__.py", line 42, in main
    manager.start()
  File "/usr/local/lib/python3.5/dist-packages/flexget/manager.py", line 311, in start
    self.initialize()
  File "/usr/local/lib/python3.5/dist-packages/flexget/manager.py", line 211, in initialize
    fire_event('manager.startup', self)
  File "/usr/local/lib/python3.5/dist-packages/flexget/event.py", line 106, in fire_event
    result = event(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/flexget/event.py", line 23, in __call__
    return self.func(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/flexget/utils/simple_persistence.py", line 183, in load_taskless
    SimplePersistence.load()
  File "/usr/local/lib/python3.5/dist-packages/flexget/utils/simple_persistence.py", line 145, in load
    cls.class_store[task][skv.plugin][skv.key] = skv.value
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/orm/attributes.py", line 293, in __get__
    return self.descriptor.__get__(instance, owner)
  File "/usr/local/lib/python3.5/dist-packages/flexget/utils/database.py", line 139, in getter
    return json.loads(getattr(self, name), decode_datetime=True)
  File "/usr/local/lib/python3.5/dist-packages/flexget/utils/json.py", line 112, in loads
    return json.loads(*args, **kwargs)
  File "/usr/lib/python3.5/json/__init__.py", line 312, in loads
    s.__class__.__name__))
TypeError: the JSON object must be str, not 'NoneType'

I have the same JSON error running under python 3.5.
~/py-352/bin $ ./flexget -L debug execute
2016-09-10 08:58 DEBUG    manager                       Figuring out config load paths
2016-09-10 08:58 DEBUG    manager                       Found config: /home/flexget/.config/flexget/config.yml
2016-09-10 08:58 DEBUG    manager                       Config file /home/flexget/.config/flexget/config.yml selected
2016-09-10 08:58 DEBUG    manager                       sys.defaultencoding: utf-8
2016-09-10 08:58 DEBUG    manager                       sys.getfilesystemencoding: utf-8
2016-09-10 08:58 DEBUG    manager                       os.path.supports_unicode_filenames: False
2016-09-10 08:58 DEBUG    plugin                        Trying to load plugins from: ['/home/flexget/.config/flexget/plugins', '/home/flexget/py-352/lib/python3.5/site-packages/flexget/plugins']
2016-09-10 08:58 DEBUG    safe                          Reading from cache file /tmp/safe-0.4.words.cache
2016-09-10 08:58 DEBUG    plugin                        ('Plugin `%s` requires `%s` to load.', 'memusage', 'ext lib `guppy`')
2016-09-10 08:58 DEBUG    plugin                        Plugins took 1.13 seconds to load. 257 plugins in registry.
2016-09-10 08:58 DEBUG    manager                       Connecting to: sqlite:////home/flexget/.config/flexget/db-config.sqlite
2016-09-10 08:58 DEBUG    manager                       config_name: config
2016-09-10 08:58 DEBUG    manager                       config_base: /home/flexget/.config/flexget
2016-09-10 08:58 DEBUG    manager                       New config data loaded.
2016-09-10 08:58 DEBUG    schema                        current flexget version already exist in db 2.3.21
2016-09-10 08:58 DEBUG    manager                       Removed /home/flexget/.config/flexget/.config-lock
Traceback (most recent call last):
  File "./flexget", line 11, in <module>
    sys.exit(main())
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/__init__.py", line 42, in main
    manager.start()
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/manager.py", line 311, in start
    self.initialize()
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/manager.py", line 211, in initialize
    fire_event('manager.startup', self)
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/event.py", line 106, in fire_event
    result = event(*args, **kwargs)
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/event.py", line 23, in __call__
    return self.func(*args, **kwargs)
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/utils/simple_persistence.py", line 183, in load_taskless
    SimplePersistence.load()
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/utils/simple_persistence.py", line 145, in load
    cls.class_store[task][skv.plugin][skv.key] = skv.value
  File "/home/flexget/py-352/lib/python3.5/site-packages/sqlalchemy/orm/attributes.py", line 293, in __get__
    return self.descriptor.__get__(instance, owner)
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/utils/database.py", line 139, in getter
    return json.loads(getattr(self, name), decode_datetime=True)
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/utils/json.py", line 112, in loads
    return json.loads(*args, **kwargs)
  File "/home/flexget/py-352/lib/python3.5/json/__init__.py", line 312, in loads
    s.__class__.__name__))
TypeError: the JSON object must be str, not 'NoneType'

Easiest solution is to run flexget database reset-plugin simple_persistence. It will drop the simple persistence table.

Nice try.
./flexget database reset-plugin simple_persistence
Traceback (most recent call last):
  File "./flexget", line 11, in <module>
    sys.exit(main())
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/__init__.py", line 42, in main
    manager.start()
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/manager.py", line 311, in start
    self.initialize()
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/manager.py", line 211, in initialize
    fire_event('manager.startup', self)
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/event.py", line 106, in fire_event
    result = event(*args, **kwargs)
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/event.py", line 23, in __call__
    return self.func(*args, **kwargs)
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/utils/simple_persistence.py", line 183, in load_taskless
    SimplePersistence.load()
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/utils/simple_persistence.py", line 145, in load
    cls.class_store[task][skv.plugin][skv.key] = skv.value
  File "/home/flexget/py-352/lib/python3.5/site-packages/sqlalchemy/orm/attributes.py", line 293, in __get__
    return self.descriptor.__get__(instance, owner)
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/utils/database.py", line 139, in getter
    return json.loads(getattr(self, name), decode_datetime=True)
  File "/home/flexget/py-352/lib/python3.5/site-packages/flexget/utils/json.py", line 112, in loads
    return json.loads(*args, **kwargs)
  File "/home/flexget/py-352/lib/python3.5/json/__init__.py", line 312, in loads
    s.__class__.__name__))
TypeError: the JSON object must be str, not 'NoneType'

Use sqlite3 then
sqlite3 db-config.sqlite
sqlite> DROP TABLE simple_persistence;

Ok doing that got rid of the error. Something else with encoding came up. It is likely an unrelated problem.
For the record, here is what I did:
sqlite3 ./.config/flexget/db-config.sqlite
SQLite version 3.14.1 2016-08-11 18:53:32
Enter ".help" for usage hints.
sqlite> DROP TABLE simple_persistence
   ...> ;
sqlite> .exit

What version of flexget is this? And can you post the full stack trace?

flexget v2.3.21
After running ./flexget --debug-warnings execute, I realized my local py-352 install did not have transmissionrpc installed. I did that. Now I am getting:
ERROR    task          monitor_showRSS Warning during plugin all_series: bad escape \w
which leads me to think this is a ~/.config/flexget/config.yml problem for me now. If I cannot solve this in 10 minutes, I will setup a full trace. I have never done that in Python before.

Looks like a bad rss feed. What's your config + feed?

Snippet:
tasks:
  monitor_showRSS:
    #get list of magnets from showrss
    rss: http://showrss.info/user/66880.rss?magnets=true&namespaces=true&name=clean&quality=null&re=null
    # fetch all the feed series because showrss does filtering, no need for series: filter.
    all_series: yes
    template: outlet_tv

Works fine for me with py 3.5.2 on Windows 10.

You're right, it does work. Now I just have to get my systemd unit file working correctly. Thank for the help! The issue has been solved for me!


Iot Hub .Net SDK

Iot Hub .Net SDK

Hi @rkmanda, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.azure.com.

TTYL, AZPRBOT;

@azuresdkci retest this please

:shipit:


Fix Puppet strings warnings

Pull Request Checklist

Description

Fix warnings from generating documentation with Puppet Strings.

Tests will fail until #1146 is merged.


Need offline functionality like other electron apps

Is your feature request related to a problem? Please describe.
The app lacks offline functionality, making it less desirable over using the web app.
Describe the solution you'd like
Some offline functionality like what other Electron apps have would be great.

Please follow #10 for updates.


🚀 Feature: Like/dislike button behavior

🔖 Feature description
The button like or dislike once clicked, should behave exactly like in ChatGPT. Meaning it should stay visible and not hide
🎤 Why is this feature needed ?
To make it clear that the feedback has been provided for this response
✌ How do you aim to achieve this?
By making the clicked button stay visible after it was clicked
🔄 Additional Information
No response
👀 Have you spent some time to check if this feature request has been raised before?

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

Are you willing to submit PR?
None

Please assign this issue to me.

Can you please assign this issue to me? I would like to work on it.

assigned this to you @Ankit-Matth

Thanks @tenokami for assigning this issue to me.

Hi @tenokami, I think this issue should be closed as it is similar to issue #516 and will also be resolved.


Release 0.2.3

@jnweaver @nblair I would like to cut a new release as there are some link styles and new namespacing I need to pull into MyUW. Are you comfortable with me tagging new releases?

I am (at least for cases where your commits are contained within the My UW part of the project), but maybe we should get together to talk about releases, especially now that @nblair has added the Maven Central release. Next week maybe?
Doing a full release involves:

changing the version number in a handful of places, most importantly in bower.json and package.json, but also in a couple places where its referenced in the Jekyll site _layouts/page.html and getting-started/index.md

tagging the release, e.g. v0.2.3 and pushing the tag

creating the release build zip file. We're using Grunt here grunt compress:release_zip will add a .zip file to the build directory with the current version (pulled from package.json)

publishing the release on GitHub (and Nick B publishing it to Maven Central -- we also publish to AWS S3 but we're not using that and you of course wouldn't be able to push there without the keys anyway) and uploading the .zip file you built to the release

Is MyUW bringing this in via bower or Maven?
If  you are using bower and don't want to do a full release, you could reference the latest commit SHA1, e.g. "uw-ui-toolkit": "84c6626"
Or I can release 2.3 for you too :) Just let me know.

I would love to meet sometime next week to talk about releases. There's not a huge rush on this so anytime next week is good (especially after hearing about that feature of bower to reference a commit SHA1 - I didn't know you could do that, that's awesome!). MyUW is using Bower, I don't know much about Maven currently.
I think we can wait until next week to push a new release. Until then I'll keep adding stuff as I write it.

Sounds good. I'm still on old calendaring system and don't seem able to schedule with anyone anymore. I'm available next Wednesday-Friday mornings 9-noon. Check with Nick B and see if there's a time that works for you. I've got some other time too but let's start there.

@jnweaver we don't technically need to run a Maven release for every release at this point, although it would be a good thing to get our heads around.
IIRC @jhanstra is just depending on the bower releases. DoIT Number is the only application I know of that depends on the Maven release.
I can open a separate task to unify the release process.


VM: no compile error when type variable of generic class has the same name as the class or its members

This issue was originally filed by<EMAIL_ADDRESS>
VM does not report compile error on tests:
co19/src/Language/07_Classes/07_Classes_A13_t01
co19/src/Language/07_Classes/07_Classes_A13_t04
co19/src/Language/07_Classes/07_Classes_A13_t07
spec 0.71, 7 Classes
It is a compile time error if a generic class declares a type variable with
the same name as the class or any of its members or constructors.
//07_Classes_A13_t01
class A<A> {
}
main() {
  new A();
}
//07_Classes_A13_t04
class A<T> {
  set T (x) {}
}
main() {
  new A();
}
//07_Classes_A13_t07
class A<T> {
  static set T (x) {}
}
main() {
  new A();
}

The file name for these tests has changed. They are now called
co19/src/Language/Classes/same_name_type_variable_t01.dart
co19/src/Language/Classes/same_name_type_variable_t04.dart
co19/src/Language/Classes/same_name_type_variable_t07.dart
CL https://codereview.chromium.org/2063223003/ fixes *t01. However, t04 and t07 are faulty tests. A setter T does not conflict with a type variable T, since the setter's name is T=.


Fix #10580: add bindDN and bindPassword to args of LDAPConnection()

Describe your changes :

Fix #10580 User cannot sign in when using an LDAP server that deny anonymous binds during SSL-enabled LDAP authentication

Type of change :

[x] Bug fix
[ ] Improvement
[ ] New feature
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation

Frontend Preview (Screenshots) :
For frontend related change, please link screenshots of your changes preview! Optional for backend related changes.

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

Reviewers

@megumiie thank you for the contribution!


Use Bootstrap forms and primary button style

@burkeholland,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


[Docs] Multiple Toggle Group Solid example missing multiple flag

Description
In the Doslid docs, the code example for a Toggle Group allowing multi-selection is missing the multiple flag.
Link to Reproduction (or Detailed Explanation)
https://ark-ui.com/solid/docs/components/toggle-group#multiple-selection
Steps to Reproduce
N/A
Ark UI Version
N/A
Framework

[ ] React
[X] Solid
[ ] Vue

Browser
No response
Additional Information
No response

Good catch. Pushed a fix for this


Helm plugin

To run this PR
cd plugins/examples/helm run npm start  to start the plugin
Building the backend
make backend
cd backend
./headlamp-server -proxy-urls "https://artifacthub.io/*" -dev
We need the backend to run with the artifacthub proxy https://artifacthub.io/* because the helm charts are directly fetched from the hub.
Edge cases that are still not fixed

[x] In the release detail view the upgrade and rollback option are not added
[ ] Some README are not rendering everything correctly. See Headlamp readme, which has tables that aren't rendered nicely.

Some remaining items to do:

[x] backend lint errors
[x] the Helm endpoint should be restricted to desktop only (not in-cluster)
[x] Tests for helm related backend code
[x] backend helm code TODOs
[x] commit messages for helm backend code need adding (some are empty with just "wip")
[x] probably some of the lint fixes could be squashed. They are kept separate for now to make debugging easier in case something was broken whilst lint-fixing.

Would you mind fixing the ci errors?
How about adding https://artifacthub.io/* to the default server for now? Or add it by the headlamp-server call in app mode.

@ashu8912 I fixed the remaining lint issues in backend, and merged fixes from the pre-release branch from the other day.
The CI is failing on the lint with it timing out for some reason.

Error: golangci-lint exit with code 4
Ran golangci-lint in 180963ms

I'm not sure why it's doing that. Hrmm.

Ok, CI passes now :) There was a weird golang thing where repo := repo needed to be done inside a for loop which was messing things up.

I think the plugin bundling commits could be made in a separate PR? They seem to be self contained enough.

Added tests to Helm functions and marked them with integration build tag. Use the following command to run the test

Nice work on adding tests! 🎉🎈

Some README are not rendering everything correctly. See Headlamp readme, which has tables that aren't rendered nicely.

For this TODO in the PR description can be taken out of here. Since the frontend part of this plugin code is now not in this PR. (We still need to render things correctly of course... just not in this PR)

Auth on these endpoints will be done on a separate PR.


Allow overriding of Radar Chart min/max values for tick calculation

In cases where the possible minimum/maximum values are known in advance, it should be possible to use these to determine the starting/ending ticks of Radar Charts. This would allow stable and comparable charts across disparate data sets.
Currently, the tick spacing and the supporting titles are calculated by taking the minimum and maximum data entry values, which is fine for the general case, but makes it hard to compare datasets against absolute margins, as the ticks change position according to the entries.

A workaround is to create a transparent RadarDataSet with a maximum value.
 RadarDataSet(
    entryRadius: 4,
    fillColor: color.primary.withOpacity(0.5),
    borderColor: color.primary,
    dataEntries: [
      RadarEntry(value: aiScoreState.accuracy),
      RadarEntry(value: aiScoreState.angle),
      RadarEntry(value: aiScoreState.balance),
      RadarEntry(value: aiScoreState.inertia),
      RadarEntry(value: aiScoreState.moment),
    ],
  ),
// max val
RadarDataSet(
  entryRadius: 4,
  fillColor: Colors.transparent,
  borderColor: Colors.transparent,
  dataEntries: [
    RadarEntry(value: 1),
    RadarEntry(value: 1),
    RadarEntry(value: 1),
    RadarEntry(value: 1),
    RadarEntry(value: 1),
  ],
),

This workaround does not work in my case:
I have values ranged from 0 to 2000, but i'd like to 'group'  all the values below 800 to 0.
So basically my range is [0; 2000] and i want to cast it to [800; 2000] where 800 is the first drawn tick, and values below that should be set to 0 or drawn between 0 and the first tick
Seems this can't be done for the moment

What about overriding the <800 data points to zero before you pass them to the chart for drawing?

I tried that but then other values, such as 800.0 won't be on the first tick, because this will re-distribute all the values between [0-2000], so the value 800 would be almost on the central tick insead of the first tick


hi want to link back to login page from status page is it possible

⚠ Please verify that this bug has NOT been raised before.

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

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
hi all
is there a way to create a short cut link to the dashboard on the status page if landing page is status page is it possible to create a link to the login page /dashboard but making it discreate
🐻 Uptime-Kuma Version
latest  will give details on request
💻 Operating System and Arch
synologynas linux
🌐 Browser
Chrome
🐋 Docker Version
unknown
🟩 NodeJS Version
cant tell

See discussion in #544.

Service page


Tile Cache having problems with IE

Tested clients IE 8,9,10 and 11
All of the IE clients had problems. Did not work well in the Tile Administrator selection.  Not loading the page correctly. Reporting errors about not fetching images, plus issues with rename and delete. Then IE8 never loaded in the Tile Administrator page.

I can confirm that IE8 will not work properly with the Tilestore applications.  This stems from OpenLayers 3.  The javascript API does not support IE8.
As for IE, I am unable to view these issues. I have tested on Browser Stack, and on a local VM with IE9.  Closing issue.


All files included?

Are all the files included in the git downloads? I have tried downloading the zip and via git but there still seems to be files missing from the archive. Just as an example, templates-app.js is missing from the zip archive and I have a feeling there may be others missing.

Yes. Many other files are also missing. libs.js, style.css to name a few.

Please refer to: [https://github.com/mrgamer/angular-login-example#start-the-project-locally](How to start project locally)
libs and style.css are files generated by Grunt build system


add categories food

Codecov Report

Merging #3 into main will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main        #3   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            8         8
  Lines          114       114
=========================================
  Hits           114       114

Impacted Files
Coverage Δ

qual_id/categories/food.py
100.00% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c320525...f2f3197. Read the comment docs.

Looks great @aldinaufal21 ! Thank you!
#1


HTML

HTML
User Story
As a bootcamp student
I want the prework notes to be structured on a webpage
so that I can easily find and read information
Acceptance Criteria
GIVEN a Prework Study Guide Website
WHEN I visit the website in my browser
THEN I see four boxes titled HTML, CSS, GIT, and JavaScript with the associated notes listed

CSS
User Story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
Acceptance Criteria
GIVEN a prework study guide
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow

JavaScript
User Story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
Acceptance Criteria
GIVEN a prework study guide website
WHEN I view the study guide
THEN I can see the four topics I learned listed along with a suggestion on what i should study first

README
User Story
As a bootcamp student,
I want the prework notes to be structured on a webpage,
So that I can easily find and read the information.
Acceptance Criteria
GIVEN the prework repository,
WHEN I view the README for the repository,
THEN I can see a professional README that provides information on the project and how to use it

Deployment
User Story
As a bootcamp student,
I want the prework notes to be structured on a webpage,
So that I can easily find and read the information.
Acceptance Criteria
GIVEN a Prework Study Guide website,
WHEN I visit the website using the URL,
THEN I can access my website from any browser

Completed


Possible to get a example project?

Hi,
Thank you for this repository. I've been having a bit of trouble getting this set up, though I believe I have all the components in the right place, the build system is unable to find the u8g2.h file, even though the required components exist.
Does anyone have an example project that builds, that includes these libraries, that I could use as a reference?
Thanks!

How about this one

Hi, thank you for this! I have recently tried this and it does in fact build correctly (though I wasn't able to get the git submodules to work, so I manually readded them)
Separately, I tried running this example on the ESP32-S2 and it resulted in crashing the chip (Onboard USB-Serial stops responding). I'm wondering if this is an S2 specific issue
Thanks!

I'm using an S2 also. I was having restart issues when I was using incompatible pins to drive the display. Even though there are a lot of GPIO pins, a lot of them have specific functionality, and using the wrong pins for SDA and SCL can cause restarts. You should be safe using the ones marked for that purpose on your datasheet (21 and  22 typically).
Also, I don't think the onboard 3.3v regulator on some of the dev boards is capable of powering much other than the ESP32 chip itself. I was fine with a tiny 0.91" oled, but anything bigger caused issues til I moved to powering my accessories separately and only trying them to the dev unit with signal and ground.

Oh yes, thank you for this information! I tried your code on a ESP32-C3 that had a real hardware USB Serial on it and this showed that it was rebooting with "GPIO" errors. Good to know the S2 also has this limitation, though it appears that the OG ESP32 does not have these limitations to as great of an extent. Thank goodness no boards were designed with this wiring...


[1.12.2 - Suggestion] Framed/Reinforced Bevelled Inner/OuterBlocks + Maybe others.

Was wondering if it was possible to get these types of blocks added as a Frame/Reinforced. Reason I ask is... well...

What if I wish to have some sort of floating crystal-like structure?
Left is with only Blockcraftery while Right is with Blockcraftery + Architecture Craft

A structure that I wanted to build but have to use Architecture Craft blocks to make it.

One more thing... if it was possible to have the stairs & slabs be placed vertically. Also a very VERY rough suggestion of some framed/reinforced ideas with the vertical slab + have slab slopes.

Just figure I ask in case one doesn't want to run Architecture Craft but have a bit more.... flexibility in a way. Both mods work together but still... figure I ask.

I do want to do these shapes, part of the issue comes down to the way metadata works currently which makes it hard to do these shapes for every angle. But I will add them to the plan

Ah, neat. I forgot to mention that apparently you can add Architecture Craft 'Blocks' onto the frames and you get a purple/black checker texture. Would that be Blockcraftery or Architecture Craft though?


commons-lang-api plugin

Repository URL
https://github.com/nhojpatrick/jenkinsci_commons-lang-api-plugin
New Repository Name
commons-lang-api-plugin
Description
Creation of api-plugin, as discussed here https://github.com/jenkinsci/jenkins/pull/6267 and here https://github.com/jenkinsci/jenkins/pull/6270.
I want the the plugin to support the version oldest jenkins avaliable so easier for plugins to move over without themselves having to upgrade. Once every 'active' plugin updated, plan to upgrade this plugin to newer recent version.
This is my 1st attempt at creating a jenkins plugin, so probably lots needs tweaking.
GitHub users to have commit permission
Any Jenkins Member/Contributor
@nhojpatrick
Jenkins project users to have release permission
Any Jenkins Member/Contributor
nhojpatrick
Issue tracker
GitHub issues

It does have README.md, LICENSE and pom.xml.
Could this be expected branch name issue as I've stopped using master and default is now main.

/hosting re-check

/hosting re-check

issue creating 2 requests at the same time, i was pushing both local branches to the same remote repo

/hosting re-check

/hosting re-check

/hosting re-check

/hosting re-check

/hosting re-check

Same issues as https://github.com/jenkins-infra/repository-permissions-updater/issues/2373

/hosting re-check

@timja should be update like #2373

/hosting re-check

/hosting host

On top of what the bot said:
You'll need to update the co-ordinates in your README after group ID changed
I would suggest looking at enabling jenkins.io/doc/developer/publishing/releasing-cd along with dependabot


Switching to kuttl for MWT

Switch to using KUTTL for MWT
I've tested against a Konvoy cluster with the following changes to the setup/01-cassandra-install/02-install-cassandra.yaml file
  parameters:
    NODE_COUNT: "3"
    NODE_MEM_MIB: "4096"
    NODE_MEM_LIMIT_MIB: "4096"
    NODE_CPU_MC: "1000"
    NODE_CPU_LIMIT_MC: "1000"
    NODE_DISK_SIZE_GIB: "20"

I would be inclined to restructure the folders and README if we can get agreement on this is the way we want to move forward.  (I would likely remove or rename mwt folder and merge the 2 README files)
I did discover some weakness in kuttl with this... namely around namespace management... the delete properties for a TestStep do not honor the namespace defined... they only delete what is in the generated test namespace.  Which has worked well for tests but isn't great when the focus is setup and verify.  Created https://github.com/kudobuilder/kuttl/issues/124 to track.
Signed-off-by: Ken Sipe<EMAIL_ADDRESS>

after fixing kudo... might want to look at
for 02-install-cassandra.yaml
apiVersion: kuttl.dev/v1beta1
kind: TestStep
commands:
  - command: kubectl kudo install --instance cassandra cassandra --namespace cassandrra  -P params.yaml

updated to cassandra 1.0.0 + added test configs


don't instantiate argument defaults in the function declaration

doing so means they get instantiated on import, and potentially reused
across multiple calls to a function.
also, if you're running as a user that doesn't have a home directory,
that means that the Hyphenator('en_US') call fails with a PermissionError
before the caller has a chance to pass their own in.

This PR looks good to me, except that it might be slightly better to use if foo is not None: instead of if not foo: for all the conditionals (that'd be a trivial change to apply consistently throughout the PR).  Thanks, @rascalking.
@erinhengel, if you're no longer maintaining this repository, then I'll fork a copy so I can apply this PR.  But I wanted to check first, because if you are still maintaining Textatistic, then I'd much rather stay on your upstream copy and not run my own fork.

Hey @kfogel. No I'm no longer maintaining this repository so please go ahead and fork it.

Will do, and thanks for the prompt & clear reply, @erinhengel.

Okay, https://github.com/kfogel/Textatistic has now merged this PR on its master branch, with my is None change added on top (for all such conditionals, not just the ones in this PR).


Consider creating a semver package

Definitions

Module
A module is a file containing Python definitions and statements.

Situation
The current semver.py module contains almost 800 lines of code. As new functionality is added, the files grows bigger and bigger.
Suggested Solution
Should we consider to refactor the semver module into a package?
If yes, this is a feature which we should introduce for the upcoming 3.0.0 release. Could we label that in GitHub as such (or create a milestone)? :wink:
Maybe we should also consider to refactor our test cases too and move them to a tests/ directory and create different files? They are currently almost 700 lines of code.
That issue involves the following actions:

[ ] refactor semver module into package
[ ] Probably introduce a tests/ directory?

semver/
├── __main__.py  # basically imports semver.cli.main and runs main()
├── __init__.py  # should contain only the usual constants like __version__, __author__ etc.
├── cli.py       # implements the command line interface
└── [... probably more files ...]

An example (although a bit outdated now as new commits arrived in master) can be viewed in
my fork). It's not perfect, but a start.
Pros

Make files smaller and more readable
No API change to the user
Easier to add more functionality
With __main__.py, it is possible to use python -m semver -h

Cons

More files means also, to search where a function is defined
Slightly more difficult to test as it may be needed to run tox first or create a virtual environment.

What do you think? :wink:

+1 as it will also reduce the possibility of having conflicts.
But maybe we should consider this for a 3.0.0 release

I believe that the pros here really outweigh the cons:

More files means also, to search where a function is defined

A well named file will contain relevant functions, therefore narrows down where you could possibly find a function related to a specific feature.
As for the edge cases, that's what IDEs are for, right? 😜

Slightly more difficult to test as it may be needed to run tox first or create a virtual environment.

Relative imports still work when breaking up a module into a package.
Also, once the config is written and just works, you probably will never touch it again.
I would give this a +2 if I could since the semver.py file is starting to bloat with some mutually irrelevant functionalities (not irrelevant to the package, mind you, to each other only).

Probably introduce a tests/ directory?

That is an interesting question 🤔 ...
From my personal experience, most python packages I've worked with tend to have a tests directory that mirrors the package they are testing.
OTOH, I've enjoyed working with frameworks (like Angular, to name one) that have the test module in the same directory as the module they are testing, as it brings the tests closer to the code, and I've read in many python testing frameworks that they support discovering tests pretty much anywhere, referring to this kind of organisation.
Out of familiarity, I would be tempted to go with the former for the usual pro: it is easier to exclude test code collecting files for packaging.

I believe that the pros here really outweigh the cons:

More files means also, to search where a function is defined

A well named file will contain relevant functions, therefore narrows down where you could possibly find a function related to a specific feature.
As for the edge cases, that's what IDEs are for, right?

In theory yes. But not everybody uses IDEs.

Slightly more difficult to test as it may be needed to run tox first or create a virtual environment.

Relative imports still work when breaking up a module into a package.
Also, once the config is written and just works, you probably will never touch it again.

Right.

I would give this a +2 if I could since the semver.py file is starting to bloat with some mutually irrelevant functionalities (not irrelevant to the package, mind you, to each other only).

Yes, that would probably help to focus and consolidate.

Probably introduce a tests/ directory?

That is an interesting question  ...
From my personal experience, most python packages I've worked with tend to have a tests directory that mirrors the package they are testing.
OTOH, I've enjoyed working with frameworks (like Angular, to name one) that have the test module in the same directory as the module they are testing, as it brings the tests closer to the code, and I've read in many python testing frameworks that they support discovering tests pretty much anywhere, referring to this kind of organisation.

You are right, test frameworks can discover tests almost anywhere. From a technical side, it doesn't matter where they are. It's probably a matter of taste.

Out of familiarity, I would be tempted to go with the former for the usual pro: it is easier to exclude test code collecting files for packaging.

Exactly. I prefer a separate tests/ directory as I believe, it shouldn't be installed with the code. It's a method to help developers, but for users it's pretty useless.

Looking at the current direction the project is taking, I think we will have 2 files:

version_info.py: contains the VersionInfo class
cli.py: contains all the functions used for the cli.

Seeing that most module level functions are now being deprecated, I think this layout will be clear and it shouldn't be too hard to search for a functionality.

Seeing that most module level functions are now being deprecated, I think this layout will be clear and it shouldn't be too hard to search for a functionality.

Yes, I think so too. If it turns out we should keep one or two module level functions, we could create a third file.

This is now integrated in #306


fix: files counted twice in inferred structure

Files were counted twice in a structure like:
my_dataset_local_path/
├── README.md
└── data/
    ├── train/
    │   ├── shard_0.csv
    │   ├── shard_1.csv
    │   ├── shard_2.csv
    │   └── shard_3.csv
    └── valid/
        ├── shard_0.csv
        └── shard_1.csv

The reason is that they were matching both *train*/* and *train*/**/*.
This PR fixes it. @lhoestq

I see it creates some errors in the tests.
Another solution if needed is to add something like data_files = list(set(data_files)) after this line

Hi ! Thanks for the correction :)
Your change seems right, let me look at the errors and try to fix this

Not sure if it's due to this change but I tested load_dataset('dalle-mini/encoded-vqgan_imagenet_f16_16384', streaming=True) and the validation set is empty.

So indeed there was an issue with the patterns * and **/* that would return some files twice. This issue came from the fact that we were not using the right glob.
Indeed we were using Path.rglob for local files and Path.match for remote files. Since these two methods don't have the same behavior for such patterns, I decided to change that.
In particular, we now use glob.glob (same as fsspec glob) as a reference for data files resolution from patterns. This is the same as dask for example.
/!\ Here are some behaviors specific to glob.glob that are different from Path.glob, Path.match or fnmatch:

'*' matches only first level files
'**/*' matches only at least second level files

This way we have a consistent behavior with respect to other python data libraries and there's no overlap anymore between the two patterns.
Some implementations details:
To ensure that we have the same behavior for local files and for files in a remote dataset repository, I decided to use fsspec glob for both. This was made possible by implementing the HfFileSystem class as a fsspec filesystem.
I pushed those changes directly to your PR - I hope you don't mind. Please let me know if that solves your problem, and then we can merge !

There's still an issue with fsspec's glob - I'll take a look this afternoon

To recap:
We use fsspec glob as a reference for data files resolution from patterns.
This is the same as dask for example.

/!\ Here are some behaviors specific to fsspec glob that are different from glob.glob, Path.glob, Path.match or fnmatch:
- '*' matches only first level items
- '**' matches all items
- '**/*' matches all at least second level items

More generally:
- `*`` matches any character except a forward-slash (to match just the file or directory name)
- `**`` matches any character including a forward-slash /

lol Windows… Maybe Pathlib for the tests?
I tested streaming a repo and it worked perfectly now!


Dashboard

Completely new dashboard single page application for Myriad.
Uses Facebook's React component system to build and update user interface completely on the client side.
Uses npm for dependencies and gulp to compile js artifacts together.

Is this apache-licensed, or friendly with the Apache license?

From what I can tell, yes it is Apache compatible.
I ran the nlf (https://www.npmjs.com/package/nlf) tool on the package.json. This traverses the entire dependency tree for license information. It found primarily BSD and MIT. There were some ISC (http://en.wikipedia.org/wiki/ISC_license) that I couldn't find a direct reference to on the Apache site, but it looks open to me. There were a handful of modules that didn't specify a license, and one WTFPL (http://www.wtfpl.net/) which seems super compatible.

I updated to the latest phase1 branch and resolved the conflicts. @DarinJ said he'll take a look and verify it runs soon.

A few in-line comments.  It would be nice to have a line in one of the main documentation pages mention the WebUI.  In a shippable state, should be merged.

@kensipe were you going to look at this?  It's a blocker for a few other issues.

@DarinJ I fell behind on some work priorities... I'm on it now.   Did your comments get resolved?   specifically the comment about unrelated changes.  Has that been pulled out or will it be?

@kensipe, Jim hasn't fixed the unrelated changes (setup-yarn-2.sh) though looking at the file I'd say its in a better state, but he can pull that out easy enough.

just removed changes to setup-yarn-2.sh. Squashed all working commits into
one. Reflected issue #82 in commit message. pull request updated.
On Fri, May 29, 2015 at 2:05 PM, Darin<EMAIL_ADDRESS>wrote:

@kensipe https://github.com/kensipe, Jim hasn't fixed the unrelated
changes (setup-yarn-2.sh) though looking at the file I'd say its in a
better state, but he can pull that out easy enough.
—
Reply to this email directly or view it on GitHub
https://github.com/mesos/myriad/pull/82#issuecomment-106892124.

@klucar I've made a few comments... lets get this merged today if possible.   Here is what is outstanding:

the setup-yarn-2.sh changes should be removed from this PR.  you reference in your last comment that this is taken care of, but I don't see it.
remove cluster stuff
add link to webapp/README in the main README (with comment)
remove commented out code from ConfigComponent.js, Myriad.js, ProfileComponent.js
commented code:  TaskListComponent.js
misalignment of input text boxes on the flex tab

The Clusters page is there only because the original UI had one. I couldn't
figure out what the original actually displayed, so this one is blank. I'll
gladly remove it, unless someone knows what it was meant for.
Most of the commented out stuff is just my development cruft so I can
remember what JSON the web service returns. I'll clean it up a bit, but the
props stuff is useful, so I may just clarify what they are better.
I should be able to do this later today.
Jim
On Mon, Jun 1, 2015 at 11:04 AM, Ken Sipe<EMAIL_ADDRESS>wrote:

@klucar https://github.com/klucar I've made a few comments... lets get
this merged today if possible. Here is what is outstanding:

the setup-yarn-2.sh changes should be removed from this PR. you
reference in your last comment that this is taken care of, but I don't see
it.
remove cluster stuff
add link to webapp/README in the main README (with comment)
remove commented out code from ConfigComponent.js, Myriad.js,
ProfileComponent.js commented code: TaskListComponent.js
misalignment of input text boxes on the flex tab

—
Reply to this email directly or view it on GitHub
https://github.com/mesos/myriad/pull/82#issuecomment-107561927.

@klucar are you expecting this today?  I understand this is blocking some other work.

I'm building and testing now.
How should I do the README link? (e.g. relative path, absolute github path,
something else)
On Tue, Jun 2, 2015 at 12:52 PM, Ken Sipe<EMAIL_ADDRESS>wrote:

@klucar https://github.com/klucar are you expecting this today? I
understand this is blocking some other work.
—
Reply to this email directly or view it on GitHub
https://github.com/mesos/myriad/pull/82#issuecomment-108013038.

I would use a relative link such that it works from github.

what do you think about just moving it to the docs directory with
everything else? this makes more sense to me.
On Tue, Jun 2, 2015 at 4:20 PM, Ken Sipe<EMAIL_ADDRESS>wrote:

I would use a relative link such that it works from github.
—
Reply to this email directly or view it on GitHub
https://github.com/mesos/myriad/pull/82#issuecomment-108086407.

I moved the README.md to docs/myriad-dashboard.md

Latest code should be good to go. Not sure why my setup-yarn-2.sh fix didn't take last time, but it looks like latest doesn't have any changes to setup-yarn-2.sh

LGTM!   Merging!


Failed to compile android.arch.persistence.room:runtime

If i try to compile project, i have error "Could not find android.arch.persistence.room:runtime"
Need to replace:
def room_version = "2.3.0"
implementation "android.arch.persistence.room:runtime:$room_version"
annotationProcessor "android.arch.persistence.room:compiler:$room_version"

with:
def room_version = "2.3.0"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"

Hi @Terxeno , will check this issue and update it.

Hi @Terxeno ,
Room dependency version has been fixed.


Cleanup ats_tcp_somaxconn to use std::ifstream

Use ats_scoped_fd and avoid dependency on TextBuffer.

Don't approve yet, I need to fix the commit message too but need to wait for CI to finish.


EXCEPTION: Error: Uncaught (in promise): Error: Cannot find primary outlet to load 'XXX' after updating angular2-compilers

Hello,
After updating my meteor packages with meteor update the application is no more loading due to a exception:
EXCEPTION: Error: Uncaught (in promise): Error: Cannot find primary outlet to load 'XXX'
I have no clue on where to start the investigation, can you help me?
meteor packages before update
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
meteor packages after update
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
npm angular2 packages
@angular/common: ^2.0.0-rc.4,
@angular/compiler: ^2.0.0-rc.4,
@angular/core: ^2.0.0-rc.4,
@angular/http: ^2.0.0-rc.4,
@angular/platform-browser: ^2.0.0-rc.4,
@angular/platform-browser-dynamic: ^2.0.0-rc.4,
@angular/router: ^3.0.0-beta.2,
angular2-meteor: ^0.6.2,
angular2-meteor-polyfills: ^0.1.1,
es6-shim: 0.35.1,
meteor-node-stubs: ^0.2.3,
reflect-metadata: ^0.1.3,
rxjs: 5.0.0-beta.6,
systemjs: ^0.19.26,
zone.js: ^0.6.12

Have you tried importing your HTML templates with this method after upgrading from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>

The  that the exception is describing as missing is inside a angular2 template.
app/client/app.ts
@Component({
    selector: 'main-app',
    templateUrl: 'client/app.html'
})
export class MainApp extends MeteorComponent {
...
}

app/client/app.html
<div>
...
</div>
<router-outlet></router-outlet>

@onhate According to the link that I have posted in previous comment
Provided that your main.html and main.ts are in the same folder:
import template from './main.html';

@Component({
  selector: 'main-app',
  template: template
})
export class MainApp extends MeteroComponent {}

I encourage you to have a read on this in case you have missed out.

Got it @derek-fong, thanks!


GPT-3 rate limit error: please try again soon

I just installed it and I try to test it but when generating the output it doesn't occur

Maybe it's because it's mobile? I'm a noob can you give me an explained solution?

Yeah I've had this occasionally while testing as well. Seems to be happening on OpenAI's side so I'm guessing it has to do with server load.

OpenAI limits the amount of tokens you use per hour on the free tier. When you use these tokens up, they take an hour or so to refresh.


Implement compile-time check for minimum LAPACK version

In v1.2.0 we increased the minimum required LAPACK version to 3.4.1. That created, for the first time in a very long time, a situation where some distros and macOS ship LAPACK implementations that don't meet our requirements. We now don't check for that situation thoroughly, but may fail at import time (e.g. gh-9657).
We should fix this as far as possible. Not completely trivial to do, since there is no API for this. Probably the best way is to do a compile time check for the presence of some function that was introduced in the minimum LAPACK version we require.

If there is a possibility to initially compile a single symbol, ilaver returns back the version of LAPACK. But I'm not sure how to trigger this information.

Looks like try_link is from vanilla distutils here. Some of the functions in that module do indeed look useful for this kind of thing. I've been thinking of something somewhat similar in https://github.com/numpy/numpy/pull/12523, but this is a useful reminder that there may be some tricks I hadn't considered for "inline compilation" to check basic things like version numbers.

Bumping the milestone on this one -- I've had some success doing this kind of thing for OpenBLAS in NumPy in https://github.com/numpy/numpy/pull/12790, but experience there suggests we probably won't want to rush this in before cutting the branch

bumping milestone


Add the word "на" to localeTitle

[x ] I have read freeCodeCamp's contribution guidelines.
[x ] My pull request has a descriptive title (not a vague title like Update index.md)
[x ] My pull request targets the master branch of freeCodeCamp.
[x ] None of my changes are plagiarized from another source without proper attribution.
[x ] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

LGTM! @shaded92 thanks for fixing this - I don't know Russian, but according to Google translate that looks clearer 😆 ! Happy coding and congrats on your first contribution to the repository! 🎉 ⭐ 🎆


Action seems to be broken

Hi @johanneskoester ! This is a really great resource for Snakemake developers 😃
I recently added "workflow" to the README of https://github.com/beliveau-lab/PaintSHOP_pipeline to get it picked up by this list, and when I checked back I noticed that the action to generate the catalog seems to be failing right now:
https://github.com/snakemake/snakemake-workflow-catalog/actions/runs/492814135
Just a heads up. Thanks again for the great resource, and I'm excited to see our pipeline end up in there soon 👍

Sorry, I missed the failed action (parental leave). Should be fixed now and your workflow should show up in the next few hours.


Improve error message

Codecov Report
Base: 73.62% // Head: 72.92% // Decreases project coverage by -0.70% :warning:

Coverage data is based on head (2fe1285) compared to base (041c4f4).
Patch coverage: 33.33% of modified lines in pull request are covered.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #622      +/-   ##
==========================================
- Coverage   73.62%   72.92%   -0.70%
==========================================
  Files          18       18
  Lines        6617     6350     -267
==========================================
- Hits         4872     4631     -241
+ Misses       1745     1719      -26

Impacted Files
Coverage Δ

src/compiler.jl
73.81% <33.33%> (-0.65%)
:arrow_down:

src/compiler/interpreter.jl
66.66% <0.00%> (-14.11%)
:arrow_down:

src/pmap.jl
83.33% <0.00%> (-1.29%)
:arrow_down:

src/compiler/pmap.jl
76.37% <0.00%> (-1.17%)
:arrow_down:

src/typeanalysis.jl
90.00% <0.00%> (-0.91%)
:arrow_down:

src/compiler/validation.jl
60.84% <0.00%> (-0.79%)
:arrow_down:

src/Enzyme.jl
84.61% <0.00%> (-0.16%)
:arrow_down:

src/compiler/optimize.jl
69.13% <0.00%> (+0.12%)
:arrow_up:

src/typetree.jl
87.80% <0.00%> (+0.30%)
:arrow_up:

... and 1 more

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Swap ordinals and method params in display names

Currently:
Foo.Bar(baz: "abc") [02.01] Given something
Foo.Bar(baz: "abc") [02.02] When something
Foo.Bar(baz: "abc") [02.03] Then something
Foo.Bar(baz: "xyz") [01.01] Given something
Foo.Bar(baz: "xyz") [01.02] When something
Foo.Bar(baz: "xyz") [01.03] Then something

Better?
Foo.Bar[01.01](baz: "xyz") Given something
Foo.Bar[01.02](baz: "xyz") When something
Foo.Bar[01.03](baz: "xyz") Then something
Foo.Bar[02.01](baz: "abc") Given something
Foo.Bar[02.02](baz: "abc") When something
Foo.Bar[02.03](baz: "abc") Then something

I like the proposed order better, that the currently implemented one :-)

Something has just occurred to me. In 1.x, there was an undocumented feature which allowed the suppression of argument values in scenario names, which would leave it to the test author to embed the argument values in the step names instead, i.e.
[Scenario]
[Example(1, 2)]
[Example(2, 3)]
public void Bar(int x, int y)
{
    "Given {0}"
        .f(() => ...);

    "When something"
        .f(() => ...);

    "Then {1}"
        .f(() => ...);
}

Foo.Bar [02.01] Given 1
Foo.Bar [02.02] When something
Foo.Bar [02.03] Then 2
Foo.Bar [01.01] Given 2
Foo.Bar [01.02] When something
Foo.Bar [01.03] Then 3

But over time, I realized that switching off the argument values in the scenario names was rarely a good idea, even if the values are also embedded in the step names, so I removed the undocumented feature in 2.0.
In the sorting token [01.01], the first number is the scenario invocation ordinal and was added to ensure that the steps for a single scenario appear together in the output. Given that the argument values will always be included in the scenario name in 2.0, that first number is now redundant and can be removed:
Foo.Bar(baz: "abc") [01] Given something
Foo.Bar(baz: "abc") [02] When something
Foo.Bar(baz: "abc") [03] Then something
Foo.Bar(baz: "xyz") [01] Given something
Foo.Bar(baz: "xyz") [02] When something
Foo.Bar(baz: "xyz") [03] Then something

I can't think of a case where the sorting wouldn't work, unless someone defined two examples with the same values, but that would have no purpose and the duplicate should be removed.

No longer valid, since the scenario number has been removed in 2.0. Only the step number remains, e.g.
Foo.Bar(baz: "abc") [01] Given something
Foo.Bar(baz: "abc") [02] When something
Foo.Bar(baz: "abc") [03] Then something
Foo.Bar(baz: "xyz") [01] Given something
Foo.Bar(baz: "xyz") [02] When something
Foo.Bar(baz: "xyz") [03] Then something


feat(ui_localizations): Add Norwegian (NB) localization

Description
Adds Norwegian localization.
Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[ ] All existing and new tests are passing.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] The analyzer (melos run analyze) does not report any problems on my PR.
[ ] All unit tests pass (melos run test:unit:all doesn't fail).
[ ] I read and followed the Flutter Style Guide.
[x] I signed the CLA.
[ ] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change.
[x] No, this is not a breaking change.

@ovestoerholt could you please ask someone else who speaks Norwegian to proofread this PR and approve it?

@ovestoerholt please also update packages/firebase_ui_localizations/lib/src/all_languages.dart so thatnb is correctly picked up

@lesnitsky Added 👍


Bug 2090885: Fix treating missing clusters in policy compliance status as compliant

Now checks specifically if the cluster is compliant with policy and don't consider missing clusters as compliant.

/bugzilla refresh

/hold

It seems to be a conscious decision to treat missing cluster as compliant. We need to revisit the reasons behind that decision before changing this behavior.

/unhold

/cherry-pick release-4.11

/cherry-pick release-4.10

/cherry-pick release-4.10


chore: add override.cfg to .gitignore

For example, this makes it easier to do a bunch of testing
to escoria-ui-simplemouse without making a temporary change
to project.godot because you can create override.cfg with
the following:
[escoria]
ui/game_scene="res://addons/escoria-ui-simplemouse/game.tscn"

I think this is a good change indeed. Thanks!


Go to Symbol In Workspace is very slow and doesn't save index

Environment data

Language Server version: 2021.6.3
OS and version: Windows 10 x64
Python version: 3.8.2

Expected behaviour
Go to Symbol In Workspace should immediately show the matching symbols after one index.
I would expect pylance to index the symbol once to make the next searches faster.
Actual behaviour
Go to Symbol In Workspace is very slow (in large codebase)
In the first search it can take 10-15 seconds to return results.
If I search again after short time (about few minutes), the search returns after ~1 seconds.
If I search again after long time, the search again can take 10-15 seconds.
It seems like pylance have temporary indexing instead of save the last index.
Logs
This log represents two Symbol Workspace Searches in timedelta of ~15 minutes.
We can see the "parsing" and "binding" twice on every file in the directory.
pylance_log.txt

Hmm. maybe exclude c:\Checkouts\mypy\test-data\
Can you try creating a pyrightconfig.json file and add to the excludes to see if that fixes the issue? https://github.com/microsoft/pyright/blob/main/docs/configuration.md#main-pyright-config-options

I'm also suspicious of your python location using c:\Users\panchock\AppData\Roaming\
maybe try creating a virtual python environment under your workspace.
something like python3 -m venv venv

Hmm. maybe exclude c:\Checkouts\mypy\test-data\
Can you try creating a pyrightconfig.json file and add to the excludes to see if that fixes the issue? https://github.com/microsoft/pyright/blob/main/docs/configuration.md#main-pyright-config-options
its this a pubic repo?

Even if I exclude this directory after sometime the indexing happens again.
This project is the Python/mypy public repo

thank you.
what symbol and from which file are you searching in?
do you have multiple files open?
here are my search paths after creating a local venv:
d:\dev\bschnurr\mypy\venv
d:\dev\bschnurr\mypy\venv\Lib\site-packages
Search paths for d:\dev\bschnurr\mypy
  c:\Users\bschnurr\.vscode\extensions\ms-python.vscode-pylance-2021.6.3\dist\typeshed-fallback\stdlib
  d:\dev\bschnurr\mypy
  d:\dev\bschnurr\mypy\typings
  c:\Users\bschnurr\.vscode\extensions\ms-python.vscode-pylance-2021.6.3\dist\typeshed-fallback\stubs\...
  c:\Users\bschnurr\.vscode\extensions\ms-python.vscode-pylance-2021.6.3\dist\bundled\stubs
  c:\Users\bschnurr\AppData\Local\Programs\Python\Python39\DLLs
  c:\Users\bschnurr\AppData\Local\Programs\Python\Python39\Lib
  c:\Users\bschnurr\AppData\Local\Programs\Python\Python39
  d:\dev\bschnurr\mypy\venv
  d:\dev\bschnurr\mypy\venv\Lib\site-packages

I searched the letter "a" to see all symbols which contains it.
Your search returned immediately?
After few minutes, another search didn't lead to indexing again the symbols? (like I described)
It seems the main problem is that the symbols index doesn't saved on disk.
This leads to index again and again.

I suspect that the index is getting recreated because something is changing on disk (a file is being created, deleted or edited) which forces the index to be invalidated. Would would need to look at the trace-level log output to verify this theory. Could you turn on trace logging and include the output?

I suspect that the index is getting recreated because something is changing on disk (a file is being created, deleted or edited) which forces the index to be invalidated. Would would need to look at the trace-level log output to verify this theory. Could you turn on trace logging and include the output?

I uploaded trace log in the main post.
Even if your theory is correct, why does the all index is invalid only because changes of few files? Doesn't it weird?

Your logs indicate that you made a settings change. This flushes all cached information and triggers a reindex. Do you recall making a settings change? Are you experiencing this problem even in cases where you don't make settings change? If so, please try to capture that with trace logs. Based on what I see in the logs you posted earlier, it's working as expected.

Your logs indicate that you made a settings change. This flushes all cached information and triggers a reindex. Do you recall making a settings change? Are you experiencing this problem even in cases where you don't make settings change? If so, please try to capture that with trace logs. Based on what I see in the logs you posted earlier, it's working as expected.

The reindex happens even if I doesn't change any settings (plugins or vscode itself).
After few minutes of only coding the index builds again.

can you add a pyrightconfig.json file to your root
and set
pyrightconfig.json
{
"verboseOutput": true
}

then post your "Python Language Server" output log.
this might show a file change event retrigging indexing.

I did this and it looks like the language server indicates some file changed even though it's not.
I didn't touch in the keyboard and after few minutes the index happens again.

Which file or directory was reported along with the change event? I'm guessing that some tool, extension, or script is modifying some of the files in your source tree in some manner (e.g. updating the metadata?), and this is triggering a file system change event.

might be a git hub extension. try disabling other extensions and can we see the file change log form "Python Language Server" output window?


feat(@schematics/angular): strict TypeScript

Enable currently TS strict features supported by Angular.
Why this PR ?
Lately, I gave several advanced Angular courses, with developers working with Angular for more than one year. Each time, they were not aware of the strict features of TypeScript and their projects were in non-strict mode.
TypeScript is not in strict mode by default for compatibility reasons, and to be transparent with standard JavaScript. But strict is the recommanded way to do.
One of the main reasons frameworks like Angular choose TypeScript is for error management, because in an app, you can't do quick JavaScript anymore, with no error management, like we were doing during the jQuery era. A single error can break an app.
Then, using TypeScript in Angular in non strict mode is quite a non sense : several parts of your app won't be checked correctly, and thus may contain errors, wrecking all the efforts to code well in the other parts which are checked correctly.
So strict mode should be the default.
But another problem is strict mode config is becoming difficult : we can't just enable strict like in #218, because Angular needs time to update to new TS versions. So currently developers have to enable strict features one by one : there are already 4 in TS 2.5, there will be 5 in TS 2.6 and 6 in TS 2.7.
So it would be really better the CLI enables them by default.
Consequences for current projects
None. This schematic is only applied for new apps, so current apps won't break.
@hansl @filipesilva @Brocco

Hi @cyrilletuzi
I don't agree with this PR (we should be compatible with those flags but not force them to users). It's relatively simple to add it to your projects, no need to make the default.
I think this should be a flag on new workspaces (something like --strict). If you update your PR I'll let it in. Thanks.

@hansl you mean a new option when generating a project with ng new ? If so, maybe ts-strict to avoid collision ?

Sure, that works.

Closing in favor of #462


End point builder

App Center Document Read Contributing

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 06813350-a37b-a4a2-fdbc-a59caefb9f32
Version Independent ID: 29787958-5b4e-efc2-2af5-2af0ee53216e
Content: App Center Build - Visual Studio App Center
Content Source: docs/build/index.md
Service: vs-appcenter
GitHub Login: @siminapasat
Microsoft Alias: siminap

@bnhassin I don't understand the issue you're raising. Can you please clarify?

OK, but you submitted an issue - do you have a question or comment about the docs?

Finding Project Android don't Released in App Center User Build

@bnhassin I'm sorry, but I'm still not understanding the purpose of this issue. The comments feature of our documentation is intended to enable customers to suggest changes to the docs or ask clarifying questions about the docs.
If you need help - App Center support is provided directly from within the App Center portal. Any time you need help, just click the blue chat button in the lower-right corner of any page and our dedicated support team will respond. For additional information, see the App Center Help Center.


Feature request: HeapRb fallible allocation

Currently HeapRb::new uses Vec::resize_with, which will panic if an allocation fails.
I propose adding a second function HeapRb::try_new which will return Result<Self, std::collections::TryReserveError> and uses the same logic as HeapRb::new but additionally calls Vec::try_reserve before the call to Vec::resize_with.
This would be helpful for embedded development where memory is limited and allocations may fail.

Done. Thank you for this feature request!

Awesome! Thank you for implementing it so quickly!


Feature/hydra config

Linked to #1
Solves hydra config part of the task.
Working on adding logging now

refactor image_labeler.py
refactor image_curation_labeler.py
add confidence to predict.py

filenames subject to change

logging, showing number of samples in each class, in move_files needs to be dynamic for each class
README.md
a. small description of each "task"
b. config structure


Move SetMultiAcknowledgement to PacketServerKeeper

Summary
SetMultiAcknowledgement is currently on the channel keeper.
With Eureka, we won't want to me adding new functionality onto the Channel Keeper, so it makes sense to move this onto the PacketServerKeeper instead.

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged/assigned
[ ] Estimate provided

@chatton can I work on this issue?

Superseded by ibc-eureka work


Disallow rack name change of a live cluster

What this PR does:
Add checks in the webhook and controller that no racks are deleted, and the rack names do not change (according to the declaration order).
Which issue(s) this PR fixes:
Fixes #667
Checklist

[x] Changes manually tested
[x] Automated Tests added/updated
[ ] Documentation added/updated
[x] CHANGELOG.md updated (not required for documentation PRs)
[x] CLA Signed:  DataStax CLA

If they're looking for an error in the k8ssandra-operator logs it might be confusing if it turns up in the cass-operator logs.

It even goes a bit further than that: with the main branch, the error is far from obvious. Cass-operator does indeed reject the change, and the CassandraDatacenter is not modified. But kubectl apply appears to succeed, the only feedback is in the K8ssandraCluster.Error field (if it even occurs to the user to check it):
admission webhook "vcassandradatacenter.kb.io" denied the request: CassandraDatacenter write rejected, attempted to change rack name from 'rack1' to 'rack12'

What's worse, the rack name in the K8ssandraCluster spec is updated, so it now shows an erroneous value that doesn't match the actual CassandraDatacenter.
What this PR gives us is clear feedback as soon as you try to apply the changes:
$ k apply -f k8c_with_renamed_rack.yaml
Error from server (racks can't be renamed (DC dc1, index 0, current=rack1, desired=rack12))...

And the K8ssandraCluster is not modified.

The entire webhook validation should probably be in a single method that could be called by the webhook or start of the reconcile.

Agreed. One thing that occurred to me is that this PR handles one particular check, but they are probably others that we'd similarly want to duplicate.
The hard part is that we are dealing with different separate hierarchies depending on the level. For example in this PR the webhook deals exclusively with k8ssandra-operator structures, while the controller code handles a mix of k8ssandra-operator and cass-operator (this is why I had to implement the check twice). And obviously the logic in cass-operator, if we can reuse it, will be 100% cass-operator structures.

(this is why I had to implement the check twice).

Unfortunately that's the nature of this codebase. The best way forward IMO is to re-use cass-operator logic where possible within k8ssandra-operator, and re-use a validation package in both the webhook and reconciliation within k8ssandra-operator. Some level of duplication is to be expected given we're operating across a number of systems, and each needs to do its own validation.
I do also suggest that you consider operating on the DatacenterConfig so that you're maximally re-using the logic we have for merging the cluster and DC levels. Hopefully that'll at least help reduce some of the acrobatics :)

The more I look at this, the more duplicating the checks sounds like a bad idea.
As Michael said:

cass-operator might decide to do something that k8ssandra-operator doesn't know about

In other words, we'd have to keep everything in sync over time, which would certainly be tedious and error-prone.
The rack checks in cass-operator are already more subtle than what I implemented here.
The K8ssandraClusterStatus.Error field was added in #700, but reading the ticket it sounds like it was intended for a specific use case. I wonder if we should be more selective in the errors we surface in there (as opposed to failing the reconcile directly).

@olim7t take a look at #617. I think it may be along the lines of what we want.

The K8ssandraClusterStatus.Error field was added in #700, but reading the ticket it sounds like it was intended for a specific use case. I wonder if we should be more selective in the errors we surface in there (as opposed to failing the reconcile directly).

Scratch that, cass-operator errors will never be surfaced directly, regardless of that field.

Closing this as an ad-hoc check is too simplistic, and we're debating duplicating the whole cass-operator validation logic. I'll add a comment on the original ticket.


error getting endorser client for channel

Creating cli                    ... done

 ____    _____      _      ____    _____
/ ___|  |_   _|    / \    |  _ \  |_   _|
\___ \    | |     / _ \   | |_) |   | |
 ___) |   | |    / ___ \  |  _ <    | |
|____/    |_|   /_/   \_\ |_| \_\   |_|

Build your first network (BYFN) end-to-end test
Channel name : mychannel
+ peer channel create -o orderer.example.com:7050 -c mychannel -f ./channel-artifacts/channel.tx --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
Creating channel...
+ res=0
+ set +x
2019-11-01 01:11:29.957 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2019-11-01 01:11:29.989 UTC [cli.common] readBlock -> INFO 002 Received block: 0
===================== Channel 'mychannel' created =====================

Having all peers join the channel...
+ peer channel join -b mychannel.block
+ res=1
+ set +x
Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: connection error: desc = "transport: error while dialing: dial tcp: lookup peer0.org1.example.com on <IP_ADDRESS>:53: no such host"
peer0.org1 failed to join the channel, Retry after 3 seconds
+ peer channel join -b mychannel.block
+ res=1
+ set +x
Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: connection error: desc = "transport: error while dialing: dial tcp: lookup peer0.org1.example.com on <IP_ADDRESS>:53: no such host"
peer0.org1 failed to join the channel, Retry after 3 seconds
+ peer channel join -b mychannel.block
+ res=1
+ set +x
Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: connection error: desc = "transport: error while dialing: dial tcp: lookup peer0.org1.example.com on <IP_ADDRESS>:53: no such host"
peer0.org1 failed to join the channel, Retry after 3 seconds
+ peer channel join -b mychannel.block
+ res=1
+ set +x
Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: connection error: desc = "transport: error while dialing: dial tcp: lookup peer0.org1.example.com on <IP_ADDRESS>:53: no such host"
peer0.org1 failed to join the channel, Retry after 3 seconds
+ peer channel join -b mychannel.block
+ res=1
+ set +x
Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: connection error: desc = "transport: error while dialing: dial tcp: lookup peer0.org1.example.com on <IP_ADDRESS>:53: no such host"
peer0.org1 failed to join the channel, Retry after 3 seconds
+ peer channel join -b mychannel.block
+ res=1
+ set +x
Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: connection error: desc = "transport: error while dialing: dial tcp: lookup peer0.org1.example.com on <IP_ADDRESS>:53: no such host"
peer0.org1 failed to join the channel, Retry after 3 seconds
+ peer channel join -b mychannel.block
+ res=1
+ set +x
Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: connection error: desc = "transport: error while dialing: dial tcp: lookup peer0.org1.example.com on <IP_ADDRESS>:53: no such host"
peer0.org1 failed to join the channel, Retry after 3 seconds
+ peer channel join -b mychannel.block
+ res=1
+ set +x
Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: connection error: desc = "transport: error while dialing: dial tcp: lookup peer0.org1.example.com on <IP_ADDRESS>:53: no such host"
peer0.org1 failed to join the channel, Retry after 3 seconds
+ peer channel join -b mychannel.block
+ res=1
+ set +x
Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: connection error: desc = "transport: error while dialing: dial tcp: lookup peer0.org1.example.com on <IP_ADDRESS>:53: no such host"
peer0.org1 failed to join the channel, Retry after 3 seconds
+ peer channel join -b mychannel.block
+ res=1
+ set +x
Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: connection error: desc = "transport: error while dialing: dial tcp: lookup peer0.org1.example.com on <IP_ADDRESS>:53: no such host"
!!!!!!!!!!!!!!! After 10 attempts, peer0.org1 has failed to join channel 'mychannel'  !!!!!!!!!!!!!!!!
========= ERROR !!! FAILED to execute End-2-End Scenario ===========

ERROR !!!! Test failed

Should be fixed with b6037fb006b8ba277269f5ff60653a31928d0078


chore(deps): update module google.golang.org/api to v0.192.0

This PR contains the following updates:

Package
Type
Update
Change

google.golang.org/api
require
minor
v0.191.0 -> v0.192.0

Release Notes

googleapis/google-api-go-client (google.golang.org/api)
v0.192.0
Compare Source
Features

all: Auto-regenerate discovery clients (#2725) (b2c7c05)
all: Auto-regenerate discovery clients (#2727) (36e3fa7)
all: Auto-regenerate discovery clients (#2728) (97c7f2e)
all: Auto-regenerate discovery clients (#2729) (a0ed1f3)
Move storage, bigquery, and compute to new auth lib (#2730) (2b4e9f4)

Bug Fixes

internal/cba: Update credsNewAuth path to use nil oauth2 client (#2731) (b457582)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

ℹ Artifact update notice
File name: go.mod
In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

1 additional dependency was updated

Details:

Package
Change

cloud.google.com/go/auth
v0.8.0 -> v0.8.1

Autoclosing Skipped
This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.


No support for Rfcomm Socket?

Summary
This is more a question than an issue. Im trying to communicate with an Bluetooth OBD Adapter.
Im following this guide:  https://blog.lemberg.co.uk/how-guide-obdii-reader-app-development.
What you're basicly doing is opening a socket and send the Adapter Commands (very TCPish) onto which it responds. It goes like this (Codesnippet taken from the guide)
// create the socket
BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
BluetoothDevice device = btAdapter.getRemoteDevice(deviceAddress);
UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
BluetoothSocket socket = device.createInsecureRfcommSocketToServiceRecord(uuid);
socket.connect();

//send commands & process response
new EchoOffObdCommand().run(socket.getInputStream(), socket.getOutputStream());
new LineFeedOffObdCommand().run(socket.getInputStream(), socket.getOutputStream());
new TimeoutObdCommand().run(socket.getInputStream(), socket.getOutputStream());
new SelectProtocolObdCommand(ObdProtocols.AUTO).run(socket.getInputStream(), socket.getOutputStream());

I can't find a method like createRfcommSocket (disregarding the insecure) in the library.
How would you solve this task with this library?
Library version
1.5.0-SNAPSHOT

Hello @martyglaubitz
Unfortunately this library aims only at Bluetooth Low Energy hence RxAndroidBle
Bluetooth sockets are not supported at all
Best Regards

Thank you!