The agent was stopped due to either an iteration limit or a time limit. Api TELEGRAM

Hey Crew AI Team 👋,
I'm diving into a project where I'm leveraging Crew AI to orchestrate automated agents for analyzing and processing information. I'm truly amazed by what you've built, and I'm super excited about tapping into the full potential of Crew AI! However, I've hit a couple of snags, especially in connection with the Telegram API, and I could really use your insight.
Here's what's happening:
Iteration and Time Limits: My agents, tasked with conducting thorough research, often hit iteration or time limits before they can complete their tasks. As a result, my users end up waiting for answers that, unfortunately, don't come.
Response Times with the Telegram API: When my agents try to interact with the Telegram API, things slow down quite a bit. I believe the API's response times are a bit longer than I had anticipated, which leads to delays and sometimes even service interruptions.
Impact:
This is making the user experience less smooth and a bit frustrating since they're not always getting the info they're looking for.
I find myself in a bit of a bind, unable to provide the complete and precise info that would make my bot truly useful.
What I'm looking to do:
I'm exploring ways to optimize my agents' tasks, adjust the limits imposed on them, and enhance how I handle exceptions to make everything more seamless. Additionally, I'm seeking advice on improving my interactions with the Telegram API to reduce these notable delays.
I genuinely love working with Crew AI, and I'm convinced that with a little help, I can overcome these issues and make my bot even more awesome. If you have any suggestions, advice, or best practices to share, I'm all ears!
Thanks a million for your help and for creating such a fantastic tool. I'm looking forward to seeing how I can make my project even better with your support.
Warm regards,

did you try the
            max_rpm=10
            max_iter=10

these are the only controls for iterations and rpm afaik.
I'm getting same error but even when I run much below the limits, don't know how to debug it..

I turned off "memory" of the agent and also raised max_iter , I suspect the agent remembered that it already attempted to answer the same query, so I suspect the memory flag has something to do with it, or maybe just the iterations 🤔 not sure if they persist over restarts of the script or not, if memory is enabled.

i resolve the probleme i have used a library named praisonai and add tools and it'sword, i have tested max_rpm and max-iter but it doesn't work, thanks for response @aliensouls

Hi @stebou , can you tell us , how did you use praisonai  in the tools of agents ?

Hello go to se this vidéo, https://youtu.be/XaQRgRpV7jo?si=m5Y6ID_KNi2LwDli

@stebou as suggested,  Max Iter and Max RPM are the way to go, I see you mention time was also a constrain so we will be adding that as an extra option.
Max Iter (optional)

