KCL Sharepoint

Hi,
Is there any alternative for accessing the files? The sharepoint requires KCL credentials to log in.

I @m1541, no there is alternative currently. I am afraid these documents are confidential.
You can alternatively find them on xpert.kuka.com

What version of FRI is required to run the server? We have version 1.11 but that does not seem to work


Deleting parent list leaves nested lists orphaned

Steps for Reproduction

Visit empty playground
Create nested list with at least two levels
Delete the first level

Expected behavior:
The remaining levels should dedent when their parent is deleted.
Here is an extremely hacky demonstration of what the behavior should be.
Actual behavior:
The remaining levels are orphaned (i.e. are indented as if they are nested one level deeper than they are).
Version:
2.0.2
Request
I realize that nested lists are a long-running source of interesting behavior, so I don't actually expect this to be fixed. However, this behavior is important to my use case so I'd love some advice on how to achieve this. I have a super hacky implementation below, and it's kinda wild that updating the class names actually causes Quill to generate the right deltas - so I'd love to know what the 'canonical' way of doing something like this would be.
Here's the working demo.
class ListDedentModifier {
    constructor(quill) {
        this.quill = quill;
        this.quill.on("text-change", this.onTextChange.bind(this));
    }

    onTextChange(delta) {
        for (const op of delta.ops) {
            if (op.attributes && op.attributes.list === null) {
                const cursorStart = this.quill.getSelection().index;
                const [line] = this.quill.getLine(cursorStart);
                const next = line.next;
                for (const child of next.domNode.childNodes ?? []) {
                    const className = child.className;
                    const indentMatch = className.match(/ql-indent-(\d+)/);
                    const currentIndentLevel = parseInt(indentMatch[1], 10);
                    const newIndentLevel = Math.max(0, currentIndentLevel - 1);
                    child.className = `ql-indent-${newIndentLevel}`;
                }
            }
        }
    }
}

Quill.register("modules/listModifier", ListDedentModifier);

I would do something pretty similar but one missing case in your demo is deleting. Also instead of updating class names directly, you could go with quill.updateContents() to update the contents directly.

@luin Thanks for the response, would you mind helping me understand how to use updateContents to achieve this? It seems pretty challenging to go from a tree of Blot nodes to deltas that apply on positions. IIUC the hard bit is that you have to construct a delta for each list item (which can be further nested) since each item is on a different line.
I'm happy to go read a bunch of code and figure it out but some pointers would be pretty helpful!


Add email field & Gravatar url

In order for Gravatar to work an email address is required.
In case the user registers a new account, Gravatar is used (incl a fallback to a random image from blob storage).
In case the user registers via Auth0 and Google is used, the Google profile image is used.
The default image size from Gravatar/Google is rather small (80-90 pixels) therefore two new image properties are introduced. One with a small profile image, to be used in the chat, and one with a large profile image, to be used in the profile details.

Do we have a primary key constraint for our data? i ask coz currently it looks like a user can use the same email address for multiple user accounts.


Added support for testing library deployment

Coverage increased (+0.7%) to 99.5% when pulling 51c720ad32f8b52dba615f5b9a1c9055d9a836d6 on library_deployFiles_tests into d599fa55eb28e748343cacfe06da7c80d29247ac on master.


Target "prometheus" in docker image is always DOWN

What did you do?
docker run -p 9090:9090 prom/prometheus:latest
What did you expect to see?
The state of target "prometheus" should be "UP".
What did you see instead? Under which circumstances?
The state of target "prometheus" is "DOWN".
Environment

System information:
Darwin 15.6.0 x86_64

Prometheus version:
  prometheus, version 1.4.1 (branch: master, revision: 2a89e8733f240d3cd57a6520b52c36ac4744ce12)
    build user:       root@e685d23d8809
    build date:       20161128-09:59:22
    go version:       go1.7.3

Logs:

time="2016-12-07T08:38:18Z" level=info msg="Starting prometheus (version=1.4.1, branch=master, revision=2a89e8733f240d3cd57a6520b52c36ac4744ce12)" source="main.go:77"
time="2016-12-07T08:38:18Z" level=info msg="Build context (go=go1.7.3, user=root@e685d23d8809, date=20161128-09:59:22)" source="main.go:78"
time="2016-12-07T08:38:18Z" level=info msg="Loading configuration file /etc/prometheus/prometheus.yml" source="main.go:250"
time="2016-12-07T08:38:19Z" level=info msg="Loading series map and head chunks..." source="storage.go:354"
time="2016-12-07T08:38:19Z" level=info msg="0 series loaded." source="storage.go:359"
time="2016-12-07T08:38:19Z" level=info msg="Starting target manager..." source="targetmanager.go:63"
time="2016-12-07T08:38:19Z" level=info msg="Listening on :9090" source="web.go:248"
time="2016-12-07T08:39:19Z" level=info msg="Completed maintenance sweep through 3 in-memory fingerprints in 30.00262488s." source="storage.go:1180"
time="2016-12-07T08:39:59Z" level=info msg="Completed maintenance sweep through 3 in-memory fingerprints in 30.004019298s." source="storage.go:1180"

FYI, the endpoint is like http://d101b017c30f:9090/metrics, the d101b017c30f is the container ID.

Posting your config would be helpful, but I'm guessing the target you actually want is localhost:9090, I don't think the container id resolves to anything from within the container.

I'm just use the default config in docker, I copied it from http://localhost:9090
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

  # Attach these labels to any time series or alerts when communicating with
  # external systems (federation, remote storage, Alertmanager).
  external_labels:
      monitor: 'codelab-monitor'

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first.rules"
  # - "second.rules"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ['localhost:9090']

I've just tested running docker run -p 9090:9090 prom/prometheus:latest on my machine, working fine.

@sdurrheimer Can you help to take a look at the endpoint of target "prometheus"?

The prometheus endpoint is UP yes.

@sdurrheimer

This is my target, notice the link at the bottom.

The link looks okay to me given that the default hostname of a docker container is the ID of the container.
Of course, this will not resolve magically from outside of the container.
What is strange, is that prometheus can't scrape itself on your side.

@sdurrheimer Yes, it is strange. Don't know why.

I tested this command on Ubuntu, and it's ok.

Close this as I cannot see the cause.

@sdurrheimer Did you try on macOS? I tested on three macOS and all show "DOWN".

What are you using as a host for the container @goofansu ?

@brancz  I'm using Docker for Mac client.
Version 1.12.3 (13776)
Channel: Stable
583d1b8ffe

