Get in touch button gets turns blank when hovered on

The Issue
The Get in touch button in the navbar turns completely blank momentarily once removing the mouse from it after a hover.
Expected behavior
The hover transition should be smooth and must not abruptly turn blank.
Steps to recreate

Go to the website
Scroll down till the navbar becomes sticky
Hover on the Get in touch button
Remove the mouse from top of it

Screenshots

Additional
I believe I can fix this issue, please assign this to me under the hacktoberfest tag

Please assign this issue to me under hacktoberfest @SamarthTMSL

Okay Sure

@jriyyya  Assigned this issue with hacktoberfest tag.

Merged Successfully @jriyyya


Export missing Data

Hi,
I just checked the Data (LogTracker_CharacterData_EU_5021.lua) and was wondering, why there are only ~100 Characters in the Export? Is there a way to tune the Warcraftlogs Export, API-bound? For a Raidlead, it is hard to get the right ppl to fill in the Spot using this Addon, but without Data it is worthless.
Thanks,

I unfortunally lost the Database due to a severe Hardware-Issue on my Server and had to start over. (I think it was the day before you reported this) So the state you saw is certainly not representative of the usual quality. Usually every report is scanned and the new character rakings are updated about 12-24 hours later.


split batch gemm into multiple calls to rocblas gemm

In the BERT model, the batch size is transposed and our batch rocblas cannot handle that so contiguous is needed before the gemm call, and it causes unnecessary overhead to the BERT model. This change is to remove the unnecessary contiguous so as to improve performance.

Related to #710

Related to #710


[TEVA-4454] Change additional allowances input to text area

Jira ticket URL
https://dfedigital.atlassian.net/browse/TEVA-4454
Changes in this PR:
Changes the text field for additional allowances (benefits_details) from a text_field to a text_area.
Screenshots of UI changes:
Before

After

@robyoung91 not super important, but for completeness sake might be worth updating the ticket to https://dfedigital.atlassian.net/browse/TEVA-4460, I think you've added the epic as it stands.
Text area looks good though


Expand styles documentation

Right now, our styles documentation provides a relatively simple example but then does not really show how to use it. It links out to another doc that briefly mentions it. We should consider expanding on this to provide a fully working example of changing the style and applying it to a project.
Related community Slack question

Another instance of this being confusing to someone: https://rewriteoss.slack.com/archives/C01A843MWG5/p1698035295669299


connection refused error from Email Report after upgrading to Latest Superset Version.

I am running Superset with Docker.
I was having issues with making celery worker functional with my Superset Version (circa 2019), so I decided to update to the latest release 0.36.0.
I am using the same versions of geckodriver (0.24.0) and firefox (68.5.0esr) as I was using prior to the update. Python (3.6.9) and Selenium (3.141.0) versions are still the same.
However, when trying to send an email, I am getting the following error:
erset-worker_1  |   "Flask-Caching: CACHE_TYPE is set to null, "
superset-worker_1  | [2020-04-22 15:36:09,452: ERROR/ForkPoolWorker-8] Task email_reports.send[eb4ddfba-0901-427e-be05-743c9c97a2f5] raised unexpected: WebDriverException('connection refused', None, None)
superset-worker_1  | Traceback (most recent call last):
superset-worker_1  |   File "/usr/local/lib/python3.6/site-packages/celery/app/trace.py", line 385, in trace_task
superset-worker_1  |     R = retval = fun(*args, **kwargs)
superset-worker_1  |   File "/app/superset/app.py", line 114, in __call__
superset-worker_1  |     return task_base.__call__(self, *args, **kwargs)
superset-worker_1  |   File "/usr/local/lib/python3.6/site-packages/celery/app/trace.py", line 650, in __protected_call__
superset-worker_1  |     return self.run(*args, **kwargs)
superset-worker_1  |   File "/app/superset/tasks/schedules.py", line 373, in schedule_email_report
superset-worker_1  |     deliver_dashboard(schedule)
superset-worker_1  |   File "/app/superset/tasks/schedules.py", line 211, in deliver_dashboard
superset-worker_1  |     driver = create_webdriver()
superset-worker_1  |   File "/app/superset/tasks/schedules.py", line 163, in create_webdriver
superset-worker_1  |     driver = driver_class(**kwargs)
superset-worker_1  |   File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
superset-worker_1  |     keep_alive=True)
superset-worker_1  |   File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
superset-worker_1  |     self.start_session(capabilities, browser_profile)
superset-worker_1  |   File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
superset-worker_1  |     response = self.execute(Command.NEW_SESSION, parameters)
superset-worker_1  |   File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
superset-worker_1  |     self.error_handler.check_response(response)
superset-worker_1  |   File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
superset-worker_1  |     raise exception_class(message, screen, stacktrace)
superset-worker_1  | selenium.common.exceptions.WebDriverException: Message: connection refused

'geckodriver.log':
1587569769443	mozrunner::runner	DEBUG	Killing process 104
1587569769447	webdriver::server	DEBUG	<- 500 Internal Server Error {"value":{"error":"unknown error","message":"connection refused","stacktrace":""}}

Why is this error occurring? What change in Superset is affecting the Email Report feature?
All package versions:

geckodriver -- 0.24.0
python -- 3.6.9
firefox -- 68.5.0esr
selenium -- 3.141.0

To bypass this error, remove USER superset from 'docker-compose.yml'

Hello @klazaj,
Do you finally get the sending of any email?
I saw that you had many problems, as I am, but currently, after follow your issues I'm getting:
selenium.common.exceptions.WebDriverException: Message: Reached error page: about:neterror?e=connectionFailure&u=http%3A//<IP_ADDRESS>%3A8088/login/&c=UTF-8&f=regular&d=Firefox%20can%E2%80%99t%20establish%20a%20connection%20to%20the%20server%20at%20<IP_ADDRESS>%3A8088
Do you know how to fix it?

Hello @klazaj,
Do you finally get the sending of any email?
I saw that you had many problems, as I am, but currently, after follow your issues I'm getting:
selenium.common.exceptions.WebDriverException: Message: Reached error page: about:neterror?e=connectionFailure&u=http%3A//<IP_ADDRESS>%3A8088/login/&c=UTF-8&f=regular&d=Firefox%20can%E2%80%99t%20establish%20a%20connection%20to%20the%20server%20at%20<IP_ADDRESS>%3A8088
Do you know how to fix it?

@avicenteg this

@poppyc0ck  thanks, finally my error was a similar one. My Docker container didn't use the ip: <IP_ADDRESS>, I changed it by superset-app (the name of the container) and using the 8088 port, and now it is running perfectly.

Hello @avicenteg @poppyc0ck !
Your advice will be very appreciated.
# The base URL to query for accessing the user interface
WEBDRIVER_BASEURL = "http://<IP_ADDRESS>:8088/"

In my case superset and celery don't bound to 8088. What's the service stands behind 8088 in your case? I can't figure out myself.
Thanks!


Add files via upload

We can sort these into a folder system or something later.

This is a good starting set of sample code for Class M125, but we will need to reorganize later to encompass more topics both specific and broad, in terms of use both as practice and in more realistic uses.


Cannot read properties of undefined (reading 'request_retention')

I have set up this project but I am getting this error:
Error: Cannot read properties of undefined (reading 'request_retention')
from the file : src/lib/fsrs.ts (52:37) @ request_retention
it seems params[0] does not exist on a new database instance

hello,What database are you using? This demo uses MySQL. Have you configured the DATABASE_URL in the .env.local file? Have you used the command "npm run dbpush"?
create table Card
(
    cid            int auto_increment primary key,
    due            datetime(3)               default CURRENT_TIMESTAMP(3) not null,
    stability      double                                                 not null,
    difficulty     double                                                 not null,
    elapsed_days   int                                                    not null,
    scheduled_days int                                                    not null,
    reps           int                                                    not null,
    lapses         int                                                    not null,
    state          enum ('0', '1', '2', '3') default '0'                  not null,
    last_review    datetime(3)                                            null,
    nid            int                                                    not null,
    constraint Card_cid_key
        unique (cid),
    constraint Card_nid_key
        unique (nid)
)
    collate = utf8mb4_unicode_ci;

create table Note
(
    nid      int auto_increment
        primary key,
    uid      int                     not null,
    question varchar(191) default '' not null,
    answer   varchar(191) default '' not null,
    source   varchar(191) default '' not null,
    extend   json                    not null,
    sourceId varchar(255)            null,
    constraint Note_nid_key
        unique (nid)
)
    collate = utf8mb4_unicode_ci;

create index Note_uid_idx
    on Note (uid);

create index source__index
    on Note (source, sourceId);

create table Parameters
(
    uid               int auto_increment
        primary key,
    request_retention double     default 0.9   not null,
    maximum_interval  int        default 36500 not null,
    w                 json                     not null,
    enable_fuzz       tinyint(1) default 0     not null,
    card_limit        int        default 50    not null,
    lingq_token       varchar(100)             null,
    lingq_counter     varchar(100)             null,
    constraint Parameters_uid_key
        unique (uid)
)
    collate = utf8mb4_unicode_ci;

create table Revlog
(
    lid               varchar(191)                   not null
        primary key,
    cid               int                            not null,
    grade             enum ('0', '1', '2', '3', '4') not null,
    state             enum ('0', '1', '2', '3')      not null,
    due               datetime(3)                    not null,
    stability         double                         not null,
    difficulty        double                         not null,
    elapsed_days      int                            not null,
    last_elapsed_days int                            not null,
    scheduled_days    int                            not null,
    review            datetime(3)                    not null,
    constraint Revlog_lid_key
        unique (lid)
)
    collate = utf8mb4_unicode_ci;

