Fix for a HTTP Error 400: BAD_REQUEST

Calling
baseriotapi.get_summoners_by_name('sir killerlord')
Generates
https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/sir killerlord?api_key=
Error
Traceback (most recent call last):
File "/Cassiopeia/cassiopeia/dto/requests.py", line 64, in get
content = rate_limiter.call(executeRequest, url) if rate_limiter else executeRequest(url)
File "/Cassiopeia/cassiopeia/type/api/rates.py", line 109, in call
return method(*args)
File "/Cassiopeia/cassiopeia/dto/requests.py", line 90, in executeRequest
response = urllib.request.urlopen(url)
File "/usr/lib/python3.4/urllib/request.py", line 153, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.4/urllib/request.py", line 461, in open
response = meth(req, response)
File "/usr/lib/python3.4/urllib/request.py", line 571, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python3.4/urllib/request.py", line 499, in error
return self._call_chain(*args)
File "/usr/lib/python3.4/urllib/request.py", line 433, in _call_chain
result = func(*args)
File "/usr/lib/python3.4/urllib/request.py", line 579, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: BAD_REQUEST
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tests/tier_test.py", line 55, in test_riotapibroken
baseriotapi.get_summoners_by_name('sir killerlord')
File "/Cassiopeia/cassiopeia/dto/summonerapi.py", line 19, in get_summoners_by_name
response = cassiopeia.dto.requests.get(request)
File "/Cassiopeia/cassiopeia/dto/requests.py", line 76, in get
raise cassiopeia.type.api.exception.APIError("Server returned error {code} on call: {url}".format(code=e.code, url=url), e.code)
cassiopeia.type.api.exception.APIError: Server returned error 400 on call: https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/sir killerlord?api_key=
Removing the space fixes the problem

Reverted this merge. The baseriotapi is intended to match the Riot API specification exactly - Sanitization of inputs is expected to be handled by the user.

Actually, the current behaviour is different from the official riot api.
[https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/sir killerlord?api_key=](https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/sir killerlord?api_key=) is a valid url for riot api and gives the right result.
My fix is for a shortcoming of urllib. This is proved by
In[1]: import requests
In[2]: r = requests.get('https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/sir killerlord?api_key=')
In[3]: r.status_code
Out[3]: 200
In[4]: r.content
Out[4]: b'{"sirkillerlord":{"id":26191711,"name":"Sir Killerlord","profileIconId":28,"summonerLevel":30,"revisionDate":1442319516000}}'

Here the same thing in url
In[16]: urllib.request.quote('https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/sir killerlord?api_key=', '/:?=')
Out[16]: 'https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/sir%20killerlord?api_key='
In[17]: resp = urllib.request.urlopen(urllib.request.quote('https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/sir killerlord?api_key=', '/:?='))
In[18]: resp.read()
Out[18]: b'{"sirkillerlord":{"id":26191711,"name":"Sir Killerlord","profileIconId":28,"summonerLevel":30,"revisionDate":1442319516000}}'

And here a sanitized url to test in browser
https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/sir killerlord?api_key=

Alrighty, I think I'm convinced that this could be considered strictly meeting the API. I've moved the logic from core to dto for this.


Rename member function IsNeedsAck to NeedsAck in payloadHeader

Problem
The convention should be that the code should read like text, ideally. The needs ack case as currently defined ends up reading as "this payload header is needs ack", which is not very good English. "this payload header needs ack" is closer to what one would actually say.
Proposed Solution
Rename member function IsNeedsAck to NeedsAck in payloadHeader

@yufengwangca how does this interact with https://github.com/project-chip/connectedhomeip/issues/4083?

They are not relevant,  this function indicates if an incoming message needs ack, #4083 indicates if the incoming message contains ack info.


Update member: Denny Sunarjo

Coverage remained the same at 92.159% when pulling d8179fd8cd8c036d52ad908eb6cc88ae15d824f3 on sunarjo-denny:details-denny into 125aa6ba57a23ae28f02a1bdc8b449fed6f4a246 on CS2103-F11-B4:master.

Looks good - will proceed to merge.


chore: update gulp related old dependencies

Update some dependencies that are too old

Note: https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5

Thanks, @Neil-Ni!


fix: set default tmp dir for biowulf & frce