Interesting. I was able to reproduce it with the Docker for Mac client. It can't resolve localhost for some reason. But this doesn't seem to be a Prometheus issue per se.
I exec'd into the container:
docker exec -it <container-id> /bin/sh`

Replaced the target from localhost to <IP_ADDRESS>:
sed -i s/localhost/127\.0\.0\.1/g /etc/prometheus/prometheus.yml

And made Prometheus reload the config:
kill -SIGHUP 1

... and it worked.

@brancz Ok, I'll use <IP_ADDRESS> as a workaround. I think this should be documented.

It looks like more a Docker for Mac thing, I know they do some hacky/magic things when resolving names.

@sdurrheimer do you know why prometheus doesn't actually use localhost, but the container's ID/hostname? Is there some lookup done for this?
Also, does prometheus do some custom stuff with determining the hostname?
Within the container we have this in /etc/hosts:
/prometheus # cat /etc/hosts
<IP_ADDRESS>	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
<IP_ADDRESS>	bc0b4b7443e6

From within this container pinging to either localhost or bc0b4b7443e6 works fine, but prometheus itself can't access itself. So I guess it seems like prometheus isn't using what's defined in /etc/hosts.

I ran into this too (using <IP_ADDRESS> fixed it for me too).
I'm testing out prometheus on a Fedora Server 25 VM with no additional/3rdparty repos (no official Docker YUM repos):
$ rpm -qa |grep -i docker
python-dockerpty-0.4.1-3.fc25.noarch
docker-compose-1.8.1-1.fc25.noarch
python2-docker-pycreds-0.2.1-2.fc25.noarch
python-docker-py-1.10.6-1.fc25.noarch
docker-1.12.5-1.git6009905.fc25.x86_64
docker-common-1.12.5-1.git6009905.fc25.x86_64
$ docker --version
Docker version 1.12.5, build 6009905/1.12.5

So I did some digging and may have found the culprit (maybe it's a bug?).
<IP_ADDRESS> did indeed work however "localhost" still didn't. Neither did "prometheus", my container_name. Nor did "cadviser", another container.
While refreshing http://localhost:9090/targets I noticed the error message changed from "context deadline exceeded" to something with "hangup <IP_ADDRESS>" (sorry didn't copy the error message). Anyway it was very weird seeing a public IP in the error when I was pointing to localhost.
It turns out that IP is a Suddenlink DNS server of sorts (I'm at my parents house for the holidays). Once I removed that DNS and stuck with <IP_ADDRESS> on my Mac (I'm running Fedora Server 25 via virtualbox) and rebooted my VM all of a sudden "localhost" and "cadviser" addresses in prometheus.yml started working. Everything is "UP" in http://localhost:9090/targets !
Basically this is probably a weird DNS issue with either Docker, the Docker that ships with Fedora, Fedora, or Prometheus. Not really sure though.

I had the same issue. At the end it was an incorrect dns configuration on the host machine. Nothing to do with prometheus or docker.


Add a slide on timing commands

as several exercises say "time ..." without details.
Or maybe it's something to put in the "test" exercise with some explanations in the notes ?
This issue is replicated from the previous gitlab repo

This is an easy simplification of a simple timer class I once wrote, is this what you meant?
#ifndef CPP_TIMER_H
#define CPP_TIMER_H 1

#include <chrono>

class Timer {

public:
  // other clocktypes to high_resolution_clock are steady_clock or system_clock
  // see https://www.modernescpp.com/index.php/the-three-clocks for details
  typedef std::chrono::high_resolution_clock CLOCKTYPE;

  // Constructor initialises with the current timestamp
  Timer() : m_StartTime(CLOCKTYPE::now()) {}

  // Destructor
  virtual ~Timer() {}

  // (Re-)start the clock by overwriting the starting timestamp
  void Start() { m_StartTime = CLOCKTYPE::now(); };

  // Return the duration in seconds
  float GetDuration() {
    std::chrono::duration<float> duration = CLOCKTYPE::now() - m_StartTime;
    return duration.count();
  };

private:
  // member to keep the starting timestamp
  CLOCKTYPE::time_point m_StartTime;
};

#endif // CPP_TIMER_H

But also very useful:
/usr/bin/time ./executable
time ./executable

yes, I wasn't sure to what detail we wanted to have it ...


Blocking UI while loading a large 3D object from Asset folder

I have a 3D file (.sfb, size 30Mb) in the Assets folder, once I load it to memory by using these codes
 ModelRenderable.builder()                         .setSource(context, Uri.parse(productName))                         .build()                         .thenAccept { productRenderable = it }                         .exceptionally { throwable ->                             throwable.message?.let { view.showMessage(it) }                             null                         }
-> The view is hanging for a couple seconds (lagging).
I'd tried to push it in a background thread but I got this error "Must be called from the UI thread." -> it means we have to run that code on the main thread.
So how to prevent the lagging issue when loading 3D object to memory?
Thank in advance!

+1 to this.
We have several 3D assets that get loaded randomly when an augmented Image is detected, and having the whole app freeze for a couple of seconds when the new image is detected is a bad user experience.


WARNING: Tried to load angular more than once

Here is my folder structrue
client
---app.js
---index.html
---index.ng.html
Their content is the same as in step__00.
I got this error in Chrome.

can you share your meteor/.version file please?

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

You are good in terms of packaging..
Maybe your path is wrong?
can you share your index.html?

Is it needed to have both<EMAIL_ADDRESS>and<EMAIL_ADDRESS>in project?

<EMAIL_ADDRESS>bring<EMAIL_ADDRESS>with it

app.js
angular.module('mainApp',['angular-meteor']);

index.html

index.ng.html

	Hello World

You need to place the full path:

Wow. Thanks.

np, good luck!


support for "go" command

When trying to build a downstream library/command with the go command your repo generates an error that it can't find the code.  Could you please either update the TARG argument or delete the Makefile?
This pull request shows both options that I've found to work.  You'd want to point the Make file to your repo.
Thanks

I don't yet support the go tool with any of my packages so I'll take a look at the options this evening and make the necessary updates across the board.


Closes #22 - Fix permission attributes;

no error should occur in case they are empty

Thanks for your PR! Please fill out the following list :)

[x] I put the ticket or multiple tickets in review
[x] Commit message format → Closes #<Issue Number> - Your commit message.
[ ] Sonarcloud link : <add the link here>
[x] No documentation update needed
[ ] Link to PR with documentation update: <add the link here>
[x] No Release Notes needed
[ ] Release Notes :

I would like to have a test verifying that the filter conditions is built correctly. Or doesn't this make sense here?

This is party verified by different LDAP tests by testing the general methods like searchUsersAndGroupsAndPermissions that use the filter. Testing just the filter separately doesn't make sense to me. However, the LDAP tests depend on the configured values for the LDAP attributes like UserMemberOfGroupAttribute etc.
I could change the values of the relevant attributes to be empty for one of the tests. Would this help?


querying column with same name as table should default to the column not the table

How to reproduce:
Query a table with a column named identically to the table name, e.g.
    query = sqlalchemy.select(
            [sqlalchemy.column('sample_col_name_same_as_table')]
    ).select_from(sqlalchemy.table('sample_col_name_same_as_table'))
    results = engine_using_test_dataset.execute(query).fetchall()

I forked the repo and added a failing test demonstrating this:
git clone git@github.com:jdimatteo/pybigquery.git
cd pybigquery
git checkout reproduce_table_name_same_as_column_name_problem
pyvenv .env
source .env/bin/activate
pip install -r dev_requirements.txt
./scripts/load_test_data.sh
pytest -v test/test_sqlalchemy_bigquery.py -k test_col_name_same_as_table

Expected Result
The specified column's values should be retrieved in the query (not all of the columns), and the above test should pass.
Observed Result
All the table columns are retrieved in the query, and the above test fails.
test/test_sqlalchemy_bigquery.py:286: in test_col_name_same_as_table
    assert results == expected_value
E   AssertionError: assert [({'sample_co..., 'foo': 4},)] == [(1,), (2,)]
E     At index 0 diff: ({'sample_col_name_same_as_table': 1, 'foo': 3},) != (1,)
E     Full diff:
E     + [(1,), (2,)]
E     - [({'sample_col_name_same_as_table': 1, 'foo': 3},),
E     -  ({'sample_col_name_same_as_table': 2, 'foo': 4},)]

Notes
Here is the full test, which passes until the assert on the last line fails:
def test_col_name_same_as_table(engine_using_test_dataset):
    # ensure query works when column not same as table
    query = sqlalchemy.select([sqlalchemy.column('foo')]).select_from(sqlalchemy.table('sample_col_name_same_as_table'))
    results = engine_using_test_dataset.execute(query).fetchall()
    expected_value = [(3,), (4,)]
    assert results == expected_value

    # same query works when prefix column with table name
    query = sqlalchemy.select([sqlalchemy.column('sample_col_name_same_as_table.foo')]).select_from(sqlalchemy.table('sample_col_name_same_as_table'))
    results = engine_using_test_dataset.execute(query).fetchall()
    expected_value = [(3,), (4,)]
    assert results == expected_value

    # prefixing the table name works when column name matches table name
    query = sqlalchemy.select([sqlalchemy.column('sample_col_name_same_as_table.sample_col_name_same_as_table')]).select_from(sqlalchemy.table('sample_col_name_same_as_table'))
    results = engine_using_test_dataset.execute(query).fetchall()
    expected_value = [(1,), (2,)]
    assert results == expected_value

    # but query doesn't work when column same as table without table prefix
    query = sqlalchemy.select(
            [sqlalchemy.column('sample_col_name_same_as_table')]
    ).select_from(sqlalchemy.table('sample_col_name_same_as_table'))
    results = engine_using_test_dataset.execute(query).fetchall()
    expected_value = [(1,), (2,)]
    assert results == expected_value

Here is the full diff adding the failing test: https://github.com/jdimatteo/pybigquery/compare/master...reproduce_table_name_same_as_column_name_problem

Note that bigquery itself seems to default to the table name over the column name in a select statement when it is ambiguous, e.g.
$ cat query.sql
SELECT * FROM sample_col_name_same_as_table;
SELECT sample_col_name_same_as_table FROM sample_col_name_same_as_table;
$ bq query --use_legacy_sql=false --dataset_id=test_pybigquery < query.sql
SELECT * FROM sample_col_name_same_as_table; -- at [1:1]
+-------------------------------+-----+
| sample_col_name_same_as_table | foo |
+-------------------------------+-----+
|                             1 |   3 |
|                             2 |   4 |
+-------------------------------+-----+
SELECT sample_col_name_same_as_table FROM sample_col_name_same_as_table; -- at [2:1]
+-------------------------------------------------+
|          sample_col_name_same_as_table          |
+-------------------------------------------------+
| {"sample_col_name_same_as_table":"1","foo":"3"} |
| {"sample_col_name_same_as_table":"2","foo":"4"} |
+-------------------------------------------------+

This is blocked waiting for results from https://issuetracker.google.com/issues/188452837.

First of all, this is expected (and potentially useful) behavior. See: https://issuetracker.google.com/issues/188452837.
Second, you can avoid it by using more idiomatic SQLAlchemy code or by qualifying your column name.
For the sake of brevity, assume we have table foo with columns foo and bar, and containing  one row, with values 1 and 2.
If we let SQLAlchemy inspect the table and then use that information :
>>> table = Table('foo', metadata, autoload_with=engine)
>>> engine.execute(select([table.c.foo])).fetchall()
[(1,)]

We get the column as expected.
In the example you gave, adapted to foo :), adding .foo:
>>> query = sqlalchemy.select(
            [sqlalchemy.column('foo.foo')]
    ).select_from(sqlalchemy.table('foo'))

... ... >>> >>> engine.execute(query).fetchall()
[(1,)]

Allows you to select the column rather than the table.


Older Pythons are now available on arm64 macos-latest

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

Project coverage is 61.69%. Comparing base (e530c62) to head (ec536b4).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #205      +/-   ##
==========================================
- Coverage   65.53%   61.69%   -3.85%
==========================================
  Files           1        1
  Lines        1648     1621      -27
  Branches      409      331      -78
==========================================
- Hits         1080     1000      -80
- Misses        465      515      +50
- Partials      103      106       +3

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


NamingConvention Breaking Change Fix

We introduced a breaking change with the naming conventions. We should avoid this an leave the old method as obsolete and functional in place.
    old: string GetDeprecationReason(MemberInfo member);
    new: bool IsDeprecated(MemberInfo member, out string reason);

We are keeping this change and do not make it compatible.


django.db.utils.ProgrammingError: column "is_long_token" of relation "django_rest_passwordreset_resetpasswordtoken" does not exist

Unable to run migrate command
python manage.py makemigrations generated fallowing output
Migrations for 'django_rest_passwordreset':
/home/user/Desktop/poll_app/venv/lib/python3.8/site-packages/django_rest_passwordreset/migrations/0008_auto_20210808_0449.py
- Remove field expired from resetpasswordtoken
- Remove field is_long_token from resetpasswordtoken
- Remove field used from resetpasswordtoken
Migrations for 'poll_app':
poll_app/migrations/0017_auto_20210808_0449.py
- Alter field user on companyprofile
python manage.py migrate throwing this error
Operations to perform:
Apply all migrations: account, admin, auth, authtoken, contenttypes, django_rest_passwordreset, polls_app, sessions, sites, socialaccount
Running migrations:
Applying django_rest_passwordreset.0008_auto_20210808_0449...Traceback (most recent call last):
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 86, in _execute
return self.cursor.execute(sql, params)
psycopg2.errors.UndefinedColumn: column "is_long_token" of relation "django_rest_passwordreset_resetpasswordtoken" does not exist
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "manage.py", line 22, in
main()
File "manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/core/management/init.py", line 401, in execute_from_command_line
utility.execute()
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/core/management/init.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/core/management/base.py", line 328, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/core/management/base.py", line 369, in execute
output = self.handle(*args, **options)
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/core/management/base.py", line 83, in wrapped
res = handle_func(*args, **kwargs)
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/core/management/commands/migrate.py", line 231, in handle
post_migrate_state = executor.migrate(
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/db/migrations/executor.py", line 117, in migrate
state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/db/migrations/executor.py", line 245, in apply_migration
state = migration.apply(state, schema_editor)
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/db/migrations/migration.py", line 124, in apply
operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/db/migrations/operations/fields.py", line 178, in database_forwards
schema_editor.remove_field(from_model, from_model._meta.get_field(self.name))
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/db/backends/base/schema.py", line 517, in remove_field
self.execute(sql)
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/db/backends/base/schema.py", line 142, in execute
cursor.execute(sql, params)
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 100, in execute
return super().execute(sql, params)
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 68, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 86, in _execute
return self.cursor.execute(sql, params)
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/db/utils.py", line 90, in exit
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/home/user/Desktop/polls_app/venv/lib/python3.8/site-packages/django/db/backends/utils.py", line 86, in _execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: column "is_long_token" of relation "django_rest_passwordreset_resetpasswordtoken" does not exist

The module has currently 3 migrations: https://github.com/anexia-it/django-rest-passwordreset/tree/master/django_rest_passwordreset/migrations
Do you use a fork of the module?


Webhook skipped due to invalid custom data.

Hello! I'm catching an error 'Webhook skipped due to invalid custom data' for the 'order_created' and 'subscription_created' webhooks.
According to the source code, the webhook should contain 'billable_id' and 'billable_type' in the custom data, but I'm receiving webhooks without these fields.
Do I need to pass these fields manually? Sorry to bother you, but I'm struggling to find any info on this.

Hi there. Can you provide some code to reproduce this issue?

I am getting the same thing Webhook skipped due to invalid custom data
with no exceptions or any other logs
would it be a good idea if the WebhookController reports the exception when caught, so we get better tracing?
try {
    $this->{$method}($payload);
} catch (InvalidCustomPayload $e) {
    report($e);
    return new Response('Webhook skipped due to invalid custom data.');
}

thank you for the package btw :)

Hi there. Can you provide some code to reproduce this issue?

No custom code is required. I've simply set up the webhooks to target the '/lemon-squeezy/webhook' route.
In the package WebhookController.php, the handleOrderCreated method calls the 'resolveBillable' method, which requires the attribute $payload['meta']['custom_data']['billable_id']. However, this attribute is missing in the webhook payload, resulting in the 'InvalidCustomPayload' error being thrown.

@VitalijOd but that's what I mean. This package requires you to use the code of the package to start subscriptions and perform orders. If you don't do that then those custom data keys aren't present in your payloads.
So the right question might be: how are your customers buying your products? Is there code involved? And if not, how are you serving them the checkout page?

@atmonshi heya thanks!
This exception will go away once https://github.com/lmsqueezy/laravel/issues/53 is implemented so hopefully that's not much longer.

@VitalijOd but that's what I mean. This package requires you to use the code of the package to start subscriptions and perform orders. If you don't do that then those custom data keys aren't present in your payloads.
So the right question might be: how are your customers buying your products? Is there code involved? And if not, how are you serving them the checkout page?

Thank you for the clarification. I generated the payment link without this package and intended to use it solely for handling webhooks. I now understand this is likely why the webhook payload didn't contain billable_id. I think #53 will resolve my problem in this case.

Right, yeah right now that won't work. You need to use the package itself in order to make the webhooks work.

So this has been baffling me as well and I think I found my issue:

Orders created from "recovered cart" emails sent by LS by default.

I disabled those emails and we'll see if it fixes it. However, it would be nice to have the cart recovery features, so hoping #53 gets built as well!
Just came here to provide more context on a solution for people.
I also disabled my storefront that LS creates by default. That was another area that could have been leaking purchases.

Thanks for that feedback @calebporzio. I'll try to see if I can get #53 in soon.


Bump arduino/setup-protoc version in CI

Issue #, if available:
N/A
Description of changes:
New version uses node 20, so won't see deprecation warnings.
See example: https://github.com/aws/glide-for-redis/actions/runs/7996878929
A screenshot for history, because old CI run are purged:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

please update this everywhere the dependency is used.


x/tools/internal/lsp: client won't receive replies after cancelled request

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

$ go version
go version go1.13.5 darwin/amd64
github.com/golang/tools@61798d64

Does this issue reproduce with the latest release?
Yes
What did you do?
As a part of adding the LSP DocumentHighlight feature to govim I noticed that it sometimes hangs when I use it in medium sized projects.
In govim we vendor the internal lsp files from golang.org/x/tools and use them to communicate with gopls.
In the logs I see that govim successfully sends a $cancelRequest to gopls, and gets a response. But the request after (in this case a CodeAction) never returns.
When dumping the goroutines in govim I saw that requesting goroutine was waiting for a response on rchan at https://github.com/golang/tools/blob/1ace956b0e17ff85a6f9bdf6973af28a26234113/internal/jsonrpc2/jsonrpc2.go#L175.
It's a bit tricky to reproduce with my govim branch, so I created a quick hack in a forked version of tools, https://github.com/leitzler/tools/tree/cancel-hang-repro/repro.
There are two flags for the repro, -gopls that specifies gopls binary path, and -cancel-delay that specifies a delay in ns before the DocumentHighlight request is cancelled. Default it is 1000ns, which seems to work fine on my machine, but must probably be changed to reproduce the issue.
Too short and the client will cancel the request before it's even sent, too long and gopls will respond before the cancel occurs.
Note that according to gopls logs, it looks like the response is sent, but it never seems to reach the client.
The repro isn't beautiful but seems to work and, per discussion on Slack with @findleyr, probably enough to pinpoint the problem.
What did you expect to see?
Requests processed as usual after a cancel.
What did you see instead?
The client hangs.

cc @stamblerre @findleyr

@leitzler huge thanks for that repro! After debugging your program I was able to reproduce in a gopls test.


bro

is this safe bro

and how to use it?

bruh downloader.bat doesnt work for me

some error in download.bat prob cuz code is working properly

ok

2 iq?

2 iq?

uh... no

@darik9pl yes its safe and to run it you just move all the files to gd file directory. if you need more help just notify me.

@darik9pl yes its safe and to run it you just move all the files to gd file directory. if you need more help just notify me.

thanks

@darik9pl if it works you should probably close the issue


Hoobs plugin configuration

Hello. I'm struggling to properly configure the plugin "Blink for Home" within the Hoobs application. From within the config.json file I have copied and pasted the following:
"platforms" : [
{
"name"     : "Blink",
"username" : "",
"password" : "",
"pin"      : "",
"platform" : "Blink"
}
]
I did not remove the following that was already part of the file:
{
"platform": "homebridge-blink-for-home"
}
I enter the credentials that I know beyond a shadow of a doubt are correct. However, it is possible that the "pin" is not correct because I'm entering the code I'm getting through text verification, as I do not get an email with a pin. Hoobs directed me here so I hope you're willing and able to help. Thanks in advance.

Same issue here!!!

I am having the same issue(not sure why it keeps saying loading 2 platforms) and I never get a verification code to email or text) PLEASE HELP!! thanks
2022-10-11, 7:13:09 PMBlink For Home BridgeLoaded plugin 'homebridge-blink-for-home'
2022-10-11, 7:13:09 PMBlink For Home BridgeLoading 2 platforms...
2022-10-11, 7:13:09 PMBlink For Home BridgeWARNINGunhandled rejection: Error: Missing Blink account credentials {"email","password"} in config.json
CODE CONFIGURATION
{
"platform": "homebridge-blink-for-home",
"username"<EMAIL_ADDRESS>"password": "6529Bwd@"
}

No fix for this yet?

Seems like the developer doesn't give a sh*t, and Hoobs just passes back to the developer. Disappointing to say the least.


Cant find an encrypt file method

Hello,
I'm trying to encrypt entire file using rpgp library.
My main problem is that I did not found any method that allows me to do so.
Actually I read the whole file, and encrypt it but it produces a PGP Message, I would like to have bytes only.
I've tried to use a buffread/buffwrite but it produces many PGP Messages.
I apologize if it's written somewhere that I did not found :|

Welcome! :) I'm not sure that I understand exactly what you are looking for, so I'll write up some points, and hopefully you can help me understand better what you are looking for:
When encrypting data in OpenPGP, the output is always a "Message".
A OpenPGP "message" in this context is just a container that stores the encrypted data.
Messages (like all OpenPGP data) can be "ASCII Armored" or in plain binary form.
Both forms are equivalent, and maybe you are looking for the binary format?
Independently, OpenPGP has two different mechanisms for encrypting data (both produce a "Message"):

encrypting to an asymmetric key (this is the normal mode of operation for OpenPGP, encrypting to a "public key", while only the recipient has access to the corresponding private key, which can be used to decrypt).
encrypting to a passphrase (a secret, like a password, that both the sender and the recipient must know in order to be able to encrypt/decrypt data).

Does any of this help with what you're looking for?


Feature: rename config.yaml to something else.

Description

Hi, the config.yaml file is used to store non-API-related configurations, so it's wired to see it after conversion from OpenAPI.

rename it to api.yaml, WDYT?

Cc @navendu-pottekkat

A user could name the file anything. The only default naming we choose in ADC is the .adc.yaml configuration file for ADC. A user can have multiple configuration files with any names and pass them to ADC with the -f flag in any of the commands.
I think the question here is whether we should change the documentation to use a different name for the configuration files. If we are doing that, we should be consistent across the documentation of all subcommands.

Make sense.
I think it’s okay not to make any changes

@tao12345666333 Yes, me too. Because I don't know any other better names that could describe a configuration.
@juzhiyuan What do you think? Do you think we should still change it? Any suggestions?

How about apisix.yaml? Then in both scenarios, apisix.yaml is the route configuration for APISIX.


Aside (at least) not interpreting templates

This is left unchanged in an aside.md:
Title: {{ .title }}

Fixed with commit 5609bfa


Why inverse?

Hello, in your code you apply inverse to the first frame and then multiply it with the corresponding (i-th) pose matrix to obtain the pose at the frame i. Why not just multiply the i-th pose matrix with the first pose? Why do we need inverse here?
I am talking about the lines like: poses_result[cnt] = np.linalg.inv(pred_0) @ poses_result[cnt].
I thought to obtain poses we simply need to: poses_result[cnt] = poses_result[cnt] @ pred_0.

Hi, I have the same problem, how did you solve it? Thanks!


No Content for Latest APIs for public resources

Response is 204 for Latest queries on any public resources on the catalogue.
Below is a cURL for example:
curl --location --request GET 'https://rs.iudx.org.in/ngsi-ld/v1/entities/suratmunicipal.org/6db486cb4f720e8585ba1f45a931c63c25dbbbda/rs.iudx.org.in/surat-itms-additional-info/surat-itms-depot-info'
--header 'token: eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiJ9.eyJzdWIiOiI0NGI2MGVmNC1hMjZmLTRlOTctOWEzOS05OGIyNzg0M2EyMmIiLCJpc3MiOiJhdXRob3JpemF0aW9uLml1ZHgub3JnLmluIiwiYXVkIjoicnMuaXVkeC5vcmcuaW4iLCJleHAiOjE2Mzg5MTI4NDEsImlhdCI6MTYzODg2OTY0MSwiaWlkIjoicnM6cnMuaXVkeC5vcmcuaW4iLCJyb2xlIjoiY29uc3VtZXIiLCJjb25zIjp7fX0.EyWw14TkO_0bhJfYZmdZ8Nbz_OJPb93ty37SW3TJ3f_y10nZUuuFWtIv-jz5ZdpQVduO0Gd-riWQtJHUjhsvxQ'

This is mostly applicable to only, some static resources,  like one above. This may be because it has not published lately, i.e . not after IUDX 3.0 release (Oct 27).  In IUDX 3.0 release, latest data store was changed from elasticsearch to redis ( the latest data was not migrated).
The dynamic data/ anything that has publish  like air quality data for pune, available https://catalogue.iudx.org.in/dataset/datakaveri.org-04a15c9960ffda227e9546f3f46e629e1fe4132b-rs.iudx.org.in-pune-env-aqm
The solution would be to re-run the adapters of static/static like ( i.e not published from Oct 27, eg: places of interest, above item ) resources, so that the data will be available through latest api.

* The solution would be to re-run the adapters of static/static like ( i.e not published from Oct 27, eg: places of interest, above item ) resources, so that the data will be available through latest api.

But the problem would be this would create duplicated data in Elasticsearch @swaminathanvasanth . Unless we bound these adapter to only redis-latest queue

for static data, if you publishes again , won't their be duplication of data in elasticsearch as it already has it. Need to think over

This done. and static data  is now available through latest api . closing the issue


Fixed bug in PrepareCsvExport for models with custom primary keys

Description
When the PrepareCsvExport model tries to create the query to export the records it assumes that the id in chunkById is 'id' instead of using $keyName.
Code style

[x] composer cs command has been run.

Testing

[x] Changes have been tested.

Documentation

[N/A] Documentation is up-to-date.

My fault there, I'll patch it in the next release


Fix race condition between task creation and removal

This commit fixes a race condition between task creation and removal
which could causes orphan containers. It happens when a agent task is
handling creation event and creating a container, a removal event
comes in and cancels the task's context. Both the creation and
removal would fail but the container would still created by the docker
daemon. The removal fails because when the DELETE request arrives the
docker daemon, the container is still being created.
goroutine (creation)                   task (removal)
---------                              ----

...                                    ...
ctlr.Prepare(ctx)
  r.adapter.createNetworks(ctx)
  ...                                  case <-shutdown
  r.adapter.create(ctx)                  cancel()
  //failed due to context cancelled      tm.ctlr.Remove(ctx)
  //container still createdby daemon     //failed due to "No such
                                         //container" error because
                                         //the container not created
                                         //yet
  ...
  //the container created by docker
  //daemon but becomes orphan

This patch fixes it by moving the cancel operation to be after the
remove operation. In addition, a lock is added for exclusive access
to the container resouces between creation and removal operations.
These ensures that the creation of a container could either be
finished or not started when the remove operation enters the critical
section. The pull operation is moved out the critical section because
it might be too time consuming.
Signed-off-by: Jin Xu<EMAIL_ADDRESS>

I would like to close this PR in favor of another PR #1154, which fixes the issue with a simpler solution. Please review #1154 first. Thanks.


Missing -EnableBGP True from 2 PowerShell commands

Although the text explains to add this flag, it is easy to forget it users use the 'copy' feature for the PowerShell commands.
If you do not specify the flag, the default is False for the EnableBgp setting.

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

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

@yushwang - Please review this proposed change from @aicaffre to your article in the public repository.

The flag is not required to utilize BGP on Azure VPN gateway.
#please-close

This property is a legacy field due to other non-Azure related requirement. It is no-op in the Azure VPN gateway resource. The reason setting it seems to work is because of the old gateways created before Azure BGP is released. Changing any properties on the gateway resource will trigger a sync and backfill of "new" properties, in this case, the BGP elements, in the existing gateway resource. That is why it seemed to enable BGP but in reality, changing any properties on the gateway would have the same effect.


LangSmith without LangChain imports Fail

Issue you'd like to raise.
When running the LangSmith without LangChain Hello World example for TypeScript I get to following error when trying to import the required components.
Module '"langsmith"' has no exported member 'RunTreeConfig'.

Suggestion:
Fix imports as seen in:

#272

Thank you for the fix :)

Probably not the correct spot for this, but is there a schedule for new releases of LangSmith? Have used it through LangChain before and am eager to use it in our non-LangChain integrated services :)


scripts

I've realized that if we want user to take advantage of artview versatility we must first show them that versatility and give a starting point. I thing the best way of doing that is increasing the number of scripts and show they better, so I did it and also took some printscreens
(https://github.com/gamaanderson/artview/blob/ng-gatefilter/SCRIPTS.md)
let me know what you think. And FYI this is build over the ng-gatefilter branch

These are great! I've been meaning to do that @gamaanderson
I just officially added the gatefilter portion. Do you want to do a pull request with these and then we can link the documentation later?
Also, I like your comments about "share" versus "link". I would not be against changing the naming conventions in the code and labels to indicate this.

Yes, scripts are kind of a free part of the code, so I have no problem with direct merges. I also don't have a problem with the documentation not having that images, they can be seen in github.

Alright scripts are merged!


Add helper functions to WindowResolution for setting scale to 1

Objective

Follow up to #10872.
Goal is to provide more idiomatic way to disable scaling in WindowResolution.

Solution

Added new_without_scaling method which creates a new WindowResolution with scale_factor_override of 1.0.
Added without_scaling builder method which sets scale_factor_override to 1.0.

Hmm. A bit mixed on this: it's a common pattern, but this adds another way to do the same thing.


Fortran wrapper

Hi Adam,
I'm a bit confused how this has ended up 71 commits ahead of dev. I tried to move my fork to be the same as the base repository and somehow ended up here.
Is this all old/deleted/? code or has something gone wrong at my end. If its really badly messed up, I'll delete my fork and refork it, then readd the new modifications.
Edit: I tried basing on v0.1.0 and cherry-picking across my changes, but then the CMakeLists.txt weren't compatible :(

I think I'll also address #3 here and try to convert that code into the new version of the library.

Hi Aidan, looks like you've forked from my personal Otter repo which is an outdated version of the project. It's now hosted here: https://github.com/Otter-Taskification/otter
I think if you fork from this tag over there you'll have an easier time with your PR.
My apologies, I should have made it clear which repo we're working from.


[stable/redis-ha] Update redis image + Fix  persistance volume claim

Update default redis image used within this chart. Related with these issues https://github.com/kubernetes/charts/issues/2527, https://github.com/kubernetes/charts/issues/2394
quay.io/smile/redis:4.0.2

Dockerfile can be found here.
And fix Persistance Volume Claim name to enable persistance correctly. Related with these issues:
https://github.com/kubernetes/charts/issues/2539, https://github.com/kubernetes/charts/issues/2386

Hi @smileisak,
Are you saying that Persistence should now work with image quay.io/smile/redis:4.0.2? I just checked and it does not.

Statefulset was pointing to a wrong pvc
Changes were made here and here.

@smileisak So helm install --set replicas.master=1 --set replicas.slave=3 --set persistentVolume.enabled=true --set redis_imae=quay.io/smile/redis:4.0.2 stable/redis-ha should work? I just tested and it still fails with the same errors as from #2539

@esvirskiy While this PR not merged, it will not work !
@viglesiasce can you please review this PR ?

ah, understood!

@smileisak I am having a slightly different problem when I try to use this chart with your changes: the persistentVolumeClaim in redis-deployment.yaml has the same name as the pvc in redis-master-statefulset.yaml. When the redis node tries to attach the volume it has already been attached to another node and so the operation fails. Is there some accessMode or other configuration that fixes this when you run it? Here's a log entry from the redis-ha pod:

6m            6m      1       {controller-manager }           Warning FailedMount     Failed to attach volume "pvc-dc74d4a6-bcdb-11e7-b773-127b619127fe" on node "ip-172-20-123-234.ec2.internal" with: Error attaching EBS volume "vol-0734c17871f7d4198" to instance "i-0420cc6c734c0b9e8": VolumeInUse: vol-0734c17871f7d4198 is already attached to an instance

/ok-to-test

I just tested and I am seeing the exact same issues when using persistent volume claim.
NAME:   hoping-termite
LAST DEPLOYED: Tue Oct 31 11:19:03 2017
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1/PersistentVolumeClaim
NAME                         STATUS   VOLUME  CAPACITY  ACCESSMODES  STORAGECLASS  AGE
hoping-termite-redis-ha-pvc  Pending  gp2     1s

==> v1/Service
NAME                     CLUSTER-IP     EXTERNAL-IP  PORT(S)    AGE
redis-sentinel           <IP_ADDRESS>  <none>       26379/TCP  0s
hoping-termite-redis-ha  <IP_ADDRESS>  <none>       6379/TCP   0s

==> v1beta1/Deployment
NAME                              DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE
hoping-termite-redis-ha           3        3        3           0          0s
hoping-termite-redis-ha-sentinel  3        3        3           0          0s

==> v1beta1/StatefulSet
NAME                            DESIRED  CURRENT  AGE
hoping-termite-redis-ha-master  1        1        0s

NOTES:
Redis cluster can be accessed via port 6379 on the following DNS name from within your cluster:
hoping-termite-redis-ha.default.svc.cluster.local

To connect to your Redis server:

1. Run a Redis pod that you can use as a client:

   kubectl exec -it hoping-termite-redis-ha-master-0 bash

2. Connect using the Redis CLI:

  redis-cli -h hoping-termite-redis-ha.default.svc.cluster.local ```

