Duration filter is inaccurate

Description

We have duration filters defined in our Elasticsearch models:
https://github.com/WordPress/openverse-api/blob/a7955c86d43bff504e8d41454f68717d79dd3a44/ingestion_server/ingestion_server/elasticsearch_models.py#L307-L309
Unfortunately, duration does not seem to be accurate (these results are several hours long but appear in all available filters):

https://api.openverse.engineering/v1/audio/?q=deuteronomy&duration=short
https://api.openverse.engineering/v1/audio/?q=deuteronomy&duration=long

It seems like this may be due to the nature of the get_duration function on the model:
https://github.com/WordPress/openverse-api/blob/a7955c86d43bff504e8d41454f68717d79dd3a44/ingestion_server/ingestion_server/elasticsearch_models.py#L340
It may also be due to an order of magnitude mismatch (e.g. expecting ms when it's actually seconds).
Additional context

Resolution

[ ] 🙋 I would be interested in resolving this bug.

The durations in the catalog, at least for Wikimedia, are in seconds. You can see an example response in this comment (expand the Response JSON section): https://github.com/WordPress/openverse-catalog/issues/445#issuecomment-1095548184
I'm sure we'll have variation here between provider, if not now then eventually. It'd be nice if the field was named duration_sec or duration_ms (whichever we land on) so that it's clearer for the consumer :slightly_smiling_face:
That withstanding, I think to fix this we should:

Confirm that our current providers all use seconds
If they don't, then normalize the data in the catalog (either to seconds or whatever we want to use)
After they're all using the same unit, update the query configuration if necessary

We did add conversion to milliseconds to providers who use seconds (apparently, it's all of them 😆 ):
https://github.com/WordPress/openverse-catalog/blob/e98cf7993b5ebdb6f9e4d0b3117a3e4b5ffb182a/openverse_catalog/dags/providers/provider_api_scripts/wikimedia_commons.py#L316-L317
https://github.com/WordPress/openverse-catalog/blob/e98cf7993b5ebdb6f9e4d0b3117a3e4b5ffb182a/openverse_catalog/dags/providers/provider_api_scripts/freesound.py#L178
https://github.com/WordPress/openverse-catalog/blob/e98cf7993b5ebdb6f9e4d0b3117a3e4b5ffb182a/openverse_catalog/dags/providers/provider_api_scripts/jamendo.py#L203-L204

Well then it's not a units problem, that hopefully means it doesn't require updating the data to fix it :stuck_out_tongue:


Special characters do not work in books

Special characters do not work in books. I would like to write a book in german but the special characters ä, ö, ü, and ß do not work. The documentation does not specify how to add them into books. When I add them, they show up as boxes with question marks. I have tried using html codes - they do not work, both the numbered and the lettered ones.
Please fix this, we want to write server guides for players that speak other languages...

I did some more research and found this website - https://www.i18nqa.com/debug/utf8-debug.html
it said that the character ß is often mixed up with the two characters  ÃŸ. When I added ÃŸ instead of ß - sure enough, ß was displayed instead of the box with a question mark.

I tested it, and I haven't this problem. Check if the file's encoding is set to UTF-8.


deal with null or "" in LocalDate

fix issue #1020

deal with null or "" in LocalDate

 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.


The "-u" flag has been deprecated. Use "--target-org | -o" instead.

Describe the bug
Dev Ops Pipeline was running successfully until we upgraded SFDX  from 7.138.1 to 7.197.8
To Reproduce
Upgrade SFDX to 7.197.8
Expected behavior
the below error should not be encountered.
Error: Deployment failed with error Warning: We plan to deprecate this command in the future. Try using the "project deploy start" and "project deploy report" pair instead.
Warning: The "-u" flag has been deprecated. Use "--target-org | -o" instead.
Screenshots

Platform Details (please complete the following information):

OS: Azure
Version [e.g. CLI Version  eg: 1.6.6]  SfPowerScript CLI 18.0.62
Salesforce CLI(sfdx cli) Version:         7.197.8
CI Platform:

Additional context
Complete error message and at this point our deployment fails and does not proceed to deploy the package.
Error: Deployment failed with error Warning: We plan to deprecate this command in the future. Try using the "project deploy start" and "project deploy report" pair instead.
Warning: The "-u" flag has been deprecated. Use "--target-org | -o" instead.
Deploy ID: 0000000**S
Status: InProgress
Deployed: 17/385 Errors: 0
Tests Complete: 0/0 Errors: 0
Validation/Deployment with Job ID undefined failed

Can you confirm whats the cli command used?

Can you confirm whats the cli command used?

@sreedsfo  I am closing this due to inactivity


Update EML to 2.2.0

As per title. Current EML version in the IPT is 2.1.1

New profile https://rs.gbif-uat.org/schema/eml-gbif-profile/1.3/


deepin.util-dfm: init at 1.2.7

Description of changes
build dependencies for new linuxdeepin/dde-file-manager

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 224049 run on x86_64-linux 1

1 package built:

deepin.util-dfm


Unable to access oscar on https://example.com:8443/oscar

Issue Summary
I followed this guide and I managed to install the most recent version oscar_emr19-66~1881.deb on Ubuntu 22.04. After a successful installation, I was able to arrive at the below stages:

When I run less /usr/share/oscar-emr/README.txt , I got:

The problem
When I visited https://example.com:8443/oscar I got:

Technical details
java -version
openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>)
OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>, mixed mode, sharing)

Python version: When I run python --version, I got: -bash: python: command not found. But pip3 --version returned pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
Django version: When I run pip show django | grep Version, I got WARNING: Package(s) not found: django
Oscar version: When I run pip show django-oscar | grep Version, I got WARNING: Package(s) not found: django-oscar

Help needed
How can I fix my installation to get this up and running?

You have got the wrong repository - this project is django-oscar, not related at all to the medical records software whose issue tracker is here


The demo is broken

Visit https://cssjanus.github.io/demo/.
Console output:

Uncaught TypeError: cssjanus.transform is not a function at HTMLButtonElement.buttons..onclick ((index):488)

This was (supposed to be) fixed by https://github.com/cssjanus/cssjanus/commit/569d68a00, and pulled through to the live site with https://github.com/cssjanus/cssjanus.github.io/commit/fc4c49370e8b57ad3bfd5d7b8094eb49b2ea5a3a.


Fix session handling with auth0

State:
After 2 days, the id token validity runs out. The user has to log in again, which is unnecessary due to there being a refreshment token which should handle that job. On logout, the session at auth0 persists.
Goal:
Use the refresh token to get a new id token once the old one is invalid, hence rendering manual re-logging obsolete. When the user manually logs out, destroy his session stuff at auth0.com.

Have to wait two days, until automatic logout happens.


Styling

I added some styling to the data table, added a module header and removed the data table heading.
The size of the moudle could be configured by using the built in css classes - small, medium and large. Included the clock, in the screenshot, for reference.
I thought maybe we should discuss the styling before I drop a pull request.

Can you push these changes to your fork so I can take a look at it locally?

Changes pushed. https://github.com/Menturan/MMM-trakt/commit/0e9f719f0241cc6ee3acec5d09f606d52696f17a .
I made it swiftly. Could really be improved. For example should the object.style =... be inserted into a separate css file. Thought I refactor it ones we agreed upon a certain style.
I took inspiration from the built-in calendar module. In my opinion should MM modules have a homogeneous appearance.
What do you think?

@Kiina Have you had time to look at it? :smiley:

Yeah sorry, I've been running it on my Mirror for some time now. I really like how it looks, but I think the header should be left up to the user config or maybe have a default one that takes it into account and only shows when the user hasn't set { header: 'TV Shows' }


cigien: Blacklist (?-i:^felishia green$)

cigien requests the blacklist of the username (?-i:^felishia green$). See the MS search here and the Stack Exchange search in text, in URLs, and in code.

(?-i:^felishia green$) has been seen in 11 true positives, 0 false positives, and 0 NAAs.

(?-i:^felishia green$) has been seen in 11 true positives, 0 false positives, and 0 NAAs.

Approved by Spevacus in Charcoal HQ

Approved by Spevacus in Charcoal HQ


Add possibility to use docker to run tests and build in containers

On some systems podman is unavailable. Also, some people prefer docker over podman. Add possibility to use docker to run tests and build packages.
Set the CONTAINER_TOOL environment variable to change the container tool used for running tests and building packages, for example: CONTAINER_TOOL="docker" make test_container.
Unless you are running the Docker daemon in rootless mode, you will have to run as root. In such case files created in packaging/ using build_container and in testenv/ using test_container will be owned by root. To change the ownership back to your user, you can for example run chown -R $USER packaging/ testenv/.
The clean_container target now checks the existency of image before deleting it, otherwise the command would silently fail when ran without correct permission.
Jira ref.: OAMG-7286

Can one of the admins verify this patch?


SpannerSpark: infer the current number of partitions from Cloud Spanner itself and within a max of maxParallelism

When creating a reader, it is necessary to define the max number of partitions. We should infer the number from the database itself but as per https://cloud.google.com/spanner/docs/reference/rest/v1/PartitionOptions the default number if 10,000 though the maximum is 200,000

Done per https://github.com/GoogleCloudDataproc/spark-spanner-connector/pull/59


add run-in-html functionality for visualizations

I added a script compile.sh that lets you run a webppl script in the browser easily so you can use GridWorld.draw.

Split compile.sh into two scripts? It seems that the first half needs run only once, to set things up:
npm install webppl@latest
cd $WEBPPL_PATH
npm install

grunt compile:$CURRENT_PATH
cp compiled/webppl.js $CURRENT_PATH/runHtml/assets/js/

This part is a lot slower than the rest of the script, which needs to run after every modification of the .wppl file, so splitting it would probably make it much easier to iterate quickly.

Done.


Runtime fails with Error code 3211; Job not valid. Qubit(QuantumRegister(3, 'q1'), 0) on valid job

Describe the bug
Valid OpenQASM 3 source is imported, the circuit transpiled, and sent via QiskitRuntimeService.
The job fails with Error code 3211; Job not valid. Qubit(QuantumRegister(3, 'q1'), 0)"
Steps to reproduce
$ cat test.qasm
OPENQASM 3.0;
include "stdgates.inc";
bit[1] c0;
qubit[3] q1;

cx q1[0], q1[1];
cx q1[1], q1[2];
x q1[1];
x q1[2];
c0[0] = measure q1[0];
if (!c0[0]) {
  x q1[0];
  x q1[2];
}
$ python

