android\build is cleaned after a new npm package is installed❓

Question
Every time I install a new package, the build folder (node_modules\react-native-vision-camera\android\build) is cleaned and it has to download packages like boost, folly again. I wonder if there is a way to keep the folder.
What I tried
No response
VisionCamera Version
2.12.0
Additional information

[ ] I am using Expo
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar questions in the issues page as well as in the discussions page and found none.

Hi!
Yes, this is because I have to get boost and folly from somewhere. Those packages are served over a web server and since C++ does not have a package manager like NPM, I cannot install them like this, I have to manually download them.
The solution would be Android prefabs, that requires React Native to ship their binaries as a prefab.

Hi @mrousavy, how about changing downloadsDir here
https://github.com/mrousavy/react-native-vision-camera/blob/06bcb53691c5029b08285b434e67c68ad723c0b7/android/build.gradle#L265
to
  def downloadsDir = new File("$buildDir/downloads")
+ if (findProject(':app') != null) {
+   downloadsDir = new File("${project(':app').buildDir}/downloads")
+ }
  def thirdPartyNdkDir = new File("$buildDir/third-party-ndk")

Apply these changes to react-native-mmkv and react-native-multithreading, we can use those packages for them without repeating download.

Sorry, I'm not sure what you mean by 'versioned' :worried:


Test that native module encryption and decryption works

Currently there does not seem to be anything to test that the encryption and decryption implemented in native_modules/aes.rs and native_modules/aead.rs works, for example that encryption followed by decryption gives the original data.
(I added something like output[1] = 3; and nothing broke. Was I just lucky?)