![screen shot 2017-10-31 at 11 20 50 am](https://user-images.githubusercontent.com/12862216/32232066-90d80a26-be2d-11e7-914a-65459a8128fa.png)

I have troubles with latest version too @smileisak
looks like slave and master are trying to mount same PVC

having the same issue.

Bump?

Sorry guys, I was not available this periode of time, i started migrating the slave deployment to statefulset and creating 2 persistant volume claims for master and slave component. It will be available soon..

will this ever be fixed?

@esvirskiy yes it was fixed

I'm still seeing issues when persistent volume is enabled.
My command:
$ helm install --set replicas.master=1 --set replicas.slave=3 --set persistentVolume.enabled=true stable/redis-ha
Screenshot:

@smileisak is the command above incorrect? How do I enable persistent volume?

Hi, there are still some scaling issues with the PVCs, they appear not to scale:

1 PVC is created for the masters' StatefulSet, instead of 1 per replica
1 PVC is created for the slaves' StatefulSet, instead 1 per replica

As mentioned in https://github.com/kubernetes/charts/issues/2386#issuecomment-338194976 it looks like the PVCs have to be modified to use volumeClaimTemplates
As a consequence, only one master / slave are able to start, see pictures below

Hi, is anyone working on the necessary changes mentioned above ?

How can I enable PersistentVolume? I have
persistentVolume:
  ## If true, redis will create/use a Persistent Volume Claim
  ## If false, use emptyDir
  ##
  enabled: true

but
 $ kubectl get pods
NAME                                                    READY     STATUS    RESTARTS   AGE
estranged-heron-kubernetes-dashboard-6b6b9bdc87-2sdg2   1/1       Running   0          9m
redis-test-redis-ha-sentinel-846dbb8999-6vk8r           1/1       Running   0          6m
redis-test-redis-ha-sentinel-846dbb8999-dhzw4           1/1       Running   0          6m
redis-test-redis-ha-sentinel-846dbb8999-l8v9m           1/1       Running   0          6m
redis-test-redis-ha-server-6d5cdf675c-lqxfh             1/1       Running   4          6m
redis-test-redis-ha-server-6d5cdf675c-lwtfq             1/1       Running   4          6m
redis-test-redis-ha-server-6d5cdf675c-z5x6h             1/1       Running   4          6m
 $ kubectl get pvc
No resources found.

@ianmaddox can you take a look ;)