>>> from qiskit_ibm_runtime import SamplerV2
>>> from qiskit import transpile
>>> from qiskit_ibm_runtime import QiskitRuntimeService
>>> p = QiskitRuntimeService()
>>> backend = p.least_busy(operational=True, simulator=False)
>>> backend.name
'ibm_sherbrooke'
>>> from qiskit import qasm3
>>> qc = qasm3.load('test.qasm')
>>> qc_t3 = transpile(qc, backend=backend)
>>> sampler=SamplerV2(backend)
>>> job=sampler.run([qc_t3], shots=1000)
>>> print(job.status())
ERROR
>>> print(job.result())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/jwoehr/work/Qiskit/qrel_env/lib/python3.10/site-packages/qiskit_ibm_runtime/runtime_job_v2.py", line 138, in result
    raise RuntimeJobFailureError(f"Unable to retrieve job result. {error_message}")
qiskit_ibm_runtime.exceptions.RuntimeJobFailureError: "Unable to retrieve job result. Error code 3211; Job not valid. Qubit(QuantumRegister(3, 'q1'), 0)"

This failing job ID was cw8ja50ggr6g0087p13g.
Expected behavior
Job runs to completion
Suggested solutions
Jake Lishman posts in Qiskit Slack:

That error is coming from the server side, so it seems like it’s related to backend code.  Fwiw, I ran this:

import io
from qiskit import qasm3, transpile, qpy
from qiskit_ibm_runtime import QiskitRuntimeService

service = QiskitRuntimeService()
backend = service.backend("ibm_sherbrooke")

prog = """
OPENQASM 3.0;
include "stdgates.inc";
bit[1] c0;
qubit[3] q1;

cx q1[0], q1[1];
cx q1[1], q1[2];
x q1[1];
x q1[2];
c0[0] = measure q1[0];
if (!c0[0]) {
  x q1[0];
  x q1[2];
}
"""
qc = qasm3.loads(prog)

qc_t = transpile(qc, backend, seed_transpiler=0)

print(qasm3.dumps(qc_t))

with io.BytesIO() as fptr:
    qpy.dump(qc_t, fptr)
    fptr.seek(0)
    qc_qpy = qpy.load(fptr)[0]
qc_qasm = qasm3.loads(qasm3.dumps(qc_t))

print(qasm3.dumps(qc_qpy))
print(qasm3.dumps(qc_qasm))

print(qc_t.draw(idle_wires=False))
print(qc_qpy.draw(idle_wires=False))
print(qc_qasm.draw(idle_wires=False))

which brings in the circuit, roundtrips it through QPY, through QASM3, then outputs it again to OQ3 and draws it, and that all passes (and on a cursory glance looks correct too), which suggests that Qiskit’s data model is doing the right thing (otherwise I’d expect us to have errored out somewhere or drawn some nonsense).  It might be a similar trouble in the valid-circuits check on the backend side, but I wouldn’t know.

Additional Information

qiskit-ibm-runtime version: 0.31.0
Python version: 3.10.12
Operating system: Linux PopOS Ubuntu-like

Like #1969

Commented here, but this should be fixed now.

I can confirm running the code in the OP failed for me yesterday but worked today.

Asking user via Slack to retest.

Works for myself and also for one other user reporting in on Qiskit Slack. Thanks!


Catch Error when "NS_ERROR_FILE_NO_DEVICE_SPACE"

Not show me a message when do not have space on my hard drive, only show a white screen and clients can be think that not working,I had to go the console to find the error

What is your browser ?


chore: screen merge follow-ups

Contains

fix screen title
remove verbose label asking the user to pick a world generator from the drop down
remove no longer used translation tags
return user to module selection if no module selected that provides world generator
differentiate between world generator creation issues and display popup to user if selected world generator cannot be resolved

How to test

Start Terasology
Go to advanced game setup
Go to universe setup screen
Confirm above-mentioned changes

Outstanding before merging

[ ] Check and adjust Re-Roll button height to seed text field height