create index Revlog_cid_idx
    on parallelveil.Revlog (cid);

create table User
(
    uid       int auto_increment
        primary key,
    name      varchar(191)                 not null,
    password  varchar(191)                 not null,
    oauthId   varchar(191)                 not null,
    oauthType varchar(191) default 'local' not null,
    email     varchar(191)                 not null,
    constraint User_email_key
        unique (email),
    constraint User_name_key
        unique (name),
    constraint User_uid_key
        unique (uid)
)
    collate = utf8mb4_unicode_ci;

I need the database information and debug data. Can you provide them?
src/lib/fsrs.ts:

Yes the local mysql database is in sync with the prisma schema
The console.log(params) debugging showed that params is equal to []

Yes the local mysql database is in sync with the prisma schema
The console.log(params) debugging showed that params is equal to []

You need to check if the corresponding data exists in the User and Parameters tables. It's possible that it wasn't successfully saved during OAuth login.
src/lib/fsrs.ts(18:20):

I tried modifying the UID to non-existent information, and I was able to reproduce the issue successfully.

I tried to fix this issue and implemented an automatic logout feature.

Can you try to fetch that branch and see if it can solve the problem?
git fetch https://github.com/ishiko732/ts-fsrs-demo Fix/user-not-found-error
git checkout Fix/user-not-found-error

The issue has reappeared in PostgreSQL, and I need to fix it.


softsub japanese subtitle sometimes have a weird horizontal line on upper top.

that requires investigation

this is solved.
https://github.com/cuzic/hardsub-netflix/pull/26


config: use millis for all interval

tikv-server will convert all readable int to millis, so we should treat all intervals as millis.
@siddontang @zhangjinpeng1987 @disksing  PTAL

LGTM

LGTM

LGTM

CI failed

circleci fails to fetch the code, @andelf PTAL

@BusyJay  it says Project pingcap/tikv isn't configured with a deploy key or a github user, so we may not be able to test all pushes.
Project owner should click Add SSH key on https://circleci.com/gh/pingcap/tikv/11

@andelf @shenli @siddontang Please note that after this PR, some names of configuration entries have been changed.


Create frequency-capping

Added new glossary term: frequency capping
Description of the change:
Reason for the change:
Link to original source:

Closes #

Hello @negarzipan,Thanks again for the PR! We appreciate your contribution and look forward to                                              continued collaboration. Thanks!                                             Team SendGrid DX


More efficient implementation of SIGNEXTEND

The current SIGNEXTEND implementation is not ideal because it uses a loop. This makes it very CPU intensive relative to what it could be (a few simple bitwise operations). It is important that this opcode is efficiently implemented because it is used extensively by the uniswap contracts.

Please run cargo fmt!

@sorpaas Done


Using ruff instead of black, flake8, ...

Would you be interested in replacing isort, black, flake8 and bandit with ruff so that there are less tools involved, and possibly more rules that could be activated?
I'd be happy to provide an initial PR.

I'm a big fan of ruff, so definitely interested!
Please note: Due to some other commitments, I will not be able to do any meaningful work on this project within the next month (other than urgent bugfixes if necessary). So while I would glady merge a PR provided by you, it might take a couple of weeks before I have the time to review it... :)

It's cool to use Ruff, but I think they didn’t implement all pylint rules. So if we need to lint our codebase using pylint rules, it will skip many checks :/
Maybe doing it later, when a major stable ruff release is available.

True, they don't support all pylint rules. But then again, pytestarch is not currently using pylint at all, so I don't think we're loosing anything by switching to ruff at the moment ...


Fixes for behavior when a container is supplied

Encountered a few issues with the embedded experience when container was passed into the HelloSign.open() call. Recommend the following changes to improve in-page UX:

Make the iFrame top-aligned rather than inline to prevent line spacing being applied to it
Process parameters before stringify-ing to avoid errors due to circular nature of DOM elements
Set height to 100% if container is supplied and height is not
Set width to 100% if container is supplied

@GreyeSmyth Thanks for this.
It may take us a bit of time to run it through tests to make sure it is functional for all of our customers (across supported browsers/devices). In the meantime, feel free to use your modified JS for the time being if that fixes issues on your end! Will keep you posted here.

@cmpaul @npbee Hello again, I just wanted to check in to see where things stood regarding your review of the suggestions. Thanks for your time.

@GreyeSmyth Thanks for the nudge, I'm looking into next steps with the team on this.

@GreyeSmyth The team will be testing this in preparation for our next update, which should happen before the end of the month. Thanks for your patience!

Understood, thanks for the update!

Will this functionality ever be merged? I had to do a workaround to make my iframe's width match it's responsive container. It would be great if it just worked out the box with this fix.

@mingles- Thanks for the bump, looks like this got deprioritized.
@BHSPitMonkey Can you direct this to the right folks?

Apologies for the delays here! We're currently revisiting our internal process for making sure changes to this library are able to get sufficiently tested (via automation as well as humans) on the range of browsers and devices we support, due to the potential impact bugs can have on existing integrations out there.
This PR has been brought back to our attention now, and we'll keep you updated as soon as we're ready to merge and ship this. Thanks for your patience!

Thanks! I appreciate it!

Just to follow up, we're still discussing internally. We're currently auditing how our versioning system works -- the problem we have with this PR is not that it wouldn't be beneficial (we like it!), it's just that it would change the default behavior of the modal, which some of our customers may be relying on. Unfortunately in the past it would appear we've shot ourselves in the foot a little bit with our LATEST.js version of HS Embedded (which we even recommended everyone use). At present, t's incredibly difficult to introduce anything new that could break any of our customers' existing implementations (even if only visually).
We're working on getting a better versioning system in place in the interim so that both we and our developers have better control over Embedded versions.

With Embedded v2, this should no longer be an issue :)


running into issues with windows 10

hi,
trying to execute 'go get ./...' after installing the latest go and cygwin64.
getting this error..:
collect2: error: ld returned 1 exit status
go: failed to remove work dir: GetFileInformationByHandle C:\cygwin64\tmp\go-build400702038\NUL: Incorrect function.
apologies as I'm not a go guy at all. any help?
tks
Lawrence

hi again,
after rereading your notes, I switched to downloading and running mingw-w64 instead. I still get errors, but the messaging is now a bit different:
# github.com/go-gl/glfw/v3.2/glfw
In file included from ..\github.com\go-gl\glfw\v3.2\glfw\c_glfw_windows.go:6:0:
..\github.com\go-gl\glfw\v3.2\glfw/glfw/src/win32_monitor.c: In function ‘createMonitor’:
..\github.com\go-gl\glfw\v3.2\glfw/glfw/src/win32_monitor.c:68:5: warning: implicit declaration of function ‘wcscpy’; did you mean ‘stpcpy’? [-Wimplicit-function-declaration]
     wcscpy(monitor->win32.adapterName, adapter->DeviceName);
     ^~~~~~
     stpcpy
..\github.com\go-gl\glfw\v3.2\glfw/glfw/src/win32_monitor.c: In function ‘_glfwPlatformIsSameMonitor’:
..\github.com\go-gl\glfw\v3.2\glfw/glfw/src/win32_monitor.c:228:9: warning: implicit declaration of function ‘wcslen’; did you mean ‘scalbn’? [-Wimplicit-function-declaration]
     if (wcslen(first->win32.displayName))
         ^~~~~~
         scalbn
..\github.com\go-gl\glfw\v3.2\glfw/glfw/src/win32_monitor.c:229:16: warning: implicit declaration of function ‘wcscmp’; did you mean ‘wctomb’? [-Wimplicit-function-declaration]
         return wcscmp(first->win32.displayName, second->win32.displayName) == 0;
                ^~~~~~
                wctomb