@ianmaddox pretty please? :)

Got redis-ha to use PVC but it does not work...

$ helm install --set replicas.master=1 --set replicas.slave=2 --set persistentVolume.enabled=true --name=whatever stable/redis-ha
NAME:   whatever
LAST DEPLOYED: Tue Mar  6 12:06:47 2018
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1/PersistentVolumeClaim
NAME                   STATUS  VOLUME                                    CAPACITY  ACCESSMODES  STORAGECLASS  AGE
whatever-redis-ha-pvc  Bound   pvc-c1599d54-2160-11e8-b233-08002741a5b2  2Gi       RWO          standard      1s

==> v1/Service
NAME               CLUSTER-IP     EXTERNAL-IP  PORT(S)    AGE
redis-sentinel     <IP_ADDRESS>  <none>       26379/TCP  1s
whatever-redis-ha  <IP_ADDRESS>  <none>       6379/TCP   1s

==> v1beta1/Deployment
NAME                        DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE
whatever-redis-ha           2        2        2           0          1s
whatever-redis-ha-sentinel  3        3        3           0          1s

==> v1beta1/StatefulSet
NAME                      DESIRED  CURRENT  AGE
whatever-redis-ha-master  1        1        1s

NOTES:
Redis cluster can be accessed via port 6379 on the following DNS name from within your cluster:
whatever-redis-ha.default.svc.cluster.local

