How to detect drag end

The hover example was useful to indicate the drop target. If the item is dropped in the grid then I can turn off the indication during the onReorder all back. The problem is that if the item is dropped outside the gird (the user changes their mind) there is no way to turn the indication off (that I could see.) Can you implement a call back when the drag ends even if the item isn't dropped?

There is PR for this waiting to be merged.


Performance issues

I'm trying to send a file to a device.
Our device expects chunks of 450 bytes to be written to a characteristic (A), and after process this chunk, device write a value to another characteristic (B) on success.
Well, I already have a native application that loads a file on device in about 3 minutes.
My implementation with react-native-ble-plx takes about 7 minutes to send the same file.
My current aproach is to make a promise that do:

monitor characteristic (B) for update

when data read, write next chunk (if any) or complete promise

write first chunk to characteristic (A)

I suspect the delay is from date exchange between JS side and Native side
I'm trying to write all of the file in the Native Side (a new method that receives a file path) without success.
Is there any thing to do in this case?
How can I achieve this in Native side, write next chunk based on response from characteristic notification?

Well, updating the status.
I discovered the problem is the connection time interval with peripheral, so, I have to implement a method on the native side to set the connection priority (already present in the RxBleAndroid).
Another problem appears: this method only is possible with target api >= 21
So, I have to "force" the method execution for my needs.
Now, everything is working as expected.
Some modifications I made in this library:

Load file and send chunks to peripheral on the native side

Our peripheral is using a ascii protocol to communicate, so all packets send to peripheral have to be encoded with Base32768 with encoding ISO-8859-1

Set connection priority to high for better connection time interval


Pre-trained model drive link not found

Hi - having an issue with the drive link to the weights, could you please check the links again?

Hi, I updated the links for the weights and dataset.
I'll close this issue. Please feel free to re-open it if there is any problem :)


why not use isNaN(statusCode)?

If you feel there's room for improvement please open a PR with suggested changes instead of these issues with underlined images. I'm going to close this.


Loading the list of existing businesses takes too long for the UI to be responsive

Try with a large number of businesses.

You have to wait for all of the businesses to load before you can even add a search to narrow down the results.
When run on my phone, causes the app to crash before it even loads sometime.
Uses a lot of memory

 Raise new issues resulting from using/testing the apps

In your tests:

how many businesses were there?
How long does it take to load, approx (if it doesn't crash)?
How much memory did it use on average?

I guess we can use LazyVStack for loading business value. It will resolve this issue. But unfortunately, its  available only from  iOS 14.0, xcode 12.0. So we need to update all app to iOS 14.0


Run App: Home After Calibration

As a user, I would like my robot to home after I calibrate, so that I don't have to calibrate at the beginning of a run.
Acceptance Criteria

Robot should home all axis when user clicks "Drop tip and proceed to run"
Robot should not home at the beginning of run

Design
@pantslakz
Notes

This will result in some users skipping the home at the end of calibration. This is okay because home isn't critical here, and they can manually home

Robot now homes when it needs to, and we also provide a mechanism for the user to home the robot manually if they want via the robot page in the app


(fix)Use @warnings.deprecated()

Issue: https://github.com/nmstate/nmstate/issues/2588
Description;
The PrettyState is only used for test codes.
Mark PrettyState as deprecated in Python API, providing message indicate libnmstate.show() output is already sorted.
According to https://peps.python.org/pep-0702/ we should use @warnings.deprecated()

please fix the CI failure on pylint

what could cause the failure of the rest of the
tests

https://github.com/nmstate/nmstate/actions/runs/8260958541/job/22597548460?pr=2602#step:6:461

/usr/lib/python3.9/site-packages/libnmstate/prettystate.py:74: in
???
E   AttributeError: module 'warnings' has no attribute 'deprecated'
+ run_exit
+ write_separator TEARDOWN
+ set +x

from here https://peps.python.org/pep-0702/#backwards-compatibility its says there no backward compatibility issues

It is because RHEL 9 ships python 3.9. And PEP 702 is for python 3.13.
You can either close this PR or use try except to use old warnings.warn.
This is PR is also wrong as you only add the new decorator without removing old warning meseage

It is because RHEL 9 ships python 3.9. And PEP 702 is for python 3.13.
You can either close this PR or use try except to use old warnings.warn.
This is PR is also wrong as you only add the new decorator without removing old warning meseage

my bad

let me use an exception with the old warnings.warn()


test: Update collection revision e2e test timeout

Reason for Change

e2e collection revision test was timing out at 30 mins, because there's a bug in the waitUntil block logic that triggers a 5 min wait every time it can't find a suitable collection

Notes for Reviewer

Thanks so much, Seve!


column_filters is not compatible with babel

Using current master.
When adding:
column_labels = dict(
        created=lazy_gettext('Created'),
        message=lazy_gettext('Message'),
    )
column_filters = ['created', 'message']

get the following error:
<IP_ADDRESS> - - [13/Aug/2015 19:13:17] "GET /logbook/?sort=1 HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask_admin/base.py", line 68, in inner
    return self._run_view(f, *args, **kwargs)
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask_admin/base.py", line 359, in _run_view
    return fn(self, *args, **kwargs)
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask_admin/model/base.py", line 1636, in index_view
    return_url=self._get_list_url(view_args),
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask_admin/base.py", line 299, in render
    return render_template(template, **kwargs)
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask/templating.py", line 128, in render_template
    context, ctx.app)
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask/templating.py", line 110, in _render
    rv = template.render(context)
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/jinja2/environment.py", line 969, in render
    return self.environment.handle_exception(exc_info, True)
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/jinja2/environment.py", line 742, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask_admin/templates/bootstrap3/admin/model/list.html", line 5, in top-level template code
    {% import 'admin/actions.html' as actionlib with context %}
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask_admin/templates/bootstrap3/admin/master.html", line 1, in top-level template code
    {% extends admin_base_template %}
  File "/home/max/tmp-work/astbarrier/templates/my_master.html", line 1, in top-level template code
    {% extends 'admin/base.html' %}
File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask_admin/templates/bootstrap3/admin/base.html", line 80, in top-level template code
    {% block tail %}
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask_admin/templates/bootstrap3/admin/model/list.html", line 207, in block "tail"
    {{ filter_groups|tojson|safe }},
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask/json.py", line 243, in tojson_filter
    return Markup(htmlsafe_dumps(obj, **kwargs))
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask/json.py", line 186, in htmlsafe_dumps
    rv = dumps(obj, **kwargs) \
  File "/home/max/tmp-work/astbarrier/env/lib/python2.7/site-packages/flask/json.py", line 126, in dumps
    rv = _json.dumps(obj, **kwargs)
  File "/usr/lib/python2.7/json/__init__.py", line 250, in dumps
    sort_keys=sort_keys, **kw).encode(obj)
  File "/usr/lib/python2.7/json/encoder.py", line 209, in encode
    chunks = list(chunks)
  File "/usr/lib/python2.7/json/encoder.py", line 434, in _iterencode
    for chunk in _iterencode_dict(o, _current_indent_level):
  File "/usr/lib/python2.7/json/encoder.py", line 382, in _iterencode_dict
    raise TypeError("key " + repr(key) + " is not a string")
TypeError: key lu'\u0421\u043e\u0437\u0434\u0430\u043d\u043e' is not a string

The following can be a fix:
class FiltersFixMixin(object):

    def scaffold_filters(self, name):
        filters = super(FiltersFixMixin, self).scaffold_filters(name)

        def fix_filter(filter):
            filter.name = filter.name.encode('utf-8')
            return filter

        return map(fix_filter, filters)

But it does not add translation to filters.
Please advise.

While fixing the immediate error this workaround undos the translateability of the label. The output of scaffold_filters is generated on ModelBaseView initialization and then cached … and it used as label of the filter-groups in the interface.

Here is the information from the closed duplicate:
There seems to be a conflict with lazy_gettext translated column_labels. Here is a minimal example to demonstrate the issue:
from flask import Flask
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView
from flask_babelex import lazy_gettext
from flask_sqlalchemy import SQLAlchemy

app = Flask('test')
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String())

class UserModelView(ModelView):
    column_labels = {'name': lazy_gettext('User name')}
    column_filters = ('name', )

admin = Admin(app, index_view=UserModelView(User, db.session, url='/'))

if __name__ == '__main__':
    app.run()

The app fails on startup with the traceback:
Traceback (most recent call last):
  File "col_label.py", line 18, in <module>
    admin = Admin(app, index_view=UserModelView(User, db.session, url='/'))
  File "/home/roman/.virtualenvs/undok/lib/python3.3/site-packages/Flask_Admin-1.2.0-py3.3.egg/flask_admin/contrib/sqla/view.py", line 291, in __init__
    menu_icon_value=menu_icon_value)
  File "/home/roman/.virtualenvs/undok/lib/python3.3/site-packages/Flask_Admin-1.2.0-py3.3.egg/flask_admin/model/base.py", line 587, in __init__
    self._refresh_cache()
  File "/home/roman/.virtualenvs/undok/lib/python3.3/site-packages/Flask_Admin-1.2.0-py3.3.egg/flask_admin/model/base.py", line 693, in _refresh_cache
    self._refresh_filters_cache()
  File "/home/roman/.virtualenvs/undok/lib/python3.3/site-packages/Flask_Admin-1.2.0-py3.3.egg/flask_admin/model/base.py", line 622, in _refresh_filters_cache
    if flt.name not in self._filter_groups:
TypeError: unhashable type: '_LazyString'


Use JupyterBook and Sphinx instead of mkdocs

Is your feature request related to a problem? Please describe.
I don't like mkdocs, it's not as user friendly or organized. While the website theme looks nice, usability suffers in my opinion. I know a lot of famous projects use it (Pydantic, FastAPI, etc.) but I literally dread going to their docs. I have to look through everything, because it's all nested in prose, which is the main selling point of mkdocs. It takes so much longer to read and find what I want. Sphinx is great, API generation in Sphinx is great, and it's a heavily-developed and well-proven library. There are too many tradeoffs with mkdocs. And the API documentation is ugly and hard to read.
Describe the solution you'd like
Switch the docs to JupyterBook. Write them all in markdown.
I strongly believe in The Grand Unifying Theory of Documentation. That means the docs have tutorials, how-to guides, explanations, and an easy to use reference. Mkdocs excels at tutorials; it's great for writing prose. That's only useful as a beginner; once you're coming back to the docs to actually be productive, you want a good API. And mkdocs just really doesn't have a good API experience. Presently, when viewing kfactory's API docs, I have to do a whole bunch of sideways scrolling to view typehints, function signatures, etc.
Describe alternatives you've considered
JupyterBook is the alternative to mkdocs 😉
Additional context
gdsfactory docs were jupyterbook. Super easy to maintain. Built for converting notebooks to webpages. Easy to download/run notebooks elsewhere. This kind of stuff is not available in mkdocs.

I'd also be happy to create the docs/make a pull request that switches them over, if we're willing to switch.

I also like this project from the same group as jupyter-book
https://myst-tools.org/docs/mystjs

Ooh, I've never seen that one before. I agree, it looks even better than JupyterBook. Best part about it is the navigation on the left not changing position when you go to different pages (like scrolling all the way back to the top).