# Voronoi_Image_Manipulation
c:\go\pkg\tool\windows_amd64\link.exe: running g++ failed: exit status 1
C:\Users\a_ongl\AppData\Local\Temp\go-link-110908711\000044.o: In function glfwSwapBuffers':
C:\Users\a_ongl\go\src\github.com\go-gl\glfw\v3.2\glfw/glfw/src/context.c:609: undefined reference to __assert_func'
C:\Users\a_ongl\AppData\Local\Temp\go-link-110908711\000044.o: In function glfwExtensionSupported':
C:\Users\a_ongl\go\src\github.com\go-gl\glfw\v3.2\glfw/glfw/src/context.c:642: undefined reference to __assert_func'
C:\Users\a_ongl\AppData\Local\Temp\go-link-110908711\000044.o: In function glfwGetProcAddress':
C:\Users\a_ongl\go\src\github.com\go-gl\glfw\v3.2\glfw/glfw/src/context.c:707: undefined reference to __assert_func'
C:\Users\a_ongl\AppData\Local\Temp\go-link-110908711\000044.o: In function glfwGetInputMode':
C:\Users\a_ongl\go\src\github.com\go-gl\glfw\v3.2\glfw/glfw/src/input.c:153: undefined reference to __assert_func'
C:\Users\a_ongl\AppData\Local\Temp\go-link-110908711\000044.o: In function glfwSetInputMode':
C:\Users\a_ongl\go\src\github.com\go-gl\glfw\v3.2\glfw/glfw/src/input.c:174: undefined reference to __assert_func'
C:\Users\a_ongl\AppData\Local\Temp\go-link-110908711\000044.o:C:\Users\a_ongl\go\src\github.com\go-gl\glfw\v3.2\glfw/glfw/src/input.c:262: more undefined references to __assert_func' follow
collect2.exe: error: ld returned 1 exit status
go version:
go version go1.13.4 windows/amd64
gcc version:
gcc (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Windows version:
Microsoft Windows [Version 10.0.17134.1069]
running from standard command prompt.
any suggestions?
thanks
Lawrence

Is this issue also solved?
How did you get around this?

hi Maurice,
this was done on my 6 year old work computer, with all kinds of proxies and firewall restrictions, so the fact that I can actually get it to run on my computer tells me that this may not be related with your application.
tks
lawrence

Alright, I close it for now, feel free to reopen if necessary!


Usage with Riverpod

Is there a guide on how to use this with Riverpod? Any example repo to look at?

There's no specific way to use it with riverpod or any other package. But if you need to look at any production ready app, well there's Spotube's lib/services/queries and lib/services/mutations

Got it, thanks. Will you also be implementing features similar to what was added in TanStack Query v5, such as the simplified optimistic updates? Seems like they're some very useful features.


Update compute1.nim

pixie/demo has been removed
compute1 compiles without it
https://github.com/treeform/pixie/commit/a4cac14e87dc95a74fdf0e60933385ff772569b2

thanks for PR!


Bring back CI with Circle-CI

...how does this work without Carthage?

Oh, the carthage stuff is set up on Circle itself. That weirds me out.

@gfontenot I agree that I would like to be using bin/setup here but Circle-ci is having the same damn permissions issues that mark was having with carthage ... so I forced it to compile the Mac side only so it will work

:+1:


[BUG] 5.0 : MySQL : Parsing ALTER TABLE statement with CHARACTER SET fails

Failing SQL Feature:
Trying to parse an ALTER TABLE statement for MySQL fails when the column definition contains the CHARACTER SET keywords.
Encountering the following error
ParseException: Encountered unexpected token: "SET" "SET"
    at line 2, column 55.

Was expecting one of:

    ","
    <EOF>
    <ST_SEMICOLON>

SQL Example:
ALTER TABLE `foo_bar`
    ADD COLUMN `baz` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL,
    ALGORITHM = INSTANT;

Software Information:

JSqlParser version: 5.0
Database MySQL
Writing in Scala, though that shouldn't affect anything 🤞

Additional information
The failing code is
CCJSqlParserUtil.parseStatements(fileContent)

where fileContent is a String containing the entire content of the SQL file.

Greetings.
a PR was needed and you would need to either provide or sponsor this specific implementation.


CacheFactory undefined

Im assuming this is my own user error but after spinning my wheels, I figured id see if anyone is experiencing similar.
Im currently building a hybrid mobile app with ionic.js Im trying to incorporate angular-cache as Ive LOVED using the older version, angularCacheFactory, on a previous project.
However, any time I try and access CacheFactory in my services, its telling me that CacheFactory is undefined.
Ive checked and double checked that the lib is available and injected in app.js and my service properly.   I get no errors until I try and use CacheFactory.  Even then, I get no error.  Im just told CacheFactory is undefined.
Anyone have experience with this issue?
Thanks in advance.

Are you coding in ES6? How are you importing angular-cache into your projects?

No Im not using ES6.
Currently Im importing as simply as possible.   Have angular-cache.js in libs folder.  Loading the script in index.html.
In app.js config,  I have injected 'angular-cache'.    In my service, which is include in the apps module,  I have CacheFactory injected in the function.

What version of angular-cache, angular, etc.?

angular
v1.3.15
angular-cache 4.2

Try adding CacheFactory as a dependency on your controller:
myControllers.controller('HomeController', ['$scope', '$http', '$routeParams', 'myCache', 'CacheFactory',
function HomeController($scope, $http, $routeParams, myCache, CacheFactory) {

Should be fixed already, but should be definitely fixed in 4.2.1. See the build_examples.


Produces an iterator without calling minibatches function

Why would you want to avoid the minibatches function?
@bayerj Do you remember what fundamental problem this was tackling?

The current implementation calls the slice operator on the whole dataset.
It can be a problem, i.e. if you have a large dataset stored as HDF5, it will cause the whole dataset to be loaded into memory; especially if that does not fit into (gpu) memory.
This implementation creates 1 batch at a time; it is not useful if the dataset is small and will even be slower.

Thanks for clarification.
@bachard Is your data set still available? I would like to run some tests without creating large random h5 files.
Discussed with @makarl. We can probably merge this pull request with some minor changes. The current plan is as follows:
Make the following code snippet work:
f = h5py.File('myData.h5')
arr_it = iterator_from_h5(f)
batches = climin.iter_minibatches(arr_it, ...)

In other words, not throwing away the functionality of HDF5 should be handled outside iter_minibatches in the (to be implemented) iterator_from_h5.
If that works, iter_minibatches and minibatches can be decoupled and refactored to avoid duplicate code.
In a last step, we might even collapse minibatches to return a list cast of the iterator returned by iter_minibatches.


Configure SQS broker to only permit access from local VPC

What
Depends on https://github.com/alphagov/paas-sqs-broker/pull/15 and a
corresponding boshrelease to push that out.
This adds a new managed policy, local_vpc_access_only, which can be
attached to an IAM User or Role to restrict use of that User/Role to
only be permitted from the local VPC.  This mitigates against
credentials that are leaked.
The S3 broker has a similar feature in
s3_broker_ip_restriction_policy_arn, but I decided to go with an
approach based on aws:SourceVpc rather than aws:SourceIp.  This is
so that: a) the policy doesn't have to care about specific IP
addresses, and b) the policy will work whether the AWS API is accessed
over public internet or via a private endpoint (at some point in the
future).
I deliberately made the local_vpc_access_only policy's name generic
because it could easily be used as-is for other brokers in future.
Describe what you have changed and why.
How to review
I guess you could deploy it and verify that SQS-managed users get the appropriate policy restriction.
Who can review
Do I really have to say "not @philandstuff" for each PR? 😕

Do I really have to say "not @philandstuff" for each PR? 😕

I sometimes just say "Not me" 👼

Does SourceVpc work if we don't have an SQS VPC Endpoint? Amazon docs suggest that this is the case for S3 but I'm not sure if it also applies for SQS

I sometimes just say "Not me" 👼

Would you accept a PR to change the PR template to remove this dance entirely? 😄
@tlwr the blog post you linked to talks about aws:SourceVpce, not aws:SourceVpc 😕
but oh bums, the docs seem to say:

Availability – This key is included in the request context only if the requester uses a VPC endpoint to make the request.

which means this plan won't work 😭

I've updated to use aws:SourceIp instead of aws:SourceVpc.
Does anyone know why the s3 ip restriction policy is only scoped to s3:* actions? I see it was introduced in 60d915d75580c38ec7afeb95171ad1f2960ceefb but not much was said in that commit.  In any case, I think we can have a much more general policy which can be reusable.

@philandstuff
Personally I always remove that section of who can review. I'll be glad to approve you removing the section!


JSON directory listing indicates type=directory for empty file entries

Describe the bug
JSON listing entry indicates "type": "directory" for empty files
To Reproduce
$ mkdir sws-base-dir && cd $_
$ mkdir -p public/dir1
$ touch public/file1
$ echo "hola" > public/file2
$ static-web-server --directory-listing=true --directory-listing-format=json

In other terminal, request http://localhost/, for example, via curlie, one gets:
[
    {
        "name": "file2",
        "type": "file",
        "mtime": "2023-10-11T20:07:05Z",
        "size": 5
    },
    {
        "name": "file1",
        "type": "directory",
        "mtime": "2023-10-11T20:06:50Z"
    },
    {
        "name": "dir1",
        "type": "directory",
        "mtime": "2023-10-11T20:06:38Z"
    }
]

Expected behavior
The entry indicates "type": "file" for empty file, eg the "file1" above.
Environment and Specs

static-web-server: v2.22.1

(btw, SWS is awesome!)

Resolved in v2.23.0


Try heroku deploy action

I imagine this won't work since I don't think we have Heroku API keys in our repo's secrets, but let's see what happens.
Here's the docs for the environment variables we need

HEROKU_API_TOKEN comes from someone's account,  which it seems like I can do
HEROKU_PIPELINE_ID seems to be what's displayed in the URL when looking at the review apps index, i.e. https://dashboard.heroku.com/pipelines/${ID}

Closing both because this is incomplete and I want to see if the action can delete review apps as well

The action does remove review apps when the PR is closed!


Add SpeechRecognitionSubsystem to MRTK3

Overview
Add the infrastructure for speech recognition subsystem to MRTK3. Provides a Unity/Windows-based implementation like we did in MRTK2. Samples coming soon.
Breaking change: removes the unnecessary HandsAggregatorConfig. Need to note in the changelog.

Added the SpeechRecognitionEventReason enum based on the WinRT API, the Unity API and the Azure Speech API.


Issue with complex enum type

Hello! I'm trying to utilize anchor-go to generate code for some of the newer metaplex instructions.
Running into an issue with a new field they added to NFTs called CollectionDetails.
I used shank from metaplex to generate IDL from the token-metadata program, and the CollectionDetails field looks like:
    {
      "name": "CollectionDetails",
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "V1",
            "fields": [
              {
                "name": "size",
                "type": "u64"
              }
            ]
          }
        ]
      }
    },

Which results in the following go code generated from anchor-go:
type CollectionDetails interface {
	isCollectionDetails()
}

type collectionDetailsContainer struct {
	Enum ag_binary.BorshEnum `borsh_enum:"true"`
	V1   CollectionDetailsV1
}

type CollectionDetailsV1 struct {
	Size uint64
}

func (obj CollectionDetailsV1) MarshalWithEncoder(encoder *ag_binary.Encoder) (err error) {
	// Serialize `Size` param:
	err = encoder.Encode(obj.Size)
	if err != nil {
		return err
	}
	return nil
}