To connect to your Redis server:

1. Run a Redis pod that you can use as a client:

   kubectl exec -it whatever-redis-ha-master-0 bash

2. Connect using the Redis CLI:

  redis-cli -h whatever-redis-ha.default.svc.cluster.local

$ kubectl get pvc
NAME                    STATUS    VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
whatever-redis-ha-pvc   Bound     pvc-c1599d54-2160-11e8-b233-08002741a5b2   2Gi        RWO            standard       7m

Hey all. I've spent a little time with this but got hung up by the RBAC changes. More soon.


Build with released IDA 7.0 SDK

I took the branch that @cblichmann made and made further changes to get it working with the release-edition of the IDA Pro SDK. Not super familiar with C++, so apologies in advance if I have committed some sort of crime against humanity here. It is mostly a ton of function-renaming. I have only tested this on macOS 10.13, so I would appreciate it if someone could test this on Windows/Linux.

@googlebot I signed it!

To get this to build on Windows x64 with Visual Studio 2017, I had to do this:

Upgrade the following external libraries cmake files:
ExternalPostgreSQL.cmake from 9.6.1 to 10.0 (required for Visual Studio 2017)
ExternalOpenSSL.cmake from 1.0.2k to 1.0.2l (because why not)
ExternalProtobuf.cmake from 3.2.0rc2 to 3.4.1 (because why not)

Remake the symlink in .\third_party\zynamics\binexport to the root source folder as it was pointing to the .\build_msvc folder.

Use this cmake command:
cmake .. -DCMAKE_BUILD_TYPE=Release -G "Visual Studio 15 2017 Win64"

I tried exporting a db from IDA 7.0 and it worked.

@EmberVulpix Do you have a branch that I can pull these changes from?

@lewisporter I submitted a pull request to your repo.

@EmberVulpix Merged. You need to sign the Google CLA, though.

Hi @lewisporter ! Thanks for porting BinExport to IDA 7. It compiles well on Linux and the UI works fine!
However the following idapython commands does not work anymore due to API changes:
import idaapi
idc_lang = idaapi.find_extlang_by_name("idc")
idaapi.run_statements("BinExport2Diffl9(\"test.BinExport\")", idc_lang)

Digging the python API I tried that:
rv = ida_expr.idc_value_t()
ida_expr.eval_idc_expr(rv, idc.here(), 'BinExport2Diff10("test.BinExport")')

but it returns:

"Runtime error on :1: Attempt to call undefined function 'BinExport2Diff10'"

Do you know the right way to call the fhe binexport functions using the new API ? Is there also any ways to check that the IDC are exported ?

@RobinDavid, I am guessing something has gone funny with the build version setting. I shall investigate.

I reversed both compiled binaries. In the old IDA 6.95 zynamics_binexport_9.plx64 the PluginInit refers to BinExport2Diff9 while in IDA 7.0 binexport1064.so, some initialization is performed by another function PluginRun which refers to the name BinExport2Diff. Thus just "BinExport2Diff" works perfectly fine !

Hi there,
Thanks for PR. However, I can't merge this as it is, as there are quite a few other changes in the internal version.
Upcoming changes:

IDA 7.0 support (incl. updated SDK in TravisCI/AppVeyor)
Refactored the CMake build to use a super-build structure
New dependency: Abseil Common Libraries
Updated (like above) to Protobuf 3.4, OpenSSL 1.0.2l
For some of these, I will cherry-pick a few commits. Sorry for not communicating this sooner, I'm busy getting things ready for BinDiff and IDA 7.0 (as you know, BinExport ships with BinDiff).
Cheers, Christian

@cblichmann No worries. At least this branch exists for those who need it here-and-now. Eagerly awaiting the updates 👍

5577bdf658c92dfee20d450a718ea347779b6869 updates BinExport to the latest version that ships with BinDiff 5. This is a superset of these changes. Thanks!


Fixes

Add include_once 'init.php'; after  include_once 'config/config.php'; in session.php otherwise
Undefined variable $allowed_pages
PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given

https://github.com/farisc0de/Uploady/commit/6fdc40282a27dfee414f6f761379b9d00da167d5
EDIT: Seems there's an issue
$allowed_pages doesn't have activate.php added to it, resulting in new users not being able to activate their accounts.
Adding activate.php to allowed_pages fixes the issue.
I'm assuming reset.php + forgot-password.php + expire.php also needs to be added to the same list otherwise unauthenticated users would not be able to reset their passwords
EDIT: After testing it out, I can't reset my password regardless as it endlessly states Your token has expired. Please try again.
Update:
The issue is
return $this->isExpired($token) ? false : true;
in isExist, 'Return true if the token exists otherwise false' - yet if the token is Not expired, it returns false, and if it is expired it returns true.
To refine this further, the issue is actually
function isExpired - Return true if the token expired otherwise false yet it returns false if the token is expired otherwise it returns true, swap around the true/false's in isExpired to fix it and the issue is resolved
also,

forgot-password.php can be accessed even if you're signed in

Also add maintenance.php to allowed_pages , otherwise unauthenticated users get redirected to login.php which sends to maintenance.php which gets sent to login.php, so on and so forth
Slight bug: when maintanence mode is enabled, and then I get signed out, I cannot sign in to disable maintanence mode
Another bug: Warning: Undefined array key "delete_files_success" in profile/my_files.php on line 23
Another: if you input a invalid file_id on edit.php, many warnings instead of a proper handling of the issue(Attempt to read property "file_data" on false) whereas delete.php handles improper file_id correctly
Another bug: Max filesize is set to 256mb regardless of settings , its done via Dropzone,
in upload.js set maxFilesize: 1024, // in MB -- not sure exactly how I'd go about changing it to the Role's max, but i suppose since that's done server side it is unnecessary, just set a 5gb limit and if the user role doesn't allow it, it'll be rejected
Also a way to have this functional would be ideal
chunking: true, chunkSize: 10000 * 1024,
Because otherwise this error will occur with big files: 413 Request Entity Too Large (cloudflare limits to 100mb)
But I tried it, and it does Not work! Instead, it ends up with multiple files being uploaded

Fix for a bug:
    <?php $utils->script(
        'https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"'
    ); ?>

to
    <?php $utils->script(
        'https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js'
    ); ?>

in admin/index.php
Then,
In admin/components/js.php
Add this before 'js/scripts.js' to remove the javascript error $(...).tagsinput is not a function
$utils->script("https://cdnjs.cloudflare.com/ajax/libs/bootstrap-tagsinput/0.8.0/bootstrap-tagsinput.min.js");

Fix for a bug:
    <?php $utils->script(
        'https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"'
    ); ?>

to
    <?php $utils->script(
        'https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js'
    ); ?>