The maximum number of iterations the agent can perform before being forced to give its best answer. Default is 15.`

Max RPM (optional)

The maximum number of requests per minute the agent can perform to avoid rate limits. It's optional and can be left unspecified, with a default value of None.

Just launched 0.27.2 where agents now also have max_execution_time so you don't need the extra dependency if you don't need to

Could you explain what max_iter actually means and does? What is considered an iteration here?
I am running into the same issue, also on v0.27.2 (thanks for that btw! :)). I found that if i increase max_iter (e.g. to 15), then it just takes longer and longer (minutes, the LLM server is quite slow) to eventually still get the same error as if I had set it to just 1 or 2: [DEBUG]: == [Analyzer] Task output: Agent stopped due to iteration limit or time limit. This appears to be independent of my input length, i.e. I get the same error when I input a few hundred tokens vs just a handful of them.
Increasing max_execution_time did not seem to make a difference here.

So I'd love to see more of the actual code, if you can share, the iteration referes to the inner thought process of the agents, like choosing to use a tool or not for example. the way it works is that as it get closes to that iteration limit we theoretically for the LLM to give an answer but it seesm that might not be happening in this case so if you could share move even if privately it might help us replicate and fix the bug

Of course. This is the code I am using:
import os
from crewai import Agent, Task, Crew
import openai
from langchain.chat_models import ChatOpenAI
from langchain.globals import set_debug
set_debug(True)

LLM_HOST = f"http://<host>:<port>/v1" # url ommitted
os.environ["OPENAI_API_KEY"] = "NA"

model = ChatOpenAI(
    model="llama-13b.Q5_K_M.gguf",
    openai_api_base=LLM_HOST,
    max_tokens = 240,
    temperature= 0.5,
    streaming = True
)

writer = Agent(
    role='Mathematician',
    goal='Help the world!',
    backstory="You are a mathematician and love to give short, consice answers.",
    allow_delegation=False,
    verbose=True,
    tools=[],
    memory=True,
    max_iter=2,
    llm=model
)

task = Task(
    description="Answer: What's 2+2?",
    agent=writer,
    expected_output="Provide the answer only."
)

crew =  Crew(
    agents=[writer],
    tasks=[task],
    verbose=True,
    memory=True,
    share_crew=False,
    telemetry=False
)
result = crew.kickoff()
print("### FINAL RESULT ###")
print(result)

it typically leads to the time/iterations limit error described before:
 [DEBUG]: == Working Agent: Document Query Specialist
 [INFO]: == Starting Task: Answer: What is 2+2?

> Entering new CrewAgentExecutor chain...

> Finished chain.
 [DEBUG]: == [Document Query Specialist] Task output: Agent stopped due to iteration limit or time limit.

The Llama model runs on a remote server and is deployed using llama.cpp server. The server might be slow, but returns the response within 20 seconds when prompted individually - the iterations/time limit only occurs after approx. 3 minutes.

There is another things that just appeared as I composed this message:
Unfortunately, and rather out of the blue, ChatOpenAI started giving me a Incorrect API key provided: NA. error and the above code exists prematurely. This hasn't happened before - when I create a ChatOpenAI instance without CrewAI, it works just fine (see code below). Not sure if this has anything to do with it, so far I think this is an unrelated issue. But just in case, here is the code that works just fine, without using crewAI:
import os
from langchain.chat_models import ChatOpenAI

LLM_HOST = f"http://<host>:<port>/v1" # url ommitted
os.environ["OPENAI_API_KEY"] = "NA"

model = ChatOpenAI(
    model="llama-13b.Q5_K_M.gguf",
    openai_api_base=LLM_HOST,
    max_tokens = 240,
    temperature= 0.5,
    streaming = True
)

res = model.invoke("Tell me something about cats!")
print(res)

by itself, it works fine.

Check your credits balance, because it throws same error text also when
credits are depleted despite iterations and everything is configured
correctly, happened to me as well - they have a "monthly limit" of 120$
let's say based on your tier (how much money so far you wasted on api) and
even when you top up, this monthly setting remains on old value so it still
won't work until you increase this number manually in your billing
settings. Might be your case, based on symptoms (since your iterations are
on 15 and it fails on 1st one as I understand).
On Sat, Apr 6, 2024, 12:12 AM Dominik Opitz @.***>
wrote:

Could you explain what max_iter actually means and does? What is
considered an iteration here?
I am running into the same issue, also on v0.27.2 (thanks for that btw!
:)). I found that if i increase max_iter (e.g. to 15), then it just takes
longer and longer (minutes, the LLM server is quite slow) to eventually
still get the same error as if I had set it to just 1 or 2: [DEBUG]: ==
[Analyzer] Task output: Agent stopped due to iteration limit or time limit.
This appears to be independent of my input length, i.e. I get the same
error when I input a few hundred tokens vs just a handful of them.
Increasing max_execution_time did not seem to make a difference here.
—
Reply to this email directly, view it on GitHub
https://github.com/joaomdmoura/crewAI/issues/393#issuecomment-2040695702,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUI4WBJ7HRMDDQ2JBTTPIOTY34OTPAVCNFSM6AAAAABFNF36PGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBQGY4TKNZQGI
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thanks for your reply!
As a side note: the os.environ["OPENAI_API_KEY"] = "NA" is the actual code and not an ommited api key for the purpose of this github comment. I don't even have an OpenAI account, since I don't intend to use the Openai models. ChatOpenAI is only used as the wrapper here to connect to my own model hosted on my own remote server - which does work as intended when prompted individually as shown above (no API key error).
In my case it's probably best to move away from the OpenAI Wrapper alltoghether - it should be possible to pass a Langchain CustomLLM instance to the llm parameter of an Agent, shouldn't it? Will probably give that another try now :)

@joaomdmoura Is an OpenAI key strictly necessary even if I don't use any OpenAI models or Wrappers? I have now adjusted my LLM wrapper to use only langchain, but I still get this error:
import os
from crewai import Agent, Task, Crew
from langchain.globals import set_debug
from typing import Any, List, Mapping, Optional
from langchain.callbacks.manager import CallbackManagerForLLMRun
from langchain_core.language_models.llms import LLM
set_debug(True)

class MyLLM(LLM):
    """
    Custom LLM class that returns a plain string
    """
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    @property
    def _llm_type(self) -> str:
        return "custom"

    def _call(
        self,
        prompt: str,
        stop: Optional[List[str]] = None,
        run_manager: Optional[CallbackManagerForLLMRun] = None,
        chatbot=None,
    ) -> str:
        """
        For simplicity, returns a plain string
        """

        if stop is not None:
            raise ValueError("stop kwargs are not permitted")
        return "This is a dummy response and show that the function is working. Well done!"

llm = MyLLM()

writer = Agent(
    role='Mathematician',
    goal='Help the world!',
    backstory="You are a mathematician and love to give short, consice answers.",
    allow_delegation=False,
    verbose=True,
    tools=[],
    memory=True,
    max_iter=2,
    llm=llm,
    cache=False
)

task = Task(
    description="Answer: What's 2+2?",
    agent=writer,
    expected_output="Provide the answer only."
)

crew =  Crew(
    agents=[writer],
    tasks=[task],
    verbose=True,
    memory=True,
    share_crew=False,
    telemetry=False
)
result = crew.kickoff()
print("### FINAL RESULT ###")
print(result)

This results in openai.AuthenticationError: Error code: 401 - {'error': {'message': 'Incorrect API key provided: fake. You can find your API key at https://platform.openai.com/account/api-keys.', 'type': 'invalid_request_error', 'param': None, 'code': 'invalid_api_key'}}, originating all the way from crew.kickoff().
Interestingly, it says that the currently used key has the value "fake", which I believe comes from this recent commit where the crewAI library manually sets the key to this value if not provided otherwise:
...
def __init__(self, type, allow_reset=True, embedder_config=None):
    super().__init__()
    if (
        not os.getenv("OPENAI_API_KEY")
        and not os.getenv("OPENAI_BASE_URLl") == "https://api.openai.com/v1"
    ):
        os.environ["OPENAI_API_KEY"] = "fake"
...


Create Character “kwizbet”

Automatically generated by Netlify CMS

👷 Deploy Preview for dynamic-cheesecake-5fbd8b processing.

Name
Link

🔨 Latest commit
b0670019dbc70dcdffc64bdffb995713736ec376

🔍 Latest deploy log
https://app.netlify.com/sites/dynamic-cheesecake-5fbd8b/deploys/62f1822457b9a500094a3191


[FEATURE] Please exported out all Select Interface

Describe the solution you'd like
I want to create custom component in my project with this chakra-react-select. I need the interface for all Select props so i can make it become a component. I need it as soon as possible. Thanks!

These should all be available already!  All of the original interfaces that are available in react select and being exported from this package as well, and I exported the component types in the most recently published version. If you have any questions about what certain interfaces are called, let me know, and I can elaborate tomorrow.

You can check out the most recent version notes here: https://github.com/csandman/chakra-react-select/releases/tag/v3.1.1

@csandman I think it's still to hard, I think it will be as simple as chakra select props. As you can see i need to do exactly the same like what you do to make the interface. Maybe you can simplify the SelectProps?

Sorry, there's not much I can do to change it. All of the interface structures Im using are based on the original structures of react-select. Each of the sub-components are expecting that structure, and it doesn't work if I don't follow it exactly.

@csandman I see, okay then. Btw i find out that your options that you make need to be GroupedOptions, i think you have make mistake. I think options not always grouped.

@csandman Oh i see, okay then.

@csandman I found out something strange here in your example. I think not all options needed to be grouped ?

@csandman react-select itself have an example for this

And if you need any explanations for the original interfaces with the generics, check out the TypeScript sections of the react-select docs: https://react-select.com/typescript


Set higher default and allow configuring puppeteer protocol timeout

I believes this should fix https://github.com/Meteor-Community-Packages/meteor-mocha/issues/104.

@nachocodoner @jankapunkt @StorytellerCZ Will this require a backport to work in Meteor 2 or is the latest version compatible with both Meteor 2 and 3?

@make-github-pseudonymous-again it's intended to work with both but please let me know if you encounter issues.

@nachocodoner If that question is for me, I did not test anything. Just assumed it would work.

@nachocodoner How could I test this before merging it? I can reproduce this bug locally.

@make-github-pseudonymous-again create a packages folder in your app and in copy this package in there from the PR, that version will then take precedent.

@make-github-pseudonymous-again cab there be a situation where users might want to set protocolTimeout to 0?

The protocolTimeout setting in puppeteer is a timeout that is applied to all registered connection message callbacks: if puppeteer does not get a message response within that time, then the connection is considered broken.
It seems the puppeteer driver is making puppeteer wait for a message response for the entire duration of the scheduled tests, which can easily reach in the minutes, especially for client app tests.
@jankapunkt protocolTimeout = 0 would be interpreted as "no timeout" AFAICT. See:

https://github.com/puppeteer/puppeteer/blob/159513c8dbe2c9f51aa37dbe531d52b5daf1e106/packages/puppeteer-core/src/common/Connection.ts#L73-L82

Default is 3 minutes. See:

https://github.com/puppeteer/puppeteer/blob/159513c8dbe2c9f51aa37dbe531d52b5daf1e106/packages/puppeteer-core/src/common/Connection.ts#L202
https://github.com/puppeteer/puppeteer/blob/159513c8dbe2c9f51aa37dbe531d52b5daf1e106/packages/puppeteer-core/src/common/BrowserConnector.ts#L62-L67


PostgreSQL - connection failed: FATAL: remaining connection slots are reserved for non-replication superuser connections

What happened?
I'm having this postgresql error when doing upgrade the django cookie cutter for my project.
connection failed: FATAL: remaining connection slots are reserved for non-replication superuser connections

I'm using many celery tasks, websocket connections, and deploy using the k8s in my project.
The similar issues are mentioned in Stack Overflow:

https://stackoverflow.com/q/59651654/6396981
https://stackoverflow.com/questions/78192800

One of the thread mentions this package, but not sure if it's working or not:
https://github.com/altairbow/django-db-connection-pool
Details

Python version, run python3 -V: 3.12
Docker version (if using Docker), run docker --version: 3
docker compose version (if using Docker), run docker compose --version: 3
Cookie cutter Django: 2024.04.22

(env-my-labs) ➜  env-my-labs cookiecutter https://github.com/cookiecutter/cookiecutter-django
  [1/27] project_name (My Awesome Project): My Project Labs
  [2/27] project_slug (practical_devsecops_cloud_labs):
  [3/27] description (Behold My Awesome Project!): My Project Labs
  [4/27] author_name (Daniel Roy Greenfeld): My Project Developer
  [5/27] domain_name (example.com): my-domain.com
  [6/27] email (practical-devsecops-developer@my-domain.com<EMAIL_ADDRESS>  [7/27] version (0.1.0): 3.7.0
  [8/27] Select open_source_license
    1 - MIT
    2 - BSD
    3 - GPLv3
    4 - Apache Software License 2.0
    5 - Not open source
    Choose from [1/2/3/4/5] (1): 5
  [9/27] Select username_type
    1 - username
    2 - email
    Choose from [1/2] (1): 1
  [10/27] timezone (UTC):
  [11/27] windows (n): n
  [12/27] Select editor
    1 - None
    2 - PyCharm
    3 - VS Code
    Choose from [1/2/3] (1): 3
  [13/27] use_docker (n): y
  [14/27] Select postgresql_version
    1 - 16
    2 - 15
    3 - 14
    4 - 13
    5 - 12
    Choose from [1/2/3/4/5] (1): 5
  [15/27] Select cloud_provider
    1 - AWS
    2 - GCP
    3 - Azure
    4 - None
    Choose from [1/2/3/4] (1): 1
  [16/27] Select mail_service
    1 - Mailgun
    2 - Amazon SES
    3 - Mailjet
    4 - Mandrill
    5 - Postmark
    6 - Sendgrid
    7 - SendinBlue
    8 - SparkPost
    9 - Other SMTP
    Choose from [1/2/3/4/5/6/7/8/9] (1): 5
  [17/27] use_async (n): y
  [18/27] use_drf (n): y
  [19/27] Select frontend_pipeline
    1 - None
    2 - Django Compressor
    3 - Gulp
    4 - Webpack
    Choose from [1/2/3/4] (1): 1
  [20/27] use_celery (n): y
  [21/27] use_mailpit (n): y
  [22/27] use_sentry (n): y
  [23/27] use_whitenoise (n): n
  [24/27] use_heroku (n): n
  [25/27] Select ci_tool
    1 - None
    2 - Travis
    3 - Gitlab
    4 - Github
    5 - Drone
    Choose from [1/2/3/4/5] (1): 3
  [26/27] keep_local_envs_in_vcs (y): y
  [27/27] debug (n): n
 [SUCCESS]: Project initialized, keep up the good work!

This is a postgresql configuration issue and not related to this project.

You are running out of connections because they aren't closed after usage
Use https://pgtune.leopard.in.ua/ to tune your config, make sure you have a high value for max_connections
Set https://docs.djangoproject.com/en/5.0/ref/settings/#std-setting-CONN_MAX_AGE to 0 to disable long(er) living connections

But the problem is, this case is not happening in Django 3.2, and only appear after migrated to Django 4.
Any different between the versions? I check at the CONN_MAX_AGE using the same 60s value.

If that is the problem, why don't you report it as such?

What else did you change during the migration?
What lib are you using for websockets, since this template doesn't have them?
what is your max connections? Run the show max_connections ;  query to find out.
Did you use async before Django 4?

I'm using the django channels for websocket connection, and upgrading to these pacakges.
django==4.2.11  # pyup: < 5.0  # https://www.djangoproject.com/

# Django Async
channels==4.1.0  # https://github.com/django/channels/
channels-redis==4.2.0  # https://github.com/django/channels_redis/

# asgi_redis (async to sync)
asgiref==3.8.1  # https://github.com/django/asgiref/

For max_connections is 100 as default from Postgres 12.

max_connections isn't related to your project, so do you use your database for more projects?
how many gunicorn workers do you use?
how many celeryworkers workers do you use?
is you use the async/unvicon option you are using the uvicon worker, I'm correct?

Increasing max_connections to 400 would be a simple solution

nope, I'm using a single application but setup using k8s.
12 workers as I manually config in compose/production/django/start

exec /usr/local/bin/gunicorn config.asgi --bind <IP_ADDRESS>:5000 --chdir=/app -k uvicorn.workers.UvicornWorker --workers=${UVICORN_TOTAL_OF_WORKERS:=12}

I'm not sure of it, but we're using single pod of celeryworker.

kubectl --kubeconfig=.vscode/development/kubeconfig get pods
NAME                           READY   STATUS    RESTARTS   AGE
celerybeat-7dccfd8965-mbjt9    2/2     Running   0          4h31m
celeryworker-fc7d59c8c-9bgcv   2/2     Running   0          4h31m
django-5d54d9ddbf-dmpk6        2/2     Running   0          4h31m
flower-78c4b8f74f-8h8hx        2/2     Running   0          4h31m
next-849ff6c88b-95tgn          1/1     Running   0          4h31m
websocket-768b6cd964-gj9j4     2/2     Running   0          4h31m

Yup, we're using uvicorn workers as in above.

Let say if many users are using the websocket at the same time. is increasing the max_connections to 400 will solve the problem?

How many workers does celery use? 12?

How to check the celery workers?
This is what I get so far;
kubectl --kubeconfig=kubeconfig exec --stdin --tty celeryworker-6dc48c545d-p879n -- /bin/bash

Defaulted container "celeryworker" out of: celeryworker, vault-agent, vault-agent-init (init)
django@celeryworker-6dc48c545d-p879n:/app$ source /entrypoint
PostgreSQL is available
django@celeryworker-6dc48c545d-p879n:/app$
django@celeryworker-6dc48c545d-p879n:/app$
django@celeryworker-6dc48c545d-p879n:/app$ celery -A config.celery_app status
->  celery@celeryworker-6dc48c545d-p879n: OK

1 node online.

anything that I can do apart from increasing the max_connections?

You have at least these 4 options as far I can tell:

Limit the amount of concurrent connections for the UvicornWorker like described in https://stackoverflow.com/questions/63471960/gunicorn-uvicorn-worker-py-how-to-honor-limit-concurrency-setting by implementing a CustomUvicornWorker
Set https://docs.djangoproject.com/en/5.0/ref/settings/#std-setting-CONN_MAX_AGE to 0
Increase max_connections
use pgbouncer or pgpool for connection pooling

Thank you so much @foarsitter, we will try your suggestions :+1:

If you resolve your issue by implementing a custom UvicornWorker we would like to receive a PR :)

Finally my issue was solved. This happens because of using both shared_task() and @celery_app.task(), and it leads duplicate database connection. So, after rollback all to use @celery_app.task() only, it's resolve the problem.
Before

myapp/tasks.py

from celery import shared_task
from config import celery_app

@shared_task()
def task_1():
   ...

@celery_app.task()
def task_2_that_called_for_cronjob():
   ...

After
from config import celery_app

@celery_app.task()
def task_1():
   ...

@celery_app.task()
def task_2_that_called_for_cronjob():
   ...

The issue still appears again.

shared_task is just another way of registering tasks for situations when there is no app  available yet. So that can't be the solution.

I found some related issue are because of impact of upgrade Django 4 + using sync_to_async, as I'm right now using it to handle the async process for the websocket.

https://stackoverflow.com/questions/75848263/too-many-db-connections-django-4-x-asgi
https://code.djangoproject.com/ticket/33497
https://code.djangoproject.com/ticket/32889
https://github.com/django/django/commit/36fa071d6ebd18a61c4d7f1b5c9d17106134bd44

So you put CONN_MAX_AGE to 0 and solved the issue?

Nope, I had changed it to 0. And the error still occurs.

The issue finally resolved after implementing the django-db-connection-pool + set the CONN_MAX_AGE=0
DATABASES = {"default": env.db("DATABASE_URL")}
DATABASES["default"]["ATOMIC_REQUESTS"] = True
# https://github.com/altairbow/django-db-connection-pool?tab=readme-ov-file#postgresql
DATABASES["default"]["ENGINE"] = "dj_db_conn_pool.backends.postgresql"
DATABASES["default"]["POOL_OPTIONS"] = {
    "POOL_SIZE": 10,
    "MAX_OVERFLOW": 10,
    "RECYCLE": 24 * 60 * 60,
}

# Set to 0 to disable long(er) living connections
# https://docs.djangoproject.com/en/dev/ref/settings/#std-setting-CONN_MAX_AGE
# https://github.com/cookiecutter/cookiecutter-django/issues/5071
# "connection failed: FATAL: remaining connection slots are reserved for non-replication superuser connections"  # noqa: ERA001
DATABASES["default"]["CONN_MAX_AGE"] = env.int("CONN_MAX_AGE", default=0)

The upcoming errors that occurs is ProgrammingError the last operation didn't produce a result.
Even after changing the ORM of .exists() to .count() > 0.
Related issue: https://github.com/psycopg/psycopg/discussions/417

@agusmakmun is CONN_MAX_AGE required when a pool is involved? That shouldn't have to be the case I suppose.

For this case, was resolved after downgrade the python fromdocker.io/python:3.12.3-slim-bookworm topython:3.10.10-slim-bullseye.
I also consulate with ChatGPT with this query:

For a database server with 2 cores and 2GB of memory, how many POOL_SIZE, MAX_OVERFLOW and RECYCLE. I need numbers only.

DATABASES["default"]["ENGINE"] = "dj_db_conn_pool.backends.postgresql"
DATABASES["default"]["POOL_OPTIONS"] = {
    "POOL_SIZE": 3,
    "MAX_OVERFLOW": 3,
    "RECYCLE": 1800,  # 30 minutes
}

DATABASES["default"]["CONN_MAX_AGE"] = env.int("CONN_MAX_AGE", default=0)

Until deployed to production, no issues so far. Not sure which one is correct, either decrease the pool_size with propper size, or downgrade the python.

The issue finally resolved after implementing the django-db-connection-pool + set the CONN_MAX_AGE=0

settings.py

DATABASES = {"default": env.db("DATABASE_URL")}
DATABASES["default"]["ATOMIC_REQUESTS"] = True
# https://github.com/altairbow/django-db-connection-pool?tab=readme-ov-file#postgresql
DATABASES["default"]["ENGINE"] = "dj_db_conn_pool.backends.postgresql"
DATABASES["default"]["POOL_OPTIONS"] = {
    "POOL_SIZE": 10,
    "MAX_OVERFLOW": 10,
    "RECYCLE": 24 * 60 * 60,
}

# Set to 0 to disable long(er) living connections
# https://docs.djangoproject.com/en/dev/ref/settings/#std-setting-CONN_MAX_AGE
# https://github.com/cookiecutter/cookiecutter-django/issues/5071
# "connection failed: FATAL: remaining connection slots are reserved for non-replication superuser connections"  # noqa: ERA001
DATABASES["default"]["CONN_MAX_AGE"] = env.int("CONN_MAX_AGE", default=0)

requirements.txt

psycopg[pool]==3.1.18  # https://github.com/psycopg/psycopg
django-db-connection-pool[psycopg3]==1.2.5  # https://github.com/altairbow/django-db-connection-pool

Thank you so much.. I was suffering from this issue.

And you did increase max_connections to 1000?

Guys, FYI, our issue finally resolved after increasing the PostgreSQL database from default 100 to max_connections=300.
and change the DATABASES["default"]["CONN_MAX_AGE"] = env.int("CONN_MAX_AGE", default=0)
also remove the additional database pool setup to use default one.
My last issue is because of max_connections not set properly.


helm/prometheus: prometheus template

allow Rules Selector to use other Selectors besides matchLabels
Fixes #914

Maybe I should've increased the Chart version as well?

Yes, please follow this steps

also bump kube-prometheus and it's requirements

I realised I forgot that after the failed travis-ci build, thanks. It should be okay now.

bumping kube-prometheus version, on green we are ready to merge!!

thanks @MihaiAnei

Does this not break the rules.yaml template? I'm getting errors when using
rulesSelector:
  matchLabels:
    role: example-rules

@andersflemmen previously you could not use any other selector besides matchLabels with rulesSelector. Indeed your custom chart values need to be changed as this is a breaking change.
For example, if you need to use a matchLabels selector:
rulesSelector: {
  matchLabels: [{role: example-rules}]
}

or if you need a matchExpression (which I use most of the times):
rulesSelector: {
  matchExpressions: [{key: prometheus, operator: In, values: [nginx-rules, kube-etcd-rules, any-other-awesome-rules]}]
}

Hmm, ok, so I have to use json inside my yaml?

The error comes from the template file below (rules.yaml), where it seems to expect only single labels.
{{- if and .Values.rules.specifiedInValues .Values.rules.value }}
apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    app: {{ template "prometheus.name" . }}
    chart: {{ .Chart.Name }}-{{ .Chart.Version }}
    heritage: {{ .Release.Service }}
    prometheus: {{ .Release.Name }}
    release: {{ .Release.Name }}
    {{- if .Values.rulesSelector }}
{{ toYaml .Values.rulesSelector | indent 4 }}
    {{- end }}
  name: prometheus-{{ .Release.Name }}-rules
data:
{{ toYaml .Values.rules.value | indent 2 }}
{{- end }}

@andersflemmen Indeed, you are right. I did not see that because I did not have any values in
rules:
  specifiedInValues: true
  value:

so using (in custom values yaml)
rules:
  specifiedInValues: true
  value:
    groups:
    - name: prometheus.rules
      rules:
      - alert: PrometheusConfigReloadFailed
        expr: prometheus_config_last_reload_successful == 0
        for: 10m
        labels:
          severity: warning
        annotations:
          description: Reloading Prometheus' configuration has failed for {{`{{$labels.namespace}}`}}/{{`{{$labels.pod}}`}}

generates
# Source: prometheus/templates/rules.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    app: prometheus
    chart: prometheus-0.0.24
    heritage: Tiller
    prometheus: prometheus-test
    release: prometheus-test
    matchExpressions:
    - key: prometheus
      operator: In
      values:
      - prometheus-hadm

  name: prometheus-prometheus-test-rules
data:
  groups:
  - name: prometheus.rules
    rules:
    - alert: PrometheusConfigReloadFailed
      annotations:
        description: Reloading Prometheus' configuration has failed for {{`{{$labels.namespace}}`}}/{{`{{$labels.pod}}`}}
      expr: prometheus_config_last_reload_successful == 0
      for: 10m
      labels:
        severity: warning

which, indeed, is not right. I'll think of a solution and come back with a PR.


Need documentation on how to upgrade NDK for Android builds

The Android NDK used by MapLibre for builds was released in 2020.  Since the first MapLibre Android release there been five additional official NDK releases.
Error if no NDK is installed

9.1.0-SNAPSHOT
WARNING: Compatible side by side NDK version was not found. Default is 20.0.5594570.

Opening this issue to track for when we upgrade.  caveat:  it is not clear if MapLibre Android needs to update, but we need to capture steps to perform the upgrade.

How NDK works now:

GitHub Workflows are based on the container image android-ndk-r21b.
Announcement from Spring 2020 of when NDK r21b released was released.
Latest NDK Revision History found at developer.android.com.

[ ] How is the default version set in source?

sdkmanager --list --channel=0 | grep ndk

Current version required is: 20.0.5594570 for an install on a clean macOS machine.

ndk;major.minor.build
version
detail

ndk;20.0.5594570
20.0.5594570
NDK (Side by side) 20.0.5594570

ndk;21.0.6113669
21.0.6113669
NDK (Side by side) 21.0.6113669

ndk;21.1.6352462
21.1.6352462
NDK (Side by side) 21.1.6352462

ndk;21.3.6528147
21.3.6528147
NDK (Side by side) 21.3.6528147

ndk;22.0.7026061
22.0.7026061
NDK (Side by side) 22.0.7026061

ndk;24.0.8215888
24.0.8215888
NDK (Side by side) 24.0.8215888

Likely closed with #702


📑 Feature Request: Issues Listing Page

🚀 Pull Request
Description
a dedicated page for users to view all issues associated with their bookmarked repositories, improving accessibility and organization.

Fixes #113
Closes #113

Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Screenshot of final output/video

@amitb0ra have you attached the correct screenshots? Kindly have a look and update.

@amitb0ra have you attached the correct screenshots? Kindly have a look and update.

ah, changed.

@Aarzookhunger any updates?

@Aarzookhunger any updates?

Merged!


Please provide the steps for keys and setup to use it.

I used it from https://makersuite.google.com/app/apikey but it's not working.

@joreilly please check and help

you need to add this to local.properties ....I'll update README to make that clearer.
gemini_api_key=<your_key>

still same issue @joreilly

What's the issue you're seeing?

okay, it works now.My key was in double quote , removing the quote.
Fixed it.

@joreilly apologies


Get Sarah A & Tim S platform access

[ ] @tim-schilling  needs access to environment settings
[ ] @sabderemane  needs the same access to Tim

Let me know if we have other things you need to do that's not covered in your current access! Happy to poke around and enable whatever you need.

Completed.


After a dependencies conflict that lead me to disable @bufbuild/buf (arm not compatible but look ok for this project to remove it)
Finally it was running but got :
[00:00:01.636] [ERROR] ConnectError: [internal] decompression failed
    at /xxx/node_modules/@connectrpc/connect-node/dist/cjs/compression.js:78:21
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async envelopeDecompress (/xxx/node_modules/@connectrpc/connect/dist/cjs/protocol/envelope.js:115:16) {
  rawMessage: 'decompression failed',
  code: 13,
  metadata: HeadersList {
    cookies: null,
    [Symbol(headers map)]: Map(0) {},
    [Symbol(headers map sorted)]: null
  },
  details: [],
  cause: RangeError [ERR_OUT_OF_RANGE]: The value of "options.maxOutputLength" is out of range. It must be >= 1 and <=<PHONE_NUMBER>. Received<PHONE_NUMBER>
      at Gunzip.ZlibBase (node:zlib:278:23)
      at Gunzip.Zlib (node:zlib:695:3)
      at new Gunzip (node:zlib:759:3)
      at asyncBufferWrapper (node:zlib:800:23)
      at node:internal/util:375:7
      at new Promise (<anonymous>)
      at asyncBufferWrapper (node:internal/util:361:12)
      at Object.decompress (/xxx/node_modules/@connectrpc/connect-node/dist/cjs/compression.js:40:31)
      at envelopeDecompress (/xxx/node_modules/@connectrpc/connect/dist/cjs/protocol/envelope.js:115:34)
      at /xxx/node_modules/@connectrpc/connect/dist/cjs/protocol/async-iterable.js:507:92 {
    code: 'ERR_OUT_OF_RANGE'
  }
}

I have edit

<EMAIL_ADDRESS><EMAIL_ADDRESS>by replacing
const maxReadMaxBytes = 0xffffffff;
to
const maxReadMaxBytes = 0x0fffffff;

It's now working fine but I dont really understand maybe 32 bit system ?
Environment (please complete the following information):
"@connectrpc/connect": "1.3.0",

Node.js version: 18

After a dependencies conflict that lead me to disable @bufbuild/buf (arm not compatible but look ok for this project to remove it)

@bufbuild/buf should be dev dependency, ideally needn't be installed where the final code is running.

by replacing
const maxReadMaxBytes = 0xffffffff;
to
const maxReadMaxBytes = 0x0fffffff;

I am guessing reducing the limit worked for you. From the stack trace, I can't figure out if it is the server or client, but both support readMaxBytes option. You can use that instead of editing the node_modules file.

It's now working fine but I dont really understand maybe 32 bit system ?

Not sure, but I think it has something to with how zlib is implemented on different platforms.

Hi, thanks for the info
How to use readMaxBytes option ?
I run it with :
node src/prog.js

Can you show me the transport code?


Attributes already defined

Hi,
great library!
When adding the library via gradle it's not possible to sync because of attributes already defined (e.g. firstDayOfWeek in conflict with com.baoyz.pullrefreshlayout). Any suggestions what to do?

@simongiesen It was flawed design. This has been addressed (and hopefully fixed!) in v2, which is now available. Gradle dependency has been added to readme.


Updating predictive web service not working

So I've been following the instructions at https://docs.microsoft.com/en-us/azure/machine-learning/studio/retrain-machine-learning-model#update-the-predictive-experiment. Even though my model & my predictive web service definition are updated, the predictive web service still doesn't update. I try to get a prediction, and I still get the same results. Nothing has changed.
I then tried deleting all the trained models in my blob storage, and somehow the predictive web service can still make predictions! How is this possible? There seems to be no relationship between the trained model in the blob storage and the predictive web service. How can I fix this?

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

ID: d4bb1f96-723f-1232-bf39-003119b3a702
Version Independent ID: 2cbccabc-8f45-8be0-d703-fee1b2469cc4
Content: Retrain and deploy a web service - Azure Machine Learning Studio
Content Source: articles/machine-learning/studio/retrain-machine-learning-model.md
Service: machine-learning
Sub-service: studio
GitHub Login: @xiaoharper
Microsoft Alias: amlstudiodocs

@gearsmotion789 Thanks for the feedback! We are currently investigating and will update you shortly.

@gearsmotion789 The command to update the web service after changing the file should be the following:
Update-AzMlWebService -Name '<web_Service_names>' -ResourceGroupName 'RG_Name' -ServiceUpdates $wsd
Since the service update is not used in the current command the web service used the same cached model file. If the updated ilearner file is not available it will throw an error as seen below.

@gearsmotion789 This is because the model file is cached and ServiceUpdates option was not used in your update command. Please try to use this option after updating the file and importing the new configuration, this should update the web service correctly as there is a change in configuration as passed in the serviceupdates option.


update default config template with 0.34

closes #1482

yes it does, because it changes the timeout parameters to use underscores. the timeouts were set as defaults when we backported because 0.34 uses snake case instead of dash case, so our config parameters were just ignored


Fix for soft keyboard issue

Soft keyboard was showing after basemaps were selected.  Also set routing directions to use default units of measure (meters) since setting to IMPERIAL didn't work.  I wasn't able to get feet or miles back from routing task.

@zinfin Fix for #135 looks good.  Added some minor updates and merging.


Add Project Description in Readme File

Complete the Readme file by adding Table of Contents, Various Sections and Necessary Links!

Assign me @kailashchoudhary11. I'd also like to contribute with code. If there is anything you have that is beginner friendly.

Go Ahead! In which part would you like to contribute through code? Frontend or Backend?

I was thinking backend because I would like to build more collaboration
experience with python and django

Oh Great! Maybe we can connect on Discord?

Sure, that works for me.
On Sun, Oct 16, 2022, 10:39 AM Kailash Choudhary @.***>
wrote:

Oh Great! Maybe we can connect on Discord?
—
Reply to this email directly, view it on GitHub
https://github.com/kailashchoudhary11/imgman/issues/4#issuecomment-1279932990,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVHCYRV3XIXW5IM4QFD2OXDWDPEO7ANCNFSM6AAAAAARGG5TNQ
.
You are receiving this because you were assigned.Message ID:
@.***>

@highb33kay kai_11#4616 This is my discord id

Done and attached a pr #10


Cargo plugin can't handle git sources

This is a clone of the same issue reported against the cargo plugin for bst-1: https://gitlab.com/BuildStream/bst-external/-/issues/48
Some Cargo.lock files can specify dependencies through git repositories, but the cargo plugin is unable to handle this case.

I looked into this and it seems to be a bit tricky. The problem is that kind: cargo can only have cargo plugin refs and not git refs.
The cargo plugin has to introduce a ref format for git sources. That's not really complicated. That, however, means that for all functionality like download etc., the cargo plugin also has to implement the git functionality. It might be possible to do this by wrapping around the git plugin in these cases. But I'm not sure if that's the right way to do this.

I'm working on this now.

This feature is now available in buildstream-plugins-community as part of the cargo2 plugin.


mock request expects options.body to be a string. handle that.

If the request body is a (JSON) object, set options.body to string
@darbyfrey

Thanks @ywong19!


DCGM Does Not Refresh Updates For Watched Profiling Fields As Expected

Our team is working on innovating some tools for profiling deep learning programs' performance with the help of dcgm python bindings. Lately a weird thing noticed bugged us a lot, and we hope to get some sage insights here.
Testing Env:

driver version:  450.80.02
cuda version: 11.2
dcgm version 2.3.2

Details

As shown above, we launched the same workloads on 4 GPUs on one node and used dstat-like tool we developed to monitor its performance in the same time.  At the beginning. the sm activity column showed meaningful statistics as expected, but after a certain period of time, all data( of profiling fields ) on GPU 0 became 0 whereas the others still showed reasonable output.  Furthermore, we also noticed the same behavior using dcgmi, the cmd is like as follows:
dcgmi dmon -e 203,1002 -i 0,1,2,3

Any advice or help is appreciated, thanks.

@nikkon-dev Thanks for your reply, looking forward to this fix!


Update threeten-extra to 1.7.1

Updates org.threeten:threeten-extra from 1.7.0 to 1.7.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (1.7.0).
You might want to review and update them manually.
project/Versions.scala

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.threeten", artifactId = "threeten-extra" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.threeten", artifactId = "threeten-extra" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, old-version-remains, commit-count:1

Superseded by #591.


use atom-jasmine3-test-runner

Should we merge this before #153 and see if it fixes the tests or should I rebase this after merging that?


Updating readme.md link for Application Criteria & Current Capabilities

Straightforward link update. I do hope to contribute more meaningfully in the future.

Thank you for linking that prior PR, based on that it seems the desire was to go with the shorter slug.
In that case, I could update my pull request later. I suspect the title metadata field is used as the default slug when not otherwise defined, but this document indicates we could add a slug field to the metadata. Either solution may work.

Yes, because readme.com's create-doc API is a bit strange.  When you create a doc you can only use the title in the create request and readme.com tells you the slug that was created.  When you're running a sync, the tool uses the slugs in the hierarchy.md to check if there is an existing page and update it, if it doesn't find the slug, it creates a new page based on the title.
This shouldn't happen too often because we're not changing slugs now we're live.  I did a test in this PR #54

Thanks for the explanation @codeallthethingz Does that mean to change a slug I just need to change the metadata at the top of the page?
@OcWebb yes, exactly, that was my original intent to use the shorter title and slug. Thanks for offering to update the PR.  I think for practical reasons (since we are still waiting on your CLA to be processed) I would merge Will's PR with the slug fix. I really appreciate you finding this error and also offering a fix for it so quickly!

It makes sense to clean this up quickly with the other PR. Thanks for all the responses. I do intend to parse through the codebase and hope to contribute something more substantial in the future. Very excited for this project!
I will close this PR.

thanks for understanding! I didn't want to dampen your enthusiasm by not merging this PR. Definitely looking forward to hearing more from you :)


Create Posts “20221207-what-should-we-return-from-the-useeffect-hook”

Automatically generated by Netlify CMS

👷 Deploy Preview for monetaboot processing.

Name
Link

🔨 Latest commit
b8d7898b9f51a025663c886efe19598d451f2551

🔍 Latest deploy log
https://app.netlify.com/sites/monetaboot/deploys/6390baf84e14840008365a6e


feature: improve hermes packet relaying

Overview
Hermes seems to be really flaky with wasm based contract IBC ports.
Proposal
To fix this: we would need to run clear-packet as either a sidecar or a process with commands here:
https://twitter.com/kais_kat/status/1680539380304191489?s=20

Actually after version 1.6.0, there is a mode to pull (poll) for events, suited best for cosmwasm ibc packets.
Have a look at: https://github.com/informalsystems/hermes/releases/tag/v1.6.0
For now, wont be adding additional clear-packet command. Can get back to this if needed.


[8.x] Cannot test with fake emails when using Email Validation rules.

Laravel Version: 8.61.0
PHP Version: 8.0.5
Database Driver & Version: MySQL 8.26

Description:
There is no way to fake an email on testing when dealing with a route validating email with RFC, DNS, or a custom one. Since the rule cannot be bypassed instead of mocked or faked (just for the email), any test fails, unless the whole validation system is faked in an additional test case.
Steps To Reproduce:

Create any test with this code.

use Illuminate/Support/Facades/Route;

public function test_bad()
{
    Route::post('test', function (Request $request): string {
        $request->validate(['email' => 'email:dns,rfc']);

        return 'ok';
    });

    $this->post('test', ['email' => 'testemail@email.com'])->assertOk();
}

The is no way to allow to bypass email validation, leaving these alternatives:

Faking the validation entirely on a separate test.
Enabling validation for that rule separately using app()->environment('testing') conditionally.

Possible solutions.

Allow the container to resolve the EmailValidator instance so it can be faked/mocked.
Create a fakeRules() helper for the Validator to allow bypassing certain keys, or certain rule keys.

This is a feature request so I'm moving it to discussions. Also please note that you can't perform two HTTP calls in a single test as that's not a real-life scenario.


Trying to execute commands as a different user with su <user> -c <code> doesn't always work

I've been trying to get this to work but with no particular success:
capslock = layer(l1)

[capslock]
x = command(su <user> -c spotify)

After updating the default.conf and restarting the service, utilizing this action doesn't result in anything. I've tried making it work without switching users but some applications couldn't be simply ran as root.
However, I tried stopping the service and manually starting the keyd to see what would happen.
sudo keyd
Utilizing the 'command()' action  now works without a problem and command spotify executes without the problem when pressing assigned keys.
Is there any way I can achieve the successful execution of this command when the keyd.service is ran?
Thank you!

capslock = layer(l1)

should be
capslock = layer(capslock)

unless you have defined l1 somewhere else.
x = command(su <user> -c spotify)

I would strongly recommend against doing this. You should map programs like this inside of your window manager or desktop environment. If you are on a single user machine and know what you are doing (e.g have set DISPLAY appropriately, etc) then inspecting the log output should yield some clues.

Setting the DISPLAY variable does the trick. Appreciate it, thank you so much!


Pick up MakeAbsoluteChartUrl function

See https://github.com/kubernetes/helm/commit/af9190f956cf8983370fe6b6d96aa30e9552c94a.

No work needed; we're sufficiently different here.


Update action to run on Node16

See https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12

@DamianReeves : What is the process for getting the necessary approval?

Can we get this merged in please if it is the correct implementation? Would love to remove the extra warning being generated when using this action :) happy to help as needed..


Can't connect as a second user

When I connect using my own account, everything works fine, but when I try in my tablet with my "Tablet" account/person, the HA-SIP fails as below:

I tried to remove all extensions except tablet but the issue remains. Very weird. If you want to debug on my side, I can show on Discord.

It can't match the logged in user with any user in extensions. Are you sure you're logged in as tablet, and the person entity is correct?

Yes, I'm sure!

This is the code where it defines the logged in user. Could be useful.
${this.config.extensions.map(extension => {
    var stateObj = this.hass.states[extension.entity];
    var isMe = (this.hass.user.id == this.hass.states[extension.person].attributes.user_id);
    if (isMe) { this.user = extension; }

Maybe a refresh? Because it's a new entity.

I tried everything already, lol. Also, I wish I knew how to debug this to check which value is inside of these fields...

Ok now I think I found how to debug. One sec.

Debugging cards is indeed hard. I log the values and rebuild.

user_id for the person Tablet is undefined. But when it iterates as my user, it's set.

Wow, just found the issue:

I think. Checking...

Yes, worked.  Thank you for the tip on debugging!

Nice, never found that problem. I will add it in the wiki.

Wait, how did you use the Tablet user if it isn't allowed to log in?

Exactly! That's what I don't understand. But my gut feeling is that I had an user called tablet (that's how I logged in) and then a person called tablet, but they were not linked.

I was thinking that too. Same name, different ID.


fixing broken link and adding PowerShellGet info  (#368)

fix formatting of note block

resubmitting to fix github issue

fixing broken link and adding PowerShellGet info

fix typo

@TaraMeyer,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azureps-cmdlets-docs/ResourceManager/docs-conceptual/install-azurerm-ps.md
:white_check_mark:Succeeded

azureps-cmdlets-docs/ServiceManagement/docs-conceptual/install-azure-ps.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azureps-cmdlets-docs/ResourceManager/AzureRM.Sql/v3.2.1/New-AzureRmSqlElasticPool.md
:white_check_mark:Succeeded

azureps-cmdlets-docs/ResourceManager/AzureRM.Sql/v3.2.1/Set-AzureRmSqlElasticPool.md
:white_check_mark:Succeeded

azureps-cmdlets-docs/ResourceManager/docs-conceptual/install-azurerm-ps.md
:white_check_mark:Succeeded

azureps-cmdlets-docs/ServiceManagement/docs-conceptual/install-azure-ps.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Refactoring & adding e2e

Few big changes here:

Moved to pnpm (to improve performance)
Moved apps to apps folder
Moved legacy core package to legacy
Creating a new website infra
Created an e2e app for website

Closed #155


Option to export git log to sqlite

When this command runs it creates an in memory sqlite database with all tables and throws us in the sqlite3 shell (possibly with --dump, which simply stores the tables in a sqlite db disc based file). This will allow much richer query.

Hey @amitu ,
I think that the main goal of gitql is make queries on git repositories. If we put a feature about export to sqlite, it will loss that goal because the query language would be from sqlite. Maybe create other project
looks better.
When I started to code this, I thought to follow that strategy, but one of the problems is that you always would need to sync the database before run queries and maybe it would causes a bad experience.
What do you thought about this problem?

The in memory db was to avoid the problem of resyncing. With in memory db its more like git log | less, the content displayed in pager won't change, it will be a snapshot, and on next call it would be the latest snapshot.
The very first thing I tried after installing gitql was to do a group by author, and realised group by doesn't work.
It would be vary challenging task to keep the query language be full featured, so passing to sqlite would be a good idea instead of reimplementing every SQL nuance.

how long would gitql spend to fill in the database in the case of in memory db, @amitu?

It will depend on the size of the repository. It will take almost the same time as git log does.

We could also try to implement memoization together with taking the latest snapshot. Sounds promising, but we gotta study its viability and speed

I've create small script in python that export git log to sqlite database file:
https://gist.github.com/jcubic/0c7ccae5d764ff61788fc626096e5688
so maybe you can use it instead of implementing option to export to sqlite in gitql.

and it's pretty fast, it was only slow when I print the log when debugging so if you will import export in gitql it shouldn't be slow.

That is cool! I will take a look at that later, as I think that our priority for now would be fixing the small bugs on gitql. Only then we could start working on that. What do you think @jcubic ?

No rush and great work on the tool.

Do you guys think that this is something needed in the tool? As we can show the results as a json, if someone need to that, they can use the json as an input to another script.
If we move on, our domain will change a lot, we will start thinking in different database drivers, for example.

Well. I'm closing this for now based that gitql should not connects with real databases, we can reopen it to think in other tool like jcubic did. Thank you for all the suggestions.

I agree. But do you think, we can have export to a CSV file. Most databases support exporting a query to a csv file; easier for sharing data to humans. JSON is good for sharing data with other apps, which we already have.


mobilenet_backbone behavior when trainable_layers = 0

🐛 Bug
When torchvision.models.detection.backbone_utils.mobilenet_backbone is called with trainable_layers=0, more parameters
are trainable than I would have expected.
To Reproduce
The following script:
from torchvision.models.detection.backbone_utils import (
    mobilenet_backbone,
    resnet_fpn_backbone,
)

n_trainable_params = []
for trainable_layers in range(6):
    net = mobilenet_backbone(
        "mobilenet_v3_large",
        pretrained=False,
        fpn=True,
        trainable_layers=trainable_layers,
    )

    n_trainable_params.append(len([p for p in net.parameters() if p.requires_grad]))

print(f"Mobilenet number of trainable parameters: {n_trainable_params}")

n_trainable_params = []
for trainable_layers in range(6):
    net = resnet_fpn_backbone(
        "resnet50", pretrained=False, trainable_layers=trainable_layers,
    )

    n_trainable_params.append(len([p for p in net.parameters() if p.requires_grad]))

print(f"Resnet number of trainable parameters: {n_trainable_params}")

outputs
Mobilenet number of trainable parameters: [63, 9, 30, 56, 77, 83]
Resnet number of trainable parameters: [16, 26, 45, 58, 68, 69]

However I would expect the first list to be increasing (like the second one). This line https://github.com/pytorch/vision/blob/9c31d1d5af5877514ebdf12c15d65110715d6040/torchvision/models/detection/backbone_utils.py#L154 looks wrong since num_stages isn't correlated to an index of backbone.
Expected behavior
The number of trainable parameters for a mobilenet backbone when trainable_layers is set to 0 should be less than when trainable_layers is set to anything greater than 0.
Environment
PyTorch version: 1.8.1+cu102
Is debug build: False
CUDA used to build PyTorch: 10.2
ROCM used to build PyTorch: N/A

OS: Ubuntu 18.04.5 LTS (x86_64)
GCC version: (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Clang version: Could not collect
CMake version: Could not collect
Libc version: glibc-2.10

Python version: 3.7 (64-bit runtime)
Python platform: Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-buster-sid
Is CUDA available: False
CUDA runtime version: No CUDA
GPU models and configuration: No CUDA
Nvidia driver version: No CUDA
cuDNN version: No CUDA
HIP runtime version: N/A
MIOpen runtime version: N/A

Versions of relevant libraries:
[pip3] numpy==1.17.4
[pip3] torch==1.8.1
[pip3] torchvision==0.9.1
[conda] numpy                     1.17.4                   pypi_0    pypi
[conda] torch                     1.8.1                    pypi_0    pypi
[conda] torchvision               0.9.1                    pypi_0    pypi

@ekorman-strive Thanks for reporting, you are absolutely right. This is a bug. I'll follow up with a PR shortly.


Attach Doesn't work ?

when i use attach to add model with many to many relationship
$friend = User::find('5879631b4b8e433628004bd5')->friends()
->attach('5879631b4b8e433628004bd4',['close' => $request->close]);
it doesn't create friends collection

what is the solution for it i do have same but its not working


Lazily evaluated result coalescing

?? used @autoclosure but since recover/recoverWith did not, it made no difference: the right hand operand would always be evaluated eagerly.
The fix is to use @autoclosure for recover and recoverWith, which I believe is correct for their semantics as well.
h/t @esttorhe: https://twitter.com/esttorhe/status/598962925685080064

:clap: great response time.
With this in place I think I can rewrite my code better now :bow:
Thanks :tada:

@esttorhe: released: https://github.com/antitypical/Result/releases/tag/0.4.3

:+1:  let me hit carthage update then :)


Convert opt to megatron-lm

🚀 Feature Request

Convert opt checkpoint to megatron-lm or fastertransformer
Motivation
I am currently trying to use opt in a production environment.
However, because the 175B model is too large, it cannot fit all on single A100 GPU.
So I used huggingface's accelerate, but found that there was no latency benefit.

https://twitter.com/huggingface/status/1524783489593360385
https://github.com/huggingface/accelerate/pull/345#issuecomment-1121411236

From what I have found, it is important to utilize intra-layer parallelism called tensor parallel in order to increase speed in a multi-gpu environment. like below

deepspeed
fastertransformer (megatron-lm)

So I tried to serve opt using fastertransformer.
However, converting the opt model to megatron-lm or fastertransformer did not work well.
I hope this feature is supported so that opt can be used much more.
Additional context
Here's what I tried for opt-> megatron-lm

megatron-lm : https://catalog.ngc.nvidia.com/orgs/nvidia/models/megatron_lm_345m
opt from huggingface : https://huggingface.co/facebook/opt-1.3b

Compare and match the keys at each checkpoint

Megatron-LM
OPT from huggingface

word_embeddings/weight
decoder.embed_tokens.weight

position_embeddings/weight
decoder.embed_positions.weight

transformer/layers.{i}.input_layernorm.weight
decoder.layers.{i}.self_attn_layer_norm.weight

transformer/layers.{i}.input_layernorm.bias
decoder.layers.{i}.self_attn_layer_norm.bias

transformer/layers.{i}.attention.query_key_value.weight
decoder.layers.{i}.self_attn.q_proj.weight  decoder.layers.{i}.self_attn.k_proj.weight   decoder.layers.{i}.self_attn.v_proj.weight

transformer/layers.{i}.attention.query_key_value.bias
decoder.layers.{i}.self_attn.q_proj.bias   decoder.layers.{i}.self_attn.k_proj.bias    decoder.layers.{i}.self_attn.v_proj.bias

transformer/layers.{i}.attention.dense.weight
decoder.layers.{i}.self_attn.out_proj.weight

transformer/layers.{i}.attention.dense.bias
decoder.layers.{i}.self_attn.out_proj.bias

transformer/layers.{i}.post_attention_layernorm.weight
decoder.layers.{i}.final_layer_norm.weight

transformer/layers.{i}.post_attention_layernorm.bias
decoder.layers.{i}.final_layer_norm.bias

transformer/layers.{i}.mlp.dense_h_to_4h.weight
decoder.layers.{i}.fc1.weight

transformer/layers.{i}.mlp.dense_h_to_4h.bias
decoder.layers.{i}.fc1.bias

transformer/layers.{i}.mlp.dense_4h_to_h.weight
decoder.layers.{i}.fc2.weight

transformer/layers.{i}.mlp.dense_4h_to_h.bias
decoder.layers.{i}.fc2.bias

transformer/final_layernorm.weight
X

transformer/final_layernorm.bias
X

Concat q,k,v in OPT like megatrons

    with open(f"model.layers.{i}.attention.query_key_value.bias.0.bin", "wb") as f:
        val = np.concatenate((model[f'decoder.layers.{i}.self_attn.q_proj.bias'].numpy(),
                                    model[f'decoder.layers.{i}.self_attn.k_proj.bias'].numpy(),
                                    model[f'decoder.layers.{i}.self_attn.v_proj.bias'].numpy()),
                                    axis=0)

Make empty weight for final_layernorm that doesn't exist in OPT
fill ones to final_layernorm.weight and zeros to final_layernorm.bias

Although the OPT model was executed with FasterTransformer with the above procedure, a sentence that does not make sense was generated as a result of completion.

our original weights should be closer to the megatron weights than the HF ones.
As one example:
https://github.com/facebookresearch/metaseq/blob/fc037c7abd3dbeae333480585ce84722869f767f/metaseq/distributed/stitch_fsdp_ckpt.py#L192-L200


SCRD-6923 Update Day 0 UI colors and icons

Switch colors to use official SUSE colors
Change icon colors to use Material Design icon colors
Remove unnecessary CSS
Update size of font and positioning of elements

Left the dot.png to be resolved by #285, but other issues have been addressed.

These changes have been merged into #285, closing this PR.


react-intl

Is there any reason why? We use<EMAIL_ADDRESS>and found it not really convenient. While Formatted* components are simple to use, the lack of imperative API is really an issue. Even with injectIntl helper.
Using react-intl means that you can no longer do:
<input placeholder={ formatMessage("some.message") } />

You have to use defineMessages or wrap your id:
<input placeholder={ formatMessage({id: "some.message"}) } />

I'm tried<EMAIL_ADDRESS>on one of my projects and I like it more than my current solution.
I found that formatMessage({id: "some.message", defaultMessage: "Some Message"}) really fits to me.
Second reason is that react-intl maintained by other people, not me :smile:

Closed by https://github.com/vslinko/ripster/commit/386b15c4fdb028b6f55892e029d80af708b52d57


Dag error messages missing filename

A relic of when --dag took the dag filename, if there is a syntax error in the dag file,
you get an error like:
Error: file True line 10: <parallel> inside <parallel> not currently supported
Note the "True" instead of filename.   These should use the "executable" and not he "dag" field
to get the file name.

Also, dagman parser is whining about comments:
Syntax Error: ignoring #This DAG was created by the command: at line 1
which doesn't mention the filename, but also should not be whining because the line starts with a # indicating a comment


support s command

The s command deletes count chars and enters insert mode.
MovingtoMars/liner#6
MovingtoMars/liner#26

Included in MovingtoMars/liner#30


Facebook search url no longer works?

Describe the bug
Currently if you search for example 'test !fb' it goes to
https://www.facebook.com/search/results.php?q=test&nomc=0
but this url doesn't work

Expected behavior
The correct url seems to be:
https://www.facebook.com/search/top/?q=test
if I just type 'test' into the search bar on facebook

Thank you!


UCP: KeyViz: Support to label Key by separator when in KV mode

Description
Currently, Key Visualizer supports obtaining Table information of Key from TiDB. We need to be able to label Key according to the separator when TiKV is used independently. Only the back-end part needs to be implemented, and the label mode and separator can be modified by the dynamic config.
Score

200

Mentor(s)

@hundundm

Contact the mentors: #tidb-challenge-program channel in TiDB Community  Slack Workspace
Recommended Skills

Golang

/pick-up-challenge

@HunDunDM  PTAL


Fix Redundant Bundle Validation checks

Issue #901
Added a set bundleValidated to keep track of the bundles being validated. This will ensure that upon any subsequent calls for the bundle service the validation will not be performed again.
For the case when bundle state changes to uninstall the bundleValidated markers is not being removed as the bundle is never unloaded from the process memory. So, for any subsequent installs of the bundle need not be validated again.

The BundleValidationFunctionException test is failing as it expects to perform validation on a bundle which has already been validated and marked in the code as validated in the previous test. The test expects to get an exception when the same bundle is validated by overriding the bundle validation function. But, due to the current optimization the validation is never called a on a bundle which has already been validated.
I think the test case needs to be modified to perform the test on a fresh bundle which has not been validated.

this is a duplicate of PR #921, closing this one.


Test with all recent Python/PyPy versions

Just to make sure the software actually works with them.

Codecov Report
Patch and project coverage have no change.

Comparison is base (f1a659c) 95.20% compared to head (acf4cdf) 95.20%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #223   +/-   ##
=======================================
  Coverage   95.20%   95.20%
=======================================
  Files           1        1
  Lines         563      563
  Branches       82       95   +13
=======================================
  Hits          536      536
  Misses         20       20
  Partials        7        7

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Making parcel coalescing test actually test something

making sure -DHPX_PARCEL_COALESCING_MODULE_EXPORTS is not propagated to all tests
flyby: added HPX_DECLARE_PLAIN_ACTION()
flyby: made client<>::client(future<id_type>&&) non-explicit

@justwagle Please verify whether this branch fixes the issues you're seeing on Windows when trying to use parcel coalescing

@hkaiser This fixes the issue of action not being correctly registered for parcel coalescing. The counters  are now showing values other than 0 for the toy application I am testing with.


Comparing differences between tags/releases

I have a GitHub workflow that runs when creating a GitHub release/tag in a repository.
on:
  # Triggers the workflow for release tags
  push:
    tags:
      - v[1-9].[0-9].[0-9]+
      # Sample: v1.0.0 or v9.9.10

Will I be able get the changed files list by comparing two tags?
An example from this repo:
https://github.com/tj-actions/changed-files/compare/v35.4.0...v35.4.1
How can i fetch the modified file list here? There are 6 modified files, and 10 commits.

@dhpalan I've updated the docs to include an example of how you can retrieve the changed files.
For a working example you can visit the demo application here.

@jackton1 This helped me a lot. Thanks for updating the docs as well.


[Create Event] The error message is not appeared under the ''Date" field after entering the past date.

Environment: Windows 10, Google Chrome 123.0.6312.86 (64-bit).
Reproducible: always.
Build found: 04.04.2024.
Preconditions

GreenCity site is opened https://www.greencity.social/#/greenCity.
Authorized user is logged in.
"Events" page is opened.

Steps to reproduce

Click on the ''Create event" button.
Enter the past date 12/31/2023 manually in the "Date" field.

Actual result
The error message is not appeared under the ''Date" field, the "Date" field is highlighted in red.

Expected result
The error message "Past date can't be chosen" is displayed under the "Date" field and the "Date" field is highlighted in red.
User story and test case links
E.g.: "User story #3193, #4231
Test case"
Labels to be added
"Bug", Priority ("pri: "), Severity ("severity:"), Type ("UI, "Functional"), "API" (for back-end bugs).

It seems like this bug have been resolved


implement multipart for api listener

❗ please do not add sensitive information in issues, you can provide extra information via email using issue number as reference ❗
Describe the issue
I'm using an api listener with a get method.
I would like to be able to return a multipart message for the get request.
I have no big ideas on implementing this but there should probably be a multipart XML sessionkey that is used at the end of the adapter that references file sessionkeys. Something like that.
Reporter
Bonno Smeele

NA
Screenshots
If applicable, add screenshots to help explain your problem.
Configuration

		</Receiver>

Input
Please provide an example of the input message.
Alternatively, provide a Ladybug report.

Environment
FF! 7.7-20211015.110538: ibis4salesforce
Running on LPZWNL000013838 using Apache Tomcat/9.0.56
Java Version: OpenJDK Runtime Environment (1.8.0_292-b10)
Heap size: 185M, total JVM memory: 340M
Free disk space: 11GB, total disk space: 237GB
Up since: 2022-04-07 12:43:22 (1h)
Additional Environment

DBMS: [e.g. Oracle, MSSQL, MariaDB, MySql, PostgreSQL]
Browser: [e.g. Chrome, Safari, Edge, Firefox]

Additional Context
Add any other context about the problem here. (f.e. ladybug report / test adapter with larva test)

can we reconsider this as we need this or a workaround  urgently

Is part of #3288


Demo integrating form components with ReduxForm

It would be super helpful to have a few canonical examples of how to integrate the form components with ReduxForm.
Additionally, it may be worth considering adding some ReduxForm HOC to wrap the components:
// Wrapped component
export function ReduxFormTextInput(props) {
  const {
    input: {onChange, value},
    placeholder,
    disabled,
    ...otherProps
  } = props;
  return (
    <TextInput
      onChange={onChange}
      value={value}
      placeholder={placeholder}
      disabled={disabled}
      {...otherProps}
    />
  );
}

// Example use:
<Field
  component={ReduxFormTextInput}
  placeholder="placeholder"
  name="fieldName"
/>

If BaseUI doesn't expose these wrappers, I think that each project that wants to integrate with ReduxForm will need to reimplement this boilerplate.
I wanted to kick off a discussion of where these examples/wrappers belong. Maybe it makes more sense to create a separate baseui-reduxform repo to prevent bleeding concerns?

I use redux-form a lot too and it will be nice to have a baseui-redux-form repo that exposes the render methods.

going to close this issue since it seems like folks have developed some effective patterns. this post will be still searchable and i've created a stack post for folks searching there

@Warbring3r’s solution was super helpful, but we ran into issues around redux-form’s default value being an empty string:
https://redux-form.com/8.2.0/docs/api/field.md/#-code-input-value-any-code-
This ended up being incompatible with the Base Select component, and we would not see the placeholder (#1252). We also removed the inline function declaration to avoid memory leaks. For those who might find this helpful, our HOC ended up looking like this:
// @flow
import * as React from 'react';
import {Select} from 'baseui/select';
import type {FieldProps} from 'redux-form';
import type {PropsT} from 'baseui/select';

type ReduxFormSelectProps = FieldProps & PropsT;
export class ReduxFormSelect extends React.PureComponent<ReduxFormSelectProps> {
  onChange = ({
    value: v,
  }: {
    value: $PropertyType<$PropertyType<FieldProps, 'input'>, 'value'>,
  }) => this.props.input.onChange(v);

  render() {
    const {
      input: {value},
      ...restProps
    } = this.props;
    return (
      <Select
        onChange={this.onChange}
        {...(value !== '' ? {value} : {})}
        {...restProps}
      />
    );
  }
}

And our usage looks like:
<Field
  component={ReduxFormSelect}
  name="equipment"
  options={[
    {id: 'van', label: 'Dry Van'},
    {id: 'reefer', label: 'Reefer'},
  ]}
/>


Add model3d field to entity object

Types of PR

[x] New Features
[ ] Upgrade of existing features
[ ] Bugfix

Description
Add model3d field to Vehicle, Pedestrian, MiscObject refer to OpenSCENARIO v1.1.
This field is intended to be used on simulators with 3D model view, such as AWSIM.

I tested the feature with some ScenarioObjects and debug output in Entity constructor.
As a result, I got all model3d content in stdout and checked it correct. In case of undefined model3d, I got empty string, as I expected.
Objects yaml is shown below.
      - name: barricade
        MiscObject:
          mass: 1.0
          miscObjectCategory: obstacle
          model3d: "Hello from model3d of MiscObject" # since OSC 1.1
          name: ""
          BoundingBox:
            Center:
              x: 0
              y: 0
              z: 0.5
            Dimensions:
              width: 3
              length: 1
              height: 1
          Properties:
            Property: []
      - name: nyancat
        Pedestrian:
          mass: 1.0
          model3d: "Hello from model3d of Pedestrian" # since OSC 1.1
          name: ""
          model: "nyan"
          pedestrianCategory: "pedestrian"
          BoundingBox:
            Center:
              x: 0
              y: 0
              z: 0.5
            Dimensions:
              width: 3
              length: 1
              height: 1
          Properties:
            Property: []
      - name: test-vehicle
        Vehicle:
          name: test
          vehicleCategory: car
          model3d: "Hello from model3d of Vehicle"
          BoundingBox:
            Center:
              x: 1.355
              y: 0
              z: 1.25
            Dimensions:
              width: 2.25
              length: 4.77
              height: 2.5
          Performance:
            maxSpeed: $maxSpeed
            maxAcceleration: INF
            maxDeceleration: INF
          Axles:
            FrontAxle:
              maxSteering: 0.5236
              wheelDiameter: 0.78
              trackWidth: 1.63
              positionX: 1.385
              positionZ: 0.39
            RearAxle:
              maxSteering: 0.5236
              wheelDiameter: 0.78
              trackWidth: 1.63
              positionX: -1.355
              positionZ: 0.39
          Properties:
            Property: []```