func (obj *CollectionDetailsV1) UnmarshalWithDecoder(decoder *ag_binary.Decoder) (err error) {
	// Deserialize `Size`:
	err = decoder.Decode(&obj.Size)
	if err != nil {
		return err
	}
	return nil
}

func (_ *CollectionDetailsV1) isCollectionDetails() {}

Is that correct? What's the purpose of the isCollectionDetails() function? (sorry, new to anchor)
Then in my own code i'm trying to do something like:
       collectionDetails := token_metadata.CollectionDetailsV1{
		Size: 0,
	}
	var details *token_metadata.CollectionDetails
	details = &collectionDetails

And the compiler is getting upset saying that CollectionDetailsV1 can't be assigned to CollectionDetails even tho CollectionDetailsV1 definitely implements that interface.
Any help would be greatly appreciated. Thanks so much for these libraries!

wow, sorry bout that.
I fixed that but didn't have much luck with my generated clients doing the CreateMetadataAccountV3 instruction, kept getting serialization errors. So i've fallen back to V2 for now which you've already got in metaplex-go
thanks again!


Update stable version in repo from 0.0.8 to 0.0.9

Think about update stable version to 0.0.9
Version: stable=0.0.8 (269 days old) => latest=0.0.9 (15 days old)
Installs: stable=225 (76.79%), latest=38 (12.97%), total=293
Click to use developer portal
Click to edit
Note: This is an automatically generated message and not personally authored by bluefox!

This issue seems to be outdated.
This issue suggests to update the stable version of this adapter to 0.0.9 but in the meantime an update to version 0.0.10 is suggested.
So this issue will be closed and replaced by an updated one.
@mcm1957 for evidence


Put batch classes in .batch subpackages

For essentially historical reasons, speed- and serving-layer-related classes exist in subpackages like .speed and .serving, but batch-layer-related classes are not. We should just make this consistent.

I think it's a flaky test (worth fixing too of course if so), but also, I realized I got one package move wrong. So I re-pushed to see if Jenkins is satisfied.


aws account manager

Add AWS account manager-related schemas.
Design doc: appsre-aws-account-management

@hemslo PTAL here as well 🙇


New version: CloudFoundry.CLI.v8 version 7.7.9

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[x] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Closes #163401
Microsoft Reviewers: Open in CodeFlow

Nested installer file does not exist. Ensure the specified relative path of the nested installer matches: C:\Users\WDAGUtilityAccount\AppData\Local\Temp\WinGet\CloudFoundry.CLI.v<IP_ADDRESS>\extracted\cf.exe

Automatic Validation ended with:

Installation failed with exit code -1978335141
2024-07-17 07:29:55.261 [CLI ] Unable to locate nested installer at: C:\Users\VALIDA~1\AppData\Local\Temp\WinGet\CloudFoundry.CLI.v<IP_ADDRESS>\extracted\cf.exe
2024-07-17 07:29:58.901 [CLI ] Unable to locate nested installer at: C:\Users\VALIDA~1\AppData\Local\Temp\WinGet\CloudFoundry.CLI.v<IP_ADDRESS>\extracted\cf.exe

Automated error analysis suggests -1978335141 may mean Unable to locate nested installer. Does the RelativeFilePath have the previous version number in it?
(Automated response - build 886.)

https://github.com/microsoft/winget-pkgs/issues/142854


Separated Positions From Other Attributes in Gears

Implemented the advice, "Use a dedicated, tightly packed, vertex buffer for position data." from Arm® GPU Best Practices Version 3.2 Developer Guide.
This allows triangles to be binned and culled on all major mobile GPUs without having to read normals and colors for the binning pass, thus saving bandwidth.

Closing this as I realise I kind of spammed the repo with PRs and if you find time to look at the ones I raised I would prefer you concentrated on this one as a potential defect:
https://github.com/SaschaWillems/Vulkan/pull/1135
...and these two as reasonable enhancements:
https://github.com/SaschaWillems/Vulkan/pull/1136
https://github.com/SaschaWillems/Vulkan/pull/1137
This one #1138 is more intrusive and controversial, making the example harder to learn from for people new to Vulkan. Feel free to reopen it though: it ran fine on Ubuntu 23.10 on the Intel integrated GPU I have with validation enabled and on a Pixel 6 Android device.

Closing this as I realise I kind of spammed the repo with PRs and if you find time to look at the ones I raised I would prefer you concentrated on this one as a potential defect:
https://github.com/SaschaWillems/Vulkan/pull/1135
...and these two as reasonable enhancements:
https://github.com/SaschaWillems/Vulkan/pull/1136
https://github.com/SaschaWillems/Vulkan/pull/1137
This one #1138 is more intrusive and controversial, making the example harder to learn from for people new to Vulkan. Feel free to reopen it though: it ran fine on Ubuntu 23.10 on the Intel integrated GPU I have with validation enabled and on a Pixel 6 Android device.


[YUNIKORN-117] Create event cache for queue and application events

Shim side PR

Fixed review items.


Test Rename File Attribute (For Testing Only)

New MessageType for DeleteFromRename

@wilbaker can you have a look at the last commit, before I cherrypick the 2 commits over to @pmj 's PR and merge?


add test for offset_at beyond end of line

adds test coverage for using offset_at with a position beyond the end of the line, including with multi-byte characters
results from vscode-languageserver-node:
Doc:  FullTextDocument {
  _uri: '',
  _languageId: 'text',
  _version: 1,
  _content: '€ abc\nline 2',
  _lineOffsets: undefined
}
Offsets:  [ 0, 6 ]
Offset @ 0:100:  6

since JS uses UTF-16 where \u{20AC} is one character instead of 3 characters, offset 6 includes the \n just like we do.

Test looks good!


HDDS-3663. Display uuid in recon datanode page to distinguish each datanode

What changes were proposed in this pull request?
Without this PR, i don't distinguish each datanode when some datanode from same node.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-3663
How was this patch tested?

@vivekratnavel Thank you for your review.


[WIP] preprocessing vietnamese language

Not completed yet

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.lucas.wookee seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Ambassador Agent fails to report snapshot to Ambassador Cloud on "large" snapshots

In larger installations of ambassador, the agent hits the default grpc max message size when trying to relay the snapshot to the cloud.
Error:
time="2021-07-01 15:22:33" level=warning msg="failed to report: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (8884732 vs. 4194304)"

We should probably stream the snapshot in chunks (we could bump the default message size, but that's a bandaid, not a solution.)
This error was reported by an ambassador cloud user in slack.

I was that reporter. Feel free to ping me here if you need some additional information:)

@acookin I am observing the same issue consistently.

{"log":"time=\"2021-07-20 07:16:01\" level=warning msg=\"failed to report: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (11909674 vs. 4194304)\" func=\"github.com/datawire/ambassador/pkg/agent.(*Agent).MaybeReport.func1.1\" file=\"/go/pkg/agent/agent.go:474\" CMD=agent PID=1\n","stream":"stderr","time":"2021-07-20T07:16:01.996242695Z"}

Any timeline for a fix on this? We use helm charts to install the agent, so a parameter to increase the message size here (potentially as an agent.env[0] variable) should also be sufficient for us, as a short term fix.

@ankit-ls we're working on this issue right now, will update here when we've solved it


24921 - fix: cancel payment, resume sole prop

*Issue:24921 *https://github.com/bcgov/entity/issues/24921
Description of changes:
fix:

cancel payment
resume sole prop

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the namex license (Apache 2.0).

/gcbrun


Corrected the translate helper docs.

Updated the example locale object to be the correct format.

manually merged. thanks @aarc


How to count documents based on user created documents createdBy field?

Hello,
Posting this as separate issue as requested by @boxofrox .
I have a use case for counting the documents by a user createdBy  field, to count all the the user (branch users) documents based on the user company.
I've managed to achieved the counts of documents per company per branch based on user roles with the help of @boxofrox :) Thanks for that!
My requirement is something like this, if the role is HQ company hq(head office), it should display the document count of its branches.

What you see on the total enrollments column is actually the total number of documents the company has. I don't know how achieve this requirement, based on @tmeasday , it is not possible at this time.
Do you have any workaround for this?

Realistically this looks like a Mongo aggregation to me. Do you need the counts to update in real time?
If so I think best way to do it would be subscribe from the client side for each branch.
If not, then I'd suggest simply using a mongo aggregation (way simpler) to get the data and not worry about doing anything fancy.

This is beyond the scope of publish-counts at this time.  Here's an outline for an alternative.  It's untested.
The basic idea is you keep a global cache of the counts in memory on the server, publish access to the cache, and clients subscribe to it.
It's a fair bit of code to do one thing, and could probably be done with less code using Mongo aggregation.  [1] [2]
[1] https://docs.mongodb.org/manual/core/aggregation-introduction/
[2] https://github.com/meteorhacks/meteor-aggregate
The non-persistent collection may have issues with client-server synchronization as indicated in [3].
[3] https://groups.google.com/forum/#!topic/meteor-talk/-DuOCfYskPU
// server side
(function () {
  // create in-memory cache to store stats in.
  var EnrollmentStats = new Collection('enrollment-stats', {connection: null});   // aka es

  // store one document per company.
  // each document lists branches.
  // each branch list stats (i.e. number of enrollments)

  var inc = function (doc) {
    var selector = {company: doc.company};
    var stats = {};
    stats['branches.' + doc.branch] = 1;    // add 1 to doc.branches.<branch name>

    EnrollmentStats.upsert(selector, { $inc: stats });
  };

  var dec = function (doc) {
    var selector = {company: doc.company};
    var stats = {};
    stats['branches.' + doc.branch] = -1;   // minus 1 from doc.branches.<branch name>

    EnrollmentStats.upsert(selector, { $inc: stats });
  };

  var esObserver = {
    added:    inc,
    changed:  function (newDoc, oldDoc) {
      if (newDoc.company === oldDoc.company && newDoc.branch === oldDoc.branch)
        return;   // company and branch remain the same, count is unaffected

      dec(oldDoc);
      inc(newDoc);
    },
    removed:  dec,
  };

  // attach observer to Enrollments (NOTE: not EnrollmentStats)
  Enrollments.observe(esObserver);

  // publish interface to access stats
  Meteor.publish('enrollment-stats', function () {
    // TODO: adjust query based on user roles as necessary.

    var profile = getUserProfile(this.user_id);   //

    return EnrollmentStats.find({company: profile.company});
  });
})();