in admin/index.php
Then, In admin/components/js.php Add this before 'js/scripts.js' to remove the javascript error $(...).tagsinput is not a function
$utils->script("https://cdnjs.cloudflare.com/ajax/libs/bootstrap-tagsinput/0.8.0/bootstrap-tagsinput.min.js");
Be warned: this changes settings/view.php , the keywords portion, completely changes the styling, for some reason. I'm not sure as to why Changes tag badge badge-primary to tag label label-info

Fixed
It is already there

Add include_once 'init.php'; after include_once 'config/config.php'; in session.php otherwise
Undefined variable $allowed_pages
PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given

6fdc402
EDIT: Seems there's an issue $allowed_pages doesn't have activate.php added to it, resulting in new users not being able to activate their accounts.
Adding activate.php to allowed_pages fixes the issue.
I'm assuming reset.php + forgot-password.php + expire.php also needs to be added to the same list otherwise unauthenticated users would not be able to reset their passwords
EDIT: After testing it out, I can't reset my password regardless as it endlessly states Your token has expired. Please try again.
Update: The issue is return $this->isExpired($token) ? false : true; in isExist, 'Return true if the token exists otherwise false' - yet if the token is Not expired, it returns false, and if it is expired it returns true.
To refine this further, the issue is actually function isExpired - Return true if the token expired otherwise false yet it returns false if the token is expired otherwise it returns true, swap around the true/false's in isExpired to fix it and the issue is resolved
also,

forgot-password.php can be accessed even if you're signed in

Also add maintenance.php to allowed_pages , otherwise unauthenticated users get redirected to login.php which sends to maintenance.php which gets sent to login.php, so on and so forth
Slight bug: when maintanence mode is enabled, and then I get signed out, I cannot sign in to disable maintanence mode
Another bug: Warning: Undefined array key "delete_files_success" in profile/my_files.php on line 23 Another: if you input a invalid file_id on edit.php, many warnings instead of a proper handling of the issue(Attempt to read property "file_data" on false) whereas delete.php handles improper file_id correctly
Another bug: Max filesize is set to 256mb regardless of settings , its done via Dropzone, in upload.js set maxFilesize: 1024, // in MB -- not sure exactly how I'd go about changing it to the Role's max, but i suppose since that's done server side it is unnecessary, just set a 5gb limit and if the user role doesn't allow it, it'll be rejected
Also a way to have this functional would be ideal chunking: true, chunkSize: 10000 * 1024, Because otherwise this error will occur with big files: 413 Request Entity Too Large (cloudflare limits to 100mb) But I tried it, and it does Not work! Instead, it ends up with multiple files being uploaded

Fixed

Fix for a bug:
    <?php $utils->script(
        'https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"'
    ); ?>

to
    <?php $utils->script(
        'https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js'
    ); ?>

in admin/index.php
Then, In admin/components/js.php Add this before 'js/scripts.js' to remove the javascript error $(...).tagsinput is not a function
$utils->script("https://cdnjs.cloudflare.com/ajax/libs/bootstrap-tagsinput/0.8.0/bootstrap-tagsinput.min.js");
Be warned: this changes settings/view.php , the keywords portion, completely changes the styling, for some reason. I'm not sure as to why Changes tag badge badge-primary to tag label label-info

For the tagsinput issue it is fixed now, why it changed becuase the version I have locally on the code is customized.


Fallback domain not working