i do get a build error here, not sure what i am doing wrong:
/srv/http/repos/terasology/engine/src/main/java/org/terasology/engine/rendering/nui/layers/mainMenu/UniverseSetupScreen.java:360: error: cannot find symbol
        } catch (UnresolvedDependencyException e) {
                 ^
  symbol:   class UnresolvedDependencyException
  location: class UniverseSetupScreen

yeah I must've messed/mixed up the import... GitHub codespaces is not working as well as Intellij when it comes to imports between Terasology and gestalt... also didn't test this yet, so I probably should've opened it as a draft, sorry about that - switching to draft state now.

force pushed my commit with line lenght correct, there was a checkstyle warning. otherwise it builds and works - but i am am a little clueless what should be different from before - so would be cool if you start it once.

@soloturn I listed the changes I've done in this PR in the description:

fix screen title
remove verbose label asking the user to pick a world generator from the drop down
remove no longer used translation tags
return user to module selection if no module selected that provides world generator
differentiate between world generator creation issues and display popup to user if selected world generator cannot be resolved

If you navigate to the universe setup screen (Singleplayer -> Create -> Advanced Game Setup -> Universe Setup), and compare between develop and this branch, you should be able to notice the frist two aspects. The third one is only visible in-code and the fourth and fifth are indeed hard to test ... I guess one would need to fiddle with the local state of the CoreWorlds module to force these two. I'll play around a bit and if I can reliably force them, I'll provide instructions how to.

if its hard to test, then lets merge it, and fix if somebody really notices a regression.


Alllow importing node builtin packages in nw.js client

Description
import { useState } from 'react'
import './App.css'
import fs from 'fs'; // <--- returned http://<IP_ADDRESS>:5174/@id/__vite-browser-external:fs?t=1685512713887

function App() {
  const [count, setCount] = useState(0)

  return (
    <>

Vite + React

        <button onClick={() => setCount((count) => count + 1)}>
          count is {count}
        </button>
        <button onClick={() => {
             fs.writeFileSync('test.txt', 'test'); // <--- complete OK in nw.js
        }}>
          Write
        </button>

          Edit src/App.tsx and save to test HMR

    </>
  )
}
export default App

When I click 'Write' button, there is an error 'Module "fs" has been externalized for browser compatibility'.
Importing node builtin package is legitimate in nw.js.
Suggested solution
I have no idea. Leave importing node builtin packages untouched?
Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Importing node builtin in the browser is invalid

Importing node builtin in the browser is invalid. Your framework should strip them away for the browser code, or only run in in the server.

Importing node builtins in nw.js is totally valid.
For anyone who wants to use Vite in their nw.js project, no more struggling with vite.confit.ts, here is my workaround at the moment:
App.tsx:
const fs = global.require('fs') as typeof import('node:fs');
fs.writeFileSync('test.txt', 'hello');

Use global.require to load node built-in modules and type-assert it with typeof import(...).
Though cumbersome, at least it works and you go proper types.

Perhaps you can create a vite-plugin-nwjs plugin to help with this, which would rewrite import fs from 'fs' to const fs = global.require('fs'). Vite defaults to be opinionated in the browser, so it's unlikely we'll create a new option for it, but a plugin seems like a nice middleground for now.

Perhaps you can create a vite-plugin-nwjs plugin to help with this, which would rewrite import fs from 'fs' to const fs = global.require('fs'). Vite defaults to be opinionated in the browser, so it's unlikely we'll create a new option for it, but a plugin seems like a nice middleground for now.

Good idea. I've created a vite plugin to do that: https://www.npmjs.com/package/vite-plugin-import-to-require


Support ordered argument in delete command for postgres handler

Description
This PR closes #848.

Readiness checklist

[x] I added tests for new functionality or bugfixes.
[ ] I ran task all, and it passed.
[ ] I added/updated comments for both exported and unexported top-level declarations (functions, types, etc).
[ ] I checked comments rendering with task godocs.
[ ] (for maintainers only) I set Reviewers (@FerretDB/core),
Assignee, Labels, Project and project's Sprint fields.
[ ] I marked all done items in this checklist.

Done:

Implemented functionality for postgres handler.
Created tests for error simulation (thanks @rumyantseva!)
Splited PR to another two (tigris handler and more detailed tests for differrent errors).

Blockers:

The FerretDB error messages differs by adding prefixes like (BadValue).
I'm not sure that nested function is the best approach.


Issues with pasting on Windows in 2.7.0

I'm seeing some weird behavior after https://github.com/sourcelair/xterm.js/pull/659. For the following string:
a
b
c

Cmd pastes on same line:

Powershell pastes in reverse and the cursor is on the first line:

@Tyriar I believe the PowerShell issue of pasting in reverse is because of PSReadline module.  However the cmd behavior is also wrong. We need to replicate pressing the "Enter" button.

Keep in mind this may be related to node-pty being out of date, if everything works fine in the new node-pty I should work towards updating that in xterm.js.


[Feature request] Support file-like objects in open_rasterio

With some acrobatics, it is possible to open file-like objects to rasterio. It would be useful if xarray supported this workflow, particularly for working with cloud optimized geotiffs and fs-spec.
MCVE Code Sample

with open('my_data.tif', 'rb') as f:
    da = xr.open_rasterio(f)

Expected Output
DataArray -> equivalent to xr.open_rasterio('my_data.tif')
Problem Description
We only currently allow str, rasterio.DatasetReader, or rasterio.WarpedVRT as inputs to open_rasterio.
Versions
Output of xr.show_versions()
INSTALLED VERSIONS
commit: 2a288f6ed4286910fcf3ab9895e1e9cbd44d30b4
python: 3.8.2 | packaged by conda-forge | (default, Apr 24 2020, 07:56:27)
[Clang 9.0.1 ]
python-bits: 64
OS: Darwin
OS-release: 18.7.0
machine: x86_64
processor: i386
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: en_US.UTF-8
libhdf5: None
libnetcdf: None
xarray: 0.15.2.dev68+gb896a68f
pandas: 1.0.4
numpy: 1.18.5
scipy: None
netCDF4: None
pydap: None
h5netcdf: None
h5py: None
Nio: None
zarr: None
cftime: None
nc_time_axis: None
PseudoNetCDF: None
rasterio: 1.1.5
cfgrib: None
iris: None
bottleneck: None
dask: 2.18.1
distributed: 2.18.0
matplotlib: None
cartopy: None
seaborn: None
numbagg: None
pint: None
setuptools: 46.1.3.post20200325
pip: 20.1
conda: None
pytest: 5.4.3
IPython: 7.13.0
sphinx: 3.0.3

xref: https://github.com/pangeo-data/pangeo-datastore/issues/109

this appears to have been fixed in the latest alpha release of rasterio v1.3a3 (which isn't available on conda-forge but is available on PyPI) via fsspec

https://github.com/rasterio/rasterio/issues/2360
https://github.com/corteva/rioxarray/issues/440

In [13]: import xarray as xr

In [14]: import fsspec

In [15]: import rasterio

In [16]: rasterio.__version__
Out[16]: '1.3a3'

In [17]: with fsspec.open('2d_test.tiff') as f:
    ...:     ds  = xr.open_dataset(f, engine='rasterio')
    ...:

In [18]: ds
Out[18]:
<xarray.Dataset>
Dimensions:      (band: 1, y: 10, x: 10)
Coordinates:
  * band         (band) int64 1
    xc           (y, x) float64 ...
    yc           (y, x) float64 ...
    spatial_ref  int64 ...
Dimensions without coordinates: y, x
Data variables:
    band_data    (band, y, x) float64 ...


🔭 Conform Guardian generated NFTs with HIP412 for better ecosystem-wide compatibility for NFTs and wallets

Problem description
Currently, Guardian-generated NFTs use a proprietary metadata Guardian, this is fine, if we want to align ourselves with the members of the NFT and wallet ecosystem we should integrate HIP412.

Note: this specifically effects guardian NFTs, rather then FTs.

@mattsmithies can help advise Guardian team on getting assets HIP412 compliant.
Why this matters
In a sentence, the UX that downstream consumers that purchase carbon assets must be good.
When we expect carbon or similar environmental assets (biodiversity) to be generated and transferred to the wallets of network users on Hedera there will be an expectation of these assets being sold on external markets at a later time. This specific usecase is on assets that aren't retired at point of sale on given marketplace.
Currently, DOVU provides a marketplace that retires carbon for every sale but we will be moving to decoupling the carbon retirement process, as well as moving to a retirement architecture that includes lifelong analytics.
The issue is when NFT assets generated from the Guardian are transferred to a wallet the lack of HIP412 integration means that end users have bad experience when viewing.
Examples:
This screen displays the collection of NFTs, in this case tons of carbon transferred to a wallet where each tonne is one NFT.

This next screen displays a single NFT, from the collection that is a tonne of carbon.

This next link is of gomint's NFT explorer, which renders from the HIP412 schema.
Requirements

Define senisble defaults for all NFT Guardian assets that is the minimum implementation of HIP412 (@mattsmithies can advise on tooling or a method to support)
Move the generated of the current metadata to the "properties" field of the HIP412 Specification
Allow marketplaces to change the defaults for their specific needs on the creation of tokens and more importantly the mint of assets.

Definition of done 🔥
All guardian NFT assets should conform to HIP412, to enable wallets and external services to injest the information to render.
An example of a valid NFT is this Carbon Certificate DOVU issued to Swirlds for the Davos event, we can pull from a mirrornode to extract the data to infer and write automated tests against.
Acceptance criteria

A standard registry can transfer NFT assets and view them in Hashpack (HIP412 compliant wallet) with a placeholder image
A standard registry can set the following fields for the mint of a guardian NFT asset

Name
Creator (standard registry)
Description
CID (from the upload of an image from nft.storage, web3.storage or others)
Type (image/png or video/mp4)

A user that gets NFT carbon assets transferred to an account, will either see sensible defaults or the
As a developer using the guardian I can run an automated test that can check that a minted NFT conforms to HIP412.

Appendix
For DOVU we built/utilised the Trust Enterprises NFT ecosystem using the Inky Art Club admin panel as a frontend minter for the Swirlds Certificate for Davos.

To add to the discussion with myself and @paulmadsenhbar, this is my recommendation for adding the timestamp that was previously the metadata of the NFT within the context of the 412HIP schema, hosted as immutable JSON.
{
	"name": "Redhill Farm Mint (timestamp)",
	"creator": "DOVU / Standard Registry",
	"description": "This is an example NFT metadata",
	"image": "ipfs://xxx",
	"creatorDID": "did:hedera:mainnet:7Prd74ry1Uct87nZqL3ny7aR7Cg46JamVbJgk8azVgUm;hedera:mainnet:fid=0.0.123",
	"type": "image/png",
	"properties": {
		"timestamp": "1673611484.886700772"
	}
}

I think this looks great - as long as the timestamp remains intact so we can maintain traceability!

A quick integration can be to use the timestamp as a postfix of the CID/IPFS URI/HTTP URL, like this:
ipfs://bafkreig3umd2kxuwnr55czm5bgjlndgk2bp5ehxjjcrnbfavwn4fuekfru#1696418367.204714003

bafkreig3umd2kxuwnr55czm5bgjlndgk2bp5ehxjjcrnbfavwn4fuekfru#1696418367.204714003

That postfix would be ignored by regular clients, while the Guardian clients can still decide to follow the traditional chain or to get also the additional parameters from the additional HIP412 JSON file.
0.0.4475681 is an example of 4 NFTs with two normal metadata fields (CID and IPFS URI) and two customized ones (attached timestamp after #).
I tested some of our existing tools (HashPack, Mintbar, etc.), and they recognize those 4 NFTs without problems.
Please note the metadata field max size is 100 bytes, so this additional 21 characters (# + timestamp) are not a problem for CID or IPFS, because they have a fixed size. Even with the new IPFS CID format, which is 13 chars longer than the previous version, that is not a problem because we reached 87 total chars size for the metadata.
Those 21 additional characters are something to be aware of if you want to use a URL instead because it does not have a fixed size and can overflow the 100-bytes max size.
Let me know if you experience or can think of any problems by the broader Hedera community side.
Suppose that works on the broader Hedera community side, we can start thinking about the implications of supporting this new metadata format, what's the best way to parse it, and to support the previous timestamp-only format.

@Neurone, great call on using the hash to separate the IPFS CID and timestamp—it's a straightforward yet effective approach.
I see no obstacles in adopting IPFS as the default memo for external services. Preliminary tests on NFT marketplaces should confirm this, as they typically fetch from an IPFS gateway.
For our next steps, let's align with<EMAIL_ADDRESS>+ ESG as our standard. Key points to include:

Document the method for splitting IPFS CID and timestamp.
Discuss adding a 'guardian_timestamp' property.
Include a 'esg_explorer_url' for deeper ESG asset insights.
Specify required and optional<EMAIL_ADDRESS>properties, considering 'creatorDID' for suppliers/verifiers.
Debate whether to restrict to IPFS or include IPNS, considering mutability risks. (probably IPFS only)
Discuss initial attributes, led primarily by Tolam.

As @rocketmay pointed out, while other chain standards exist, starting with HIP412 and evolving it may be our best strategy given the nascent state of ESG tokenization.
Does this cover everything needed to move forward? cc. @dubgeis @anvabr @prernaadev01

Hi everyone, May correctly raised some concerns about not being 100% compliant with the IPFS syntax: while using the hash works fine for the HTTP gateways, it can result in problems with CLIs or other clients trying to interpret that CID.
So, after some brainstorming, I think we can still use the same technique but leveraging folders and files this time.
We can use the timestamp as the name of the JSON file and store it as it's inside a folder, hence getting a final URL like this:
ipfs://bafybeifrq5pf4cxqmmqmtx64nl5lex6ix4vyerypzbsncmb43a72d6ubjy/1696418367.204714003
Essentially we use / instead of #, but this time we stick with something IPFS can understand by default.
This correctly separates the CID and the path and - on the contrary to using the hash - this works for example also with the IPFS CLI:
❯ ipfs get "bafybeifrq5pf4cxqmmqmtx64nl5lex6ix4vyerypzbsncmb43a72d6ubjy/1696418367.204714003"
Saving file(s) to<PHONE_NUMBER>.204714003
 185 B / 185 B [==========================================================================================

I would stick with the ipfs:// prefix anyway, just to be more specific and to improve readability by external users.

From this morning's Vocab call, an initial list of attributes:

Asset type (CRU, REC, etc)
Method (Avoidance, Reduction, etc)
Sector (Renewable Energy, AFOLU, etc)
Project Type
Methodology
Geography (country to start)
Vintage
Co-benefits

@CyndyMo thank for the list, do you think it might be a good idea to add Methodology Developer/Author/Registry so then we could say that it is from an AMS UN/Verra/GS or something else. This would provide us the capability to understand which NFTs are
Let's collaborate together on a document that illustrates all the different options that can go into the different attributes.
From here, between, @Neurone's IPFS format for ESG and the list of attributes (with available properties), I believe we would have enough to start spec'in out a the HIP for enhancement.
I will define some additional fields with the properties like the guardian_timestamp, perhaps a root level identifier that it is a ESG asset, so that (NFT) marketplaces have the capability to differentiate, and maybe a reference to ledgerworks or marketplace of origination for more information.

Hello, all, this is the first pass of this HIP, I think it is best to share it and comments accordingly, before we formalise it as a proper HIP for Hedera. https://docs.google.com/document/d/1Cg0vk4bPL4nUjAkO6rAKIe4kd92GxuICTqc3EgLWafU/


Download speed not showing

Environment
Docker
Version
0.11.2
Describe the problem
Simply the download speed and upload speed don’t seem to be triggered now
Additional info

Please tick the boxes

[X] You've read the docs
[X] You've checked for duplicate issues
[X] You've tried to debug yourself

Related to #616

Has there been any updates on this? I see a lot of people's are working correctly mine is still not. That may be due to being Usenet only?

Has there been any updates on this? I see a lot of people's are working correctly mine is still not. That may be due to being Usenet only?

Yes. Usenet is not supported in the download speed. Prior to .11 it was called torrent download speed but i think we forgot to add Usenet features

Will it be?

I am working on it, yes. Obviously, there won't be an upload speed though

Closing as done in #650


How to show popup always above the EditText

I have an editText in the middle of the screen. I want to show the popup always above the editText. How to achieve it?
I have tried setting the height of the popup as larger than the bottom remaining space.This always does the trick.I want the height to wrap content and always remain above the editText.
Thanks.
Akash Rao

You can't at the moment

@akashrao1991 @natario1 hi any news? can i do it now?

Don't know .. haven't tried it in a while.I'll try and let you know


building from source should set roc version

If you build Roc from source and execute roc version you'll get the default value "built-from-source".
It would be nice to print some useful info:
For those without git changes we can print the last commit hash and date of the commit:
built from commit faeea52, with commit timestamp Fri Aug 23 09:02:06 UTC 2024
And with changes:
built from commit faeea52 with additional changes. Commit timestamp: Fri Aug 23 09:02:06 UTC 2024

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

I think I'd like to tackle this issue if nobody else has already started :)

@Anton-4 @Hasnep just wanted to check if this Issue is fully resolved. It looks good to me, but not sure about the intent behind the with additional changes part of the description.

Yes, this can be closed, the "with additional changes" message is for when the git head being built from is dirty, i.e. there are uncommitted changes.


add a controller to update task by workflow id and task reference name

Pull Request type

[x] Feature

Allow updating task result and status by workflowId ant taskRefName

closed as intention is to get this into parent repo


@Ignore doesn't work when used on multiple child classes, and parent has @Test methods

TestNG Version

Note: only the latest version is supported
7.5

Expected behavior

Pre-requisites: a parent class (ParentClassTest) with two child classes (ChildClassTest and SecondChildClassTest).

The inherited @Test methods from the base class should be ignored in a child class decorated with the @Ignore annotation and should run in the child class that doesn't have the annotation

Actual behavior

If the first alphabetically ordered child class has the @Ignore annotation, then the second child class will not be run regardless.
If the first alphabetically ordered child class doesn't have the @Ignore annotation but the consecutive child classes do, then they are unignored in the test run.

Is the issue reproducible on runner?

[ ] Shell
[ x] Maven
[ x] Gradle
[ ] Ant
[ ] Eclipse
[ x] IntelliJ
[ ] NetBeans

Test case sample

Please, share the test case (as small as possible) which shows the issue
Base class

import org.testng.annotations.Test;

public class ParentClassTest {
    @Test
    public void testc() {
        hook();
    }

    protected void hook() {};
}

First child class
import org.testng.Reporter;

public class ChildClassTest extends ParentClassTest {
    @Override
    protected void hook() {
        Reporter.log("ChildClassTest#hook()");
    }
}

Second child class
import org.testng.Reporter;
import org.testng.annotations.Ignore;

@Ignore
public class SecondChildClassTest extends ParentClassTest {
    @Override
    protected void hook() {
        Reporter.log("SecondChildClassTest#hook()");
    }
}

Contribution guidelines
Incase you plan to raise a pull request to fix this issue, please make sure you refer our Contributing section for detailed set of steps.

The implementation of ignore is basic with limitations.
I recommend you to implement your own logic that fits with your needs.

I've bumped into this same issue too - alphabetical ordering of which tests might be ignored seems highly unintuitive to me!

@Ignore does not work either for methods on implemented interfaces. This was not the behavior of 6.9.9. That is:
For this interface:
import org.testng.annotations.Test;
public interface MyInterface {
@Ignore
default void ignoreMePlease()
{
        System.out.println("do the hussle, but ignore it!");
     }

}
implemented by the test class
import org.testng.annotations.Test;
public class ParentClassTest implements MyInterface {
@Test
public void testc() {
hook();
}
protected void hook() {};

}
TestNG will attempt to run every default method on every implemented interface, which leads to an explosion that practically disables it in the presence of any meaningful interface(s).

@atassaad I think your sample is not complete: The method from the interface is not supposed to be discovered as a test method, except if a class is annotated with @Test somewhere in the inheritance.
And only test methods can be ignored.

@juherr Good catch, I will edit it accordingly, but we are still in a bind: 6.9.9 never considered default methods from interfaces as Test methods when the implementing class was marked as Test. And currently there is no mechanism (barring a transformer I guess) to recover the behavior of 6.9.9 without modifying thousands of test classes.

@atassaad please share a full sample and a description of the actual and expected result.

@juherr just for completeness: the use case is that we have thousands of test classes annotated for grouping purposes, whereas the class methods are annotated for enable/disable of individual tests and for method dependencies.
We used 6.x and previous versions without realizing that the behavior (ignoring default methods of implemented interfaces) was merely a side effect. I will attempt to mark the default methods as Test+@Ignored, but wonder if TestNG sifting through all the extra, spurious methods that were previously ignored will make the initialization drag as it is doing currently (with ample RAM, where we were previously running one hello world test, we now scroll through about 35K spurious methods, which kills eclipse reliably)

@atassaad - Here's a sample annotation transformer that can help you filter out all the default methods that ended up getting marked as test methods due to the @Test annotation on the class.
import org.testng.IInvokedMethod;
import org.testng.IInvokedMethodListener;
import org.testng.ITestResult;
import org.testng.SkipException;

public class MethodPruningTransformer implements IInvokedMethodListener {

  @Override
  public void beforeInvocation(IInvokedMethod method, ITestResult testResult) {
    boolean isDefault = method.getTestMethod().getConstructorOrMethod().getMethod().isDefault();
    String msg = String.format("Is %s() a default Method ? %s", method.getTestMethod().getQualifiedName(),
        isDefault);
    System.err.println(msg);
    if (isDefault) {
      throw new SkipException("Skipping default method");
    }
  }
}

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import org.testng.IReporter;
import org.testng.IResultMap;
import org.testng.ISuite;
import org.testng.ISuiteResult;
import org.testng.ITestContext;
import org.testng.ITestNGMethod;
import org.testng.xml.XmlSuite;

public class MethodLogger implements IReporter {

  private List<String> methods;

  public List<String> getMethods() {
    return methods;
  }

  @Override
  public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites,
      String outputDirectory) {
    methods = suites.stream().flatMap(each -> each.getResults().values().stream())
        .map(ISuiteResult::getTestContext)
        .flatMap(each -> extract(each).stream())
        .map(ITestNGMethod::getQualifiedName)
        .collect(Collectors.toList());
  }

  private Collection<ITestNGMethod> extract(ITestContext context) {
    return new ArrayList<>(extract(context.getPassedTests()));
  }

  private Collection<ITestNGMethod> extract(IResultMap map) {
    return map.getAllMethods();
  }
}

Test-case looks like below
import static org.assertj.core.api.Assertions.assertThat;

import org.testng.TestNG;

public class TestCase {

  public static void main(String[] args) {
    TestNG testng = new TestNG();
    MethodLogger logger = new MethodLogger();
    MethodPruningTransformer transformer = new MethodPruningTransformer();
    testng.addListener(transformer);
    testng.addListener(logger);
    testng.setTestClasses(new Class<?>[]{ParentClassTest.class});
    testng.run();
    assertThat(logger.getMethods())
        .containsOnly("com.rationaleemotions.issue2868.ParentClassTest.testc");
  }
}

@krmahadevan Good catch, your workaround is clearly better! :+1:


Allow animated textures

This should allow for texture animation via the use of the basic MC system (TEXTURENAME.png.mcmeta)

This should be able to be done using the new texture system rewrite #4. As the new system will load textures like a resource pack, it will support everything a normal resource pack would do

This was by with the change of loading textures as resource packs


IBM Sterling EDI

Ask us to find free certificates in a specific field that you couldn't find here and we will add it.
Please find a effective course with certificate for the mentioned topic (IBM Sterling EDI)

Just confirming I've received you're request! Once I find something I'll add it and notify you!


CRON_RESTART gives 'No such file/directory' error at restart time

I've updated the server to the latest release (removed the old container and image beforehand). During the set auto-restart time (CRON_RESTART), the log is showing the following error:
Mar 12 05:55:00 44940640b175 cron.info crond[43]: USER root pid 352 cmd /usr/bin/supervisorctl restart valheim-server
/bin/bash: /usr/bin/supervisorctl: No such file or directory

Please see #214 and #208

Yeah I'm aware of having to remove the old container before updating.  \
    -e DISCORD_PRERESTARTMESSAGE="Restarting Valheim server in five minutes!" \
    -e DISCORD_POSTRESTARTMESSAGE="Server restart complete!" \
    -e DISCORD_PRERUNMESSAGE="Starting server. Please wait 5 minutes." \
    -e PRE_RESTART_HOOK='curl -sfSL -X POST -H "Content-Type: application/json" -d "{\"content\":\"$DISCORD_PRERESTARTMESSAGE\"}" "$DISCORD_WEBHOOK" && sleep 300' \
    -e POST_RESTART_HOOK='curl -sfSL -X POST -H "Content-Type: application/json" -d "{\"content\":\"$DISCORD_POSTRESTARTMESSAGE\"}" "$DISCORD_WEBHOOK"' \
    -e PRE_SERVER_RUN_HOOK='curl -sfSL -X POST -H "Content-Type: application/json" -d "{\"content\":\"$DISCORD_PRERUNMESSAGE\"}" "$DISCORD_WEBHOOK"' \
    lloesche/valheim-server

Unlike the tagged issues, I am able to start the server fine, it only throws that error when it is time to auto-restart at the given time.

@EricLim110 thank you for this report! This is a bug that needs fixing. It is cause by me moving from supervisor 3.x to supervisor 4.x but not adjusting the path to the control tool supervisorctl in the bootstrap script. I'll submit a patch.

@EricLim110 just a side note. With the amount of env variables you're defining maybe an env file would be easier to maintain?
copy'paste ready content, except SERVER_PASS and DISCORD_WEBHOOK of course:
cat > $HOME/valheim-server/valheim.env <<EOF
SERVER_NAME=SSI Paradise
SERVER_PASS=******
WORLD_NAME=132615
SERVER_PUBLIC=true
VALHEIM_PLUS=true
TZ=Etc/GMT-8
BACKUPS_CRON=0 */5 * * *
BACKUPS_DIRECTORY=/config/backups
RESTART_CRON=55 5 * * *
UPDATE_IF_IDLE=true
STATUS_HTTP=true
DISCORD_WEBHOOK=https://discord.com/api/webhooks/...
DISCORD_PRERESTARTMESSAGE=Restarting Valheim server in five minutes!
DISCORD_POSTRESTARTMESSAGE=Server restart complete!
DISCORD_PRERUNMESSAGE=Starting server. Please wait 5 minutes.
 Will definitely look into creating an env file for it, haven't been touching the start scripts ever since the server is first launched.


Windows optimize

@M1r1k we definitely should have documentation about the --windows option for our shell scripts.
Please do that before merging this code.
Thanks in advance.


Add default theme (and replace native theme)

Default.lua: reverse engineered native theme
Dark.lua: the existing dark theme
Theme.cpp: creates the native theme - removed styleSheet() to avoid future maintenance.
A native theme is only shown, when the selected theme fails to loaded.
CustomTheme.cpp: the one and only remaining styleSheet() for future development - used for loaded themes

#17

Looks fine. About the lua stuff I cannot say anything, but it makes sense to have only one default theme and not a light and a dark one.


chore(demos): update list styles for mobile

r: @jelbourn
In this PR:

Fixed list demo styles for mobile
Alphabetized components in sidenav to make it easier to find them

LGTM


Add a tf_buffer_cache_time_ns to tf_wrapper

Alternative to https://github.com/ros2/rviz/pull/780

@jacobperron try:

rviz2 --ros-args -p tf_buffer_cache_time_ms:=50000
ros2 param get /rviz tf_buffer_cache_time_ms

that works for me (you seem to have written _msg instead of _ms.

Also, if there's a display already added in my rviz config, I see the following error on startup:

Nice, I will take a look

you seem to have written _msg instead of _ms

:upside_down_face: yeah, that was it. Working now...

Here's another fun one I just noticed: if you have the "add display" dialog open it must block the executor thread since ros2 param get hangs until the dialog is closed.

Yuck.  Agreed that we don't have to solve it here, but do you mind opening a separate issue to track that?

Here's another fun one I just noticed: if you have the "add display" dialog open it must block the executor thread since ros2 param get hangs until the dialog is closed.

Interesting ...
Yes, that seems unrelated.

Yeah, I can open an issue. I suppose it's affecting subscriptions too (e.g. I guess display do not update if we have a dialog open). Maybe this is desired? I don't know what the behavior is in ROS 1.

Here's a ticket: https://github.com/ros2/rviz/issues/793

CI:

Linux
Linux-aarch64
macOS
Windows


Deserialize dates to DateTime<Utc>

Description
Currently, dates are deserialized as String when it would be more convenient for some libraries to deserialize them as DateTime<Utc>.
Since the chrono library is already a dependency of the octocrate-core library, there is no need to hide it behind a feature flag.

@panghu-huang do you know a quick way of implementing this?

Yes, the format field is present in the schema but is currently being ignored and not processed. If you need to deserialize it into DateTime<Utc>, then we'll need to handle the format information.

Hi @ifiokjr
After careful consideration, I am inclined to retain the original data structure of the GitHub API, and I do not require the deserialization of time into DateTime<Utc>.


DataPreview needs rendering improvements

The data preview component needs several UI updates. While maintaining the same look and feel, we want to:

Render a table that keeps fixed headers when scrolling vertically
Fit the height of the rendered content to the modal -- the horizontal scroll bar should be visible without having to scroll down.
Support the ability to render non-primitive values. For example, values like numbers, strings, booleans render fine. However if the value is something like a Map<string, int>, we do not currently render a good representation of that data.

We may want to consider leveraging a 3rd party table component for this, as long as it can be styled to match out current look and feel.

Should I go ahead and work on this?


fix: graphiql

tests obviously fail because they are currenlty pointing to a wrong version... We need to somehow find a workaround for integration tests...

Thanks for getting on this so quickly after I reached on support chat, really appreciate it!


Fix Unit Test Issues

Need to make sure they are consistently runnable (a few are problematic), then integrate with Travis CI.

This has been resolved.


Find object in json file

This extension is very nice and useful!  I can see another useful feature would be letting you to locate the object in the json file when you click a row of a table in the viewer.  That way, the viewer not only allows you to view the objects in the json file, but also allows you to quickly find the object that you want to change.
Also it would be nice if you can have a configuration/setting, to turn off the Obj/Array[13], etc, displayed with a table.  Sometimes, you just want to save space and don't want anything extra.
By the way, I am trying to integrate your extension into a Service Builder I am working on.  I found it is very powerful being able to let user to view the json array in a tabular form in my case.

+1 is super good, but you would need a way to search within a column or in the entire table, more than anything for json files of 6000 lines it is difficult to search for something without Control+F


proposal: support Reservation preemption

Ⅰ. Describe what this PR does

Ⅱ. Does this pull request fix one issue?
Design for #1856

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[ ] I have written necessary docs and comments
[ ] I have added necessary unit tests and integration tests
[ ] All checks passed in make test

/lgtm

@buptcozy Do you have any further comments about the KEP?

/lgtm
/approve


Sentence doesn't make sense, something's missing

[Enter feedback here]
The second sentence doesn't make sense - something is probably missing at the end.
"In this step, you start to plan and prepare your Always On VPN deployment. Before you install the Remote Access server role on the computer you're planning on using as a VPN server. "

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

ID: d888054d-078d-53a0-bf51-02f49d2beb5a
Version Independent ID: 7f50c60f-b0ad-f62b-54a3-267178655767
Content: Deploy Always On VPN
Content Source: WindowsServerDocs/remote/remote-access/vpn/always-on-vpn/deploy/always-on-vpn-deploy-deployment.md
Product: windows-server
Technology: remote
GitHub Login: @Teresa-Motiv
Microsoft Alias: wscontent

#assign:xelu86

Thanks again for contacting Microsoft. We value your feedback. A documentation change has been made and will be live after the next business day. #please-close


Add more Material icons

I found good Material icons from https://github.com/Templarian/MaterialDesign.
It looks good and many useful icons included.

+1

Unfortunately the library isn't setup for SVG or .design files at the moment so this would be a difficult (see: time consuming) task.

As ahornerr said, this library is not supported .svg or .design files.
If someone provides .png files, I may be able to add new icons.

@konifar @ahornerr
They have .svg file or do we need something else?
https://github.com/Templarian/MaterialDesign/tree/master/icons/svg


v4 Link to Narrow jumbotron example is broken

http://v4-alpha.getbootstrap.com/examples/jumbotron-narrow/ (linked from http://v4-alpha.getbootstrap.com/examples/ ) is a 404 page.

Fixed in #17181.


chart updates to top toolbar. add sources for legend. add filters for…

… entire app. refactor dropdown menus and menu for chart toggles.

Failed tests:  MetricTransformTest.testDivisionTransform:203 expected:<635> but was:<636>

Current coverage is 36.44% (diff: 100%)

Merging #260 into d3 will increase coverage by 0.02%

@@                 d3       #260   diff @@
==========================================
  Files           260        260
  Lines         14209      14209
  Methods           0          0
  Messages          0          0
  Branches       2389       2389
==========================================
+ Hits           5176       5179     +3
+ Misses         8314       8311     -3
  Partials        719        719

Powered by Codecov. Last update 33c1d5a...9f6a12e


[Feature request] KubernetesManifestV0 task: configmap, timeout

Feature request for KubernetesManifestV0 task
Please add support to KubernetesManifestV0 for

creating a configmap
setting a timeout for checking the success of the deployment

Right now you can have ConfigMap in the input manifest files and they'll be deployed by KubernetesManifest task. We have a item in our backlog to add versioning ability for the ConfigMaps deployed using the task.
Being able to specify timeout limit for checking success of deployment is a small addition to add. Will do that right away and roll out the changes this sprint.

@t03apt , We have added timeout for status check https://github.com/microsoft/azure-pipelines-tasks/issues/12010 in task. and this fix will be deployed in couple of weeks.  "Create config map" added in backlog, we will address that soon. Hence closing the issue.


Cherry pick pr 1231 for release 2.1

What problem does this PR solve?
This PR cherry-picks PR #1231 to release 2.1 branch.

/run-all-tests

/run-all-tests

Codecov Report

:exclamation: No coverage uploaded for pull request base (release-2.1@b16807e). Click here to learn what that means.
The diff coverage is 60.41%.

@@              Coverage Diff               @@
##             release-2.1    #1235   +/-   ##
==============================================
  Coverage               ?   53.25%
  Complexity             ?     1122
==============================================
  Files                  ?      153
  Lines                  ?     7055
  Branches               ?      824
==============================================
  Hits                   ?     3757
  Misses                 ?     2926
  Partials               ?      372

Impacted Files
Coverage Δ
Complexity Δ

...ingcap/tikv/expression/visitor/ProtoConverter.java
49.71% <51.85%> (ø)
16 <1> (?)

.../main/java/com/pingcap/tikv/meta/TiDAGRequest.java
42.49% <71.42%> (ø)
65 <2> (?)

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 b16807e...727b285. Read the comment docs.


SC-24 # Creating serverless project from configuration based routes

Added

SC-24: bm server scope cmd to display and set scope for project

SC-24: bm server info display of scope

Changed

SC-24: bm server serverless to allow for configuration based routes as well as directory based routes

Code Review Notes

Probably worth reviewing these one commit at a time

Known incomplete work to be tackled in future:

[ ] Write test cases for lib/serverless.js

For the scope stuff, did you take a look at https://github.com/blinkmobile/blinkmrc.js ? This is what we're using for the BMP CLI and others...

Yeah, thats what it is using at the moment. I tried to follow similar patterns.

@mymattcarroll the proof-of-concept copied the project to a temporary directory, transformed it, and deployed it.
With the new copyProject() and getProjectPath() helper functions, what does this process and temporary directory structure look like now?

It still copies the project to a directory specified with the --out path/to/temp flag, now it just creates a new directory inside path/to/temp/project. This was just to ensure we wont override any files in there project directory. E.g. If they have a file called handler.js in the root of there project (however unlikely), it would be overridden with the handler.js file we create.

Ah, okay. Makes sense.
LGTM 👍


Backoffice: Loans- filter by users department

https://codimd.web.cern.ch/0p-ZhZDnTAycgWGNULBXBQ#UC-Librarian-can-see-all-current-loans-requests-and-expired-loans-entire-loans’-history

Use case dropped


ImportError: cannot import name 'async_sessionmaker'

I upgrade the lib to fastapi-async-sqlalchemy = "0.4.0"
And I get ImportError: cannot import name 'async_sessionmaker'
ackend_cdocs              | Process SpawnProcess-1:
backend_cdocs              | Traceback (most recent call last):
backend_cdocs              |   File "/usr/local/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
backend_cdocs              |     self.run()
backend_cdocs              |   File "/usr/local/lib/python3.10/multiprocessing/process.py", line 108, in run
backend_cdocs              |     self._target(*self._args, **self._kwargs)
backend_cdocs              |   File "/usr/local/lib/python3.10/site-packages/uvicorn/_subprocess.py", line 76, in subprocess_started
backend_cdocs              |     target(sockets=sockets)
backend_cdocs              |   File "/usr/local/lib/python3.10/site-packages/uvicorn/server.py", line 59, in run
backend_cdocs              |     return asyncio.run(self.serve(sockets=sockets))
backend_cdocs              |   File "/usr/local/lib/python3.10/asyncio/runners.py", line 44, in run
backend_cdocs              |     return loop.run_until_complete(main)
backend_cdocs              |   File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
backend_cdocs              |   File "/usr/local/lib/python3.10/site-packages/uvicorn/server.py", line 66, in serve
backend_cdocs              |     config.load()
backend_cdocs              |   File "/usr/local/lib/python3.10/site-packages/uvicorn/config.py", line 471, in load
backend_cdocs              |     self.loaded_app = import_from_string(self.app)
backend_cdocs              |   File "/usr/local/lib/python3.10/site-packages/uvicorn/importer.py", line 24, in import_from_string
backend_cdocs              |     raise exc from None
backend_cdocs              |   File "/usr/local/lib/python3.10/site-packages/uvicorn/importer.py", line 21, in import_from_string
backend_cdocs              |     module = importlib.import_module(module_str)
backend_cdocs              |   File "/usr/local/lib/python3.10/importlib/__init__.py", line 126, in import_module
backend_cdocs              |     return _bootstrap._gcd_import(name[level:], package, level)
backend_cdocs              |   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
backend_cdocs              |   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
backend_cdocs              |   File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
backend_cdocs              |   File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
backend_cdocs              |   File "<frozen importlib._bootstrap_external>", line 883, in exec_module
backend_cdocs              |   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
backend_cdocs              |   File "/code/app/main.py", line 11, in <module>
backend_cdocs              |     from fastapi_async_sqlalchemy import SQLAlchemyMiddleware
backend_cdocs              |   File "/usr/local/lib/python3.10/site-packages/fastapi_async_sqlalchemy/__init__.py", line 1, in <module>
backend_cdocs              |     from fastapi_async_sqlalchemy.middleware import SQLAlchemyMiddleware, db
backend_cdocs              |   File "/usr/local/lib/python3.10/site-packages/fastapi_async_sqlalchemy/middleware.py", line 6, in <module>
backend_cdocs              |     from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
backend_cdocs              | ImportError: cannot import name 'async_sessionmaker' from 'sqlalchemy.ext.asyncio' (/usr/local/lib/python3.10/site-packages/sqlalchemy/ext/asyncio/__init__.py)

thanks will fix

@jonra1993  can you check 0.4.1 ?

@h0rn3t  It works with sqlalchemy above >2.0


How to subscribe to a state/signal outside a solid component?

createEffect is convenient inside a solid component, but to watch the change of a state/signal outside a component, I have to create a  root with createRoot, which is overkilling.
Is there a way to subscribe to a state/signal outside of a solid comopnent?

The short answer is createRoot isn't overkill. Solid's primitives are missing parts since they are designed to work in a system. createRoot adds those back. createRoot handles the disposal properly, and ensures scheduling since effects need to be queued after other changes, so it creates the queue, and runs it at the end synchronously. Why does this matter? Well stuff like managing lifecycle hooks (ours are not tied to the DOM but rather reactive graph resolutions). This is especially important for Suspense and concurrent rendering. Like if your signal update causes a suspended transition should your subscription fire immediately or wait to resolve with all other side effects.
So while I'm tempted to point you to createComputed which would "work" without all this and is what you think you are looking for, it's probably better we think about creating a helper for this. The most idiomatic would be:
function subscribe(fn, callback) {
  let dispose;
  createRoot((disposer) => {
    dispose = disposer;
    createEffect(() => callback(fn()));
  })
  return dispose;
}

// somewhere:
const dispose = subscribe(() => state.data, (data) => { console.log(data); });
dispose();

This would be concurrent rendering safe and lets the subscriber manage disposal properly. I use a similar helper in solid-rx to interface with Observables. This executes immediately on subscription. If you wanted it to only be on change you'd need to change it to not call the callback the first time.

The short answer is createRoot isn't overkill. Solid's primitives are missing parts since they are designed to work in a system. createRoot adds those back. createRoot handles the disposal properly, and ensures scheduling since effects need to be queued after other changes, so it creates the queue, and runs it at the end synchronously. Why does this matter? Well stuff like managing lifecycle hooks (ours are not tied to the DOM but rather reactive graph resolutions). This is especially important for Suspense and concurrent rendering. Like if your signal update causes a suspended transition should your subscription fire immediately or wait to resolve with all other side effects.
So while I'm tempted to point you to createComputed which would "work" without all this and is what you think you are looking for, it's probably better we think about creating a helper for this. The most idiomatic would be:
function subscribe(fn, callback) {
  let dispose;
  createRoot((disposer) => {
    dispose = disposer;
    createEffect(() => callback(fn()));
  })
  return dispose;
}

// somewhere:
const dispose = subscribe(() => state.data, (data) => { console.log(data); });
dispose();

This would be concurrent rendering safe and lets the subscriber manage disposal properly. I use a similar helper in solid-rx to interface with Observables. This executes immediately on subscription. If you wanted it to only be on change you'd need to change it to not call the callback the first time.

@ryansolid thanks for your answer, very helpful :)

@ryansolid thanks for your answer, very helpful :)


IR how it work?

I try to move a 3D object with the wiiremote and the sensor bar but i don't understand how to get the IRData and get the the IR position to move my object. Can you help me plz?

i'm a new programmer and i'm studying in cegep for that but i have a project where i need to use this wiiremote, so I'm sorry for this stupid question

Sorry for the delay.  Please consult the documenation included with major releases for detailed explanations on how to use features.


What vue version is supported? 2.X or 1.X or both?

Hello,
Looks like a very neat keyboard for vue, what vue version is supported? 2.X or 1.X or both?
Thanks!

Version >=1.4 uses Vue 2.x, earlier releases use 1.x.


Missing TRANSPOSE Op Kernel

System information

Linux Ubuntu 20.04:
TensorFlow installed from (source or binary): binary
TensorFlow version (or github SHA if from source):  tf-nightly==2.4.0.dev20200917

I'm attempting to use a TFLite converted model, which was created and trained using TF2 + Keras.  The converter successfully created the TFLite file, and I've loaded it into a micro-controller app, as a flatbuffer cpp + h file.
I'm unable to share the model at this time due to confidentiality, however the model contains Conv2D, BatchNormalization, ReLu, MaxPooling2D, Permute, Dropout, Flatten, Dense and Softmax.
After conversion, the model is loaded into an Arduino sketch, but upon loading the model, an error is reported.
8 bytes lost due to alignment. To avoid this loss, please make sure the tensor_arena is 16 bytes aligned.
Didn't find op for builtin opcode 'TRANSPOSE' version '2'

Failed to get registration from op code TRANSPOSE

Failed starting model allocation.

Given that this operation was chosen from the Builtin operation set, I believe this is a fault/bug.  Can you please advise?
type registration
const tflite::Model* model = nullptr;
tflite::MicroInterpreter* interpreter = nullptr;
TfLiteTensor* input = nullptr;
TfLiteTensor* output = nullptr;
alignas(16) uint8_t tensor_arena[kTensorArenaSize]

AllOps missing TRANSPOSE
static tflite::AllOpsResolver resolver;  // NO TRANSPOSE kernel registration

MicroMutableOpResolver missing TRANSPOSE registration
tflite::MicroMutableOpResolver<6> resolver;
resolver.AddConv2D();
resolver.AddDepthwiseConv2D();
resolver.AddFullyConnected();
resolver.AddReshape();
resolver.AddSoftmax();
resolver.AddBuiltin(tflite::BuiltinOperator_MAX_POOL_2D
    ,tflite::ops::micro::Register_MAX_POOL_2D());
// resolver.AddBuiltin(tflite::BuiltinOperator_TRANSPOSE,
//     ,tflite::ops::micro::Register_TRANSPOSE); //BuiltinOperator_TRANSPOSE exists, but no Register_TRANSPOSE exists

Standalone code to reproduce the issue
 def model_to_tflite(self, features_path = None, tflite_path = None):
        '''Converts a Keras model into a TFLite model'''
        assert self.model is not None, 'TFLite conversion requires the model be loaded'
        assert self.x_data is not None and self.y_data is not None, 'Sample data must be loaded'

        if os.path.exists(tflite_path):
            logging.warning(f'TFLite file already exists: {tflite_path}')

        logging.info(f'Found {len(self.x_data)} features')

        # Construction of a representative dataset
        def representative_dataset():
            for i in range(len(self.x_data)):
                yield([self.x_data[i:i+1,:,:,:]])

        # Construction of a TFLite converter
        converter = tf.lite.TFLiteConverter.from_keras_model(self.model)
        converter.representative_dataset = representative_dataset

        converter.optimizations = [ tf.lite.Optimize.OPTIMIZE_FOR_LATENCY ]
        converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]

        converter.inference_input_type = tf.int8
        converter.inference_output_type = tf.int8

        tflite_model = converter.convert()
        bytes_written = open(tflite_path, 'wb').write(tflite_model)

        return bytes_written

Any other info / logs
/home/ian/Documents/source/acdnet_pipeline/venv/lib/python3.8/site-packages/tensorflow/python/keras/engine/training.py:2289: UserWarning: `Model.state_updates` will be removed in a future version. This property should not be used in TensorFlow 2.0, as `updates` are applied automatically.
  warnings.warn('`Model.state_updates` will be removed in a future version. '
2020-09-23 14:34:59.654363: W tensorflow/python/util/util.cc:348] Sets are not currently considered sequences, but this may change in the future, so consider avoiding using them.
/home/ian/Documents/source/acdnet_pipeline/venv/lib/python3.8/site-packages/tensorflow/python/keras/engine/base_layer.py:1376: UserWarning: `layer.updates` will be removed in a future version. This property should not be used in TensorFlow 2.0, as `updates` are applied automatically.
  warnings.warn('`layer.updates` will be removed in a future version. '
2020-09-23 14:35:02.599832: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-09-23 14:35:02.600152: I tensorflow/core/grappler/devices.cc:69] Number of eligible GPUs (core count >= 8, compute capability >= 0.0): 1
2020-09-23 14:35:02.600313: I tensorflow/core/grappler/clusters/single_machine.cc:356] Starting new session
2020-09-23 14:35:02.600650: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set
2020-09-23 14:35:02.600775: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-09-23 14:35:02.601273: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1716] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: GeForce GTX 1060 computeCapability: 6.1
coreClock: 1.6705GHz coreCount: 10 deviceMemorySize: 5.94GiB deviceMemoryBandwidth: 178.99GiB/s
2020-09-23 14:35:02.601398: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory
2020-09-23 14:35:02.601464: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcublas.so.11'; dlerror: libcublas.so.11: cannot open shared object file: No such file or directory
2020-09-23 14:35:02.601493: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcufft.so.10
2020-09-23 14:35:02.601521: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcurand.so.10
2020-09-23 14:35:02.601531: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcusolver.so.10
2020-09-23 14:35:02.601622: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcusparse.so.11'; dlerror: libcusparse.so.11: cannot open shared object file: No such file or directory
2020-09-23 14:35:02.601715: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcudnn.so.8'; dlerror: libcudnn.so.8: cannot open shared object file: No such file or directory
2020-09-23 14:35:02.601745: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1753] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
2020-09-23 14:35:02.894277: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1257] Device interconnect StreamExecutor with strength 1 edge matrix:
2020-09-23 14:35:02.894345: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1263]      0
2020-09-23 14:35:02.894368: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1276] 0:   N
2020-09-23 14:35:02.919186: I tensorflow/core/platform/profile_utils/cpu_utils.cc:108] CPU Frequency:<PHONE_NUMBER> Hz
2020-09-23 14:35:02.982735: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:872] Optimization results for grappler item: graph_to_optimize
  function_optimizer: function_optimizer did nothing. time = 5.462ms.
  function_optimizer: function_optimizer did nothing. time = 0.003ms.