Use Loguru for logging

https://github.com/Delgan/loguru
problem is there are many modules/imports that need logging output inside the app and i'm not sure if they can all use the same loguru output at the same time... or if it needs global var.. or... unsure

@Constantin1489 this is next thing which would be super nice to solve, i'm a little embarrassed by the current print(...) logging I'm doing and it could be much nicer to clean up the whole app to use a nice logging library

Yes, this is one of the great features if I start early. I think I saw the solution will be just input the logger object into the threads at a glance.

I enabled the loguru. Could you explain to me the flash function?

Also, I will upload the loguru PR within two days.
But I won't do things like

bespoke leveling for the prints. Because you have more experience and you have some intention for leveling design.
logging optimization related to expensive syscall. Because I don't know for loguru now except vanilla python logging module.
logger formating. it's a design thing. but I will comment line example.
eventlet wsgi logs (such a (1311330) wsgi starting up on http://<IP_ADDRESS>:8995). Because I didn't do any research yet.

What I do

enable basic technical implementation.


Switch back to pulling devos as a template

With divnix/digga#121, the infinite recursion issue when devos is not a git repository should be fixed. Pulling devos as a template is the correct method of getting devos, so lets switch back to doing that.

bors try

combining with #421


ci: Add CPython 3.9 to testing

* Add CPython 3.9 to testing matrix
   - Upload coverage report on Python 3.9
* Update codecov/codecov-action to v2
* Add Python 3.9, Python 3 only, and CPython Implementation PyPI metadata classifiers

Codecov Report

Merging #17 (1ed9982) into master (17cae1d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #17   +/-   ##
=======================================
  Coverage   94.60%   94.60%
=======================================
  Files           7        7
  Lines         482      482
  Branches       82       82
=======================================
  Hits          456      456
  Misses         23       23
  Partials        3        3

Continue to review full report at Codecov.

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


Check for previous/existing GitHub issues/module proposals

[X] I have checked for previous/existing GitHub issues/module proposals.

Check this module doesn't already exist in the module indexes

[X] I have checked for that this module doesn't already exist in the module indexes; or I'm proposing the module to be migrated from CARML/TFVM.

Bicep or Terraform?
Bicep
Module Classification?
Resource Module
Module Name
avm/res/synapse/private-link-hub
Module Details
migration from CARML module to AVM bicep one
Do you want to be the owner of this module?
No
Module Owner's GitHub Username (handle)
No response
(Optional) Secondary Module Owner's GitHub Username (handle)
No response

@elanzel will migrate this module from CARML, without becoming its owner. The module will be marked as orphaned once the migration is complete, unless someone volunteers to own it.
If someone wishes to become the owner of this module, please indicate your intent in a comment on this issue.

[x] PR merged; Module published.
[x] GitHub teams are available and assigned to their parents.
[x] CODEOWNERS file updated.

Thank you for your work @elanzel! I'm closing this issue now.
Since this module was migrated from CARML without an owner, an orphaned module request was also created: https://github.com/Azure/Azure-Verified-Modules/issues/634


This is not the "general content"

The preamble to this article states "We recently revised the on-premises data gateway docs. We split them into content that's specific to Power BI and general content that applies to all services that the gateway supports. You're currently in the general content." -- However, despite that Note saying that I am "currently in the general content.", this article only describes how to manage a gateway cluster in Power BI.

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

ID: 3609538e-bb86-1026-ddd5-dabe93fddc7e
Version Independent ID: 9dbd2442-7d03-5e24-0882-7a10cb2f71d7
Content: Manage on-premises data gateway high-availability clusters and load balancing
Content Source: data-integration/gateway/service-gateway-high-availability-clusters.md
Service: powerbi
Sub-service: powerbi-gateways
GitHub Login: @mgblythe
Microsoft Alias: mblythe

Thanks @ewillman, you got me there :-). Right now our examples in the general content are still from Power BI, but we'll add other examples as we go. Which are most interesting to you?