Changes
Automatically set it to lscratch/$SLURM_JOBID on biowulf or out Still allow users to override the default by setting --tmp-dir` on the CLI.
Issues

Fixes #79

Testing

[ ] biowulf
[ ] frce

without tmp-dir flag on either platform
#!/usr/bin/env bash
RENEE_DIR=/mnt/projects/CCBR-Pipelines/pipelines/RENEE/renee-dev-sovacool
WORKDIR=/scratch/cluster_scratch/$USER/renee_test_v2.5.11
rm -rf $WORKDIR

module load singularity
$RENEE_DIR/bin/renee run \
	--input $RENEE_DIR/.tests/*.R?.fastq.gz \
	--output $WORKDIR \
	--genome hg38_30 \
	--mode slurm \
	--sif-cache /mnt/projects/CCBR-Pipelines/SIFs

PR Checklist
(~Strikethrough~ any points that are not applicable.)

[x] This comment contains a description of changes with justifications, with any relevant issues linked.
[x] Update docs if there are any API changes.
[x] Update CHANGELOG.md with a short description of any user-facing changes and reference the PR number. Guidelines: https://keepachangelog.com/en/1.1.0/

There's a typo in your description changes - can you add the default for force? (right now it says 'out', above)

This works for me now on both biowulf and frce, just waiting on @slsevilla's test to complete successfully too.


stm32L4s5 disco kit has ospi for quad Nor-flash access

Add the support of the OCTOSPI peripheral to the stm32L4 plus serie
The stm32L4S5 serie has two octospi peripherals with in octospiM to multiplex IO pins.
See the stm32L4S5  refman RM0432  quad NOR-flash
The stm32l4s5r disco_kit b_l4s5i_iot01a  has a MX25R6435F quad NOR-flash.
On the b_l4s5i_iot01a  board, the NOR flash is connected on 4 SPI IO lines and uses the QUAD-SPI mode to transfer data over the octospi1 peripheral.
The DMA (through DMAMUX) is enabled to operate transfer on the octoSPI bus.
Requires https://github.com/zephyrproject-rtos/zephyr/pull/47962  for jedec SDFP support
Fixes https://github.com/zephyrproject-rtos/zephyr/issues/52276
Signed-off-by: Francois Ramu<EMAIL_ADDRESS>

Requires https://github.com/zephyrproject-rtos/zephyr/pull/47962  support to be merged

Rebase after merge of SFDP support
Adapt the flash ospi driver for the stm32l4plus (stm32l4Rx, stm32l4Sx, stm32l4Px, stm32l4Qx)
Tested on b_l4s5i_iot01a the disco  kit in the SPI, DUAL, QUAD (STR transfer rate) modes with or without DMA transfer.
The writeopcode is "writeoc="PP_1_4_4" or "PP" both are supported by the NOR octoflash.
The spi max freq must be limited to 26MHz to fit the octospi characteristics (see  DS12024)

running the west build -p auto -b b_l4s5i_iot01a samples/drivers/spi_flash
ospi-nor-flash@0 SPI flash testing
==========================

Test 1: Flash erase
Flash erase succeeded!

Test 2: Flash write
Attempting to write 4 bytes
Data read matches data written. Good!!

I think there may still be an issue related to the flash addressing. I am not able to successfully read from the external flash memory if the partition size is greater than 4 MB. I am hitting this issue using code very similar to the littlefs sample. I can open a new issue if you'd like. @FRASTM @GeorgeCGV
[00:00:00.905,000] <err> flash_stm32_ospi: Error: address or size exceeds expected values: addr 0x3f2000, size 16
[00:00:00.905,000] <err> fs: failed to create directory (-22)

Created an issue to track this, linked above.


Resources: link all Monero Project VRPs, isolate website VRP

Refs https://github.com/monero-project/monero-site/pull/282#issuecomment-323842380.

Please hold on merging until https://github.com/monero-project/meta/pull/116 is merged and I rebase this PR accordingly. Thank you.

Merged 116 - plz rebase

@fluffypony rebased.


Add eslint and fix style issues

This is to make code style consistent with nearlib

I thought in Javascript/Typescript people prefer 2 space indentation.

a lot of peeps prefer that way, but that's been mostly driven by callback hell era (before async / await) when stuff had to be super-nested.


Fix cargo setup

Previously:

script/setup -f was deleting all cargo test files
the app wouldn't compile (missing [[bin]] section)

:wave: Thanks for tackling this!  The changes don't look like an issue, but would you happen to know if the issue this is fixing is due to changed behavior in newer versions of cargo?  The setup script and the test fixtures used to work 😅

script/setup -f deleting cargo fixture files I believe was always the issue. It was removing all files but those with *app* in their name - and there were no such files 😅 I think it was just a copy-and-paste mistake, the line was most likely borrowed from https://github.com/github/licensed/blob/master/script/source-setup/cabal#L16-L16
The compiling issue, turns out, not an issue! 😃 I was fooled by an error message I got when still trying to fix the setup script. I now removed that part of the change.

script/setup -f deleting cargo fixture files I believe was always an issue. It was removing all files but those with app in their name - and there were no such files 😅 I think it was just a copy-and-paste mistake, the line was most likely borrowed from https://github.com/github/licensed/blob/master/script/source-setup/cabal#L16-L16

🤦 oh, yup.  Thanks for catching and fixing 🙇

Looks good, I'm ignoring the non-blocking cached license failure workflow, which is due to the token not being available on PRs from forks.


various cleanups, pythonPackages.uproot3: 3.14.2 -> 3.14.4, pythonPackages.hstspreload: 2020.12.22 -> 2021.2.1, python39Packages.pandas: fix python 3.9

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

All build errors are already on target branch.


extract_gapps_pico.sh lzip error

When trying to execute extract_gapps_pico.sh, this happens

tried to install lzip again and it worked


Updating HA in Canton

Addressing Soren's comments from previous PR 167
Diagrams still need to be updated.

LGTM but I don't know the subject well enough, so I'll let @soren-da stamp.
Do we want to propagate those changes to 2.6? (once they're finalized; no need to double the work while we're still tweaking things)

LGTM but I don't know the subject well enough, so I'll let @soren-da stamp.
Do we want to propagate those changes to 2.6? (once they're finalized; no need to double the work while we're still tweaking things)

I believe so, yeah.


Complete WP brief

See https://lsst-uk.atlassian.net/wiki/spaces/LUSC/pages/3190685702/Brief+for+Phase+C+WP3.8.2+Galaxy+clustering+infrastructure+Oxford+Imperial

07/AUG/23

this is not urgent and can wait until Tom starts

30/NOV/23

contents updated as agreed at 07/NOV/23 meeting and closed on 30/NOV/23


[Blueprints, 02-at-scale]: Velero: Complete Recommendation from CloudBees

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

What is the outcome that you are trying to reach?
https://docs.cloudbees.com/docs/cloudbees-ci/latest/backup-restore/velero-dr

[X] Use the OSS inject-metadata-velero-plugin to automatically set the RESTORED_FROM_BACKUP environment variable during a restore operation.
[x] For information on restarting builds after a restore, refer to Restarting builds after a restore.
[x] When creating a backup and a schedule, include --snapshot-volumes.
[x] For backing up the cluster-scoped resources, use --include-cluster-resources.
[x] When creating a restore, use --restore-volumes.

Describe the solution you would like

Describe alternatives you have considered

Additional context

Currenty, the velero add-on by design overrides the initContainers values with
 postrender = try(var.velero.postrender, [])
  set = concat([
    {
      name  = "initContainers"
      value = <<-EOT
        - name: velero-plugin-for-aws
          image: velero/velero-plugin-for-aws:v1.7.1
          imagePullPolicy: IfNotPresent
          volumeMounts:
            - mountPath: /target
              name: plugins
      EOT

Then it is not possible to use the inject-metadata-velero-plugin


fix(inspectedApp): read posted data structure correctly

Looks like inspectedApp wasn't processing the messages posted from ngHint properly. It was looking for properties on the root of the message that exist in a nested object.
This caused the Batarang scope tree to appear blank. Unfortunately, this doesn't seem to solve issue 192.
I've found a number of other bugs while looking at this. I'll read through the current issues on github and report if necessary.

Awesome, thanks so much!

Landed in a2b6e48c4901f3fb1d56ab271c5a8e8a5786e401


Can't open decks on page 2 of profile

When I click on decks on the second page of my profile on the desktop site, they do not open. Mobile works fine.

Looks like I had an empty deck on the second page and that caused weird behavior. Was able to delete the deck in the mobile version and now the desktop version works as expected.

Ohh, that shouldn't happen.
Was it just a deck without name and cards, that caused the issue?
It shouldn't be hard to stop it from happening again :)

Yep. No names and no cards.

Fixed with todays update :)


✨ Grouping TableNodes without Relationships into a GroupNode and Applying a New Layout Definition

Summary

I have grouped TableNodes without Relationships into a GroupNode, allowing a new layout definition to be applied.
The new layout definition arranges the Nodes in a single vertical column.

Before
After

The All Fields display seems to be corrupted. Please check this problem? @junkisai

@MH4GF @hoshinotsuyoshi

The All Fields display seems to be corrupted. Please check this problem?

I didn't notice until you pointed it out...
I'll check on it!

@junkisai
I know it's a difficult problem, but thank you in advance 🙏🏻

@MH4GF @hoshinotsuyoshi
I fixed it so that the layout works as expected even when toggling showMode!
Please review it again 🙏
https://github.com/user-attachments/assets/5b7a92ea-ede3-4c2d-958e-ab19968ef982

I have lightly tried to touch it in the preview environment, and the behavior seems fine 🙌🏻

Me too!
Could it be that nodes with similar rectangle heights are arranged close to each other? ☺  In any case, awesome!


Errors when using jasmine-marbles with Jest

Hey! So I really prefer jasmine-marbles to jest-marbles but in my current project I am seeing an issue:
node_modules/@types/jest/index.d.ts:730:15 - error TS2428: All declarations of 'Matchers' must have identical type parameters.

730     interface Matchers<R, T> {
                  ~~~~~~~~

node_modules/jasmine-marbles/index.d.ts:26:15 - error TS2428: All declarations of 'Matchers' must have identical type parameters.

26     interface Matchers<R> {
                 ~~~~~~~~

Found 2 errors.

Do you happen to know if there's an easy workaround for this?

Use jest-marbles.

Use jest-marbles.

Should be resolved in 0.7.0


Possible fix for legacy anna smt

Closes https://github.com/plugwise/plugwise-beta/issues/49
Beside more informative tests adjusted smt-detection and actually checking the smt value given by scan_thermostats

No versionbump, lets first test/review - might be a candidate for testing the semver scheme we discussed yesterday :)


Issue 9

@jennylovesreading I'd prefer a solution without joining back to the original dataframe. I suppose the issue is that the date columns get replaced with the "condensed" values.

@rileyschack Just a clarification but

Return the original DataFrame, with 2 additional columns for start/end dates

means that the original as well as the condensed dates are present.

@jennylovesreading Looks like the code needs to be formatted with black.

Thanks for working on this @jennylovesreading!


Clarify documentation around delete() method

Fixes #4591
NFC

If it does become possible, it would be a nice non-breaking enhancement.


dev: add docker smoketest

[ ] I have considered whether this PR needs review, and requested a review if necessary.

Fixes issue #
Notes for reviewers
Reviewers can skip X, but should pay attention to Y.

Current dependencies on/for this PR:

#49  👈
main

This stack of pull requests is managed by Graphite.


Don't mutate the state of objects in the store

Mutation isn't picked up as a change by redux, so the component is not re-rendered.  This allows us to stop using the state change hack

approve, but build is failing on eslint.

the build issue now appears to be with actual test failures, though it isn't clear to me at a glance whether it's just an issue of brittle/overly-implementation-dependent tests, or if there's actual functional breakage.

this PR breaks stuff.  Running from this branch, I cannot step through the nestedResource integration test steps to get to here (pic is from master branch):


The webcam is still named VirtualBox Webcam

I want to use the webcam, but the traditional usb method does not work. I have to use the webcam passthrough method. https://forums.virtualbox.org/viewtopic.php?f=8&t=74112
After use this, the webcam's name is named VirtualBox Webcam...
Seems I should consider the patching VirtualBox approach... Is threre any easy to use scripts like this?

@coreboot2 if you can supply me with the registry key or other location where web camera is called "Virtualbox Webcam"? If so I can see what I can do to help you out

@coreboot2 did you resolve this? If so can you share the registry key. It will speed up any implementation on my end =)

I took a first look (borrowed a webcam =)) at this issue, did not find an obvious way to fix this (besides modifying the source code). It's a bit sad that VBox needs to prepend everything with "VirtualBox".
That being said I will give spend some more time on this next week.

Actually it ended up being more simple then I thought, so using VirtualBox 6.x, if you skip using the command line to attach the camera (I think the docs still states that you must...), anyway boot the VM and insert the Camera (if it's USB), it should show up in the host as the model without "Virtualbox".
However if you attach it using: "VBoxManage controlvm "" webcam attach .2" , it will appear as "Virtualbox - ", confusing.
I think this have to conclude looking at webcam support for now.


recent vala should be the current vala

Issue description
Beyond the obvious bug fixes, upstream vala updates (0.32.1 being the latest) include binding and symbol updates matching latest GTK\GNOME libraries: https://github.com/GNOME/vala/commits/0.32.1
In practice, this means that vala needs to track the latest packaged gtk and glib or runtime and compile time error will occur. Already, the latest GNOME explicitly depends on 0.32 vala branch.
However, while vala itself compiles quickly enough, the whole gnome ecosystem depends on vala and will need recompilation & testing for the newer bindings.

I think @lethalman understands the vala stuff.

IIRC there used to be an argument that the major vala version should best be specified explicitly for each package.

vala version should best be specified explicitly

I'm guessing it was gnome2 vs. gnome3 conflicts. If that's the case, those should be resolved now with the removal of gnome2.
Regardless, I agree waiting for someone who actually understand Vala is best. After all, this is an issue, rather then a pull request, for a reason ;)
p.s. I'm surprised vala wasn't just baked in with the rest of gnome seeing how the whole language hangs on gobjects so they're joined at the hip...

Vala major release are often not backwards compatible. So it's not a good idea to have a "default" version of it. Minor updates are obviously not a problem.

@lethalman ok then I'll change the thesis... :D

I've PRed the deprecation of the default namespace. I kept the current versions the same so it shouldn't lead to any recompilation I hope. The idea is that next time someone touches the package, they'll be aware of the specific vala version and will try to match it to their glib of choice so the problem will sort itself out over time.

PR merged. Thanks everyone :)


Add: Apprenticeships at Barclays

Company
Apprenticeships at Barclays
Description
Barclays offers a variety of apprenticeships in the UK from tech to ops.
Link
https://joinus.barclays/eme/apprenticeships/
Location
UK
This entry was submitted by the form on the site

complete when #217 is approved/merged

Closing. Thanks @aaronclarkcodes !


How to setup the project 15-final? And is it open for contribution?

How to setup the project 15-final? And is it open for contribution?

It's not ready just yet but we'll be publishing a new tutorial soon!


repairing secure connection

calling for example https://osmlab.github.io/osm-deep-history/#/relation/2779390 does not work any longer in firefox, because the browser removes unsecure connections by itself. Leaflet files, api and tiles are called via http.
Because there is no working ssl connectin to leaflet, I put the leaflet.css and leaflet.js to the repo and changed the tile server call and api call to https

Thanks for the contribution! This modifies bundle.js, which is a generated file, and the change to index.js was superseded by d635e4ef45e64648b34b37133dce01be228c7d5c


[ENHANCEMENT] Hide horizontal scrollbar in Legend

Signed-off-by: Christine Donovan<EMAIL_ADDRESS>When a Mac user has the setting Show scrollbars: "Always", we see a horizontal scrollbar in the legend for a time series chart. The legend text wraps to the next line, so we don't need a horizontal scrollbar.
This PR hides the horizontal scrollbar.
Before & After (Note: When this Mac setting is turned off, the vertical scrollbar will not appear unless scrolling)

(I closed an reopened to trigger the CI)


Cleanup section l-p1/2

Very light reading, no brains required.

This concludes the P section, a good place for a pause.


Passive scalar

A new system of equations has been created which consists of the NS equations plus a passive scalar equation with a dissipation term.
Many files were changed though most of it are small changes. A new forcing has been added to introduce arbitrary values for the passive scalar. Multiple instances can be specified in the runfile.
GPU implementation does not support the passive scalar equation.

@koomie I haven't included any CI for this. I don't see any reference for this and MASA does not seem to have a manufactured solution for a passive scalar equation. Should I make a reference solution for this to compare against?


tls: Set Node to support TLs v1.0

https://github.com/openactive/conformance-services/issues/2

 Harvest data from sources that only support certain SSL versions

I'll be honest, my main motivation with commit messages module is to pick consistent ones for tracing later and as this will hopefully be a one off I didn't put to much thought into it.


Not support for style binding with methods.

Currently not support binding style with methods like :style="someMethod()". Here's a example:
<template>

    <text :style="testStyleMthod()">TEST TEST</text>

</template>

The substitute for this is using computed values instead of methods:
<template>

    <text :style="testStyleValue">TEST TEST</text>

</template>

https://github.com/weexteam/weex-vue-render/issues/9

https://github.com/weexteam/weex-vue-precompiler/commit/d5303967eabcefee67ffb9dcc16c98285d0fa285 has added multiple cases for this style-binding expression. Here's the typical supported cases:
https://github.com/weexteam/weex-vue-precompiler/blob/master/test/input/hooks/style-binding.vue


Reenable node integration tests

Enabled some node tests in https://github.com/Azure/azure-webjobs-sdk-script/commit/77d7f46fe22badcd964bc62c2e29bfed67738c4f
Need to get the rest to green.

resolved by 07bf5f5888dd


update cron job to take 1.1 and 1.2 apis

Update cron job to allow 1.2 trapi version and remove old special case where 1.1 path prefix was in meta kg path.

Related to #274. However, as mentioned in Slack:

Because of diffs in TRAPI v1.2...BTE may need to change how TRAPI APIs are queried + how the responses are transformed/processed.
BTE may need to change the list of APIs in the config file in order to ingest TRAPI v1.2 APIs rather than v1.1 APIs


[Type Checker] Use GenericSignature::createGenericEnvironment().

New generic environments should be created directly from the generic
signature, without having to explicitly create an archetype
builder. These environments are created using the canonical archetype builders (stored on ASTContext), which never go away---and will therefore be usable for lazily constructing archetypes at some point. This lets us kill off ArchetypeBuilder::getGenericEnvironment() entirely: the increasingly inaccurately named ArchetypeBuilder is now responsible only for creating the generic signatures.
This change caused some regressions, which in turn forced some necessary cleanup in the way code completion handles context validation (it was missing some contexts!). I also stole @slavapestov 's idea of setting a bogus depth on parsed generic type parameters so we're sure that we give them a proper depth before trying to use their types for anything real.

@swift-ci please smoke test and merge


Add privacy tools to Bitcoin

The sentence:

You need to be really careful when using Bitcoin so you don't leave any traces that can later be used against you to harm your privacy.

Is not actionable and does not provide the user with any information on how they can use Bitcoin without leaving traces, so it was removed.
This commit provides two FOSS options, one for Android, and one for desktop, to allow Bitcoin to be used in a more private manner.

Awesome, thank you


On M1 Mac Symbol error

..../flutter_curl/macos/Classes/FlutterCurlPlugin.m:11:18: warning: this function declaration is not a prototype [-Wstrict-prototypes]
void curl_version();
                 ^
                  void
1 warning generated.
ld: warning: ignoring file ..../flutter_curl/macos/Curl.framework/Curl, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
Undefined symbols for architecture arm64:
  "_curl_version", referenced from:
      +[FlutterCurlPlugin registerWithRegistrar:] in FlutterCurlPlugin.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'Flutter Assemble' from project 'Runner')
** BUILD FAILED **

could you share an SOP on rebuilding Curl.framework from scratch

This error is probably because your target is macOS which is not supported yet, only Android & iOS are.
I'm in a process of rewriting shell scripts into a configurable dart code. This will be available in a week. Existing shell scripts are no longer working with new curl and dependencies.
If you'd like to go on an adventure, these are the general instructions: https://github.com/curl/curl/blob/master/docs/HTTP3.md

@junaid1460 Complete build script is available here: https://github.com/ajinasokan/flutter_curl_binary I will update flutter_curl with the new binaries.
I'm working on macOS support too. It has become quite complicated after Apple Silicon.

I somehow got it to work with Mac M1. But I'm not using flutter_curl here. I have used your flutter_curl_binary as starting point and fiddled enough to build a plugin with custom c code


better handling of undirectional udp connectivity

Currently we cannot distinguish bi-directional and uni-directional connectivity between peers. This is what currently happens for a connection from A to B...
A: remoteUDPAddr=X
B: remoteUDPAddr=nil
A: send fast heartbeats over UDP
B: receive heartbeat; remoteUDPAddr is nil
remoteUDPAddr=Y
send 'established' over TCP
established=true
send slow heartbeats over UDP
A: receive 'established' over TCP
established=true
send slow heartbeats over UDP
If udp packets make it through from A to B but not B to A then both ends mark the connection as 'established'. Conversely, if udp packets make it through from B to A but not A to B then the connection is not marked as 'established' at either end.
In the new scheme, this is what happens...
A: receivedHeartbeat=false, remoteUDPAddr=X
B: receivedHeartbeat=false, remoteUDPAddr=nil
A: send fast heartbeats over UDP
B: receive heartbeat; receivedHeartbeat is false
remoteUDPAddr=Y
receivedHeartbeat=true
send 'established' over TCP
send fast heartbeats over UDP
A: receive 'established' over TCP ()
established=true
send slow heartbeats over UDP
A: receive heartbeat; receivedHeartbeat is false ()
receivedHeartbeat=true
send 'established' over TCP
B: receive 'established' over TCP
established=true
send slow heartbeats over UDP
(*) either of these may occur first
Now, if udp packets make it through from A to B not not B to A then A marks the connection as 'established' but B doesn't. Conversely, if
udp packets make it through from B to A but not A to B then B marks the connection as 'established' but A doesn't.
Also, the output of weave status now indicates when a connection is unestablished.
Fixes #342.

Note this actually changes how/when topology gets communicated. I've only just realised that; oops.
The reason for the change is that when a peer receives ConnectionEstablished, it sends a FetchAll.
Previously, for a new connection only the remote peer would send a ConnectionEstablished message, and it did so after marking its own connection as established. Hence, on receiving ConnectionEstablished the initiating peer would send FetchAll to the remote peer and get back a topology that includes the new connection in the remote peer's connection list.
Now, both peers send ConnectionEstablished, and only mark their own connection as established when receiving such a message. Consequently FetchAll is sent by both peers to each other, and the answer may not include the new connection. This is ok logically since - previously and now - marking a connection as established results in the broadcast of an Update, so the two peers learn about each other's half of the new connection that way. It is possibly less efficient, but note that in the old version peers would typically receive an Update containing unknown peers and hence have to issue a FetchAll anyway.


chore(lumx-icons): override twitter icon

General summary

Creating a script to override and alias icons in both TS and SCSS/Font

override/override-icons: contains SVG icons to override MDI
override/alias-icons.js: config contains mapping from icon name to aliases
override/generate.js: script that generate the TS & Font/SCSS overrides and then TS & Font/SCSS aliases

We'll use aliases to keep retro-compatibility when changing version or for brand renaming (ex: twitter). Overrides will help us update or restore brand logo because MDI is deprecating them.

Override Twitter logo with X logo (and add name alias)

Testing

Publishing an alpha prerelease alpha-icon-override-twitter https://github.com/lumapps/design-system/actions/runs/6956038315/job/18962918745
Test in another project using both JS & font icons

JS const mdiTwitter should still work but should have been swapped to the new X logo
JS const mdiXTwitter should be the same as mdiTwitter
css class .mdi-twitter should still work but should have been swapped to the new X logo
css class .mdi-x-twitter should be the same as .mdi-twitter

Tested in another project using both JS & font icons

JS const mdiTwitter should still work but should have been swapped to the new X logo ✅
JS const mdiXTwitter should be the same as mdiTwitter ✅
css class .mdi-twitter should still work but should have been swapped to the new X logo ✅
css class .mdi-x-twitter should be the same as .mdi-twitter ✅


Create METcalcpy 1.0-beta1 release

Replace italics below with details for this issue.
Describe the Task
Create the METcalcpy 1.0-beta1 release
Time Estimate
Estimate the amount of work required here.
~1-2 hours?
Sub-Issues
Consider breaking the task down into sub-issues.

[x] Add a checkbox for each sub-issue here.

Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
Define the source of funding and account keys here or state NONE.
Define the Metadata
Assignee

[x] Select engineer(s) Minna Win
[x] Select  no scientist required

Labels

[x] Select component(s)
[x] Select priority
[x] Select requestor(s)

Projects and Milestone

[x] Review projects and select relevant Repository and Organization ones or add "alert:NEED PROJECT ASSIGNMENT" label
[x] Select milestone to next major version milestone or "Future Versions"

Define Related Issue(s)
Consider the impact to the other METplus components.

[x] METplus, MET, METdatadb, METviewer, METexpress, METcalcpy, METplotpy

Task Checklist
See the METplus Workflow for details.

[x] Complete the issue definition above, including the Time Estimate and Funding Source.
[x] Fork this repository or create a branch of develop.
Branch name: feature_<Issue Number>_<Description>
[x] Complete the development and test your changes.
[x] Add/update documentation.
[x] Push local changes to GitHub.

Pull request: feature <Issue Number> <Description>

[x] Close this issue.

created the main_1.0-beta1 release


html2canvas FontFamily with ReactJS

How to loaded font family to svg with ReactJS , i were research some sample for jquery but ReactJS not working
https://jsfiddle.net/571t86u4/93/
Please save my life

How to implement this, is there an example


Screenshot shows issuer field incorrect url - misleading.

[Enter feedback here]
The screenshot shows the incorrect url for the Issuer field. Please update it when you get a chance.

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

ID: 186c0697-792a-a913-1baa-0af86f7ef6de
Version Independent ID: 330e7927-57fd-75e2-26b1-05bd2e8f30c1
Content: Configure Azure AD tenant and settings for P2S VPN connections: Azure AD authentication: OpenVPN - Azure VPN Gateway
Content Source: articles/vpn-gateway/openvpn-azure-ad-tenant.md
Service: vpn-gateway
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

Hello @lab067, Thank you for your feedback.
This feedback is already open and assigned to author for update in GitHub issue https://github.com/MicrosoftDocs/azure-docs/issues/96215. It will be updated soon.
We are closing this issue as duplicate for now. If there are further questions regarding this matter, please reply and we will gladly continue the discussion.


[Question] Regarding Captioning Evaluation on Flickr30k

Question
Hi, thanks for the great work! I have been trying to evaluate llava image captioning on Flickr30k, but I am not able to reproduce the results. While the original llava paper does not have these scores, some other works like this and this do. Both of them report the CIDEr score as 27.65.
Due to the lack of eval scripts for captioning(unless I missed it!), I have used llava/eval/model_vqa.py keeping the same settings, however, I am getting near zero scores. This is due to the detailed caption produced by the model. Reducing the max_new_tokens  helps bring it closer to the expected score.
I understand these are separate works, but by any chance would you be aware of the script and parameters used to get these scores? More specifically:

I am interested in the checkpoint used. MPT seems to be giving better performance on this task than Vicuna
The generations settings used

Thanks in advance!

Hi @devaansh100
Can you share more Information about why "MPT seems to be giving better performance on this task than Vicuna"?

MPT seems to be giving better performance on this task than Vicuna

Let me get back to you on this! I am rechecking my evaluation and it actually seems to be the other way round, I might have made a typo.

modify their evaluation scripts

I did do that, however, setting max_new_tokens to 256 seems to be a bit too high. Lowering it to around 20, actually gives a CIDEr score of 36.14. Using 50 drops it down to 0.18. I am trying some intermediate hyperparameters too(all experiments using 1 beam, a temperature = 0.2 with a top_k = 1). This variation is where the confusion stems from.
On a side note, the current LLaVA model on hf uses 576 image tokens for the LLM(resizing image to 336x336 and using a patch size of 14) but this paper gets 27.65 by using 257 tokens. Is there a previous version of llava with such a setting?

Thanks for your reply. I am not the maintainer of LLaVA. But I can provide some of my opinions.
As mentioned above:

'max_new_tokens=20' with 'CIDEr=36.14' refers to LLaVA1.5.
'max_new_tokens=16' (default setting of LVLM-eHub) with 'CIDEr= 27.65' refers to the previous LLaVA version.

I think it makes sense that LLaVA1.5 performs poorly in the image captioning task compared to other models. After all, LLaVA1.5 is mainly focused on the vqa task.
By the way, is it available for you to release your LLaVA 1.5 evaluation script on Flickr30k? I am also interested in reproducing your Flickr30k result:)

Hello~ @devaansh100
I noticed that the output of LLaVA1.5  can sometimes be much longer than GT when evaluating on Flickr30k. Although the content of outputs is correct, different lengths will lead to a decrease in similarity and CIDEr. I checked the paper and found this passage:

To address this, we propose using a single response formatting prompt that clearly indicates the output format, to be appended at the end of VQA questions when promoting short answers: Answer the question using a single word or phrase. We empirically show that when LLM is finetuned with such prompts, LLaVA is able to properly adjust the output format according to the user’s instructions, and does not require additional processing of the VQA data.
Then I write a prompt similar to this example, "Describe this image using one or more simple sentences". The output length of LLaVA1.5 is indeed much shorter and CIDEr achieves 66.71.

@ursulalujun I see, thank you! However, while these prompts/hyperparameters work, there is naturally some test leakage that is happening. Moreover, it doesn't replicate the 27.65 in the previous works. But I guess this lack of standardization is an inherent problem with LLM evaluation🤷🏻♂.
@HenryHZY Sorry for the late response, I had missed this message! I did not write a special script. Rather, I converted the dataset into the format expected by model_vqa.py. The entries looked like this:
{"image": "1007129816.jpg", "text": "Caption this image.", "question_id": 0}
{"image": "1009434119.jpg", "text": "Caption this image.", "question_id": 1}
{"image": "101362133.jpg", "text": "Caption this image.", "question_id": 2}

For CIDEr:
from pycocoevalcap.tokenizer.ptbtokenizer import PTBTokenizer
from pycocoevalcap.bleu.bleu import Bleu
from pycocoevalcap.meteor.meteor import Meteor
from pycocoevalcap.rouge.rouge import Rouge
from pycocoevalcap.cider.cider import Cider
from pycocoevalcap.spice.spice import Spice
import pandas as pd
import json
import sys
class Evaluator:
    def __init__(self) -> None:
        self.tokenizer = PTBTokenizer()
        self.scorer_list = [
            (Cider(), "CIDEr"),
            # (Meteor(), "METEOR")
        ]
        self.evaluation_report = {}

    def do_the_thing(self, golden_reference, candidate_reference):
        golden_reference = self.tokenizer.tokenize(golden_reference)
        candidate_reference = self.tokenizer.tokenize(candidate_reference)

        # From this point, some variables are named as in the original code
        # I have no idea why they name like these
        # The original code: https://github.com/salaniz/pycocoevalcap/blob/a24f74c408c918f1f4ec34e9514bc8a76ce41ffd/eval.py#L51-L63
        for scorer, method in self.scorer_list:
            score, scores = scorer.compute_score(golden_reference, candidate_reference)
            if isinstance(method, list):
                for sc, scs, m in zip(score, scores, method):
                    self.evaluation_report[m] = sc
            else:
                self.evaluation_report[method] = score

df = pd.read_csv('../Datasets/Flickr30k/flickr_annotations_30k.csv')
df = df[df['split'] == 'test']
golden_reference = []
f = open(f'Flickr30k/{sys.argv[1]}.jsonl')
outputs = [json.loads(x)['text'] for x in f.readlines()]
candidate_reference = []
for i, x in enumerate(df.iloc):
    s = x['raw'][2:-2].replace('"','').split(',')
    golden_reference.append(s)
    # print(outputs[i])
    candidate_reference.append(outputs[i])

golden_reference = {k: [{'caption': x} for x in v] for k, v in enumerate(golden_reference)}

candidate_reference = {k: [{'caption': v}] for k, v in enumerate(candidate_reference)}
# breakpoint()
evaluator = Evaluator()
evaluator.do_the_thing(golden_reference, candidate_reference)

print(evaluator.evaluation_report)

Hope this helps!

@devaansh100 Yes, I agree with you! LLM is sensitive to prompt, and they can memory the prompt seen in the training stage. I have tried to use the prompt "give me a short description of this image", but it can not control the length of the output very well. By the way, I evaluated llava1.5 in ChEF, a newly published benchmark framework. https://github.com/OpenGVLab/LAMM/tree/ChEF

@ursulalujun
when I use the prompt- "Describe this image using one or more simple sentences", and max_new_tokens=128, CIDEr achieves 76.5

@ursulalujun when I use the prompt- "Describe this image using one or more simple sentences", and max_new_tokens=128, CIDEr achieves 76.5

Hi @duguodong7  I am actually trying to figure out the same but somehow i am always getting cider score of ~0 . Can you help me out
Thanks


Add support for database-specific connection string

Tests for all databases first read NANODBC_TEST_CONNSTR, then try NANODBC_TEST_CONNSTR_{ODBC|MSSQL|MYSQL|PGSQL} equivalent.
This allows to configure and run all tests at once.

Cool!


Deleting a DB doesnt work the first time

also theres a bug where a character wont delete from the db. can recreate in a fresh db like so:
create a character
create a team
create a tc loadout
swap to the tc loadout
go to the settings page and delete the db

that character wont get deleted

https://discord.com/channels/785153694478893126/1200154094476734556/1210550752272195645

No longer reproduceable.


broken examples url

The url on github (on top) of the repository is broken since the transfer
I guess it should either point to:
http://googlevr.github.io/webvr-polyfill/examples/
or like in the readme to:
https://toji.github.io/webvr-samples/

Thanks!


Add histograms of correct/incorrect answers over lengths

Make correct stack on top of columns for incorrect
It would be good to also have a tickbox for deciding whether to display only proportion and not number for each column instead of a true histogram.

Also worth allowing the histogram to show only one channel or even the projection on to a particular hue.


read bonding network from cif file

The hypothetical MOF generators usually have their bonding information in the CIF file.
We should read this info and use it to construct the structure graph as this is usually the most time-consuming step

there is already a parser in pormake, we can perhaps implement it in sturcturegraph-helper to make it reusable


Support for ECDsa

Question
I am currently running into the exact scenario described here by Dominick: https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/issues/1291#issue-516246389
I think a fix is available, Brent recently modified the Milestone in the issue linked to 6.6.0 which has already been released. Does this mean that the next release of IdentityServer4 will include this fix? Or is it already included with 4.0?
Not sure if this line is the right place to look, but if so then I think it is not updated to 6.6.0 yet, probably because it includes some breaking changes?
A short info on the subject would be great, thank you!

6.x has a couple of breaking changes and we didn't update to it. The next release will probably use it..


Intermittently not receiving Ethernet multicast frames (IDFGH-1736)

Environment

Development Kit: none (custom hardware)
Module or chip used:  ESP32-WROVER-B
IDF version: v3.2
Build System: make
Compiler version: xtensa-esp32-elf-gcc.exe (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a5) 5.2.0
Operating System:  Windows 10 MSYS2
Power Supply: external 3.3V

Problem Description
I am using ESP32 WROVER + LAN8742A PHY with ESP-IDF v3.2.
The ESP32 occasionally cannot receive multicast ethernet frames. It can send multicast, send & receive unicast, and send & receive broadcast without problems. The receive multicast problem happens roughly in 1% of startups, and it persists until a power cycle - even a chip reset doesn’t fix the problem. I suspect it is a silicon or driver problem.
I noticed the git commit to the ESP-IDF ethernet driver emac_dev.c in late 2018 that sets the PAM bit enabling all received multicast frames to be passed to the application:
REG_SET_BIT(EMAC_GMACFF_REG, EMAC_PAM);
I checked at runtime and print out to the console the value of this register on every received frame, and I can confirm the register PAM bit is set. However in 1% of the startups the frames are not received.
I suspected this is a silicon or driver setup issue, so I tried clearing and setting the PAM bit on every connect/disconnect of the Ethernet link (achieved by removing and plugging in the CAT5 cable). This seems to address the issue, but the problem happens so rarely it is difficult to recreate.
Has anyone else seen this issue, and could there potentially be a silicon bug?

Hi @jqualie Thanks for reporting this issue, we will look into it.

@jqualie Can we try to enable the promiscuous mode by emac_enable_promiscuous, to see if this option can reproduce the issue?

I tried setting just the EMAC_PAM bit in emac_mac_init(). The problem persists.
I tried setting just the EMAC_PMODE bit in emac_mac_init(). The problem persists.
I tried setting the EMAC_PAM bit and the EMAC_PMODE bit in emac_mac_init(). The problem persists.
I tried setting the EMAC_RECEIVE_ALL bit in emac_mac_init(), and the problem goes away. But of course now the device receives all packets even though they aren't destined for it.
I tried setting the EMAC_PAM bit in emac_process_link_updown() when the Ethernet interface is up, and clearing the bit when the Ethernet interface is down, and the problem goes away.

I do the bit set after the call to emac_enable_dma_rx(), so I wonder if there is a race condition or flaw in the setup of the DMA that affects the ability to receive multicast frames.
Code for emac_main.c:
static void emac_process_link_updown(bool link_status)
{
    system_event_t evt;
    uint8_t i = 0;

    emac_config.phy_link_up = link_status;

    if (link_status) {
        emac_check_phy_init();
        ESP_LOGD(TAG, "eth link_up");
        emac_enable_dma_tx();
        emac_enable_dma_rx();
        for (i = 0; i < PHY_LINK_CHECK_NUM; i++) {
            emac_check_phy_init();
        }

        //@fix EMAC occasionally not receiving multicast frames
        REG_SET_BIT(EMAC_GMACFF_REG, EMAC_PAM);

        evt.event_id = SYSTEM_EVENT_ETH_CONNECTED;
    } else {
        ESP_LOGD(TAG, "eth link_down");
        emac_disable_dma_tx();
        emac_disable_dma_rx();

        //@fix EMAC occasionally not receiving multicast frames
        REG_CLR_BIT(EMAC_GMACFF_REG, EMAC_PAM);

        evt.event_id = SYSTEM_EVENT_ETH_DISCONNECTED;
    }

    esp_event_send(&evt);
}

I have compelted more testing and I had a fix. It's not the PAM bit.
It's the startup timing of emac_process_link_updown(). When I add a vTaskDelay(10) in the link_up code path, everything works.
Espressif may want to investigate the timing dependencies between the PHY link_up event, emac_process_link_updown(), and the emac_task as it relates to the other tasks. Perhaps there is a critical section that is not isolated adequately.
static void emac_process_link_updown(bool link_status)
{
    system_event_t evt;
    uint8_t i = 0;

    emac_config.phy_link_up = link_status;

    if (link_status) {
        vTaskDelay(10); // wait for PHY and other tasks to be ready (?)
        emac_check_phy_init();
        ESP_LOGD(TAG, "eth link_up");
        emac_enable_dma_tx();
        emac_enable_dma_rx();
        evt.event_id = SYSTEM_EVENT_ETH_CONNECTED;
    } else {
        ESP_LOGD(TAG, "eth link_down");
        emac_disable_dma_tx();
        emac_disable_dma_rx();
        evt.event_id = SYSTEM_EVENT_ETH_DISCONNECTED;
    }

    esp_event_send(&evt);
}

Hi @jqualie Nice spotted!
But I also wonder if a phy chip reset can help? Logically it makes sense to reset phy chip after re-plugin the cable (because we need a new round of negotiation between two Ethernet endpoint).
static void emac_process_link_updown(bool link_status)
{
    system_event_t evt;
    uint8_t i = 0;

    emac_config.phy_link_up = link_status;

    if (link_status) {
       if (emac_config.phy_init() != ESP_OK) {
          ESP_LOGE(TAG, "Initialise PHY device Timeout");
       }
        emac_check_phy_init();
        ESP_LOGD(TAG, "eth link_up");
        emac_enable_dma_tx();
        emac_enable_dma_rx();
        evt.event_id = SYSTEM_EVENT_ETH_CONNECTED;
    } else {
        ESP_LOGD(TAG, "eth link_down");
        emac_disable_dma_tx();
        emac_disable_dma_rx();
        evt.event_id = SYSTEM_EVENT_ETH_DISCONNECTED;
    }
    esp_event_send(&evt);
}

Thanks for reporting, will close due to short of feedback, feel free to reopen with more updates.


⚠ SceneTime has degraded performance

In 3329cc7, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1635 ms

Resolved: SceneTime performance has improved in 603d7c3 after 6 minutes.


Bug 1805168: inject global proxy envs,ca into OCM daemonset

per recent discussion between @dmage, @adambkaplan, and myself
the image signature controller in OCM is reaching out to the registries like registry.redhat.io and not using the global proxy if set
see https://github.com/openshift/cluster-version-operator/blob/611490ff448962c70ab29a90764a6c30d4ee87dc/lib/resourcebuilder/apps.go#L55
the bug originator manually set the proxy ENVs on the OCM and saw things works
@bparees @mfojtik @soltysh FYI

existing e2e's are green at least
/assign @bparees
/assign @adambkaplan

I don't think this is the right solution.
the CVO injection is only for operators.  As in "I need the CVO to inject these env vars into my operators' deployment because the CVO owns my deployment and only it can touch it".
You(the OCM operator) own the OCM's deployment, you should be setting the proxy envs on the OCM's deployment and reconciling them as they change (i.e. OCM operator needs to watch the proxy config and propagate that config to the OCM deployment)

/hold

I don't think this is the right solution.
the CVO injection is only for operators. As in "I need the CVO to inject these env vars into my operators' deployment because the CVO owns my deployment and only it can touch it".
You(the OCM operator) own the OCM's deployment, you should be setting the proxy envs on the OCM's deployment and reconciling them as they change (i.e. OCM operator needs to watch the proxy config and propagate that config to the OCM deployment)

OK a bigger change but certainly not onerours.  @adambkaplan 's suggestion of the annotation was trivial enough that at least proposing it to a bigger audience for evaluation seemed fine.
There is also the possibility of the OCM, which is already watching proxy config, setting the envs on itself.  While less expensive, that probably subverts our "what an operator does and what an operand does" conventions.  But certainly voice any opinions there @bparees if you like.

There is also the possibility of the OCM, which is already watching proxy config, setting the envs on itself. While less expensive, that probably subverts our "what an operator does and what an operand does" conventions. But certainly voice any opinions there @bparees if you like.

the resource needs to be owned/written to by a single writer.  for the OCM daemonset resource, that's the OCM operator.  Otherwise you risk two things fighting w/ each other about what the correct state of the resource should be.

There is also the possibility of the OCM, which is already watching proxy config, setting the envs on itself. While less expensive, that probably subverts our "what an operator does and what an operand does" conventions. But certainly voice any opinions there @bparees if you like.

the resource needs to be owned/written to by a single writer. for the OCM daemonset resource, that's the OCM operator. Otherwise you risk two things fighting w/ each other about what the correct state of the resource should be.

Well I was actually thinking it would be golang os.Setenv() call in the OCM process actually nad would not be manipulating the DaemonSet at all.  It would be dynamically updating the env's the DaemonSet added to the underlying Pod.
But again, probably too off the beaten path ... I just mentioned it cause it popped into my head
I'll start down the path in this repo

Well I was actually thinking it would be golang os.Setenv() call in the OCM process actually nad would not be manipulating the DaemonSet at all. It would be dynamically updating the env's the DaemonSet added to the underlying Pod.

the drawbacks w/ that approach are:

lack of debuggability (you can't just look at the resource to understand what configuration it is using)
I believe the transports+static libs get setup early and read this information just once, so changing the env var will not, in many cases, affect the configuration they are using, so you'd need to restart the process to pick up the change anyway, which means the OCM would have to nuke itself, and then ensure(on restart) the envs got set before any lib+transport initialization

(2) is why we had to make the CVO able to inject proxy config on operator resources, because operators could not solve the problem themselves by dynamically setting their own env vars.  You're basically in the same boat, one level deeper.

Note: i think i may have seen another devex PR recently that was adding the CVO proxy injection annotation.  I didn't look at it closely... but if it was doing the same thing as this one (adding the injection annotation to an operand resource, not an operator resource) it should be reverted and redone per the approach i've outlined in the discussion here.

Note: i think i may have seen another devex PR recently that was adding the CVO proxy injection annotation. I didn't look at it closely... but if it was doing the same thing as this one (adding the injection annotation to an operand resource, not an operator resource) it should be reverted and redone per the approach i've outlined in the discussion here.

since @adambkaplan suggested the annotation to me, maybe he know which PR you are referring to @bparees
otherwise, I'll refactor this PR to have OCM-O watch global proxy and update the OCM daemonset's env as you previously mentioned in the classic operator/operand mgmt pattern

btw if the operand has to consume the proxy it also needs to consume the proxy CAs, so there's more that needs to be done here.
the operand has to mount a configmap that's annotated for the proxy CA injection, and the operator has to watch that configmap and redeploy the operand if the configmap is updated w/ new CA content.

btw if the operand has to consume the proxy it also needs to consume the proxy CAs, so there's more that needs to be done here.
the operand has to mount a configmap that's annotated for the proxy CA injection, and the operator has to watch that configmap and redeploy the operand if the configmap is updated w/ new CA content.

yep true as well ... so yeah the OCM-O is already creating a proxy injected CM for the CAs and is watching it as part of the build support ... the daemonset update would have to include mounting that CA in addition to the envs
And I suppose the OCM would have to be updated to copy the cert from the k8s mount point to the well known location under /etc just like the openshift/builder image does today

And I suppose the OCM would have to be updated to copy the cert from the k8s mount point to the well known location under /etc just like the openshift/builder image does today

yes, or mount the CM there directly.  (The CM should contain all the CAs you need, including system trusts, so it should be ok to just mount over top of the image's own CAs)

yes, or mount the CM there directly. (The CM should contain all the CAs you need, including system trusts, so it should be ok to just mount over top of the image's own CAs)

I concur that mounting directly is the way to go for OCM. Builds are kind of a special case because we have additionalTrustedCAs that are used only for pulling/pushing images. Same deal with the image registry.

I think you need something similar to https://github.com/openshift/cluster-kube-controller-manager-operator/pull/285 and  https://github.com/openshift/cluster-kube-controller-manager-operator/pull/325 to be able to consume and use the proxy as far as I can tell.

I think you need something similar to openshift/cluster-kube-controller-manager-operator#285 and openshift/cluster-kube-controller-manager-operator#325 to be able to consume and use the proxy as far as I can tell.

thanks for the pointers @soltysh
I've got some changes on my laptop that share some commonality with those PRs
I'm wrapping up some unit tests and should have a PR up before my EOB close today.

/hold cancel
PR switched over to a proxy watch, config observation, and injection of envs/ca into OCM daemonset via operator
ptal

all green e2e's at least
bump @adambkaplan @bparees

i'm missing where this:

watches the global CA configmap for changes (must rollout the operand when it changes)
watches the proxyconfig for changes to the global CA configmap name/reference (would have to change which configmap (1) is watching when it changes).

i'm missing where this:
1. watches the global CA configmap for changes (must rollout the operand when it changes)

Yep forgot to add this (I remember thinking of it at one point) ... need an observer_configmap.go

2. watches the proxyconfig for changes to the global CA configmap name/reference (would have to change which configmap (1) is watching when it changes).

My thought here is the OCM-O already creates a CM with the injection annotation for the OCM as part of builds support for global proxy.  As part of the new observer_configmap.go, we'd focus on watching the CM for changes.
Is that not sufficient for our needs @bparees ?

My thought here is the OCM-O already creates a CM with the injection annotation for the OCM as part of builds support for global proxy. As part of the new observer_configmap.go, we'd focus on watching that CM for changes.

Sorry, I think I was mixed up.  I was thinking about the configmap that the proxyconfig references (the global CM the admin edits).  But you don't have a need to watch that configmap yourself, because of what you said.
So yeah, just watching your annotated configmap for changes and forcing a rollout when that happens is sufficient.  Most teams do that by hashing the CM and putting the hash as an annotation on the deployment resource.  That way if/when the hash changes, it auotmatically triggers a rollout.

My thought here is the OCM-O already creates a CM with the injection annotation for the OCM as part of builds support for global proxy. As part of the new observer_configmap.go, we'd focus on watching that CM for changes.

Sorry, I think I was mixed up. I was thinking about the configmap that the proxyconfig references (the global CM the admin edits). But you don't have a need to watch that configmap yourself, because of what you said.
So yeah, just watching your annotated configmap for changes and forcing a rollout when that happens is sufficient. Most teams do that by hashing the CM and putting the hash as an annotation on the deployment resource. That way if/when the hash changes, it auotmatically triggers a rollout.

Yeah I need to walk down the code paths to be sure, but I believe some of the PR refs @soltysh posted have examples of this

ok pushed observe ca crt change @bparees

this may be me forgetting how this operator works, but...while i see the observeconfig computes the CA hash and stores it in the observedconfig, i don't see where that hash is applied to the deployment to force a rollout if the hash has changed?

this may be me forgetting how this operator works, but...while i see the observeconfig computes the CA hash and stores it in the observedconfig, i don't see where that hash is applied to the deployment to force a rollout if the hash has changed?

Well I forgot the update the bindata/v3.11.0/openshift-controller-manager/ds.yaml with the CM mount while making all these other changes, so that should at least contribute to your confusion :-)
Once I do that, the flow should be:

as with all this observed_*.go stuff, any delta in the pervious map[string]interface data triggers a redeployment of the OCM
the sync_* logic applies the updated proxy env's on the deployment
we are always mounting the the same CM onto the OCM daemonset pod, but when the recycle occurs, the pods will pick up the latest cert in the recently updated CM (whose update we just observed in the OCM-O)

OK @bparees hopefully I've finally connected all the dots ... ptal when you get the chance

failures related to my ds.yaml change:
level=error msg="Cluster operator openshift-controller-manager Degraded is True with Workload_SyncError: WorkloadDegraded: \"deployment\": DaemonSet.apps \"controller-manager\" is invalid: spec.template.spec.containers[0].volumeMounts[4].mountPath: Invalid value: \"/etc/pki/ca-trust/extracted/pem\": must be unique\nWorkloadDegraded: "

failures related to my ds.yaml change:
level=error msg="Cluster operator openshift-controller-manager Degraded is True with Workload_SyncError: WorkloadDegraded: \"deployment\": DaemonSet.apps \"controller-manager\" is invalid: spec.template.spec.containers[0].volumeMounts[4].mountPath: Invalid value: \"/etc/pki/ca-trust/extracted/pem\": must be unique\nWorkloadDegraded: "

Maybe this means we have to mount in a typical /var.. location, and then copy to /etc/pki/ca-trust/extracted/pem in the main.go of OCM?  .... Similar to some of the cert copies we do in openshift/builder ?

as with all this observed_*.go stuff, any delta in the pervious map[string]interface data triggers a redeployment of the OCM

how?  I don't see anything in https://github.com/openshift/cluster-openshift-controller-manager-operator/pull/145/files#diff-71c619af51132696348e484ffcd8edbfR277 that is going to cause a rollout to happen when the config changes.

as with all this observed_*.go stuff, any delta in the pervious map[string]interface data triggers a redeployment of the OCM

how? I don't see anything in https://github.com/openshift/cluster-openshift-controller-manager-operator/pull/145/files#diff-71c619af51132696348e484ffcd8edbfR277 that is going to cause a rollout to happen when the config changes.

As part of the existing code we have for the global ca config map in the OCM namesapce, I belive this code will already trigger:  https://github.com/openshift/cluster-openshift-controller-manager-operator/blob/master/pkg/operator/sync_openshiftcontrollermanager_v311_00.go#L242-L272
I initially wondered if with this code I just linked, I even needed the new observer_config.go module I added with this PR, but sided on "it couldn't hurt" ... but I would defer to whomever thinks they know better.

As part of the existing code we have for the global ca config map in the OCM namesapce, I belive this code will already trigger: https://github.com/openshift/cluster-openshift-controller-manager-operator/blob/master/pkg/operator/sync_openshiftcontrollermanager_v311_00.go#L242-L272

that code just ensures the configmap has the injection annotation on it.
it doesn't do anything w/ respect to watching the content of the configmap and ensuring a deployment rollout happens if the configmap content changes.  it explicitly ignores the configmap content.

As part of the existing code we have for the global ca config map in the OCM namesapce, I belive this code will already trigger: https://github.com/openshift/cluster-openshift-controller-manager-operator/blob/master/pkg/operator/sync_openshiftcontrollermanager_v311_00.go#L242-L272

that code just ensures the configmap has the injection annotation on it.
it doesn't do anything w/ respect to watching the content of the configmap and ensuring a deployment rollout happens if the configmap content changes. it explicitly ignores the configmap content.

ok, I put the code for inspecting the content in observer_config.go ... I thought rollouts of the operand could be triggered from either place

should I duplicate that code in the sync_*.go method, storing the hash on the configmap obj ?
should I get rid of the observer_config.go module ?

take a look at how cluster-openshift-api-server-operator handles this, since it has the same structure as this operator:
https://github.com/openshift/cluster-openshift-apiserver-operator/blob/master/pkg/operator/workload/workload_openshiftapiserver_v311_00_sync.go#L358-L366
you can also see the commit that introduced proxy support in that operator:
https://github.com/openshift/cluster-openshift-apiserver-operator/commit/39b3f4f032356fc11cad969b6a9b7e263b417ba5
and some refactoring david did to use the hashes:
https://github.com/openshift/cluster-openshift-apiserver-operator/commit/469e1e7ff19a49b65b9b1cae4534b13e31d3d7a3

take a look at how cluster-openshift-api-server-operator handles this, since it has the same structure as this operator:
https://github.com/openshift/cluster-openshift-apiserver-operator/blob/master/pkg/operator/workload/workload_openshiftapiserver_v311_00_sync.go#L358-L366
you can also see the commit that introduced proxy support in that operator:
openshift/cluster-openshift-apiserver-operator@39b3f4f
and some refactoring david did to use the hashes:
openshift/cluster-openshift-apiserver-operator@469e1e7

thanks for the refs @bparees ... I'll start monkey seeing / monkey doing shortly
Also, I see in https://github.com/openshift/cluster-openshift-apiserver-operator/tree/master/pkg/operator/configobservation no analogous config observation for proxy or the CA config maps ... I will ditch those from this PR.

And knowing what to look for now, there is something similar already in this repo for the other CAs:  https://github.com/openshift/cluster-openshift-controller-manager-operator/blob/master/pkg/operator/sync_openshiftcontrollermanager_v311_00.go#L187-L207

changes pushed @bparees

sorry wait @bparees

ok now it is reviewable @bparees

/retest

tests are green @bparees
latest round of changes from your comments pushed

@gabemontero looks good to me, squash commits and we can make this official.

10-4 @adambkaplan @soltysh  thanks ..

... and commits squashed/pushed @adambkaplan @soltysh
and thanks @bparees for all the help

error: could not run steps: step e2e-aws failed: failed to acquire lease: status 503 Service Unavailable, status code 503
error: could not run steps: step e2e-aws-operator failed: failed to acquire lease: status 503 Service Unavailable, status code 503
error: could not run steps: step e2e-aws-upgrade failed: failed to acquire lease: status 503 Service Unavailable, status code 503
/retest

green tests @adambkaplan @soltysh @bparees
can somebody lgtm ?

updates pushed @stts thanks again

broad failures across all suites waiting on expected SAs in test namespaces... as an example:
Mar 26 16:37:05.309: INFO: Creating project "e2e-test-s2i-build-quota-btfrh"
Mar 26 16:37:05.725: INFO: Waiting on permissions in project "e2e-test-s2i-build-quota-btfrh" ...
Mar 26 16:37:05.752: INFO: Waiting for ServiceAccount "default" to be provisioned...
Mar 26 16:39:03.083: INFO: Waiting for ServiceAccount "deployer" to be provisioned...
[AfterEach] [sig-builds][Feature:Builds] s2i build with a quota

The CVO has a nasty looking extra condition on it:
                   {
                        "lastTransitionTime": "2020-03-26T15:39:58Z",
                        "message": "Unable to retrieve available updates: currently installed version 0.0.1-2020-03-26-153053 not found in the \"stable-4.5\" channel",
                        "reason": "VersionNotFound",
                        "status": "False",
                        "type": "RetrievedUpdates"
                    }

punting
/test e2e-aws

I see a lot of throttling notifications trying to access the api server in the OCM-O pod logs around the times of the e2e-aws-operator failures ... my assumption is that messed with those e2e's but am getting up to speed on those tests, looking around the artifacts some more before retesting that one.

I see a lot of throttling notifications trying to access the api server in the OCM-O pod logs around the times of the e2e-aws-operator failures ... my assumption is that messed with those e2e's but am getting up to speed on those tests, looking around the artifacts some more before retesting that one.

Yeah even the basic, very first test that just reads the OCM clusteroperator suffered a TO, but if you look at the artifacts, that object showed everything was well, and was last updated before the test started.
/test e2e-aws-operator

/retest

/retest

/test e2e-aws

pushed fix for e2e-aws-operator that should better account for a false positive we were getting with the reflect.DeepEquals change from the last iteration

CI hiccup across most of the board
/retest

green tests
bump - any of the previous reviewers ready to LGTM ?


Added modality passing to harmony pipeline

Changelog
... Describe your changes ...
Issue ticket number and link
Closes #xxxx (Replace xxxx with the GitHub issue number)
Checklist before requesting a review

[x] I have performed a self-review of my code

[ ] Conforms to the Contributor's guide

Check the correct box. Does this PR contain:

[ ] Breaking changes
[ ] New functionality
[ ] Major changes
[ ] Minor changes
[x ] Bug fixes

[ ] Proposed changes are described in the CHANGELOG.md

[ ] CI tests succeed!

I don't think this is correct. The modality argument should already be passed to move_obsm_to_obs through the workflowarguments:
  output_ch = input_ch
    | preprocessInputs("config": config)
    // split params for downstream components
    | setWorkflowArguments(
      // ...
      move_obsm_to_obs_leiden: ["modality": "modality"]
    )
    // ...
    | getWorkflowArguments(key: "move_obsm_to_obs_leiden")
    | move_obsm_to_obs.run(
        args: [ obsm_key: "leiden", output_compression: "gzip"],
        auto: [ publish: true ],
    )

As such, there shouldn't be a need for overriding it manually afterwards. In addition, this parameter will set modality to "modality".
What is the error message of the bug you're attempting to fix with this PR?

Yes, this was already addressed in 113128e


The app works well in debug mode but not in release mode.

Steps to Reproduce

flutter build apk --debug  --no-tree-shake-icons

As you can see I am able to get all files in all generated abis but when I use
flutter build apk --release --no-tree-shake-icons

You can see that the files generated are different especially in x86 folder some files are missing such as  libapp.so and flutter.so
This leads me to this:
the app works well in debug mode but when I publish to google play some users start getting errors of missing files I mentioned above, Note that I tested both apk and app bundle it gives the same result, also is very important to note that I am using stable channel of flutter, to reproduce this create an empty project then add these dependencies objectbox: ^1.1.1 objectbox_flutter_libs: any then build app both in release and debug mode.

Logs

Logs

When I debug on my local machine, I use x86 emulator to be sure, this gave me enough confidence that the app works on x86 devices, but it turn out that in release mode it does not work. please advise me of the fix or workaround.

I thought flutter doesn't support 32bit #9253

Then why does debugging mode works? this set tones that it should work in prod too! we need very clear clarification.

and reading from the documentation it is obvious that it is supported https://flutter.dev/docs/whats-new#may-18-2021-google-io-edition

Then why does debugging mode works? this set tones that it should work in prod too! we need very clear clarification.

In what i understand (CMIIW),
When in debugging mode, the dart would be in JIT, so it works.
But in release mode the dart would be in AOT, unfortunately there are no AOT on x86.

Is there a way to disable AOT in release mode?

Hi @richard457
You should be able to build an app without x86 and still run on x86 devices, see  https://github.com/flutter/flutter/issues/9253#issuecomment-665736044 for more details
This was reported in https://github.com/flutter/flutter/issues/85826 and solved by https://github.com/flutter/flutter/issues/85826#issuecomment-873966407
Closing as duplicate of https://github.com/flutter/flutter/issues/85826


Skip unwanted data using IgnoredAny

Consider an object like this:
{
  "a": [.... 100000 items .... ],
  "b": 1,
}

I am only interesting in b, so I write a struct like this:
#[derive(Deserialize)]
pub struct OnlyB {
  pub b: u64,
}

And read it in the usual way. I'm not 100% sure, but based on my benchmarks it seems that serde_cbor will actually read all of a, even though it could easily skip it because CBOR encodes the length of the entire object. This is a pretty big advantage over JSON where you always have to parse the entire file!
Fortunately it seems like Serde has a mechanism to allow skipping this: IgnoredAny. I didn't find that anywhere in serde_cbor's code so I assume it isn't using it. The generated code for a struct similar to the above one looks something like this (using cargo expand):
                   #[inline]
                    fn visit_map<__A>(
                        self,
                        mut __map: __A,
                    ) -> _serde::export::Result<Self::Value, __A::Error>
                    where
                        __A: _serde::de::MapAccess<'de>,
                    {
                        let mut __field0: _serde::export::Option<VersionInfo> =
                            _serde::export::None;
                        while let _serde::export::Some(__key) =
                            match _serde::de::MapAccess::next_key::<__Field>(&mut __map) {
                                _serde::export::Ok(__val) => __val,
                                _serde::export::Err(__err) => {
                                    return _serde::export::Err(__err);
                                }
                            }
                        {
                            match __key {
                                __Field::__field0 => {
                                    if _serde::export::Option::is_some(&__field0) {
                                        return _serde::export::Err(
                                            <__A::Error as _serde::de::Error>::duplicate_field(
                                                "versionInfo",
                                            ),
                                        );
                                    }
                                    __field0 = _serde::export::Some(
                                        match _serde::de::MapAccess::next_value::<VersionInfo>(
                                            &mut __map,
                                        ) {
                                            _serde::export::Ok(__val) => __val,
                                            _serde::export::Err(__err) => {
                                                return _serde::export::Err(__err);
                                            }
                                        },
                                    );
                                }
                                _ => {
                                    let _ = match _serde::de::MapAccess::next_value::<
                                        _serde::de::IgnoredAny,
                                    >(&mut __map)
                                    {
                                        _serde::export::Ok(__val) => __val,
                                        _serde::export::Err(__err) => {
                                            return _serde::export::Err(__err);
                                        }
                                    };
                                }
                            }
                        }
                        let __field0 = match __field0 {
                            _serde::export::Some(__field0) => __field0,
                            _serde::export::None => {
                                match _serde::private::de::missing_field("versionInfo") {
                                    _serde::export::Ok(__val) => __val,
                                    _serde::export::Err(__err) => {
                                        return _serde::export::Err(__err);
                                    }
                                }
                            }
                        };
                        _serde::export::Ok(JsonVersion {
                            version_info: __field0,
                        })

The important bit is:
_serde::de::MapAccess::next_value::<
                                        _serde::de::IgnoredAny,
                                    >(&mut __map)

So I think you just have to implement ... something ... for IgnoredAny. I am still figuring out the types (Serde isn't exactly the easiest code to read!).

Ah looks like we just have to not forward deserialize_ignored_any to serde and implement it. I will have a go.

Ugh, you know what, I started implementing this and then I remembered that CBOR actually doesn't encode the length of objects in bytes - I was thinking of Protobuf, which does. So I don't think there's any reasonable way to skip objects.
Did I mention CBOR was designed by idiots?


How to use in whole filesystem

I put in my env path variable the work folder of the git, but only works if the file to upload is in the same folder of the onedrive-upload.
There is a way to use across the system? I want to use to "automate" some external backup from my machines.

Adding the root folder of the repository to the path (PATH="$PATH:/home/user/bash-onedrive-upload") and invoking the upload from another folder (onedrive-upload testfile.txt) works for me.
Can you provide more information?

Which branch are you using?
What operating system are you using?
What does the debug log say? (onedrive-upload -d ...)


Symbolic expression support

Hello, thanks for your work. Are there plans in the near future to support fitting symbolic expressions/manual input and network visualizations as the original implementation do?
Thanks in advance

Not for now. I personally don't have interest in symbolic regression, so sorry.


Change to u-blox usb GPS

Switch to using u-blox 8 so we can make use of their assisted GPS

Not sure on this anymore. Having tried the ublox (GPYes 2.0 device) I couldn't get a fix. Still needs more experimentation, but for now I think using the PA1010D with a coin cell battery actually seems to fix pretty fast, so closing this for now.


allow hl_lines in code fences

It should be possible to make up some syntax, e.g.  ```js/hl_lines=8-13  in the rendering hook in Hugo to enable options like hl_lines in code fences.
Look at this before: https://github.com/gohugoio/hugo/issues/5963