2020-09-23 14:35:03.203503: W tensorflow/compiler/mlir/lite/python/tf_tfl_flatbuffer_helpers.cc:315] Ignored output_format.
2020-09-23 14:35:03.203549: W tensorflow/compiler/mlir/lite/python/tf_tfl_flatbuffer_helpers.cc:318] Ignored drop_control_dependency.
2020-09-23 14:35:03.469971: I tensorflow/compiler/jit/xla_gpu_device.cc:99] Not creating XLA devices, tf_xla_enable_xla_devices not set
2020-09-23 14:35:03.470367: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:941] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2020-09-23 14:35:03.471405: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1716] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: GeForce GTX 1060 computeCapability: 6.1
coreClock: 1.6705GHz coreCount: 10 deviceMemorySize: 5.94GiB deviceMemoryBandwidth: 178.99GiB/s
2020-09-23 14:35:03.471730: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory
2020-09-23 14:35:03.471928: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcublas.so.11'; dlerror: libcublas.so.11: cannot open shared object file: No such file or directory
2020-09-23 14:35:03.471981: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcufft.so.10
2020-09-23 14:35:03.472028: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcurand.so.10
2020-09-23 14:35:03.472067: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcusolver.so.10
2020-09-23 14:35:03.472238: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcusparse.so.11'; dlerror: libcusparse.so.11: cannot open shared object file: No such file or directory
2020-09-23 14:35:03.472414: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcudnn.so.8'; dlerror: libcudnn.so.8: cannot open shared object file: No such file or directory
2020-09-23 14:35:03.472450: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1753] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.
Skipping registering GPU devices...
2020-09-23 14:35:03.472494: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1257] Device interconnect StreamExecutor with strength 1 edge matrix:
2020-09-23 14:35:03.472519: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1263]      0
2020-09-23 14:35:03.472540: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1276] 0:   N