// client side
var EnrollmentStats = new Collection('enrollment-stats');

Meteor.subscribe('enrollment-stats', 'KRkwBeicgL5ayedGa' /* company id */, function () {
  console.log('enrollment stats', EnrollmentStats.find().fetch());
});

Thanks for this @boxofrox and @tmeasday !
I will try to understand both approach and will let you know what works for me.


Auto Egress not working for agent track

I am creating a room with autoegress for both the room composite and individual tracks.
My goal is to store 3 recordings: 1) user track, 2) agent track, 3) composite track
1 and 3 are working great, but the agent track is not being egressed properly.
I can see that the agent identity is randomized like "agent-AJ_5quWN4B3jyEh"
Here is the code I am using to create the egress requests from the room:
import<EMAIL_ADDRESS>import { AccessToken, RoomServiceClient, S3Upload } from 'npm:livekit-server-sdk';
import { ulid } from 'npm:ulid';

const LIVEKIT_URL = 'asdf';
const LIVEKIT_API_URL = 'asdf';
const LIVEKIT_API_KEY = 'asdf';
const LIVEKIT_API_SECRET = 'asdf';

async function generateToken(): Promise<{ accessToken: string, url: string }> {
  const roomName = ulid();

  const accessToken = new AccessToken(LIVEKIT_API_KEY, LIVEKIT_API_SECRET, {
    identity: "human_user",
  });

  accessToken.addGrant({
    roomJoin: true,
    roomCreate: true,
    roomRecord: true,
    room: roomName,
    canPublish: true,
    canSubscribe: true,
    canPublishData: true,
  });

  const token = await accessToken.toJwt();

  await createRoomWithEgress(roomName, token);

  return {
    accessToken: token,
    url: LIVEKIT_URL,
  };
}

async function createRoomWithEgress(roomName: string, token: string) {
  const output = {
    case: 's3',
    value: new S3Upload({
      secret: "asdf",
      bucket: "asdf",
      endpoint: 'asdf',
      accessKey: "asdf",
    }),
  };
  const roomClient = new RoomServiceClient(LIVEKIT_API_URL, LIVEKIT_API_KEY, LIVEKIT_API_SECRET);
  await roomClient.createRoom({
    name: roomName,
    egress: {
      room: {
        roomName: roomName,
        audioOnly: true,
        fileOutputs: [
          {
            filepath: `${roomName}/room-{time}.ogg`,
            output,
          }
        ]
      },
      tracks: {
        filepath: `${roomName}/{publisher_identity}-{time}.ogg`,
        output,
      },
    }
  });

  console.log('Room created successfully:', roomName);
}

Deno.serve(async (req) => {
  return new Response(
    JSON.stringify(await generateToken()),
    { headers: { "Content-Type": "application/json" } },
  );
});

You don't have to run it from deno, it works the same in node or vanilla twirp.
This successfully records the human_user track, but not the agent track. Maybe there is something I am doing wrong, but my understanding is that this should automatically save any participant tracks that join the room.
There is no problem with the request being received properly. If you send a poorly structured request it will reject it with 400 Bad Request. If you send a poorly structured S3 object it will fail. I have confirmed neither of these are applicable as it is storing the other recordings via S3 successfully.

This is apparently a known bug, so I will close this for now. I worked around this by manually egressing the agent track once it has a track ID.

Can you please share you solution for this Wills ? @willsmanley

I reopened since I haven't seen this tracked anywhere else. So here's my solution which is a "manual egress" (a second API request) once the track already has an ID:
from datetime import datetime
import random
import string
import livekit.api
from livekit.api.livekit_api import LiveKitAPI
from livekit.protocol.egress import TrackEgressRequest
from livekit.agents import JobContext
import os
import asyncio

def queue_egress_agent_track_once_published(ctx: JobContext):
    asyncio.create_task(_queue_egress_agent_track_once_published(ctx))

async def _queue_egress_agent_track_once_published(ctx: JobContext):
    while True:
        await asyncio.sleep(0.1)
        for publication in ctx.room.local_participant.track_publications.values():
            if publication.sid:
                await egress_agent_track(ctx.room._info.name, publication.sid)
                return
        await _queue_egress_agent_track_once_published(ctx)

async def egress_agent_track(room_name: str, track_id: str):
    api = LiveKitAPI(
        url=os.getenv("LIVEKIT_URL"),
        api_key=os.getenv("LIVEKIT_API_KEY"),
        api_secret=os.getenv("LIVEKIT_API_SECRET"),
    )
    random_string = "".join(random.choices(string.ascii_letters + string.digits, k=12))
    unique_time = datetime.now().strftime("%Y-%m-%dT%H%M%S") + f"-{random_string}"
    track_egress_request = TrackEgressRequest(
        room_name=room_name,
        track_id=track_id,
        file=livekit.api.DirectFileOutput(
            filepath=f"{room_name}/agent-{unique_time}.ogg",
            s3=livekit.api.S3Upload(
                access_key=os.getenv("S3_KEY"),
                secret=os.getenv("S3_SECRET"),
                bucket=os.getenv("S3_SESSION_RECORDINGS_BUCKET"),
                endpoint=os.getenv("S3_ENDPOINT"),
            ),
        ),
    )
    try:
        egress_info = await api.egress.start_track_egress(track_egress_request)
        print(f"started track egress {egress_info}")
    except Exception as e:
        print(f"Error starting track egress: {e}")
    finally:
        await api.aclose()

Note that I added some extra async logic which is not required. Also note that I had to implement a poll that waits to fire the request until the publication ID exists. I don't think there's a good way to set up a listener for it and the poll seems to work just fine.
But I was told that livekit is aware of the auto egress bug and its something they will fix.

Thank you. I think it will be useful for others too. I looked through docs all day to figure this out.

I reopened since I haven't seen this tracked anywhere else. So here's my solution which is a "manual egress" (a second API request) once the track already has an ID:
from datetime import datetime
import random
import string
import livekit.api
from livekit.api.livekit_api import LiveKitAPI
from livekit.protocol.egress import TrackEgressRequest
from livekit.agents import JobContext
import os
import asyncio

def queue_egress_agent_track_once_published(ctx: JobContext):
    asyncio.create_task(_queue_egress_agent_track_once_published(ctx))

async def _queue_egress_agent_track_once_published(ctx: JobContext):
    while True:
        await asyncio.sleep(0.1)
        for publication in ctx.room.local_participant.track_publications.values():
            if publication.sid:
                await egress_agent_track(ctx.room._info.name, publication.sid)
                return
        await _queue_egress_agent_track_once_published(ctx)

async def egress_agent_track(room_name: str, track_id: str):
    api = LiveKitAPI(
        url=os.getenv("LIVEKIT_URL"),
        api_key=os.getenv("LIVEKIT_API_KEY"),
        api_secret=os.getenv("LIVEKIT_API_SECRET"),
    )
    random_string = "".join(random.choices(string.ascii_letters + string.digits, k=12))
    unique_time = datetime.now().strftime("%Y-%m-%dT%H%M%S") + f"-{random_string}"
    track_egress_request = TrackEgressRequest(
        room_name=room_name,
        track_id=track_id,
        file=livekit.api.DirectFileOutput(
            filepath=f"{room_name}/agent-{unique_time}.ogg",
            s3=livekit.api.S3Upload(
                access_key=os.getenv("S3_KEY"),
                secret=os.getenv("S3_SECRET"),
                bucket=os.getenv("S3_SESSION_RECORDINGS_BUCKET"),
                endpoint=os.getenv("S3_ENDPOINT"),
            ),
        ),
    )
    try:
        egress_info = await api.egress.start_track_egress(track_egress_request)
        print(f"started track egress {egress_info}")
    except Exception as e:
        print(f"Error starting track egress: {e}")
    finally:
        await api.aclose()

Note that I added some extra async logic which is not required. Also note that I had to implement a poll that waits to fire the request until the publication ID exists. I don't think there's a good way to set up a listener for it and the poll seems to work just fine.
But I was told that livekit is aware of the auto egress bug and its something they will fix.

Thank you very much!
The agent should publish its track first, then we can make the egress request so that the egress can record audio of the user and agent. Did I understand correctly?
I followed the code at https://docs.livekit.io/home/egress/autoegress/#automatically-record-all-tracks-to-s3 when generating token, but it only recorded the user's audio.

Thank you. I think it will be useful for others too. I looked through docs all day to figure this out.

Hey, could you please take a look at my problem and let me know if you have encountered similar situations before?
https://github.com/livekit/agents/issues/952

The agent should publish its track first, then we can make the egress request so that the egress can record audio of the user and agent. Did I understand correctly?

Yes exactly.

Hey, I still can't hear the audio from the agent. I've tried two methods, but both failed😭😭😭:

I set auto-egress while creating the room, and then tried sending an egress request after the agent track was published.
I only tried sending an egress request after the agent track was published.

My version is 0.10.1.

I have verified that the agents are now working correctly in my recordings. The issue appears to be resolved. Thank you for your assistance.

@ BaiMoHan, yes! we've fixed it on our side. sorry for taking so long!


Use odpf/salt/log for logger

Is your feature request related to a problem? Please describe.
We need to use odpf/salt/log for logger as a standard across odpf project.
Describe the solution you'd like
Use odpf/salt/log for logger

The current version of siren has already use salt/log, closing this


Fixed the creation of nodes can not specify bandwidth bug

Fixed the creation of nodes can not specify bandwidth bug
Description
When InternetChargeType is PayByBandwidth, we can not specify InternetMaxBandwidthOut.
Status

done, ready for review

Checklist (tick everything that applies)

[x] Code linting (required, can be done after the PR checks)
[ ] Documentation
[ ] Tests
[ ] ICLA (required for bigger changes)

The following error do not seem to me, should I need to repair?

this is not your fault @watermelo , the build is broken on trunk. will be fixed and then you have to rebase.

@tonybaloney  thank you~😄

trunk is fixed, can you please rebase. If you've not done this before, I would do something like this:
git checkout trunk
git fetch https://github.com/apache/libcloud.git trunk:upstream
git merge upstream

great~👍👍👍

changes LGTM 👍

merged. in future I recommend creating a local branch instead of working on changes in trunk. it'll stop you from getting blocked on trunk.

thanks for your recommendation.^_^


Fix nested AND group reconcile logic (CO-2491)

Attempt to fix typo in nested AND group reconcile logic

I'm not sure I understand this patch.
$t['CoGroupMember']['co_group_nesting_id'] is the CO Group Nesting ID that created the current membership we are examining.
$t['CoGroupMember']['co_person_id'] is the CO Person ID we are currently examining.
$nMembers is the set of current memberships, keyed in CO Group Nesting ID and then CO Person ID. So !isset(...) says "if the specified CO Person is not a member of the group due to this nesting, remove the nested membership. Won't flipping the negation cause the membership to be removed if the person is currently a member? They'd get added back in in the next foreach, but that would basically remove and then add every member during each call to reconcile, which would generate a lot of noise.

Obviated by c6d0c80160. Due to the introduction of boolean AND, syncNestedMembership() basically needs to be called all the time. This is less efficient, but will suffice for v4.


Add support for variadic functions

Fixes #33
Before patch
Printf        /usr/local/go/src/fmt/print.go  189;"   f       access:public   line:189        signature:(format string, a )   type:int, error

After patch
Printf        /usr/local/go/src/fmt/print.go  189;"   f       access:public   line:189        signature:(format string, a ...interface{})     type:int, error

Thanks! I've added a testcase for this as well.

Great! :)


submitLogin can have more arguments, to pass to $http.post

Hi,
I added an other argument to submitLogin to pass to $http.post().
My use case is : trying to disable a loading bar when logging in (see https://github.com/chieffancypants/angular-loading-bar#ignoring-particular-xhr-requests )
Hope you like it.
cc @pfalconetti

LGTM!


⚠ Fortnite has degraded performance

In 4206615, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1522 ms

Resolved: Fortnite performance has improved in 482e728.


policy: merge to master with each major release

This is a more general release strategy question.
I see that the git tag for 1.7.3 references a release branch 1release-branch.go1.7'. For work in progress (e.g. release candidates), this makes perfect sense, but considering 1.7.3 has been released, and  binaries are advertised on golang.org for this version, I expected that this release branch would be merged with master.
I see https://github.com/golang/go/wiki/Go-Release-Cycle doesn't mention the process of branching for releases or when they're merged with master, and while I wouldn't want to get draconian on this process, I did want to express my surprise that I can no longer build golang stable releases without mirroring all branches from github.
If there's documentation on the release process somewhere else, I'd love to be told to shut up and go read it! If this is simply an oversight, perhaps a little documentation on the process would be helpful in keeping master/releases always synced up and tidy.
... somewhat irrelevant bug template questions answered below:
What version of Go are you using (go version)?
Affects 1.7, 1.7.1, 1.7.2, 1.7.3
... and future versions
What operating system and processor architecture are you using (go env)?
Linux 1d9c731ca9f1 3.13.0-96-generic #143-Ubuntu SMP Mon Aug 29 20:15:20 UTC 2016 x86_64 Linux
What did you do?
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
$ git clone git@github.com:golang/go.git
$ git tag | grep go1.7 | head -n 4
go1.7
go1.7.1
go1.7.2
go1.7.3
$ git push --mirror<EMAIL_ADDRESS>$ cd ..
$ git tag | grep go1.7 | head -n 4
go1.7beta1
go1.7beta2
go1.7rc1
go1.7rc2
What did you expect to see?
git tag | grep go1.7 | head -n 4
go1.7
go1.7.1
go1.7.2
go1.7.3
What did you see instead?
git tag | grep go1.7 | head -n 4
go1.7beta1
go1.7beta2
go1.7rc1
go1.7rc2
...obviously I can push all branches, I just didn't expect I needed to track all upstream branches internally since I was only building stable releases (which I assumed falsely would always be on master).

The release branches are created from master. Subsequent fixes are then cherry-picked from master on to the release branch as needed. The branches are long lived as sometimes backports need to be applied for various reasons (a recent example was to ensure certain old versions support the new OSX).
By design branches will never be merged with master. If you are mirroring the go repo you  will need to mirror any release branches as well.

What @kardianos said. Perhaps there's something to document somewhere.


Testing | Have an interface that will allow the users to change their login passwords whenever necessary.

[ ] documentation
[ ] front end task
[ ] back end task
[ ] testing


[tflite] add profiling to label_image for tflite

use the profiling mechanism in dfae914b
build with something like:
bazel build --config android_arm64 \
  --cxxopt=-std=c++11 \
  --cxxopt=-DTFLITE_PROFILING_ENABLED \
  //tensorflow/contrib/lite/examples/label_image:label_image

run label_image will get something like:
./label_image -p 1
Loaded model ./mobilenet_quant_v1_224.tflite
resolved reporter
invoked
average time: 67.227 ms
    13.349, Node   0, OpCode   3, CONV_2D
     6.024, Node   1, OpCode   4, DEPTHWISE_CONV_2D
    11.847, Node   2, OpCode   3, CONV_2D
     3.927, Node   3, OpCode   4, DEPTHWISE_CONV_2D
     1.905, Node   4, OpCode   3, CONV_2D
     3.573, Node   5, OpCode   4, DEPTHWISE_CONV_2D
     2.344, Node   6, OpCode   3, CONV_2D
     0.964, Node   7, OpCode   4, DEPTHWISE_CONV_2D
     1.224, Node   8, OpCode   3, CONV_2D
     1.846, Node   9, OpCode   4, DEPTHWISE_CONV_2D
     2.181, Node  10, OpCode   3, CONV_2D
     0.454, Node  11, OpCode   4, DEPTHWISE_CONV_2D
     0.997, Node  12, OpCode   3, CONV_2D
     0.865, Node  13, OpCode   4, DEPTHWISE_CONV_2D
     1.844, Node  14, OpCode   3, CONV_2D
     0.753, Node  15, OpCode   4, DEPTHWISE_CONV_2D
     1.724, Node  16, OpCode   3, CONV_2D
     0.803, Node  17, OpCode   4, DEPTHWISE_CONV_2D
     1.698, Node  18, OpCode   3, CONV_2D
     0.794, Node  19, OpCode   4, DEPTHWISE_CONV_2D
     1.754, Node  20, OpCode   3, CONV_2D
     0.798, Node  21, OpCode   4, DEPTHWISE_CONV_2D
     1.704, Node  22, OpCode   3, CONV_2D
     0.204, Node  23, OpCode   4, DEPTHWISE_CONV_2D
     0.983, Node  24, OpCode   3, CONV_2D
     0.373, Node  25, OpCode   4, DEPTHWISE_CONV_2D
     1.791, Node  26, OpCode   3, CONV_2D
     0.067, Node  27, OpCode   1, AVERAGE_POOL_2D
     0.388, Node  28, OpCode   3, CONV_2D
     0.001, Node  29, OpCode  22, RESHAPE
     0.035, Node  30, OpCode  25, SOFTMAX
0.600: 458 bow tie
0.365: 653 military uniform
0.008: 835 suit
0.008: 611 jersey
0.004: 514 cornet

Oops, sorry about that. Will remove it. That was actually generated by clang-format -style=Google ...

Not sure this is an expected error for this change?
2018-04-26 14:22:17.797851: F tensorflow/python/lib/core/bfloat16.cc:664] Check failed: PyBfloat16_Type.tp_base != nullptr

@martinwicke: I didn't have such problem on Android devices. How to produce that?


[MINOR] improvement: Reduce the size of Spark patch

What changes were proposed in this pull request?
As https://github.com/apache/spark/pull/40307#issuecomment-1457619866, we could use spark.shuffle.reduceLocality.enabled to reduce the modification of the Apache Spark.
Why are the changes needed?
Reduce the spark patch size
Does this PR introduce any user-facing change?
No.
How was this patch tested?
No need

Codecov Report

Merging #689 (efde304) into master (ffa50b9) will increase coverage by 1.06%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #689      +/-   ##
============================================
+ Coverage     60.80%   61.86%   +1.06%
+ Complexity     1840     1744      -96
============================================
  Files           221      198      -23
  Lines         12648    10114    -2534
  Branches       1062     1019      -43
============================================
- Hits           7690     6257    -1433
+ Misses         4552     3524    -1028
+ Partials        406      333      -73