This would be nice, along with the option to enable / disable linenos

I haven't tested it, but on paper at least this should be supported in Goldmark -- coming in Hugo next.

🙌


Consider upgrading to tempfile = "3.4.0"

Github has issued a low-risk advisory for  the version of remove_dir_all that is used by tempfile versions 3.0 and 3.1.0. tempfile recently switched to std::fs::remove_dir_all.

https://github.com/sfackler/rust-native-tls/pull/249#issuecomment-1445219493


Chapter 7 Large Application Structure

I checkout 7a and then I execute this command: ./manage.py runserver --host <IP_ADDRESS>
There is an error:
Traceback (most recent call last):
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/qinf/flasky/app/main/views.py", line 13, in index
    user = User.query.filter_by(username=form.name.data).first()
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2367, in first
    ret = list(self[0:1])
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2228, in __getitem__
    return list(res)
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2438, in __iter__
    return self._execute_and_instances(context)
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2453, in _execute_and_instances
    result = conn.execute(querycontext.statement, self._params)
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 729, in execute
    return meth(self, multiparams, params)
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/sqlalchemy/sql/elements.py", line 322, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 826, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 958, in _execute_context
    context)
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1159, in _handle_dbapi_exception
    exc_info
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb)
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 951, in _execute_context
    context)
  File "/home/qinf/test_flask/venv/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 436, in do_execute
    cursor.execute(statement, parameters)