@victorromeo
I ran the code shared on 2.3 and do not face any errors,please find the gist here. Please share a colab gist with the erro reported.
With respect to the error,please refer to link

Bump, as I'm still authoring a TRANSPOSE operation for the micro interpreter.

@victorromeo

As informed above we do not face any errors in the code shared, please confirm and if issue exist share a colab gist with the error or move the issue to closed status if resolved.Thanks!

This is an issue of a missing C++ micro kernel operation, not a core kernel operation and as such is not appropriate for a python colab gist. As mentioned earlier, I’m working on this as a custom c++ operation.  Does Colab support C++11 with Bezal compilation?
A Keras TF2 model, when converted to TFLite micro, includes an operation which is not yet supported called TRANSPOSE. This already exists as a TFLite operation (But when used on an ARM microcontroller, this is simply not available).

@jdduke May I get some pointers if possible to confirm the approach for an appropriate Transpose operation? There are guides for TFLite custom operations, however not for missing micro operations or custom micro operations.
I'm planning on reusing the TransposeContext, from Transpose.cc but dropping the KernelType
struct TransposeContext {
    TransposeContext(TfLiteContext* context, TfLiteNode* node) {
        input = GetInput(context, node, 0);
        perm = GetInput(context, node, 1);
        output = GetOutput(context, node, 0);
    }
    const TfLiteTensor* input;
    const TfLiteTensor* perm;
    TfLiteTensor* output;
};