Impacted Files
Coverage Δ

.../java/org/apache/uniffle/server/ShuffleServer.java
59.60% <0.00%> (-2.47%)
:arrow_down:

.../apache/uniffle/coordinator/ClientConfManager.java
91.54% <0.00%> (-1.41%)
:arrow_down:

deploy/kubernetes/operator/pkg/utils/config.go

...oy/kubernetes/operator/pkg/utils/shufflerserver.go

...tor/pkg/controller/sync/coordinator/coordinator.go

...y/kubernetes/operator/pkg/webhook/inspector/pod.go

...org/apache/spark/shuffle/RssSparkShuffleUtils.java

...eploy/kubernetes/operator/pkg/utils/coordinator.go

deploy/kubernetes/operator/pkg/utils/rss.go

...pache/spark/shuffle/writer/WriteBufferManager.java

... and 15 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Implicit namespace package support

The implicit namespace package is defined in PEP 420 as lacking a __init__.py in the package. But Flit relies on the file to read in the version and (short) description.
Some ways to support this from the top of my head:

Add an alternative way to specify those values. Probably against Flit’s philosophy.
Add a field in pyproject.toml to instruct Flit to read those values from another file. Implicit namespace packages usually implement a submodule in the parent package, so it’d be possible to have something like top-level = "foo.bar" to instruct Flit to load that module instead of the one defined under the module key.
Like the above, but merge this into module. So instead of taking a Python identifier, module can now may also be given a dotted name to specify a submodule. This would make Flit import module for metadata values (as currently), but package all of the top-level module into the distribution. The downside is there’s no way to package multiple submodules into one namespace package in a distribution, but that’s a niche usage anyway (like Flit chose not to support having multiple packages in a distribution).
Continue to require a __init__.py in the top-level package, but introduce a flag (e.g. namespace = true) to not package that file into the distribution. I don’t like this approach (the module would behave differently depending on whether it’s imported directly from PWD or after flit install -s), but it’s the easiest hack.

There's been a PR (#159) hanging around for years; the idea would be that you package one module within the namespace, and flit reads the metadata from that, e.g. sphinxext.opengraph.
I'm just not really interested in namespace packages, so I find it hard to summon the enthusiasm for thinking about how to support them and hearing about bug reports when things go wrong. Quoting myself from that PR:

I ~never use namespace packages myself; my experiences with them have always been that they're an unnecessary complication, creating new ways for things to go wrong for little benefit. So I don't have much motivation to do all the testing to satisfy myself that this will work properly. And I don't have much enthusiasm for maintaining it if it doesn't work.

Seeing how long the PR has been hanging in the air, is that lack of enthusiasm a show-stopper for adopting namespace packages even if someone else implements/maintains the feature?

I for one would appreciate namespace package support as my team uses them extensively (I'd prefer if we didn't, but that ship has sailed). Since a lot of my coworkers are not that familiar with all the intricacies of Python packaging, flit would be ideal to use given its simplicity compared to using setuptools. Unfortunately I don't have the time to work on this at the moment which is why I'm just adding my voice in favor of supporting namespace packages.

I for one would appreciate namespace package support as my team uses them extensively (I'd prefer if we didn't, but that ship has sailed). Since a lot of my coworkers are not that familiar with all the intricacies of Python packaging, flit would be ideal to use given its simplicity compared to using setuptools. Unfortunately I don't have the time to work on this at the moment which is why I'm just adding my voice in favor of supporting namespace packages.

I am looking at migrating to flit, and lack of support for namespace packages is forcing me to look at alternatives.
One common use-case for namespace packages is plugins, where multiple separate plugins are contributing to the same namespace independently.

I'm just not really interested in namespace packages, so I find it hard to summon the enthusiasm for thinking about how to support them and hearing about bug reports when things go wrong