OperationalError: (OperationalError) no such table: users u'SELECT users.id AS users_id, users.username AS users_username, users.role_id AS users_role_id \nFROM users \nWHERE users.username = ?\n LIMIT ? OFFSET ?' (u'test', 1, 0)

It is an error with the database. It says it has no the table 'users'.
The code in the directory are:

I guess I did not create the database.
Is the command I run before is wrong?(command: ./manage.py runserver --host <IP_ADDRESS>)

Step 7a is the first that uses a multi-file structure. As part of the re-structure the database name changed, so you have to run ./manage.py db upgrade. This is covered at the very end of chapter 7, section "Database Setup".


Modify the help window

Add a detailed guide for the main commands (ADD, DELETE, FIND, EDIT) in the HelpWindow
Change the USERGUIDE_URL with the team's actual website
This commit adds a detailed guide for the main commands and changes the USERGUIDE_URL
To help users quickly troubleshoot and learn how to operate the GUI

Few nits but all resolved. Good job!


Remove the short name for consistent decision in Operation WG

Proposed Changes

This PR removes the short name for the Knative Serving Operator CRD, since this is the decision made in operation WG.

Release Note

/lgtm


isNodeJS check

Hi, in asap.js you are checking whether the environment isNodeJS.
if (typeof process !== "undefined" && process.nextTick) {
    // Node.js before 0.9. Note that some fake-Node environments, like the
    // Mocha test runner, introduce a `process` global without a `nextTick`.
    isNodeJS = true;
}