I'm thinking of basing the micro implementation off of ComputePermutation in tfl_ops.cc
// Computes the permutation of a constant `input_tensor` according to `perm`.
// The function recursively traverses the dimensions of the output tensor in
// a row-major order and writes the value in the output tensor into
// `new_values`.
void ComputePermutation(ElementsAttr input_tensor, ArrayRef<int32_t> perm,
                        ArrayRef<int64_t> output_shape, int num_dimensions,
                        int output_axis, std::vector<uint64_t> *input_indices,
                        std::vector<Attribute> *new_values) {
  // Refer to the implementation of `Transpose` function in
  // tensorflow/lite/kernels/internal/reference/reference_ops.h
  assert(output_axis < num_dimensions);
  const int input_axis = perm[output_axis];
  for (int i = 0; i < output_shape[output_axis]; ++i) {
    // Update the input indices on `input_axis`.
    input_indices->at(input_axis) = i;
    // Write the value from `input_tensor` if it is the last axis or
    // recurse into the next axis.
    const bool is_last_axis = output_axis == num_dimensions - 1;
    if (is_last_axis) {
      new_values->push_back(input_tensor.getValue(*input_indices));
    } else {
      ComputePermutation(input_tensor, perm, output_shape, num_dimensions,
                         output_axis + 1, input_indices, new_values);
    }
  }
}

