Extension mechanism for HTTP filters based on dynamic loading

Envoy currently provides extension mechanisms based on WASM and Lua. Approach for GoLang is under discussion as well: #15152.
Taking into account that small footprint, high performance are essential for using Envoy as a sidecar and ongoing work on GoLang extension (#22573), it looks reasonable to work on support for extension mechanism based on dynamic loading as well. For example, for using Rust as the language for creating custom filters (#12155). Envoy already has support for dynamically loading opentracing libraries: #2252.
What's your opinion regarding introducing such an extension mechanism for HTTP filters?

Dynamic loading is tracked here: https://github.com/envoyproxy/envoy/issues/2053.
There is no objection to add this but someone needs to do the work.
I would like to see native Rust filter support but that is orthogonal IMO. Static linking for that would work fine also.

Thanks for the link to the original dynamic loading issue!
Indeed, "support" for Rust in not tightly coupled. Added it just as one of the possible ways to start adoption of the language.
Can we leave this issue open? It's nice to keep a global goal of supporting various loadable Envoy modules during design, but can be handy to have smaller goal to make some progress.

Sure that's fine.


Add day marker character for Japanese.

Patch for #2807.

This should be an edit to src/locale/ja.js, not locale/ja.js; we now build everything from ES6 source.

Update to src/locale/ja.js.

Create new pull request  #2829


Adds delivery address to distribution printout/receipt

Resolves #4138
Description
Adds delivery address to distribution printout/receipt
Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Login in as<EMAIL_ADDRESS>Go to distributions
Print any distribution
The pdf should have Delivery address: added to the left. (if delivery method is shipped or delivered)

Note: I did not find any existing unit test or browser test related to distribution pdf. If someone could point me to the relevant tests, I am happy to cover this scenario.
Screenshots
If the distribution delivery method is either shipped or delivered, the print will look like this

If not no change in the receipt.

@dorner where exactly this is shown (on the pdf?) or inside the app?
Change the prompt for program address on the partner to "Program / delivery address (if different)"

If you sign in as<EMAIL_ADDRESS> click edit my organization -- there is a Program Address (if different) in that screen, which needs to be changed.  Also, if you click "My organization", which is the corresponding view.

I changed at these 3 places:

2.

3.

If you sign in as<EMAIL_ADDRESS>click edit my organization -- there is a Program Address (if different) in that screen, which needs to be changed. Also, if you click "My organization", which is the corresponding view.
These are also accessed from the bank side, though the partner agencies, then clicking on the specific partner 'edit" or "view', but I'm pretty sure they use the same partials.

Let me know if these are the changes we are looking for.

Looks like it to me.

Looks good to me too. Thanks!

Hrm.   When I did the pre-release test of  this on staging, on a delivery distribution, I didn't get a delivery address printing out.  I'm not going to hold the release on this, but something is not working properly.


updates and fixes

update compile and target SDK to API 27
update support and deps libraries
fix warn and compile error

@bmx666
Thanks 👍
let me check.

This project is dead?

@bmx666
Thank you for your support!
sorry for late reply.
this pull request will be merged soon.

@bassaer
Thanks for response! I just back to support my old project and update all deps of this project.
Only one warn, after migrating on AndroidX many old project would not compiled without updating gradle.properties
See Migrating to AndroidX


Hint or Example for DuckDB connection in Python instead of C++

Unfortunately, I'm not that familiar with C++, but I am with Python.
I have read the Apache Arrow Flight documentation (https://arrow.apache.org/cookbook/py/flight.html) and can therefore also build a Flight server in Python.
But I haven't yet understood how to integrate DuckDB as a query engine in Python in this Flight server (as it is in this C++ example), for example to execute SQL statements via ADBC.
I would be very, very pleased to receive a hint or a small example.

Hi @thinkORo - I'm very sorry for the late reply!  Unfortunately, there isn't a Python implementation yet for Flight SQL.  There IS a Python implementation of Flight RPC (a layer in the stack below Flight SQL) - the one you reference from the Cookbook link.
I don't believe ADBC is intended for use with Flight RPC servers, but it does work with Flight SQL ones, and other database technologies (most recently Snowflake).
I will attempt to relay your desire to build a Flight SQL server in Python to the Arrow community, I also had that thought :)

Hi @prmoore77, thank you for your reply. And thank you for your support.
I'll check Apache Arrow from time to time to see if anything new has come up.


Content Available for FCM_HTTPv1_JSON_Message

Hello,
Thanks for this amazing Library which helped me a lot!
I am wondering how I can send "content-available" value in a http/jason format using this struct FCM_HTTPv1_JSON_Message.
I know it was already present in FCM_Legacy_HTTP_Message but not anymore in FCM_HTTPv1_JSON_Message.
I wanna send it like this:
{
"ttl":"10s",
"to": "dQkY26Skck3otuazbr57Kc:APA91bEX5yd8l1j9FF5vxVPaApxzblKkUamd8E0gNUYY41gdOLBBteApCEZtV5W-lZF4eNTmaJ546Ffy6ZhDWkY_-cCpFkBlZKCUJCtBp34yzAk4_7jLYTZXHVVs72JybSVkQ8ADUhC0",
"content_available": true,
"data":
{
"message": "Fuite de Gaz"
},
"notification":
{
"body": "Fuite de gaz",
"sound": "default"
},
"apns": {
"headers": {
"apns-priority": "10"
},
"payload": {
"aps": {
"category": "NEW_MESSAGE_CATEGORY"
}
}
}
}
Do you have any idea how I can send it?
Thanks,
Ayoub

What?
You have to read the documentation.
The example is here.
https://github.com/mobizt/FirebaseClient/blob/main/examples/Messaging/Send/Send.ino


migrating jupyterbook

Describe your changes
Issue ticket number and link
Closes #x
Checklist before requesting a review

[ ] I have performed a self-review of my code
[ ] I have added thorough tests (when necessary).
[ ] I have added the right documentation in the docstring and changelog (when needed)

:books: Documentation preview :books:: https://sklearn-evaluation--312.org.readthedocs.build/en/312/

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 94.138%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3228

Relevant Lines:
3429

💛  - Coveralls


Add optional data load preprocessor hook

Another finding from working the arxiv example.. often you need to unpack or edit a record before writing to the source. If you do this before invoking redisvl, you add an additional loop, one that is unnecessary in the end. So this allows devs to optionally add a preprocessor method on load to call against each record.

A couple comments

What happens if the process function fails? Should we be catching errors there? leave it to the user?
What happens if it doesn't return a dictionary type? I think we should throw and error there at least right?
maybe put an example into the load function with a simple process function.

lastly, this seems to overlap commits with #66 just FYI.

Good feedback -- i will address these!

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (266de35) 87.09% compared to head (f8d40a9) 87.07%.
 Consider uploading reports for the commit e370f05 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #67      +/-   ##
==========================================
- Coverage   87.09%   87.07%   -0.03%
==========================================
  Files          16       16
  Lines         868      874       +6
==========================================
+ Hits          756      761       +5
- Misses        112      113       +1

Files
Coverage Δ

redisvl/index.py
86.82% <92.30%> (-0.14%)
:arrow_down:

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


There is no configure script in the source

The Readme.md states this:
$ ./configure
$ make
$ make install

There is no configure script in the source.

That should be modified in the Readme.md, as it is not normally required, or it should be created and included in the dist.
I had to edit the Makefile for the system I was installing this on, so I agree an actual configure script to do so will be very helpful instead.

so what is the solution??? you could post it seriously -_-

@BarbzYHOOL did you try make and make install?
Like @cometsong said, it's usually not needed. Since it's not included, if you need to change something, you can modify the Makefile directly.

I could as well write the entire tool myself if I knew how :P
Yes I tried these and I don't think it did anything but I had an older version of symlinks installed it seems so I don't need to find how anyway

@BarbzYHOOL
This tool works as is. The original issue here or the reply by cometsong are about something else.
In your case, the provided Makefile, when you run make and make install if there are no errors, it will be compile the tool and it will be installed at,
/usr/local/bin
If you run which symlinks afterwards and it doesn't return /usr/local/bin/symlinks, it's not detecting this one and it's using the one at the path shown. You can either alter your PATH variable so this one comes after or uninstall the one at the other location.

which symlinks
/usr/bin/symlinks
And yes, no symlinks in /usr/local/bin
make and make install don't work at all as I said

@BarbzYHOOL
Could you create an issue with both commands and their outputs? Also include the OS you're using? I can take a look, see if I or someone else can replicate and maybe submit a fix for it.

Hmmm, finally I'm not sure if it's working or not
make
gcc -Wall -Wstrict-prototypes -O2  -o symlinks symlinks.c

I probably stopped there and did not "make install" because it's the first time I see only one line after make
I again stopped there now because I don't think I need to overwrite my working symlinks (if not broken, don't fix it)

I again stopped there now because I don't think I need to overwrite my working symlinks (if not broken, don't fix it)

Sounds good.
For reference, that is the working output.

If you compare both outputs of ls, after make, you now have a symlinks file (red). If I execute it, ./symlinks, you get the help of the tool (what's expected if nothing else is passed to it).
A lot of the usual output of make is mainly what gcc shows. In this case, it doesn't have any warnings, errors or anything else to show. It compiles cleanly.

Ok then I can use it as is
Thanks

I'm running openSuSE and like everyone else, I had no configure script in cloned repo.
i ran 'make' and it made : )
make install failed.
copied made 'symlinks' executable to /usr/bin
all was good with my remote server.
What I'm saying is; on opensuse at least, the configuration script configure nor editing Makefile was needed.
Landis.

make install most likely fails because (as far as I know) /usr/local/bin is not writable by non-admin users on most Linux distributions, as well as macOS. If you were to instead run sudo make install it would probably work for you.
With all due respect to everyone involved—because I didn't always know the answers to these questions either—basically every problem described here can be fixed with a couple of lines in the README. The practice of doing make followed by sudo make install is pretty standard, and after you've seen that once or twice, you're like, oh, OK, right.
A configure script in the GNU Autotools sense is probably overkill for a tiny project with one C source file and one man page, and no weird library dependencies. You would end up with more Autotools-related code than actual code. Granted the Makefile should probably allow make install PREFIX=/some/weird/path for parity with ./configure --prefix=/some/weird/path, and that's probably 100% of what anyone would expect configure to do anyway.
I think this issue could be closed after the README gets updated, and I'm going to do a pull request for that right now.


Go To Definition No Longer works

I am not sure if this is misconfiguration on my side, but Go To Definition No longer works for me. I tried on several projects on different computers and it is the case.
One repro is here:
https://github.com/tomitrescak/corporator
Do you have some test project where it works?
Thanks
[EDIT] I have just downloaded your project "graphql-server-example", No luck there. Is it maybe error in the latest visual studio code? I did not try to downgrade yet.