That's a shame. Flit almost rescued my floundering project from a lack of direction in poetry, but this leaves me dead in the water. The examples given in your PR (https://github.com/takluyver/flit/pull/159) - where a company might have several independent packages all developed under the same, you know, namespace - is far more common than you'd think (often by different teams, so coordinating a single repo that doesn't step on itself is a nightmare at best. Ask me how I know :wink:).
One developer to another, you might need to put your feelings to one side here. New-style namespace packages have been a standardized part of the language since 2012. They're not going anywhere. You can whine about them all you want (hey - you of all people should know - write a counter PEP) but, Flit is in the wrong here. You can't expect people to not to use a feature of the language just because you personally don't like or use it (as was pointed out to you several times in that PR).
Now, it's your codebase. You can support (or not support) whatever you'd like. Just know that you're shooting yourself in the foot here with adoption and compatibility with a long standardized aspect of the language. Just see that closed issue from Facebook if you want another less-biased example. Personally, I have no choice but to go back to poetry (which does support namespace packages) and hope I can muddle some horrible workaround together, or find some alternative, like I was trying to do when I dug deeper into flit. This project has so much more potential, too - you're continuing to push out excellent PEPs and really making great strides for the python packaging community as a whole.
On the off chance; how dead is PR https://github.com/takluyver/flit/pull/159? It seems ancient by the velocity of this project's commit log - is it even relevant anymore? Would you even consider an updated PR for namespace support? I don't think I really have the time to push it forwards but if there is the potential, I'd consider it.

The newstyle metadata allows for an explicit version setting. Would it be worthwhile making another proposal for namespace packages (i.e. disregarding #159) that relies on this setting instead of __init__.py?

I have implemented support for implicit namespace packages based on new-style metadata in #453 and it is really simple now. The sdist and wheel built for my project look right to me and editable installs work as well.

OK, I came round to the idea of doing this, even if it's not something I plan to use much myself. I've just released Flit 3.5.
I went back to the idea of #159, where you specify the subpackage or module inside the namespace package (e.g. name = "sphinxcontrib.foo"), not the namespace package itself. That means that getting the version & description from the module still work as with any other module, if you want to use that feature.
This only tries to support PEP 420 'implicit' namespace packages, where the namespace package (the outer one) doesn't have an __init__.py file.

Just wanted to chime in here and say that I've now successfully used this. Thanks @takluyver!


Incorrect output when using hf-internal-testing/llama-tokenizer

When using 'hf-internal-testing/llama-tokenizer':
python -m vllm.entrypoints.api_server \
             --model openlm-research/open_llama_13b \
             --tokenizer hf-internal-testing/llama-tokenizer \
             --tensor-parallel-size 1 --port 9990

Output:
$> curl http://localhost:9990/generate -d '{
"prompt": "San Francisco is a",
"use_beam_search": true,
"n": 2,
"temperature": 0
}'

$>
{"text": ["San Francisco is a\u0440\u0430\u043d\n Pur Francisco is a\u0440\u0430\u043d and t forivoion
impro\u8d8aion \u044e\u0433\u043e", "San Francisco is aong\u8d8a\u1f7aor togg is a\u0440\u0430\u043d an
d t|\\\u8d8a \u044e\u0433\u043eion impro\u7532"]}<Trial 3044984 worker_0> debug $ curl http://localhost

When using original tokenizer, although it is very slow on initialization, the results seemed to be correct:
python -m vllm.entrypoints.api_server \
             --model openlm-research/open_llama_13b \
             --tensor-parallel-size 1 \
             --port 9990

Output:
$> curl http://localhost
:9990/generate -d '{
"prompt": "San Francisco is a",
"use_beam_search": true,
"n": 2,
"temperature": 0
}'

$>
{"text": ["San Francisco is acity of has a lot to offer. It is a city that is has a", "San Francisco is
abeautiful that is known for its diversity, and\u2019s a city that is known"]}
'''

Closing this issue as stale as there has been no discussion in the past 3 months.
If you are still experiencing the issue you describe, feel free to re-open this issue.


Check function: doCombinationWindow

Function documentation in order with SRS (Roxygen2)
Functionality in order with function documentation
Unit test in order with TestPlan (usethis, testthat)
Code review of function (other dev than whoever picked up this ticket) (lintr)

Test variables are setup. Two basic tests exists, "void" and "minimal". More extensive tests have to be written.

I wrote several failing tests for this function which indicates to me that the output is not correct (or what I'm expecting). https://github.com/darwin-eu-dev/TreatmentPatterns/pull/97
@mvankessel-EMC Can we discuss the expected behavior of this function somewhere?

Here are some reprex's of unexpected results
Example 1: combinationWindow does not work as expected.
library(TreatmentPatterns)
#> Warning: replacing previous import 'data.table::last' by 'dplyr::last' when
#> loading 'TreatmentPatterns'
#> Warning: replacing previous import 'data.table::first' by 'dplyr::first' when
#> loading 'TreatmentPatterns'
#> Warning: replacing previous import 'data.table::between' by 'dplyr::between'
#> when loading 'TreatmentPatterns'
#> Creating a generic function for 'toJSON' from package 'jsonlite' in package 'googleVis'
treatment_history <- tibble::tribble(
  ~event_cohort_id,     ~person_id,   ~event_start_date,  ~event_end_date,
  101,                   1,           "2020-05-01",       "2020-06-01",
  102,                   1,           "2020-05-01",       "2020-06-01"
) %>%
  dplyr::mutate(dplyr::across(dplyr::ends_with("date"), as.Date)) %>%
  data.table::data.table()

treatment_history[,
                  `:=`(duration_era = difftime(event_end_date, event_start_date, units = "days"),
                       index_year = as.numeric(format(event_start_date, "%Y")))]

result <- TreatmentPatterns:::doCombinationWindow(treatment_history,
                                                  combinationWindow = 100,
                                                  minPostCombinationDuration = 1)
#> [1] "Iteration 1 modifying  1 selected rows out of 2: 0 switches, 1 combinations FRFS and 0 combinations LRFS"
#> Currently in a tryCatch or withCallingHandlers block, so unable to add global calling handlers. ParallelLogger will not capture R messages, errors, and warnings, only explicit calls to ParallelLogger. (This message will not be shown again this R session)
#> Iteration 1 modifying  1 selected rows out of 2: 0 switches, 1 combinations FRFS and 0 combinations LRFS
#> [1] "After minPostCombinationDuration: 1"
#> After minPostCombinationDuration: 1
#> [1] "After combinationWindow: 1"
#> After combinationWindow: 1
#> Time needed to execute combination window 0.00106899738311768

print(result)
#>    person_id index_year event_cohort_id event_start_date event_end_date
#> 1:         1       2020         102+101       2020-05-01     2020-06-01
#>    duration_era
#> 1:      31 days

Created on 2023-02-14 with reprex v2.0.2
example 2
library(TreatmentPatterns)
#> Warning: replacing previous import 'data.table::last' by 'dplyr::last' when
#> loading 'TreatmentPatterns'
#> Warning: replacing previous import 'data.table::first' by 'dplyr::first' when
#> loading 'TreatmentPatterns'
#> Warning: replacing previous import 'data.table::between' by 'dplyr::between'
#> when loading 'TreatmentPatterns'
#> Creating a generic function for 'toJSON' from package 'jsonlite' in package 'googleVis'
treatment_history <- tibble::tribble(
  ~event_cohort_id,     ~person_id,   ~event_start_date,  ~event_end_date,
  101,                   1,           "2020-05-01",       "2020-06-01",
  102,                   1,           "2020-06-01",       "2020-07-01"
) %>%
  dplyr::mutate(dplyr::across(dplyr::ends_with("date"), as.Date)) %>%
  data.table::data.table()

treatment_history[,
                  `:=`(duration_era = difftime(event_end_date, event_start_date, units = "days"),
                       index_year = as.numeric(format(event_start_date, "%Y")))]

result <- TreatmentPatterns:::doCombinationWindow(treatment_history,
                                                  combinationWindow = 0,
                                                  minPostCombinationDuration = 0)
#> [1] "After combinationWindow: 2"
#> Currently in a tryCatch or withCallingHandlers block, so unable to add global calling handlers. ParallelLogger will not capture R messages, errors, and warnings, only explicit calls to ParallelLogger. (This message will not be shown again this R session)
#> After combinationWindow: 2
#> Time needed to execute combination window 0.000125384330749512

print(result)
#>    event_cohort_id person_id event_start_date event_end_date duration_era
#> 1:             101         1       2020-05-01     2020-06-01      31 days
#> 2:             102         1       2020-06-01     2020-07-01      30 days
#>    index_year
#> 1:       2020
#> 2:       2020

# I think this person should not be in both 101 and 102+101 on the same day
# my expectation is:
tibble::tribble(
  ~event_cohort_id, ~person_id, ~event_start_date, ~event_end_date,
  "101",            1,          "2020-05-01",      "2020-05-31",
  "102+101",        1,          "2020-06-01",      "2020-06-01",
  "102",            1,          "2020-06-02",      "2020-07-01"
)
#> # A tibble: 3 × 4
#>   event_cohort_id person_id event_start_date event_end_date
#>   <chr>               <dbl> <chr>            <chr>
#> 1 101                     1 2020-05-01       2020-05-31
#> 2 102+101                 1 2020-06-01       2020-06-01
#> 3 102                     1 2020-06-02       2020-07-01

Created on 2023-02-14 with reprex v2.0.2

@AniekMarkus Could you have a look at this?

Example 1: this occurs because the total duration of the era is less than combinationWindow, see below (screenshot from paper).

Example 2: I agree with the expectation, also the combined treatment (101+102) does not seem to be generated at all so that should be corrected too.

@AniekMarkus What should the correct output be in example 1? (Both A and B are the exact same length. That length is greater than minEraDuration but less than combinationWindow)

@ablack3 The output is correct / should be as was returned:
print(result)
#>    person_id index_year event_cohort_id event_start_date event_end_date
#> 1:         1       2020         102+101       2020-05-01     2020-06-01
#>    duration_era
#> 1:      31 days
Reason is that overlap = event era length (minEraDuration has no influence here). See bold part below:
If the overlap of the two event eras is at least combination Window OR the overlap is
equal to the total length of one of the events, this is considered:
b. FRFS ('First Received, First Stopped*) if the end date of the earlier starting event era is before or at the end date of the later starting event era.

Ok thanks for explaining @AniekMarkus. Just to check my understanding of the intended output are these examples correct?

It seems that the difference in output between B=A and B=(A+ 1 more day) is significant.

@AniekMarkus One more question I had: Should doCombinationWindow guarantee that a person is only ever in one event (possibly a combination event) at any given point in time?
Seems to me like the answer should be yes, the output of doCombinationWindow should not include any overlapping intervals for a single person.
Another way to phrase the question is "Is it possible for a person to be in more than one treatment pathway at the same point in time?" I think the answer here should be no it is not possible.

The first example is incorrect: if A = B, then full period is converted to A+B no matter what combinationWindow is set to.
The second example is also incorrect: because A overlaps with B for the entire duration of A, you get similar output as for the third example.
The third example is correct.

Indeed the resulting pathways should not have any overlapping events, so that would be a good check to perform!

Thanks @AniekMarkus. Are these input/outputs correct?

In the above two cases the user's parameters (combinationWindow) would be the same but the output is quite different because of a 1 day difference in treatment exposure. What is the reasoning behind this behavior of the algorithm? Why would a 1 day difference in the start date of A determine if A and B should be considered a combination or not?

This is really helpful @AniekMarkus . I'd like to comprehensively test every possible case for doCombinationWindow.


Update README.md

It actually does support TypeScript!

Yeah, but then why do you wanna remove it from the readme?:D

Oh gosh. I guess I somehow completely misread it..?


VimPerformanceState#purge_timer for old records

Will purge for both orphans and records older than 6 months
fixes #11868

update:

added a spec
no other changes

I'm ok to merge this as is, but I'm reading through the purging code, and I don't understand the purpose of purge_orphaned at all.  The reason I'm saying that is that I started looking at supporting "multiple" purging strategies in a cleaner way after this PR, and then I noticed that some tables already do it using purge_by_scope, and it seems so much simpler. For example, binary blobs supports older than or archived via:
https://github.com/ManageIQ/manageiq/blob/33714b1dd1b38b18124f49c2216c7c15ddd9522b/app/models/binary_blob/purging.rb#L20
and then just uses :scope as the purge mode.

Going to merge anyway, but let's discuss my comments above.

Backported to petrosian in commit 64332eb3280042c51987a25e4cd841918913fbc4.
commit 64332eb3280042c51987a25e4cd841918913fbc4
Author: Jason Frey<EMAIL_ADDRESS>Date:   Fri Jul 7 16:32:50 2023 -0400

    Merge pull request #22605 from kbrock/vps_purging

    VimPerformanceState#purge_timer for old records

    (cherry picked from commit 41dc875b7e59ec1209fa9b1413264ff093ec1ae8)


Fix the "large_hole_should_not_fill", performance improved by 50%

So previously, the crate fills the hole which caused many more rotation..

This fixes #1


This plugin threw an error from the characteristic 'Color Temperature': Unhandled error

[8/5/2021, 11:34:40 PM] [homebridge-wiz-lan] This plugin threw an error from the characteristic 'Color Temperature': Unhandled error thrown inside write handler for characteristic: Cannot read property 'state' of undefined. See https://git.io/JtMGR for more info.
Any ideas what this is about?

The same was happening to me the other day and then it suddenly stopped happening... I'll let you know if I can reproduce it again. If someone is able to extract the response that is missing the "state" please post it here

On second thought, I think https://github.com/kpsuperplane/homebridge-wiz-lan/pull/57 should've fixed it. Try updating :)


Server Setup and configuration

Description:

Provisioning of cloud server instances (virtual machines) to host the web application and associated services.
Configuration of server specifications to match the expected load and performance requirements.
Manual installation of the operating system and necessary packages including web server software (e.g., Nginx, Apache), a database server (e.g., PostgreSQL, MySQL), and other dependencies.
Configuration of the network settings, including firewalls and security groups, to secure the server from unauthorized access.

Definition of done :
A fully configured and operational server ready to host the Capstone Management System in a production capacity.

The issue appears to be well-defined, and it would be greatly appreciated if the tasks could be broken down into smaller issues, with one team member assigned to each. Thank you for your cooperation!

OU IT server space has been created .
linux based os and other required services have been installed and are ready to use.


Localizable scalar type

Product
Hot Chocolate
Is your feature request related to a problem?
If your application supports two or more localizations/languages, I bet you have to deal with something like this
var name = culture == new CultureInfo('fr') ? nameFr : nameEng at least once.
Which is really annoying in case you have many such fields (or even one, meh)
We are not talking about some static resources, which can be translated using LocalizedString
The solution you'd like
What if we add some new scalar type / wrapper on string, which will be simply represented like String in resulted schema, so clients code do not even notice any magic, and hide all work with accessing current culture into this wrapper or middleware.
If you'd like the idea, I would be happy to discuss it and maybe implement

As a client I do expect that request like:
POST /graphql
Accept-Language: en
{ city(id: 1) { name } }

Will return city name in corresponding language

Note: determination of desired language may differ and is not important, will it be in route param, query string, cookie, whatever else

I also wondering if someone can suggest elegant solution for backend to avoid repetetive if else conditions around language?