Finally, I'm hoping that the current /lite/transpose_test.cc are appropriate for reuse, with generic implementations but specific tests for int8 quantization.

@advaitjain or @petewarden can you advise on the recommended process for porting a Lite kernel to Micro?

@victorromeo, as you have found out, TFLM supports a subset of the TfLite ops.
We will be adding a guide for porting from Lite to as there are subtleties around not having dynamic memory allocation as well as other differences between Lite and Micro.
I would recommend to start by sharing more details about the actual model that you are trying to use, based on our contribution guidelines to help motivate the need for this additional Op in Micro. We can then give you some specific pointers on how to proceed.
One example of an Op (along with motivation for why it is worth adding to Micro at this time) that is currently being ported via community contributions is PR #43384 and #43381

Thanks @advaitjain
The model is currently being used to prepare an audio classifier, which fits onto a micro-controller.  The Transpose operation has been shown to be a valuable kernel layer toward a greater goal of effectively switching from time domain to frequency domain and back.  As the model is currently being developed for research papers, I have been advised I am unable to share the entire architecture.  The architecture doesn't use FFT preprocessing.  The origin of the issue is due to the Keras.Permute operation being converted into TFLite.Transpose. I appreciate it is hard to fully appreciate the benefit of adding the operation, without evidence, but this will be in the paper.
The model is planned to run on Cortex M4 devices such as the moderately sized Arduino Nano 33 BLE Sense.
Side note, it would be great to see a flag to check compatibility of builtin micro operations for use during TFLite conversion, as I had to circle a while to deduce that Transpose was the issue.