We do have a fake environment with browserify where process.nextTick is used and this check is causing errors to be thrown synchronously causing issues.
One suggestion from ksmeltzer was to use process.title === 'node'. The problem is we have window in both envs and process etc..

Or Object.prototype.toString.call(process) == '[object process]'...

Do these environments also provide a bad process.nextTick?

Come back and re-open this if process.nextTick is bad on these fake Node environments. The isNode test just means that Q will use process.nextTick and check whether process.domain exists when necessary. It should not have any harmful side effects.

The problem is this in flush:
           try {
                task();

            } catch (e) {
                if (isNodeJS) {
                    // In node, uncaught exceptions are considered fatal errors.
                    // Re-throw them synchronously to interrupt flushing!

                    // Ensure continuation if the uncaught exception is suppressed
                    // listening "uncaughtException" events (as domains does).
                    // Continue in next event to avoid tick recursion.
                    if (domain) {
                        domain.exit();
                    }
                    setTimeout(flush, 0);
                    if (domain) {
                        domain.enter();
                    }

                    throw e;

                } else {
                    // In browsers, uncaught exceptions are not fatal.
                    // Re-throw them asynchronously to avoid slow-downs.
                    setTimeout(function() {
                       throw e;
                    }, 0);
                }
            }

It thinks that the browser isNodeJS and is therefore throwing errors synchronously instead of async as it would otherwise and flush is not completing.