Hi - i would also concur to the point above. The article suggests that you can change the Load Balancing behavior for the general OPDG - but in fact the example is only for PowerBI. I've looked at the installed product, the azure resource and the PowerShell and nowhere does it appear possible to change the behavior as suggested in the comment "You can choose to let traffic be distributed evenly across gateways in a cluster. "

Can anyone clarify ? Right now it looks like the "load balancing" is only possible on the powerBI version and if so the docs should be amended

@arthiriyer - can you clarify whether you can load balance with services other than Power BI?

Any updates regarding the way to configure load balancing of the gateway with Azure for example? We are using the gateway with Logic Apps and there is no configuration settings in Azure to specify the load-balancing behavior.

Hello- you can set up load balancing either from Power BI  or use PowerShell scripts https://docs.microsoft.com/en-us/powershell/module/datagateway/set-datagatewaycluster?view=datagateway-ps
We are working on a gateway management experience on the power platform admin center which will provide a standard experience across applications using gateways- unfortunately these configuration feature isn't available yet but we are actively working on making these available.
https://docs.microsoft.com/en-us/power-platform/admin/onpremises-data-gateway-management

#please-close


please add feature to set initial line number

when importing some files have header in them then the table start so i want from where the table starts not header because it takes header a single columns

Hmm, would you be able to post a sample file with a header + first row or two like that? Of course with any sensitive data removed. Thanks!

