Support for BigQuery external tables on Google Sheets using python

Describe the feature
It's not yet possible to create an external table using sql.
However Google provides Python script that does the job.
Describe alternatives you've considered
https://cloud.google.com/bigquery/docs/external-data-drive#create_external_tables
from google.cloud import bigquery
import google.auth

# Create credentials with Drive & BigQuery API scopes.
# Both APIs must be enabled for your project before running this code.
credentials, project = google.auth.default(
    scopes=[
        "https://www.googleapis.com/auth/drive",
        "https://www.googleapis.com/auth/bigquery",
    ]
)

# Construct a BigQuery client object.
client = bigquery.Client(credentials=credentials, project=project)

# TODO(developer): Set dataset_id to the ID of the dataset to fetch.
# dataset_id = "your-project.your_dataset"

# Configure the external data source.
dataset = client.get_dataset(dataset_id)
table_id = "us_states"
schema = [
    bigquery.SchemaField("name", "STRING"),
    bigquery.SchemaField("post_abbr", "STRING"),
]
table = bigquery.Table(dataset.table(table_id), schema=schema)
external_config = bigquery.ExternalConfig("GOOGLE_SHEETS")
# Use a shareable link or grant viewing access to the email address you
# used to authenticate with BigQuery (this example Sheet is public).
sheet_url = (
    "https://docs.google.com/spreadsheets"
    "/d/1i_QCL-7HcSyUZmIbP9E6lO_T5u3HnpLe7dnpHaijg_E/edit?usp=sharing"
)
external_config.source_uris = [sheet_url]
external_config.options.skip_leading_rows = 1  # Optionally skip header row.
external_config.options.range = (
    "us-states!A20:B49"  # Optionally set range of the sheet to query from.
)
table.external_data_configuration = external_config

# Create a permanent table linked to the Sheets file.
table = client.create_table(table)  # Make an API request.

# Example query to find states starting with "W".
sql = 'SELECT * FROM `{dataset_id}.{table_id}` WHERE name LIKE "W%"'

query_job = client.query(sql)  # Make an API request.

# Wait for the query to complete.
w_states = list(query_job)
print(
    f"There are {len(w_states)} states with names starting with W in the selected range."
)

Additional context
Yes. BigQuery specific.
Who will this benefit?
BigQuery external tables over Google Sheets provides a user friendly endpoint to and mechanism to get spreadsheet data into BigQuery. Creating the external tables in dbt makes them more reproducible in different environments.

Hi,
I found this gist from @thomashandorf :
https://gist.github.com/thomashandorf/0d54848ccd84448001abb2a51d48794a
It seems that it's now possible to use SQL to create BigQuery external tables over Google Sheets.
Thank you @thomashandorf for that gist 🙏🏽 !

:up:
I would like to see this feature implemented, too.


Add dependency management pattern

I should mention - I also read this for content and it makes sense to me. :)


Bugfix/tb bugfix 121801

这个 PR 实现什么功能/修复什么问题:

更新lbcert & lbacl cache删除检查
同步阿里云elb项目信息
lbacl&lbcert创建时根据权限设置默认共享属性

是否需要 backport 到之前的 release 分支:

release/3.5
release/3.6

/area region
/cc @yousong @zexi @swordqiu

Codecov Report

Merging #9548 (64d9bac) into master (15e1058) will increase coverage by 10.58%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #9548       +/-   ##
===========================================
+ Coverage    5.92%   16.50%   +10.58%
===========================================
  Files         842       87      -755
  Lines      130667     9120   -121547
===========================================
- Hits         7736     1505     -6231
+ Misses     122231     7483   -114748
+ Partials      700      132      -568

Flag
Coverage Δ