I modified Q locally and forced the use of:
        requestTick = function () {
            setTimeout(flush, 0);
        };

and it works fine now! Q is not broken anymore.
So I think this is an issue that only happens when used with Browserify

This problem appeared between releases Browserify 8.0.3 and 8.1.0. Q works fine with older versions of Browserify

I've made a PR for node-process/browserify that solves this problem.
See https://github.com/defunctzombie/node-process/pull/37

can confirm Q does some funky stuff in browserify because it thinks it's in node

This happens with Webpack as well. It's killing our test suite and causing early exits instead of just test failures.

This has been addressed by @kahnjw in v1.2.1. Thanks for the tips.


fix: Allow users to disable ANSI color in logging

ISSUE TYPE

Bug fix Pull Request

Fixes #477

Hi @sumit-tembe, cool PR - would you like to reopen and rebase it to latest develop? It should be even easier to do than before, as now we are using envconfig: https://github.com/infracloudio/botkube/blob/develop/cmd/botkube/main.go#L48
Thanks!


[Conversational] Property  conversational  does not exist on type  HfInference

Hi, i'm new to huggingface.js and i want to build an ai chat-bot for my pet-project. I have all other methods from docs, but i don't have hf.conversational one:

It was deleted or i'm doing something wrong? (installing via npm)