TestData.xlsx


fix(transient-transitions): support watchable context

Add support for reactive context as second option of useMachine

We'll be going with the #635 approach instead


Fixed browser information

Codecov Report

Merging #81 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #81   +/-   ##
=======================================
  Coverage   81.75%   81.75%
=======================================
  Files           5        5
  Lines         422      422
=======================================
  Hits          345      345
  Misses         64       64
  Partials       13       13

Flag
Coverage Δ

#unittests
81.75% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


[BUG] materialize_features should forbid non-agg features

Willingness to contribute
Yes. I can contribute a fix for this bug independently.
Feathr version
0.7.2
System information

OS Platform and Distribution (e.g., Linux Ubuntu 20.0):
Python version:
Spark version, if reporting runtime issue:

Describe the problem
materialize_features shouldn't be used with non-agg features, as FeathrGenJob assumes the online storage to be a KV storage while the key is the agg key, it doesn't make sense to materialize non-agg features.
Tracking information
No response
Code to reproduce bug
client.materialize_features(['any_non_agg_feature'], materialize_settings)

What component(s) does this bug affect?

[X] Python Client: This is the client users use to interact with most of our API. Mostly written in Python.
[X] Computation Engine: The computation engine that execute the actual feature join and generation work. Mostly in Scala and Spark.
[ ] Feature Registry API: The frontend API layer supports SQL, Purview(Atlas) as storage. The API layer is in Python(FAST API)
[ ] Feature Registry Web UI: The Web UI for feature registry. Written in React