Static native modules can easily be added to the tests, just need to add a line to the policy like this:
https://github.com/veracruz-project/veracruz/blob/0b80b58474eed04f077aff3dbb6a1414f63ebfbc/workspaces/shared.mk#L231-L239.
Testing dynamic native modules is a bit trickier right now since you need to inject the binaries and [native module sandboxer] in the exec environment. This should definitely be covered by the CI at some point, at least VOD.
As a side note the iotex branch of VOD contains a very similar piece of code to perform video encryption/decryption (cf. https://github.com/veracruz-project/video-object-detection/blob/iotex-demo/aes-ctr-enc-dec/src/main.rs and https://github.com/veracruz-project/video-object-detection/blob/iotex-demo/src/main.cpp), and that branch isn't part of the CI, only the main one is

@egrimley-arm Is this complete?

I'm looking at this ...


Details about the code

I noticed that your code uses a custom spconv Does the SparseMaxPool2d class indicate that if I use voxelnext_ Max_ The detection header in the pool file needs to be installed with your spconv_ Plus library? Looking forward to your reply

I notice the "subm=True" maybe not used in Spconv 2.*


Add syntax support for gaps

Hi,
Thanks for making this. Would you consider adding syntax support for i3-gaps specific properties such as gaps_outer, gaps_inner & smart_gaps?
https://github.com/Airblader/i3

@Jab2870 I believe smart_gaps should be covered now by https://github.com/mboughaba/i3config.vim/commit/33c374e8e87daedd71daa03ba5e23cc1a84cb607, but I'm unsure what you mean by gaps_outer and gaps_inner. Are those not already covered by https://github.com/mboughaba/i3config.vim/commit/085410a99032c5cce94911de3093f21d31ab5883?

The gaps commands are part of the i3 New features.
As shown below, some of the examples from the above mentioned repo are not accepted by this plugin.


doc: migrate lib.derivations to doc-comment format

Description of changes

Migrate lib.derivations to use doc-comments (/** */) with explicit markdown.
migrated argument documentation.

Ping @DanielSidhion for review.
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

Ah damn, should've squashed, too late now :sweat_smile:


500 useT3Api is not defined

Hello!
I have a very strange behavior when fetching a new installation with nuxt-typo3.
I got the error:
500
useT3Api is not defined

This happens if I checkout a running app from git, run npm install and nuxt dev, but it also happens if I setup a completely new app, like described here: https://t3headless.macopedia.io/nuxt-typo3/introduction:
npx nuxi@latest init -t gh:TYPO3-Headless/nuxt-typo3-starter <project-name>
The same procedure worked some days ago, without any problems! So I can have the same app checked out from git on the same computer (it does not matter if macOS or Windows) twice - one checked out I guess about 1 or 2 weeks ago working and one checkt out today not working!
If I remove node_modules directory from the non-working installation and copy node_modules directory form a working (older) one, the non-working will work! I suspect it is a newer version of some package which is causing it to no longer work? But which one?
Any ideas how I can better narrow down the error? The consoles and the NuxtDevTools do not provide any valuable information for me :-(

today I can't even kickstart a new project
https://github.com/user-attachments/assets/204a72c1-e078-445a-9c24-f22ecc832c6e

@cehret we are working on it.
Somehow, the composables we provided for autoimports are no longer being resolved.
As a temporary workaround, you can import our composables through the #typo3 alias.
import { useT3Api } from '#typo3/composables/useT3Api'

cannot reproduce the issue anymore - it seems that the error has been fixed


Button and fontFamily, fontSize etc..

Hello,
I've an issue with native-base 0.5.2 on react-native 0.30.0.
I can't set a font family or a font size on a button. Can you tell me if it's me or not.
Thanks !

Please attach code examples.

I was using my text instead of  my bad...


Fix -r option

To include an example usage.

Resolved, and included -d option requirement by making the second date optional.


Health port needs to be configurable

Is your feature request related to a problem?/Why is this needed
We encountered this with an internal user:
kube-system         csi-azurelustre-node-2ldpd                           0/3     Pending   0             76m
kube-system         csi-azurelustre-node-b2kmb                           0/3     Pending   0             76m
kube-system         csi-azurelustre-node-lfhmc                           0/3     Pending   0             76m
Events:
  Type     Reason            Age                 From               Message
  ----     ------            ----                ----               -------
  Warning  FailedScheduling  79m                 default-scheduler  0/3 nodes are available: 1 node(s) didn't have free ports for the requested pod ports. preemption: 0/3 nodes are available: 2 node(s) didn't match Pod's node affinity/selector, 3 node(s) didn't have free ports for the requested pod ports.
  Warning  FailedScheduling  24m (x10 over 74m)  default-scheduler  0/3 nodes are available: 1 node(s) didn't have free ports for the requested pod ports. preemption: 0/3 nodes are available: 2 node(s) didn't match Pod's node affinity/selector, 3 node(s) didn't have free ports for the requested pod ports.
Describe the solution you'd like in detail
We already parameterize other parts of the yaml spec.
We should also parameterize containerPort: 29633 for the azurelustre container and liveness-probe.
Describe alternatives you've considered
We're going to run into other pods/containers running on specific ports.  We need to be able to work around them.

Additionally, we need to pick a new default port.  csi-blob-node is using port 29633.

Thanks Joe! below is the reserved ports for Lustre CSI driver
controller
health: 29762
metrics: 29764
node
health: 29763
metrics: 29765


[Pix11] add new extractor

There may be several videos on a page: http://pix11.com/2016/05/25/multiple-people-shot-at-concert-at-irving-plaza/.


Schedule front-end

front-end code to display the schedule in an understandable format

woo, looks good! https://github.com/kryali/classwhole/commit/94e49b7124baa27a22791406f7834c888fa3bf39


Where is EVA G?

Where does these EVA G indicates for?

It's EVA-CLIP-g with 1B parameters.

What's the input resolution btw?

What's the input resolution btw?

it's 224x224.


pip install Starfish

Is there anything stopping a pip install Starfish from occurring yet?
I include Starfish (to access the grid_tools) as a requirement for a project I working on. I would like to just include Starfish in the requirements.txt file to avoid having to also instruct users how to install Starfish etc.

There's nothing stopping a pip install Starfish from occurring yet, other than I'd need to remind myself of the details of how to set this up (and I'm a little short on time these days). I'll try to get to it in the near future, or if you want to implement this via a pull request I'd be happy to merge.

I have started looking into this a little and ran into a number of issues. I document some of the things I have tried/found so far are.
I have taken a clone of Starfish and started playing with uploading it to https://test.pypi.org. Not quite yet pip installable with
 pip install --index-url https://test.pypi.org/simple/ piptestStarfish
Version 0.1.1 fails with "SSL is required" this is because things have changed and
Installing and using ez_setup.py is depreciated now. https://github.com/pypa/setuptools/issues/581
So can remove ez_setup.py and and rely pip having setuptools already available.
This is done in Version 0.1.2.
I currently am trying to pip install into a clean anaconda environment. So Starfish can be installed alongside numpy/cython in the same requirements.txtwithout having to have numpy and cython pre-installed.
Currently setup.py imports numpy and cython so this is still an issue.
One solution for cython part is  setup-requires-with-cython. In which setuptools >18 can handle/find *pyx files
from setuptools import setup, Extension

setup(
    # ...
    setup_requires=[
        # Setuptools 18.0 properly handles Cython extensions.
        'setuptools>=18.0',
        'cython',
    ],
    ext_modules=[
        Extension(
            'mylib',
            sources=['src/mylib.pyx'],
        ),
    ],
)

You can see there is a setup_requires to now put setup dependencies. ( this won't prevent failure when trying to import these at the top of  setup.py`though).
After installing verision0.1.3 with numpy and cython and scikit-learn (it could not find a matching distribution from the install_requires???) it is installed...
Trying to import without a config file present gives.
❯ python
Python 3.6.6 | packaged by conda-forge | (default, Jul 26 2018, 09:53:17)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import Starfish

FileNotFoundError: [Errno 2] No such file or directory: '/home/jneal/anaconda3/envs/starfishtest1/lib/python3.6/site-packages/Starfish/config.yaml'

This is because the default configuration file is not packaged in MANIFEST or in package_data.
I assume this will also be the same with any other data files that are needed.
That is enough problems for one day...

I found that you can pip install Starfish  with
pip install https://github.com/iancze/Starfish/archive/master.zip#egg=Starfish
or add
https://github.com/iancze/Starfish/archive/master.zip#egg=Starfish
to the requirements.txt
Currently this still does not work if numpy and cython are not already present.

Adding https://github.com/iancze/Starfish/archive/develop.zip#egg=Starfish  to requirements.txt now  works. (no dependencies needed before hand)
A release on pypi is still needed so that
pip install Starfish
can be performed and starfish can be included in the install_requires section of setup.py.
Note: Unfortunately there is already a package on pypi called starfish. Pypi is case insensitve so the pypi release can not be just called starfish.

Glad to hear the new version works 👍
@iancze will have to do the decision on naming for PyPi, maybe astrostarfish or similar.

So, the package name is defined within the setup.py file and can be separate from the actual module name (see pytorch: pip install pytorch import torch). So, we would keep starfish as the main module but within the setup.py it would be referenced as astrostarfish. Easy changes.
Uploading to PyPi requires using twine. Guide there is comprehensive but here's the gist-
First, create an account on PyPi to get credentials.
$ pip install twine
$ python setup.py sdist bdist_wheel
$ twine upload --repository-url https://test.pypi.org/legacy/ dist/*

Verify this works then
twine upload dist/*

I'll do a quick fork for develop and implement the setup.py changes.

Thanks for the tips (and the pull request). I created a PyPi account. I'll merge develop into master, then run through the packaging commands you listed, and hopefully we'll have a release on PyPi soon. Does that make sense?

Seems good to me.

I've kept setup.py up to date with my changes on refactor/core-numpy. We are very close to a version 0.3 (or whatever is next) release and that would be a great time to roll out the official astrostarfish egg/wheel onto pypi. This will get handled in an email somewhere, I'm sure, so I'll close this down.


[Feature Request]: add PowerPoint support to Confluence reader

Feature Description
Currently, the Confluence reader supports attachments in PDF, image (PNG,JPG), Microsoft Word, Excel, and SVG.     I have quite a few PPT attachments in Confluence, and would be nice to handle them as well.    There are readers for PowerPoint (and other formats not supported here) available in llama-index-integrations/readers - maybe this is part of a bigger project to make the attachment handling unified across all of the readers since the issue may exist in Jira and other platforms.
Reason
When including attachments in a Confluence reader run, I am missing some attachments without this support
Value of Feature
I would imagine that the expectation is that when using Confluence that all file types that LlamaIndex supports would be supported for attachments

once I clean up things (and use the llama_index instead of llama_hub repo) - i will put up a pull request - locally I've added CSV, PPT, upgraded the Excel support (it didn't handle XLSX before), Outlook messages as attachments, etc.     All just adding to base.py without re-writing things - just adding more file types.    Will try to get it done this week, but next week more likely.

created pull request with my changes - https://github.com/run-llama/llama_index/pull/11454.   tested against my company's Confluence environment and we now use this as part of an (internal) production documentation chatbot.


How To Mix Mvc Pages With Blazor

i mean i will Create Web App Mvc How use Into This App Blazor
,,
And Check Input Validation In Blazor
Like Model Pages and Models In Mvc.
Any One Have Way to Mix mvc-With Blazor In save app

You can use an island of Blazor within MVC or Razor Pages by including the Blazor scripts. You can see an example of this here: https://github.com/danroth27/BlazorChat. We don't have an input validation system in Blazor yet, but the feature is tracked by #17.


E10M20-T1 displayed, but won't work.

Hello,
I've bought a Synology E10M20-T1 for my DS1621+ after it was listed to be compatible somewhere. Turns out it's not, at least not out of the box.
I'm a noob to this and I believe I've read somewhere that with your script, the E10M20-T1 can be made to work for the DS1621+, is that so? I ran the script successfully via Putty, but it listed "no PCIe cards found" although the card gets listed fine in the NAS's Control Panel, it just won't connect, no lights, nothing.
Could anyone please advise? Thank you so much.

First you need to enable using the E10M20-T1 in the DS1621+ with https://github.com/007revad/Synology_enable_M2_card
Then the syno_hdd_db script will allow you to create a storage pool and volume on the NVMe drives in the E10M20-T1

Christ @007revad I had hoped you didn't read this so quickly so I can use your other script and delete it ... but yeah, your script worked like a charm. Can't wait to finalize the 10G connections in my house to finally get a faster connection to my NAS. Many thanks!


fix: 修复列等宽布局模式下角头出现省略号 close #2726

👀 PR includes

🐛 Bugfix

[x] Solve the issue and close #2726

📝 Description

🖼 Screenshot

Before
After

🔗 Related issue link

🔍 Self-Check before the merge

[ ] Add or update relevant docs.
[ ] Add or update relevant demos.
[ ] Add or update test case.
[ ] Add or update relevant TypeScript definitions.

:tada: This PR is included in version @antv/s2-v2.0.0-next.21 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


use Fortran standard subroutine "close" to delete "stop" file

use Fortran standard subroutine "close" to delete "stop" file. the old style
call shell to delete file may cause problem in some OS(such as Windows).

Thanks for finding this... we made a different commit that works in parallel.  Closing your pull request.


[💡 Feature]: Allow Todos to be automatically added

Is your feature request related to a problem?
Currently users can add todos when there is a Todo: ... somewhere in the code, e.g.:

However it is difficult to see all of those places without scanning through all files.
Describe the solution you'd like.
We could add an option to the todo widget that defines whether Marquee should automatically add todos in all workspace files. In case this config is enabled we display these todos and automatically remove them once someone removes the todo in the code.
Describe alternatives you've considered.
No response
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

If I could piggy back on this, being able to also click the TODO in marquee and jump to the spot its referenced would be nice. If this is not possible, having it append a filename would be nice as well.

@CodingWithDavidZ thanks for the feedback. Actually we had this working for notes and snippets

which for some reasons I am currently not able to reproduce (could be a bug) but I believe I added this for Todos too.

which for some reasons I am currently not able to reproduce (could be a bug) but I believe I added this for Todos too.

@CodingWithDavidZ Ok, it seemed that the extension didn't fully upgrade and I was still seeing an old version. If you select a text snippet you should see "Add Selection to Todos" which then links the todo to the file where you captured it from:

This is blocked on https://github.com/microsoft/vscode/issues/59921. There are APIs available to leverage the search mechanism of VSCode for this kind of purpose. However this API needs to be enabled through enabledApiProposals which means we only could release this to insiders users only. I suggest to keep this on the back burner until the API has reached a stable status.


Packer throwing error while provisioning Goss!

when trying to use Goss provision as below in template.json  in Packer , I am getting the below error: Any thoughts / suggestions- how to fix it. TIA
Code:

{
  "variables": {
    "aws_access_key": "",
    "aws_secret_key": "",
    "token": ""
  },
  "builders": [
    {
      "type": "amazon-ebs",
      "access_key": "{{user `aws_access_key`}}",
      "secret_key": "{{user `aws_secret_key`}}",
      "token": "{{user `token`}}",
      "region": "us-east-1",
      "source_ami_filter": {
        "filters": {
          "virtualization-type": "hvm",
          "name": "amzn2-ami-hvm-2.0.*.1-x86_64-ebs",
          "root-device-type": "ebs"
        },
        "owners": [
          "amazon"
        ],
        "most_recent": true
      },
      "instance_type": "t2.micro",
      "ssh_username": "{{user `ssh_username`}}",
      "ami_name": "packer-example {{timestamp}}",
    "tags":{
    "Name": "nginx-ami-packer - {{timestamp}}"
    }
    }
  ],
  "provisioners": [
    {
      "type": "shell",
      "script": "nginx.sh"
    },
    {
      "type": "goss",
      "tests": [
        "goss/goss.yaml"
      ]
    }
  ]
}

Error:
Tor-Ranopriyo-MBP13:packer-ami ranopriyoneogy$ packer build -var-file=vars.json template.json
Error: Failed to initialize build "amazon-ebs"

error initializing provisioner 'goss': Unknown provisioner goss

==> Wait completed after 375 microseconds

==> Builds finished but no artifacts were created.

Figured it on my own - solved by installing correct version of  packer-provisioner-goss for MacOS - https://github.com/YaleUniversity/packer-provisioner-goss/releases/tag/v3.0.2  ..Closing this issue.


update k3s sysext example

with overwrite set to true, butane was complaining and I was not able to transpile the same config to JSON.
This also updates the user and group of kubeconfig (/etc/rancher/k3s/k3s.yaml) so that we don't have to use sudo with kubectl commands.

Hello @kranurag7 would you be interested to continue on this PR? It will close this issue: #80

Completely missed this among noisy GitHub notifications [sorry about that :( ]
I've addressed the comments via https://github.com/kranurag7/sysext-bakery/commit/a853e697a7efcc60926a3dd34096516067b6aeef


OCR task failed.

hello, I used an Apple device to reproduce locally, but encountered the following situation:
{'state': 'FAILURE', 'status': 'Server disconnected without sending a response.'}
OCR task failed.
I use :  python client/cli.py ocr --file examples/example-mri.pdf --ocr_cache --prompt_file=examples/example-mri-remove-pii.txt
how to solve this problem?

turn off VPN

Thanks @PoleGeogry! It might be usefull for other users as well, the problem with VPN was with OCR trying to get weights from internet or by accessing local server ports?


Should literal / unsafeStatic be exported/documented?

https://lit.dev/docs/templates/expressions/#static-expressions mentions a literal tag and unsafeStatic but I can't find anywhere how to import it.
It seems to be accessible via import {literal, unsafeStatic} from 'lit/static-html.js.
Should it be exported and added to the docs?

hm, trying it out:
let b = literal`b`;
return html`<${b}>adad</${b}>`;

gives me the following broken DOM, some maybe this isn't finished yet?
<lit$2270415655$>adad</lit$2270415655$>

@lazka are you importing html from static-html.js too? You need to use that version of html to get static support.


Too many calls for a certificate that already exits

Bugs should be filed for issues encountered whilst operating cert-manager.
You should first attempt to resolve your issues through the community support
channels, e.g. Slack, in order to rule out individual configuration errors.
Please provide as much detail as possible.

Describe the bug:
I have a backup of the wildcard certificate on S3. When I install cert-manager I also create that secret with certificate data. I see the messages that certificate is OK and upto date, but still lot's of orders for each of used subdomains in ingress are made, as an attempt to create a certificate and I get rate limit for letsencrypt service.
Expected behaviour:
Should not attempt to make new Orders.
Steps to reproduce the bug:
Create a custom secret with a certificate and use it on ingress.
Anything else we need to know?:
Here are the logs. Why do we have all orders for default/certificate-stage-domain-com-tls-697723769? Certificates already exist, why we need that?
I0319 20:09:56.329019       1 controller.go:173] ingress-shim controller: syncing item 'default/kubernetes-dashboard'
I0319 20:09:56.638314       1 controller.go:145] certificates controller: syncing item 'default/certificate-stage-domain-com-tls'
I0319 20:09:56.639372       1 controller.go:179] ingress-shim controller: Finished processing work item "default/kubernetes-dashboard"
I0319 20:09:56.639468       1 controller.go:173] ingress-shim controller: syncing item 'default/kubernetes-dashboard'
I0319 20:09:56.639698       1 sync.go:177] Certificate "certificate-stage-domain-com-tls" for ingress "kubernetes-dashboard" already exists
I0319 20:09:56.639746       1 sync.go:180] Certificate "certificate-stage-domain-com-tls" for ingress "kubernetes-dashboard" is up to date
I0319 20:09:56.639844       1 controller.go:179] ingress-shim controller: Finished processing work item "default/kubernetes-dashboard"
I0319 20:09:56.640250       1 helpers.go:183] Setting lastTransitionTime for Certificate "certificate-stage-domain-com-tls" condition "Ready" to 2019-03-19 20:09:56.640240893 +0000 UTC m=+478.448218162
I0319 20:09:56.683236       1 controller.go:183] orders controller: syncing item 'default/certificate-stage-domain-com-tls-697723769'
I0319 20:09:56.683522       1 logger.go:38] Calling CreateOrder
I0319 20:09:56.711856       1 controller.go:173] ingress-shim controller: syncing item 'default/kubernetes-dashboard'
I0319 20:09:56.712059       1 sync.go:177] Certificate "certificate-stage-domain-com-tls" for ingress "kubernetes-dashboard" already exists
I0319 20:09:56.712138       1 sync.go:180] Certificate "certificate-stage-domain-com-tls" for ingress "kubernetes-dashboard" is up to date
I0319 20:09:56.712174       1 controller.go:179] ingress-shim controller: Finished processing work item "default/kubernetes-dashboard"
I0319 20:09:56.713185       1 controller.go:151] certificates controller: Finished processing work item "default/certificate-stage-domain-com-tls"
I0319 20:09:56.713239       1 controller.go:145] certificates controller: syncing item 'default/certificate-stage-domain-com-tls'
I0319 20:09:56.714112       1 issue.go:154] Order default/certificate-stage-domain-com-tls-697723769 is not in 'valid' state. Waiting for Order to transition before attempting to issue Certificate.
I0319 20:09:56.724651       1 controller.go:151] certificates controller: Finished processing work item "default/certificate-stage-domain-com-tls"
E0319 20:09:57.295420       1 controller.go:185] orders controller: Re-queuing item "default/certificate-stage-domain-com-tls-697723769" due to error processing: error creating new order: acme: urn:ietf:params:acme:error:rateLimited: Error creating new order :: too many certificates already issued for exact set of domains: kub.stage.domain.com: see https://letsencrypt.org/docs/rate-limits/
I0319 20:10:02.295708       1 controller.go:183] orders controller: syncing item 'default/certificate-stage-domain-com-tls-697723769'
I0319 20:10:02.296033       1 logger.go:38] Calling CreateOrder
E0319 20:10:02.937109       1 controller.go:185] orders controller: Re-queuing item "default/certificate-stage-domain-com-tls-697723769" due to error processing: error creating new order: acme: urn:ietf:params:acme:error:rateLimited: Error creating new order :: too many certificates already issued for exact set of domains: kub.stage.domain.com: see https://letsencrypt.org/docs/rate-limits/

I0319 20:10:12.937349       1 controller.go:183] orders controller: syncing item 'default/certificate-stage-domain-com-tls-697723769'
I0319 20:10:12.937583       1 logger.go:38] Calling CreateOrder
E0319 20:10:13.578919       1 controller.go:185] orders controller: Re-queuing item "default/certificate-stage-domain-com-tls-697723769" due to error processing: error creating new order: acme: urn:ietf:params:acme:error:rateLimited: Error creating new order :: too many certificates already issued for exact set of domains: kub.stage.domain.com: see https://letsencrypt.org/docs/rate-limits/
I0319 20:10:22.860633       1 controller.go:173] ingress-shim controller: syncing item 'default/kubernetes-dashboard'
I0319 20:10:22.860738       1 sync.go:177] Certificate "certificate-stage-domain-com-tls" for ingress "kubernetes-dashboard" already exists
I0319 20:10:22.860764       1 sync.go:180] Certificate "certificate-stage-domain-com-tls" for ingress "kubernetes-dashboard" is up to date
I0319 20:10:22.860789       1 controller.go:179] ingress-shim controller: Finished processing work item "default/kubernetes-dashboard"

I0319 20:10:33.579152       1 controller.go:183] orders controller: syncing item 'default/certificate-stage-domain-com-tls-697723769'
I0319 20:10:33.579371       1 logger.go:38] Calling CreateOrder
E0319 20:10:34.156888       1 controller.go:185] orders controller: Re-queuing item "default/certificate-stage-domain-com-tls-697723769" due to error processing: error creating new order: acme: urn:ietf:params:acme:error:rateLimited: Error creating new order :: too many certificates already issued for exact set of domains: kub.stage.domain.com: see https://letsencrypt.org/docs/rate-limits/

I0319 20:11:14.157139       1 controller.go:183] orders controller: syncing item 'default/certificate-stage-domain-com-tls-697723769'
I0319 20:11:14.157330       1 logger.go:38] Calling CreateOrder
E0319 20:11:14.740676       1 controller.go:185] orders controller: Re-queuing item "default/certificate-stage-domain-com-tls-697723769" due to error processing: error creating new order: acme: urn:ietf:params:acme:error:rateLimited: Error creating new order :: too many certificates already issued for exact set of domains: kub.stage.domain.com: see https://letsencrypt.org/docs/rate-limits/

I0319 20:12:34.741212       1 controller.go:183] orders controller: syncing item 'default/certificate-stage-domain-com-tls-697723769'
I0319 20:12:34.741641       1 logger.go:38] Calling CreateOrder
E0319 20:12:35.314779       1 controller.go:185] orders controller: Re-queuing item "default/certificate-stage-domain-com-tls-697723769" due to error processing: error creating new order: acme: urn:ietf:params:acme:error:rateLimited: Error creating new order :: too many certificates already issued for exact set of domains: kub.stage.domain.com: see https://letsencrypt.org/docs/rate-limits/

Environment details::

Kubernetes version (e.g. v1.13.4):
Cloud-provider/provisioner (e.g. GKE, kops AWS, etc): DigitalOcean
cert-manager version (e.g. v0.4.0): v0.6.0
Install method (e.g. helm or static manifests): helm

Thx a lot!

OK, I saw there is the latest version: v0.7.0. I did an upgrade and seems that I don't have these issues anymore. Will keep it running more and see.

OK, these issues still persist.
I have a wildcard certificate which is stored in a secret called: certificate-stage-domain-com-tls. Now, all the ingress have this config:
"tls": [
      {
        "hosts": [
          "kub.stage.domain.com"
        ],
        "secretName": "certificate-stage-domain-com-tls"

But for some reason it still try to create a certificate for that subdomain.
I0328 14:04:38.187471       1 logger.go:38] Calling CreateOrder
E0328 14:04:38.421878       1 controller.go:186] orders controller: Re-queuing item "default/certificate-stage-domain-com-tls-408096818" due to error processing: error creating new order: acme: urn:ietf:params:acme:error:rateLimited: Error creating new order :: too many certificates already issued for exact set of domains: kub.stage.domain.com: see https://letsencrypt.org/docs/rate-limits/

Any idea how can I fix this, it anoying as it tries to create certificate that I don't need.

OK, did more investigations. The issue is that when we already have a secret with a widcard certificate and we try to use it for some subdomain ingress, it does override the following annotations:
from:
certmanager.k8s.io/alt-names: '*.stage.domain.com`
certmanager.k8s.io/common-name: `*.stage.domian.com`
certmanager.k8s.io/ip-sans: ""

to:
certmanager.k8s.io/alt-names: subdomain.stage.domain.com
certmanager.k8s.io/common-name: subdomain.stage.domian.com
certmanager.k8s.io/ip-sans: ""

Any way to disable this or how can we make this work so that we have a secret with wildcard certificate for all ingress?


Link person under the People tab to go to external website instead of the site's own person page

Feature Request
I'm sorry if this has already been asked or is already possible, but I couldn't figure it out from the documentation or the previous Issues in this repository.  If this is already possible, please let me know.  It's a great project, thanks for your work!
Is your feature request related to a problem? Please describe.
I can't find a way to add a person to the People page, without creating a separate page for them.
Describe the solution you'd like
Can there be an option under the People page to link to an external website, instead of creating a person page for them?
Describe alternatives you've considered
I've considered just having the links in the Person's Bio, but that is not ideal
EDIT:
To clarify, I mean to link to an external page like the project section has.  Is that a possible for the People page?  Or for that matter, even the Publications page (that link with citation view takes you to an internal page).

Closing as this is a duplicate.
Academic comes with its own user profile system. A user's website can be linked in their social icons (choosing the link icon) or in their bio.
To use an alternative system, the relevant files can be overrided using Hugo's template override principle.

Hello! 😄
Thank you very much for the great work you do. I am writing to you because I have the same request as @orionw , because I would like that only for some members of our team, the link with their names redirects to their external pages and not to an internal page in Hugo. The reason is that they are collaborators and they already have their own developed sites.
I don't know much about HTML so I would appreciate it if you could tell me where I can edit that if the only solution is to edit the partials.
Kindest Regards


Pod metrics are not available

After installing heapster with microk8s.enable dashboard only the metrics from the node are available in Grafana and as an output of microk8s.kubectl top like:
$ microk8s.kubectl top node
NAME       CPU(cores)   CPU%      MEMORY(bytes)   MEMORY%
microk8s   89m          8%        1237Mi          42%

However the pod metrics are not available:
$ microk8s.kubectl top pod -n kube-system
W0825 05:49:24.131657   10654 top_pod.go:263] Metrics not available for pod kube-system/heapster-v1.5.2-577898ddbf-wzq4w, age: 4m8.131641237s
error: Metrics not available for pod kube-system/heapster-v1.5.2-577898ddbf-wzq4w, age: 4m8.131641237s

You also don't get the per-pod CPU and memory graphs in the dashboard.
I think I've tracked it down to the summary API having an empty "pods" array:
$ curl http://localhost:10255/stats/summary
{
  "node": {
...
   }
  },
  "pods": []
 }

I haven't been able to figure out why - can't find anything of relevance on the kubelet service logs. This is reproducible on a fresh microk8s install. Any help would be appreciated, thanks!

We know we have a gap in respect to metrics. We do not ship the metrics server. Could this be related?

I actually found the problem: the cadvisor included in kubelet listens to the Docker socket at the default location (/var/run/docker.sock) to get container metrics.
The standalone instance has a option to change it (https://github.com/google/cadvisor/blob/master/docs/runtime_options.md#docker) but I haven't found a way to change it in the kubelet options.

Thank you so much for debugging this!
There is a configuration argument for kubelet that goes by the name --docker. Here is what you have to do to add it.
Edit /var/snap/microk8s/current/args/kubelet and append this line
--docker unix://${SNAP_DATA}/docker.sock

Save the file and restart kubelet with:
sudo systemctl restart snap.microk8s.daemon-kubelet

I see the metrics for pods flowing in now.
It was my fault I missed the --docker option because there is also the --docker-endpoint. Right now my kubelet args file looks like this:
> sudo cat /var/snap/microk8s/current/args/kubelet
--kubeconfig=${SNAP}/configs/kubelet.config
--cert-dir=${SNAP_DATA}
--network-plugin=kubenet
--root-dir=${SNAP_COMMON}
--docker-root=${SNAP_COMMON}/var/lib/docker
--fail-swap-on=false
--pod-cidr=<IP_ADDRESS>/24
--non-masquerade-cidr=<IP_ADDRESS>/24
--cni-bin-dir=${SNAP}/opt/cni/bin/
--docker unix://${SNAP_DATA}/docker.sock
--docker-endpoint unix://${SNAP_DATA}/docker.sock
--feature-gates=DevicePlugins=true
--eviction-hard="memory.available<500Mi,nodefs.available<1Gi,imagefs.available<1Gi"
--cluster-domain=cluster.local
--cluster-dns=<IP_ADDRESS>
--allow-privileged=true

The fix is appending this single line in this file: https://github.com/ubuntu/microk8s/blob/master/microk8s-resources/default-args/kubelet . @ghys  do you want to submit a PR? You deserve it.
Thank you again

Oh so it was simply --docker 😄

@ghys do you want to submit a PR?

Sure - thanks!


Inventory Items with long names don't wrap neatly

Title and the picture say it all.

Resolved on the new character sheets


Improvement for development version roadmap

Fix for #415

Added a new step: Point Release: {{ nextversion }}
Move the packaging countdown to the Point Release step
I've added the following help text to the Point Release step: "Every October, we release a new Long Term Release (LTR) and start a new development cycle."

LGTM


Assertive TinyOrmConfig.cmake breaks static builds

When searching for a TinyORM installation via find_package(TinyORM), the TinyORMConfig.cmake script generated from cmake/TinyOrmConfig.cmake.in will assert on the existance of ${TinyORM_ROOT}/bin in line 21 of it's source script and store the result into a variable that isn't referenced by the find_package logic.
If a static-only TinyORM is installed, the corresponding path will not be created during installation as the static library resides in lib rather then bin, causing find_package invokations by consuming projects to fail.

I want to ask, are these static builds working? I don't mean installation but if you can execute it correctly and on what OS are you building?

I'm not sure about TinyORM's primary ORM capabilities, but the querybuilder works in static linkage mode... on Debian, Manjaro, and FreeBSD.
I'll try Windows later

Great to hear, the querybuilder is most important. The ORM is header only so that should be ok too but in C++ anything can happen.

static builds of TinyORM work on windows, too (requires #18 though, as a linker warning breaks the build due to /WX)

I have tried CMake static build with Qt6 msvc now and I was successful, no fails.

Tried with BUILD_SHARED_LIBS=OFF, TOM_EXAMPLE=ON, BUILD_TESTS=ON, MYSQL_PING=ON, also all tests passed so this should be ok.

I have tried CMake static build with Qt6 msvc now and I was successful, no fails.

I'm not getting any warnings on my workstation either, however I'm seeing them occur on the github runners.
Appearently the warnings are gone on github, too, after updating TinyORM from 0.33.0 to 0.34.0 .

Thank you, merged, also pls merge PR-s to the develop branch rather than the main branch.


Universe Expression Macros vs Family Registration

(Root cause of #3 and #5)
You must explicity import all your systems which will be added to the universe into the module which constructs the universe. This is due to the order of macro execution. It seems that by importing a type it will call the build macros on it and a build macro is used to register all components, resources, and families in a system. As soon as the universe is typed it will look into the family cache and allocate enough space for whats currently in the cache, but if not all systems are imported into the module which types the universe object then you can end up in a situation where components are registered after the universe expression macros are ran which means they aren't known about at runtime and will lead to crashes.
One potential solution is to inject new types after all typing is completed and add @:native meta to the existing manager types to redirect it to the new one. I've got a small prototype working but it there are some weird compiling issues with it, might just need a bit more bodging to get working.

Fixed by 0f10d84


Allow underscore character in Uri host

I don't understand why this validity check has been added. Has per rfc 2181 (https://datatracker.ietf.org/doc/html/rfc2181#section-11), underscore are valid character to use in an uri host.
For my specific usage, it broke for requests using docker internal hostnames.

@lulhum Thanks for applying these changes :+1:
Looks good to me so far. As a last step, can you squash the two commits into one? I don't think we need two separate ones as they're related to each other.

@SimonFrings If @lulhum is not responding on the squash in her fork is there anything we can do to speed the issue up?
I also ran into this issue where our production containers have underscores in the host name where I needed to patch it.
As the fix is not that complex, but can be quite impactful I believe we should not wait for the reply for this long.

@SimonFrings
Sorry, I missed the squash request, thanks for the reminder @robertragas

@lulhum Thanks for the feedback on the URI host validation check. It appears there may have been some confusion around where underscores are allowed in URIs. As the maintainer who introduced that change in #521 recently, let me try to add some context.
You're correct that per RFC 2181, underscores are valid characters to use in DNS labels, which form the hostname component of a URI. However, the hostname component of a URI is subject to stricter requirements, as outlined in RFC 1123 and RFC 952. These RFCs state that hostnames must consist of alphanumeric characters and hyphens, and underscores are not permitted (see e.g. https://en.wikipedia.org/wiki/Hostname#Syntax).
I can certainly understand the frustration if this broke functionality for your specific use case with Docker internal hostnames. Early versions of Docker Compose did indeed use underscores in container names, but the more recent v2.0 release (released 2021) switched to using hyphens instead, following the hostname restrictions (https://github.com/docker/compose/issues/472).
While some other projects may be more lenient and accept underscores in hostnames, the RFCs are clear that this is not the correct behavior. That said, I'm open to further discussion on the potential impact and whether a more flexible approach could be warranted. Perhaps there are ways to strike a balance between strict RFC compliance and practical usability while keeping security in mind (https://claroty.com/team82/research/exploiting-url-parsing-confusion).
What do you think would be the best path forward here? I'm open to suggestions on how to balance strict adherence to the standards with practical considerations for users. I'm happy to discuss further, so please feel free to share any additional thoughts or suggestions you may have.

@lulhum Let's move forward with this one! :shipit: I've only fixed a minor typo, rebased your changes and added another test, changes look good to me otherwise as discussed above, so let's get this shipped! Keep it up! :+1:


refactor run generation

refactor run generation

@bgoldberg-habana I was rather thinking of a utils.py in the folder of the example :smile:

@bgoldberg-habana , can you please add a brief description of the refactor, anything like motivation/purpose/summary etc?
Is it a pure refactor, or does it add some extra functionality as well?

@bgoldberg-habana , can you please add a brief description of the refactor, anything like motivation/purpose/summary etc? Is it a pure refactor, or does it add some extra functionality as well?

it's a pure refactor, no new functionality was added,
i've removed duplicate code, make the code more structured.
and it's baseline for more features to come.. (fp8, eval script etc..)

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Most games are not compiling

If I change the webpack.config.js to point to various games, I run into this compile issue:
https://github.com/photonstorm/phaser3-docs/issues/24
For example,
entry: './src/games/space-invaders/game.ts',
ERROR in /Users/sschafer/personal/projects/phaser3-typescript/src/games/asteroid/objects/asteroid.ts
[tsl] ERROR in /Users/sschafer/personal/projects/phaser3-typescript/src/games/asteroid/objects/asteroid.ts(37,15)
TS2339: Property 'allowGravity' does not exist on type 'Body | StaticBody | BodyType'.
Property 'allowGravity' does not exist on type 'BodyType'.
What's the best way to resolve this?

@scottschafer Hello! The problem should be solved now. A lot of it was out of date. I have refactored every game. Every game is now an independent project.

Thank you Eric! Much appreciated


Unclear Error Message: Notification send failed. Error = "Full(..)"

Looks like this function throws an error if the max_queue is met however it's more of a status message than an error isn't it? The message is still queued for dispatch, it's just waiting on the message queue to not be full.

Unfortunately no. If your notification receiver isn't keeping up with the incoming messages, you'll loose messages

related #139

Ah I see, I was seeing "try send" as try to send to the broker.


Data Migration Script

How are you and @0brandy0 coordinating work? I think I heard she was working on something similar. Want to make sure you're not stepping on each other's toes.

So @0brandy0 is gonna focus on making sure that we lowercase the usernames as we move them over to the new table, and I'm gonna focus on grabbing the data out of the tables and making sure the right rows get moved to the right tables.


media: Fix issue with stream resolution on SFU

Description
In many cases, updateStreamResolution is called before the consumer is ready. In order to avoid the integrating application needing to be aware of consumer state, we now keep track of streamId and resolution and apply the correct simulcast layer when the consumer is ready.
Testing
Will provide a PWA PR with manual test instructions.

Checklist

[x] My code follows the project's coding standards.
[x] Prefixed the PR title and commit messages with the service or package name
[ ] I have written unit tests (if applicable).
[ ] I have updated the documentation (if applicable).
[x] By submitting this pull request, I confirm that my contribution is made
under the terms of the MIT license.

/canary

/canary


Timeouts in the common_grpc_utils_internal_async_connection_ready_test

Probably introduced by me in #9905.
Step #3: 152/423 Test  #49: common_grpc_utils_internal_async_connection_ready_test ...........................***Failed    2.45 sec
Step #3: Running main() from gmock_main.cc
Step #3: Note: Randomizing tests' orders with a seed of 93427 .
Step #3: [==========] Running 2 tests from 1 test suite.
Step #3: [----------] Global test environment set-up.
Step #3: [----------] 2 tests from CompletionQueueTest
Step #3: [ RUN      ] CompletionQueueTest.SuccessfulWaitingForConnection
Step #3: ../google/cloud/internal/async_connection_ready_test.cc:80: Failure
Step #3: Value of: cli_cq .AsyncWaitConnectionReady(channel, std::chrono::system_clock::now() + std::chrono::seconds(1)) .get()
Step #3: Expected: code is equal to OK and message is anything
Step #3:   Actual: DEADLINE_EXCEEDED: Connection couldn't connect before requested deadline (of type google::cloud::v2_3_0::Status), with a code that isn't equal to OK, but a message that is anything
Step #3: [  FAILED  ] CompletionQueueTest.SuccessfulWaitingForConnection (1006 ms)
Step #3: [ RUN      ] CompletionQueueTest.WaitingForFailingConnection
Step #3: [       OK ] CompletionQueueTest.WaitingForFailingConnection (1001 ms)
Step #3: [----------] 2 tests from CompletionQueueTest (2008 ms total)
Step #3:
Step #3: [----------] Global test environment tear-down
Step #3: [==========] 2 tests from 1 test suite ran. (2008 ms total)
Step #3: [  PASSED  ] 1 test.
Step #3: [  FAILED  ] 1 test, listed below:
Step #3: [  FAILED  ] CompletionQueueTest.SuccessfulWaitingForConnection
Step #3:
Step #3:  1 FAILED TEST

GCB: https://console.cloud.google.com/cloud-build/builds;region=us-east1/f9852d18-0491-4790-bfd0-0bd4e1ed2b25;tab=detail?project=cloud-cpp-testing-resources
Raw: https://storage.googleapis.com/cloud-cpp-community-publiclogs/logs/google-cloud-cpp/9919/12eeceb519d2ce65adef12c65466ae349ebc8a84/ubuntu-bionic-install-clang-60/log-f9852d18-0491-4790-bfd0-0bd4e1ed2b25.txt

GCB: https://console.cloud.google.com/cloud-build/builds;region=us-east1/f216e461-e1ff-4155-b919-fb230769114a;tab=detail?project=cloud-cpp-testing-resources
Raw: https://storage.googleapis.com/cloud-cpp-community-publiclogs/logs/google-cloud-cpp/main/71017388b35c4f333b39908c605fd47b5f47cb2e/fedora-36-shared/log-f216e461-e1ff-4155-b919-fb230769114a.txt


[WIP][18.09 backport] LCOW: Fix FROM scratch

backport of https://github.com/moby/moby/pull/39217 for 18.09

@thaJeztah  Looking into CI failures, this one needs to be rebased

rebased

Talked with @thaJeztah and closing this one.


Add Delve specific enemy debuff mods

nearby enemies take 9% increased physical damage
nearby enemies have -9% to fire resistance
nearby enemies have -9% to lightning resistance

reference: http://poedb.tw/mod.php?cn=Delve

Looks good to me personally, maybe want to put this near the other delve helmet mods? Line 1083ish.

Yes. But Line 1083-1084 for Ascendancy Occultist mods.
I want to think about how to put mod together.
https://github.com/Openarl/PathOfBuilding/blob/9a61f4559c26d6fbd69951476e7292af902550d0/Modules/ModParser-3_0.lua#L1083


Add OpenPOWER platform detection

Context
As suggested by Mike, I create this PR to add OpenPOWER CPU detection into Hardware::CPU class.
Changes

Add optimisation flag for PowerPC64
Enhance the condition check for tigerbrew

@MikeMcQuaid the PR is now ready for review

@runlevel5 I'm happy with all the code now and it looks like it will pass all tests! Can you double-check that all the code as-is will work as desired/expected on your fork? Thanks!

Thanks so much for your contribution (hopefully one of many)!  You rock, @runlevel5!


Add ocp postgres

defines postgres deployment + pvc + service as part of base deployment
will have to be merged after #588

@codekow would love your input here as well

@JamesKunstle
A few things to consider:

You can reuse the secret for both DBs if you wanted
You'll need to update the kustomization.yaml to use the new resources
I like the idea of your application having the ability to detect a cache DB and if the cache isn't present, it runs without.

the same secret for Redis and for Postgres? Yeah sure that'd be fine. That's easier to maintain
okay, just did that
that'd be nice in the future. right now, we have an inflexible relationship between the query and the analysis workers- an architectural defect from earlier on. In the future, a cache-less mode would be possible.


Version 3.0

This is a roadmap ticket for version 3.0 which we are starting to work on intensively today.
The master branch is now for the new 3.0 version. For 2.x-hotfixes we now have 2.x branch.
CST
The 3.0 version consists of:

[ ] Using CST for checking.
[ ] Using CST for fixing.
[ ] Deprecating most of JsFile functions (they are duplicative to CST).
[ ] Operating using elements instead of line, column in error reporting.
[ ] Document what is considered a public API (#1084, #1821)

CLI

[ ] --verbose = true by default (so easier to debug issue by rule name) - https://github.com/jscs-dev/node-jscs/issues/1522
[ ] Provide option for config rewrite (basically a command to upgrade a users config from 2.x to 3 automatically so there's a simple upgrade path)

Config

[ ] Rules rename - https://github.com/jscs-dev/node-jscs/issues/1834
[ ] New structure - https://github.com/jscs-dev/node-jscs/issues/698
[ ] Use json schema for rule input validation

Deprecations

[ ] remove deprecated (JSX) XJS visitors
[ ] remove all *deprecated* options

/cc @markelog @hzoo @zxqfox @mrjoelkemp @mikesherov

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/27264811-version-3-0?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github).

What is the progress on those points?

Using CST for fixing.

Can we leave some parts on token manipulating? I think no, right?
Would you mind providing examples for #3 and #4 points? How it was and how it should be? So others could duplicate that

Can check the 3.0 milestone for anything else we want to do or postpone.

Even if we don't get to the new format structure soon - we can try to combine rules that are similar - like maybe the function spacing rules?

Added deprecations, and documenting what is a public API


improvementadd per scanner limit check for new scanner

Proposed changes
Optimize for key topn query like SELECT * FROM store_sales ORDER BY ss_sold_date_sk, ss_sold_time_sk LIMIT 100 (ss_sold_date_sk, ss_sold_time_sk is prefix of table sort key).
Check per scanner limit and set eof true to reduce the data need to be read.
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[x] No
[ ] I don't know

Has unit tests been added:

[x] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[x] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.9 seconds
load time: 642 seconds
storage size:<PHONE_NUMBER>6 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221221074213_clickbench_pr_66107.html


drt: Remove block_ from frBTerm

Saves 8 bytes in frBTerm.

Jenkins passed but for some reason the PR didn't update.


arch/xtensa/src/esp32s3/esp32s3_sdmmc.c: wait for command done event also on error response

Summary
When CMD end up in error, after error response event, command done event will also be received.
If esp32s3_waitresponse returns on error response, the command done event of this command will disturb later command.
So CMDDONE should be waited in esp32s3_waitresponse even an error response is received.
Impact
arch/xtensa/src/esp32s3/esp32s3_sdmmc.c: the function returns after command done event is handled.
Testing
https://gist.github.com/Windrow14/19241fc1381013d8255d0df5d428c4e0

@JackyCaoYJ


Support reading int range

Hi, thanks for the great library!
I've decided it would be cool to be able to read ranges from the config.

I agree that it's cool, but since this format of "from x to y step z " is a bit arbitrary I am not sure if such custom instances of ValueReader belong to the library.  I'd argue that it is better to just leave them in individual projects.

Thanks for the prompt reply.
I agree, this format is pretty straightforward, but reading Range is still kinda important for some apps.
Perhaps you have a bit more generic format in mind?

I don't. That's why I think it's hard to provide a default instance and
it's best for each use implement their own instance, that's the main
benefit of the typeclass design, isn't it?
On Fri, Jul 16, 2021, 9:51 PM Evgeniy Zuikin @.***>
wrote:

Thanks for the prompt reply.
I agree, this format is pretty straightforward, but reading Range is still
kinda important for some apps.
Perhaps you have a bit more generic format in mind?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/iheartradio/ficus/pull/156#issuecomment-881796711,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAUKOIK5CY7NSGPGX46K3TTYDOZBANCNFSM5APVMGWA
.


Fatal error: Class 'Endroid\Twitter\Twitter' not found

I'm using Symfony 2.7
All steps in the guide have been followed

Reverting back to "endroid/twitter": "^1.3" fixed it


Please change default parameter for autocommit to true

If you could change the default value for autocommit to true, it would help many database servers and DBAs. E.g. in SQL Server I often see a python connection in a sleeping mode but with an open transaction holding locks on metadata on tempdb. This causes a lot of blocking issues on the instance.
It it really easy for people to forget to commit or leave the default value for autocommit. And as mentioned it creates a lot of blocking issue.
Thank you

That would be a big breaking change; the default wasn't pyODBC's decision:
https://www.python.org/dev/peps/pep-0249/#connection-methods
"Note that if the database supports an auto-commit feature, this must be initially off. An interface method may be provided to turn it back on."
Note that you could ask the author of that specification why it was like that, and tell him your opinion of that decision.

@v-chojas: hi I don't know so much about Python packages or libraries.
The thing you mention is for the method. I am talking about
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password, autocommit=False)
The connect function has a parameter called autocommit. I am suggesting to set that to True. Don't see why it is a breaking change.

It is a breaking change because all other applications using pyODBC will be expecting it false.

@v-chojas: The way I see it the only problem that could arise is that multi statement transactions, i.e.  autocommit =true , will commit each statement but some transactions might have more than one statement. So yes, it could make some code out there not function as intended.
When autocommit is true, it does not seem to cause a problem even if there is an explicit commit.
I don't think the majority of users of this package write multi statement transactions.
It seems most users are doing data analysis with SELECT, perhaps creating temporary tables. In any case I would argue one should not rely on a default setting when writing multi statement transactions.
I think it would be a huge deal if the default for autocommit was is changed to true. It is really easy for people to forget to include an explicit commit. There most be a way to introduce breaking changes, perhaps with warnings for a period?

It is absolutely a breaking change and is against the DB API specification.  I can't change this, and over time most people find that it is a very good default.
You can also change it on the fly using cnxn.autocommit = True.


Description of VIM-GitGutter

I made the typo change for its name in #739, but then reading the project's description I think the paragraph saying:

vim-gitgutter is a plugin that allows VIM users on z/OS to interact with Git repositories directly from within the editor.

is overstating its function.
As the name implies, vim-gitgutter is actually just improving working with changed code locally with annotations in the 'gutter' of the editor session. I cannot see that it claims to work with actual commits or pushes/pulls/fetches and the like.
Am I missing something?

"to interact with Git repositories directly from within the editor" probably means something more like vim-fugitive.

You're correct, it seems to only provide support for annotations. Feel free to edit or enhance with vim-fugitive. I have yet to try that one


Introspection with SQLite says DB is empty but there are tables

Bug description
You can find a reproduction of the issue in this repo:
git clone git@github.com:nikolasburk/apollo-server-tutorial.git
cd apollo-server-tutorial
npm install
npx prisma introspect

This should introspect the SQLite file at ./store.db which has two tables: trips and users:
CREATE TABLE `trips` (`id` INTEGER PRIMARY KEY, `createdAt` DATETIME, `updatedAt` DATETIME, `launchId` INTEGER, `userId` INTEGER);
CREATE TABLE `users` (`id` INTEGER PRIMARY KEY, `createdAt` DATETIME, `updatedAt` DATETIME, `email` VARCHAR(255), `token` VARCHAR(255));

However, when running the npx prisma introspect command, I'm seeing this output (with DEBUG set to *):
$ npx prisma introspect
  tryLoadEnv Environment variables loaded from /Users/nikolasburk/Desktop/fullstack-tutorial/start/server/.env +0ms
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma

Introspecting based on datasource defined in prisma/schema.prisma …
  IntrospectionEngine:rpc starting introspection engine with binary: /Users/nikolasburk/Desktop/fullstack-tutorial/start/server/node_modules/@prisma/engines/introspection-engine-darwin +0ms
  IntrospectionEngine:rpc SENDING RPC CALL {"id":1,"jsonrpc":"2.0","method":"introspect","params":[{"schema":"// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ndatasource db {\n  provider = \"sqlite\"\n  url      = \"file:./store.db\"\n}\n\ngenerator client {\n  provider = \"prisma-client-js\"\n}\n"}]} +10ms
  IntrospectionEngine:rpc {
  IntrospectionEngine:rpc   jsonrpc: '2.0',
  IntrospectionEngine:rpc   error: {
  IntrospectionEngine:rpc     code: 4466,
  IntrospectionEngine:rpc     message: 'An error happened. Check the data field for details.',
  IntrospectionEngine:rpc     data: {
  IntrospectionEngine:rpc       is_panic: false,
  IntrospectionEngine:rpc       message: 'The introspected database was empty: file:./store.db',
  IntrospectionEngine:rpc       meta: [Object],
  IntrospectionEngine:rpc       error_code: 'P4001'
  IntrospectionEngine:rpc     }
  IntrospectionEngine:rpc   },
  IntrospectionEngine:rpc   id: 1
  IntrospectionEngine:rpc } +9ms
Error: Error:
P4001 The introspected database was empty:

prisma introspect could not create any models in your schema.prisma file and you will not be able to generate Prisma Client with the prisma generate command.

To fix this, you have two options:

- manually create a table in your database (using SQL).
- make sure the database connection URL inside the datasource block in schema.prisma points to a database that is not empty (it must contain at least one table).

Then you can run prisma introspect again.

    at Introspect2.parse (/Users/nikolasburk/Desktop/fullstack-tutorial/start/server/node_modules/@prisma/cli/build/index.js:105567:17)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async main (/Users/nikolasburk/Desktop/fullstack-tutorial/start/server/node_modules/@prisma/cli/build/index.js:106192:18)

Prisma information
$ npx prisma -v
  tryLoadEnv Environment variables loaded from /Users/nikolasburk/Desktop/fullstack-tutorial/start/server/.env +0ms
Environment variables loaded from .env
@prisma/cli          : 2.13.1
@prisma/client       : Not found
Current platform     : darwin
Query Engine         : query-engine fcbc4bb2d306c86c28014f596b1e8c7980af8bd4 (at node_modules/@prisma/engines/query-engine-darwin)
Migration Engine     : migration-engine-cli fcbc4bb2d306c86c28014f596b1e8c7980af8bd4 (at node_modules/@prisma/engines/migration-engine-darwin)
Introspection Engine : introspection-core fcbc4bb2d306c86c28014f596b1e8c7980af8bd4 (at node_modules/@prisma/engines/introspection-engine-darwin)
Format Binary        : prisma-fmt fcbc4bb2d306c86c28014f596b1e8c7980af8bd4 (at node_modules/@prisma/engines/prisma-fmt-darwin)
Studio               : 0.329.0

Ok, this was my bad, I was pointing it to the wrong directory! We might want to improve the error message for this but I'm closing this issue as the problem is resolved 👍


Enchantment table level goes beyond 30

The following setup gives level 34:

The following gives level 30:

I cannot seem to reproduce this - can you please leave instructions on how to do so?

Resolved by 8b984faadd71a994f7b857d75ac8bfdec78f4157


Show Volume for Component

It might be useful to show the volume of components like chambers as you change their size.  Alternatively, perhaps have a volume slider that automatically scales the component to the selected volume.

Adding an indicator is an interesting idea, but I would shy away from making it the adjustable parameter on the slider. Scaling the volume on its own makes little sense when it inherently relies on at least two other paramters that are adjustable.


Input FloatingLabel Problem

If there is text in the input when the screen is loaded, the labels overlap.

https://github.com/GeekyAnts/NativeBase/blob/master/ISSUE_TEMPLATE.txt


Update the config with the CLI options

Fix for https://github.com/rust-lang-nursery/rustfmt/issues/2629

Fixed in recent commits


[feature request]CheckServantJobPeriod may be too short

What would you like to be added:
default CheckServantJobPeriod = time.Second * 10
my job Completed whis  2m15s, we can give a param of CheckServantJobPeriod when yurtctl convert
pod:

kube-system   yurtctl-servant-convert-rjyf-t-208-2dr7z    0/1     Completed   0          2m15s

err:

E1110 13:31:25.091769   20214 util.go:489] fail to run servant job(yurtctl-servant-convert-rjyf-t-208): wait for job to be complete timeout

Why is this needed:
others
/kind feature

@hhstu Thank you for raising issue.
Timeout of servant job is defined by WaitServantJobTimeout = time.Minute * 2 as 2 minutes. I think it's good idea to add a parameter to specify timeout for servant job, plus we can extended fixed 2 minutes to fixed 5 minutes.
@adamzhoul Do you have any comments?

please let me do it if need

please let me do it if need

@hhstu Thanks for your feedback. i will assign this issue to you.
/assign @hhstu

it's reasonable to add
since pull images take time,  time is unpredictable

the problem right now is when job timeout

job may succeed in fact, means everything has been done right to the node
node will node be labeled
k8s job will not be deleted

so, if users want to fix it, they have to

run yurtctl reset
manual delete job
run yurtctl convert again (this time image has already been pulled)
this is a bad experience.

so, if we add the params,
this problem may still exist since users never realized to set that param at the beginning, and it's useless the second time
fixed to 5 minutes may be more helpful.
add params is useful for users who are familiar
what do you say @hhstu  @rambohe-ch

agree, more that  force  delete job can code in yurtctl revert  when users want to reset.  what do you say @adamzhoul
For Chinese：
同意。另外 job timeout 后用户想要 reset，delete job这个动作可以编码到 yurtctl revert  中而不是用户手动做，yurtctl revert  应该是一个全部清理的操作

agree

the problem right now is when job timeout

job may succeed in fact, means everything has been done right to the node
node will node be labeled
k8s job will not be deleted

so, if users want to fix it, they have to

run yurtctl reset
manual delete job
run yurtctl convert again (this time image has already been pulled)

this is a bad experience.
so, if we add the params, this problem may still exist since users never realized to set that param at the beginning, and it's useless the second time fixed to 5 minutes may be more helpful. add params is useful for users who are familiar
what do you say @hhstu @rambohe-ch

@adamzhoul agree +1
@hhstu so optimization includes the following work:

WaitServantJobTimeout: 2m --> 5m
add a servant job timeout parameter  for yurtctl convert
yurtctl revert will remove the remained servant job forcely.


fix: review table

Fixes #18
/claim #18
Screenshots:

@seveibar
References:

For the change of Rejections to Review Requested => Github Rest  API Docs
the current code is  fetching the no of reviews Requested by the contributor

Typo, reviews requested

Also its still not clear, where is rejections received?

I'm not really interested in the rate of rejections per se, someone can have many rejections on a single PR. I want to identify those cases (e.g. if a person has 3 changes request on every PR, they are likely wasting reviewer's time- also note that reviewers will often leave comments (like this one) instead of rejecting in many cases (basically a "Changes Requested" is a bit like a downvote- it signals that the PR may actually be dangerous to merge)
What is the "Changes Requested" column? Can you clarify that- is it possible to add a tooltip with a longer explanation on each column? I don't understand if it's "Rejections Given" or "Rejections Received"
I'd like to have a column "Rejections Received" that indicates how many times a person received a request to change their PR

What is the "Changes Requested" column? Can you clarify that- is it possible to add a tooltip with a longer explanation on each column? I don't understand if it's "Rejections Given" or "Rejections Received"
yes the tooltip is possible , eg.

I'd like to have a column "Rejections Received" that indicates how many times a person received a request to change their PR
maybe we can just rename "Changes Requested" to "Rejections Received" and remove the column "Rejections" (I renamed it Reviews Requested because it is the number of times the user pressed the button for ask review)

What is the "Changes Requested" column? Can you clarify that- is it possible to add a tooltip with a longer explanation on each column? I don't understand if it's "Rejections Given" or "Rejections Received"

the changes requested just refers to those comments which have something like this in image below

we are just counting the number of these specific comments
and then give total in Changes Requested

#22 has the necessary fixes


Adding support for Gallery endpoint

The Gallery is a relatively recent addition (~12-18 months ago) to GroupMe. It is useful to find media from the group quickly.
The Gallery endpoint is not officially supported within their API docs, but adding support within the library won't regress any other functionality and is a useful addition.
In addition, I added the ability to get a single group by ID. I know this is possible to do with the FilterList, but that still requires a call that returns the entire list of groups, rather than just one. This is a common task and a more efficient method for it seems useful.

Wow! Firstly, thank you for the work you put into this. I've only glanced at it (I'm mobile) but it looks great. I'll take a closer look at it, hopefully tonight. This would definitely precipitate a release.

Great to hear!
When you take a look at it, I would make sure everything is working fine when you test it with the paging in your own groups, since it uses an RFC 3339 timestamp rather than a before_id style of paging. In order to maintain compatibility with the Message class, I convert the message created timestamp. I am pretty sure it is all good, but it would be nice to get another pair of eyes besides my own looking out for any

So I've been playing around with it. I think there are some issues with respect to the ordering, as you suggested. Here's the test file I cobbled together (although unit tests for this would be fantastic, I think we're still sorting out what the API actually returns here):
import sys

import groupy

THRESHOLD = 200

# Sort the groups with more than THRESHOLD messages.
groups = groupy.Group.list()
groups = list(filter(lambda x: x.message_count > THRESHOLD, groups))
groups.sort(key=lambda x: x.message_count)

# Out of the groups with more than THRESHOLD messages, find the group
# that has the least number of messages and more than THRESHOLD gallery
# entries.
group = None
for g in groups:
    newest_pics = g.gallery()
    print('\n{0}'.format(g))
    print('Getting pics.', end='', flush=True)
    all_pics = g.gallery()
    while all_pics.iolder():
        print('.', end='', flush=True)
    print(len(all_pics))
    if len(all_pics) > THRESHOLD:
        group = g
        print('Group chosen: {0}'.format(group))
        break

if group is None:
    print('Sorry, you must have a group with at least {threshold} messages '
          'and {threshold} gallery entries'.format(threshold=THRESHOLD))
    sys.exit(2)

# Get all messages
newest_messages = group.messages()
print('Getting messages.', end='', flush=True)
all_messages = group.messages()
while all_messages.iolder():
    print('.', end='', flush=True)
print(len(all_messages))

# Get the pertinent message pages
# (oldest, newer) and (older, newest)
older_messages = newest_messages.older()
oldest_messages = group.messages(after=0)
newer_messages = oldest_messages.newer()

# Get (oldest, newer) as ioldest and (older, newest) as inewest
inewest_messages = group.messages()
inewest_messages.iolder()
ioldest_messages = group.messages(after=0)
ioldest_messages.inewer()

# Make sure we have enough messages to assert our suspected truths
assert len(all_messages) > len(newest_messages) + len(older_messages)
assert len(all_messages) > len(newer_messages) + len(oldest_messages)

# Get the pertinent gallery pages
# (oldest, newer) and (older, newest)
older_pics = newest_pics.older()
oldest_pics = group.gallery(after=0)
newer_pics = oldest_pics.newer()

# Get (oldest, newer) as ioldest and (older, newest) as inewest
inewest_pics = group.gallery()
inewest_pics.iolder()
ioldest_pics = group.gallery(after=0)
ioldest_pics.inewer()

# Make sure we have enough gallery entries to assert our suspected truths
assert len(all_pics) > len(newest_pics) + len(older_pics)
assert len(all_pics) > len(newer_pics) + len(oldest_pics)

# Messages
assert older_messages.oldest.created_at < older_messages.newest.created_at
assert newest_messages.oldest.created_at < newest_messages.newest.created_at
assert older_messages.newest.created_at < newest_messages.oldest.created_at
assert newest_messages.first == newest_messages.newest
assert older_messages.first == older_messages.newest
assert newest_messages.last == newest_messages.oldest
assert older_messages.last == older_messages.oldest

# Gallery
assert older_pics.oldest.created_at < older_pics.newest.created_at
assert newest_pics.oldest.created_at < newest_pics.newest.created_at
assert older_pics.newest.created_at < newest_pics.oldest.created_at
assert newest_pics.first == newest_pics.newest
assert older_pics.first == older_pics.newest
assert newest_pics.last == newest_pics.oldest
assert older_pics.last == older_pics.oldest

# Messages, backward
assert oldest_messages.oldest.created_at < oldest_messages.newest.created_at
assert newer_messages.oldest.created_at < newer_messages.newest.created_at
assert oldest_messages.newest.created_at < newer_messages.oldest.created_at
assert oldest_messages.last == oldest_messages.newest
assert newer_messages.last == newer_messages.newest
assert oldest_messages.first == oldest_messages.oldest
assert newer_messages.first == newer_messages.oldest

# Gallery, backward
assert oldest_pics.oldest.created_at < oldest_pics.newest.created_at
# assert newer_pics.oldest.created_at < newer_pics.newest.created_at
# assert oldest_pics.newest.created_at < newer_pics.oldest.created_at
# assert oldest_pics.last == oldest_pics.newest
# assert newer_pics.last == newer_pics.newest
# assert oldest_pics.first == oldest_pics.oldest
# assert newer_pics.first == newer_pics.oldest

# Test i* functionality
assert ioldest_messages.oldest.created_at < ioldest_messages.newest.created_at
assert inewest_messages.oldest.created_at < inewest_messages.newest.created_at
assert ioldest_pics.oldest.created_at < ioldest_pics.newest.created_at
assert inewest_pics.oldest.created_at < inewest_pics.newest.created_at

Essentially, it tests newer/older and inewer/iolder functionality for both group messages and group gallery. The lines that are commented currently fail.
I played around with the code a bit, and although I see some things that I knew were incorrect, fixing them didn't make all of the above asserts pass. The diff was:
diff --git a/groupy/object/listers.py b/groupy/object/listers.py
index 4833c5a..db62b9c 100644
--- a/groupy/object/listers.py
+++ b/groupy/object/listers.py
@@ -192,7 +192,7 @@ class GalleryPager(MessagePager):
         :returns: a newer page of messages
         :rtype: :class:`~groupy.object.listers.MessagePager`
         """
-        return self.group.gallery(after=datetime.utcfromtimestamp(int(self.oldest.created_at.timestamp())))
+        return self.group.gallery(after=datetime.utcfromtimestamp(int(self.newest.created_at.timestamp())))

     def older(self):
         """Return the previous (older) page of messages.
diff --git a/groupy/object/responses.py b/groupy/object/responses.py
index a22c69c..f265d14 100644
--- a/groupy/object/responses.py
diff --git a/groupy/object/listers.py b/groupy/object/listers.py
index 4833c5a..db62b9c 100644
--- a/groupy/object/listers.py
+++ b/groupy/object/listers.py
@@ -192,7 +192,7 @@ class GalleryPager(MessagePager):
         :returns: a newer page of messages
         :rtype: :class:`~groupy.object.listers.MessagePager`
         """
-        return self.group.gallery(after=datetime.utcfromtimestamp(int(self.oldest.created_at.timestamp())))
+        return self.group.gallery(after=datetime.utcfromtimestamp(int(self.newest.created_at.timestamp())))

     def older(self):
         """Return the previous (older) page of messages.
diff --git a/groupy/object/responses.py b/groupy/object/responses.py
index a22c69c..f265d14 100644
--- a/groupy/object/responses.py
+++ b/groupy/object/responses.py
@@ -169,7 +169,7 @@ class Recipient(ApiResponse):

         # Fetch the messages.
         try:
-            r = endpoint.Gallery.index(self._idkey, before=before,
+            r = endpoint.Gallery.index(self._idkey, before=before,
                                         since=since, after=after, limit=limit)
         except errors.ApiError as e:
             # NOT_MODIFIED, in this case, means no more messages. Some versions
@@ -185,7 +185,7 @@ class Recipient(ApiResponse):
             raise e

         gallery_messages = (Message(self, **m) for m in r[self._mkey])
-        return GalleryPager(self, gallery_messages)
+        return GalleryPager(self, gallery_messages, backward=backward)

 class Group(Recipient):
@@ -778,4 +778,4 @@ class User(ApiResponse):
             if e.args[0]['code'] != status.OK:
                 raise
             return e.args[0]['code']
-        return True
\ No newline at end of file
+        return True

A couple of those lines differ only in whitespace but the rest are pretty important. Perhaps you can use all this to help me sort out why all of the asserts won't pass!
Also, sorry for the delay; I managed to get bronchitis (all better now).

fwiw I'm in the process of refactoring to address a number of long running concerns. Even though we couldn't get to the cause of the ordering issue, you basically made me aware of an entire undocumented endpoint so I'm going to merge this in anyway. That way you're listed as a contributor :)
I'll be sure to include gallery support in the next release!


Status should be sent as string

It appears the possible values are online, dnd, idle, invisible

Fixed in 2.3.


add 3 text svgs

Build failed because of:
No cached entry, and EMTP-RV has issues with logo: emtp-rv-text.svg, ENOENT: no such file or directory, open '/opt/build/repo/hosted_logos/emtp-rv-text.svg'


Only workers, no master node?

Is it possible to create a pool with only worker nodes, and no master node?
I want to launch worker nodes from an existing vps, and push commands to the worker nodes using kubectl for a specific use case.

Please open discussions for questions rather than issues. The worker node pools have only worker nodes. The only masters are in the master node pool.


Dataset Structure

What is the dataset structure that this model/code is expecting?
The typical ImageNet data structure is a set of directories with each directory holding the images for one label. Is this code expecting the same structure for the data or something different?

Now, the model supports loading files from sub-dirs for unconditional generation. I will be adding support for conditional generation.


The pipeline is currently disabled

See: https://github.com/BIDS-Apps/oppni/blob/master/oppni.py#L91. I'm sure this is a work in progress, but I want to open this issue for the sake of tracking progress. Please close it when the pipeline will be re-enabled in tests.

Hey Chris, yes, it is a work in progress. I am waiting for Nathan to make some changes to some of his components, to rerun the tests on the sample datasets.
Also is there a chance we can have more sample datasets available for testing, in the same manner as done in our current CI? Thanks.

I understand this is work in progress I only opened this issue to help me and other users see the status of the App.
You can find more examples here: http://bids.neuroimaging.io/#examples as well as at openfmri.org (all recent datasets should be BIDS).

Tests are enabled now, and are being tested locally, before pushing to CircleCI.


why there are so many different versions for models?

I am confused about the versions of tensor flow models. There are at lease 3.

This one i can call as main folder.

https://github.com/tensorflow/models

Another one is inside of the main folder is called slim and it has instructions about how to use, such as train_image_classifier.py , which currently i am using. I do not need write more code, just input some parameters.

https://github.com/tensorflow/models/tree/master/slim

the second slim is in the folder blow, which provide different instructions as above slim.  It seems that I must write additional python code to make it work. And the learning.py under this slim folder is different from above train_image_classifier.py.

https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/slim
============
Is there any necessity to provide so many branches or versions?  I guess they belong to different teams? Is there any consensus (internally) about which is the major one? This may not be a technical issue but a political issue.

The tensorflow/models repository contains models for multiple tasks and the code used to build them. For example, tensorflow/models/im2txt is very different from tensorflow/models/inception.
(2) and (3) that you point out are very similar and over time they will be consolidated.
A general rule of thumb is that models in the tensorflow/models are more of a demonstration of interesting models built with TensorFlow while the code in the tensorflow/tensorflow repository is the supported API of TensorrFlow.
Hope that helps.


is it possible to change the refresh speed?

i find it pretty annoying. thanks in advance

No. Any scanning speed faster than roughly 10 seconds gets dropped by the server and you will see 0 Pokemon show up. Solution is to open a second instance of the map and login with a different PTC account and then minimize it. This will trigger both instances to populate on the first map. You just need to start the second one an appropriate amount of time after the first (i.e. 5 minutes). You can string as many of these together as you want so long as they are different accounts for each one. Remember to login with each account and complete the tutorial otherwise that account isn't active and API calls will be dropped. Id suggest using an old phone if possible just to be sure.


🌋 E|F ➾ Proposal to reconcile E2E tests with CICD

Product Board Link
No response
🚥 Status

[X] 🔮 Product/Feature Design
[X] ✍🏻 Architecture/Implementation Planning
[ ] 🏗 Under Construction
[ ] ⛳ Feature Complete
[ ] ⛵ GTM / Release

Sub-tickets

[x] #1600
[ ]  #1599

✅ To Do
get agreement
work out POC
coordinate with SRE for CICD
📐 Feature Description
Whereas:
The E2E tests are valuable and should be frequently used, but they can be fragile and require maintenance.
The time needed for the maintenance can interfere with CICD efficiency.
Be it resolved that:
The E2E tests as a whole will be dropped from CICD and instead will be maintained, run, and reported on by SDETs on the Taqueria team working with SREs.
The CICD will run a succinct representative selection of E2E  tests, called an E2E smoke test, that satisfies the following.
Proof of all origination
Proof of compilation
UI Sanity Check,
One test for each module
Others to be TBD, not to exceed 10 in total
This can be accomplished by adding taqueria-e2e-smoke.spec.ts to the ~/taqueria/tests/e2e/ direcory
The E2E smoke test can be called by
npm run test:e2e:smoke -w tests
The test package.json scripts set would add.
"test:e2e:smoke": "TEST=true jest --config jest.config.e2e.ts --detectOpenHandles --detectLeaks taqueria-e2e-smoke.spec.ts"
or
"	"test:e2e:smoke": "../bin/before-all-tests.sh && TEST=true jest --config jest.config.e2e.ts --maxWorkers=1 --testNamePattern=smoke","
🚩 Problem or Use Case
The E2E tests are a comprehensive suite of checks for expected outputs from Taqueria CLI combinations, using stored files as expectations to match. There are several such tests for each module, and the time taken to run the whole suite is enough to dissuade developers from running them before a code commit. Also, tests must be rewritten when anything on an output changes, which is frequent at this stage of development. While waiting to be rewritten, they can prevent CICD operations by failing in the pipeline.
To improve this situation, we need to use the E2E test differently, as described above.
Additional consideration:
The end-to-end test suite has many tests that compare the output from a cli call with a prepared file that shows the expected outcome.
Tests like this have two failure modes. The test may fail because something is wrong with the system that provides an output. Or, the test may fail because something in the output has changed.
In the first case, that should be caught at the unit or integration test level and fixed by the devs before committing.
If the test changes because of an output update, then the test is not giving you any new information. You already know that there were changes to the output. The test catches this change, and the fix for the test is to make it match the outcome again. The problem with these tests is they lack probative value. They don't tell you anything new about the program you didn't already know.
To make the test pass again, someone has to update it to match the expected output. But that is the same as having closed an issue about the change; it is information everyone already has. The test adds nothing to the understanding of the system.
This problem gets worse when these tests are in a CICD. If there is a change to wording in the output, the E2E test will fail, stopping a PR. The CICD has to wait till the test is updated. But the update is an after-the-fact change to reflect something already tracked elsewhere. Even if someone anticipates this and corrects the test before it runs and fails on CICD, it is still, after the fact catching up and not a probative examination.
⚖ Acceptance Criteria
✨ Features:

[ ] ... no more E2E test CICD conflicts

🔭 Scope
🏎 In Scope:

... E2E tests

🙅♂ Out of Scope:

unit tests
integration tests

🔗  Related Issues and Subtasks
No response
🦄 Sizing
3
Code of Conduct

[X] I agree to follow this project's Code of Conduct

I have had to abandon the quest for a succinct version of this E2E suite. The required modularity of the code is not there, and I have discovered extensive mixing of end-user detail with implementation detail.
This separation can be achieved by rewriting the code in a proper DSL library to encapsulate the implementation details.
This will make the suite more maintainable as it is not subject to breakage due to refactoring of implementations, etc.
The existing E2E test suite should continue to run but not be extended until it can be replaced. Its scope of tests, and sequences of cli actions, will serve as acceptance requirements for this migration.
Here is a code sample of one such DSL in action (https://github.com/gmrchk/cli-testing-library)
import CLITestingLibary from '@gmrchk/cli-testing-library';

import { prepareEnvironment } from '@gmrchk/cli-testing-library';

describe('Basic E2E for taq CLI', () => {
    it('taq --help runs successfully', async () => {
        const { execute, cleanup } = await prepareEnvironment();

        const { code } = await execute(
            'taq',
            ' --help'
        );

        expect(code).toBe(0);

        await cleanup();
    });

this is well underway now


enable pickling of frozen models

When simply replacing a Parameter with tf.constant, tensorflow did not update its internal list of tracked variables, which prevented deepcopying and pickling of frozen models. Explicitly deleting the
tracked variable before assigning a constant value forces tensorflow to update its state.
Before:
import gpflow
import tensorflow as tf
import pickle
X = tf.random.uniform((10,2), -10, 10)
Y = tf.random.uniform((10,1), -10, 10)
model = gpflow.models.GPR((X,Y), kernel=gpflow.kernels.SquaredExponential())
frozen = gpflow.utilities.freeze(model)
pickle.dump(frozen, open("test.pkl", "wb"))

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-11-0908f58f59ae> in <module>
----> 1 pickle.dump(frozen, open("test.pkl", "wb"))

TypeError: cannot pickle 'HashableWeakRef' object

After:
import gpflow
import tensorflow as tf
import pickle
X = tf.random.uniform((10,2), -10, 10)
Y = tf.random.uniform((10,1), -10, 10)
model = gpflow.models.GPR((X,Y), kernel=gpflow.kernels.SquaredExponential())
frozen = gpflow.utilities.freeze(model)
pickle.dump(frozen, open("test.pkl", "wb"))
loaded = pickle.load(open("test.pkl", "rb"))

Hello @ilia-kats,
Thanks a lot for your PR. The problem is slightly deeper than that. By resetting the attribute, you neutralize the aftereffect of tf.Module checkpointing structure, but there is a danger that something else doesn't work as expected.
Btw, the error that you see is caused by bijector, you could do gpflow.utilities.reset_bijector_cache (not sure about the correct name) function to get rid of the issue.

reset_cache_bijectors is already being called from gpflow.utilities.deepcopy, which in turn is being called from gpflow.utilities.freeze(), so that is not the solution here. reset_cache_bijectors only clears the _from_x and _from_y attributes, the problem here are the _self_unconditional_checkpoint_dependencies and _self_unconditional_dependency_names attributes of tf.Module subclasses that are created automatically by tensorflow when a non-constant attribute is assigned.
As far as I can tell, all unit tests still pass with the patch, so at least there is no obvious breakage

I can also try to add some unit tests specifically for pickling, if that increases the chances of this getting in

@ilia-kats, I edited my comment shortly after and I hoped you will not see the message about bijectors, sorry about that. Yes, you are right checkpointing attributes have references to TensorFlow objects and that triggers a problem. I would really like to understand the issue before trying to solve it. Could you elaborate on what is happening with these attributes that belong to trackable abstractions, please?

As far as I can tell, all unit tests still pass with the patch, so at least there is no obvious breakage

Indeed, although that doesn't mean that our tests cover cases where the issue might appear.

As far as I can tell, _self_unconditional_checkpoint_dependencies is storing additional references to the bijectors, which remain when the respective parameter is just reassigned a constant. I did a very quick test, and it appears that clearing the caches also on these bijectors solves the issue, but that does not seem like a clean solution to me.
Trying to simply delete _self_unconditional_checkpoint_dependencies and _self_unconditional_dependency_names raises an exception.
Upon deletion of the Parameter, tensorflow removes all references to it and its children (i.e. bijectors) from _self_unconditional_checkpoint_dependencies. Assignment of the constant then does not change anything, since it is not a trackable object.

@ilia-kats thank you for investigating this ! Could you please add a summary of why your proposed changes are needed (and perhaps a link to this PR so it is possible to find the details again in the future)? I'd be happy to merge this in - if we encounter issues in the future we should be able to simply revert the change...

As far as I can tell, _self_unconditional_checkpoint_dependencies is storing additional references to the bijectors, which remain when the respective parameter is just reassigned a constant. I did a very quick test, and it appears that clearing the caches also on these bijectors solves the issue, but that does not seem like a clean solution to me.
Trying to simply delete _self_unconditional_checkpoint_dependencies and _self_unconditional_dependency_names raises an exception.
Upon deletion of the Parameter, tensorflow removes all references to it and its children (i.e. bijectors) from _self_unconditional_checkpoint_dependencies. Assignment of the constant then does not change anything, since it is not a trackable object.

@ilia-kats, I have an extra question. _"self_unconditional_checkpoint_dependencies is storing additional references to the bijectors" - this is correct, and I'm curious what happens when you call delattr and setattr, what these methods trigger in tractable object so that it cleans the references. Why I'm asking this question: tensorflow doesn't handle properly these references and fixing it would not require this fishy delattr and setattr; plus, _set_by_name_index method is generic it will del/set for all attribute types, blindly ignoring that this is not necessary for them.
Thanks!

setattr calls AutoTrackable.__setattr__, which in turn calls data_structures.sticky_attribute_assignment. The latter in particular does not have a check for the special case that a trackable is being replaced by a non-trackable, it only handles cases where a non-trackable is replaced by a trackable or a trackable is being replaced by another trackable.
delattr calls AutoTrackable.__setattr__, which removes the trackable from tensorflow's internal state.
I can try to open an issue in tensorflow, but given that they have over 3k open issues and this is a very special case I'm skeptical that this will get attention any time soon.

setattr calls AutoTrackable.__setattr__, which in turn calls data_structures.sticky_attribute_assignment. The latter in particular does not have a check for the special case that a trackable is being replaced by a non-trackable, it only handles cases where a non-trackable is replaced by a trackable or a trackable is being replaced by another trackable.
delattr calls AutoTrackable.__delattr__, which removes the trackable from tensorflow's internal state.
I can try to open an issue in tensorflow, but given that they have over 3k open issues and this is a very special case I'm skeptical that this will get any attention anytime soon.
edit: tensorflow/tensorflow#37806

Thanks a lot, @ilia-kats!

I did a very quick test, and it appears that clearing the caches also on these bijectors solves the issue, but that does not seem like a clean solution to me.

Can you post this workaround here?
I don't see a particular issue with setattr and delattr and ready to approve this change and leave it till the proper fix will appear in TF. However, I would prefer to stick to the workaround solution. What do others think about it?

I'd be happy with either merging in these changes as they are, or a more specific workaround - I'd just be keen for this to make it into the 2.0 release!
Either way, I think it'd be good to add a link to the tensorflow issue (thanks for opening it @ilia-kats !) to the workaround code (whether it's the more generic delattr or the specific workaround)

The basic workaround was
class cls(tf.Module):
    pass

test = cls()
test.var = gpflow.Parameter(42, transform=gpflow.utilities.positive())
frozen = gpflow.utilities.freeze(test)

frozen._checkpoint_dependencies[0].ref.transform._from_x.clear()
frozen._checkpoint_dependencies[0].ref.transform._from_y.clear()

But this gets very messy with bijector chains. There one has to do:
test = cls()
test.var = gpflow.Parameter(42, transform=gpflow.utilities.positive(lower=1))
frozen = gpflow.utilities.freeze(test)

frozen._checkpoint_dependencies[0].ref.transform._from_x.clear()
frozen._checkpoint_dependencies[0].ref.transform._from_y.clear()

for bijector in frozen._checkpoint_dependencies[0].ref.transform.bijectors:
    bijector._from_x.clear()
    bijector._from_y.clear()

so what's the plan here?

@awav it looks like all comments are now addressed. Should we merge it then? do you want to open an issue to keep track of fixing this properly in the future?