Yes this was removed in https://github.com/huggingface/huggingface.js/pull/457 in favor or textGenerationStream, cc @Wauplin @SBrandeis
The docs should be updated indeed

Ok, thank you!

(Reopening, we should fix the doc!)


Backport aws-sdk-cpp fix to 23.05

Description of changes
This hopefully fixes random aws-sdk-cpp test failures: https://hydra.nixos.org/build/233688552
(cherry picked from commit 50f080e8a53793cfdf67fd37e038212a227174e9)

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

@edolstra can you restore this branch? Deleting the branch causes the following command to fail:
nix flake lock --override-input nix github:NixOS/nix/2.18.0


Base layer container for all VRE ops

Before merging, please review and comment the proposal.
Start refactoring cronjobs and scripts.

Create a common container for all vre ops with common tools (Same rucio server version, CA certs, voms etc..)
Creating a first tag (v0.1.0) for correctly labelling images.

@goseind
* apologise, Idid a bit of a mess on the previous commits (duplicated things due to a rename), and forgot to push the .github/workflow for the base ops layer.

* Most os the comments have been addressed.

* Except for the `version.txt` file (relying that the devs would remember updating a file every a change is done.... I don't trust nobodies head in general - neither mine ;).

* The way tags will happen now will be `<repository-version>_<short_sha>`. The problem of increasing by hand the version is the same as for the version file, we have to remember doing so - what I don't think it will happen. I will give it a though again. Otherwise we can just keep using the repository version, or the sha. I'm open to any decision.

I don't know if it will make sense for all image builds as they may require some extras like secrets during the build, but it would be nice to have a matrix build and everything in one workflow file - what do you think? This can also be added/merged at a later point in time.


@Published not re-rendered for ObservableObject subclasses

This is caused a currently unresolved bug in the fork of the Runtime library. All works fine (at least in all known test cases) if your ObservableObject class declared on a View with @ObservedObject wrapper has no base classes.

still an issue? the link 404s


UI. Info menu opens only by hover.

Description
When user try to open info menu - it should be shown by hover, when user click on info button it should stay opened.
Currently info meny hide when user un-hover, despite that he've clicked on it
Example:
https://github.com/user-attachments/assets/1258f887-e476-4349-bf1b-7132db609be4
Environment
https://github.com/novasamatech/nova-spektr/commit/0b5a8631081b729ecd524079bc75fb59dc0fc067

Status verification: ✅


BarChartView: Rectangle with borders and without filling color

Hi at all,
as I understood, there is no way of displaying just bar borders without filling. Would it be a desired feature or should I write only an extension for our project?
Greetings,
Andreas

A feature PR is always welcome :) I guess there are demands have the bars stroked but not filled