Issue Status Track: Pending on offline discussion (@windoze , @xiaoyongzhu ) about the correct way to fix it.
But our example (recommendation) contains sample of non-agg features which will lead to misunderstanding. (currently provide #latest)

This has been resolved by PR #719, closing


fix a grammatical mistake

must use instead of must used

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

Looks good; thanks @aysabzevar.


Generate AppImage for each git push

Closes https://github.com/gridcoin/Gridcoin-Research/issues/278 and https://github.com/gridcoin/Gridcoin-Research/issues/280
This PR, when merged, will compile this application on Travis CI upon each git push, and upload an AppImage to a temporary download URL on transfer.sh (available for 14 days). The download URL is toward the end of each Travis CI build log of each build (see below for how to set up automatic uploading to your GitHub Releases page).
For this to work, you need to enable Travis CI for your repository as described here prior to merging this, if you haven't already done so.
Please note: Instead of storing AppImage builds temporarily for 14 days each on transfer.sh, you could use GitHub Releases to store the binaries permanently. This way, they would be visible on the Releases page of your project. This is what I recommend. See https://docs.travis-ci.com/user/deployment/releases/. If you want to do this for continuous builds, also see https://github.com/probonopd/uploadtool.
If you would like to see only one entry for the Pull Request in your project's history, then please enable this GitHub functionality on your repo. It allows you to squash (combine) the commits when merging.
But I get:

To get started with Boinc, run the boinc client, choose projects, then populate the gridcoinresearch.conf file in %appdata%\GridcoinResearch with your boinc e-mail address.  To run this wizard again, please delete the gridcoinresearch.conf file.
Boinc is not installed in default location /var/lib/boinc-client/!  Please set boincdatadir=c:\programdata\boinc\    to the correct path where Boincs programdata directory resides.

Seems like we should bundle it inside the AppImage?
If you have questions, AppImage developers are on #AppImage on irc.freenode.net.

Replaced by https://github.com/gridcoin/Gridcoin-Research/pull/282


How to use path parameters encoded in WebSocket url ?

currently there seems to be no way to specify path parameters in the WebSocket URL in undertow or jetty. I currently use undertow.
My use case is I have list of names and I would like to create a generic route that will take "name" as a path parameter so I can just have one handler for the whole list of names I got.
For example I want to be able to do something like below:
addWebSocket("/hello/:name", (webSocketContext, message) -> {
    try {
        somehow get the value that is passed in for ":name" here
        webSocketContext.sendMessage(message);
    } catch (IOException e) {
        e.printStackTrace();
    }
});

To elaborate even further, I am trying to broadcast a messages for all the clients that are listening on specific endpoint. so if I have something like below I wan to be able to broadcast all messages that have a connection opened on "/hello/foo" endpoint. so here my ":name" = "foo" but I can pass anything from the list of names I have in which case I want to be able to pass name as path parameter.
addWebSocket("/hello/foo", (webSocketContext, message) -> {
    try {
        so ":name" = "foo" here
        webSocketContext.sendMessage(message);
    } catch (IOException e) {
        e.printStackTrace();
    }
});

I will come with a solution.

@decebals Appreciate it!!

I propose as solution https://github.com/decebals/pippo/pull/397 but I don't know when I have some time to finish the PR.

@decebals The commit looks good! What else needs to be done to finish the PR?

@kant111 We should:

expose the path parameters (we have these information already), add new useful methods in WebSocketContext like getQueryString(), getSession(), getParameterNames(), getParameterValue().
add DefaultUriMatcherTest
review new code (classes/interfaces names, integration with existed code - DefaultRouter, ...)

The final solution:
addWebSocket("/ws/chat/{roomId}", (webSocketContext, message) -> {
    String roomId = webSocketContext.getPathParameter("roomId").toString();
    System.out.println("roomId = " + roomId);
});

I will upgrade demo application very soon.


Change subfolder hidden attributes if inherited from a system folder

I have a user that has important data migrated to a folder that is hidden by default.  After migration the folders put into the folder all are hidden.  Unhiding the folder temporarily does not unhide the users folder.  How can this setting be propagated or is there a way to move the folders to a user created folder easily and will that update the PR_ATTR_Hidden attribute on all folders.

Not an mfcmapi bug or feature request


Variable creation

We need to provide a way for the user to add new variables to services and components configuration.

This is now handled in "raw" mode through Monaco. It still needs to be added to the "visual" mode.


Memory leak by using Mahapps with WindowsFormsIntegration

Hello,
I use the MahApps-Design in WPF-DLL.
One Control of this DLL ist used in a Windows-Forms application within a HostElement control.
After more times creating an object of this control, opening a window from this control and relogin in windows the system ist total busy in cpu and ram.
The visualtree is ok and the application isn't blocked, but you can't see the elements.
Here is a simple example project with the problem:
test.zip
To reproduce it, start the Windows-Forms application and click multiple times on the "Button1" and on the "Test" button. Then lock windows and relogin and try to use "Button1" or the "Test"-button again, or switch the visibility of the TransitioningContent in the "Window1".
Some times you must do it two or three times, but then you can see the effect.
Here a screenshot of the hanging application and the system resources:

I use Windows 10, Visual Stidio 2017 and the newest versions of the following NuGet-Packages:
ControlzEx" version="<IP_ADDRESS>" targetFramework="net452"
Dragablz" version="<IP_ADDRESS>" targetFramework="net452"
MahApps.Metro" version="1.6.5" targetFramework="net452"
MahApps.Metro.IconPacks" version="2.3.0" targetFramework="net452"
MaterialDesignColors" version="1.1.3" targetFramework="net452"
MaterialDesignThemes" version="<IP_ADDRESS>4" targetFramework="net452"
MaterialDesignThemes.MahApps" version="0.0.11" targetFramework="net452"
I hope you can solved this bug or see my fault.
Best regards

You forgot to dispose your ElementHost.
Add this line in removeCtr():
host?.Dispose()

You are absolutely right, very special thanks for the quick help.


[New game]: Pokémon-Style Game

🎮 Game Request

Wanted to create a Pokémon-style game
In this Pokémon-inspired game, players will explore a vast world filled with diverse monsters.
We will fight the monsters with various fighting styles.

Point down the features

Exploration plays a crucial role in the game. Players will traverse diverse environments such as forests, mountains, caves, and cities, each containing unique monsters to encounter.
Using the keys on the keyboard we can move the player forward, backward right and left.
There will be a specific area in which our player can move and once player steps on a particular location, the monster gets activated and the battle begins.
There will be a life status bar, showing the current health and health will decrement upon the subsequent attacks.

It will look like as seen in the Pictures below.

Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @Explorer003 !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

Hey @Explorer003 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇

Hey @Explorer003 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


[FEATURE] Allow multiple MRT environments to share a single domain

You might want to deploy a storefront built using PWA Kit to an virtual folder on you domain as opposed to the root.
This situations comes up when you have other web properties that share a domain with a PWA Kit powered site or when you have multiple PWA Kit powered storefronts deployed to the same domain.
For example, imagine you have Canadian, American and Mexican PWA Kit based storefronts that you want hosted under www.example.com:

Canada: www.example.com/ca/*
Mexico: www.example.com/mx/*
US: www.example.com/*

Today, the PWA Kit relies on hardcoded, shared paths for bundle files, proxies and the worker:

PROXY_PATH_PREFIX
Auth.baseUrl
getBundleBaseUrl

This means that those three sites will fight over the shared /mobify path.
There are probably other places in the code which make the assumption that the /mobify directory is served from the root!
I'd like the ability to configure the PWA Kit to load these resources from a namespaced path prefix.
So for the above example, the prefixes would be ca, mx and no prefix.

Related to this issue, is that the B2C Commerce CDN API createMrtRules will allow you to create a eCDN hostname that routes to multiple MRT environments but, constraints around routing and this issue prevent that from working correctly!

A pilot of this feature is available on https://github.com/SalesforceCommerceCloud/pwa-kit/tree/feature/basepath


Implement Lookup object

Created the token, but it doesn't do anything

Includes instantiating lookup resources, i.e. menues


DEV: Not getting updated profile picture in new search chat

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

Action Performed:

Update profile picture of USER A
Go to New chat From "+" button in USER B
Search USER A
Observe the profile picture

Expected Result:
updated profile picture should be show
Actual Result:
old profile picture is show
Platforms: Android/ IOS Native(Dev)
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

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

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: Dev only
Reproducible in staging?: n/a
Reproducible in production?: n/a
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/f42adaae-769d-4803-bca0-cd388ecb68dd
Expensify/Expensify Issue URL:
Issue reported by: @niravkakadiya25
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686133818411619
View all open jobs on GitHub

I can't reproduce bugs in Dev, assigning Engineering for help per SO

I was not able to reproduce on web. I'll try on iOS too.
https://github.com/Expensify/App/assets/26260477/26fbb20d-5e36-426d-85c2-cf562292da06
I was not able to reproduce on iOS following the exact steps in the video (which are different from those written). This is not a problem, I'm closing this. The bug might have been reported because sometimes the Pusher update with the new photo is slow to arrive.
https://github.com/Expensify/App/assets/26260477/1d75d739-c06d-42b3-aa7a-023f2359ced6

Thanks for your help here @neil-marcellini!