Description
I added a subdomain to be used as the fallback URL of my application in case an unused(tenant) subdomain or the main url like (http://example.com) is requested
this is the addition I made
Route::domain('www.example.com')->group(function () {

});

I have set abort-without-identified-hostname in tenancy.php to false.
I have also set default hostname in tenancy.php to www.example.com
..

Actual behavior
When the main URL or an unset domain is requested, it fetches the other routes and not the route in the subdomain set in the routes.
..
Expected behavior
I expected other unset domain to fetch www.example.com, this is not the case.
Kindly advise on what to do
..

Information

hyn/multi-tenant version:
laravel version:
database driver and version:
webserver software and version:
php version:

tenancy.php config
<?php

/*
 * This file is part of the hyn/multi-tenant package.
 *
 * (c) Daniël Klabbers<EMAIL_ADDRESS> *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 *
 * @see https://laravel-tenancy.com
 * @see https://github.com/hyn/multi-tenant
 */

use Hyn\Tenancy\Database\Connection;

return [
    'models' => [
        /**
         * Specify different models to be used for the global, system database
         * connection. These are also used in their relationships. Models
         * used have to implement their respective contracts and
         * either extend the SystemModel or use the trait
         * UsesSystemConnection.
         */

        // Must implement \Hyn\Tenancy\Contracts\Customer
        'customer' => \Hyn\Tenancy\Models\Customer::class,

        // Must implement \Hyn\Tenancy\Contracts\Hostname
        'hostname' => \Hyn\Tenancy\Models\Hostname::class,

        // Must implement \Hyn\Tenancy\Contracts\Website
        'website' => \Hyn\Tenancy\Models\Website::class
    ],
    'website' => [
        /**
         * Each website has a short random hash that identifies this entity
         * to the application. By default this id is randomized and fully
         * auto-generated. In case you want to force your own logic for
         * when you need to have a better overview of the complete
         * tenant folder structure, disable this and implement
         * your own id generation logic.
         */
        'disable-random-id' => false,

        /**
         * The random Id generator is responsible for creating the hash as mentioned
         * above. You can override what generator to use by modifying this value
         * in the configuration.
         *
         * @warn This won't work if disable-random-id is true.
         */
        'random-id-generator' => Hyn\Tenancy\Generators\Uuid\ShaGenerator::class,

        /**
         * Enable this flag in case you're using a driver that does not support
         * database username or database name with a length of more than 32 characters.
         *
         * This should be enabled for MySQL, but not for MariaDB and PostgreSQL.
         */
        'uuid-limit-length-to-32' => env('LIMIT_UUID_LENGTH_32', false),

        /**
         * Specify the disk you configured in the filesystems.php file where to store
         * the tenant specific files, including media, packages, routes and other
         * files for this particular website.
         *
         * @info If not set, will revert to the default filesystem.
         */
        'disk' => null,

        /**
         * Automatically generate a tenant directory based on the random id of the
         * website. Uses the above disk to store files to override system-wide
         * files.
         *
         * @info set to false to disable.
         */
        'auto-create-tenant-directory' => true,

        /**
         * Automatically rename the tenant directory when the random id of the
         * website changes. This should not be too common, but in case it happens
         * we automatically want to move files accordingly.
         *
         * @info set to false to disable.
         */
        'auto-rename-tenant-directory' => true,

        /**
         * Automatically deletes the tenant specific directory and all files
         * contained within.
         *
         * @see
         * @info set to true to enable.
         */
        'auto-delete-tenant-directory' => false,

        /**
         * Time to cache websites in minutes. Set to false to disable.
         */
        'cache' => 10,
    ],
    'hostname' => [
        /**
         * If you want the multi tenant application to fall back to a default
         * hostname/website in case the requested hostname was not found
         * in the database, complete in detail the default hostname.
         *
         * @warn this must be a FQDN, these have no protocol or path!
         */
        'default' => env('TENANCY_DEFAULT_HOSTNAME'),
        /**
         * The package is able to identify the requested hostname by itself,
         * disable to get full control (and responsibility) over hostname
         * identification. The hostname identification is needed to
         * set a specific website as currently active.
         *
         * @see src/Jobs/HostnameIdentification.php
         */
        'auto-identification' => env('TENANCY_AUTO_HOSTNAME_IDENTIFICATION', true),

        /**
         * In case you want to have the tenancy environment set up early,
         * enable this flag. This will run the tenant identification
         * inside a middleware. This will eager load tenancy.
         *
         * A good use case is when you have set "tenant" as the default
         * database connection.
         */
        'early-identification' => env('TENANCY_EARLY_IDENTIFICATION', false),

        /**
         * Abort application execution in case no hostname was identified. This will throw a
         * 404 not found in case the tenant hostname was not resolved.
         */
        'abort-without-identified-hostname' => false,

        /**
         * Time to cache hostnames in minutes. Set to false to disable.
         */
        'cache' => 10,
    ],
    'db' => [
        /**
         * The default connection to use; this overrules the Laravel database.default
         * configuration setting. In Laravel this is normally configured to 'mysql'.
         * You can set a environment variable to override the default database
         * connection to - for instance - the tenant connection 'tenant'.
         */
        'default' => env('TENANCY_DEFAULT_CONNECTION'),
        /**
         * Used to give names to the system and tenant database connections. By
         * default we configure 'system' and 'tenant'. The tenant connection
         * is set up automatically by this package.
         *
         * @see src/Database/Connection.php
         * @var system-connection-name The database connection name to use for the global/system database.
         * @var tenant-connection-name The database connection name to use for the tenant database.
         */
        'system-connection-name' => env('TENANCY_SYSTEM_CONNECTION_NAME', Connection::DEFAULT_SYSTEM_NAME),
        'tenant-connection-name' => env('TENANCY_TENANT_CONNECTION_NAME', Connection::DEFAULT_TENANT_NAME),

        /**
         * The tenant division mode specifies to what database websites will be
         * connecting. The default setup is to use a new database per tenant.
         * In case you prefer to use the same database with a table prefix,
         * set the mode to 'prefix'.
         *
         * @see src/Database/Connection.php
         */
        'tenant-division-mode' => env('TENANCY_DATABASE_DIVISION_MODE', 'database'),

        /**
         * The database password generator takes care of creating a valid hashed
         * string used for tenants to connect to the specific database. Do
         * note that this will only work in 'division modes' that set up
         * a connection to a separate database.
         */
        'password-generator' => Hyn\Tenancy\Generators\Database\DefaultPasswordGenerator::class,

        /**
         * The tenant migrations to be run during creation of a tenant. Specify a directory
         * to run the migrations from. If specified these migrations will be executed
         * whenever a new tenant is created.
         *
         * @info set to false to disable auto migrating.
         *
         * @warn this has to be an absolute path, feel free to use helper methods like
         * base_path() or database_path() to set this up.
         */
        'tenant-migrations-path' => database_path('migrations/tenant'),

        /**
         * The default Seeder class used on newly created databases and while
         * running artisan commands that fire seeding.
         *
         * @info requires tenant-migrations-path in order to seed newly created websites.
         *
         * @warn specify a valid fully qualified class name.
         * @example App\Seeders\AdminSeeder::class
         */
        'tenant-seed-class' => TenantDatabaseSeeder::class,

        /**
         * Automatically generate a tenant database based on the random id of the
         * website.
         *
         * @info set to false to disable.
         */
        'auto-create-tenant-database' => true,

        /**
         * Automatically generate the user needed to access the database.
         *
         * @info Useful in case you use root or another predefined user to access the
         *       tenant database.
         * @info Only creates in case tenant databases are set to be created.
         *
         * @info set to false to disable.
         */
        'auto-create-tenant-database-user' => true,

        /**
         * Automatically rename the tenant database when the random id of the
         * website changes. This should not be too common, but in case it happens
         * we automatically want to move databases accordingly.
         *
         * @info set to false to disable.
         */
        'auto-rename-tenant-database' => true,

        /**
         * Automatically deletes the tenant specific database and all data
         * contained within.
         *
         * @info set to true to enable.
         */
        'auto-delete-tenant-database' => env('TENANCY_DATABASE_AUTO_DELETE', false),

        /**
         * Automatically delete the user needed to access the tenant database.
         *
         * @info Set to false to disable.
         * @info Only deletes in case tenant database is set to be deleted.
         */
        'auto-delete-tenant-database-user' => env('TENANCY_DATABASE_AUTO_DELETE_USER', false),

        /**
         * Define a list of classes that you wish to force onto the tenant or system connection.
         * The connection will be forced when the Model has booted.
         *
         * @info Useful for overriding the connection of third party packages.
         */
        'force-tenant-connection-of-models' => [
//            \App\User::class
        ],
        'force-system-connection-of-models' => [
//            \App\User::class
        ],
    ],
    'folders' => [
        'config' => [
            /**
             * Merge configuration files from the config directory
             * inside the tenant directory with the global configuration files.
             */
            'enabled' => true,

            /**
             * List of configuration files to ignore, preventing override of crucial
             * application configurations.
             */
            'blacklist' => ['database', 'tenancy', 'webserver'],
        ],
        'routes' => [
            /**
             * Allows adding and overriding URL routes inside the tenant directory.
             */
            'enabled' => true,

            /**
             * Prefix all tenant routes.
             */
            'prefix' => null,
        ],
        'trans' => [
            /**
             * Allows reading translation files from a trans directory inside
             * the tenant directory.
             */
            'enabled' => true,

            /**
             * Will override the global translations with the tenant translations.
             * This is done by overriding the laravel default translator with the new path.
             */
            'override-global' => true,

            /**
             * In case you disabled global override, specify a namespace here to load the
             * tenant translation files with.
             */
            'namespace' => 'tenant',
        ],
        'vendor' => [
            /**
             * Allows using a custom vendor (composer driven) folder inside
             * the tenant directory.
             */
            'enabled' => true,
        ],
        'media' => [
            /**
             * Mounts the assets directory with (static) files for public use.
             */
            'enabled' => true,
        ],
        'views' => [
            /**
             * Adds the vendor directory of the tenant inside the application.
             */
            'enabled' => true,

            /**
             * Specify a namespace to use with which to load the views.
             *
             * @eg setting `tenant` will allow you to use `tenant::some.blade.php`
             * @info set to null to add to the global namespace.
             */
            'namespace' => null,

            /**
             * If `namespace` is set to null (thus using the global namespace)
             * make it override the global views. Disable to
             */
            'override-global' => true,
        ]
    ]
];

webserver.php config

Error log

Thanks @luceos ,
I have done that and it's thesame

With which url are you requesting. The routes under the domain section will only apply to the exact www.example.com, that excludes example.com and any tenant (existing and non-existing).

Kindly complete the issue information:
hyn/multi-tenant version:
laravel version:
database driver and version:
webserver software and version:
php version:
Using domain in your routes should work out of the box when you have abort-without-hostname set to false. Do you perchance have the config cached?

Stale, no reply.

Hi luceos, i'm faced same issue here, i already set the abort-without-hostname to false but the system not detect the tenants, also i already cached the config.
hyn/multi-tenant version: 5.4
laravel version: 5.8
database driver and version: 5.7.26 MySQL
webserver software and version: Linux 3.10.0-957.10.1.el7.x86_64 #1 SMP Mon Mar 18 15:06:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux || cPanel 78.0.23
php version: PHP 7.2.18

@semprul57 create a new issue please and provide the information asked for. Thank you.


Code review

#issues on Awesome book

[ ] functionality problem on adding book Please fix the issue

#issues on Awesome book

[ ] functionality problem on adding book Please fix the issue

Thank you for constrictive suggestion. I will fix it.


Estimate fee for test cases — 2

Add --gas-price flag to the test command. The gas price argument accepts floats to allow representing fee in various currencies.
Taking over https://github.com/software-mansion/protostar/pull/1013
Closes #796

I have just tried this feature on some tests, the results don't seem to represent the true costs.
Here is an example of some test results:
Run1:
time=17.32s, gas=4059, steps=147619, memory_holes=32442 pedersen_builtin=21 range_check_builtin=7495

Run2:
time=31.45s, gas=4059, steps=389198, memory_holes=30887 pedersen_builtin=21 range_check_builtin=6970

Resources on run2 are considerably lower (especially steps) but the gas result is the same


Overly loud warnings for steering unavailable

Describe the bug
On master branch I'm getting very loud 'steering unavailable' warnings when going around corners.  This happens quite often, the route below has a few instances in two miles. The noise is jarring.
How to reproduce or log data
Happens driving around corners, or entering a corner.
Expected behavior
A less noisy/intrusive warning when steering is unavailable driving through corners.
Device/Version information (please complete the following information):

Device: Comma2
Dongle ID: 6a8fa21108f02593
Route: 6a8fa21108f02593%7C2021-04-11--08-41-17--0
Timestamp: Several times within the first few minutes of the route
Version: master 337ac2b4c50c0c30ca83f036fe08ce89bf6caae0
Car make/model: 2019 Acura RDX Tech

Additional context
Initially discussed with @adeebshihadeh in https://github.com/commaai/openpilot/pull/20656, where a cause was pointed out: https://github.com/commaai/openpilot/pull/20567

Can attest to this. The new changes are almost unusable on Honda / Acura vehicles since steer unavailable happens every time the wheel is slightly jerked while engaged.

We still want to alert for loss of steering, but made the alert less harsh when overriding in #20718.


Start enforcing scheduler throughput to be 90+ in density test

This is to catch regressions like https://github.com/kubernetes/kubernetes/pull/85030.
This will affect only tests for 500+ node clusters as in smaller clusters the scheduler QPS setting may be less than 100 and hence to 100 throughput won't be achievable.

/assign @oxddr

/assign @wojtek-t

Ref. https://github.com/kubernetes/perf-tests/issues/922

/lgtm


How to calculate NoteOn & NoteOff timestamp in ms?

I need to get timestamps of NoteOn and NoteOff, I've found the formula 60000 / (BPM * PPQ), but I don't know how to get the PPQ value using this library.

use MidiFile.getResolution() or TimeSignature.getDivision() is ppq

use MidiFile.getResolution() or TimeSignature.getDivision() is ppq

I need to get timestamps of NoteOn and NoteOff, I've found the formula 60000 / (BPM * PPQ), but I don't know how to get the PPQ value using this library.

try this library and use JMidiTempoMap to get the timestamps of event

if(event is Tempo){
currentMpqn = event.mpqn
}
currentResolution = midFile.resolution
timestamp = ticksToMs(event.tick, currentMpqn, currentResolution)


Remove The Word "Just" from moderation

What would you like to share?
The word just can be inclusive but in some cases like:

Just in case
I just figured this out
Just in time
The bot can misinterpret the meaning.

I don't think there is a way to be able to filter the sentences to just block the ones that are truly inclusive, so I think it's better to remove just from moderation for now and maybe try to learn from the messages shared which variants of "just" can be really harmful in the meaning and just add those
Additional information
No response

This is already set in our config, but we weren't passing that config into Alex correctly.
Linked PR will fix that.

Thank you

Thank you, I think the bot still doesn't like me, but we'll work on that relationship


Order of evaluation in expressions can generate incorrect adjoints

Describe the bug
When auto-generating an adjoint specialization, Q# reverses the order of statements, but does not reverse the order of evaluation in expressions. Because evaluation can have side effects, this means auto-generated adjoint specializations may apply operations in an incorrect order.
To Reproduce
operation Evaluator(a : Unit, b : Unit) : Unit is Adj { }

operation DoubleCNOT(a : Qubit, b : Qubit) : Unit is Adj {
    Evaluator(CNOT(a, b), CNOT(b, a));
}

@EntryPoint()
operation Demo() : Unit {
    using ((a, b) = (Qubit(), Qubit())) {
        within {
            X(a);
            DoubleCNOT(a, b);
        } apply { }
        Message($"({M(a)}, {M(b)})");
    }
}

Outputs (Zero, One) because the within block is not uncomputed correctly.
Expected behavior
The code above should output (Zero, Zero), or it should not be allowed at all.
System information
Q# compiler v0.12.20082513

One option to fix this is to implicitly lift operation calls in expressions into statements in the nearest scope, in order from left to right, so formally
Evaluator(CNOT(a, b), CNOT(b, a));

would be equivalent to
let x = CNOT(a, b);
let y = CNOT(b, a);
Evaluator(x, y);

Then order of evaluation would be well-defined, although this would also prevent this code from compiling because of QS6316: "Auto-generation of inversions is not supported for operations that contain operation calls outside expression statements."

Actually, to clarify the above, the first line could be translated as
CNOT(a, b);
CNOT(b, a);
Evaluator((), ());

because CNOT returns Unit. Then adjoint generation would be possible without the bug here.

@samarsha Would the lifting only be necessary for operations that are themselves adjoint? As in, should a function be left inline, or should every callable in an expression get lifted unconditionally?

Also, it looks like this problem also applies to interpolated strings, so if DoubleCNOT were implemented as:
operation DoubleCNOT(a : Qubit, b : Qubit) : Unit is Adj {
    Message($"{CNOT(a, b)}, {CNOT(b, a)}");
}

then the same problem occurs. So whatever solution we use, we need to make sure it handles interpolated strings too.

Would the lifting only be necessary for operations that are themselves adjoint? As in, should a function be left inline, or should every callable in an expression get lifted unconditionally?

I think lifting needs to happen only to operation calls right before adjoint generation at the latest. There might be benefits to handling it consistently for all call expressions, but I don't think it's necessary for functions since they don't have side effects, and will probably increase the size of the AST and generated C#.


Merge Master-To-Dev Post 2.0.2 Sign-Off

Merges master to dev for common 2.0.2

Going to make an intermediate branch for a clean merge. Closing.


chore(coverage): publish coverage to codeclimate

Previously, we were only publishing coverage to coveralls and using code climate for analysis

Coverage remained the same at 83.621% when pulling 8c74c9627d1432af2ebc0d9038c9438660349b2a on code-climate-coverage into cd2b1b4204d2bb7c0c008c1cf88ca33a35fcabde on master.

👍


cloudflare-utils: init at 1.2.1

Description of changes
Add cloudflare-utils https://github.com/Cyb3r-Jak3/cloudflare-utils, Helpful Cloudflare utility program

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[x] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4176


Merge pull request #411 from MicrosoftDocs/master

Deploy June 2021 second publish

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


Ignore IntelliJ IDEA files

It seems odd to me that we would put Java IDE files in our .gitignore, but I don't see the harm in it.
We should probably add comments for the other ignored files.
Vim is '*.swp'
pdflatex is 'doc/' stuff.
cover and release are both folders that are created during different parts of the build process (cover measures test coverage, release contains cross-platform binaries)

@lukechampine what are your thoughts?

IntelliJ started out as a Java IDE but now they have plugins for "everything".
https://github.com/go-lang-plugin-org/go-lang-idea-plugin

I don't see any harm in merging this, esp. with comments.


Feature request: Export as elasticsearch query

It would be a nice feature to get implemented to be able to filter, sort etc and then export that as a elasticsearch query.

@slowmove We are working to support issue #1, where a user can export data (as JSON) directly from the applied filters.
What's the use-case for showing the query in JSON format?

@siddharthlatest a use case for exporting the query itself would be if you want to implement it in your code for use in a script or web application of some sort.

@slowmove it makes sense but dejaVu's filters don't cover the breadth / depth of Elasticsearch's query DSL. That would be a better fit for something like https://github.com/appbaseio/es-querycomposer, it's not prototype ready (yet), but the premise is to have a GUI that can compose ES queries.


mockImplementation doesn't work with constructor functions.

What I've tried to do, is wrap an es6 class in a mock. The simplified version of what I'm doing would be:
class A {
    constructor(foo){
    }
}

module.exports.A = jest.genMockFunction().mockImplementation(A).

But when I try to call it using new A("foo"), I get this error:
TypeError: Class constructors cannot be invoked without 'new'

As a workaround for anyone having this issue, what you can do is create a sort of decorator (though I'm not upto snuff with es6 decorators.)
var getInstantiator = function(clss){
    return function(foo){
        return new clss(foo);
    }
}

module.exports.A = jest.genMockFunction().mockImplementation(getInstantiator(A));

this means that the mock implementation can be called without "new", and an instance of A will still be returned, but it works fine for new A("foo") as well.

Hey @bigblind. This is a good point but this is actually by design and JS doesn't really allow to call the constructor with variadic arguments and a bound context. I think the wrapper you have is the only proper way to solve this for now.


Project API: Map Project entity to ProjectDto in service and controller

Is this Project entity no longer mapped?

Shobbit opened this issue long time ago, unfortunately he has no time working on it. Felipe, do we still need this task, or it has already been taken care of in the current code?

It's already done.


Master branch builds fail to push to dockerhub

The master branch build of this repo fails to push an updated image to dockerhub:
0.39s$ docker login -u $DOCKER_USER -p $DOCKER_PASS
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get https://registry-1.docker.io/v2/: unauthorized: incorrect username or password
after_success.2
0.00s$ if [ ! -z "$TRAVIS_TAG" ]; then docker tag wrouesnel/postgres_exporter:latest wrouesnel/postgres_exporter:$TRAVIS_TAG ; docker push wrouesnel/postgres_exporter:$TRAVIS_TAG ; fi
after_success.3
0.48s$ if [ "$TRAVIS_BRANCH" == "master" ]; then docker push wrouesnel/postgres_exporter ; fi
The push refers to a repository [docker.io/wrouesnel/postgres_exporter]
70a102b25064: Preparing
denied: requested access to the resource is denied

https://travis-ci.org/wrouesnel/postgres_exporter/builds/546072997

@wrouesnel seems like you need to update the docker creds in your travis settings to fix this.
Thanks!

Thanks for the notification - working on it now.


[util] Add workarounds for NFS 3 and 4

Both Need for Speed 3 and 4 can be played on modern systems using a "modern patch", which provides a d3d8 renderer inspired by the one available in MCO. Therefore, to no one's surprise, they are mostly affected by the same problems, namely:

NFS 3:

half-quads without MANAGED placement disabled
poor performance without apitraceMode enabled

NFS 4:

half-quads without MANAGED placement disabled
rendering issues without capped VRAM (it will only render the UI in-game without a limit in place)
strangely, it appears unaffected by apitraceMode and performance is fine even without it

I expect both games will benefit from the batch renderer when it is ready, but for now should be more than playable with the above.
On a side-note, support for these games is bad in WineD3D. The d3d6 renderer crashes when it reaches the main menu. The d3d7 renderer doesn't crash but is a complete slideshow (I'm talking fractional fps here). d3d8 has the usual half-quads and broken geometry. nGlide only renders a black screen. dgVoodoo works but with constant hitching. And last, but not least, software mode is just... well, as bad looking as you'd expect. So really d3d8 with d8vk is the only way I've been able to play these games without issues in Wine (with the above config options in place) :+1: .

Ok, so I figured out why nGlide was only showing a black screen. Or better said @Blisto91 did a while ago, and already had a workaround added for the game in dxvk.
Mind you the game doesn't actually have a d3d9 renderer, but it defaults to using nGlide, which will bump glide to d3d9, so if you use it in a prefix where dxvk is present it will pick it up. It doesn't hurt d3d8, and I guess some people may hit the glide->d3d9 path since it's the default, so I've merged both bits and added enableDialogMode to NFS4 as well, because it has the same problem actually.


stream.py got NoneType Error

running main.py as following:
if __name__ == '__main__':
    api.initialize()  # checks tokens & loads variables
    api.updateTokensAutomatic() # starts thread to update tokens automatically
    stream.startManual() # start the stream manually

got following error:
File "\modules\stream.py", line 31, in _Start
 streamVars.streamerInfo = api.userPreference.userPreference().json().get('streamerInfo', None)[0]
TypeError: 'NoneType' object is not subscriptable
I print out 'api.userPreference.userPreference().json()' got following output:
{'errors': [{'id': 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 'status': 401, 'title': 'Unauthorized', 'detail': 'Client not authorized'}]}
again, I don't think authorization is the problem, as I can run main() with out any issue if stream.startManual() is comment out.

I have found the problem, it is related to how to import the api and universe, I used an upper folder as parent folder:
from Parent_folder.modules import api, universe
The import is ok, but that could change the CWD for the script and cause the api.userPreference.userPreference().json() returns 401 error. The above error is removed once I revised the imports to:
from modules import api, universe
However, the websocket connection still has problem, I will raise another issue for that. Thanks.


Redeem funds does not work

See https://github.com/getAlby/hub/pull/363
This doesn't work if there are no channels open, because we do not set aside funds to pay the onchain transaction fee.
Also, it would also drain all the anchor reserves if used multiple times (even just once could decrease anchor reserves which may make it difficult to force close a channel).

I have seen this issue 3 or 4 times already. For the moment, I'm going to notify the users a portion of the funds needs to remain in the balance as long as channels are active. If they need the Savings Balance funds, they might need to close all of their channels before fully withdrawing their Saving Balance.  Also I will tell them we are working on enabling a way for them to remove their funds while living the necessary portion for their channels to remain open. but for the moment  it is an all or nothing .

Here is a Hub having that issue and no online channels


Error when create from template which with image file

Steps:

Click "new file from template"
Choose a template with jpg or png inside
Enter name

Error:
Lexical error on line 1. Unrecognized text.
�����JFIF���������C
----^
svg is ok,but jpg & png will error
maybe an option to ignore file/foler analyze

Thanks for writing that up. I will take a look into getting us setup to skip non-text files!

I think I have a solution ready and should be able to release a new version in the next few days that fixes this.

Version 2.2.0 was just released with this fix. Thanks for reporting!


Crab cakes

What is the recipe? Jei doesn't show it.
Crabber's Delight 1.0.1.

It appears I forgot to add a recipe for this - thats embarrasing
I will release an update tonight hopefully to add the recipe and fix this, thanks for catching it!

This is now fixed in 1.0.3, you can get it from the Curseforge or Modrinth pages


Netherite Items are not changing

When crafting a netherite sword out of a diamond sword, the netherite sword will be exactly the same as the diamond sword. No new quality and even the damage will be the same as diamond.

It keeps the same damage and the name from the old sword.

I believe I have fixed all of these issues, would you mind testing it?
Download the fix here.
Lemme know if everything is alright and I will publish it!

It doesn't get a quality because you have the craft option disabled, if you enable it, it will get one. Technically smithing is crafting :p

oh also, the double drops will effect anything that has a max stack size of more than 1 (so tools and such will not be effected) if you think I should make it to where the double drops only effects mobs, let me know!
Also, do you think I should make it to where if you have the quality on craft disabled when you smith, the result item should get the quality of the input item?

What do you mean reload feature? like a /reload command? There is one, /qualities reload
And alright, sounds good, I'll get those going.

I got those suggestions in now. Test them out here.
Note, the double drop now only effects Mobs AND Animals. If you think I should add config options to better customize what it effects, let me know!

I'm going to assume everything is in order, on my end everything is fine! thanks for reporting these issues. I will be publishing this hotfix now. You may reopen this issue if you have anything else to say!


[chore] goimports and PR template

Moved the PR template and added goimports to the linter

outdated repo... sorry


pub/sub

tell me, is there any in this module event?
for example, so that I can organize pub/sub
if no, how best to do this on the basis of this module?

This module does not implement pub/sub. That is not within the scope of this module, which is only focused on allowing you to interact with sqlite3 databases from node.js