Long Touch doesn't work as RMB on GNOME

Describe the bug
Long Touch doesn't act like right mouse button.
In Nautilus context menu appears but disappears as soon as you lift your finger.
In other apps it does nothing
What did you expect to happen?

Output of rpm-ostree status

Hardware

Steam-deck OLED
Extra information or context
No response

[https://github.com/user-attachments/assets/b69098d0-e325-432a-aca2-f4db9ff62b35
https://github.com/user-attachments/assets/f3d302a0-9013-4fd4-aaff-a83d6889b0f5
]

Closed by mistake


Fix unhandled Promise rejection

In case srf.createUAC function is failed inside this.createEndpoint function, "You have triggered an unhandledRejection, you may have forgotten to catch a Promise rejection" error is raised and no callback is called to fsmrf app side.

released in 3.0.22


Optimize rendering call by using memoize function

Pull Request Test Coverage Report for Build 173

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.2%) to 91.506%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/chess/core/createNotation.js
0
1
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/chess/core/createNotation.js
1
88.24%

Totals

Change from base Build 172:
-0.2%

Covered Lines:
342

Relevant Lines:
362

💛  - Coveralls


StyleParamKey::offset and StyleParamKey::size do not have JSFunction handling

Currently duk_is_array check is only done for extrude, color, outline_color, font_fill and font_stroke_color style param keys.
Refer:
https://github.com/tangrams/tangram-es/blob/master/core/src/scene/styleContext.cpp#L236-L296

As documented, these functions do not support JS function values:

https://mapzen.com/documentation/tangram/draw/#size
https://mapzen.com/documentation/tangram/draw/#offset


Problem to use Flow in Swift

Hello, I'm starting my studies im KMP and I liked that purpose of this project, but, in my first attempt I've got this problem:

And I don't have idea the reason... I checkout if the code was generated and was done:

I created the alex to test if the problem is because the Flow with my own object hehe

I added the swift dependend as the readme indicate:

And I think that I configured the build script as expected:
import com.rickclephas.kmp.nativecoroutines.gradle.ExposedSeverity.*
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi

plugins {
    alias(libs.plugins.kotlinMultiplatform)
    alias(libs.plugins.androidLibrary)
    id("com.google.devtools.ksp") version "1.9.10-1.0.13"
    id("com.rickclephas.kmp.nativecoroutines") version "1.0.0-ALPHA-18"
}

@OptIn(ExperimentalKotlinGradlePluginApi::class)
kotlin {

    targetHierarchy.default()
    nativeCoroutines {
        exposedSeverity = ERROR
    }

    androidTarget {
        compilations.all {
            kotlinOptions {
                jvmTarget = "1.8"
            }
        }
    }

    listOf(
        iosX64(),
        iosArm64(),
        iosSimulatorArm64()
    ).forEach {
        it.binaries.framework {
            baseName = "shared"
        }
    }

    sourceSets {
        val commonMain by getting {
            dependencies {
                implementation(libs.kotlinx.datetime)
                implementation(libs.kotlinx.coroutines.core)
                implementation(libs.uuid)
                //put your multiplatform dependencies here
            }
        }
        val commonTest by getting {
            dependencies {
                implementation(libs.kotlin.test)
            }
        }
    }
}

android {
    namespace = "br.com.alura.compras"
    compileSdk = 34
    defaultConfig {
        minSdk = 24
    }
}

kotlin.sourceSets.all {
    languageSettings.optIn("kotlin.experimental.ExperimentalObjCName")
}

I tried to do some approaches, but all was unsuccessful... Can you help me? If you need to check my repository: https://github.com/alexfelipe/compras-kmp
Thanks! 😁

Hi! Your configuration look good. The error you are seeing is because boughtProducts is a Flow and asyncFunction(for:) expects a suspend function.
You can use asyncSequence(for:) to convert the Flow to an AsyncSequence, or createPublisher(for:) if you are using Combine.

Oh, Ty! Maybe I tought that i've saw a code using the asyncFunction or asyncStream and I assumed that right approach! Thanks again! ☺