Although @joamatab I'm not seeing a search feature, which is going to be essential for a documentation site...

search is not implemented yet
https://github.com/executablebooks/mystjs/issues/100

Could you elaborats what you mean by sideways scrolling? There's a lot of tweaking I can do on the navigation. And for sure it's far from perfect.
Overall I totally disagree with the statement that sphinx is easier to maintain. i guess for the one of build of the docs that might be true. To get the apidoc to work was a nightmare in sphinx whereas griffe gives way better output and was very fast to set up. mkdocs and mkdocstrings seem to have at least as much support and development as their sphinx equivalents, so I don't see that as a big issue at all.


Format Document Not Working

VSCode Version: Code 1.17.0 (be377c0faf7574a59f84940f593a6849f12e4de7, 2017-10-04T23:33:45.303Z)
OS Version: Linux x64 4.10.0-35-generic
Extensions: none

Steps to Reproduce:

Open a file eg html or php

Press Ctrl + Shift + I

Is that the right shortcut? What if you run "Format document" from the command palette?
Does it work if you launch code with --disable-extensions?

Yes it is. I am not running any extensions and I was going to try that but after reloading, formatting HTML files worked. As for PHP, research indicated that I need an extension that relies on a system wide installation of PHP CodeSniffer. I tried installing via Pear as the extension page in VSCode suggested but to no avail. Thanks for your response but for now, I will try another editor. I'll sit down properly and set up some day. Thanks again.

Running from Command Palette yielded no results.

We don't support formatting PHP out of the box right now. I'm not sure which extension you were looking at, but I use the PHP Intellisense extension which supports formatting without any other setup besides installing PHP.


throws an error like

runtime/cgo
cc1.exe: sorry, unimplemented: 64-bit mode not compiled in

@rruuaanng You are trying to compile for a 64-bit target using a C compiler that does not support that.


Interface to edit blob text is very hard to use

When editing the text in a blob field it is very hard to see or make changes to the actual text:

It would be great if we could hide the binary and hex all together and make the text fill all of the space available.

Looks like you are using very old version. I newer versions you can switch between binary and text presentation

Just downloaded 4.0.7 - solves this problem and looks great. Thanks!

Hello @serge-rider.
Is there a key shortcut for switching between binary and text presentation when viewing blobs?


Unable to add token after a crash

App crashed while adding a token.
After that, I am unable to add this same token.

Fixed in #56

Merged thanks!


Ignite 1084

Added utility to reload the entire L2 cache. It is used before  validating the failed test case.

The ticket is resolved, closing PR.
Please close PRs for your resolved tickets and other non-needed PRs.
Alternatively, ask a committer