aFlag
16.50% <ø> (+10.58%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/cloudcommon/policy/policy.go

pkg/baremetal/tasks/basedeploy.go

pkg/mcclient/options/k8s/ingress.go

pkg/appsrv/radix.go

pkg/compute/models/guest_queries.go

pkg/compute/regiondrivers/zstack.go

pkg/mcclient/options/dbinstances.go

pkg/compute/models/networks_id_change_handlers.go

pkg/multicloud/ucloud/ufile.go

pkg/monitor/alerting/eval_context.go

... and 741 more

Continue to review full report at Codecov.

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

/lgtm
/approve


Automated cherry pick of #5657: Set net.ipv4.conf.antrea-gw0.arp_announce to 1

Cherry pick of #5657 on release-1.12.
#5657: Set net.ipv4.conf.antrea-gw0.arp_announce to 1
For details on the cherry pick process, see the cherry pick requests page.

/test-flexible-ipam-e2e
/test-all


[BUG] Seems the header x-ms-cookie-header is not working

Type of Connector
Custom Connector
Name of Connector
SAP-ODATA-Demo
Describe the bug
Hello
I tried the connector and I allways get
CSRF token validation failed
I tried from outside PowerApps and that error is when the cookies are not sent.
I tried changing the "x-ms-cookie-header" for "Cookie" without success.
I read about this subject googling and seems Microsoft blocks cookie access
Any idea?
Is this a security bug?
No, this is not a security bug
What is the severity of this bug?
Severity 2 - One or more important connector features are down
To Reproduce
Run the connector in two steps, the first to get the x-csrf-token and the second one to post some data
Expected behavior
not getting an error
Environment summary
Install Method (e.g. pip, interactive script, apt-get, Docker, MSI, edge build)
CLI version (paconn --version)
OS version
Shell Type (e.g. bash, cmd.exe, Bash on Windows)
Additional context
.

So, I don't understand the documentation or it's not clear enoght, it says to set the cookie in the 'x-ms-cookie-header' header, and the cookie header is not set anywhere

Anyway, It didn't work form me, I could do a workaround using Power Automate instead Custom Connections from Power Apps doying what you said.

Ok I found my problem, I was trying this with another API call (Incident API) and I didn't realize that I have to add the endpoint to the list of actions and triggers to which the policy will apply to.
Thank you Sameer for your help and I'm sorry if my previous message sounds aggresive, I'm re-reading it and I don't like how it sounds.
I'm closing the case.


Update README.md

Overall, the code appears to be well-structured and follows good practices. However, there are a few areas where enhancements can be made:

Lack of Error Handling: The code lacks proper error handling mechanisms. It should include exception handling to catch and handle potential errors during file operations, OpenAI connection, and API calls.

Lack of Input Validation: The code assumes that the environment variables 'GITHUB_EVENT_PATH' and 'GITHUB_TOKEN' will always be available. It is advisable to add input validation to ensure these variables exist and contain valid values.

Absence of Function Definitions: The code contains references to functions like 'get_changed_files', 'send_to_openai', and 'post_comment' but does not show their implementation. It is recommended to include these functions or specify where they are coming from for clarity.

Modularization: The main function seems to be responsible for multiple tasks like fetching files, sending to OpenAI, and posting comments. It would be better to split these responsibilities into separate functions for better separation of concerns and code maintainability.

Lack of Documentation: Though the purpose of the main function is explained in the initial comment, individual functions and their parameters lack proper documentation. Each function should have a docstring explaining its purpose, inputs, and outputs.

Lack of Logging: It would be beneficial to include logging statements throughout the code to track the flow and enable better debugging in case of any issues.

Taking these recommendations into account, an improved version of the code could look like this:
import os
import json
import logging

def get_pull_request(event):
    # Get the pull request object using the Github token
    # and the pull request number
    repository_name = event['repository']['full_name']
    pull_request_number = event['number']
    return Github(os.getenv('GITHUB_TOKEN')).get_repo(repository_name).get_pull(pull_request_number)

def get_changed_files(pull_request):
    # Return the list of changed files in the pull request
    return []

def send_to_openai(files):
    # Send the files to OpenAI for review
    return ""

def post_comment(pull_request, review):
    # Post the review as a comment on the pull request
    pass

def main():
    """Orchestrates the operations of:
     1. Fetching changed files from a PR
     2. Sending those files to OpenAI for review
     3. Posting the review as a comment on the PR
    """
    try:
        # Get the pull request event JSON
        with open(os.getenv('GITHUB_EVENT_PATH')) as json_file:
            event = json.load(json_file)

        # Get the pull request object
        pr = get_pull_request(event)

        # Get the changed files in the pull request
        files = get_changed_files(pr)

        # Send the files to OpenAI for review
        review = send_to_openai(files)

        # Post the review as a comment on the pull request
        post_comment(pr, review)

    except Exception as e:
        logging.error(str(e))

if __name__ == "__main__":
    logging.basicConfig(level=logging.INFO)
    main()

By implementing these improvements, the code will be more robust, maintainable, and easier to debug.


Making test_atomic_op testcase CFD compliant

[x] Have you provided a meaningful PR description?

This PR makes the necessary changes to make test_atomic_op testcase follow "Compute Follows Data" semantics.

The input numpy ndarray declaration is changed to dpnp array.

All uses of dpctl.device_context has been removed. Filter strings are now passed directly to dpnp array allocation.

Kernel invocations now use dpex.Range classes for specifying global and local size.

[x] Have you added a test, reproducer or referred to an issue with a reproducer?

[x] Have you tested your changes locally for CPU and GPU devices?

Fixes #986. Tested on 4th gen Xeon. Tests run on CPU with OpenCL backend and on GPU with level zero

[x] Have you made sure that new changes do not introduce compiler warnings?
[x] If this PR is a work in progress, are you filing the PR as a draft?

Merging based on public CI.


Low mAP Score on my custom data set.

@endernewton , Hi we are working on custom images in which we have done annotation like object inside object kind of thing, for ex : Bus picture has car and other objects on it.
Due to this our mAP score is reducing to 30% , earlier it was 75%. How to improve the score.
Or Do i need to change mAP calculation logic

I am not sure having objects inside other objects can cause such a reduction, especially for different classes. because deduplication (nms) is done separately for each class.


Cleanup stale events in the DB (#361)

this does not sounds like what we want to do. esp. not on an open DB that is in use.

It wouldn't be on an open DB, it would be a new database migration that runs on startup.

then remove that foreign key constraint. I don't think it's necessarily good to have this on the DB level here?

That could be another option. But I don't think SQLite supports dropping constraints (e.g. ALTER TABLE payments DROP FOREIGN KEY fk_payments_request_event;). Unless I'm wrong we will still need to create a new table and transfer the payments over.

The recommended way to “drop” a foreign key in SQLite is actually to transfer the data to a new table without a foreign key.

I don't think creating new tables and moving data over on bootup is a good practice. I also have never heard about this and the need for this.

@bumi unfortunately, sqlite explicitly does not support altering constraints (https://sqlite.org/omitted.html):

Only the RENAME TABLE, ADD COLUMN, RENAME COLUMN, and DROP COLUMN variants of the ALTER TABLE command are supported. Other kinds of ALTER TABLE operations such as ALTER COLUMN, ADD CONSTRAINT, and so forth are omitted.

Looks like the workaround Roland mentioned is the only way to go if we are to change the constraint. However, we anticipate that those tables can be large.
But then again, do we have a lot of active users of the app? If we go forward with this migration, will it affect a lot of people? If not, should we give it a try? Or maybe even change the original database schema so that all new installations get proper DB?


ErrorCode: InvalidParameter

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

ID: aea3dc10-1548-3447-fb12-d2cea8dc2235
Version Independent ID: 614784aa-6c14-7aa8-b74e-331afcc407de
Content: PowerShell - Create an image from a snapshot or Managed Disk in a Shared Image Gallery - Azure Virtual Machines
Content Source: articles/virtual-machines/image-version-snapshot-powershell.md
Service: virtual-machines
Sub-service: shared-image-gallery
GitHub Login: @cynthn
Microsoft Alias: cynthn

@VladKulyk Can you give the full command & Parameters you are using?

Please close the ticket/ Update PS AZ module helped for me

@VladKulyk We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Windows cc protobuf building is broken

If you try to use compiler=mingw-gcc on Windows you cannot build any protos.
$ bazel build Security/Proto:all  --javabase=@bazel_tools//tools/jdk:remote_jdk11 --compiler=mingw-gcc
Loading:
Loading: 0 packages loaded
Analyzing: 4 targets (1 packages loaded, 0 targets configured)
INFO: Analyzed 4 targets (1 packages loaded, 6 targets configured).
INFO: Found 4 targets...
[0 / 10] [Prepa] BazelWorkspaceStatusAction stable-status.txt ... (3 actions, 0 running)
ERROR: C:/users/katso/documents/github/denarii/external/keirospublic/Security/Proto/BUILD:15:14: Generating Descriptor Set proto_library //Security/Proto:identifier_proto failed: (Exit -1073741515): protoc.exe failed: error executing command bazel-out/x64_windows-opt-exec-2B5CBBC6/bin/external/com_google_protobuf/protoc.exe --descriptor_set_out=bazel-out/x64_windows-fastbuild/bin/Security/Proto/identifier_proto-descriptor-set.proto.bin ... (remaining 5 argument(s) skipped)
INFO: Elapsed time: 0.388s, Critical Path: 0.03s
INFO: 5 processes: 5 internal.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully

And the error message is not particularly helpful which compounds the issue.
I used protos at https://github.com/andrewkatson/KeirosPublic.git

I don't have a Windows machine to repro this. Would you mind running with --verbose_failures and share the output?

Loading:
Loading: 0 packages loaded
Analyzing: 14 targets (0 packages loaded, 0 targets configured)
INFO: Analyzed 14 targets (0 packages loaded, 0 targets configured).
INFO: Found 14 targets...
[0 / 36] [Prepa] BazelWorkspaceStatusAction stable-status.txt
ERROR: C:/msys64/home/katso/_bazel_katso/cjrunvaw/external/com_google_protobuf/BUILD:309:15: Generating Java (Immutable) proto_library @com_google_protobuf//:timestamp_proto failed: (Exit -1073741515): protoc.exe failed: error executing command
  cd C:/msys64/home/katso/_bazel_katso/cjrunvaw/execroot/keiros_public
  SET PATH=C:\msys64\usr\bin;C:\msys64\bin;C:\Windows;C:\Windows\System32;C:\Windows\System32\WindowsPowerShell\v1.0;C:\msys64\usr\local\bin;C:\msys64\usr\bin;C:\msys64\usr\bin;C:\msys64\opt\bin;C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\msys64\usr\bin\site_perl;C:\msys64\usr\bin\vendor_perl;C:\msys64\usr\bin\core_perl;C:\Users\katso\AppData\Local\Microsoft\WindowsApps
    SET RUNFILES_MANIFEST_ONLY=1
  bazel-out/x64_windows-opt-exec-2B5CBBC6/bin/external/com_google_protobuf/protoc.exe --proto_path=bazel-out/x64_windows-fastbuild/bin/external/com_google_protobuf/_virtual_imports/timestamp_proto --java_out=bazel-out/x64_windows-fastbuild/bin/external/com_google_protobuf/timestamp_proto-speed-src.jar -Igoogle/protobuf/timestamp.proto=bazel-out/x64_windows-fastbuild/bin/external/com_google_protobuf/_virtual_imports/timestamp_proto/google/protobuf/timestamp.proto --direct_dependencies google/protobuf/timestamp.proto --direct_dependencies_violation_msg=%s is imported, but @com_google_protobuf//:timestamp_proto doesn't directly depend on a proto_library that 'srcs' it. bazel-out/x64_windows-fastbuild/bin/external/com_google_protobuf/_virtual_imports/timestamp_proto/google/protobuf/timestamp.proto
Execution platform: @local_config_platform//:host
ERROR: C:/users/katso/documents/github/denarii/external/keirospublic/Security/Proto/BUILD:64:14 Building Security/Proto/libvalidity_period_proto-speed.jar (1 source jar) failed: (Exit -1073741515): protoc.exe failed: error executing command
  cd C:/msys64/home/katso/_bazel_katso/cjrunvaw/execroot/keiros_public
  SET PATH=C:\msys64\usr\bin;C:\msys64\bin;C:\Windows;C:\Windows\System32;C:\Windows\System32\WindowsPowerShell\v1.0;C:\msys64\usr\local\bin;C:\msys64\usr\bin;C:\msys64\usr\bin;C:\msys64\opt\bin;C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\msys64\usr\bin\site_perl;C:\msys64\usr\bin\vendor_perl;C:\msys64\usr\bin\core_perl;C:\Users\katso\AppData\Local\Microsoft\WindowsApps
    SET RUNFILES_MANIFEST_ONLY=1
  bazel-out/x64_windows-opt-exec-2B5CBBC6/bin/external/com_google_protobuf/protoc.exe --proto_path=bazel-out/x64_windows-fastbuild/bin/external/com_google_protobuf/_virtual_imports/timestamp_proto --java_out=bazel-out/x64_windows-fastbuild/bin/external/com_google_protobuf/timestamp_proto-speed-src.jar -Igoogle/protobuf/timestamp.proto=bazel-out/x64_windows-fastbuild/bin/external/com_google_protobuf/_virtual_imports/timestamp_proto/google/protobuf/timestamp.proto --direct_dependencies google/protobuf/timestamp.proto --direct_dependencies_violation_msg=%s is imported, but @com_google_protobuf//:timestamp_proto doesn't directly depend on a proto_library that 'srcs' it. bazel-out/x64_windows-fastbuild/bin/external/com_google_protobuf/_virtual_imports/timestamp_proto/google/protobuf/timestamp.proto
Execution platform: @local_config_platform//:host
INFO: Elapsed time: 0.426s, Critical Path: 0.07s
INFO: 9 processes: 9 internal.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully

It looks like the protoc compiler doesn't work when compiled with "mingw-gcc"? You can try to directly run this binary bazel-out/x64_windows-opt-exec-2B5CBBC6/bin/external/com_google_protobuf/protoc.exe and see what happens?
BTW, why do you want to use compiler=mingw-gcc?

Okay ill try that out. I have some code that for the life of me won't compile with MSVC

Can you also try the full commmand?
bazel-out/x64_windows-opt-exec-2B5CBBC6/bin/external/com_google_protobuf/protoc.exe --proto_path=bazel-out/x64_windows-fastbuild/bin/external/com_google_protobuf/_virtual_imports/timestamp_proto --java_out=bazel-out/x64_windows-fastbuild/bin/external/com_google_protobuf/timestamp_proto-speed-src.jar -Igoogle/protobuf/timestamp.proto=bazel-out/x64_windows-fastbuild/bin/external/com_google_protobuf/_virtual_imports/timestamp_proto/google/protobuf/timestamp.proto --direct_dependencies google/protobuf/timestamp.proto

Weird, in my case bazel-out is not a directory but rather a single file. So i cannot run that command. Do you know why this might be?

@andrewkatson Yes, you can check what libraries it is linked to by ldd <the protoc.exe> (you have run this command in msys)

ahhhh that should be helpful thank you!

Okay! MSVC is broken too. The error just gets ignored. I feel like this is kind of important.
bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\com_google_protobuf\protoc.exe --descriptor_set_out=bazel-out/x64_windows-fastbuild/bin/src/centralnode/Proto/critical_values_proto-descriptor-set.proto.bin -Isrc/centralnode/Proto/critical_values.proto=src/centralnode/Proto/critical_values.proto --direct_dependencies src/centralnode/Proto/critical_values.proto --direct_dependencies_violation_msg=%s is imported, but //src/centralnode/Proto:critical_values_proto doesn't directly depend on a proto_library that 'srcs' it. src/centralnode/Proto/critical_values.proto

Move the following files into C:\msys64\mingw64\bin
ntdll.dll
KERNEL32.DLL
KERNELBASE.dll
msvcrt.dll
bazel clean --expunge
profit (build)

That fixes it!!!!


When loading a picture using a file path, the size of the picture exceeds a certain size, and then deleting the picture will cause a problem of prohibiting deletion.

Code that will cause errors
const fs = require("fs/promises")

async function upload(){
  let path = './input.jpg'   // 5M
  await sharp(path)
    .resize({ width: 150, height: 150 })
    .webp({ quality: 100 })
    .toFile(path_webp);
  await fs.unlink(path)
}

Error
Error: EPERM: operation not permitted, unlink 'C:\\Users\\user\\Desktop\\project\\public\\upload\\input.jpg'

Possible bugs
Possible bug: When sharp loads a picture that is too large, the picture will not be closed, resulting in the picture being unable to be deleted.
A solution to the problem
Read the data through fs.readFile and pass it to sharp.
const fs = require("fs/promises")

async function upload(){
  let path = './input.jpg'   // 5M

  let data = await fs.readFile(path)
  await sharp(data)
    .resize({ width: 150, height: 150 })
    .webp({ quality: 100 })
    .toFile(path_webp);
  await fs.unlink(path)
}

The issue template that was ignored/deleted provides the answer.

Does this problem relate to file caching?
The default behaviour of libvips is to cache input files, which can lead to EBUSY or EPERM errors on Windows.

I'm glad to receive your reply. The method you mentioned effectively solved the problem. I will spend more time learning sharp. Thank you so much!


Request.stream.read blocks on Python 3.3.5 wsgiref server

Hi!
req.stream.read seems to still block while running the sample at the Tutorial under Python 3.3.5 using the wsgiref server. Running on gunicorn or mod_wsgi works.
I'll do further research on this.
Regards,

I believe this is fixed, but please reopen if that is not the case. Thanks!


Replaced static launch screen images by StoryBoard

The AppStore now requires launch screen to be a StoryBoard (https://github.com/libgdx/libgdx/issues/5904) which were introduced on iOS 8.
The new launch screen design is more minimal with the flat libGDX logo over a white background.

Thanks 👍 🥇


[Added] 	nats-pub and nats-sub to util, and make util go gettable

Per nats-io/go-nats#159 comments, copied 2 examples nats-pub and nats-sub to gnatsd/util.
Also make the utilities build-able using go get github.com/nats-io/gnatsd/... or go install ./....
Per @tw4dl master branch.
Resolved merge issues with README.md, vendored crypto/ssh dependency, and updated imports to go-nats.
Will close #192, please submit any feedback to this branch.

Coverage decreased (-0.09%) to 89.534% when pulling 3002d03aae0f11280dc85bcbed44e341ab52d955 on tw4dl-master into 80490020b22fa9b3bd804719ba35622e2623fdc6 on master.

@petemiron Please review https://github.com/nats-io/nats-site/tree/master/content/documentation to ensure examples/references are also in sync with these changes.

Closing this pull request in favor of moving all nats-io/go-nats-examples as in #192.


[Feature Request]: Make mongoose a peer dependency or expand version range

Package
@lucia-auth/adapter-mongoose
Describe the problem
Hi there.  Mongoose is now in version 7.0, which supports versions >= 5.1.0 of mongodb driver.
The options I'd like to explore are either making Mongoose an optional peer dependency so that developers can just manage that relationship manually, or else broadening the allowed version range.
I've really appreciated using Lucia, precisely because of how few dependencies it has, and how much leeway it's given me (instead of the prescriptiveness of passport.js).  Being unpinned from specific versions of these dependencies would be a help!
Describe the proposed solution

Make mongoose an optional peer dependency to the mongodb adapter

Alternatives considered
Expand the version range of dependencies
Additional information
If you have a preference on which path to take, I'm happy to submit a PR.
Also at the moment not urgent since I've forked and made the change in my own environment, meanwhile I'll be able to provide any updates if I find that there are breaking changes in mongoose 7.0 that would prevent the suggested changes.

I'm guessing the adapter expects Mongoose 6.x. Right now the adapter only includes Mongoose as a dependency (not peer dependency) just for types. I wonder if we can just get rid of Mongoose dependency all together and create a super basic Mongoose instance type similar to what we have for Prisma.

Should be resolved with #529


Allow writing audit logs to a custom schema

Describe the feature

Currently audit logs are written to the output of the get_audit_schema macro (https://github.com/fishtown-analytics/dbt-event-logging/blob/c0232661597039ae266d63836faf59d262fb5043/macros/audit.sql#L9). This is explicitly namespaced using logging in all places of use so I believe it is impossible to override this in the consuming project.
Now that the target is logged in the audit logs, it would be useful to be able to override the audit log schema so as to be able to log to the same table and report based on target, e.g. we run test and local builds with a different schema and different targets but we can't customise our BI tool to vary the schema dynamically so can't do this in a single report.
I believe the implementation would require removing the logging. namespacing from this macro, allowing users to add a macro with the same name to their projects which is used instead?
Describe alternatives you've considered

Using a DBT macro to union tables across different schemas based on a LIKE pattern.
Who will this benefit?

Anyone who wants to visualise DBT performance across different target schemas using a single audit log table.

I'm all for this! dbt gets a little weird when calling a non-namespaced macro from a package (I think it defaults to the package version of the macro, but I'm happy to be proven wrong). If you can hold on for 0.16.0, you can make the logic reasonably explicit:
    {# if the get_audit_schema macro exists in the base project -- project_name resolves to the name of the project that you are `dbt run`ing #}
    {% if context.get(project_name, {}).get('get_audit_schema')  %}
        {% set audit_schema=context[project_name].get_audit_schema(**kwargs) %}
    {% else %}
        {% set audit_schema=logging.get_audit_schema(**kwargs) %}
    {% endif %}

^ There might be further tidying you can do here.

Looks great! For our use case we can wait for 0.16.0, this primarily for future tracking build times on CI which we haven't yet implemented.


Task Runner: Alternate version number not accepted in tasks.json

VSCode Version: 0.10.11
OS Version: Mac OS X El Capitan

Steps to Reproduce:

Define a task in tasks.json
Change the version number to something other than 0.1.0

Cheers,
Trevor Sullivan
Microsoft MVP: PowerShell

This is expected since the task runner currently only support 0.1.0 format of that file. There is no 0.2.0


RFC: drivers/qspi: add QSPI API

Adds QSPI API
Signed-off-by: Kamil Lazowski<EMAIL_ADDRESS>Clarification on PR content:
Author intention is to introduce API for the Serial Memory Protocol Engine with serial back-end using 4 line SPI. The peripheral of Serial Memory Protocol Engine gives huge acceleration in I/O operation.
Wort to emphasize that such a peripheral not necessarily allow to RAW access to SPI bus at all.
Such peripherals are incorporated into some of nRF, NXP, STM and Microchip SoC.

@tbursztyka @kamlaz @pabigot I will add #17902 to the API rework project and we can discuss it next week there.

MAIN GOAL
The main goal of this PR is to provide suitable driver for multiple SPI NOR Flash devices.
From hardware point of view situation looks like on presented picture:

Imagine that SPI is QSPI (so there should be 4 data lines) and each slave has its own CS pin that is hardware controlled by QSPI peripherial
Main features of presented driver are:

Possibility of driving few different memories (each with different QSPI configuration)

Hardware controlled CS pin guarantees more efficient data flow
(minimum time waste from going CS low to start transmission and at the end of the  transmission). Of course it is mandatory for peripherial to support few hardware CS pins.

Using QSPI driver with flash driver will enable user to create consistent file system that is splitted on few flash memories.

Easier and faster communication with flash memories. It is due to API is tailored to support QSPI commands with minimum overhead.

QSPI controls by hardware four data lines and DDR mode - something that gives extremly boost, and is unavaiable for SPI

API HIERARCHY
Hierarchy will look like this:
 -----------
|  FS  API  |
 -----------
      |
      |
 -----------
| FLASH API |
 -----------
      |
      |
 -----------
| QSPI  API |
 -----------

At first glance it could be a strange idea to have both "FLASH API" and "QSPI API" layers. But it is not without reason.
Imagine, that you have mounted file system that consists of two flash memories. Typical flow will look like this:

FS wants to read data from #ADDR. It calls flash_api_read()
flash_api_read() launches. As input argument is takes address(or offset, not important now) from it have to read data.
Flash layer contains information about all devices that were defined as flash memories. Informations are i.e storage size,
protocol configuration (number of used data lines), etc.
Flash layer also contains flash map, so it knows whence to read data(from which flash memory).
So now FLASH_API just call qspi_configure() to set configuration for Flash #1 and then calls qspi_read()
qspi_read() launches and it fetches data from the flash memory and notifiy flash API, that transfer has finished

Situation looks the same, when FS wants to read data located on the #2 flash memory.
In contraction : Let driver do what driver should do - driver the peripheral.
Flash driver should take care of calling QSPI driver functions to talk with flash memories.
So flash driver has to be "above" QSPI driver, like presented above.
DTS
To relize presented above functionality we need a specialy tailored DTS:
&qspi {
	compatible = "nordic,nrf-qspi";
	status = "okay";
	sck-pin = <19>;
	io00-pin = <20>;
	io01-pin = <21>;
	io02-pin = <22>;
	io03-pin = <23>;
	max-frequency = <32000000>;
	mem1: mem1@0 {
		compatible = "jedec,qspi-nor";
		reg = <0>;
		cs-pin = <17>;
		frequency = <16000000>;
		qspi-mode = <3>;
		data-lines = <4>;
		address-size = <24>;
		cs-high-time = <1>;
		label = "MEM1";
		jedec-id = [c2 28 17];
		size = <67108864>;
		has-be32k;
		has-ddr-mode;
	};
};

As you can see, QSPI peripherial is defined by pins (SCK,IO00,IO01,IO02,IO03) and maximum alowable frequency.
It is absolutely minimum for QSPI driver. The rest of the required data are configured in the memory field, sice they are memory-specific.
The aim was to provide possibility of working with multiple flash devices and each has different configuration, i.e:
mem1: mem1@0 {
		compatible = "jedec,qspi-nor";
		reg = <0>;
		cs-pin = <17>;
		frequency = <16000000>;
		qspi-mode = <3>;
		data-lines = <4>;
		address-size = <24>;
		cs-high-time = <1>;
		label = "MEM1";
		jedec-id = [c2 28 17];
		size = <67108864>;
		has-be32k;
		has-ddr-mode;
	};

	mem2: mem2@1 {
		compatible = "jedec,qspi-nor";
		reg = <1>;
		cs-pin = <18>;
		frequency = <8000000>;
		qspi-mode = <0>;
		data-lines = <4>;
		address-size = <32>;
		cs-high-time = <1>;
		label = "MEM1";
		jedec-id = [c2 28 17];
		size = <67108864>;
	};

As you can see, QSPI peripherial will work with two flash memories and each has completely different configuration, but
both memories share SCK,IO00,IO01,IO02,IO03 pins. Each memory has independent configuration.
QSPI VS SPI
Very important fact is that SPI is not the same as QSPI. They are similar to some point, but in general they are different.
The main difference is that QSPI is implementing protocol used to communicate with flash memories. In general it consists of:

command
address (if command requires it)
payload
Example:  [CMD][ADDR][PAYLOAD]
Nordic's hardware QSPI takes care about this protocol.
I.e when you want to write some data to the flash you have to:

Check if memory is ready for transfer
Send WREN (write enable) command
Send write command with payload

You can do it using SPI, but you need to preapre 3 separate commands.
In our implementation all steps are done by hardware, so you just have to tell where to write data and peripherial will do the rest.
Huge saving of time and processing power - something that is worth investigating.

Very important fact is that SPI is not the same as QSPI. They are similar to some point, but in general they are different.
The main difference is that QSPI is implementing protocol used to communicate with flash memories.

Do you have any reference to backup this, I mean in general about dual/quad/octal modes?
Because so far, nothing, nowhere, it is said to be like that. These modes are improvements to existing SPI bus. It is still a bus we are talking about, not a protocol. The fact some hw provide optimization for a protocol (here flash one) is different (see below).
What your described is exactly what has been done with drivers/flash/spi_nor.c : a flash device accessed through SPI bus. Only difference being that your use case can take advantage of dual/quad/octal modes (i.e.: more data lines for faster transaction) + your vendor specific hw optimization (see below)
To me it seems you are confusing the bus and the protocol which is running on top.
The format of cmd/address/payload was indeed formalized into these modes but just as an hw optimization. But:

this format is not flash specific.
nothing dictates that this format must be used within these modes. It is in fact possible to just tx/rx some data directly as usual. (no command, no address, just data)

Note that a controller that can do dual/quad/octal spi, can still do the standard mode as well.
So with you solution we would need 2 drivers: one SPI, one QSPI (knowing that 95% of the logic below would be more or less the same), both on top of the same controller. That's an issue by itself.

Nordic's hardware QSPI takes care about this protocol.

I.e when you want to write some data to the flash you have to:

Check if memory is ready for transfer
Send WREN (write enable) command
Send write command with payload

You can do it using SPI, but you need to preapre 3 separate commands.
In our implementation all steps are done by hardware, so you just have to tell where to write data          and peripherial will do the rest.

That is the main problem of your approach: never take a specific vendor hw implementation as a generalization.
You'll end up creating an API that will be available only on that specific vendor hw.
(and again such hw optimization is not dual/quad/octal mode specific, I have seen it already on standard SPI controller).
That said, if such hw optimization can be made available in a generic way and is a requirement, we'll be able to find a way that does not require a new API. Just an improvement of the existing SPI one. (I see already how we could achieve this)
In short, I still think we need to work on #17902. For instance, reading at what truly motivated this RFC, I can deduce that we need to expose the flash access hw optimization.
About DTS, as @pabigot mentioned it: we need to improve SPI configuration options exposure.
When it comes about io pins, it's not spi specific anyway: we do have this issue in all pinout based controllers. There was a attempt to fix it through a pinctrl DTS+API prototype. Anyway I am not going into this as DTS and pin muxing is another story by itself here. It is not related with the subject.

@tbursztyka
Thank you for your input here - it is very precious.
In general aim of the QSPI is different than SPI.
SPI is very generic, can work with many type of devices, usually using transceive.
QSPI was introduced as a protocol to communicate efficiently mainly with flash memories.
In SPI almost everything you have to do manually in contrast of QSPI, where hardware does almost everything for you.
I have look into other vendors QSPI implementation and most of them supports the same features:
- hardware optimization of transfer (read/write/erase)
- automatic pooling of flash memory (very useful feature)
As you mentioned

Only difference being that your use case can take advantage of dual/quad/octal modes (i.e.: more data lines for faster transaction) + your vendor specific hw optimization (see below)

These improvements brings time and processing power savings - that is important.

That is the main problem of your approach: never take a specific vendor hw implementation as a generalization.

I can't agree, since other vendors QSPI implementation will fit to proposed one. Before I started composing QSPI API I spent some time to investigate how others have implemented their QSPI peripherial. In most cases they are composed of basic functions: read/write/erase/custom_cmd - the same as in my API.
At the end something very generic:
In my opinion Zephyr should consists of :
1. small target-oriented drivers
2. drivers does elementary operation - are simple and reliable
And I am afraid that SPI driver will become spaghetti code that does everything.
So let SPI does SPI's things and QSPI what is QSPI designed for.

Note that a controller that can do dual/quad/octal spi, can still do the standard mode as well.
So with you solution we would need 2 drivers: one SPI, one QSPI (knowing that 95% of the logic below would be more or less the same), both on top of the same controller.

@tbursztyka That's true in the general case (e.g. I think NXP's FlexSPI, and possibly STM32's Quad-SPI memory interface), but not for Nordic.  See the Nordic QSPI peripheral overview.  It's a very specialized device.
@kamlaz Now that I think I understand a bit more about what other vendors do I believe you should implement a nordic,qspi-nor device that provides the Zephyr flash API on top of the Nordic QSPI peripheral.  If you find you need something beyond the existing API (e.g. XIP support, or custom command) you can add it through device-specific extensions.  Your devicetree specification is close to right for your use case, and it's not suitable for other vendors that use pinmux.
I don't find your argument for separating (Nordic) QSPI from flash compelling.  The flash map is not part of the flash API: it's layered on top of the flash API.  The existing flash API is close to your proposed QSPI API, absent support for asynchronous operation (which could be added).
If you want to have a different API specifically for quad-spi memory interfaces you should coordinate with, at a minimum, STM32--but also the other vendors you say you've investigated--to confirm that your API is suitable for their Quad-SPI memory interface peripheral as well.  From experience I can say that will be a very long process.
My opinion, based on what I believe I know at this time.

@pabigot

you should implement a nordic,qspi-nor device that provides the Zephyr flash API on top of the Nordic QSPI peripheral.

I agree up to a point. Personally I do not think that creating nordic,qspi-nor has sense since:

it will be vendor-specific file. In my opinion flash-level API should not be vendor specific, but generic (i.e jedec,qspi-nor), just like jedec,spi-nor.
completely different operational idea than jedec,spi-nor,

In my opinion using jedec,qspi-nor has significant advantages:

it enables other vendors to use generic  jedec,qspi-nor API (and to plug in their own functions from their QSPI driver)
provide operational consistency with jedec,spi-nor, where SPI driver is "below" flash-api

So the hierarchy will look like this:

I'm getting confused because I can't distinguish APIs from drivers in your hierarchy, and because we're not rigorously distinguishing generic Single-/Dual-/Quad-/Octal-SPI from a "QSPI" that's specific to flash memories controlled by JEDEC commands.
Currently we have (1):

a generic file-system API that's implemented by multiple drivers (FatFS, littlefs, ...).  This uses...
a generic flash API that's implemented by multiple drivers (vendor-specific SOC flashes, and a generic JEDEC SPI-NOR driver).  The generic JEDEC driver uses...
a generic (4-wire, single-) SPI API that's implemented by multiple drivers (Nordic SPI and SPIM, NXP LPSPI, ....).

I'm proposing you do (2):

a generic file-system API that's implemented by multiple drivers (FatFS, littlefs, ...).  This uses...
a generic flash API that's implemented by a custom driver for Nordic QSPI which supports only JEDEC flash memories.

For that we need one new driver implementation, with possibly (but not necessarily) some vendor-specific operations.  No new API, just a nordic,qspi-nor devicetree binding to provide enough information to create devices for the driver.  Simple, and you don't have to coordinate API design with everybody else.
I think the alternative you're proposing is (3):

a generic file-system API that's implemented by multiple drivers (FatFS, littlefs, ...).  This uses...
a generic flash API that's implemented by multiple drivers (all the drivers from (1) plus a new generic JEDEC Quad-SPI-NOR driver).  The generic JEDEC Quad-SPI driver uses...
a generic Quad-SPI API that's implemented by multiple drivers (Nordic QSPI, and who else?).

You might be able to do this, but the first step is to figure out who else would want to implement this generic API.  NXP FlexSPI is a candidate.  Who else?
The next step is to demonstrate why the extension proposal in #17902 is not viable and a special Quad-SPI API is required.
If you can do that, you then have to come up with a vendor-independent API capable of doing Quad-SPI bus transactions.  What you've proposed here is far from that.  You need to get involvement from those vendors to ensure not only that they can implement it, but that it meets their customer needs and doesn't rule out extra capabilities that they might support, such as scatter/gather (iovec) transactions.
Beneath all that I remain deeply skeptical that the Nordic QSPI peripheral can operate as a generic Quad-SPI peripheral for something like an ADC where there is no 24/32-bit memory address involved in the transaction: I just don't see how you keep it from including the command address in the bus write/read transaction.  The strongest argument I can see for why #17902 doesn't work for Nordic would be that the QSPI peripheral can't be made to work with anything but a flash memory.  But at that point you have to justify why (2) is not the right path forward.
What's your goal here?  If it's to get fast serial memory support for Nordic customers into Zephyr then in my opinion the fastest path is (2): implement the Zephyr flash API directly.

I think the alternative you're proposing is (3):
a generic file-system API that's implemented by multiple drivers (FatFS, littlefs, ...). This uses...
a generic flash API that's implemented by multiple drivers (all the drivers from (1) plus a new generic JEDEC Quad-SPI-NOR driver). The generic JEDEC Quad-SPI driver uses...
a generic Quad-SPI API that's implemented by multiple drivers (Nordic QSPI, and who else?).

That is exactly what I was thinking about!

You might be able to do this, but the first step is to figure out who else would want to implement this generic API. NXP FlexSPI is a candidate. Who else?

To answer this question I had to look into few datasheets from other vendors. Please find the results below:
Most vendors has implemented QSPI in their chips. The main reason of implementing QSPI was managing communication with jedec flash devices:

STM: AN4760, page 8

The QUADSPI is a serial interface that allows the communication on four data lines between
a host (STM32) and an external QSPI memory

NXP: AN4777, page 1

Quad Serial Peripheral Interface (QuadSPI) is a
communications protocol used for communications between a
microcontroller and an external flash memory

Microchip: Atmel-44065A, page 8

The QSPI can be used to read data from the serial Flash memory allowing the CPU to execute code from
it (XIP execute in place).

But Microchip extents this definition to:

The QSPI can be used in SPI mode to interface to serial peripherals (such as ADCs, DACs, LCD
controllers, CAN controllers and sensors).

That is feature that could be considered, but has low importance in case of QSPI driver. It is due to fact that when QSPI is used in SPI mode, it uses only 4 lines (CS,SCK,MISO,MOSI) and two data lines are not used. So if anyone would like to communicate with i.e ADC that supports SPI, what is the aim of using QSPI instead of SPI?
What is more, some vendors provides SPI mode in QSPI driver, but with limited functionality, i.e STM (AN4760, page 23):

This limitation makes from QSPI very poor SPI substitute.
So in my opinion this kind of operation should not be supported, but proposed API enables user to do so (using qspi_send_cmd).
An finally answering your question : Most vendors should be interested in adding QSPI driver as jedec flash memory driver.

The next step is to demonstrate why the extension proposal in #17902 is not viable and a special Quad-SPI API is required.

In my opinion:

QSPI driver has to be specialized high performance driver for jedec-flash memories
Extending SPI API to QSPI functionality will create chaos, since one driver has to control two independent but not compatible peripherals (i.e DDR mode)
Plugging QSPI API into generic JEDEC Quad-SPI driver will be a way more convenient and natural than SPI API.

OK.  I won't press this further, but you need to get people from all those other vendors to agree that there's value to them to have a generic QSPI implementation, rather than just implement the flash API.  I'm not going to approve a new API unless there's clear evidence an existing one can't be made to work.

@MaureenHelm @erwango @franciscomunoz
As far I know some of NXP, STM and Microchip SoC incorporates QSPI peripheral.(not the same as just QuadSPI). Can you review this API introduction.
I think It would be great to have this as API or dev meeting meeting topic next week.

The discussion here seems to be the octal-spi / q-spi flash memory controller API  rather than the general QSPI API ?

@hongshui3000 This is not really about implementation of 8/4 line SPI.
Author intention is to introduce API for the Serial Memory Protocol Engine with serial back-end using 4 line SPI. The peripheral Serial Memory Protocol Engine gives huge acceleration in I/O operation.
Wort to emphasize that such a peripheral not necessarily allow to RAW access to SPI bus at all.

@kamlaz I will come with a proper RFC to fix #17902 , and in the mean time I'll try to address flash access optimization there. I still think it's possible to do it that way. However, if it proves to be not really possible (i.e. not addressing 100% of the issue as your API would) or crappy (creating awful addition to the SPI API and drivers) then yes we will go with a separate API.

FYI, I'm looking at adding QSPI support for the SAMD51 on the ItsyBitsy M4 Express.  This is used to talk to a on-board GD25B16C 2 MiB NOR flash.
On the SAMD51, the QSPI peripheral can run in "SPI mode" or "Serial Memory Mode".  In serial memory mode the flash is memory mapped and the peripheral automatically takes care of the command and address parts of the protocol.  It's easier to interface to and faster than SPI mode.
I'd like to see a 25xx JEDEC NOR flash driver that sits ontop of a QSPI driver similar to how spi_nor.c sits ontop of a SPI driver.  The QSPI driver would expose an API like the spi_nor_cmd_read / addr_read / cmd_write / addr_write currently used in spi_nor.c

On the SAMD51, the QSPI peripheral can run in "SPI mode" or "Serial Memory Mode". In serial memory mode the flash is memory mapped and the peripheral automatically takes care of the command and address parts of the protocol. It's easier to interface to and faster than SPI mode.

@nzmichaelh Please see #25958.  In the current model you would implement the Zephyr flash API for the SAMD51 serial memory mode.
Since this PR has been moved to on-hold/abandoned, I'm going to close this for now: we should re-open it if it turns out we need a dedicated SPI interface.


Add release target

What type of PR is this?
Feature
What this PR does / Why we need it?
Adds goreleaser release target

Codecov Report

Merging #134 (e39c451) into main (1eeb63a) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #134   +/-   ##
=======================================
  Coverage   12.45%   12.45%
=======================================
  Files          27       27
  Lines        1630     1630
=======================================
  Hits          203      203
  Misses       1405     1405
  Partials       22       22

/lgtm


how to configuration envoy redis cluster

how to configuration envoy redis cluster , can you give me a example?

Here is a sample on how it can be configured https://github.com/envoyproxy/envoy/blob/892168c1dbbc7e6f7b94181b5cb29150667e81e6/test/config/integration/server.json#L429

@danielhochman a Redis example would be cool


Add support page

The goal is to provide Docker images for all of the following, and to build, test and publish those images automatically. Not all of that is available already (obviously, this is a lot of images, and we need more automation here).
Crossbar.io

Crossbar.io (run-time image)
Crossbar.io Fabric (run-time image)

supported on:

x86-64/32, ARM v7/v8
min. dual core 32 bit, 800 MHz
min. 1GB RAM
Linux with Docker

Autobahn

AutobahnPython (run-time image)
AutobahnJS (run-time image)
AutobahnC++ (toolchain image)
AutobahnJava (toolchain image)

supported on:

x86-64/32, ARM v6/v7/v8
min. single core 32 bit, 400 MHz
min. 256MB RAM
Linux with Docker

and

AutobahnC (toolchain image) - UNDER DEVELOPMENT

supported on:

ARM Cortex-M4/M7
min. single core, 180MHz
min. 256KB RAM, 512KB Flash
Zephyr RTOS

Crossbar.io Fabric BLE/GATT Bridge
The Crossbar.io Fabric BLE/GATT Bridge is an Android app that runs in the background and connects BLE/GATT based devices paired with the smartphone to the Internet, namely Crossbar.io Fabric nodes. The app is written in Java and based on AutobahnJava.
The option to integrate BLE/GATT based devices into Crossbar.io Fabric based application architectures opens up a complete new device class: battery powered, even smaller MCUs (going yet beyond where AutobahnC can go) that might be deeply embedded or even wearable.


Validate Hive bucketing on read

I changed this to do sampling of every ~100 rows, starting with the first row. Even with only two buckets, assuming a random distribution (i.e. a good but wrong hash), a row would be in the wrong bucket 50% of the time. With more buckets, it is much higher, i.e. there is a (n - 1) / n chance of the wrong bucket, since there is only a 1 / n chance of being in the correct one. Thus this sampling rate should detect at very high probability with low cost.


Allow SDK to be built via command-line as long as ANDROID_HOME is set

Repurposed gradle-mvn-push.gradle

LGTM 👍


Update dependencies

These are all dev dependencies so they should be safe to update if the tests are green.

cc/ @github/ui-frameworks-reviewers. I can't seem to add y'all as reviewers.


[untested] fix webapp remote-connection create fails if specifying --port

fixes #268
I havent tested this yet, do not merge

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

Added the label to not merge based on your comment - let me know when this is ready for review.

@patricklee2  also let me know if we want to take this change as well https://github.com/Azure/azure-cli-extensions/pull/271

@panchagnula this is ready for review

@patricklee2 can you pull & rebase from master & push a change again? this should fix the Travis-ci


Get full coverage of build command

Codecov Report

Merging #157 into master will increase coverage by 2.21%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #157      +/-   ##
==========================================
+ Coverage   95.27%   97.48%   +2.21%
==========================================
  Files           8        8
  Lines         677      677
  Branches      130      130
==========================================
+ Hits          645      660      +15
+ Misses         29       16      -13
+ Partials        3        1       -2

Impacted Files
Coverage Δ

commands/build.js
100% <0%> (+11.62%)
:arrow_up:

Continue to review full report at Codecov.

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


Inconsistent behaviour while failing (tested in chrome)

Hello,
I don't understand this bad behaviour. I can't say much about it because there is no error in console.
So I have made a small screencast here:
http://youtu.be/ZW6UqD-G6nw
This is chrome 41.
You can see the site at http://kevinpurnelle.com
Any idea, what more can I investigate to add to this issue?

Hey @AoDev,
Chrome 41 supports responsive images by default, so Picturefill shouldn't even be executing in Chrome. What happens if you remove Picturefill? Does this happen in other browsers? If you keep your network tab open and reload until the image doesn't load, does the image load, time out, or not appear in Network at all?

Actually I started to test it in chrome because it was failing on my mobile. Android 4.4.4, default android browser and had the same kind of behaviour.
Regarding desktop, I have tried what you said.
Chrome without polyfill : does not fail
Chrome with polyfill: fail sometimes the same way than in the screencast.
Firefox: seems to work correctly with the polyfill
Safari: seems to work correctly with the polyfill

@AoDev Are you using picturefill 2.2 or 2.3.0-beta?

@mike-engel This is  Picturefill - v2.2.1 - 2015-02-03

I have been playing around with it and somehow it seems that the picture element shim may be involved in that problem, is it possible?
<script> document.createElement( "picture" ); // Picture element HTML5 shiv </script>

If I don't include picturefill but leave the picture element shim, this still causes this bad behaviour.
If I remove both, then it seems to be ok.

@AoDev
I just played around with your information and I can confirm the behavior. It seems that the combination of the createElement shiv and the broken/invalid/broken data uri is causing this bug in Chrome (so for you it is simple to workaround it by using a valid data uri).
Here is a simplified testcase:
http://jsfiddle.net/1gnrwLvy/1/
Do you want to file a chrome issue and link it here in this issue?
If not, just let me know, so I can report this bug. ping @yoavweiss

@aFarkas Thanks for investigating and for the fiddle.
I didn't know that my data:uri image wasn't right. I found it here:
http://stackoverflow.com/questions/9126105/blank-image-encoded-as-data-uri
It's one of the answers. (it seemed to work fine)
You can create the chrome issue.
Btw, maybe a broken image would cause the same problem, even if it's not provided as a data-uri? I'll test when I have time.

Closing this since this seems to be a chrome issue. Let us know if it's not, and we can re-open this issue.

https://code.google.com/p/chromium/issues/detail?id=469131


Can't download AI-onnx.zip

Hi @Djdefrag ,
I've been trying to download the file AI-onnx.zip using this link on Gofile: https://gofile.io/d/jbAopi
However, I consistently receive a "502 Bad Gateway" error when I click the download button.
Could you please provide an alternative download link?
Thank you in advance!

Hi my friend,
thanks for reporting the problem.
here the new link: https://gofile.io/d/KEHUMV

The new link does not work.  I get a bad gateway each time I try to download it.

@kdx7214 Hi my friend, re-uploaded.
Here the new LINK - https://gofile.io/d/q4PJW8

Cannot Download, Please reupload to Mega.nz or other place

@ewwink Hi my friend
Re-uploaded - https://gofile.io/d/2RWnDU


Will be update for Swift 3.xx

Do I still support this project ?

@HeapStacker OK, I will spare some time to update to Swift 3.x, please wait a few weeks.

@HeapStacker Now it is updated for Swift 3.x !    :-)


Global falco Rules

Falco rule section removed from cluster specific cluster settings
Falco rule DB refactor

Now uses join table for namespace & cluster
Has field to designate if applicable to all namespace & cluster
original cluster & namespace field removed

Falco Settings page added to organization settings page

Displays boxes with all existing Falco rules as before
Add/Edit/Delete available here
Add/Edit Modal adjusted to account for multiple namespaces/clusters

Validation Updated

Accounts for changes to allow multiple clusters/namespaces

Complex merge conflicts + 1 thing I forgot to add, closing this PR & will re open a new one


Fix / prevent keyboard from persisting in searchbar on submit

This PR

Fixes the issue on mobile where the keyboard persisted after submitting a query in the search bar || OTT-833

In the previous SearchBar.tsx format, I encountered difficulties accessing the 'Enter' or 'Search' event key on the keyboard, which prevented me from implementing the desired functionality of listening for these events and then triggering the blur action to hide the keyboard.

Extra info: Android’s search key does not always trigger standard key events in the way other keys do, especially in web applications. For this reason, relying solely on key events for the search key can be problematic

Implemented a <form> element around the search bar, this is semantically correct and makes the onSubmit prop available
Bonus fix: Removed the top: -2px to align the clear button correctly with the input field and 'Close' button (tested on desktop and mobile)

Demo of pressing the 'Search' keyboard button
https://github.com/Videodock/ott-web-app/assets/48496458/d41203d8-0386-4764-9f3e-ed55c0176482

@MelissaDTH I have rewritten your previous commit.
Changes

I reintroduced your inputRef?.current.focus(); as this causes the onscreen keyboard to hide
I added (document.querySelector('#content') as HTMLElement)?.focus(); to set focus to the search content wapper (search results or error page)
When using the previous combination (blur + focus) it causes the focus to be correctly set to the #content element. Without the blur the focus will be set on the "Skip to content"-link on iOS (weird!)
I made the alt intentionally empty on the error page, this causes the title to be read instead of "Logo" (also in error situations this alt is not needed due to adjacent text alternative

I double tested this on Android and iOS screen readers. Do you still get "table"?


Hugging Face accelerates distribution of models and datasets based on Dragonfly

Distribute Hugging Face's LFS download file request through Dragonfly P2P, refer to https://d7y.io/docs/next/setup/integration/hugging-face.
During the downloading of datasets or models, the file size is large and there are many services downloading the files at the same time. The bandwidth of the storage will reach the limit and the download will be slow.

Dragonfly can be used to eliminate the bandwidth limit of the storage through P2P technology, thereby accelerating file downloading.

Related comment:
https://github.com/huggingface/huggingface_hub/issues/1780#issuecomment-1784453369
https://github.com/huggingface/huggingface_hub/issues/1780#issuecomment-1785458248
https://github.com/huggingface/huggingface_hub/issues/1780#issuecomment-1786369698
TODO List:
[x] Publish document to Dragonfly website, refer to https://d7y.io/docs/next/setup/integration/hugging-face.
[x] Finish technical article《Hugging Face accelerates distribution of models and datasets based on Dragonfly》.
[x] Publish technical article to CNCF public account in Wechat, refer to https://mp.weixin.qq.com/s/WnI6cIs2LTlaOB2MKwcrqA.
[ ] Publish technical article to CNCF blog on November 16.
[ ] Publish technical article dragonfly_oss twitter.

@Wauplin Can you help us push this article to Hugging Face’s Blog or Hugging Face's Twitter or Hugging Face's Wechat public account? Or provide users with an acceleration reference plan in the Hugging Face website?

Hey @gaius-qi what I would suggest you is to write a community blog article. You can find all the instructions on this page: https://huggingface.co/blog-explorers. Once done, your article will be showcased in the Community posts section on  https://huggingface.co/blog. Please let me know if you have any questions or if you want a quick review of the article. I think the content from this comment of you would be especially beneficial to explain when this solution is useful (and when it's not).

Hey @gaius-qi what I would suggest you is to write a community blog article. You can find all the instructions on this page: https://huggingface.co/blog-explorers. Once done, your article will be showcased in the Community posts section on https://huggingface.co/blog. Please let me know if you have any questions or if you want a quick review of the article. I think the content from this comment of you would be especially beneficial to explain when this solution is useful (and when it's not).

@Wauplin Thanks! 😊😊😊
I will do this as soon as possible so that more people can understand this efficient data distribution solution of Hugging Face & Dragonfly. 🚀🚀🚀


Bug: Cannot filter results by column alias

It is not possible to filter results using column alias used in select.
Reproduction scenario:

Perform select where column has alias within select over Oracle DB, eg.:
select product_id, technical_status as tech_stat from BA.PRODUCT;

Try to filter result using column alias instead (tech_stat = 'A') of it's name -> ORA-00904 - see attached picture
It works if real column name is used (technical_status = 'A') -> Result correctly filtered

Version:
Community version 4.0.8 with builtin Java
Expected behavior:
DBeaver either suggest column name in auto completion, but more likely it should be able to filter using column alias.
As it would not be really comfortable to use real column name within complicated selects.
As you can see on attached picture:

On auto-complete request DBeaver suggests alias
Once aliased used, it throws ORA-00904
If real name is used, DBeaver successfully filters results

To perform filter DBeaver executes SQL query. In standard SQL you can't use column alias to filter.
But you can try to use nested selects:
select * from
(select product_id, technical_status as tech_stat from BA.PRODUCT) x

In this case filtering and ordering will work fine with aliases.

Alright, but in that case - DBeaver should auto-complete regular column name instead of alias, right?
Now auto-complete suggests alias name. It would be fine if DBeaver suggest real/full column name for auto-complete.

This is because database driver doesn't provide information about underlying column names. And this makes sense because you can use any SQL expression after alias. E.g.
select col1, col_num * 25 + 10 as some_alias from some_table

The only way to use it in filters is to use subselects.

I see. Alright then.

I see two solutions to this issues:

check real column name by parsing the query
filter local Resultset (optionally when original filtering fails)

If you guys face this feature as a "WHERE clause automation", the approach is to check real column name by parsing the original query would be more appropriate and the solution number 1 could be implemented.
However filtering local Resultset would be less disappointing. It would work as a post-execution filter, not as a WHERE clause automation.


Excuse me,How can I make the Heading Auto Identifiers support Chinese

Now:
## 测试
ToHtml:

I hope:

sorry! I got it!
Because I wrote .UseAutoIdentifiers(AutoIdentifierOptions.None) after .UseAdvancedExtensions()
I changed it to
new MarkdownPipelineBuilder().UseAutoIdentifiers(AutoIdentifierOptions.None).UseAdvancedExtensions().Build();
The problem is solved

sorry! I got it!
Because I wrote .UseAutoIdentifiers(AutoIdentifierOptions.None) after .UseAdvancedExtensions()
I changed it to
new MarkdownPipelineBuilder().UseAutoIdentifiers(AutoIdentifierOptions.None).UseAdvancedExtensions().Build();
The problem is solved


On cluster build: Don't reference tasks from knative/func git repo

Pipelines used by the on cluster build implemented by Standard Tekton approach reference func related tasks hosted on this repo. The only approach that we can use with the Standard Tekton is the Git resolver - it fetches the whole repo and then use tasks in this repo:
https://github.com/knative/func/blob/79c36eefdc50d4fdea140a2a9c0449a18bfb9511/pkg/pipelines/tekton/templates.go#L37-L69
On the other hand, Pipelines as Code apporach that we use for a part of on cluster build also supports URL resolver - then we can just reference a single file hosted in some repo and the whole resolving is much faster:
https://github.com/knative/func/blob/79c36eefdc50d4fdea140a2a9c0449a18bfb9511/pkg/pipelines/tekton/templates.go#L29-L31
Using Git resolver might be problematic when the referenced task is hosted in a large git repo - it takes some time to fetch the whole repo. I opened issue on Tekton to add URL resolver - https://github.com/tektoncd/pipeline/issues/6920
We should mitigate the problem with the lengthy resolver, there are a couple of solutions:

wait until URL resolver is added to Tekton (this might take some time)
move tasks to another Git repo that will only host these tasks (suboptimal solution)
add Func tasks to Tekton Hub and then just use Hub Resolver which already exists (I think this is the cleaniest solution from Tekton POV)

Affected tasks:

func-buildpacks
func-s2i
func-deploy

@phutaneVinayak This is odd, what version of func do you use?

What command did you invoke?

Hi @matejvasek ,
I am using kn-func version v1.10.0.
I try below command
kn-func deploy --remote
Which help to deploy function from current folder to cluster. I am trying to on cluster build.
Can you give me bit more perfect way to do it. It would be much helpful.

You need update.

On v1.10.0 you need to install the tasks manually using kubectl apply.

They are under https://github.com/knative/func/tree/main/pkg/pipelines/resources/tekton/task .
But v1.11.0 should resolve it.

Hi @matejvasek ,
Really really thank you :) . I try both way.

Hi @matejvasek ,
I updated kn-func to 1.11.0 It worked 👍
thanks a lot.


Chat (websocket) problems with pipelines

I have my test app using websocket, but I have problems with pipelines.
@gi0baro as you have suggested in https://github.com/emmett-framework/emmett/issues/257, I have the sockets module separated. It is a bloggy modification
# chat/__init__.py
#coding: utf8

from emmett import App, session, now, url, redirect
from emmett.orm import Database
# from emmett.tools import requires
from emmett.tools.auth import Auth
from emmett.sessions import SessionManager
from chat.modules.emmett_redis import RedisExtension
from chat.models.user import User
from chat.models.chat import Chat

app = App(__name__)
app.config.db.uri = 'sqlite://filename.sqlite'
app.config.auth.single_template = True
app.config.auth.registration_verification = False
app.config.auth.hmac_key = "MassiveDynamicRules"

# app.config.RedisExtension.host = "<IP_ADDRESS>"
app.config.RedisExtension.host = "<IP_ADDRESS>"
app.config.RedisExtension.port = '6379'
app.config.RedisExtension.password = "foobared"
app.use_extension(RedisExtension)

db = Database(app, auto_migrate=False)
auth = Auth(app, db, user_model=User)
db.define_models(Chat)

# app.pipeline = []
auth_routes = auth.module(__name__)
auth_routes.pipeline = [SessionManager.cookies('Walternate')]

from chat.controllers import *

# chat/controllers/main.py:
# coding: utf8
from emmett import request, response
from emmett.serializers import Serializers
from emmett.sessions import SessionManager
from chat import app, db, auth, Chat

routes = app.module(__name__, name='routes')
routes.pipeline = [SessionManager.cookies('Walternate'), db.pipe, auth.pipe]
json_dump = Serializers.get_for('json')

@routes.route("/")
async def index():
    return dict()

@routes.route("/chat/<str:room>")
async def chat(room):
    return dict(room=room)

@routes.route('/chat/<str:room>/messages', methods=['post'])
async def new_chat_message(room):
    response.status = 201
    params = await request.body_params
    res = Chat.create(**params)
    if res.errors:
        response.status = 422
        return {'error': res.errors.as_dict()}
    row = Chat.get(res.id)
    async with app.ext.RedisExtension.ctx() as redis:
        await redis.publish(f'chat:{room}:messages', json_dump(row))
    return json_dump(row)

# chat/controllers/main.py:
# coding: utf8
from emmett import websocket
from chat import app

sockets = app.module(__name__, name='sockets')

@sockets.websocket('/messages/<str:room>')
async def messages(room):
    async with app.ext.RedisExtension.ctx() as redis:
        channel, = await redis.subscribe(f'chat:{room}:messages')
        await websocket.accept()

        async for message in channel.iter():
            await websocket.send(message)

# chat/templates/chat.html:
{{extend 'layout.html'}}

Room: {{=room.upper()}}

As is the above works fine and the messages that are entered are displayed (from API tester plugin) view capture in: https://ibb.co/f1L3pCJ , but if I want to go to http://<IP_ADDRESS>:8000/auth/login I get the following error:

AttributeError: 'NoneType' object has no attribute '_csrf'
return dir(self._get_robj())
except RuntimeError:
return []
def getattr(self, name):
return getattr(self._get_robj(), name)
def setitem(self, key, value):
self._get_robj()[key] = value
Application traceback | Full traceback | Frames
?
Traceback (most recent call last):
AttributeError: 'NoneType' object has no attribute '_csrf'

Now if I change in:
# chat/init.py
change
app.pipeline = []
for
app.pipeline = [SessionManager.cookies('Walternate')]
form login works fine, but the socket stops working:
In browser:

WebSocket connection to 'ws://<IP_ADDRESS>:8000/messages/python' failed: Error during WebSocket handshake: Unexpected response code: 500

In terminal emmett:

Traceback (most recent call last):
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/asgi/handlers.py", line 293, in handle_request
await self.pre_handler(scope, receive, send)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/asgi/handlers.py", line 313, in dynamic_handler
await self.router.dispatch()
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/routing/router.py", line 281, in dispatch
await route.dispatcher.dispatch(websocket, reqargs)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/routing/dispatchers.py", line 96, in dispatch
await self._parallel_flow(self.flow_open)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/routing/dispatchers.py", line 30, in _parallel_flow
raise task.exception()
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/sessions.py", line 59, in open_ws
current.session = self._load_session()
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/sessions.py", line 80, in _load_session
cookie_data = request.cookies[self.cookie_name].value
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/_internal.py", line 70, in getattr
return getattr(self._get_robj(), name)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/_internal.py", line 97, in _get_robj
return getattr(self.__obj.get(), self.name)
AttributeError: 'WSContext' object has no attribute 'request'
ERROR:    ASGI callable returned without sending handshake.
DEBUG:    server - event = connection_lost(None)

@josejachuf it's a bug in the session manager.
Correct one should be the one with session manager on the entire application pipeline. Will push a fix in master branch in the next couple of days

@josejachuf should be fixed with ac7219c.
Can you test it, please?

Thanks @gi0baro , the patch works fine, I have form login and socket. But now I have another problem in the submit, an error occurs.

ValueError: SELECT "users"."id", "users"."created_at", "users"."updated_at", "users"."email", "users"."password", "users"."registration_key", "users"."reset_password_key", "users"."registration_id", "users"."first_name", "users"."last_name" FROM "users" WHERE ("users"."email" =<EMAIL_ADDRESS>LIMIT 1 OFFSET 0;

def with_connection_or_raise(f):
    def wrap(*args, **kwargs):
        if not args[0].connection:
            if len(args) > 1:
                raise ValueError(args[1])
            raise RuntimeError('no connection available')
        return f(*args, **kwargs)
    return wrap

Full traceback

Traceback (most recent call last):
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/asgi/handlers.py", line 226, in dynamic_handler
http = await self.router.dispatch()
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/routing/router.py", line 212, in dispatch
http_cls, output = await route.dispatcher.dispatch(request, reqargs)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/routing/dispatchers.py", line 77, in dispatch
rv = await self.get_response(wrapper, reqargs)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/routing/dispatchers.py", line 44, in get_response
return self.response_builders[wrapper.method](await self.f(**reqargs))
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/tools/auth/exposer.py", line 101, in _login
rv['form'] = await self.ext.forms.login(onvalidation=_validate_form)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/forms.py", line 149, in _process
self.onvalidation(self)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/tools/auth/exposer.py", line 91, in _validate_form
row = self.config.models['user'].get(email=form.params.email)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/orm/models.py", line 625, in get
return cls.table(**kwargs)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/pydal/objects.py", line 563, in call
return self._db(query).select(limitby=(0, 1),
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/orm/objects.py", line 333, in select
return obj.run_select(*fields, **options)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/emmett/orm/objects.py", line 317, in run_select
return super(Set, self).select(*fields, **options)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/pydal/objects.py", line 2210, in select
return adapter.select(self.query, fields, attributes)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/pydal/adapters/sqlite.py", line 82, in select
return super(SQLite, self).select(query, fields, attributes)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/pydal/adapters/base.py", line 760, in select
return self._select_aux(sql, fields, attributes, colnames)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/pydal/adapters/base.py", line 716, in _select_aux
rows = self._select_aux_execute(sql)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/pydal/adapters/base.py", line 710, in _select_aux_execute
self.execute(sql)
File "/home/jose/emmett/venv38/lib/python3.8/site-packages/pydal/adapters/init.py", line 65, in wrap
raise ValueError(args[1])
ValueError: SELECT "users"."id", "users"."created_at", "users"."updated_at", "users"."email", "users"."password", "users"."registration_key", "users"."reset_password_key", "users"."registration_id", "users"."first_name", "users"."last_name" FROM "users" WHERE ("users"."email" =<EMAIL_ADDRESS>LIMIT 1 OFFSET 0;

the pipelines are:
#chat/__init__.py:
app.pipeline = [SessionManager.cookies('Walternate')]
auth_routes = auth.module(__name__)
# with and without auth_routes.pipeline
# auth_routes.pipeline = [db.pipe, auth.pipe]

#chat/main.py:
routes = app.module(__name__, name='routes')
routes.pipeline = [db.pipe, auth.pipe]

@josejachuf yeah, the issue is that auth module need database pipe.
Now, with the actual apis is not possible to attach the auth module to an upper module or to provide a specific pipeline for it. Gonna publish a patch for it later today.
In the meantime, if you move the database pipe to the application pipeline, it should work, even if it waste connections.

Hi @gi0baro, this work fine:

In the meantime, if you move the database pipe to the application pipeline, it should work, even if it waste connections.

I want to know if I understood correctly. In this case, for each socket is a new connection to the database created?

Hi @gi0baro, this work fine:

In the meantime, if you move the database pipe to the application pipeline, it should work, even if it waste connections.

I want to know if I understood correctly. In this case, for each connection to the socket, is a new connection to the database created?

Exactly.

@josejachuf since f50b5ae you should be able to customise the pipeline for the auth module, eg:
auth_routes = auth.module(__name__, pipeline=[db.pipe])

It will be released with 2.0.0a5, I'm closing this.

@gi0baro thanks, this works fine.
my pipelines stayed this way:
==================================================
app: [<emmett.sessions.CookieSessionPipe object at 0x7ff9110f8c10>]
auth_routes: [<emmett.orm.base.DatabasePipe object at 0x7ff9110f8fd0>]
routes: [<emmett.orm.base.DatabasePipe object at 0x7ff91110e730>]


Config changes to reflect the default branch from master to main. Please merge to complete the default branch renaming job.

Auto branch renaming content.

Docs Build status updates of commit a0a5304:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch 43554bba-aec4-4bdf-b163-2630f93b41f6 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
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.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Missing Genshin Impact achievements after enabling and disabling new option

I noticed in SuccessStory, that there is new option: "Enable Genshin Impact achievements" (I guess these should be in-game achievements). I enabled that, but after refreshing data on this game, not only didn't get anything new, but my achievement data from PSN disappeared.
I was enlightened, that these would work with PC version of the game, not PS4, but now, even if I disable this option and try to refresh data, I can't get back my PSN achievements for this particular game.
I re-authenticated for PSN, but refreshing data still changes nothing. I also don't get any notifications about that.
In extensions.log file after refreshing data from selected PSN games I got this:
23-02 20:20:39.529|INFO |SuccessStory#PluginDatabaseObject`4:RefreshNoLoader(Genshin Impact - 6c5f23a2-3768-4e40-a24f-0a15c97550a7)
23-02 20:20:39.596|INFO |SuccessStory#PluginDatabaseObject`4:No achievements find for Genshin Impact - 6c5f23a2-3768-4e40-a24f-0a15c97550a7
23-02 20:20:45.975|INFO |SuccessStory#PluginDatabaseObject`4:RefreshNoLoader(KINGDOM HEARTS - HD 1 5+2 5 ReMIX - - 62544051-38b1-4473-95bf-6f753e1d355f)
23-02 20:20:48.676|WARN |SuccessStory#PluginDatabaseObject`4:Used SuccessStory.Clients.PSNAchievements for KINGDOM HEARTS - HD 1 5+2 5 ReMIX - - 62544051-38b1-4473-95bf-6f753e1d355f
23-02 20:20:50.818|WARN |SuccessStory#TrueAchievements:No url for GetEstimateTimeToUnlock()
23-02 20:20:51.478|INFO |SuccessStory#PluginDatabaseObject`4:Find 48 achievements find for KINGDOM HEARTS - HD 1 5+2 5 ReMIX - - 62544051-38b1-4473-95bf-6f753e1d355f

So it looks like after enabling and then disabling the option, it can't find the achievements for "Genshin Impact" anymore.

Have you tried with the latest version?

@Lacro59 On latest version, when I check "Enable Genshin Impact achievements", then refreshing data gets all in-game achievements (which is 653 at the moment). They are not checked, which ones I obtained (it works for PC version, or it's manual-edit only?).
However still, when I disable this option, PS4 achievements for this game are not getting downloaded.


Revisit the search, to be served from the server

Description
See the detail on the Doc on section 1.2.1:
https://docs.google.com/document/d/1im7CF8XaF4yYQ_jJjjW7dOKZz8tJFvidtW7bOlqt1Y8/edit?usp=sharing
Currently our search feature are executed on the client side, the data is re-aggregated on the client.
Looking to our architecture that serve a static HTML, this should not happen, we have all the data. No need to re-calculate the data on the client side.
Tasks

[ ] Aggregate the data, filter and sort from the server side
[ ] Show initial data without any re-aggregation
[ ] Test the functionality

Mas @famasya has built a demo over here.
https://famasya.github.io/wbw-gsheets-demo/
The backend is using TrustMedis' TypeSense instance.
This is the source code of the demo.
https://github.com/famasya/wbw-gsheets-demo
I'll be adding more details on how we can utilise this for our use case, but first I need to clarify some stuff from him, such as how often it updates the index from the latest updates in the Google Sheets.

Hi there, it is basically an open source version of Algolia. Fortunately typesense have Algolia's instantsearch.js adapter for faster development.
Here's demo link for instantsearch.js with typesense server: https://famasya.github.io/wbw-gsheets-demo/
For the reindex, it happens on every 3 hours.

I've prepared a public repository for this crawler project named wbw-gsheets-crawler.
Mas @famasya will help to set up the initial codebase later.

All set mas @zainfathoni . We have three indices for now:

wbw-gsheets-database
wbw-gsheets-telemedicine
wbw-gsheets-faq

I'll send you typesense search key by PM

Could you please help us to create a new epic issue for the integration with your search functionality, Mas @famasya?
Frankly, I don't know where it is hosted, how we can fetch the data, etc. 😅 🙏


🐛 Bug Report: Large file upload and login behind Reverse Proxy (nginx) not possible

👟 Reproduction steps
Pingvin is running fine with nginx + ssl with smaller files. I then tried to extend my max file size to 3Gb and uploaded a .rar with 2.2 GB.
👍 Expected behavior
Uploading large files with SSL and reverse proxy without error and creating a share you can download.
👎 Actual Behavior

Upload error (no specific error)
no share created
db entry has been created

This only happens with nginx and domain https://pingvin.domain.com
I have no issues in these cases:

uploading smaller files (just tried below 100Mb)
uploading large files via ip: http://<IP_ADDRESS>:3000

🌐 Browser
Firefox
🧑💻 Nginx Config
{
  "id": 18,
  "created_on": "2021-10-08T10:31:05.000Z",
  "modified_on": "2022-12-16T09:45:13.000Z",
  "owner_user_id": 1,
  "domain_names": [
    "pingvin.domain.com"
  ],
  "forward_host": "<IP_ADDRESS>",
  "forward_port": 3000,
  "access_list_id": 0,
  "certificate_id": 20,
  "ssl_forced": true,
  "caching_enabled": false,
  "block_exploits": true,
  "advanced_config": "",
  "meta": {
    "letsencrypt_agree": false,
    "dns_challenge": false
  },
  "allow_websocket_upgrade": false,
  "http2_support": true,
  "forward_scheme": "http",
  "enabled": 1,
  "locations": [],
  "hsts_enabled": true,
  "hsts_subdomains": false
}

Normally Nginx limits the body size, you can increase the limit in your nginx configuration. Example on Stackoverflow

That was it! Thanks for your quick help! I didnt know that nginx has a limitation on the file size and extended it to 10G now.


Feature request: Reset (partial config) to Defaults

I'd like to be able to reset a config section, for e.g. Services > DNS Resolver to Defaults.
Ideally this would be under Advanced in the section options, just to avoid accidents.
Also, I think it would be nice to be able to Reset everything to Defaults (maybe from General > Settings > Advanced option) except Interfaces (and Interfaces > Other ( to keep Bridging)).
Thanks in advance!

I like to suggest to provide the default settings in the description of all options. This would allow to quickly spot changes that have been made and for easy manually resetting them. The documentation could be auto generated, to reduce documentation maintenance and ensure it's always up to date.

timeout due to inactivity


Remove the last few remnants of spawnkillable

Couchjs should actually be deleted and remain or?

Couchjs should actually be deleted and remain or?

Yes 😀
That is cleaned by rebar -r clean since it's a proper build artifact of rebar ports. The copy in bin is cleaned a few lines above.
But as KGB used to say "trust, but verify!":
% ls src/couch/priv/couchjs
src/couch/priv/couchjs*

./bin/rebar -r clean

ls src/couch/priv/couchjs
ls: src/couch/priv/couchjs: No such file or directory


Support Swift 5.9, like all other HB2 packages

Sparked thanks to #16

Remember #15. I upped the swift version there because the code didn't compile with 5.9. I need to update the project template to not include 5.9.

That makes sense, I didn't make the link :)


Asset colocation

Is your feature request related to a problem? Please describe.
Many SSGs supports having a folder containing some assets (primarily image) with index file which is actual content. Examples include:

Zola's asset colocation
Hugo's Page bundles
Hexo's Post Asset Folder

Describe the solution you'd like
I'd like to have a option called a bundle on collection declaration, which will create a folder and create a file for actual content (must be configurable) when enabled.
Describe alternatives you've considered
I could keep putting my images in one assets folder, but I don't think that's very long-term solution.
Additional context
I'm writing this because I just headed into a theme which requires this feature. But I think this would be very nice feature for Netlify CMS users overall.

Oof, duplicate of #1472. closing!


Finalize mockups of file exchange format and GCcode collaboration space

I began a mockup on GCcode of what a common file exchange format for software assessments could look like (inspired by the excellent Open Resource Exchange).

Closing this for now as phase one won't include a standard file exchange format.


Use a local path for the oc CLI in TravisCI

This fixes a permission error.

/hold

/unhold
A test build is working here:
https://app.travis-ci.com/github/stolostron/governance-policy-framework/jobs/593963598


Modal goes to the far corner of the top of the page after updating semantic ui

✔ BUGS →
Steps
Create a semantic ui react modal
npm install "semantic-ui-css": "2.3.0", and "semantic-ui-react": "0.78.3",
Expected Result

Actual Result

Version
0.78.3
I have now downgraded to "semantic-ui-css": "2.2.14", and "semantic-ui-react": "0.78.2",
which fixes the issue for me
Testcase

Duplicate #2550.


Captcha: Target specific criteria for captcha verification

Cog
Captcha
What would you like to see?
Kind of stealing ideas from Wick bot but I'm sure Fnaki wouldn't mind. Anyways, one of the features his bot has is the ability to target suspicious users like new accounts, default profile pictures and a whole bunch of other data. This has been very handy from my experience and it would be awesome to see it added to your captcha cog. If it's something that causes issues or is waaayyyy too complicated to add, you don't have to do it or add it to a 'good enough' state.

Hi Xenon, please see my comment here. I love your idea, but I don't have enough time to implement it.

I won't be going ahead with this, but cheers for the idea.


[2.3] KDM Release - k8s patches for Dec

1.17.16 -2.3.8+

Following are the checks performed on the clusters:
Rancher: 2.3.10-rc2
K8ss verified: 1.17.16-rancher1-1
2.3.10-rc2 -fresh install
1.Fresh install of rancher on 2.3.10-rc2, verify the versions of k8s shown while creating the clusters: 1.17.16-rancher1-1
2.Launch clusters on 4 network providers[calico, flannel, cannel and weave] for two k8s versions - 1.17.16-rancher1-1
3.Run validation and network checks
All the checks have passed
Upgrade testing:
1.Rancher fresh install on 2.3.9
2.Create clusters on 4 network providers for 1.17.14-rancher1-1
3.Run pre-upgrade checks - PASS
4.Upgarde rancher version to 2.3.10-rc2 - PASS
5.Run post-upgrade checks - PASS
6.Verify metadata container pointing dev
7.Upgrade the k8s version on all the clusters to 1.17.16-rancher1-1 respectively - PASS
8.Run post upgrade checks - PASS

Following are the checks performed on the clusters:
Rancher: 2.3.10-rc2
K8ss verified: 1.17.16-rancher1-1
2.3.10-rc2 -fresh install
1.Fresh install of rancher on 2.3.10-rc2, verify the versions of k8s shown while creating the clusters: 1.17.16-rancher1-1
2.Launch clusters on 4 network providers[calico, flannel, cannel and weave] for two k8s versions - 1.17.16-rancher1-1
3.Run validation and network checks
All the checks have passed
Upgrade testing:
1.Rancher fresh install on 2.3.9
2.Create clusters on 4 network providers for 1.17.14-rancher1-1
3.Run pre-upgrade checks - PASS
4.Upgarde rancher version to 2.3.10-rc2 - PASS
5.Run post-upgrade checks - PASS
6.Verify metadata container pointing dev
7.Upgrade the k8s version on all the clusters to 1.17.16-rancher1-1 respectively - PASS
8.Run post upgrade checks - PASS

2.3.8 - min version checks
1.Change the metadata container pointing from master to dev
2.Create clusters on 4 network providers for the three k8s versions 1.17.16-rancher1-1 - PASS
3.Run network checks on all the clusters - PASS

2.3.8 - min version checks
1.Change the metadata container pointing from master to dev
2.Create clusters on 4 network providers for the three k8s versions 1.17.16-rancher1-1 - PASS
3.Run network checks on all the clusters - PASS


MariaDB Support

Support connection between mysql or MariaDB and Azure Data Studio.

close as dupe of https://github.com/microsoft/azuredatastudio/issues/4917

close as dupe of https://github.com/microsoft/azuredatastudio/issues/4917


Android SDK 24 can lead to crashes with devices and Macs, but flutter tool says 24 is OK

We diagnosed a problem with crashing from device+flutter+mac. After the user upgraded to Android SDK 25, the crashes stopped. See https://github.com/flutter/flutter/issues/7332#issuecomment-274401118
We might want to change flutter tool to prompt the user to upgrade to Android 25. Right now, flutter tool says 24 is OK.

I confirmed with our user that once he upgraded to Android SDK 25, his crashes went away.
We recommend that flutter doctor suggest the user upgrade to 25.
Are we aware of a reason to continue to prefer 24?

cc @abarth or @jason-simmons  might know some background here...

Hi. This might help avoid issues for new users on macs. If this is easy, can we do this by/before March 8th ?

I'm not aware of any reason to prefer SDK 24.

Sounds like a simple fix to flutter doctor:
https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/android/android_workflow.dart#L15
Looks like we check a bunch of versions, but not sure we require one yet.

@johnmccutchan are you looking at this one?

https://github.com/flutter/flutter/pull/8462


Build on watchOS2

You use variables from MobileCoreServices in code.
You wrapped it here:
#if os(iOS)
import MobileCoreServices
#endif,
but not at usage in:
guard let UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, ext, nil) else { return }
guard let str = UTTypeCopyPreferredTagWithClass(UTI.takeRetainedValue(), kUTTagClassMIMEType) else { return }
This code doesn't work on watchOS2

Ah good point. All these platforms nowadays :smile:.
UTTypeCreatePreferredIdentifierForTag and UTTypeCopyPreferredTagWithClass  are supported on OS X as well, so we probably should include that in the ifdef too.


Add just recipes to update changelog and release version

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

Project coverage is 96.91%. Comparing base (c23f81c) to head (79aed74).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #152      +/-   ##
==========================================
- Coverage   96.93%   96.91%   -0.02%
==========================================
  Files           5        5
  Lines         522      519       -3
==========================================
- Hits          506      503       -3
  Misses         16       16

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


feat: soda-core-vertica

Developed soda-core-vertica module, all unit-tests passed

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@mkovalyshev  Thanks a lot! I'll review and merge it before next release (scheduled tomorrow)

Continuing on https://github.com/sodadata/soda-core/pull/1771 for CI tests.


Update licensing

Changes:

Expand the "Licensing" section in readmes.
Mention third party work in crossbeam-channel/README.md.
Add crossbeam-channel/LICENSE-THIRD-PARTY.
Simplify the credits boilerplate in source code files.
Remove the copyright notice from LICENSE-MIT. See why.

@erickt How does that look?

I'm afraid I cannot review this PR, because I'm not familiar with licenses...

I'll wait for @erickt's approval.
bors delegate=erickt

Let's merge this and then if something comes up I can amend changes.
bors r+


Add functionality for setting the actuator control targets directly.

This is an offboard functionality which allows for setting the actuator control targets directly for a specific control group in offboard mode.

This pull request goes accompanied with a pull request on the PX4 side https://github.com/PX4/Firmware/pull/8908.
It includes an integration test, but I would like your opinion on which ASSERTS to add.
Also the integration test works for a specific model type (standard_vtol), since the goal is to set its ailerons directly. Any Ideas on how to generalize?

I agree with @julianoes on this: https://github.com/dronecore/DroneCore/pull/277#discussion_r170510803
We shouldn't merge something unless we understand the use case we're trying to meet and can provide a clear API to meet it. We cannot merge something without understanding the implications.
@xgerrmann - I'm going to close this now, but feel free to reopen if you wish to continue the discussion.


Issue with low-memory notification

The low-memory notification was getting into an infinite loop.  This
fixes the loop termination, and provides a test for platforms which
support low-memory notification.

@snf this fixes the Windows performance issue you were having.

Not sure what the right test for 32bit Windows is.  It does have a low-memory notification, but runs out of address space, before physical memory is exhausted.
I'll probably just disable the test on 32bit windows for now.