Would you please confirm whether this is broken so I can maybe try to fix it, or is it problem of my configuration? Maybe some bad global dependencies?

@tomitrescak mine isn't working either.

@divyenduz you mention "Needs Reproduction", but I mentioned two repos where it does not work. You can just try the following one:
https://github.com/prisma/graphql-server-example
Thanks for looking into this. The plugin is otherwise spectacular!

I'm running into the same issue with a Gatsby (graphql) project as well.

Thanks all for the feedback. Can any of you please share the logs for GraphQL Language Service? From your environment: https://github.com/prisma/vscode-graphql#a-testinglogging-graphql-language-features

@chanlito : It looks like you have the same fields on mutation type (maybe you are using schema stitching or something or maybe it is a multi-repo project - extension cannot tell if different files belong to different projects, if they have duplicates).
This fails extendSchema from graphql-js being used by the graphql-language-service.
Here is an example of how this might be going wrong: https://codesandbox.io/s/34lvxl4pn1
Posted this information here for anyone who might attempt a fix for this. This might require big changes in the language service.


Add Weights and Biases Logging Support

This PR aims to add basic Weights and Biases Metric Logging by appending to the existing training scripts with minimal changes.
The PR adds 3 extra arguments namely --use_wandb, --wandb_project and --wandb_entity which can be used to specify whether to use wandb, the name of the project to be used ("egnn" by default) and name of the entity to be used.

Request for Review @vgsatorras

Gentle ping @vgsatorras

Closing this for now, will reopen if needed 😄


Eris client part3: QueryContract and QueryContractCode

IMPORTANT: pulls in early integration test framework, which is incomplete but should not cause problems.  Review that it does not though.
client: correction to Status, and QueryContract and QueryContractCode

LGTM


Checking for Objective-C compatibility

Can we utilize the library with objective C? If yes then can anyone please guide me on the same?

Hello @AmanKumarGoswami, it's impossible to use Instructions in Objective-C directly because it uses pure Swift types. It can work with a bit of glue, though. See previous issues on the topic.


Sanitize user input in upgrade

Yet another low severity XSS report sent to us.
POC :

install newer YOURLS files over old install
don't load any YOURLS page or redirection that would trigger the update
Go to sho.rt/admin/upgrade.php?step=1&oldver=501"%20onmouseover="alert(1)"&... or something like this

Yes, another "user can hack themselves if they really wanna" exploit.

Hi, XSS report submiited to this repo 16 days ago but still not validated yet https://huntr.dev/bounties/b4085d13-54fa-4419-a2ce-1d780cc31638/

@ranjit-git Fixed 2 weeks ago in https://github.com/YOURLS/YOURLS/pull/3041.
Also, this is totally unrelevant to this issue here and there are a lots of other ways of contacting me if needed (let alone commenting on the proper issue or PR of course :)

Hey @ozh - Adam here from huntr.dev
@ranjit-git let me know about the issues you've been having. Could you help me understand the issues you've been having with the emails/other experiences with the platform so I can look to address this with the team?

The "you have mail from someone" with no content except a link that needs auth are a definite turn off for me. When I'm not on my PC I read the mails on my mobile, click the link, get to a page where I have to authenticate so I go "meh" and back to another email and I forget about that one. Emails should be simple and straightforward in my opinion, not a gateway to some closed platform.
Happy to give my opinion on whatever you'd like but offsite : each activity here is mailed to 300+ people so let's keep it YOURLS related please. My personal email is ozh at ozh dot org.


TLS mode works fine, but changing to QUIC doesn't

I have set up Shadowsocks with v2ray-plugin under TLS mode. Below are my configs:
Server:
{
  "server":"<IP_ADDRESS>",
  "server_port":12345,
  "password":"some_password",
  "timeout":300,
  "method":"chacha20-ietf-poly1305",
  "fast_open":true,
  "no_delay": true,
  "nameserver":"<IP_ADDRESS>",
  "tunnel_address":"<IP_ADDRESS>:53",
  "workers":4,
  "plugin":"v2ray-plugin",
  "plugin_opts":"server;tls;fast-open;host=example.com;cert=fullchain.pem;key=privkey.pem"
}

Client:
{
    "server": "<IP_ADDRESS>",
    "server_port": 12345,
    "password": "some_password",
    "method": "chacha20-ietf-poly1305",
    "local_address": "<IP_ADDRESS>",
    "plugin": "v2ray-plugin",
    "plugin_opts": "tls;host=example.com;mux=2;fast-open",
    "timeout": 60,
    "reuse_port": true
}

Which works fine, but I wanted to try QUIC mode to see if I can have a bit of speed boost, so I changed the configuration to:
{
  "server":"<IP_ADDRESS>",
  "server_port":12345,
  "password":"some_password",
  "timeout":300,
  "method":"chacha20-ietf-poly1305",
  "fast_open":true,
  "no_delay": true,
  "nameserver":"<IP_ADDRESS>",
  "tunnel_address":"<IP_ADDRESS>:53",
  "workers":4,
  "plugin":"v2ray-plugin",
  "plugin_opts":"server;mode=quic;fast-open;host=example.com;cert=fullchain.pem;key=privkey.pem"
}

And client:
{
    "server": "<IP_ADDRESS>",
    "server_port": 12345,
    "password": "some_password",
    "method": "chacha20-ietf-poly1305",
    "local_address": "<IP_ADDRESS>",
    "plugin": "v2ray-plugin",
    "plugin_opts": "mode=quic;host=example.com;fast-open",
    "timeout": 60,
    "reuse_port": true
}

Everything starts OK and seems to connect too. I can see some UDP traffic on both server and client side with tcpdump -i interface -vvv -n port 12345. But that is all that happens, under mode=quic, nothing is accessible. Changing back to tls works again.
I can't seem to get any kind of debug logging out of v2ray-plugin, is there a way I can check what the problem is?

isp qos？

Somehow it worked, not sure what was happening, but ISP QoS could be a good guess.
Anyway, QUIC performance is way worse than Websocket transport, so I'm closing this for now.


[Postman] Importing request with "formdata" of type "file" fails silently

I have checked the following:

[X] I use the newest version of bruno.
[X] I've searched existing issues and found nothing related to my issue.

Describe the bug
index.html:1 Uncaught (in promise) Error: Error invoking remote method 'renderer:import-collection': TypeError: Cannot read properties of undefined (reading 'includes')
As per https://schema.postman.com/collection/json/v2.1.0/draft-07/collection.json:683, a formdata body may have "key:value" attributes for type "string", but "key:src" instead for type "file".
.bru file to reproduce the bug
{
	"info": {
		"_postman_id": "redacted",
		"name": "redacted",
		"description": "redacted",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
		"_exporter_id": "",
		"_collection_link": ""
	},
	"item": [
		{
			"name": "Profile",
			"item": [
				{
					"name": "Update profile avatar",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{AUTH_TOKEN}}",
									"type": "string"
								}
							]
						},
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							},
							{
								"key": "Content-Type",
								"value": "application/json",
								"type": "text"
							}
						],
						"body": {
							"mode": "formdata",
							"formdata": [
								{
									"key": "avatar",
									"type": "file",
									"src": "/Users/darylteo/Downloads/demo-images/001.jpg"
								}
							]
						},
						"url": {
							"raw": "{{API_URL}}/auth/profile/avatar",
							"host": [
								"{{API_URL}}"
							],
							"path": [
								"auth",
								"profile",
								"avatar"
							]
						},
						"description": ""
					},
					"response": [

					]
				}
			]
		}
	]
}

Screenshots/Live demo link
https://imgur.com/XmfbmLO

The PR is merged.
Thanks for taking care of this @sanjai0py !
This is set to go out in the upcoming v1.20.0 release.


Switch to scrapelib 1.x, now that Open States scrapers are compliant

Realized that billy itself has some urlopens to take care of; I'm going to move this into a new PR that's inside a branch.

:facepunch:


How to use name and code

I need to use name and code of my differente languages... is that possible?

I didn't quite understand your question. Can be more specific?


Add option to EmptyLinesAroundBlockBody to ignore if the preceding line is multiline

I'm thinking that if you have something like this:
it 'does some stuff that has a lot of words and things and you want to make ' \
   'sure it does not go past 80 characters' do

  # It looks cleaner to have an empty line after the block.
end

vs
it 'does some stuff that has a lot of words and things and you want to make ' \
   'sure it does not go past 80 characters' do
  # It looks cleaner to have an empty line after the block.
end

vs
it 'but if it fits on one line' do
  # It looks cleaner not to have an empty line
end

I don't like the excess blank line in either case. Maintainers? Any comments?

I don't like it as well and it seems no one else has voiced a support for this suggestion. Let's close it.


[Tests] Post merge issues in #2175 (test/gtest/fusion_test.cpp)

[ ] https://github.com/ROCmSoftwarePlatform/MIOpen/pull/2175#discussion_r1284859175 - The test must obey MIOPEN_TEST_HALF/BFLOAT/INT8 etc

[Attribution] @junliume @JehandadKhan

https://github.com/ROCmSoftwarePlatform/MIOpen/labels/testing
https://github.com/ROCmSoftwarePlatform/MIOpen/labels/urgency_normal
Proposed assignee: @gonidelis

Will try to resolve before the internship ends.

...otherwise the reviewers who approved it will be condemned to fix the code 😉


Suckerberg - Profile template needs customization

So, this is a tricky one as well. Basically, to get the profile to be more "timeline-like", some customization to regions and templates will be necessary. This requires greater investment in understanding how RedMatrix templates are put together, but I've been assured that template overrides can be done within the theme directory.

@DeadSuperHero I really like your themes but is not more easy have a framework like joomla have several all different . Where you can select modules and positions and not depends like now of the redbasic theme. I can make a economical donation if that help for motivation

Can you clarify what you mean by that? Were you thinking perhaps of how
Elgg handles profile customization, where the different widgets can be
dragged into different positions?

Yes can be something like elgg have for the users side but can be also to for the admin for specify the positions and place the module can be activate or not in positions in the theme . And in joomla there very nice framework for Themes User  Admin is T3-framework can give you are idea the freedom have the admin for make nice changes in a theme


Fix deploy misspelling

@jtlowe : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Failed to capture fingerprint of input files for task ':app:preDebugBuild' property 'compileManifests' during up-to-date check.

I've just installed the plugin and added android platform then i tried [cordova run android] and got this error.

I'm also getting this error.  Did you get it resolved?

+1

try this solution

This plugin doesn't seem to be getting updates.
Easy fix is to use this  plugin, as suggested here and here.

ionic cordova plugin remove cordova-plugin-firebase
ionic cordova plugin add<EMAIL_ADDRESS>--save