to use GitHub UI (committer can associate accounts here: https://gitbox.apache.org/setup/ )
or https://github.com/apache/ignite/blob/master/scripts/apply-pull-request.sh from Apache Ignite source.
or mention in commit message 'Fixes #(a number of PR)'.

These methods will automatically close PR.
Feel free to reopen this PR if it is anyway actual.


Can not create table when one BE is decommissioned

Steps to reproduce the behavior (Required)

Expected behavior (Required)
Real behavior (Required)
StarRocks version (Required)

You can get the StarRocks version by executing SQL select current_version()

cannot reproduce on main branch, going to close this issue,

CREATE TABLE IF NOT EXISTS t0 ( c_0_0 DATE NULL, c_0_1 SMALLINT NOT NULL, c_0_2 ARRAY<INT> NULL, c_0_3 DECIMAL(22, 14) NOT NULL, c_0_4 DECIMAL(25, 12) NULL, c_0_5 VARCHAR(31) NULL, INDEX index1_c_0_0(`c_0_0`) USING BITMAP) UNIQUE KEY(c_0_0, c_0_1) PARTITION BY RANGE (c_0_0) (START  ("2010-01-01") END  ("2021-12-31") EVERY  (INTERVAL 132 day)) DISTRIBUTED BY HASH (c_0_1) BUCKETS 3 properties ("replication_num"="1");

should be noticed, the two BEs are on same host, will try to reproduce in that case


Fix method naming and for loop use of brackets

Method naming: Changed method name to be consistent across the page
Use of brackets: The previous tutorial "Branches and Loops" mentioned following a common practice of adding brackets, even when not required. Brackets added here to align to that practice
Summary
Describe your changes here.
Fixes #Issue_Number (if available)

Commenting here to link original issue I created. This pull request was an attempt to make a minor contribution.

@dotnet-policy-service agree


simplified looping of message lines and colours

I should have left out the change that removed the one that I personally didn't like, I couldn't figure out how to take it out of the pull request though.

Merged! Thanks.

No Problem, I love this. thank you for posting it!


openwhisk Hello World error!! wsk api list error !!

Environment details:

Ubuntu 16.04.6
openjdk version "1.8.0_212"
docker-compose version 1.21.2

Question description about Openwhisk:
Hello everyone, please give me a big hand....I'm beat...
I am going to install the apache openwhisk. I choose the Quick Start (Docker-Compose) https://github.com/apache/incubator-openwhisk#quick-start
It needs many port to install others service e.g. CouchDB, Kafka... in my computer, 80 and 9000 port is already used. so i revise the docker-compose.yml to assign the other port to replace them. (80 => 9004 , 9000=> 9005)
After that, I run make quick-start , most service are work which show ok , i guess they were successfully installed. In the end, it should output the hello-world, but it didn't and show the error.

error: Unable to create API: API creation failure: Unable to obtain API(s) from the API Gateway (status code 404): {"status":404,"message":"Not Found"}

Question description about OpenwhiskCLI:
I also tried to install openwhiskCLI reference by https://github.com/apache/incubator-openwhisk-cli
the following instructions are what I inputted:

git clone https://github.com/apache/incubator-openwhisk-cli.git
./gradlew compile –PnativeCompile
./gradlew compile -PbuildPlatforms=linux-amd64
#add to the environment variable
sudo mv wsk /usr/local/bin

It seems no problem so far. i can input wsk. So, i stated to try an example like Hello-world.
reference: here
The first step:
Create a JavaScript code example.
/**
 * Hello world as an OpenWhisk action.
 */
function main(params) {
    var name = params.name || 'World';
    return {payload:  'Hello, ' + name + '!'};
}

When i inputted: wsk action create hello hello.js, errors are just happened...

error: Unable to create action 'hello': The connection failed, or timed out. (HTTP status code 400)

I surveyed google many times and tried to set a lot @*$(%), but it still not work ... omg
like:
wsk property set --apihost http://<IP_ADDRESS> namespace guest –auth 23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP

ok: whisk API host set to http://<IP_ADDRESS>

wsk action create hello hello.js

error: Unable to create action 'hello': The connection failed, or timed out. (HTTP status code 405)

wsk api list

error: Unable to obtain the API list: The connection failed, or timed out. (HTTP status code 404)

wsk property get

whisk API host          http://<IP_ADDRESS>
whisk auth              23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP
whisk namespace         _
client cert
Client key
whisk API version       v1
whisk CLI version       2019-07-11T14:05:29.661+0800
whisk API build         Unknown
whisk API build number  Unknown
error: Unable to obtain API build information: The connection failed, or timed out. (HTTP status code 404)

I am not sure whether the error is happened due to wsk property set or not ? if it is, what should i set for apihost(port needed?) namespace?
Please guys, if you have experience for openwhisk, help me omg

supplement:

creating the hello.js function ...
invoking the hello-world function ...
adding the function to whisk ...
ok: created action hello
invoking the function ...
invocation result: { "payload": "Hello, World!" }
{ "payload": "Hello, World!" }
creating an API from the hello function ...
ok: updated action hello
error: Unable to create API: API creation failure: Unable to obtain API(s) from the API Gateway (status code 404): {"status":404,"message":"Not Found"}

Hi, were you able to solve this problem?


Update release notes for 0.138

Wrong file, and should be in the hive changes section, but otherwise looks good

@dain will merge with his change


Feature #4: display class name prototypes

Description of change
Analyze and identify each object's prototype when building a CrcModelList. Each CrcModel now has a superClass property that defaults to Object if a prototype cannot be identified.
Pull request (PR) check-list

Type of change:

[ ] Defect (bug) fix (with regression tests)
[ ] Performance improvement (with benchmarks)
[x] Feature (with documentation)
[ ] Hotfix (wit documentation)

Do the linters pass?

[x] eslint lib
[x] eslint tests

Do the quality gateways pass with an "A" grade?

[ ] codacy
[x] eslint
[ ] sonar-scanner
[x] nsp or bitHound

Does the change have 100% test coverage?

[x] Yes, the change is 100% covered with passing specs.

Changes Unknown when pulling 3ed4dd06ae7cefe426693c524643d89fa6ae24a8 on feat/#4-display-class-name-prototypes into ** on develop**.

Changes Unknown when pulling 058ee9c8f14a771b186bbfa38764350b6e043e1c on feat/#4-display-class-name-prototypes into ** on develop**.

Changes Unknown when pulling e611761cb27b1c44652bdf82e4100685282419d4 on feat/#4-display-class-name-prototypes into ** on develop**.

Changes Unknown when pulling e611761cb27b1c44652bdf82e4100685282419d4 on feat/#4-display-class-name-prototypes into ** on develop**.

Changes Unknown when pulling ac092b02bbab7b52f456c023fafd6ab1e08fc4b6 on feat/#4-display-class-name-prototypes into ** on develop**.

Changes Unknown when pulling 3eb2568726f5d540c2e34ea781168d9ef7d08ce5 on feat/#4-display-class-name-prototypes into ** on develop**.

Changes Unknown when pulling 3eb2568726f5d540c2e34ea781168d9ef7d08ce5 on feat/#4-display-class-name-prototypes into ** on develop**.


[1.12.2] Crash when killing an Enderman

I got a crash while I killed an Enderman. Before any loot generated, the game froze and ultimately turned into the crash. Happened twice in a row.
Used versions:
Forge: <IP_ADDRESS>38
Misty World: alpha_c_09
Crash Report: https://pastebin.com/Xabkyb0c
Config file for Misty World: https://pastebin.com/3hvxiRhZ
[My instance has many mods, and also Triumph which changes the advancement system. Maybe the source is the compat]

It seems to me that the problem is precisely compatibility, since crash occurs when trying to find an advancement.


[Feature] Support enum module

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Support for the enum module. As I understand this would require changing pocketpy to support subclassing the int primitive.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Please provide a detailed use case of your game or engine. pkpy is game-dev oriented, not just "I want this".

Please provide a detailed use case of your game or engine. pkpy is game-dev oriented, not just "I want this".

I have my fort based library to produce ASCII tables that I want a port for pocketpy. It would be nice to have enums available to map certain API in the fort codebase. Probably not all enum features are needed, but at least IntEnum and IntFlag support.
I haven't written games in a while, but I've founds enums are useful for representing state.

You can use this:
class YourEnum:
  A = 0
  B = 1

It is not necessary to subclass enum.

Yea that is the simple way, but doesn't enable some useful features like .name.
I think the only thing holding me back from implementing such a feature myself is subclassing primitives. Is that something you have just skipped implementing for now, or is it something that you don't want to implement (such as due to complexity, slows down the VM)?

primitives cannot be subclassed.


Delete mark via location list

When the location list is opened via m/, it would be nice to be able to dd away any undesired marks.

Hello @YodaEmbedding. I'm sorry but I don't think I'd be supporting this request.
LocationList is meant to obtain a filtered view into the buffer and any operations performed there are not meant to propagate to the buffer itself. Your feature request would violate this general principle.
Furthermore, one can argue that by pressing dd in any buffer, one intuitively expects the buffer itself to get modified. And while the LocationList isn't a regular buffer, it is not too far-fetched to assume that one would expect it to behave similarly. Thus, by implementing this we'd also be subverting that expectation.


[Bug] TAPOS validation fails for ref_block_num of 0

Version of EOSJS
Latest
Describe the bug
There appears to be a bug in eos-api.ts where hasRequiredTaposFields returns false if ref_block_num is equal to 0. We noticed a failed transaction where the block number was 61931520. This caused refBlock.block_num & 0xffff in eosjs-serialize.ts to return 0 and then the subsequent transaction failed to get signed.
To Reproduce
Steps to reproduce the behavior:

Generate an unsigned transaction for a block where refBlock.block_num & 0xffff equals zero. This is any block divisible by 65536.
Try to sign the transaction
Watch the signing fail due to hasRequiredTaposFields returning false!

Expected behavior
The transaction is valid when ref_block_num is zero.

The merged PR appears to fix the issue. Will you be cutting a new release soon with the fix?

I'm not sure of the release timeline at the moment, but you can use the @edge package on NPM to get the latest unreleased changes

I'm not sure of the release timeline at the moment, but you can use the @edge package on NPM to get the latest unreleased changes

Is there a list of breaking changes between the latest release and what is available in the edge package? A changelog would be required so I can audit the changes and make sure there are no unintended side effects from switching versions...

Closing this since the issue has been resolved with the last PR.  @zquestz there are not any breaking changes since v20; however, the develop branch could have breaking changes merged in at any time.  I would recommend version locking to this PR to test locally then use that version for production. The NPM version for the last PR is 20.0.1-1fed0be.0.  Let us know if you have any other questions or concerns!


Why is the "G" of "Gopkg.lock" and "Gopkg.toml" uppercase?

This might sound like a pretty dumb question, but ever since I started to use dep as my main dependency tool I wondered why such a decision was made.
The main reason why I am asking this is because I like to have homogeneous naming styles in my repositories and Gopkg.lock and Gopkg.toml are somehow out of place.
Generally files named this way contain build directives such as Makefile, Vagrantfile, Dockerfile, etc.
Documentation files are upper case such as LICENSE, OWNERS, MAINTAINERS, CHANGELOG, *.md, etc.
While code and configuration files are lower case (*.go, *.yml, *.yaml, *.json, *.conf, etc.).
I am well aware that there are no standard guidelines for naming styles, but Gopkg.lock and Gopkg.toml look very inconsistent in a project directory or repository.
I'd like to know what led to this choice over the possible alternatives (upper case or lower case).
Thanks!

This has been discussed earlier, in slack and in issue #168 .
Closing the issue. Please reopen if there's any need :)


Adding 1.6.x & 1.7.x to travis

Testing if can support 1.6.x & 1.7.x

Codecov Report

Merging #209 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #209   +/-   ##
======================================
  Coverage    82.8%   82.8%
======================================
  Files          41      41
  Lines        2891    2891
======================================
  Hits         2394    2394
  Misses        355     355
  Partials      142     142

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 a480ff1...97d4ebb. Read the comment docs.


Runecraft runepouch overlay color based on essence in it

Runecraft runepouch overlay color based on essence in it

It's worth noting that other clients implement this more like #1451 describes: green = full pouch; yellow = empty/not-full pouch; red = degrading pouch. This PR doesn't give any indicators on degrading pouches, which would be a valuable feature.

Added that it shows if it's broken with bank filler.

Fixes #918


Can't install via Pip

Tried to install via pip install cupy but got the following error:
Collecting cupy
  Using cached cupy-2.3.0.tar.gz
    Complete output from command python setup.py egg_info:
    cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
    cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
    /home/ubuntu/anaconda2/envs/thingy/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: cannot find -lcuda
    Options: {'profile': False, 'linetrace': False, 'annotate': False, 'no_cuda': False}
    Include directories: ['/usr/local/cuda/include']
    Library directories: ['/usr/local/cuda/lib64']
    Cannot build a stub file.
    Original error: command '/home/ubuntu/anaconda2/envs/thingy/bin/x86_64-conda_cos6-linux-gnu-c++' failed with exit status 1
    **************************************************
    *** WARNING: Cannot link libraries: ['cublas', 'cuda', 'cudart', 'curand', 'cusparse', 'nvrtc', 'nvToolsExt']
    *** WARNING: Skip installing cuda support
    *** WARNING: Check your LDFLAGS environment variable
    **************************************************
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-r2jn275v/cupy/setup.py", line 32, in <module>
        ext_modules = cupy_setup_build.get_ext_modules()
      File "/tmp/pip-build-r2jn275v/cupy/cupy_setup_build.py", line 378, in get_ext_modules
        extensions = make_extensions(arg_options, compiler, use_cython)
      File "/tmp/pip-build-r2jn275v/cupy/cupy_setup_build.py", line 268, in make_extensions
        raise Exception('Your CUDA environment is invalid. '
    Exception: Your CUDA environment is invalid. Please check above error log.

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-r2jn275v/cupy/

Cloud you use latest version? You can run pip install cupy --pre command. We improved message during installation. Maybe you can get more useful information.
And, we provides binary package as experimental ( link ).

Sorry for the late reply. Here is the output of  pip install cupy --pre:
Collecting cupy
  Downloading cupy-4.0.0b4.tar.gz (1.9MB)
    100% |████████████████████████████████| 1.9MB 730kB/s
    Complete output from command python setup.py egg_info:
    Options: {'package_name': 'cupy', 'long_description': None, 'wheel_libs': [], 'profile': False, 'linetrace': False, 'annotate': False, 'no_cuda': False}

    -------- Configuring Module: cuda --------
    cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
    cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
    /home/ubuntu/anaconda2/envs/thingy/bin/../lib/gcc/x86_64-conda_cos6-linux-gnu/7.2.0/../../../../x86_64-conda_cos6-linux-gnu/bin/ld: cannot find -lcuda
    Cannot build a stub file.
    Original error: command '/home/ubuntu/anaconda2/envs/thingy/bin/x86_64-conda_cos6-linux-gnu-c++' failed with exit status 1

    ************************************************************
    * CuPy Configuration Summary                               *
    ************************************************************

    Build Environment:
      Include directories: ['/usr/local/cuda/include']
      Library directories: ['/usr/local/cuda/lib64']
      nvcc command       : ['/usr/local/cuda/bin/nvcc']

    Environment Variables:
      CFLAGS          : -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -pipe
      LDFLAGS         : -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now
      LIBRARY_PATH    : /home/ubuntu/anaconda2/envs/thingy/lib:
      CUDA_PATH       : (none)
      NVCC            : (none)

    Modules:
      cuda      : No
        -> Cannot link libraries: ['cublas', 'cuda', 'cudart', 'cufft', 'curand', 'cusparse', 'nvrtc', 'nvToolsExt']
        -> Check your LDFLAGS environment variable.

    ERROR: CUDA could not be found on your system.
    Please refer to the Installation Guide for details:
    https://docs-cupy.chainer.org/en/stable/install.html

    ************************************************************

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-t10b5fk5/cupy/setup.py", line 64, in <module>
        ext_modules = cupy_setup_build.get_ext_modules()
      File "/tmp/pip-build-t10b5fk5/cupy/cupy_setup_build.py", line 547, in get_ext_modules
        extensions = make_extensions(arg_options, compiler, use_cython)
      File "/tmp/pip-build-t10b5fk5/cupy/cupy_setup_build.py", line 374, in make_extensions
        raise Exception('Your CUDA environment is invalid. '
    Exception: Your CUDA environment is invalid. Please check above error log.

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-t10b5fk5/cupy/

/usr/local/cuda exists and  I have CUDA working with TensorFlow.
Installing the prebuilt wheel worked for me, thanks!

Please use CUDA_PATH
Document is here

I'm getting the exact same error message when installing cupy, with CUDA_PATH set correctly.
I have CUDA 9.0 installed and TensorFlow works fine. Thanks!

Actually, pip install --pre cupy-cuda90 solved the problem.

I'm getting the exact same error message when installing cupy, with CUDA_PATH set correctly.
hmm...

Actually, pip install --pre cupy-cuda90 solved the problem.
OK, please use it.

Seems like having the information that CUDA's version matters and a different command should be used for installation if you have CUDA 9.0 (pip install --pre cupy-cuda90) would be very helpful on the installation docs.

for cuda 9.0:
pip install --pre cupy-cuda90
Or you may want to first do:

check you module list : module list
unload pgi module: module unload pgi/16.9

As we now provide wheels (cupy-cudaXX) for stable releases, generally you don't have to specify --pre (unless you want to install pre-release (alpha/beta/rc) versions).
See the installation guide for details. It now covers the installation steps to install wheels:
https://docs-cupy.chainer.org/en/stable/install.html#install-cupy

I'm unable to install cupy on Mac. I need some help please
Collecting cupy
  Downloading https://files.pythonhosted.org/packages/9a/5e/63ddb72e3ef1b3d65484ebf415651d36c08d36df61d8a7898cd2da7b3460/cupy-5.2.0.tar.gz (2.5MB)
    100% |████████████████████████████████| 2.5MB 1.8MB/s
    Complete output from command python setup.py egg_info:
    Options: {'package_name': 'cupy', 'long_description': None, 'wheel_libs': [], 'no_rpath': False, 'profile': False, 'linetrace': False, 'annotate': False, 'no_cuda': False}
    **************************************************
    *** WARNING: nvcc path != CUDA_PATH
    *** WARNING: nvcc path: /usr/local/cuda
    *** WARNING: CUDA_PATH: /Developer/NVIDIA/CUDA-9.1/bin
    **************************************************

    -------- Configuring Module: cuda --------
    /tmp/tmp6_zpf170/a.cpp:1:10: fatal error: 'cublas_v2.h' file not found
    #include <cublas_v2.h>
             ^
    1 error generated.
    command 'gcc' failed with exit status 1

    ************************************************************
    * CuPy Configuration Summary                               *
    ************************************************************

    Build Environment:
      Include directories: []
      Library directories: ['/usr/local/cuda/lib']
      nvcc command       : (not found)

    Environment Variables:
      CFLAGS          : (none)
      LDFLAGS         : (none)
      LIBRARY_PATH    : (none)
      CUDA_PATH       : /Developer/NVIDIA/CUDA-9.1/bin
      NVTOOLSEXT_PATH : (none)
      NVCC            : (none)

    Modules:
      cuda      : No
        -> Include files not found: ['cublas_v2.h', 'cuda.h', 'cuda_profiler_api.h', 'cuda_runtime.h', 'cufft.h', 'curand.h', 'cusparse.h', 'nvrtc.h']
        -> Check your CFLAGS environment variable.

    ERROR: CUDA could not be found on your system.
    Please refer to the Installation Guide for details:
    https://docs-cupy.chainer.org/en/stable/install.html

    ************************************************************

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/tmp/pip-install-2wjvqs8i/cupy/setup.py", line 120, in <module>
        ext_modules = cupy_setup_build.get_ext_modules()
      File "/private/tmp/pip-install-2wjvqs8i/cupy/cupy_setup_build.py", line 588, in get_ext_modules
        extensions = make_extensions(arg_options, compiler, use_cython)
      File "/private/tmp/pip-install-2wjvqs8i/cupy/cupy_setup_build.py", line 384, in make_extensions
        raise Exception('Your CUDA environment is invalid. '
    Exception: Your CUDA environment is invalid. Please check above error log.

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/tmp/pip-install-2wjvqs8i/cupy/

Try CUDA_PATH must be a root of your CUDA installation. Try CUDA_PATH=/Developer/NVIDIA/CUDA-9.1.

@kmaehashi
Thanks but doesn't work. Problem is Mac os x. I think cupy doesn't support Mac yet.

+1. I don't think Mac is supported anymore:
leofang@Leos-MacBook-Pro:~$ CUDA_PATH=/Developer/NVIDIA/CUDA-9.2
leofang@Leos-MacBook-Pro:~$ pip install 'cupy>=6.0.0b3'
Collecting cupy>=6.0.0b3
  Downloading https://files.pythonhosted.org/packages/9d/da/25658fef5eca202580d5741551e4ad97f4bdc962410bea403536602474b4/cupy-6.0.0rc1.tar.gz (3.1MB)
     |████████████████████████████████| 3.1MB 2.3MB/s
    ERROR: Complete output from command python setup.py egg_info:
    ERROR: Options: {'package_name': 'cupy', 'long_description': None, 'wheel_libs': [], 'no_rpath': False, 'profile': False, 'linetrace': False, 'annotate': False, 'no_cuda': False}

    -------- Configuring Module: cuda --------
    Cannot build a stub file.
    Original error: command 'x86_64-apple-darwin13.4.0-clang++' failed with exit status 1

    ************************************************************
    * CuPy Configuration Summary                               *
    ************************************************************

    Build Environment:
      Include directories: ['/Developer/NVIDIA/CUDA-9.2/include']
      Library directories: ['/Developer/NVIDIA/CUDA-9.2/lib', '/usr/local/cuda/lib']
      nvcc command       : ['/Developer/NVIDIA/CUDA-9.2/bin/nvcc']

    Environment Variables:
      CFLAGS          : -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe
      LDFLAGS         : -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs
      LIBRARY_PATH    : (none)
      CUDA_PATH       : (none)
      NVTOOLSEXT_PATH : (none)
      NVCC            : (none)

    Modules:
      cuda      : No
        -> Include files not found: ['cublas_v2.h', 'cuda.h', 'cuda_profiler_api.h', 'cuda_runtime.h', 'cufft.h', 'curand.h', 'cusparse.h', 'nvrtc.h']
        -> Check your CFLAGS environment variable.

    ERROR: CUDA could not be found on your system.
    Please refer to the Installation Guide for details:
    https://docs-cupy.chainer.org/en/stable/install.html

    ************************************************************

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/wz/176fb_ld4cv51n4cwrwhr81c0000gq/T/pip-install-olupg58d/cupy/setup.py", line 120, in <module>
        ext_modules = cupy_setup_build.get_ext_modules()
      File "/private/var/folders/wz/176fb_ld4cv51n4cwrwhr81c0000gq/T/pip-install-olupg58d/cupy/cupy_setup_build.py", line 601, in get_ext_modules
        extensions = make_extensions(arg_options, compiler, use_cython)
      File "/private/var/folders/wz/176fb_ld4cv51n4cwrwhr81c0000gq/T/pip-install-olupg58d/cupy/cupy_setup_build.py", line 392, in make_extensions
        raise Exception('Your CUDA environment is invalid. '
    Exception: Your CUDA environment is invalid. Please check above error log.
    ----------------------------------------
ERROR: Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/wz/176fb_ld4cv51n4cwrwhr81c0000gq/T/pip-install-olupg58d/cupy/

and there's no wheel supporting Mac:
leofang@Leos-MacBook-Pro:~$ pip install 'cupy-cuda92>=6.0.0b3'
Collecting cupy-cuda92>=6.0.0b3
  ERROR: Could not find a version that satisfies the requirement cupy-cuda92>=6.0.0b3 (from versions: none)
ERROR: No matching distribution found for cupy-cuda92>=6.0.0b3

CUDA_PATH=/Developer/NVIDIA/CUDA-9.2 should be export CUDA_PATH=/Developer/NVIDIA/CUDA-9.2.
Could you confirm that all header files (['cublas_v2.h', 'cuda.h', 'cuda_profiler_api.h', 'cuda_runtime.h', 'cufft.h', 'curand.h', 'cusparse.h', 'nvrtc.h']) are installed under /Developer/NVIDIA/CUDA-9.2/include?

Dear @kmaehashi, Thanks for the heads up. Sorry I copied the wrong output, which was from an earlier test. The correct ones are pasted below, and I did already confirm both points you raised prior to my last post.
Check headers exist:
leofang@Leos-MacBook-Pro:/Developer/NVIDIA/CUDA-9.2/include$ ls -l cublas_v2.h cuda.h cuda_profiler_api.h cuda_runtime.h cufft.h curand.h cusparse.h nvrtc.h
-rw-r--r--@ 1 root  wheel   10263  6 13  2018 cublas_v2.h
-rw-r--r--@ 1 root  wheel  502446  6 13  2018 cuda.h
-rw-r--r--@ 1 root  wheel    6128  6 13  2018 cuda_profiler_api.h
-rw-r--r--@ 1 root  wheel   89006  6 13  2018 cuda_runtime.h
-rw-r--r--@ 1 root  wheel   12786  6 13  2018 cufft.h
-rw-r--r--@ 1 root  wheel   42662  6 13  2018 curand.h
-rw-r--r--@ 1 root  wheel  384375  6 13  2018 cusparse.h
-rw-r--r--@ 1 root  wheel   20291  6 13  2018 nvrtc.h

Install from source:
leofang@Leos-MacBook-Pro:/Developer/NVIDIA/CUDA-9.2/include$ export CUDA_PATH=/Developer/NVIDIA/CUDA-9.2
leofang@Leos-MacBook-Pro:/Developer/NVIDIA/CUDA-9.2/include$ pip install 'cupy>=6.0.0b3'
Collecting cupy>=6.0.0b3
  Using cached https://files.pythonhosted.org/packages/9d/da/25658fef5eca202580d5741551e4ad97f4bdc962410bea403536602474b4/cupy-6.0.0rc1.tar.gz
    Complete output from command python setup.py egg_info:
    Options: {'package_name': 'cupy', 'long_description': None, 'wheel_libs': [], 'no_rpath': False, 'profile': False, 'linetrace': False, 'annotate': False, 'no_cuda': False}

    -------- Configuring Module: cuda --------
    Cannot build a stub file.
    Original error: command 'x86_64-apple-darwin13.4.0-clang++' failed with exit status 1

    ************************************************************
    * CuPy Configuration Summary                               *
    ************************************************************

    Build Environment:
      Include directories: ['/Developer/NVIDIA/CUDA-9.2/include']
      Library directories: ['/Developer/NVIDIA/CUDA-9.2/lib', '/usr/local/cuda/lib']
      nvcc command       : ['/Developer/NVIDIA/CUDA-9.2/bin/nvcc']

    Environment Variables:
      CFLAGS          : -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe
      LDFLAGS         : -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs
      LIBRARY_PATH    : (none)
      CUDA_PATH       : /Developer/NVIDIA/CUDA-9.2
      NVTOOLSEXT_PATH : (none)
      NVCC            : (none)

    Modules:
      cuda      : No
        -> Include files not found: ['cublas_v2.h', 'cuda.h', 'cuda_profiler_api.h', 'cuda_runtime.h', 'cufft.h', 'curand.h', 'cusparse.h', 'nvrtc.h']
        -> Check your CFLAGS environment variable.

    ERROR: CUDA could not be found on your system.
    Please refer to the Installation Guide for details:
    https://docs-cupy.chainer.org/en/stable/install.html

    ************************************************************

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/wz/176fb_ld4cv51n4cwrwhr81c0000gq/T/pip-install-a5_q4fqf/cupy/setup.py", line 120, in <module>
        ext_modules = cupy_setup_build.get_ext_modules()
      File "/private/var/folders/wz/176fb_ld4cv51n4cwrwhr81c0000gq/T/pip-install-a5_q4fqf/cupy/cupy_setup_build.py", line 601, in get_ext_modules
        extensions = make_extensions(arg_options, compiler, use_cython)
      File "/private/var/folders/wz/176fb_ld4cv51n4cwrwhr81c0000gq/T/pip-install-a5_q4fqf/cupy/cupy_setup_build.py", line 392, in make_extensions
        raise Exception('Your CUDA environment is invalid. '
    Exception: Your CUDA environment is invalid. Please check above error log.

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/wz/176fb_ld4cv51n4cwrwhr81c0000gq/T/pip-install-a5_q4fqf/cupy/

Install wheel:
(qutip-env) leofang@Leos-MacBook-Pro:/Developer/NVIDIA/CUDA-9.2/include$ pip install 'cupy-cuda92>=6.0.0b3'
Collecting cupy-cuda92>=6.0.0b3
  Could not find a version that satisfies the requirement cupy-cuda92>=6.0.0b3 (from versions: )
No matching distribution found for cupy-cuda92>=6.0.0b3

Dear @kmaehashi, Thanks for the heads up. Sorry I copied the wrong output, which was from an earlier test. The correct ones are pasted below, and I did already confirm both points you raised prior to my last post.
Check headers exist:
leofang@Leos-MacBook-Pro:/Developer/NVIDIA/CUDA-9.2/include$ ls -l cublas_v2.h cuda.h cuda_profiler_api.h cuda_runtime.h cufft.h curand.h cusparse.h nvrtc.h
-rw-r--r--@ 1 root  wheel   10263  6 13  2018 cublas_v2.h
-rw-r--r--@ 1 root  wheel  502446  6 13  2018 cuda.h
-rw-r--r--@ 1 root  wheel    6128  6 13  2018 cuda_profiler_api.h
-rw-r--r--@ 1 root  wheel   89006  6 13  2018 cuda_runtime.h
-rw-r--r--@ 1 root  wheel   12786  6 13  2018 cufft.h
-rw-r--r--@ 1 root  wheel   42662  6 13  2018 curand.h
-rw-r--r--@ 1 root  wheel  384375  6 13  2018 cusparse.h
-rw-r--r--@ 1 root  wheel   20291  6 13  2018 nvrtc.h

Install from source:
leofang@Leos-MacBook-Pro:/Developer/NVIDIA/CUDA-9.2/include$ export CUDA_PATH=/Developer/NVIDIA/CUDA-9.2
leofang@Leos-MacBook-Pro:/Developer/NVIDIA/CUDA-9.2/include$ pip install 'cupy>=6.0.0b3'
Collecting cupy>=6.0.0b3
  Using cached https://files.pythonhosted.org/packages/9d/da/25658fef5eca202580d5741551e4ad97f4bdc962410bea403536602474b4/cupy-6.0.0rc1.tar.gz
    Complete output from command python setup.py egg_info:
    Options: {'package_name': 'cupy', 'long_description': None, 'wheel_libs': [], 'no_rpath': False, 'profile': False, 'linetrace': False, 'annotate': False, 'no_cuda': False}

    -------- Configuring Module: cuda --------
    Cannot build a stub file.
    Original error: command 'x86_64-apple-darwin13.4.0-clang++' failed with exit status 1

    ************************************************************
    * CuPy Configuration Summary                               *
    ************************************************************

    Build Environment:
      Include directories: ['/Developer/NVIDIA/CUDA-9.2/include']
      Library directories: ['/Developer/NVIDIA/CUDA-9.2/lib', '/usr/local/cuda/lib']
      nvcc command       : ['/Developer/NVIDIA/CUDA-9.2/bin/nvcc']

    Environment Variables:
      CFLAGS          : -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe
      LDFLAGS         : -Wl,-pie -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs
      LIBRARY_PATH    : (none)
      CUDA_PATH       : /Developer/NVIDIA/CUDA-9.2
      NVTOOLSEXT_PATH : (none)
      NVCC            : (none)

    Modules:
      cuda      : No
        -> Include files not found: ['cublas_v2.h', 'cuda.h', 'cuda_profiler_api.h', 'cuda_runtime.h', 'cufft.h', 'curand.h', 'cusparse.h', 'nvrtc.h']
        -> Check your CFLAGS environment variable.

    ERROR: CUDA could not be found on your system.
    Please refer to the Installation Guide for details:
    https://docs-cupy.chainer.org/en/stable/install.html

    ************************************************************

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/wz/176fb_ld4cv51n4cwrwhr81c0000gq/T/pip-install-a5_q4fqf/cupy/setup.py", line 120, in <module>
        ext_modules = cupy_setup_build.get_ext_modules()
      File "/private/var/folders/wz/176fb_ld4cv51n4cwrwhr81c0000gq/T/pip-install-a5_q4fqf/cupy/cupy_setup_build.py", line 601, in get_ext_modules
        extensions = make_extensions(arg_options, compiler, use_cython)
      File "/private/var/folders/wz/176fb_ld4cv51n4cwrwhr81c0000gq/T/pip-install-a5_q4fqf/cupy/cupy_setup_build.py", line 392, in make_extensions
        raise Exception('Your CUDA environment is invalid. '
    Exception: Your CUDA environment is invalid. Please check above error log.

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/wz/176fb_ld4cv51n4cwrwhr81c0000gq/T/pip-install-a5_q4fqf/cupy/

Install wheel:
leofang@Leos-MacBook-Pro:/Developer/NVIDIA/CUDA-9.2/include$ pip install 'cupy-cuda92>=6.0.0b3'
Collecting cupy-cuda92>=6.0.0b3
  Could not find a version that satisfies the requirement cupy-cuda92>=6.0.0b3 (from versions: )
No matching distribution found for cupy-cuda92>=6.0.0b3

Dear SIr
Did you solve the installation problem on Mac ?
Thank you ！

CUDA | Command

v11.2 ~ 11.8 (x86_64 / aarch64) | pip install cupy-cuda11x

v12.x (x86_64 / aarch64) | pip install cupy-cuda12x


🐛 Cursors use SystemMouseCursors.click instead of SystemMouseCursors.basic

Description
Clickable macOS components do not use the "click cursor". They have always used the default cursor. This forms a distinction between using the web on macOS and interacting with macOS applications.
So by default, clickable elements in macos_ui should use SystemMouseCursors.basic instead of SystemMouseCursors.click. I also believe an option should be provided to customize that.

You can wrap the widget you want in a MouseRegion to add a mouse cursor.
MouseRegion(
  cursor: SystemMouseCursos.click,
  child: Checkbox(...),
),

Yes I'm aware of that, but that's not what I'm talking about.
This is a snippet from back_button.dart.
MouseRegion(
      cursor: SystemMouseCursors.click,
      child: GestureDetector(
        behavior: HitTestBehavior.opaque,

I'm saying that the in-built widgets shouldn't use SystemMouseCursors.click by default.

Will be fixed alongside https://github.com/GroovinChip/macos_ui/issues/142

The pull request doesn't address what I'm talking about. @GroovinChip might explain better.

Wasn't it that mouse cursors should never be pointers? Material State Props can help us ensure that, right? Along with making it customizable?

It can ensure customisation yes, but it doesn't directly relate to the issue. I can open a separate PR once #142 is merged.
And I'm not sure we'd want to use MacosStateProperty on cursors. I haven't seen that usage even in the material buttons.

Fair enough

I have some ideas for this. We can have a MouseCursor property in the MacosThemeData class, and all the inputs will use it.
By default, on macOS and iOS, the cursor used will be MouseCursor.defer. On the other platforms, SystemMouseCursors.click shall be used. Something like:
MouseCursor _defaultMouseCursor() {
  switch (defaultTargetPlatform) {
    case TargetPlatform.macOS:
    case TargetPlatform.iOS:
      return MouseCursor.defer;
    default:
      return SystemMouseCursors.click;
  }
}

That sounds great!


Use the none collection on some distros

voxpupuli-acceptance 2.1.0 has added support for the "none" collection which typically implies the distro package is used. This starts using that for Archlinux and Gentoo. It means we no longer know which version of Puppet is used, but that's technically correct. It just mentions the distro Puppet.
Untested, other than with the unit tests

The name isn't quite clear yet (Puppet / - Archlinux rolling) instead of something more descriptive, but it works.


Added notebooks

Added two notebooks to give an example of API usage.

Sorry I'm just getting to this. Thanks!


Less verbose output

This is a feature request to allow for less verbose output.
Background
cpputest, or more precisely, build/MakefileWorker.mk provides quite some output even if the SILENCE = @ variable is set in the Makefile. This clutters the terminal and might push more important information off the screen.
Current behaviour
cpputest outputs compiling <filename> once per source file. Then Building archive once. Then a - <directory>/<filename> once per source file. Then Linking … and Running …, followed by the test results. This easily leads to +20 lines of output even on small projects.
Expected behaviour
If the tests pass, I propose to have minimal console output. Compiling, building archives and linking is not important at this point, so the only output I think makes sense is Running …_tests, to provide context for the next line reading OK (test result).
Proposed solution
To allow for backwards compatibility I suggest to introduce an additional variable, e.g. MORE_SILENCE to be added to the Makefile. If the variable is defined, abovementioned output is silenced. The name is of course just an example.

I think I just approved the pull request for this before I saw this :)


Security Alert query does not appear to honor filters

Describe the bug
When performing a graph query to get security alerts from the Security and Compliance Center, filter does not appear to be honored.
To Reproduce
Steps to reproduce the behavior:

Go to https://developer.microsoft.com/en-us/graph/graph-explorer
Enter this into the query: https://graph.microsoft.com/v1.0/security/alerts?$filter=Category eq 'ransomware'&$top=5
Scroll down to view the results.
You will see that there are not just alerts generated that ransomware, but alerts of all category types.

Expected behavior
I would expect that the results out only show alerts that have a category of ransomware as that is the category I have chosen to filter on. Please feel free to tell me if I am not performing this search correctly.
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Browser Chrome
Version 91

AB#9918

Please report issue in the Microsoft Q&A forum.


GET /apis/admissionregistration.k8s.io/v1alpha1/initializerconfigurations: (202.868µs) 404 [[kube-apiserver/v1.10.2 (linux/amd64) kubernetes/81753b1] <IP_ADDRESS>:54006]

Getting many many 404s to /apis/admissionregistration.k8s.io/v1alpha1/initializerconfigurations:
Sep 03 11:25:13 master-1 kube-apiserver[7720]: I0903 11:25:13.922146    7720 wrap.go:42] GET /apis/admissionregistration.k8s.io/v1alpha1/initializerconfigurations: (202.868µs) 404 [[kube-apiserver/v1.10.2 (linux/amd64) kubernetes/81753b1] <IP_ADDRESS>:54006]

logs in kube-apiserver logs (with sudo journalctl -u kube-apiserver --follow).

See https://github.com/kelseyhightower/kubernetes-the-hard-way/issues/276 and https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#enable-initializers-alpha-feature: If you want to use Initializers for Dynamic Admissive Control and it´s an alpha-feature, you need to configure two things inside the kube-apiserver.service systemd file:

Add Initializers to --enable-admission-plugins flag (as already done in https://github.com/kelseyhightower/kubernetes-the-hard-way)
Add admissionregistration.k8s.io/v1alpha1 to --runtime-config flag, which is missing in kubernetes-the-hard-way!

see https://github.com/kelseyhightower/kubernetes-the-hard-way/issues/369


Update cross_staff_offset.lua

Revision taking advantage of the new configuration.save_user_settings() function, and replacing the option-key detection of "dialog-free" operation with a secondary menu that is infinitely more useful to my workflow.

If repositioning the modal inside the InitWindow handler didn't work, it may not work for modal dlgs. Tbh, I don't recall if I tested it.

Got there at last with Modeless. Dialog window position saved in user_settings. Don't know why but setting these to nil for the initial default fails, and (as Robert already knew) none of it works without a local UndoBlock.

FWIW: Dialog positioning by the Lua script is not dependent on the local Undo block. It is dependent on the dialog being modeless. At least on macOS, the Framework always centers modal dialogs, overriding the scripts positioning settings.

Good to know. I couldn't get the script to behave properly as modeless until properly implementing the Undo Block.


Trouble getting preset mode to switch, Failed to call service fan/set_preset_mode. {preset_mode} is not one of the valid preset modes: {self.preset_modes}

Before submitting a bug
[X ] I updated to the latest version available
[ X] I cleared the cache of my browser
Describe the bug
Trouble getting preset mode to switch, Failed to call service fan/set_preset_mode. {preset_mode} is not one of the valid preset modes: {self.preset_modes}
Steps to reproduce
my Levoit 400s exposes 2 preset modes "sleep" and "auto" trying to call either of those gives this error message, i've tried all caps, all lowercase, same error
Expected behavior
switch to preset mode
Screenshots
screenshot of available options:
https://imgur.com/G4I5esr
updated HA and HACS to latest available on everything.
Additionally, the card isn't picking up the air quality sensor for the AQI overlay, but I can call it in in the status bar no problem as "air_quality" is there an easy solution for this?

...same with my Aiibot 500.

@bobloadmire
about the air quality: you have to configure a sensor I calld it emission and add it to the card like this
stats:

entity_id: sensor.emission
unit: µg/m³
subtitle: Emmision
Preset modes not working here, too...

That work with my Levoit 300s
`shortcuts:

name: Auto
icon: mdi:brightness-auto
preset_mode: auto
name: Niedrig
icon: mdi:circle-slice-2
percentage: 33
name: Mittel
icon: mdi:circle-slice-4
percentage: 66
name: Hoch
icon: mdi:circle-slice-8
percentage: 100
name: Sleep
icon: mdi:weather-night
preset_mode: sleep`

I look for preset names here: https://github.com/home-assistant/core/blob/dev/homeassistant/components/vesync/fan.py


Fails to identify type of vec![] macro

In an empty (latest rust-analyzer, nightly rust) VSCode project, I am getting the following (related) errors to do with the vec! macro.

It seems as if rust-analyzer is maybe unable to resolve the second type parameter related to the new allocator API, and that error stops it from filling in the first parameter. Weirdly, it semi-correctly identifies a char in the following image, but thinks that it is part of an array.

It also identifies vec!["]; to be a Vec<[&str; _]>.
This is probably not a direct repeat of #6668 - I'm using a nightly version of rust-analyzer released after that issue was patched. Also, using the normal Vec constructor, and adding elements in afterwards, works fine thanks to type inference - it's only a problem with the macro, it seems.

I can't reproduce this with current rust-analyzer. Can you check whether it's still happening?

Yes, I've just updated rust-analyzer vscode plugin, the language server, and rustup. The issue is still here. If it's relevant, I'm using x86_64-pc-windows-msvc.

Ah wait, I missed that this is with nightly rust.

Yeah, I'm pretty sure it's to do with the new allocator API adding extra type parameters to Vec.

Ah, vec![1i32] now expands to <[_]>::into_vec(box [1i32]), and we're having problems either with the Box self type or with something about the new allocator parameter.

I've got the same problem but with stable rust v 1.50

It's the box_syntax feature:
let a = <[_]>::into_vec(Box::new([1i32])); // Vec<i32, Global>
let a = <[_]>::into_vec(box [1i32]); // Vec<{unknown}, {unknown}>

How does box interact with the allocator parameter? Does it always use the default?

According to rust#58457):

Ideally, inherent methods like Box::new would be applied to
Box<T, A: Alloc + Default>, but as of now, that would be backwards
incompatible because it would require type annotations in places where
they currently aren't required.

So at the moment Box::new always uses std::alloc::Global, but that may change in the future.
I think box_syntax already supports custom allocators, and defaults to the Global (like how Vec does for example, but in this case built into the syntax instead of as a default type param).

Tried it out, and turns out that box_syntax currently always uses std::alloc::Global (playground link)
So I think rust-analyzer has to set that default somewhere, instead of trying to infer it.

Ok, that's probably the reason it doesn't work then. The handling for the box syntax is here:
https://github.com/rust-analyzer/rust-analyzer/blob/803ff2e55eeb6bd1d9028fbbffe34721f0e6d459/crates/hir_ty/src/infer/expr.rs#L509-L512
Currently we just fill it with a type variable; we could instead look up the generic defaults (using db.generic_defaults) and put them there.


Plugins fail on Windows

Inconsistent path addresses between Mac and Windows (Mac:/  Windows: ), resulting in plugin failure on Windows

Inconsistent path addresses between Mac and Windows (Mac:/   Windows: ), resulting in plugin failure on Windows

Inconsistent path addresses between Mac and Windows (Mac:/   Windows: \), resulting in plugin failure on Windows

I don't have a windows machine to test out, and the issue description is vague. Can you further elaborate the issue you're seeing?

In @whyframe/jsx/src/docusaurus.cjs, the matching rule for rule @docusaurus/mdx-loader in Windows is actually @docusaurus\mdx-loader, which causes the loader to fail to mount

There is also an issue with the 'this. resource' in loader.cjs. Change it to path.relative(__dirname, this.resource).split(path.sep).join('/') and run it

Sorry for the late reply, thanks for digging into this!

The changes for @docusaurus/mdx-loader sounds good to me.
For this.resource, maybe it's better to use this.resourcePath instead? Would be great if you can test if this works.

Feel free to send a PR for the two changes too. Don't think we need tests for those for now, I should update CI to also run them in Windows.


feat: add narinfo info command

Useful for examining the store path of narinfo files created by the nix copy command.
ls *.narinfo | xargs -I {} gonix narinfo info {} | grep StorePath

Doesn't the String() method just plainly returns the same contents back that the .narInfo file already contained?

Oh dear, why did I not think to look in the files first?


[labs/react] Custom Element lifecycle methods are exposed as props in types

Which package(s) are affected?
React (@lit-labs/react)
Description
When creating a component using createComponent, the props for the component include not only the classes immediate properties, but additionally all methods including the lifecycle callbacks such as connectedCallback. This means if folks are using TypeScript for auto-complete, they're presented with connectedCallback as an available property to set, it also means that connectedCallback is actually settable.
Reproduction
import React from "react";
import { createComponent } from "@lit-labs/react";

class SomeElement extends HTMLElement {
  connectedCallback() {
    setInterval(() => {
      this.textContent = this.connectedCallback.toString();
    }, 1000);
  }
}
customElements.define("some-el", SomeElement);

const SomeEl = createComponent(React, "some-el", SomeElement);

export default function App() {
  return (
    <div className="App">
      <SomeEl connectedCallback={() => alert("hi")}>Not Connected</SomeEl>
    </div>
  );
}

This demo will eventually render () => alert("hi"), because SomeEl is allowed to set connectedCallback.
https://codesandbox.io/s/intelligent-lamarr-u3e08p?file=/src/App.tsx
Workaround
I have not found a workaround.
I believe the problem stems from this:
https://github.com/lit/lit/blob/2d10c26d6c526faafacc5d28d0f70f671e72560d/packages/labs/react/src/create-component.ts#L315-L320
which checks if the property is part of the elements direct prototype. It might be worth also guarding against a fixed list of available lifecycle methods to ensure that the lifecycle methods cannot be replaced.
Is this a regression?
No or unsure. This never worked, or I haven't tried before.
Affected versions
1.0.9
Browser/OS/Node environment
I don't think these details are relevant to this issue.

@keithamus thanks!
I'm actually wondering if this is an odd case of 'working as intended'.
Like you mentioned, we look for properties on a component and use those properties as react props.
Properties like connectedCallback and disconnectedCallback are technically on the prototype chain and will be a part of those react props.
We're trying to avoid lists as much as possible ;_; but this is also an interesting edge case.
@justinfagnani how do you feel about this?

The changes made in 1.1.0 better reflect expected component behavior in the React ecosystem.
Any property or method found on a web component, including lifecycle methods like connectedCallback, will be set if passed as props. There is no real reason to set lifecycle methods but as @keithamus points out, it's possible and even type inferred.
Unfortunately, I don't think there is a way avoid setting lifecycle methods without using a checklist.
Cosing this bug as working as intended.


While, should be do while.

https://github.com/edcasillas/unity-missing-references-finder/blob/183e49b96580cfcd348ec0437d6fa8f7c4e9b280/Editor/MissingReferencesFinder.cs#L274
Hey, thank you very much for this example. It's super helpful for a project I'm working on. To help out a little bit, I wanted to point out a tiny issue in your code.
Unfortunately this bit here will skip the first property, as you are immediately calling sp.NextVisible(true) right after getting the first property. You might want to change this to do{ ... }while(sp.NextVisible(true)); so it will process the first iterator before advancing.

In fact, even if the code is skips the first property, it does not affect the final result since the first property are always seems to be "Base" (of type Generic) which is of no interest.


Confusing message in output

When I start my app that uses dry-types (via dry-validation), I see the following message:
[dry-types] Int type was renamed to Integer
[dry-types] Form types were renamed to Params

It's not clear the impact of this change, the required remediation action (if any) or if there's a way to silence this output.
Is there anything I need to do? My tests all still pass, so is there a way to make this message go away?
Thanks!

These are the versions I'm using:
dry-configurable 0.7.0
dry-container 0.6.0
dry-core 0.4.7
dry-equalizer 0.2.1
dry-inflector 0.1.2
dry-logic 0.4.2
dry-types 0.13.2
dry-validation 0.12.0
dry-validation-matchers 0.4.1

These changes are noted in the project changelog located https://github.com/dry-rb/dry-types/blob/master/CHANGELOG.md
Anywhere you are using Types::Strict::Int or similar needs to be replaced with Types::Strict::Integer and likewise any where you use Types::Form::* types need to be updated to Types::Params::*
I'm not sure why your tests are passing though as to keep the old behavior you need to opt in.

This is a bug in dry-validation revealed after a fix in dry-core, see https://github.com/dry-rb/dry-validation/issues/413


[typescript-language-features] Add setting for package.json auto imports

Counterpart to https://github.com/microsoft/TypeScript/pull/38923

Windows build failure looks unrelated

Thanks!


How to increase the loop upload size ?

Is there any environment variable or setting for max allowed size
currently, I get this error
The selected file is too big (85.3 MiB). Only 25.0 MiB are allowed.

This limit has been removed in the dev branch.


How to use the AuthorizationCode

Hi
When someone use the third party login to my system without password,like Authorization code , how should I create access_token ? In the configuration file , I did like this
'modules' => [         'oauth2' => [             'class' => 'filsh\yii2\oauth2server\Module',             'tokenParamName' => 'accessToken',             'tokenAccessLifetime' => 3600 * 24 * 7,             'refreshTokenLifetime' => 3600 * 24 * 30,             'storageMap' => [                 'user_credentials' => 'common\models\WtkUser',             ],             'grantTypes' => [                 'authorization_code' => [                     'class' => 'OAuth2\GrantType\AuthorizationCode'                 ],                 'refresh_token' => [                     'class' => 'OAuth2\GrantType\RefreshToken',                     'always_issue_new_refresh_token' => true                 ]             ]         ],     ],
the model 'WtkUser' was defined in 'common\models\WtkUser.php' , this class implements \OAuth2\Storage\AuthorizationCodeInterface , there are three function should be implemented , but I don't know how to do it ? Anyone can help me?
Thanks again!

oh,i havent user the AuthorizationCode, i cannt understand what you wrote

真的不是很懂哦


Double colon synax highlighting bug

Hello,
There is this undesired behavior where everything before a double colon is recognized as a hotkey even if the double colon is inside a string. This messes up the syntax highlighting.

The 3rd line is just a demonstration of how it's supposed to look.

Hi @OctaneTwisted, if you want this issue fixed, please open an issue in my fork, and I'll look into it! It is published in VS Code as "AutoHotkey Plus Plus", and it includes all the features of this extension, plus some bugfixes and readability enhancements.

Yikes, this is still broken. Adding it to the backlog
Hotstring("::ykhis", "you know how it is")
Hotstring(":C:OOS", "out-of::-spec")

Easy fix thanks to @CoffeeChaton!

Fixed in AHK++ :)


Tests cases in Desired State suite are timezone-dependent

When in different Timezone(In my case GMT) results of 3 test cases was off, with difference of 1 hour, which correlates with timezone where probably test were made(Belgium has GMT+1)

I couldn't find solution quickly so according to what was said in the planning meeting I'm going to close it


Why model uses BN layer

I did an experiment and found that the BN layer will have different outputs when inputting the same data in the train and eval states. Will using BN not destroy the characteristics of the data? Why does the author use the BN layer? Just to speed up your training?

Hi! It is a standard behavior for BN layer. In general yes, using BN often speedups the training in times.

Hope, it is clear now.


Upstream missing macCatalyst support

Upstream various missing bits of macCatalyst platform support, primarily related to compiling availability checks (especially in zippered libraries).
For zippered binaries, if #available checks will still ultimately be miscompiled because the necessary compiler-rt entry point is missing from llvm/clang (see the FIXME in _stdlib_isOSVersionAtLeastOrVariantVersionAtLeast()). However, this otherwise brings parity with the Apple Swift compiler for code generation when targeting macCatalyst.
Partly resolves rdar://103960437 and https://github.com/swiftlang/swift/issues/62884.

@swift-ci please test


Ctrl + Click to view the definition is not working in Mac.

Environment data
dotnet --info output:
.NET SDK:
Version:           8.0.303
Commit:            29ab8e3268
Workload version:  8.0.300-manifests.c915c39d
MSBuild version:   17.10.4+10fbfbf2e
Version: 1.93.0 (Universal)
Commit: 4849ca9bdf9666755eb463db297b69e5385090e3
Date: 2024-09-04T13:02:38.431Z (4 days ago)
Electron: 30.4.0 ElectronBuildId: 10073054
Chromium: 124.0.6367.243 Node.js: 20.15.1 V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 23.6.0
Steps to reproduce

Open any C# project. A very simple project with a Program.cs file with some dependencies.
Open the Program.cs file and Click on the imported class. In first CTRL + Click it is opening the definition. Then the link itself is gone.

Expected  behavior
Ctrl + Click should open the definition
Actual behavior
First time it works after that the class names become non clickable.

Install specific version 🥲

Tried uninstalling, installing the extension but it did not help

Install specific version c# dev kit

We should be uploading a new version of the C# extension in a day or two with a fix.  Downgrading to a lower version of the C# extension should workaround this issue for now.


Added seed_only Option to Jobs for Bootstrapping with JobDSL Plugin

Normally the Jenkins manifest creates jobs and tries to do its best (XML mangling) to be idempotent.
Sometimes you want to bootstrap Jenkins another way - e.g. with JobDSL Plugin.
For this we just need to create a seed job, which then builds all jobs using job dsl. In this case Puppet should not care about the job settings in Jenkins anymore (also good for trainings).
The seed_only parameter allows for this.

Thank you for this pull request! Please check this document for how the Jenkins project handles pull requests.

This looks reasonable but lacks some rspec-puppet test cases to go along with it to make sure that the jenkins::job::present logic is covered properly.
If you wish to tackle that, that would be great, otherwise I'll put this in my queue of pull requests to prepare unit tests for :)

I will give it a try next week.

Instead of naming the parameter seed_only, how about replace since this is an well known semantic from the file resource? Other suggestion: update or create_only.  I'm concerned that seed in this context will not be intuitive for end-users.

Both the define (jenkins::job/jenkins::job::present) and the native jenkins_job type support the replace parameter now. This can probably be closed. @elconas, your thoughts?


uom frequently results in check on save looping indefinitely

IDE: VS Code
In some of my projects when check on save runs RA will frequently hang on checking indefinitely (or at least as long as I've had the patience to leave it). After quitting the RA process it'll check just fine. It doesn't always happen, some sessions it happens almost every save, others hardly at all.
The main commonality I've found between projects is the use of uom which I know has seen some issues. I've done my best to try and isolate and debug the issue, but I need further help; so if anyone has suggestions for things to try I'm all ears.
I've tried collecting samples, spindumps and logs with RA_LOG=info and CHALK_LOG=info. Notably, during this indefinite check the logs go so fast that the output window can't keep up.
RA Log Snippet
In the sample of output I managed to copy paste only mentions Implemented(HydraulicGraph<[?0 := _Builder<[]>]>: Deref) the whole way through (all 97 thousand lines starting at 34106ms ending 35053ms). So I suspect it's getting stuck. Here's a small snippet of that:
[INFO salsa::derived::slot] solve_goal{goal=UCanonical { canonical: Canonical { value: InEnvironment { environment: Env([]), goal: Implemented(HydraulicGraph<[?0 := _Builder<[]>]>: Deref) }, binders: [] }, universes: 1 }}: ParseMacroExpansionQuery(MacroFile { macro_call_id: MacroCallId(22104) }): returning memoized value changed at R10290
├─34106ms INFO ParseMacroExpansionQuery(MacroFile { macro_call_id: MacroCallId(22104) }): returning memoized value changed at R10290
[INFO salsa::derived::slot] solve_goal{goal=UCanonical { canonical: Canonical { value: InEnvironment { environment: Env([]), goal: Implemented(HydraulicGraph<[?0 := _Builder<[]>]>: Deref) }, binders: [] }, universes: 1 }}: MacroArgTextQuery(MacroCallId(22104)): invoked at R10302
├─34106ms INFO MacroArgTextQuery(MacroCallId(22104)): invoked at R10302
[INFO salsa::derived::slot] solve_goal{goal=UCanonical { canonical: Canonical { value: InEnvironment { environment: Env([]), goal: Implemented(HydraulicGraph<[?0 := _Builder<[]>]>: Deref) }, binders: [] }, universes: 1 }}: MacroArgTextQuery(MacroCallId(22104)): returning memoized value changed at R10290
├─34106ms INFO MacroArgTextQuery(MacroCallId(22104)): returning memoized value changed at R10290
[INFO salsa::derived::slot] solve_goal{goal=UCanonical { canonical: Canonical { value: InEnvironment { environment: Env([]), goal: Implemented(HydraulicGraph<[?0 := _Builder<[]>]>: Deref) }, binders: [] }, universes: 1 }}: HygieneFrameQuery(HirFileId(FileId(FileId(1829)))): invoked at R10302
├─34107ms INFO HygieneFrameQuery(HirFileId(FileId(FileId(1829)))): invoked at R10302
[INFO salsa::derived::slot] solve_goal{goal=UCanonical { canonical: Canonical { value: InEnvironment { environment: Env([]), goal: Implemented(HydraulicGraph<[?0 := _Builder<[]>]>: Deref) }, binders: [] }, universes: 1 }}: HygieneFrameQuery(HirFileId(FileId(FileId(1829)))): returning memoized value changed at R1
├─34107ms INFO HygieneFrameQuery(HirFileId(FileId(FileId(1829)))): returning memoized value changed at R1
[INFO salsa::derived::slot] solve_goal{goal=UCanonical { canonical: Canonical { value: InEnvironment { environment: Env([]), goal: Implemented(HydraulicGraph<[?0 := _Builder<[]>]>: Deref) }, binders: [] }, universes: 1 }}: HygieneFrameQuery(HirFileId(MacroFile(MacroFile { macro_call_id: MacroCallId(22103) }))): invoked at R10302
├─34107ms INFO HygieneFrameQuery(HirFileId(MacroFile(MacroFile { macro_call_id: MacroCallId(22103) }))): invoked at R10302
[INFO salsa::derived::slot] solve_goal{goal=UCanonical { canonical: Canonical { value: InEnvironment { environment: Env([]), goal: Implemented(HydraulicGraph<[?0 := _Builder<[]>]>: Deref) }, binders: [] }, universes: 1 }}: HygieneFrameQuery(HirFileId(MacroFile(MacroFile { macro_call_id: MacroCallId(22103) }))): returning memoized value changed at R10290

Process Sample Snippet
Every time I've sampled it always seems to be spending all its time in chalk_recursive::solve:
...
    2660 chalk_recursive::solve::SolveIteration::solve_iteration::hdb72846378521f71  (in rust-analyzer) + 4061  [0x1035b223d]
        1533 chalk_recursive::fulfill::Fulfill$LT$I$C$Solver$GT$::solve::he3055ce5487d2cc9  (in rust-analyzer) + 2475  [0x1035ada6b]
            ...
        1124 chalk_recursive::fulfill::Fulfill$LT$I$C$Solver$GT$::solve::he3055ce5487d2cc9  (in rust-analyzer) + 1764  [0x1035ad7a4]
            ...

Next Steps?
I'm rather lost as to what would be helpful to narrow down this issue from here. I'd love to make a minimum reproduction, but I can't even tell what's causing it. It's also somewhat intermittent making debugging harder. Any guidance for how to better debug this would be great.

@bjorn3 any suggestions for how to debug this and find more useful information? I'm quite happy to do the work – but I need to know where to start as these logs don't provide many clues.
This issue occurs every 5 or 10 minutes and is rather frustrating as I'm sure you can imagine!

@matklad did you have suggestions as to how to debug this? It's impacting multiple repos now and is getting rather painful to work wth.

Possibly https://github.com/rust-lang/chalk/issues/688 again. You can try running rust-analyzer analysis-stats . in the repository, and if that hangs as well remove code and items to make a minimal reproduction. (You should also be able to see on which function it hangs, if it does. If so, you can probably remove all other item bodies.)


Script uploaded to JSS not populating

When adding a script to a jss.recipe the contents of the script are not showing up in the JSS. The script itself is there, but the script contents are empty. In the RECIPE_DIR is the script and app specific scripttemplate.xml. The actual jss.recipe has the appropriate fields added for scripts.
When I try to download the script from within the JSS GUI it's downloading the file with filename.sh.txt and the contents of that file are empty. Not sure if I'm doing something wrong here.
Thanks
Allen

@golbiga I have this "working". It has thrown my object hierarchy into a tizzy, so I'm contemplating how to refactor and restructure to make it "make sense". But it does indeed work.

@sheagcraig I'm still having issues post upgrade. It's still trying to copy the script to a distribution point and not to the database. I added JSS_MIGRATED true to com.github.autopkg.plist
If /data/caspershare/Scripts exists the script is copied there but is blank in the JSS and shows up as missing. If /data/caspershare/Scripts is removed i get the following:
JSSImporter: Script: TextMate2Preinstall.sh created.
JSSImporter: Copying /Users/admin/Library/AutoPkg/RecipeRepos/com.github.golbiga.recipes/JSS/TextMate2Preinstall.sh to all distribution points.
Traceback (most recent call last):
File "/usr/local/bin/autopkg", line 1469, in
sys.exit(main(sys.argv))
File "/usr/local/bin/autopkg", line 1463, in main
exit(subcommands[verb]'function')
File "/usr/local/bin/autopkg", line 1287, in run_recipes
autopackager.process(recipe)
File "/Library/AutoPkg/autopkglib/init.py", line 466, in process
self.env = processor.process()
File "/Library/AutoPkg/autopkglib/init.py", line 295, in process
self.main()
File "/Library/AutoPkg/autopkglib/JSSImporter.py", line 672, in main
self.scripts = self.handle_scripts()
File "/Library/AutoPkg/autopkglib/JSSImporter.py", line 511, in handle_scripts
self.copy(script['name'], id=script_object.id)
File "/Library/AutoPkg/autopkglib/JSSImporter.py", line 381, in copy
self.j.distribution_points.copy(source_item, id=id_)
File "/Library/Python/2.7/site-packages/python_jss-0.5.4-py2.7.egg/jss/distribution_points.py", line 204, in copy
repo.copy_script(filename, id_)
File "/Library/Python/2.7/site-packages/python_jss-0.5.4-py2.7.egg/jss/distribution_points.py", line 385, in copy_script
'Scripts', basename))
File "/Library/Python/2.7/site-packages/python_jss-0.5.4-py2.7.egg/jss/distribution_points.py", line 414, in _copy
shutil.copyfile(full_filename, destination)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 2] No such file or directory: u'/Volumes/CasperShare/Scripts/TextMate2Preinstall.sh'
I tried the JDS trick but it simply adds a blank TextMate2Preinstall.sh file as well.
Thanks
Allen

Hey @golbiga!
Based on the traceback, I think I see what is happening. The very last bit mentions the copy is using shutil.copyfile, which should not be the case here. It should be using distribution_points.SMBDistributionPoint._copy_script_migrated()
AFP and SMB repos can be configured with just the share's "name" and password. The rest of the information to connect is pulled from the Distribution Points API call. As it stands, the AFPDistributionPoint and SMBDistributionPoint have no reference to a jss.JSS object, so they don't know whether JSS_MIGRATED has been set or not.
And the conditions I check for are whether a jss.JSS object has been passed to the AFP/SMB repo constructor AND that it has JSS_MIGRATED=True.
So I'm guessing you didn't divine the magical incantation! This is primarily a documentation issue, but also a python-jss vs. JSSImporter issue. I'm going to add in some code to pass the correct data around for the auto-detection scheme mentioned above so you don't have to add anything extra into your config. Only people who are explicitly configuring AFP and SMB shares outside of the DistributionPoints class will ever need to worry about this, and it is documented in the docstring.
Just to see it "work" and confirm that this methodology works, you can give this a try:
# curl -u <username> 'https://<URL>:<PORT>/dbfileupload' -H 'DESTINATION: 1' -H 'OBJECT_ID: -1' -H 'FILE_TYPE: 3' -H 'FILE_NAME: <FILENAME>' -d '@<FULL_PATH_TO_FILE>' -X POST

e.g.:
# curl -u admin 'https://turtlepower.org:8443/dbfileupload' -H 'DESTINATION: 1' -H 'OBJECT_ID: -1' -H 'FILE_TYPE: 3' -H 'FILE_NAME: find_printer.py' -d<EMAIL_ADDRESS>-X POST

If you get it wrong, curl and the JSS will often give you a response of "Success", even though nothing happened. You'll know it worked because

The script will show up on your JSS
The JSS will respond with an md5 checksum and a received size

e.g. <?xml version="1.0" encoding="UTF-8" standalone="yes"?><uploadResponse><id>38</id><md5>571073a50c394367b05737ff4056e89a</md5><message></message><receivedSize>683</receivedSize><successful>true</successful></uploadResponse>

Can I slip you a testing version once I get it updated? That way I can release again with the comfort of knowing that it works correctly!

Yeah-try grabbing jss/distribution_points.py from the testing branch and copying it in over your installed one. Works for me (and I was able to recreate your issue).

Just swapped out distribution_points.py and the scripts are now being uploaded properly. Thanks!

Phew! I'm glad that works.
I've got a PR to review; after that I'll push a release. Thanks for bringing to my attention.

I've also got this problem. I've set JSS_MIGRATED to True but it is still "copying" the script to the distribution point:
JSSImporter: Script: Carbon Copy Cloner-postinstall.sh created.
JSSImporter: Copying /Users/Shared/Jenkins/Library/AutoPkg/RecipeOverrides/Carbon Copy Cloner-postinstall.sh to all distribution points.
JSSImporter: Copying to id-jds-prd.ethz.ch
JSSImporter: Copied /Users/Shared/Jenkins/Library/AutoPkg/RecipeOverrides/Carbon Copy Cloner-postinstall.sh

It cannot really be copying it, because I do not have a Scripts folder - this is a new setup built originally as 9.100, so there's never been a scripts folder. But still, Casper Admin shows the script as "missing" and there is an empty script object in the database.  I'm using the default way of setting up the JSSImporter settings. Is there some other value that has to be set?
$ defaults read com.github.autopkg
{
    "API_PASSWORD" = blahblah;
    "API_USERNAME" = AutoPkg;
    "JSS_MIGRATED" = True;
    "JSS_REPOS" =     (
                {
            name = JPShare;
            password = "blahblahblah";
        }
    );
    "JSS_URL" = "https://jamfproserver/template";
}

@grahampugh are you using or testing the JSSImporter testing release? It should solve this issue (it does away with the JSSI_MIGRATED value entirely.

Hi Shea
Yes we started using that and it works well.  Is that release now the one that your AutoPkg recipe points to?
PS your JSSImporter came up a LOT in JNUC this year.  I’m very interested in helping extend its functionality to the new Patch Policies, which will be separately populated. I guess it needs a new Processor.
Cheers
Graham

On 26 Oct 2017, at 14:12, Shea Craig<EMAIL_ADDRESS>wrote:
@grahampugh https://github.com/grahampugh are you using or testing the JSSImporter testing release? It should solve this issue (it does away with the JSSI_MIGRATED value entirely.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/sheagcraig/JSSImporter/issues/19#issuecomment-339769694, or mute the thread https://github.com/notifications/unsubscribe-auth/AFiK5c97Ln29fNsXUmitEn-SLC5HtUx7ks5swNmdgaJpZM4DJoeM.


refactor(explore): move MetricControl and FilterControl to sub-component

SUMMARY

To make the explore code more maintainable, I will refactor some controls, so first I need to move some files to the sub-component.

This change will not change any codebase logic
This change will not change the filename

TEST PLAN
IT / cypress run ok
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #12446 (c343297) into master (0f731f2) will decrease coverage by 2.70%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12446      +/-   ##
==========================================
- Coverage   65.97%   63.26%   -2.71%
==========================================
  Files        1015      486     -529
  Lines       49548    29912   -19636
  Branches     5080        0    -5080
==========================================
- Hits        32687    18924   -13763
+ Misses      16714    10988    -5726
+ Partials      147        0     -147

Flag
Coverage Δ

cypress
?

javascript
?

python
63.26% <ø> (-0.82%)
:arrow_down:

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

Impacted Files
Coverage Δ

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/sql_validators/postgres.py
50.00% <0.00%> (-50.00%)
:arrow_down:

superset/db_engine_specs/hive.py
54.61% <0.00%> (-29.24%)
:arrow_down:

superset/db_engine_specs/mysql.py
79.59% <0.00%> (-12.25%)
:arrow_down:

superset/db_engine_specs/sqlite.py
65.62% <0.00%> (-9.38%)
:arrow_down:

superset/databases/commands/create.py
83.67% <0.00%> (-8.17%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/connectors/sqla/models.py
84.31% <0.00%> (-6.28%)
:arrow_down:

superset/databases/commands/test_connection.py
84.78% <0.00%> (-4.35%)
:arrow_down:

superset/utils/celery.py
96.42% <0.00%> (-3.58%)
:arrow_down:

... and 520 more

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 0f731f2...c343297. Read the comment docs.

Codecov Report

Merging #12446 (c343297) into master (0f731f2) will decrease coverage by 2.70%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12446      +/-   ##
==========================================
- Coverage   65.97%   63.26%   -2.71%
==========================================
  Files        1015      486     -529
  Lines       49548    29912   -19636
  Branches     5080        0    -5080
==========================================
- Hits        32687    18924   -13763
+ Misses      16714    10988    -5726
+ Partials      147        0     -147

Flag
Coverage Δ

cypress
?

javascript
?

python
63.26% <ø> (-0.82%)
:arrow_down:

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

Impacted Files
Coverage Δ

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/sql_validators/postgres.py
50.00% <0.00%> (-50.00%)
:arrow_down:

superset/db_engine_specs/hive.py
54.61% <0.00%> (-29.24%)
:arrow_down:

superset/db_engine_specs/mysql.py
79.59% <0.00%> (-12.25%)
:arrow_down:

superset/db_engine_specs/sqlite.py
65.62% <0.00%> (-9.38%)
:arrow_down:

superset/databases/commands/create.py
83.67% <0.00%> (-8.17%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/connectors/sqla/models.py
84.31% <0.00%> (-6.28%)
:arrow_down:

superset/databases/commands/test_connection.py
84.78% <0.00%> (-4.35%)
:arrow_down:

superset/utils/celery.py
96.42% <0.00%> (-3.58%)
:arrow_down:

... and 520 more

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 0f731f2...c343297. Read the comment docs.

LGTM, just a few import nits

Ville, Thanks for the point out.

LGTM, just a few import nits

Ville, Thanks for the point out.


Make Wayang work in Docker

Devcontainer and more complete Dockerfile is yet to be added.

Mistakenly opened a PR to the upstream fork rather than my own fork. My bad.


Update waas-quick-start.md

Changed Windows Upgrade Analytics to Windows Analytics Upgrade Readiness.

This change is ok to merge. Signed off by me 👍


Uncontrolled resource consumption in braces - https://github.com/advisories/GHSA-grv7-fg5c-xmjg

# npm audit report

braces  <3.0.3
Severity: high
Uncontrolled resource consumption in braces - https://github.com/advisories/GHSA-grv7-fg5c-xmjg

npm explain braces prints this:
<EMAIL_ADDRESS>dev
node_modules/braces
<EMAIL_ADDRESS>from<EMAIL_ADDRESS>  node_modules/micromatch
<EMAIL_ADDRESS>from<EMAIL_ADDRESS>    node_modules/fast-glob
<EMAIL_ADDRESS>from<EMAIL_ADDRESS>      node_modules/vite-plugin-pwa
        dev<EMAIL_ADDRESS>from the root project

Fixed in:

https://github.com/vite-pwa/vite-plugin-pwa/pull/733


[Logging][Hexagon] Improve logging on Hexagon

Currently Hexagon logging is done with a custom LogMessageImpl in hexagon_common.cc. This ends up calling HexagonLog and HEXAGON_PRINT which uses the HAP FARF API. Unfortunately, the TVM log level is lost along the way, with logs being produced at FARF’s ALWAYS level. This becomes especially noisy with RPC debug logging, which generates enough noise to cause some log data to be dropped. It also introduces a lot of useless noise, as the FARF API produces its own line number information, which only points to where hexagon_common.cc calls HEXAGON_PRINT. Using the HAP_debug_runtime API lets us pass the log level and file line information directly, and enables runtime selection of logging levels.
This commit explicitly passes the log level to LogMessage/LogMessageImpl and updates Hexagon's custom LogMessageImpl to use the HAP_debug_runtime API.

More details and discussion at https://discuss.tvm.apache.org/t/improving-logging-on-hexagon-with-proposed-changes-to-logmessageimpl/13731

cc: @areusch @kparzysz-quic

LGTM! I want to see if this improves perf at all.

@supersat LGTM! I started a job on hardware. Will merge after that finishes


give me my file back!!!

testing leave me alone

Your pull request needs further work because of the following reason(s):

Your file does not clearly show a link to your github profile.

Once you have resolved the issues, comment on this request to be re-judged
This is an automated response, beep boop.
if you think there is a mistake, contact a maintainer

da8fcb1aeaa3ac76a02db562c144f1e33ef7c7a6

im sorry dad i did it now

Your pull request seems good, but must be checked by a human maintainer for the following reason(s):

This contains potentially hazardous tags that need manual review.

Please be patient until a maintainer has time to look over your contribution.
This is an automated response, beep boop.
if you think there is a mistake, contact a maintainer

d9e51f9088bbec8d1b5df5ac612cfd0e893365cb


Added three dbGaP synthetic asthma datasets

Adding csv examples for three synthetic asthma datasets based on dbGaP studies.

@ianfore sorry, this closed automatically as I just merged my jba-test branch. Can you re-open this PR to merge into main?

Created a new PR to merge to main instead of your branch. Also added a Python notebook.