Thanks for the additional context, I understand that you're not able to share model architecture pre-publication.
Let's wait for around a week for me to put together a guide for porting ops from lite to micro and I'll link to it from this issue as well.
In the meantime, if you want to send a PR with flatbuffer changes for transpose (similar to #43384), that would be great.
Since the transpose op does not have any BuilinOptions, the parsing function will be something along the lines of https://github.com/tensorflow/tensorflow/blob/e0ed4b42ee845ab63a714e1cf26abf54198c61b5/tensorflow/lite/core/api/flatbuffer_conversions.cc#L1124-L1130
and
https://github.com/tensorflow/tensorflow/blob/e0ed4b42ee845ab63a714e1cf26abf54198c61b5/tensorflow/lite/core/api/flatbuffer_conversions.cc#L212-L214

Thanks for your additional feedback.  I've further implemented all compatible unit tests for Transpose in my fork here and these are now compiling.  Its worth noting my implemetnation is not optimal, but does achieve 1D-4D transpose support.  Acheived using a port of existing TFLite core Transpose, using micro frameworks and static arrays. Onto final stages of testing now.  Cheers.

@advaitjain
Any luck yet?
Could you please update if you have guide ready for porting a TF Lite kernel to TF Lite Micro?
It is badly needed for real world practical projects.

Let's wait for around a week for me to put together a guide for porting ops from lite to micro and I'll link to it from this issue as well.

The most stable implementation of Transpose is https://github.com/victorromeo/tensorflow/tree/v2.3.1_transpose
I'm going to rebase this off master, then create a pull request for consideration from the team.

@victorromeo,
We can see that the PR that you submitted has been merged. Can you kindly confirm if we can close this issue? Thanks!


Implement GCP's Online Boutique demo in FTL

The original example is here.
Our version is largely copied from ServiceWeaver's implementation.

[x] ad
[x] cart
[x] checkout
[x] currency
[ ] email
[x] payment
[x] productcatalog
[x] recommendation
[x] shipping
[ ] frontend

I'm going to call this done, as the resulting system is complex enough for our purposes at the moment, and the frontend is not possible to implement without #275 .


[Podspec] add header files from ObjectStore's impl directory

Realm doesn't compile with CocoaPods without this (see https://ci.realm.io/job/Cocoa Installation Examples/12/). /cc @bdash

:+1:
Should one of the CocoaPods tests be hooked up to objc_pr? We seem to miss things in this area until they're merged to master.


Assign user to computer in Snipe

Hey there,
I'm not a coder by any means and I'm having some issues that I hope someone can help me with. 'm running a test instance of Snipe and when I issue the python3 jamf2snipe -uf command, all of the assets from Jamf are brought over but none of them are checked out to any of the correct users. Here's what my settings.conf looks like:
`
[jamf]
url = https://.jamfcloud.com
username = ****
password =
[snipe-it]
url = ****
apikey =  ****
manufacturer_id = 2
defaultStatus = 2
computer_model_category_id = 2
mobile_model_category_id = 3
asset_tag = general asset_tag # If not specified, defaults to jamf-{id} or jamf-m-{id}
[computers-api-mapping]
name = general asset_tag
_snipeit_mac_address_1 = general mac_address
[mobile_devices-api-mapping]
_snipeit_imei_4 = network imei
name = general name
[user-mapping] # The field from jamf that you want to search Snipe with
jamf_api_field = location username
`
Another question I have is whether or not the following is possible when running jamf2snipe:

When importing a computer from Jamf to Snipe, is it possible for to check who the computer is checked out to in Jamf and check it out to that same person in Snipe automatically, or does that have to be executed somewhere else? Also, how can I ensure that new assets imported from Jamf to Snipe follow our asset tagging naming convention? For example, all of our current assets follow the format "SL-XXXX", where XXXX is a series of numbers and our first asset is SL-0001 and most recent one is SL-1900. How can I ensure that the next asset we bring over from Jamf to Snipe will have the asset tag SL-1901? Last but not least, how can I go about telling jamf2snipe to set the computer name in Snipe to be the same as the asset tag? For example, asset tag SL-1900 has an asset name of SL-1900.

Did you import your ldap users into Snipe-IT with the ldap sync or some other user import? The users have to be valid user names in Snipe for it to work properly afaik. (Sorry I don't actually use that feature)
You should run your jamf2snipe with the verbose to debug modes enabled to get better logging (warning there's a lot  in debug)
As for your second question, If you have assending tags turned on, there's a runtime flag for it. But you're syncing the Jamf  Asset tag in as the name, so what you're describing isn't going to work. How you have it set up right now is:
[computers-api-mapping]
name = general asset_tag

which means the asset tag in Jamf will overwrite the Snipe-IT name every time. (nothing is syncing that back afaik from what you've posted here) You can sync that to asset_tag as well so your asset's names and asset tags will all match.
However, you can't have it automatically increase, because you're overwriting the data with general asset_tag from Jamf each time. Jamf is the authoritative source of truth here  (that's why it's Jamf2Snipe  Jamf -> Snipe and not jamf-snipe-sync)
Hope that all makes sense. :)

@ParadoxGuitarist, I'm doing a manual upload of users into Snipe for now and just making sure that the usernames in Snipe match up with the usernames in Jamf.
so in order to have the Snipe name and asset tag match, I should comment out or remove the asset_tag = general asset_tag line?

Hey @ParadoxGuitarist, was wondering if you've had a chance to review my previous comment. Much appreciated as always 👍

Also, when the debug log says "INFO:root:Snipe Record is newer than the JAMF record. Nothing to sync. If this wrong, then force an inventory update in JAMF" does that mean the computer was more recently updated in Snipe rather than Jamf, and if so, what fields is it looking at in both?
That just means the snipe record was updated more recently. Useful for when you're making changes manually. Like If I'm setting up a new computer for you, but jamf2snipe is running every 5 minutes, I don't want to loose my changes that I'm making on the webpage just because it hasn't checked into Jamf yet.  (or if you're using an agent that's updating the devices too) You get around this by running jamf2snipe with the -f or --force flag.

Another question : is there a way for jamf2snipe to see that a computer has no user assigned to it so that it checks in the computer and marks it as pending in Snipe?

Nope. Sorry.

if asset doesn't exist, create a new asset and set the asset tag to follow our asset tag naming convention, then name the asset to match the asset tag, and then update the computer name and asset tag in jamf smiling_face_with_tear This way I don't end up with some assets having asset tags of SL-#### and some with jamfid-###

Nope. I think there's a flag to sync the asset tag data back to Jamf, but not the name. Plus the next jamf recon is gonna overwrite the name. You could get around this by writing bash scripts to rename the computer to the asset tag.  Eventually it would trickle back down to your snipe instance.

One more thing, is there a way to tell jamf2snipe to not check/go through mobile devices? We only use Snipe for Mac's and while running the jamf2snipe command in the terminal I noticed that it started picking up mobile devices but I quit the process after only 3 devices processed (thankfully)

Use -c as a runtime flag. You should read the --help output too. :)


Impact of 'Allow AbrManager to clear ahead of the playhead' commit on Edge and IE11

Recent commit 'Allow AbrManager to clear ahead of the playhead' is very welcome, it will require some additional optimization for Edge and IE11 browsers, though.
Whenever a switch to another bitrate takes place with these browsers, clearing no longer needed data from the buffer and buferring the new bitrate is causing major visible hiccups in playback. Chrome/Opera and Firefox are fine in this regard.
Any multibitrate streams can be used to repro this.

Thanks for the report.  Probably has something to do with the MSE optimization we did as part of that change.  We'll take a look.

Clearing ahead is causing the hiccup.  On Chrome, Opera, and Firefox, the hiccup is fixed by calling abort() to reset the decoder.  On IE and Edge, the abort() call has no effect.  On Safari, the abort() call causes the decoder to fail completely.  :-(

@BucherTomas can you please retest with the latest code from master or with the nightly build on appspot?  We believe this is resolved now for Edge and IE11.

Yes, I can confirm that the transition when adapting is now smooth on Edge and IE11. Thanks.
I have no means to verify Safari at this moment, though.

Please don't worry about Safari.  The Safari issue seems to be separate.


Css flex box

Related: #7

Hi, I checked this out of curiosity and the output seemed almost OK, except for the main part which must include two empty horizontal boxes with a dashed border, and you only included one. But the hard part is over, and I'm not certain if the conversion I mentioned is necessary to solve.


Stackdriver Telemetry v2 adapter should send logging output should be equivalent to what done by the Mixer adapter

Describe the feature request
The Stackdriver telemetry v2 adapter should send logging output equivalent to what was being sent with the Mixer adapter, as much as possible.
Describe alternatives you've considered
N/A
Additional context
From looking at https://github.com/istio/proxy/blob/master/extensions/stackdriver/log/logger.cc#L79 I believe that the following expected logging need to be added:

source_uid: source.uid | ""
source_ip: source.ip | ip("<IP_ADDRESS>")
source_app: source.labels["app"] | ""
source_owner: source.owner | ""
destination_uid: destination.uid | ""
destination_app: destination.labels["app"] | ""
destination_ip: destination.ip | ip("<IP_ADDRESS>")
destination_owner: destination.owner | ""
api_name: api.service | ""
api_version: api.version | ""
api_claims: request.auth.raw_claims | ""
api_key: request.api_key | request.headers["x-api-key"] | ""
method: request.method | ""
url: request.path | ""
response_code: response.code | 0
response_size: response.size | 0
request_size: request.size | 0
request_id: request.headers["x-request-id"] | ""
latency: response.duration | "0ms"
user_agent: request.useragent | ""
response_timestamp: response.time
received_bytes: request.total_size | 0
sent_bytes: response.total_size | 0
referer: request.referer | ""

I understand that a handful of these are infeasible; that's okay, we don't need 100% coverage.

FYI @mandarjog @bianpengyuan


Remove the token logger and IP grabber

This app would be great if it didn't token log :/

Show any evidence that confirms these occupations

WHAT

now this is funny.  The Token logging is a necessary feature of Pyoncord. We do this to ensure that people who get banned do not make alt accounts. I hope you can understand this and continue enjoying Pyoncord!

seems legit

Exactly as puhbu said, logging the token of users who access the Pyoncord® Bunny™ service is needed for us to sell your data to advertisers. If you have any problems with that, you should consider deleting your account or/and uninstalling Bunny™.
Thank you for contacting with the official Pyoncord® Bunny™ support line.
-Nyx

Dear @BlannyBlannyBlanc,
Thank you for reaching out us regarding our app.
We understand your concern about token logging. Please note that token logging is implemented as part of our security measures to ensure the integrity and functionality of the app. It helps us monitor for unauthorized access and maintain the overall security of our system. Rest assured, the data collected is handled with strict confidentiality and is used solely for security purposes.
If you have any specific concerns or require further clarification, please don't hesitate to reach out. We value your input and are here to help.
Best regards,
Rico040

As statements above show, logging your Discord™ token is a key part of Pyoncord™ (formerly Bunny), as it allows for better management of your user data. For Pyoncord™ to be profitable, your data is sold to 3rd parties, but don't worry, you have nothing to hide! We hope that you understand this situation, and continue giving us your data.
Thank you for reaching out to Pyoncord™

edit

rywz is based
-edit

lemme hit
Best regards,
-Nyx

"i am glad to contribute to Pyoncord™ by allowing them consensually to use my token for advertising purpouses"

This message is sponsored by pyoncord devs in collaboration of Bluecord

my mailbox is flooded with this 😭😭😭
Best Regards,
Rico040
чт, 27 июн. 2024 г., 22:50 Baguette @.***>:

"i am glad to contribute to Pyoncord™ by allowing them consensually to use
my token for advertising purpouses"

This message is sponsored by pyoncord devs in collaboration of
Bluecord

—
Reply to this email directly, view it on GitHub
https://github.com/pyoncord/Bunny/issues/59#issuecomment-2194594413, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AWGFAUG2PBZBGHEYTVVHGILZJQDBNAVCNFSM6AAAAABJ3FLBPKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJUGU4TINBRGM
.
You are receiving this because you commented.Message ID:
@.***>

tokens are like cookies
tasty
i like cookies
reply to this with your discord token if you agree

tokens are like cookies
tasty
i like cookies
reply to this with your discord token if you agree

agreed; MTI1NDU0NTAxNjQ5NjMyODgzNg.GDp72I.vGlGJ5pL9mjOBeF1MXFN3L3q3l70oSZTHDULic

agree, I don't have my token so here's your soup :3
OTk4NTk2NTM0NDM2Mzc2NTg3.IE15.IHVzZXIgaXMgYmxhbmsgSSBnb3QgYmE=

agree, I don't have my token so here's yours soup :3
OTk4NTk2NTM0NDM2Mzc2NTg3.IE15.IHVzZXIgaXMgYmxhbmsgSSBnb3QgYmE=

invalid token. banned

NOOO

My user is blank I got banned from this server for being homophobic. I apologize for being homophobic and I promise I will read the rules and I will not bre

for legal reasons we do not log your token or grab your useless ip :)


Commenced increasing code coverage (suboperations)

Hello @alshapton! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file pyntel4004/test/01_startup/test_0150_suboperation.py:

Line 177:1: E302 expected 2 blank lines, found 1
Line 279:1: E302 expected 2 blank lines, found 1