@brenod it worked for me! Thanks

@brenod :sir but i am not using cordova-plugin-firebase i am using cordova-plugin-fcm-with-dependecy-updated telll me what i do know?

@kapilSoni101 were you using cordova-plugin-firebase before? There could be some errors with compatibility when migrating from one plugin to another. You could try to reinstall everything:
ionic cordova platform rm android
cordova plugin rm cordova-plugin-firebase
cordova plugin rm cordova-plugin-fcm-with-dependecy-updated
ionic cordova platform add android@latest
ionic cordova plugin add cordova-plugin-fcm-with-dependecy-updated
ionic cordova build android

if nothing works, maybe this can help

@brenod : no sir i was not used cordova-plugin-firebase.so in such case i have skipped 2nd line right sir?

@brenod : thanks for ur response sir. 1st solution not worked for me but 2nd worked for me and i got another error generated

FirebaseInstanceId.getInstance().getInstanceId().addOnCompleteListener(new OnCompleteListener() {
symbol:   class InstanceIdResult
location: class FCMPlugin


odd n's RP phase have lower symmetry I4mm instead of I4/mmm

I've been playing around with this script today and the script seems to work nicely to generate the n=1 I4/mmm RP phase. However, when I generate a larger n RP phase, the structures are in a lower symmetry phase -- I4mm. I've only seen this for the odd RP phases, script works nicely when n=even layers!

Hi @prakayastha  - we discussed this early but repeating conversation so that there is written record :)
It may be that enforcing symmetry, as you did, during relaxation did not allow for the expected structure to be found. It would be interesting to know if you can find expected structure when not enforcing symmetry. It would also be useful to know how you are detecting the space group (spglib?) and what the symmetry tolerance is (symprec in spglib.spacegroup.get_spacegroup) as it might be lower symmetry due to very slight displacements/noise.

I'm not going to close this as I would like to get to root of problem.

Hi @prakayastha  - I've just relaxed the Ba3Zr2S7 and Ba4Zr3S10 systems generated with RP_generator (the final structures are ./data/relaxed_22_RP and ./data/relaxed_33_RP). I've used FHI-aims and have not enforced any type of symmetry.
I've used ASE to get space group (see ./scripts/cif_sym), and it gives me I4/mmm for both which is what is expected. So I think the problem with your results might be linked to i) enforcing symmetry during relaxation; ii) sym_prec tag being very tight (I used sym_prec=1e-5). I've updated README to make clear not to enforce symmetry.
I'm closing this issue as resolved as I cannot reproduce error when following the (now updated) guidance.


internal/util/projutil: add Go{Build,Test{() functions to run go build/test

Description of the change:

internal/util/projutil/exec.go: move commands executing external binaries to exec.go, add GoBuild() and GoTest() functions to run go build/go test, and GoBuildOptions to configure both
cmd/operator-sdk/{build/cmd.go,up/local.go}: use GoBuild() and GoTest()
pkg/test/main_entry.go: use GoBuild() to run go build

Motivation for the change: The SDK calls go build and go test in several places. These functions provide convenient wrappers that sets up args based on the users' environment.
This code was split out and enhanced from #1001

/cc @AlexNPavel @LiliC @hasbro17 @theishshah @shawn-hurley

Looks good overall. Just some questions.


feat: add value assertions in claim transactions for ERC20, ERC721, and ERC1155

#3581  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @joaquim-verges and the rest of your teammates on  Graphite


[TH2-3297] th2-infra > adding loki data source to prometheus-stack out of box

@sabamushtashvili please test manually


Feature request: Back to formatted view

Feature request:
A easy way to get back from "raw view" on a paste to formatted view. Right now the only way I can find to do that is to click "New" then go back and click on the paste. Clicking back on the paste itself doesn't do anything, maybe make that take you back to formatted view?

I was thinking this last night too. I've merged #4 into master to address this, let me know if you think this addresses the issue.
You can click the active paste in the paste list to re-load it, or click away and back to view the non-raw paste.


Using this in extensions

I'd like to be able to save a value into user defaults with this library, and then retrieve the value in a sharing extension, or vice versa. E.g., see https://stackoverflow.com/questions/45607903/sharing-userdefaults-between-extensions
It looks like this isn't supported yet for this library. Any plans? Thanks!!
(I use your package here: https://github.com/crspybits/PersistentValue.git).

@crspybits this IS supported. DefaultsAdapter has constructor which takes UserDefaults instance. You need to create to create UserDefaults with appropriate app group shared between your main app and app extensions.


Adding a value to an array in an asset

enabledVRDevices has an array inside it, so I can get that array like so:
var enabledVRDevices = baseField.Get("enabledVRDevices").Get(0);

If I want to change the value of the first element of the array, I do this:
enabledVRDevices .Get(0).SetValue("Something");

This works as expected, and when I write the changes to a file I can confirm that the new value is there.
But what I need is to actually add a new value to the array, since it starts out as empty.
I tried with SetChildrenList but in the final file the array is always empty:
var something = new AssetTypeValueField();
something .value = new AssetTypeValue(EnumValueTypes.ValueType_String, "Something");
enabledVRDevices .SetChildrenList(new[] { something });

I was trying to find some way to just to something like this:
var newArray = new AssetTypeArray();
enabledVRDevices.GetValue().Set(newArray);

But I have no idea how to add anything inside this newArray. Seems like that part is commented out in the source code?
So, what is the correct way to add items into an array here?

Yeah, adding items to an array is something I want to make a lot easier. Maybe the original library has some other function that I'm not aware of that does something like this (AddChildren maybe? no idea how it works.) Here's some code which should add one item into the array:
static void Main(string[] args)
{
    AssetsManager am = new AssetsManager();
    am.LoadClassPackage("classdata.tpk");
    AssetsFileInstance ggm = am.LoadAssetsFile("globalgamemanagers", false);
    AssetsFile ggmFile = ggm.file;
    AssetsFileTable ggmTable = ggm.table;
    am.LoadClassDatabaseFromPackage(ggmFile.typeTree.unityVersion);

    List<AssetsReplacer> replacers = new List<AssetsReplacer>();

    AssetFileInfoEx buildSettings = ggmTable.GetAssetInfo(11);
    AssetTypeValueField buildSettingsBase = am.GetATI(ggmFile, buildSettings).GetBaseField();
    AssetTypeValueField enabledVRDevices = buildSettingsBase.Get("enabledVRDevices").Get("Array");
    AssetTypeTemplateField stringTemplate = enabledVRDevices.templateField.children[1];
    AssetTypeValueField[] vrDevicesList = new AssetTypeValueField[]
    {
        StringField("OculusDrift", stringTemplate)
    };
    enabledVRDevices.SetChildrenList(vrDevicesList);

    replacers.Add(new AssetsReplacerFromMemory(0, buildSettings.index, (int)buildSettings.curFileType, 0xffff, buildSettingsBase.WriteToByteArray()));

    using (AssetsFileWriter writer = new AssetsFileWriter(File.OpenWrite("globalgamemanagers-new")))
    {
        ggmFile.Write(writer, 0, replacers, 0);
    }
}
static AssetTypeValueField StringField(string str, AssetTypeTemplateField template)
{
    return new AssetTypeValueField()
    {
        children = null, childrenCount = 0,
        templateField = template,
        value = new AssetTypeValue(EnumValueTypes.ValueType_String, str)
    };
}

That should work for now, but there should probably be like a CreateStringValue("some string") so you don't have to write all this extra code trying to create an AssetTypeValueField.
I also updated the repo code to correctly write asset length, so make sure to update your lib.
AssetsTools.NET.dll.zip

Awesome, this works! This template stuff still confuses me a bit 😛 I will close this since it's resolved, thank you so much!

If you don't feel like implementing an easier way to add items to arrays, might be a good idea to include a snippet like that in the Readme? Since it's so different than setting a single value.

What about something like this? I know it's a little awkward setting the actual value after creating a ValueField, but because it does deep copy, setting only the top level value might be a little weird so I just didn't add it.
...
AssetFileInfoEx buildSettings = ggmTable.GetAssetInfo(11);
AssetTypeValueField buildSettingsBase = am.GetATI(ggmFile, buildSettings).GetBaseField();
AssetTypeValueField enabledVRDevices = buildSettingsBase.Get("enabledVRDevices").Get("Array");

AssetTypeValueField arrayItem = AssetTypeValueBuilder.DefaultValueFieldFromArrayTemplate(enabledVRDevices);
arrayItem.GetValue().Set("OculusDrift");
AssetTypeValueField[] vrDevicesList = new AssetTypeValueField[]
{
    arrayItem
};
enabledVRDevices.SetChildrenList(vrDevicesList);
...

Yeah that seems slightly better, especially since it removes the need for a comment explaining that [1] from before. BTW this is what I used it for (work in progress): https://github.com/Raicuparta/UnityVRPatcher

Hey, im doing something similar, but I am clearning the "enabledVrDevices" array - when loading the base an error occurs;
System.NullReferenceException
  HResult=0x80004003
  Message=Object reference not set to an instance of an object.
  Source=AssetsTools.NET
  StackTrace:
   at AssetsTools.NET.Extra.AssetHelper.FindAssetClassByID(ClassDatabaseFile cldb, UInt32 id)
   at AssetsTools.NET.Extra.AssetsManager.GetTemplateBaseField(AssetsFile file, AssetFileInfoEx info, Boolean forceFromCldb)
   at AssetsTools.NET.Extra.AssetsManager.GetATI(AssetsFile file, AssetFileInfoEx info, Boolean forceFromCldb)
   at PrePatcher.MainWindow.VB$StateMachine_2_HandleFileOpen.MoveNext() in D:\VB\PrePatcher\MainWindow.xaml.vb:line 53

  This exception was originally thrown at this call stack:
    [External Code]
    PrePatcher.MainWindow.HandleFileOpen(String) in MainWindow.xaml.vb

My code:
Log("Patched boot.config")

        Dim am = New AssetsManager()

        Dim globalGameManagersPath = Path.Combine("./" & filename_noext, "assets", "bin", "Data", "globalgamemanagers")

        Log("Loading globalgamemanagers")

        Dim globalGameManagers = am.LoadAssetsFile(globalGameManagersPath, False)
        Dim buildSettingsInst = globalGameManagers.table.GetAssetsOfType(AssetClassID.BuildSettings).First()

        Log("Replacing enabledVrDevices with empty vector")
        Dim buildSettings = globalGameManagers.table.GetAssetInfo(11)
        Dim buildSettingsBase = am.GetATI(globalGameManagers.file, buildSettings).GetBaseField()
        Dim enabledVRDevices = buildSettingsBase.Get("enabledVRDevices").Get("Array")
        Dim vrDevicesList() As AssetTypeValueField = {}
        enabledVRDevices.SetChildrenList(vrDevicesList)

        Dim repl = New AssetsReplacerFromMemory(0, buildSettingsInst.index, buildSettingsInst.curFileType, &HFFFF, buildSettingsBase.WriteToByteArray())

        Dim stream = File.OpenWrite("resources-modified.assets")
        Dim writer = New AssetsFileWriter(stream)
        Dim lAR = New List(Of AssetsReplacer)()
        lAR.Add(repl)
        globalGameManagers.file.Write(writer, 0, lAR, 0)
        writer.Close()
        stream.Close()

Is there anything im doing wrong?


Unused info in pr_template

Description
we don't use  Key Points,Description,  Current Behavior and New Behavior
Describe the solution you'd like
Delete Key Points, Description,  Current Behavior and New Behavior in pull_request_template.md
Has the Feature been Requested Before?
Please link any other
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

fixed by #1943


Is GeoPoint Serializable? [Strange Error in Android Studio]

Issue Type
[x] Question
[ ] Bug
[ ] Improvement
[ ] Build system related
[ ] Performance
[ ] Documentation
Description and/or steps/code to reproduce the problem
I've created an API that returns GPS data and want to connect my OSMDroid-based application to it. The application contains a function which should convert the API data into GeoPoint objects using the Serialize command. This is done via a class very similar to this (names have been changed for privacy concerns):
@Serializable
data class someAPIResponse (
    val Duration: Float,
    val Points: List<GeoPoint>,
    val Error: String
)

But Android Studio does not like this definition by itself. When I try to run the app, I get the error: Serializer has not been found for type 'GeoPoint'. To use context serializer as fallback, explicitly annotate type or property with @Contextual.
The documentation for GeoPoint made me think that a Serializer existed. Does it not? If the Serializer does exist, is there a known reason for why Android Studio doesn't recognize it?
This problem seems to be related to the issue here:
https://github.com/GitLiveApp/firebase-kotlin-sdk/issues/324
Environment
If it's a bug, version(s) of android this affects:
All
Version of osmdroid the issue relates to:
6.1.14

New knowledge here: It is stated in the comment that Kotlin serialization cannot use Java serialization.
https://stackoverflow.com/questions/65398284/kotlin-serialization-serializer-has-not-been-found-for-type-uuid

Interesting! Thank you for your response! It is really helpful to learn that the serialization mentioned in the comment I was reading is not Kotlin serialization. I will try to do a deep dive on this serialization concept in parallel with a work around for my problem.
Thanks, @eclectice !


Add guetzli

Seems to be very interesting for jpeg image compression. Since vcpkg supports plethora of image handling libraries this one would be a very welcomed addition.
Guetzli - Perceptual JPEG Coder

Guetzli is now in vcpkg.


Unexpected Error: TypeError: orig is undefined

I was previously able to use cryptostorage.com offline to generate cryptocurrency addresses without problem. However, now when I try I receive the error "Unexpected Error: TypeError: orig is undefined" with a black skull & crossbones (see screenshot attached).
I tried deleting the offline website and re-downloading, but the issue persists. Ideas on how to fix? Thanks.

Can you please try the version hosted at https://cryptostorage.com/experimental?
I'm not able to reproduce the error myself.  If you can open your browser developer tools (depends on the browser you're using) and copy/paste a screenshot of the error stacktrace you see, that would be very helpful.  Thanks.

I tried the experimental version, and got the same error message.
I'm using Firefox. I don't see the option to view the error stacktrace in Firefox's developer tools (although admittedly I'm a bit of a noob here). Where can I pull this so I can snap a screenshot for you?

The error should appear in the Console tab of Firefox’s developer tools.  It should be highlighted in red and will hopefully allow you to toggle it open to see a full "stacktrace".

Here's the Console screenshot highlighting the error in red.

I clicked "Learn More" and it sent me here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Unexpected_type?utm_source=mozilla&utm_medium=firefox-console-errors&utm_campaign=default
Clicking the Index.html at the lower right hand side of the error brought me to the debugger screen here:

The first screenshot is the error we are looking for.  It has a triangle to the left of it.  Clicking that should reveal the full the stack trace through the code that led to the error.  Can you attach a screenshot of that please?  Thanks for your help.

Sure, see screenshot below:

Thanks for the screenshot.  Note your computer's username is visible.  Feel free to remove the screenshot if that's sensitive to you.
It appears the error is related to generating QR codes. Your browser appears to be preventing the QR generation code from executing, specifically within a standard API call: https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL
I found that browser add-ons like Privacy Manager can cause this behavior if you have something like that enabled: https://github.com/jasondavies/d3-cloud/issues/134
To determine if the error is caused by a change to the tool or your browser, you could try earlier releases of the tool to see if earlier versions work as expected, meaning something in the tool changed to cause the error.  You could also try another browser on your machine.
If you have success by disabling add-ons, trying a different browser, or with earlier releases of the tool, please let me know.  Right now I'm not sure what the issue could be outside of your browser restricting that API call.

So, I turned off privacy badger and a few other related Firefox plugins, and for others I whitelisted this site, and then tried again, this time using the online version of the website. I received a different TypeError this time. Screenshot of error message and stack trace attached below.

The browser is unable to execute toDataURL for some reason.  This method is standard so I suspect it has something to do with your browser's configuration.
Can you try the first release of the tool and see if the error occurs then?  That will tell us if the browser is blocking this method when it didn't used to or if something has changed in the tool's code to cause the error.

Downloaded the first release and tried that - unfortunately received the same error. The browser I'm using is PureBrowser, which is a slightly modified version of Firefox ESR. Cryptostorage worked totally fine for me up until a few weeks ago, with no errors - even with all my Firefox plugins operational.
The only thing that changed since then is that I updated my system, which upgraded Purebrowser from ESR 52.7 to ESR 52.8. I suspect that this upgrade was responsible for the errors I am now seeing.

After extensive trial and error testing, I've determined that the Firefox extension CanvasBlocker was the root cause of the error. I've always previously had this extension active while using cryptostorage and had no issues, but both my browser and this extension were updated in recent weeks, and so one of those updates caused this problem. When I deactivate CanvasBlocker, cryptostorage works fine.

Thank you for looking into it and reporting back.  That’s great that you identified the root cause and have it working.

Thanks for developing and constantly improving such useful software!!


How to set custom image for user location icon

how to replace above image with custom car image ??

Has android version worked with you ? @Cirff

yes in andriod it is working. but i need to change this icon.

Yes it's working on Android I have fixed the problem but how we can change some custom components for the library or how we can add our own edit to native iOS or android ?


Still crazy large mem consumption

Hi,
I tried to run AutoPyTorch again:
from autoPyTorch import AutoNetImageClassification

import numpy as np
import os as os

autonet_image_classification = AutoNetImageClassification(config_preset="full_cs", result_logger_dir="logs/")

path_to_cifar_csv = os.path.abspath("./datasets/CIFAR10.csv")

autonet_image_classification.fit(X_train=np.array([path_to_cifar_csv]),
                                 Y_train=np.array([0]),
                                 min_budget=300,
                                 max_budget=900,
                                 max_runtime=18000,
                                 default_dataset_download_dir="./datasets",
                                 images_root_folders=["./datasets"],
				 log_level="info" )

However, after nearly 2h Auto-PyTorch used more than 60gb RAM.
========== Job Epilogue Start ============
Job Id: 4274574.batch.css.lan
Resources requested by Job: mem=60gb,neednodes=1:ppn=1,nodes=1:ppn=1,walltime=08:00:00
Resources used by Job: cput=01:48:31,mem=77352676kb,vmem=83220752kb,walltime=01:49:07
Execution host(s): dumbo-n014
Job Exit Status: 271
========== Job Epilogue End ============

Do you have any idea why that's the case?
For the first 20min, it used only roughly 7gb.

Not of the top of my head. It is definitely not the same issue as there was before with the Jupiter notebook. I am looking into it.

I couldn't reproduce the issue on slurm with that code. Of 32 GB allocated memory, around 3.5 GB where used most of the time peaking at 5.5 GB. I will add an enforce for memory with pynisher for image data though.

I installed it again in a virtualbox Ubuntu image (to ensure that it is not the OS and most likely quite similar to your setup), but I can reproduce the problem. For example:
Current children cumulated CPU time: 510.84 s
Current children cumulated vsize: 16804940 KiB
Current children cumulated memory: 10458920 KiB

The peak was at
Current children cumulated memory: 12615168 KiB

At least I could not reproduce the 77GB as reported before... weird...
I run that on a CPU (which surprisingly parallelizes the run without me telling to do that) and use Anaconda 4.7.12 (Python 3.7.4).

Hello, we are closing this issue to track all memory-related problems here https://github.com/automl/Auto-PyTorch/issues/259.


Removed deprecated "ActionBarActivity", replaced by "AppCompatActivity"

What will happen if the user haven't downloaded/updated the support library?


Auto generate Triggers OIDC identity service account and expose in its status

Support auto generation of Triggers identity service account and expose in AuthStatus

Fixes #3521

Proposed Changes

Release Note

Support auto generation of Triggers identity service account and expose in AuthStatus

Docs

Hi @xiangpingjiang,
thanks a lot for your PR and working on this.
Can you add a test for this in control-plane/pkg/reconciler/trigger/trigger_test.go?
/ok-to-test

/retest

/retest

/retest

/retest

/retest

/retest

/retest-required

/retest

/retest

/retest

Hello @xiangpingjiang, thanks for your PR. When I tested it, I didn't see a service account created for a trigger and the kafka-controller was crashing. Can you check on it? And we should add some logic to reconcile triggers, if the features config map gets updated. e.g. for the following:

disabled -> enabled: create sa and set .status.auth
enabled -> disabled: clear .status.auth (depending on how fast Remove OIDC service account, when OIDC feature is disabled again knative/eventing#7570 gets in, you can also add/reuse the logic from there to remove the service account again)

Hello, @creydr
Where I can find a simple example to show how to use the eventing-kafka-broker?
I have read the doc https://knative.dev/docs/eventing/brokers/broker-types/kafka-broker/  , but didn't find it.

Hi @xiangpingjiang,
https://github.com/knative-extensions/eventing-kafka-broker/blob/main/DEVELOPMENT.md#installation provides useful information how to install EKB (and general developement information).
After the cluster is setup with EKB, you can create a broker & trigger the usual way. e.g. via
apiVersion: eventing.knative.dev/v1
kind: Broker
metadata:
  annotations:
    eventing.knative.dev/broker.class: Kafka
  name: my-kafka-broker

or via the kn client with kn broker create my-kafka-broker --class Kafka.
If the docs are not clear or you miss anything, feel free to update them or create an issue with what's missing so we can improve it.

hello @creydr We have a quickstart for eventing https://knative.dev/docs/getting-started/first-source/ Do we have something similar for using EKB?

Hey @xiangpingjiang,
the quickstart for eventing is about how to develop a source in general. Not sure what you have in mind for EKB here, but probably something to bring up in a Workgroup meeting?

hello @creydr We have a quickstart for eventing https://knative.dev/docs/getting-started/first-source/ Do we have something similar for using EKB?

Hey @xiangpingjiang, the quickstart for eventing is about how to develop a source in general. Not sure what you have in mind for EKB here, but probably something to bring up in a Workgroup meeting?

@creydr
For example.  After installing kafka-broker https://knative.dev/docs/eventing/brokers/broker-types/kafka-broker/#installation  ,  how to create a broker and a trigger , and set the source and sink to run a simple demo

Hi @xiangpingjiang,
do you need any more info to proceed with this?

Hi @xiangpingjiang, do you need any more info to proceed with this?

Hello @creydr
It's ok for now. Thank you

/retest

/retest

/retest-required

seems to be a flake
    steps.go:47: sources.knative.dev/v1beta1, Resource=kafkasources did not become ready, timed out waiting for the condition
--- FAIL: TestKnativeKafkaCloudEventExtensionsAdded/KnativeKafkaCEExtensionsAdded/sourceAddsKnativeKafkaCEExtensions/Setup/kafka_source_is_ready (127.37s)

/retest-required

--- FAIL: TestTriggerNoFinalizer/0/triggerNoFinalizerOnBrokerNotFound/Assert/eventually_trigger_has_no_finalizer (20.03s)

Flake AFAIK
/retest-required

/retest-required

/retest-required

/retest-required

FAIL test/e2e_new.TestTriggerNoFinalizer/0 (814.26s)

/retest

/test reconciler-tests

/test reconciler-tests

/retest-required

/retest-required

/retest-required

/retest-required


Support ImageLocation for private image repos

To support deployment of -int and -stg private images, the aws-cloudformation.yaml template needs to support private image repos in the ImageLocation.
It is possible that this process already works "if there is no authentication needed".  But long term there needs to be a way to get authentication.

This works already.  Just use the private image's URI from ECR.


Configure Trimmer UE pass

Addresses #19286
Internal Review Topic

Coalesce the coverage in the Trimmer topic. Only cross-link from the WASM Performance topic.

There's either missing coverage or a misunderstanding on what the following line means ...

The Trimmer is also unable to react to an app's dynamic behavior at runtime.

Does that only refer to reflection, or is that referring to other dynamic behavior that the topic doesn't describe? If it does refer to other dynamic behavior, should the topic list the behavior and provide guidance on dealing with it? If it's just referring to reflection, we can remove that line. :ear:

My recommendation is to let the IL Trimming topic take care of the implementation details (i.e., this draft allows the external doc cover the <PublishTrimmed> property). However, I propose in this draft that we briefly list what the dev will find over there.

Is there anything else that you'd like to cover?

Does that only refer to reflection, or is that referring to other dynamic behavior that the topic doesn't describe?

Generally reflection and reflection-like things. Basically it looks for references to types or methods and code and removes them if it cannot determine they're being used. For example, Blazor uses Activactor.CreateInstance by default to new up components and reflection to assign component parameters. Because this is not clear, running the trimmer on an assembly that contains components will remove constructors (including the default one) and property setters which will fail at runtime.


MQTT convention for NeoPixel lamp/device

I'm thinking how to control a device made of an ESP8266 that drive some NeoPixel (or WS2801).
For now I got:

devices/ID/state/set with on, off or toggle
devices/ID/rgb/set with color eihter in RRGGBB html-like hex format or rrr,ggg,bbb decimal format. This control the color of all leds.

At first I only use hex format (much more easy to parse) but then I implemented decimal&coma one to be compatible with Home Assistant (https://home-assistant.io/components/light.mqtt/).
The missing point here is a way to control each led individually...
Two idea:

devices/ID/rgb_<led_id>/set with color of the given led ID
devices/ID/rgb_each/set with one msg giving the color for each led. In a first implementation I used just the concatenation of RRGGBB html-like hex format for each led.

What do you think about all that ?
A other way is to use json in MQTT msg... but I'm not sure about performances.
It could be nice to have a script that push MQTT msg to get effects as here : https://www.youtube.com/watch?v=OLxM9p5o2us

If you have something like 3 RGB leds, the first solution would be the best fit. Now, if you want to set the color of a whole strip, the second solution would be better (devices/ID/strip/state/set):

You only have to declare one node
There is only one subscription done on the MQTT broker, so it is faster
When you receive a payload, you receive it in one packet with the MQTT overhead. It is way faster and lighter

So the concatenation is the best idea to get the result of the YouTube video.
But there is one thing you need to know: I don't want to put a convention on Homie types of nodes. Because everybody will have its own requirements. (as you said, you are using Home Assistant, maybe this won't work for people using OpenHab).

Feel free to reopen if the above answer was not sufficient. ;)


Update spago (0.93.29)

Update spago (0.93.29)

CI is failing, and Garnix complains about having too many packages to evaluate. This issue seems relevant, but no solution in there

Yeah, Garnix has set an upper limit on the number of packages it’ll test and we’re over it. We can just merge this for now and revert if it actually isn’t working.


Error array_intersect(): Expected parameter 2 to be an array, string given

https://github.com/madebyraygun/trending-posts/blob/bbdc7c9dd929d1386de30590a663f1a01f0e8d75/src/TrendingPosts.php#L102
This line is causing an error due to the fact that it is expecting $getSection to be an array. However I am only tracking one section and my query is for that section so the returned variable ($getSection) is a string. I have added a conditional above that line to check if it's an array and if not, to turn it into one which resolved my issue.
$getSection = is_array($getSection) ? $getSection : array($getSection);

Why not just wrap the number you pass to the setting in brackets? I.e:
$sectionID = 1;
return [
  'trackSection' => [$sectionId]
];

It is ```<?php
return [
'trackDays' => 91, //default is 7 days
'trackSection' => [2], //limit tracking to specific sections
'visitorTimeout' => 30 //default is 15 minutes
];
If thats what you meant


Citation file

Hi, I wanted to cite this repo because I heavily used it in an academic project. Great job btw. Can you add a citation file (.cff) so that I can do that easily with bibitex?  I think it should be something like this: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files

I am not the main author of this Python wrapper  (only have a small contribution) and don't want to recommend not to give credit where its due but having worked in academia myself, I honestly believe you should probably cite the original C++ project instead, which contains the core of the business logic and does all the heavy lifting. The author (Prof. Bertolazzi) also published some papers on the topic which are most probably better suited for a scientific citation.
See
https://github.com/ebertolazzi/Clothoids
https://ebertolazzi.github.io/Clothoids/

Regarding citing the wrapper repo as well: Try to use an @misc entry in your .bib file.
https://tex.stackexchange.com/questions/35977/how-to-add-a-url-to-a-latex-bibtex-file

Thank you very much


Inserted requirements.txt for pip

Useful as you don't need to change .travis.yml and only the file requirements.txt.
For more information, see https://pip.readthedocs.org/en/1.1/requirements.html

maybe nit picking but could you rename requirements.txt to a hidden file .requirements.txt ?
It's only needed in the scope of travis and that config lives also in a hidden file
In the past I thought of using the install_requires from setup.py but it has turned out the testing env requirements needs more stuff on top of the runtime requirements. Thus we still need two places to define this information

maybe nit picking but could you rename requirements.txt to a hidden file .requirements.txt ?

@schaefi Sure, no problem. See my last commit. :-) I was just followed the usual convention and thought it could be fine too.

In the past I thought of using the install_requires from setup.py but it has turned out the testing env requirements needs more stuff on top of the runtime requirements. Thus we still need two places to define this information

Hmn, not sure if I understood you correctly, but you could nest requirement files. For example, in my openSUSE/docmanager repository we have a test_requirements.txt and a requirements.txt file.
The requirements.txt contains everything we need to run docmanager whereas the test_requirements.txt contains just these lines to enable our testing framework:
-r requirements.txt
pytest

In that case, I don't have to repeat the basic requirements again; I just add a pointer. :grinning:
Regarding the install_requires vs. pip requirements, maybe you could just read in the requirement file, create a list and pass it to the install_requires keyword.
You may find the following link maybe helpful; it contains an analysis of "install_requires" vs pip's
requirements files: https://packaging.python.org/en/latest/requirements.html#requirements-files

I was more thinking of having something like
config = {
   ...
   'travis_requires': [ .... ]
}

in setup.py and avoid having an extra requirements.txt file. But I didn't look closer if that wouldn't confuse python setuptools, and I also did not check how to move the information to be consumable in the .travis.yml. I just thought it would be nice to have one place and not several files. But all this is
just a cosmetic thing
The change you did is nice and makes the travis setup small. I'm going to merge this now


Recusively join lists insde maps?

Hi, I was wondering if it was an intentional decision to not recursively join lists which are inside the maps being merged?
Eg:
@import "node_modules/sass-recursive-map-merge/_recursive-map-merge.scss";
$test1: (
	'a': (1,2,3),
);
$test2: (
	'a': (4,5,6),
);
@debug map-merge($test1, $test2);
@debug recursive-map-merge($test1, $test2);

I would expect to get the following from a recursive function:
(
	'a': (1,2,3,4,5,6),
);

But it just behaves the same as map-merge and keeps the second map's value.
I have a patch which will join two lists together if they have the same key, but if this was a deliberate design decision then I'll just fork and make my own function for this.

If I recall correctly, I had some issues when trying to recursively merge maps, one of which was empty.
Honestly, I did not look into merging lists much, simply because I did not need that functionality, as a result, it got overlooked, it is not a design decision. If you have any suggestions on how to make this better and more useful, you are more than welcome to open a pull request, I would be happy to discuss anything! 🙂


Top part of scrollbar of main content hidden by header

Describe the bug

Steps to reproduce the bug

Steps to reproduce the behavior:

Go to '...'
Click on '....'

Expected behavior

Actual behavior

Screenshots

Version Info

[ ] App downloaded from Store

If so, which version? (Found on the Settings page of the app.)

[ ] App built locally from source

If so, which branch? (WinUI 3 versions are built off the winui3preview branch)

Additional context

Windows 10 version:

[ ] Insider Build (xxxxx)
[ ] May 2020 Update (19041)
[ ] November 2019 Update (18363)
[ ] May 2019 Update (18362)
[ ] October 2018 Update (17763)
[ ] April 2018 Update (17134)
[ ] Fall Creators Update (16299)
[ ] Creators Update (15063)
[ ] Anniversary Update (14393)

Device form factor:

[ ] Desktop
[ ] Mobile
[ ] Xbox
[ ] Surface Hub
[ ] IoT

top part of scrollbar is hidden

I don't fully understand the problem here. @Poopooracoocoo could you please give more details?

@gregwoo-microsoft Scroll down on the What's New page to get something like the screenshot above. And then try to scroll up by clicking on the up arrow which is covered by the header. I must've made this issue when I was tired. I usually try to write some form of STR. mb

Thanks for clarifying 🙂 I can't manage to repro this: I am able to click on the up arrow (see red circle) and the page scrolls up. Are you using the latest version of the XCG?

I guess it must've been fixed! I don't keep the XCG installed on my machine and only install it and test it every few months. I'll confirm when I get home and close the issue if it is fixed.

Sounds good! 👍 and thank you for taking the time to file an issue

Can confirm, has been fixed.

Ok great! Thanks!


SRP Compatibility

We used this to great effect before we upgraded to the LWRP. I think that the shaders are not SRP friendly and thus are not being rendered by the render pipeline.

You're correct that this library has not been updated for SRP. Currently it only supports the built-in render pipeline.

I got a similar effect to work in URP in 2019.3 by adding unique RenderPipelines per Camera in URP. What I did was set up two camera, one main and one rendering to a RT. The main one did the normal blit/sobel pass for edge and took in a texture. The second camera wrote to a RenderTexture and has a custom render pass that rendered whatever renderers were passed to it with an override mat that just did a unlit color pass. Then the sobel shader would get that texture (a frame behind) and check to see if there was color data, and then change the edge color based on that.

That sounds very cool. Would you consider open sourcing your implementation?

I'll make a branch this weekend with it

I'll make a branch this weekend with it

I've been trying to port this effect to URP with no success. I've also tried porting the Outline effect from https://github.com/alelievr/HDRP-Custom-Passes , but can't seem to make it work. Do you still plan to share your fork?

Yes! Sorry, I realized my way was very inefficient. I can still try and share it. I've been working on another method that uses extra render data.

Here's my current progress, the blit isn't working for some reason in this branch, will look into it more, but this is the method I was using: https://github.com/Katerpilet/Outline-Effect/tree/multi_camera_outline
Multiple layers could help fix it

Thanks for sharing! I'll take a look at this when I have the time :)


feat: Allow entering agenda text directly

Fixes #6532

For whatever reason (because I don't know javascript), the script that shows the appropriate file/text input box (taken from complete-review.js) doesn't hide the label of the hidden field.

For whatever reason (because I don't know javascript), the script that shows the appropriate file/text input box (taken from complete-review.js) doesn't hide the label of the hidden field.

The issue is that the bootstrap_form call is rendering the fields like (paraphrasing)

  Agenda text
  <textarea id="id_content" name="content" ...></textarea>

and you are selecting for [name="content"], which selects only the <textarea/>.
Easiest thing to do is to change line 54 of the template to var row = form.find(selector).parent(); so you hide the whole
...
 wrapper.  It's somewhat fragile, but I don't see a way to more directly label and select the wrapper
.
Also, not sure if you're ready for review, but the JS code should go in its own module like is done for complete-review.js so that it can be packaged properly.

var row = form.find(selector).parent();

Thanks, that was the nudge I needed.

the JS code should go in its own module like is done for complete-review.js so that it can be packaged properly.

Yeah, I just wanted to get the JS working before going through the packaging step.


Metadata filter doesn't work with Pinecone & NodeJS

Hello, sorry for the inconvenience, I am using pinecone and langchain in nestJS, I have a problem, the problem is that the metadata filtering is not working, maybe you could give me a hand, I don't know where to look anymore, I can't find any information, it turns out that the filters do not return any matches.
This way I'm storing embeddings with metadata:
const docs = await textSplitter.splitDocuments(rawDocs);
      if (metadata) {
        for (const doc of docs) {
          doc.metadata = { ...doc.metadata, metadata };
        }
      }
      const embeddings = new OpenAIEmbeddings();
      const index = this.pineConeClient.Index('uk-embeddings');

      await PineconeStore.fromDocuments(docs, embeddings, {
        pineconeIndex: index,
        textKey: 'text',
      });

In this way I'm performing the query to obtain the documents:
const index = this.pineConeClient.Index('uk-embeddings');
     const options: PineconeLibArgs = {
       namespace: 'default',
       pineconeIndex: index,
       textKey: 'text',
       filter: {
         country: { $eq: 'MEX' }
       }
     };
     const vectorStore = await PineconeStore.fromExistingIndex(
       new OpenAIEmbeddings({ modelName: 'text-embedding-ada-002' }),
       options,
     );
     const completionChain = {
       model: completion.model,
       temperature: completion.temperature,
       prompt: completion.prompt,
       prompt_qa: completion.prompt_qa,
     };
     const chain = await this.makeChain(completionChain, vectorStore);

This is my makeChain function:
const model = new ChatOpenAI({
     temperature: completionChain.temperature,
     modelName: completionChain.model,
   });
   const chain = ConversationalRetrievalQAChain.fromLLM(
     model,
     vectorStore.asRetriever(),
     {
       qaTemplate: completionChain.prompt,
       questionGeneratorTemplate: CONDENSE_TEMPLATE,
       returnSourceDocuments: true,
     },
   );
   return chain;

This is how my embeddings are stored in Pinecone:

And this is the response:

The text response is generated by openai, it is invented by the model, it is not a valid response.
Thanks for your help!

I am also having this issue


Kubeflow Dashboard -  HTTP Error 403 Forbidden

Hi!
We followed this installation guide: https://ubuntu.com/tutorials/deploy-kubeflow-ubuntu-windows-mac#1-overview
In addition, we had to find this fix to access the dashboard: https://github.com/canonical/bundle-kubeflow/issues/344#issuecomment-827936799
The strange thing is, it already worked, we already started a jupyter Notebook last Friday (30.4.2021). Actually, it worked on two different servers managed by us.
And now suddenly we get HTTP Error 403 Forbidden on both servers (which are completely independent from each other!) when trying to access the Kubeflow dashboard (without touching the servers in between). All the pods are active and running, we tried different versions of microk8s, we tried completely reinstalling it and we also tried other installation guides (https://www.kubeflow.org/docs/distributions/microk8s/kubeflow-on-microk8s/), but nothing helped. We are running Ubuntu 20.04 and we are not even able to access the dashboard locally from the server (via wget for example), so in our opinion this shouldn't be a networking problem.

I can confirm this. I have the same error.

Have you been able to resolve this issue? We‘re still working on it, but no luck so far!

It seems like xip.io is not available anymore, we are currently working on a fix.

Is there are workaround to just not use xip.io for a while locally?
That would help a lot!

Just in case anyone else is having this issue, the following installation guide (which apparently does not rely on xip.io) worked for us: https://github.com/kubeflow/manifests#install-with-a-single-command

Sorry, I didn't see the last question, if you just substitute xip.io with nip.io everything should work fine. We are currently working on changing our docs.

I have installed microk8s successfully on an Ubuntu AWS Instance and enabled kubeflow as well.
The dashboard credentials are displayed.
Have tunneled my way to port 9999, using SSH.
When trying to access the kuberflow dashboard IP, the webpage (Dashboard) doesn't load up and throws a 403 error.
How can I fix this issue so I can access my dashboard? Any help and assistance is appreciated.
Regards.

There was an issue with dex-auth that has been fixed in the latest bundle which is available on the latest/edge microk8s channel

There was an issue with dex-auth that has been fixed in the latest bundle which is available on the latest/edge microk8s channel

So we tried the latest/edge microk8s channel.
All the pods seem to be running correctly. The URL http://<IP_ADDRESS>.nip.io/ has generated again. When accessing the URL, the login page loads correctly. After the credentials are entered, the page goes blank again and encounters '403' error.
Any advice on overcoming this?
Regards.

You might consider upgrading to 1.3: https://github.com/ubuntu/microk8s/issues/2253#issuecomment-838158746


update toc of pipelineruns.md

https://github.com/tektoncd/pipeline/blob/main/docs/pipelineruns.md has an outdated ToC.
Please update it to include:

Move Specifying Resources to the same level as Specifying Parameters.
Add missing titles (1) Implicit Parameters (2) Gracefully*

Add  and  tags for inplace ToC updates in the future such as:
mdtoc --inplace docs/pipelineruns.md

/kind documentation
/good-first-issue

may i take this?

yes please, thank you @koneko096. 🙏  Please let me know if you need any help with this.


Language model example cannot use fairseq-generate

🐛 Bug

Language model example fails when using fairseq-generate.
To Reproduce
Follow https://github.com/pytorch/fairseq/blob/master/examples/language_model/README.md
Then, use generate command as follows:
fairseq-generate output/data-bin/$DATASET --task language_modeling --path output/models/$EXP/checkpoint_best.pt  --sampling  --beam 1 --sampling-topk 2 --temperature 1

It says
Traceback (most recent call last):
  File "tools/fairseq/fairseq_cli/generate.py", line 278, in <module>
    cli_main()
  File "tools/fairseq/fairseq_cli/generate.py", line 274, in cli_main
    main(args)
  File "tools/fairseq/fairseq_cli/generate.py", line 38, in main
    return _main(args, sys.stdout)
  File "tools/fairseq/fairseq_cli/generate.py", line 108, in _main
    num_workers=args.num_workers,
  File "/me/tools/fairseq/fairseq/tasks/fairseq_task.py", line 176, in get_batch_iterator
    raise_exception=(not ignore_invalid_inputs),
  File "/me/tools/fairseq/fairseq/data/data_utils.py", line 199, in filter_by_size
    ).format(ignored[0], dataset.size(ignored[0]), max_positions))
Exception: Size of sample #18 is invalid (=788) since max_positions=512, skip this example with --skip-invalid-size-inputs-valid-test

Then, I add --skip-invalid-size-inputs-valid-test to the command and it says:
Traceback (most recent call last):
  File "tools/fairseq/fairseq_cli/generate.py", line 278, in <module>
    cli_main()
  File "tools/fairseq/fairseq_cli/generate.py", line 274, in cli_main
    main(args)
  File "tools/fairseq/fairseq_cli/generate.py", line 38, in main
    return _main(args, sys.stdout)
  File "tools/fairseq/fairseq_cli/generate.py", line 259, in _main
    num_sentences, gen_timer.n, gen_timer.sum, num_sentences / gen_timer.sum, 1. / gen_timer.avg))
ZeroDivisionError: division by zero

How can I use fairseq-generate to generate a language model sentence?

Code sample

Expected behavior

It is expected to generate some senntences.
Environment

fairseq Version (e.g., 1.0 or master): master
PyTorch Version (e.g., 1.0)  1.5.1
OS (e.g., Linux): CentOS
How you installed fairseq (pip, source): pip
Build command you used (if compiling from source):
Python version: 3.7.7
CUDA/cuDNN version: 10.2
GPU models and configuration: 1080ti
Any other relevant information:

Additional context

Is your entire test set full of examples that are longer than 512 tokens? If so, I guess fairseq-generate (with the --skip-invalid-size-inputs-valid-test option) is filtering all test data, which causes the error.
I can fix the error, but it won't fix your problem. You'll need to dig into your data a bit more and see why the samples are so long.

🐛 Bug
Language model example fails when using fairseq-generate.
To Reproduce
Follow https://github.com/pytorch/fairseq/blob/master/examples/language_model/README.md
Then, use generate command as follows:
fairseq-generate output/data-bin/$DATASET --task language_modeling --path output/models/$EXP/checkpoint_best.pt  --sampling  --beam 1 --sampling-topk 2 --temperature 1

It says
Traceback (most recent call last):
  File "tools/fairseq/fairseq_cli/generate.py", line 278, in <module>
    cli_main()
  File "tools/fairseq/fairseq_cli/generate.py", line 274, in cli_main
    main(args)
  File "tools/fairseq/fairseq_cli/generate.py", line 38, in main
    return _main(args, sys.stdout)
  File "tools/fairseq/fairseq_cli/generate.py", line 108, in _main
    num_workers=args.num_workers,
  File "/me/tools/fairseq/fairseq/tasks/fairseq_task.py", line 176, in get_batch_iterator
    raise_exception=(not ignore_invalid_inputs),
  File "/me/tools/fairseq/fairseq/data/data_utils.py", line 199, in filter_by_size
    ).format(ignored[0], dataset.size(ignored[0]), max_positions))
Exception: Size of sample #18 is invalid (=788) since max_positions=512, skip this example with --skip-invalid-size-inputs-valid-test

Then, I add --skip-invalid-size-inputs-valid-test to the command and it says:
Traceback (most recent call last):
  File "tools/fairseq/fairseq_cli/generate.py", line 278, in <module>
    cli_main()
  File "tools/fairseq/fairseq_cli/generate.py", line 274, in cli_main
    main(args)
  File "tools/fairseq/fairseq_cli/generate.py", line 38, in main
    return _main(args, sys.stdout)
  File "tools/fairseq/fairseq_cli/generate.py", line 259, in _main
    num_sentences, gen_timer.n, gen_timer.sum, num_sentences / gen_timer.sum, 1. / gen_timer.avg))
ZeroDivisionError: division by zero

How can I use fairseq-generate to generate a language model sentence?
Code sample
Expected behavior
It is expected to generate some senntences.
Environment

fairseq Version (e.g., 1.0 or master): master
PyTorch Version (e.g., 1.0)  1.5.1
OS (e.g., Linux): CentOS
How you installed fairseq (pip, source): pip
Build command you used (if compiling from source):
Python version: 3.7.7
CUDA/cuDNN version: 10.2
GPU models and configuration: 1080ti
Any other relevant information:

Additional context

I am facing the same issue for abstractive summarization using prophetnet model which uses fairseq-generate.
Please help

@myleott Thanks for your answer. I want to use language model to generate text in batch not only evaluate.

@fuzihaofzh I am facing the same issue. Have you solved this problem? Thanks.

I am facing the same issue. I am done with evaluation, and would like to generate. Any solution yet?


⚠ Bofrost.at has degraded performance

In 077be07, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1648 ms

Resolved: Bofrost.at performance has improved in 71cf34f.


rkt list and rkt list image should use --full flag consistantly

Currently the rkt list command shows the UUID in its short form by default with the option to show the longer version by adding a --full parameter .
The rkt image list command on the other hand shows a long hash in its output with no option to shorten or lengthen.
I'd like to see the rkt image list command show a shorter version, maybe without the prepended "sha512-", but a "--full" option to show it in its long form.

The following commands would need to be updated to accept the shorter version of the hash
[] rkt
[] rkt
[] rkt
[] rkt


Article incorrect

Required parameters for create is not correct.  When I run my script with minimum parameters, it returns:
ValidationError: Parameter 'MetricAlertResource.description' can not be None.
Is this page updated to latest?
When I added description, it now returns:
The following metric name(s) were not found: Percentage CPU. Please note that for custom metrics, the relevant metric namespace must be specified. Activity ID: aa4a6469-da70-4410-80bd-1f245b836263.. [Code: "BadRequest"]
Here is my script command text:
az monitor metrics alert create -g "[redacted]" -n "Test"
--scopes "[redacted]"
--action "[redacted]"
--description "Paul is testing the az cli script creation"
--condition "avg Percentage CPU > 90"

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

ID: d97968df-72c9-e50c-d5b1-54562c1bdef7
Version Independent ID: 0cde4f15-6464-3106-b787-3ee37c7de0ee
Content: az monitor metrics alert
Content Source: latest/docs-ref-autogen/monitor/metrics/alert.yml
Service: monitoring-and-diagnostics
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

monitor

So here's the thing.  The condition must be constructed using a string that is based on the available metrics for that target resource.  If the docs say this, then I apologize for raising this issue.   The provided examples don't work but I was able to figure out the logic.


Globalization Invariant Mode is not supported.

Application startup exception: System.NotSupportedException: Globalization Invariant Mode is not supported.
   at Microsoft.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
   at Microsoft.Data.SqlClient.SqlConnection.Open()
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnection(Boolean errorsExpected)
   at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected)
   at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerDatabaseCreator.<>c__DisplayClass18_0.<Exists>b__0(DateTime giveUp)
   at Microsoft.EntityFrameworkCore.ExecutionStrategyExtensions.<>c__DisplayClass12_0`2.<Execute>b__0(DbContext c, TState s)
   at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
   at Microsoft.EntityFrameworkCore.ExecutionStrategyExtensions.Execute[TState,TResult](IExecutionStrategy strategy, Func`2 operation, Func`2 verifySucceeded, TState state)
   at Microsoft.EntityFrameworkCore.ExecutionStrategyExtensions.Execute[TState,TResult](IExecutionStrategy strategy, TState state, Func`2 operation)
   at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerDatabaseCreator.Exists(Boolean retryOnNotExists)
   at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerDatabaseCreator.Exists()
   at Microsoft.EntityFrameworkCore.Storage.RelationalDatabaseCreator.EnsureCreated()
   at Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade.EnsureCreated()

Additional context
Microsoft.EntityFrameworkCore.SqlServer 3.0.0
Microsoft.Data.Sqlite version: 1.0.19249.1
Target framework: (.NET Core 3.0)
Operating system: Docker Alpine

fixed with
RUN apk add icu-libs
# https://www.abhith.net/blog/docker-sql-error-on-aspnet-core-alpine/
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false

more details: https://www.abhith.net/blog/docker-sql-error-on-aspnet-core-alpine/
reference sample project: https://github.com/WeihanLi/ActivityReservation

We just ran into the same issue with a container that was converted from .NET Core v2.2 with EntityFrameworkCore v2.2.6. Now running .NET Core 3 + EFCore v3 and we get this error after deploying a container.
As such it seems something changed. For now I'll add the above fix.

Ouch, can you submit an issue on dotnet/SqlClient to see if there's anything they can do to relax this limitation? Being broken on the docker image by default sounds like a pretty bad experience.


Improve Tween infinite loop detection

Regression from #57372
This is a perfectly valid code:
var tween := create_tween().set_loops()
tween.tween_interval(0.1)
tween.tween_callback(func(): print("test"))

Previously it would be detected as infinite loop, because the second step has 0 time and the loop detection worked for Tween step. I changed the detection to work for the whole update and only trigger when the Tween actually looped during the step. Twice, to be sure.

Thanks!

Cherry-picked for 3.5.


[$250] Track – Setting expense to unreported in OldDot turn the expense in workspace chat to 0.00

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.24-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4887079&group_by=cases:section_id&group_order=asc&group_id=309130
Email or phone of affected tester (no customers<EMAIL_ADDRESS>**Issue reported by:**Applause - Internal Team
Action Performed:
Precondition:

In OldDot - Create an unreported transaction on OldDot
Verify that it shows up on the self-DM in NewDot
In OldDot - add the transaction to a report
Verify it is removed from the self-DM in DM and send to Workspace chat
In OldDot - make the transaction unreported again

Expected Result:
Transaction should be removed from workspace chat and send to self-DM chat again
Actual Result:
Same transaction is present on self-DM chat and workspace chat
Sometimes the transaction in workspace chat appears with amount set to 0.00
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/d8ff2715-3aa8-46fb-a165-fba740c7808e
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~018a4221d84dcbfb8b
Upwork Job ID:<PHONE_NUMBER>895122660
Last Price Increase: 2024-09-05

@johncschuster  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

I believe it's part of https://github.com/Expensify/App/issues/46287

Raised in Slack. Keeping at a lower priority while we focus on higher urgency items.

Hi, I am Michael (Mykhailo) from Callstack, an expert agency and I can work on this issue.

I am testing the bug.

I've completed the testing. I can confirm that it is a backend bug. There are 2 places to fix:

Pusher: it does not send updates when the user makes the transaction unreported again. Neither the workspace chat nor the self-DM chat receives updates with added/removed expenses.
The backend does not remove unreported transactions from the workspace chat. The backend still includes the transactions and successfully fetches its reports. Also, it duplicates report actions if the user makes the transaction reported again.

We need an internal engineer here 🙂
https://github.com/user-attachments/assets/68898e80-3a63-4b6e-b825-5bc7f88f65e9
cc @johncschuster

Amazing. Tanks for doing that, @rezkiy37! @dylanexpensify beat me to it, and has applied the Internal label. We'll get someone on this ASAP!

@dylanexpensify can you help me prioritize this internally?

Chatted in Slack about this one. We agree this is still worth fixing, but it's currently a lower priority while we focus on more urgent things.

Issue not reproducible during KI retests. (First week)

Great! Let's wait one more week. If not reproducible, we can close the issue.

We need a retest on this, but it looks like we should wait until the next deploy

I just retested this and it's very reproducible.

In OldDot - Create an unreported transaction on OldDot
Verify that it shows up on the self-DM in NewDot

👍

In OldDot - add the transaction to a report

Personal DM lastMessageText is wrong. Also, should the Workspace Chat say tracked $666.00 ?
When I refresh the page this is what I see...

Note: The expense on the Workspace chat also still says "Unreported" - which is another thing to fix.

Which seems correct 👍

In OldDot - make the transaction unreported again
Transaction should be removed from workspace chat and send to self-DM chat again

Yes, well, this doesn't happen. In fact, nothing happens.

But when you refresh the page we get this:

I think what we should do is break this up into a few separate tasks and address each one at a time.

Oh there's also this other bug...
Loading state shown incorrectly

Create a new account in NewDot
Create a workspace
Sign in on OldDot
Create an unreported expense
Verify that the expense shows in the self DM in NewDot
💥 we see a loading indicator...

Why it happens...
The transaction itself appears to not get sent to the client...

Curious if we have an issue for that yet...

Adding unreported transaction to report

Add unreported transaction to report in OldDot
Verify that it is removed from the selfDM lastMessageText
Verify that it is moved to the Workspace Chat
Verify the Workspace Chat text says "tracking $total” and not “tracked”
Verify the Workspace shows the correct report preview
Verify that the transaction no longer says “Unreported”.

[ ] TODO

Removing previously reported transaction by marking it as unreported

Remove reported transaction by unreporting it in OldDot
Verify that it is removed from the Workspace Chat and lastMessageText updated correctly
Verify that it is moved to the selfDM and lastMessageText updated correctly
Verify the Self DM LHN says “tracked $total” and not “tracking $total”
Verify the Workspace shows the empty state again
Verify that the transaction shows in the Self DM and says “Unreported”

[ ] TODO

Checking into some more stuff on the backend for this one...
It looks we do set the money request report preview with an update like this:
{
    "key": "reportActions_1229374452552951",
    "onyxMethod": "merge",
    "value": {
        "5017207174434834948": {
            "message": [
                {
                    "deleted": "2024-10-16 02:00:57.518",
                    "type": "TEXT"
                }
            ],
            "originalMessage": {
                "deleted": "2024-10-16 02:00:57.518"
            }
        }
    }

Though, in my local testing the issue persists. The LHN text also remains out of date even though the update appears to get queued from the backend.
Spent many hours with this. This flow is a bit complex and very broken so it may take some more time to figure it all out.

One problem appears to be while updates are queued in Auth they are never returned to the web API so that they can be sent in realtime.
Even if we start queuing the correct updates the user won't see them until they take some action. Asked in Slack if this is expected as I have not worked much on a compatibility issue like this before.

Ok, I found a bug that was preventing the updates from being sent. We are still needing some additional data to fix this flow however. Some updates look incomplete or broken according to my testing.

I'll try to pick this up again soon. The effort to fix it is quite high. I think it would have been less if we had considered this during the implementation phase. This is more of a "New Feature" than a "Bug".

Bumping this for Melv 👍

@marcaaron can I get a sense check on this one? How's this one going?

Not great tbh. Very complex and honestly kind of a pain for what we get in return. I think we should make it a Monthly or reconsider whether it needs to be a near term priority.

No worries! Thanks for the update! I'll go ahead and bump this to Monthly right now, and will raise a discussion tomorrow.

I am removing hot pick from any issues with an internal engineer assigned so other engineers can know it's available.

And I don't think I'm going to be able to finish this one with all the other things on my plate so gonna remove myself to not become a blocker here and will add the label back.


We are interested in your project

Hi elmawardy!
I was just looking around Github and notice your project on Covid-19 and thought it was great! I would like to introduce you to our online hackathon on fighting COVID-19. We currently  have more than 300 participants from all around the world with the winner receiving 500nz dollars. Anyone who has a project relating to covid 19 can join our hackathon, and you will need to submit your work before the 20th of April. The winner will be decided through reviews and ratings given by other developers within our skillsme community during the rating period, and the result will be released on the 27th of April. The ratings will be based on 6 parameters: Completeness, Functionality, Originality, Complexity, Uniqueness, and Maintainable. To join our hackathon, you can either upload your portfilio or use your Github Public Repo link directly. Our hackathon is looking forward to your participation!
If you are interested, feel free to join and post your project on our platform.
For more details and the way to join our Hackathon and also our code of conducts, please check the link below:
https://www.skillsme.co.nz/skillsme-online-hackathon.html

Hi skillsmehack !
Thank you for reaching out , this sounds very interesting , I will be working on participation inshAllah. :)
Best regards.

I tried to create a portfolio however it gives me "Unknown error" after submitting the form .
Maybe it's because of this https://app.skillsme.co.nz/api/portfolio page 404 response .
Regards

Hi Amr,
Thanks for your message.
We have received your portfolio but it seems that our system failed to
receive the 'How To Use' and 'Expected Result' part introduction. We
believe that is because of a bug.
We will check on that and get back to you as soon as possible. Also could
you please send us your 'How To Use' and 'Expected Result' so we can add
them back to your portfolio?
Best Regards,
Skillsme Team
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
Virus-free.
www.avast.com
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Mon, 13 Apr 2020 at 15:34, Amr M. Elmawardy<EMAIL_ADDRESS>wrote:

I tried to create a portfolio however it gives me "Unknown error" after
submitting the form .
Maybe it's because of this https://app.skillsme.co.nz/api/portfolio page
404 response .
Regards
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/elmawardy/covid19besiege/issues/1#issuecomment-612734419,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APA5BZDCJIQA2TRVBLWB4K3RMKB6BANCNFSM4MGHUKEQ
.

--
This email (including any attachments) is sent for the personal attention
of the addressee(s).  The message is CONFIDENTIAL and PREVILEGED or
otherwise protected from disclosure.  Dissemination, distribution, or
copying of this message or any of its information by any one other than the
intended recipient is prohibited.  If you are not the intended recipient,
please notify the sender immediately by returning this email and delete it
from your system. Thank You.

Hi Amr,
That bug about the 'How To Use' and 'Expected Result' is fixed, but the
https://app.skillsme.co.nz/api/portfolio works normally on our browser.
Could you help us confirm if that page is still 404? We would be
appreciated for your help.
Sincerely,
Skillsme Team
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
Virus-free.
www.avast.com
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Mon, 13 Apr 2020 at 15:57, Skillsme New Zealand<EMAIL_ADDRESS>wrote:

Hi Amr,
Thanks for your message.
We have received your portfolio but it seems that our system failed to
receive the 'How To Use' and 'Expected Result' part introduction. We
believe that is because of a bug.
We will check on that and get back to you as soon as possible. Also could
you please send us your 'How To Use' and 'Expected Result' so we can add
them back to your portfolio?
Best Regards,
Skillsme Team
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail Virus-free.
www.avast.com
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
<#m_1166303796067629773_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Mon, 13 Apr 2020 at 15:34, Amr M. Elmawardy<EMAIL_ADDRESS>wrote:

I tried to create a portfolio however it gives me "Unknown error" after
submitting the form .
Maybe it's because of this https://app.skillsme.co.nz/api/portfolio page
404 response .
Regards
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/elmawardy/covid19besiege/issues/1#issuecomment-612734419,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APA5BZDCJIQA2TRVBLWB4K3RMKB6BANCNFSM4MGHUKEQ
.

--
This email (including any attachments) is sent for the personal attention
of the addressee(s).  The message is CONFIDENTIAL and PREVILEGED or
otherwise protected from disclosure.  Dissemination, distribution, or
copying of this message or any of its information by any one other than the
intended recipient is prohibited.  If you are not the intended recipient,
please notify the sender immediately by returning this email and delete it
from your system. Thank You.

--
This email (including any attachments) is sent for the personal attention
of the addressee(s).  The message is CONFIDENTIAL and PREVILEGED or
otherwise protected from disclosure.  Dissemination, distribution, or
copying of this message or any of its information by any one other than the
intended recipient is prohibited.  If you are not the intended recipient,
please notify the sender immediately by returning this email and delete it
from your system. Thank You.

Hi skillsmehack ,
I've tried again to resubmit however the issue persists , regarding the 404 URL , it appears in the devtools of chrome

anyways here's my   'How To Use' and 'Expected Result'  answers :
'How To Use' :

Well the app UI is pretty intuitive , it just has 3 tabs
1 - shows nearby devices
2-  shows history of contacts
3-  shows statistics
Statistics page is just a web view that fetches global statistics from those apis
https://privacypolicytemplate.net
https://app-privacy-policy-generator.firebaseapp.com/

you can find a gif on the github repo that demonstrates the app

'Expected Result'

Contribution

Best regards

Hi Amr,
Sorry for the inconvenience it brings you. I tried with my Chrome but it
still works well. If there's any further information about the portfolio
submission issue, please let us know.
We have just updated your portfolio with the information you provided. Just
to make sure, is the 'Expected Result' only have the word 'Contribution'?
Sorry again for the issue, and we wish you a great day.
Sincerely,
Skillsme Team
On Wed, 15 Apr 2020 at 08:15, Amr M. Elmawardy<EMAIL_ADDRESS>wrote:

Hi skillsmehack ,
I've tried again to resubmit however the issue persists , regarding the
404 URL , it appears in the devtools of chrome
[image: image]
https://user-images.githubusercontent.com/22121929/79269480-ceef2b00-7e9c-11ea-9ed2-3467e08f26a7.png
anyways here's my 'How To Use' and 'Expected Result' answers :
'How To Use' :

Well the app UI is pretty intuitive , it just has 3 tabs
1 - shows nearby devices
2- shows history of contacts
3- shows statistics
Statistics page is just a web view that fetches global statistics from
those apis
https://privacypolicytemplate.net
https://app-privacy-policy-generator.firebaseapp.com/

you can find a gif on the github repo that demonstrates the app

'Expected Result'

Contribution

Best regards
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/elmawardy/covid19besiege/issues/1#issuecomment-613658203,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APA5BZHPKS3V7KQXZBN6MO3RMS74NANCNFSM4MGHUKEQ
.

--
This email (including any attachments) is sent for the personal attention
of the addressee(s).  The message is CONFIDENTIAL and PREVILEGED or
otherwise protected from disclosure.  Dissemination, distribution, or
copying of this message or any of its information by any one other than the
intended recipient is prohibited.  If you are not the intended recipient,
please notify the sender immediately by returning this email and delete it
from your system. Thank You.

Thank you for your response , yes "any contribution from anyone who has an idea or work that can make a positive impact is very welcomed" , you can write this sentence or just "Contribution"
Thank you for your cooperation.
Wish you a nice day!
Sincerely,
Amr Mohammad Elmawardy


[5.3] Added missing notification dependency

TBH, I think it's a bit overkill to load this package in anyway. Maybe just put it in suggest everywhere?


RFE: Add ability to use swipe gesture to go to next or previous step

The BACK / NEXT button provide the default mechanism to go to the previous / next steps. It would be a usability improvement if a swipe left / right gesture do the same.

Hi,
This is actually disabled on purpose so that you can only go the next step if it's verified.

If however you wish to enable this in your app, you would need to remove onInterceptTouchEvent and onTouchEvent methods from StepViewPager and mPager.setOnTouchListener from StepperLayout#init().
However, I don't think this is a pattern used by any of the steppers I've seen.