Upload photo icon remains white in light mode

Theme - Upload photo icon remains white in light mode
Details

Theme - Upload photo icon remains white in light mode
Fixed Issues

$ https://github.com/Expensify/App/issues/33316
PROPOSAL: https://github.com/Expensify/App/issues/33316#issuecomment-1863514818
Tests

Sign in to any account
Go to Settings -> Preferences
Switch the App theme to light mode
Go to Settings -> Profile
Verify that the upload photo icon has a button background and icon color of light mode
Go to Settings -> Preferences again
Switch the App theme to dark mode
Go to Settings -> Profile again
Verify that the upload photo icon has a button background and icon color of dark mode

[x] Verify that no errors appear in the JS console

Offline tests

Sign in to any account
Go to Settings -> Preferences
Switch the App theme to light mode
Go to Settings -> Profile
Verify that the upload photo icon has a button background and icon color of light mode
Go to Settings -> Preferences again
Switch the App theme to dark mode
Go to Settings -> Profile again
Verify that the upload photo icon has a button background and icon color of dark mode

QA Steps

Sign in to any account
Go to Settings -> Preferences
Switch the App theme to light mode
Go to Settings -> Profile
Verify that the upload photo icon has a button background and icon color of light mode
Go to Settings -> Preferences again
Switch the App theme to dark mode
Go to Settings -> Profile again
Verify that the upload photo icon has a button background and icon color of dark mode

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@situchan has a lot of higher priority things on his plate right now, so I'm going to find another C+ review for this one.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/roryabraham in version: 1.4.22-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
cancelled 🔪

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/roryabraham in version: 1.4.22-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 1.4.22-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Deprecated code information: valid from

Original report on BitBucket by Taina Jääskeläinen.

Deprecated code information:
Code value: code6.child2 Valid from 2015-09-22 to 2022-07-26
 URI: https://vocabularies.cessda.eu/vocabulary/TestingCV2_[CODE]?v=2.0
 Descriptive term: Code 6: Child 2
 Replaced by code: code16.child2 URI: https://vocabularies.cessda.eu/vocabulary/TestingCV2_[CODE]?v=2.0

This is otherwise finalised in #421except for the ‘valid from’ information. Stefan said:
If ‘From’ is missing, it’s because there’s no information about the version, in which the particular code was introduced. This applies for all the codes added prior to the code deprecation feature. Since this feature, each added code has a new hidden attribute ‘introduced_in_version_id’ allowing to get the valid ‘From’ value. I think that it should be possible to create a script that discovers the versions in which the codes with missing ‘From’ were discovered.

We put this on hold till the top priority issues for 3.0.0 were resolved. Not a major issue.

@matthew-morris-cessda What about the issue? Has it been resolved or can it be closed?

@Lorenz1983 I add also @Stifo to this issue, because he is the one who worked on it. There is some description in the first post by Taina from bitbucket system. So this is realy old issue. Maybe @stifo can help with it.

work in progress, under testing...
LOCK TABLES version concept WRITE;
START TRANSACTION;

update
  concept dst,
  (
    with t as (
      select
        v.vocabulary_id as vocabulary_id,
        v.id as version_id,
        c.id as concept_id,
        c.notation as concept_notation,
        c.introduced_in_version_id as concept_initial_version
      from concept c
      left join version v on
        c.version_id=v.id
      where
        c.introduced_in_version_id is null
      order by
        vocabulary_id,
        version_id,
        concept_id,
        c.notation
    )
    select
      min(version_id) as introduced_in_version,
      vocabulary_id,
      concept_notation
    from t
    group by
      concept_notation,
      vocabulary_id
  ) src,
  version
set
  dst.introduced_in_version_id=src.introduced_in_version
where
  src.concept_notation=dst.notation
    and
    src.vocabulary_id=version.vocabulary_id
    and
    dst.version_id=version.id;

COMMIT;
UNLOCK TABLES;

The SQL script has been run on production


0.50.1 fails to start without any annotated Service deployed

Describe the bug
Without any Services deployed yet, using the official Docker image, 0.50.0 works OK, 0.50.1 fails with the following errors in the Kubernetes pod logs:
diagd 0.50.1 [P42TAmbassadorEventWatcher] WARNING: EnvoyStats.update failed: HTTPConnectionPool(host='<IP_ADDRESS>', port=8001): Max retries exceeded with url: /stats (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f329c1ddc88>: Failed to establish a new connection: [Errno 111] Connection refused',))

Full pod logs here: http://paste.openstack.org/show/744836/
To Reproduce
Steps to reproduce the behavior:

Deploy Ambassador in single namespace mode with the quay.io/datawire/ambassador:0.50.0 image. Ensure that you don't have any Services with Ambassador annotations deployed.
Notice that you can get it ready in Kubernetes, without errors in the pod logs.
Change the deployment to use the quay.io/datawire/ambassador:0.50.1 image.
Notice that Ambassador seems not to be able to connect to Envoy's stats endpoint and fails to get ready.
Revert the image to 0.50.0 - everything works as expected again.

Expected behavior
An upgrade of 0.50.0 -> 0.50.1 should not impact this internal connection Ambassador-Envoy and it should be able to get ready on its own without having to rely on the presence of Services, which may be deployed at a later time.
Versions (please complete the following information):

Ambassador: 0.50.1
Kubernetes environment: self-deployed, kubeadm
Version: 1.12.3

I spent the last few days trying to find why it suddenly stopped working. Now, I know why, thanks 👍

So this is actually the error:
2019-02-11 11:28:13 diagd 0.50.1 [P42TAmbassadorEventWatcher] INFO: no configuration found in snapshot 1?

Ambassador's startup is a bit complex, and changed between 0.50.0 and 0.50.1. In 0.50.0, we scanned Kubernetes, built a (possibly degenerate) configuration, started Envoy with that configuration, then started the Kubernetes watch loop and updated the configuration from there. In some situations, that can badly confuse things, so in 0.50.1 we start Envoy running with a null configuration, then start the Kubernetes watch and update everything from there.
What's happening here is that the initial configuration is finding nothing at all, so it's never triggering the reconfiguration that would allow Ambassador to decide that it's running OK. Can you paste me the Ambassador annotations in your namespace? or are there literally none whatsoever?

What loops a watch?
Get Outlook for Android
On Mon, Feb 11, 2019 at 1:50 PM -0600, "Flynn"<EMAIL_ADDRESS>wrote:
So this is actually the error:
2019-02-11 11:28:13 diagd 0.50.1 [P42TAmbassadorEventWatcher] INFO: no configuration found in snapshot 1?
Ambassador's startup is a bit complex, and changed between 0.50.0 and 0.50.1. In 0.50.0, we scanned Kubernetes, built a (possibly degenerate) configuration, started Envoy with that configuration, then started the Kubernetes watch loop and updated the configuration from there. In some situations, that can badly confuse things, so in 0.50.1 we start Envoy running with a null configuration, then start the Kubernetes watch and update everything from there.
What's happening here is that the initial configuration is finding nothing at all, so it's never triggering the reconfiguration that would allow Ambassador to decide that it's running OK. Can you paste me the Ambassador annotations in your namespace? or are there literally none whatsoever?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@kflynn

Ambassador's startup is a bit complex, and changed between 0.50.0 and 0.50.1. In 0.50.0, we scanned Kubernetes, built a (possibly degenerate) configuration, started Envoy with that configuration, then started the Kubernetes watch loop and updated the configuration from there. In some situations, that can badly confuse things, so in 0.50.1 we start Envoy running with a null configuration, then start the Kubernetes watch and update everything from there.

Ah, thanks for pointing that out, it explains a lot! So if I understand correctly, you're saying that I can't get Ambassador to run without any Services deployed yet having Ambassador annotations? That kinda sucks, since I'd like to test different parts of my project individually (smoke testing). So that's how I saw 0.50.1 failing very early in my CI pipeline; it was intentionally being deployed without any Services in its namespace. :smile:
Also, I did not expect such an overhaul in logic about starting up and orchestrating Envoy in a patch release. Nor is that behavioral change really mentioned in the release announcement.
Anyway, I've now deployed a dummy Service together with Ambassador in the smoke test pipeline and it's happy again. Yey! :tada:
What I'd like to suggest to improve this:

Print a more descriptive WARNING/ERROR if no services are found if that means Ambassador is not starting up properly. In my opinion, this is not INFO level stuff and therefore it didn't get to my attention.
Don't attempt to retrieve Envoy stats when running it with a null configuration to avoid spurious WARNINGs that were the result of another error.

Shall I open two different issues for that or leave this one open?
@r4nd0m0n3

What loops a watch?

What?

Get Outlook for Android

No, thanks.

@gertvdjik Please open one for "don't attempt to retrieve stats before Envoy is running."
The root of this bug is actually that Ambassador should not, in fact, have treated your no-Service namespace as an error: it should've come up as if you had the following configuration
apiVersion: ambassador/v1
kind: Module
name: ambassador
config: {}

which is what 0.50.0 would do. The fact that this behavior changed between 0.50.0 and 0.50.1 is indeed a bug, and we'll fix it -- my asking about your configuration was verifying the proximate cause so that I could be sure I was fixing the right thing. :smile:

Please open one for "don't attempt to retrieve stats before Envoy is running."

Sure, will do.

The fact that this behavior changed between 0.50.0 and 0.50.1 is indeed a bug, and we'll fix it

Thanks! :tada:

Fixed in 0.50.2

Confirmed working with 0.50.2, thanks! :+1:


Build on GHC 9.4

ghc-specter now supports both GHC 9.2 and GHC 9.4!

GHC-9 Esqueleto Functional Dependency type errors are really bad

Is this irrelevant task linked because my branch name contains ghc-9?


⚠ Bofrost.lu has degraded performance

In fea1518, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1804 ms

Resolved: Bofrost.lu performance has improved in b19d30a after 10 minutes.


[browser] Allow dynamic process.env in browser mode

Clear and concise description of the problem
Currently process.env.NODE_ENV gets replaced by its actual value when vitest is run in browser mode.
This behaviour defeats some parts of component testing, when we want to actually test the behaviour of our component in different environments. Eg: by throwing in development vs warning in production.
Suggested solution
Allow process.env to be dynamic in browser mode
Alternative
No response
Additional context
If you need a quick testing example 🙃
https://github.com/JCQuintas/vitest-browser-process-env
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

process.env doesn't exist in the browser, so I don't think it is reasonable to polyfill it since it will introduce the difference between the production and development environments.
We could play around with it by replacing it with something like __global_process_env__ and override it in vi.stubEnv or import.meta.env.NODE_ENV

process.env already works in vitest browser mode. The issue seems to be that the builder/bundler parses process.env.NODE_ENV of the components to "production" when it runs.
If we destructure the variable and use it instead, then the tests in the example start working.
  const { NODE_ENV } = process.env;
  if (NODE_ENV === 'production') {
    throw new Error('This is a production error');
  }

process.env already works in vitest browser mode.

Yeah, and it's a bug: https://github.com/vitest-dev/vitest/issues/6203

The issue seems to be that the builder/bundler parses process.env.NODE_ENV of the components to "production" when it runs

This is just how Vite works; we can bypass it by transforming it to a different variable first.


dx12: nearest mipmap lods

min and max lods need to be adjusted by 0.5 (added) to pass the nearest mipmap lod CTS tests (dEQP-VK.texture.mipmap.cubemap.max_lod.nearest_nearest, etc).
Would be nice to get some more details about this than just adding some 'random' magic values.

Vulkan spec: image level parameter = ceil(d + 0.5) - 1 or floor(d + 0.5) for mipmap nearest, where d = base_level + lod parameter
dx12 might just floor(?) even though it would be surprising..

probably worth testing it on multiple GPUs and drivers

@msiglreith i get the following results on dEQP-VK.texture.mipmap.cubemap.max_lod.nearest_nearest:

Normal
Min/MaxLOD += 0.5

Driver version: 18.3.4
GPU: Radeon (TM) RX 470 Graphics

This seems to suggest rounding for mipmap selection unless I'm understanding it wrong:

[...] The texture filter to be used between mipmap levels is nearest-point mipmap filtering. The rasterizer uses the color from the texel of the nearest mipmap texture.


favicon.ico is missing

We need to find a nice icon for the project as well as add it to the server

So, icon Is available or we have to design new icon for the project?

@milapbhojak no we do not have an icon. So any ideas or design or suggestions are pretty much welcome here

For now we are using React project icon but it is highly recommended to change it to something more proper as soon as possible.


meta_any objects holding a value cannot be modified by meta functions

#include <entt/meta/meta.hpp>
#include <entt/entt.hpp>

struct blah {
    int value{0};
};

blah create_blah() { return blah{}; }

void modify_blah(blah &blah_reference) { blah_reference.value = 10; }

auto blah_factory = entt::reflect<blah>("blah"_hs).ctor<&create_blah>().func<&modify_blah>("modify_blah"_hs);

int main() {
    auto blah_meta_type = entt::resolve("blah"_hs);
    auto new_blah = blah_meta_type.ctor().invoke();
    auto modify_blah_meta_func = blah_meta_type.func("modify_blah"_hs);
    modify_blah_meta_func.invoke({}, new_blah);
    assert(new_blah.cast<blah>().value == 10);
    return 0;
}

Request is to make this assertion pass.
Another possibility to make this pass would be allowing the following:
#include <entt/meta/meta.hpp>
#include <entt/entt.hpp>

struct blah {
    int value{0};
};

blah create_blah(){ return blah{}; }

void modify_blah(blah *blah_pointer) { blah_pointer->value = 10; }

auto blah_factory = entt::reflect<blah>("blah"_hs).ctor<&create_blah>().func<&modify_blah>("modify_blah"_hs);

int main() {
    auto blah_meta_type = entt::resolve("blah"_hs);
    auto new_blah = blah_meta_type.ctor().invoke();
    auto modify_blah_meta_func = blah_meta_type.func("modify_blah"_hs);
    modify_blah_meta_func.invoke(new_blah);
    assert(new_blah.cast<blah>().value == 10);
    return 0;
}

That is, static functions taking a pointer to the type underlying the meta type are treated as methods by the meta system.

This would be straightforward if meta_handle allowed to cast or convert the underlying instance.
In this case, we could construct handles for actual objects and concert meta_anys to meta_handles at the call site. It won't make a copy of the value and therefore the original instance would be brought around till the invoke.

I've probably found a smart way to do this without having to modify the whole codebase.
With a few changes to the meta_any and meta_handle classes so as to enforce aliasing on the input values, this should come almost for free.
I've already wrote the necessary code but I've still to test it. If everything works as expected, it will land on master during the week. :+1:

Branch wip contains what is needed to support this. May I ask you to verify that it works as expected?

:+1: :+1: Thanks!


Adjust categories API statistical method

Description
The original way of category statistics would combine SVGs with composite categories into a new category, such as {"category":["Hosting","Vercel"],"total":1}. However, as a category API, it should count the number of SVGs for each independent category. For example, there should be 8 SVGs in the Hosting category, but the response is {"category":"Hosting","total":7}, which needs to be merged with another {"category":["Hosting","Vercel"],"total":1} to determine that there are 8 SVGs in the Hosting category. This approach is not user-friendly and adds complexity.
And There is currently an issue where all Vercel types are attached to a composite type of svg. Therefore, the API response does not have a separate {"category": "Vercel"} item. This may cause some API consumers to overlook and fail to render information related to that category smoothly.
This PR mainly changes the way categories are counted independently. When encountering SVGs with composite categories, it will count the quantities of all associated categories.
Original Response
[
  { "category": "Software", "total": 131 },
  { "category": "Library", "total": 33 },
  { "category": "Framework", "total": 43 },
  { "category": "Crypto", "total": 19 },
  { "category": "AI", "total": 15 },
  { "category": "CMS", "total": 10 },
  { "category": "Design", "total": 16 },
  { "category": "Music", "total": 3 },
  { "category": "Marketplace", "total": 2 },
  { "category": "Hosting", "total": 7 },
  { "category": "Compiler", "total": 6 },
  { "category": "Social", "total": 24 },
  { "category": ["Library", "Vercel"], "total": 1 },
  { "category": "Entertainment", "total": 9 },
  { "category": "Browser", "total": 11 },
  { "category": "Language", "total": 30 },
  { "category": "Database", "total": 14 },
  { "category": "Education", "total": 7 },
  { "category": "Fintech", "total": 1 },
  { "category": "Community", "total": 3 },
  { "category": ["Software", "CMS"], "total": 1 },
  { "category": ["Hosting", "Vercel"], "total": 1 },
  { "category": ["Framework", "Vercel"], "total": 1 }
]

New Response
[
  { "category": "Software", "total": 132 },
  { "category": "Library", "total": 34 },
  { "category": "Framework", "total": 44 },
  { "category": "Crypto", "total": 19 },
  { "category": "AI", "total": 15 },
  { "category": "CMS", "total": 11 },
  { "category": "Design", "total": 16 },
  { "category": "Music", "total": 3 },
  { "category": "Marketplace", "total": 2 },
  { "category": "Hosting", "total": 8 },
  { "category": "Compiler", "total": 6 },
  { "category": "Social", "total": 24 },
  { "category": "Vercel", "total": 3 },
  { "category": "Entertainment", "total": 9 },
  { "category": "Browser", "total": 11 },
  { "category": "Language", "total": 30 },
  { "category": "Database", "total": 14 },
  { "category": "Education", "total": 7 },
  { "category": "Fintech", "total": 1 },
  { "category": "Community", "total": 3 }
]

Thanks for fixing the bug 🥹🚀


Plugins Architecture + Better Adapters

Multiple packages are a pain, and I don't like the setup
Instead, I would like to have the main imports under @buape/carbon and then the plugins like LinkedRoles under @buape/carbon/linkedRoles or something, and adapters under @buape/carbon/adapters.
With this, the only packages we would have would be @buape/carbon, @buape/carbon-request, and create-carbon
Additionally with this, add a createHandler function that takes in the env from the framework that the bot is in and mount the routes that way, adding the ability for the user to set custom routes for anything they need.
(Also as a minor detail, change the default from /interaction to /interactions to match the placeholder in the dev portal)
(Maintainers: see https://discord.com/channels/1280628625904894072/1283847284441878530)

@apteryxxyz Would you like to take this on?

@apteryxxyz Would you like to take this on?

I can sure

I'll do the combining of packages first in one pr, plugins and adapters can be a separate pr
For now, some notes/ideas/questions:

Each route will just be a method on their plugin class (e.g. handleDeployCommandsRequest(req: Request), handleInteractionRequest(req: Request, ...), this is so users can still create their own router
Client#router will be replaced* with a simple routes array, the actual routing can be handled in the adapters
With this new method of routing, should the existing router and handle method be removed? (prob just marked as deprecated until next major)
(I had more things to say but I forgor 💀)

Sounds like a plan
We can go ahead and remove the router, we’re in v0.x still


CB-11919. Support multi region CP for databus clients

details:

add new configuration (that should be passed in cloud-services-infra + dps-k8s) -> as thunderhad-sigmadbus is part of CSI, pass the s3 bucket name for dbus.
use env region option for fluentd dbus plugin, if region is not used (or us-west-1 is passed), it will use the old dbus api, otherwise it will use the new /api/v1/dbus one
update Uts

@lturcsanyi Please work with @oleewere and get this merged, since it's needed for multi region control plane.

This is an old PR, have you tested it recently?

This is an old PR, have you tested it recently?
it was done today, it seems OK


No carriage return on pasting text

I don't know if this relates to my init.vim rather than oni (but I've never noted this issue before or outside oni), on yanking and pasting text, the pasted text does not include a carriage return.
I've tried the default oni config without loading my own config and this still occurs.
When I paste it always goes into the same line as my current line, I think this may relate to copying into the system clipboard which maybe does not include <cr> by default ?

Strange!  Thanks for reporting the issue.
I just tried on OSX, but unfortunately I'm not able to reproduce on my box.
A few questions to try and narrow it down:

What kind of file are you using for yanking and pasting? I'm curious especially in terms of the newlines. Also, does it reproduce on a blank / new file?
Are you using y and p to paste in normal mode, or are you pasting in insert mode?

We do have some special key bindings for <M-c> and <M-v> set by default, which could potentially behave differently than y + p in normal mode - so knowing which type of paste is occurring would help.

Also, is the g:clipboard configuration set? On my config, I didn't have that set, so that could be a potential difference.

Another thing that would be interesting to see, is, in the Oni developer tools, running this:
Oni.editors.activeEditor.neovim.onYank.subscribe((yankInfo) => console.dir(yankInfo)), and then looking at the output after the yank. We should see two lines in regcontents.

@bryphe, this error occurs in every file including new files. This happens using yy and p. yy should take a whole line with a \n but does not work correctly for me.
I've tried deactivating all associated pasting plugins and mappings. pasting from the clipboard does the same thing aka inserts without the \n. My g:clipboard is set to unnamedplus
The problem occurs in insert mode as well as normal mode.
Screenshot following yy command:

Thanks for the info, @Akin909 !

this error occurs in every file including new files. This happens using yy and p. yy should take a whole line with a \n but does not work correctly for me.

Strange! For the most part this doesn't reproduce for me - but there was one session I had where I saw the same behavior. Unfortunately, I wasn't able to isolate it.
I wonder if it could be some issue with our TextYankPost autocommand - would you be up for commenting this autogroup and see if it still reproduces, after restarting Oni?
https://github.com/onivim/oni/blob/906880c0ce6dcef8852adae9efe228f88fd31056/vim/core/oni-core-interop/plugin/init.vim#L59

Actually, I just realized, if I execute:
:set clipboard=unnamedplus

I do see the same behavior. I wonder why that is set by default for you, but not for me. Would it be possible to run this?
:verbose set clipboard?

Might give us a clue on where that setting is coming from.

@bryphe easy answer there I'm setting unnamedplus explicitly as a way of telling neovim to always use the system clipboard.
I just disabled it for oni and that works perfectly. It might warrant a message in docs? (re copy and pasting as I've seen this setting in a lot of dotfiles) or maybe oni can override this setting since its unnecessary here
actually not sure considering that default vim behaviour is to not copy to the system clipboard and some users might want that functionality, as I personally have gone back and forth on this and its sometimes useful to only have vim save to the clipboard when set explicitly

Ah ok! Yes, it might be worth adding - we have a brief section here: https://github.com/onivim/oni/wiki/Configuration#clipboard-integration
I think that the issue might be interaction between the unnamedplus setting, as well as our behavior with editor.clipboard.enabled set to true (which is the default). Whenever there is a yank, we push it the system clipboard:
https://github.com/onivim/oni/blob/e50500b7a21836dac25e6e15b05c5f4e060cee14/browser/src/Editor/NeovimEditor.tsx#L152
At first I was thinking we could add a trailing newline here - but I realized we would have a hard time differentiating between the yy (whole line) case and just the yank of a word or part of a line, since we just get a string array. Documenting that clipboard+=unnamedplus isn't necessary seems reasonable.

actually not sure considering that default vim behaviour is to not copy to the system clipboard and some users might want that functionality, as I personally have gone back and forth on this and its sometimes useful to only have vim save to the clipboard when set explicitly

Ah ya, it's tough to find the right balance here. We had some discussion in the past in  #434 , and we wanted at least a subset of clipboard functionality out-of-the-box in the name of "lower the barrier to entry".

Thats valid, I imagine its a fairly niche audience that would want to restrict access to the clipboard, and the greater majority by far i'm guessing prefer the current out of the box functionality. Re-documentation I can put a line in that section saying that, it shouldn't be set if using oni.

Added the following to the wiki you linked:

NOTE: If you have set your g:clipboard to include unnamedplus you will have to disable this inside of Oni as this can lead to issues when pasting with new line characters.

Happy to close this now @bryphe if you're alright with the docs tweak 👍

Awesome, looks great to me @Akin909 ! Thanks for updating the docs!


Verifier tweaks

handle content type parameters separately from the media type to avoid misinterpretations
support all charset encodings available in .NET rather than just Unicode variants and ASCII
Verifier preserves original casing of the Content-Type
use latest 1.1 specification tests

Awesome stuff! Will have a look at this over the weekend.

PR has been merged and is available in Nuget Package 1.1.3. Sorry this took a bit longer than expected, it's been a crazy week!


1112 testing and validation of queryprofiler object

Qprof Unit test
This PR covers only positive tests.

Please @vikash018 resolve all the conversations as quickly as possible so we can merge this PR.

Update the import to follow the PEP8 logic. Change the docstrings to follow the other functions logic. Use `` to enclose variables and small codes. Use RST bullets if you want to quote different steps.

Code is update with above changes,


lombok.builder.className config which is added in 1.18.10 is not supported

Short description
Since 1.18.10 Lombok allows configuring default class name for builder classes. See lombok.builder.className in https://projectlombok.org/features/Builder but it doesn't seem to be supported in the plugin.
Version information

IDEA Version: 2019.2.3
JDK Version: 1.8.0_212
Lombok Plugin Version: 0.27-2019.2
Lombok Dependency Version: 1.18.10

Will be available in the next release of plugin: 0.29+


UI piece is AWESOME let's make it even better

Thoughts I had:

[x] Show most recent unlocked update by default without having to expand the accordion
[ ] Hide the most recent update until it's actually time to post
[x] What happens after 30 days of updates? The accordions will be miles long
[ ] Add text box to submit your own update at the top (will be useful for me when I start using TG less in a month)

Other notes:

[x] There are back-ticks around all of the messages

3/5 complete


loopback ipv6

Hi,
I have a request ip and want to match it against a CIDR. I want to validate that the request comes from localhost.
Request IP (Localhost): "::ffff:<IP_ADDRESS>"
var requestIp = ipaddr.parse(request.ip);
requestIp.match(ipaddr.parseCIDR('::1/128'))
=> but this is false? 🤔
Thanks a lot!

I'm not sure what to answer here other than "these are different IP addresses". Your expression essentially checks if requestIp is exactly ::1 (that's what the /128 range means), and it is, well, not that. You have to check for IPv4-mapped IPv6 addresses separately, using something like requestIp.match(ipaddr.parseCIDR('::ffff:<IP_ADDRESS>/104')).


Support for AJAX-loaded options?

I don't particularly want a full-blown lazy loading framework like select2 and friends (that would be unnecessary bloat IMO), but I'd still like some way of feeding async data into a selectr box.
My idea would be to add

removeOption / removeAllOptions methods to go alongside addOption
A search event triggered when anything is typed into the search box

Then I could have something along the lines of
var selectr = new Selectr("#my-lazy-select")

selectr.on("selectr.search", query => {
  if (query.length >= 3) {
    fetch("/results.json", { body: { query } }).then(results => {
      selectr.removeAllOptions()
      results.forEach(result => selectr.addOption(result))
    })
  }
})

... or something totally different (for example, with this approach having a loading spinner would be kinda annoying).
Let me know what you think :)

This is something I've mulling over for a while so it's probably time to implement it. I'll give it some time over the weekend.

Hi @Mobius1 , is this something currently working? Our team is considering using this in a project, but we need ajax support.

It's currently on track, but no ETA yet. I've had to abandon some other repos to concentrate on this one.


Improve and fix pets search

The search on the pets list is broken now, let's fix and improve it:

As staff, I should be able to search the pets list by:

name (text field, matches partially, case insensitive, so e.g. filtering by "uc" should return pet called "Lucy")
sex (select field - male / female)
adoption status (select field - adopted / seeking adoption)

There should be a single submit button (we can call it "Search").
I recommend using the ransack gem, but plain ruby implementation is also great :)

@kasugaijin I'd like to hear what you think about this. Should we add some more filters?

@Ptrboro yes this is something that needs working on thank you for making the issue. I would also add a filter for Pet species per https://github.com/rubyforgood/pet-rescue/issues/304


Suppliers: Entering a new supplier with very long ID number, we cant save [Bug]

Suppliers: Entering a new supplier with very long ID number, we cant save
Steps:
create a new supplier
https://spark.staging.midburn.org/he/suppliers/new?c=1234567890123456789
Expected:

make sure users will not get this error in console
Please make sure the supplier ID will be limited to 9 numbers only.

Note:
Getting error in console:
jquery.min.js:4 POST https://spark.staging.midburn.org/suppliers/new 500 ()
send @ jquery.min.js:4
ajax @ jquery.min.js:4
_sendSuppliersRequest @ suppliers.js:204
(anonymous) @ suppliers.js:184
dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3

ID and company number are up to 9 digits.

#890

done


🐛 [fakeintake] hash LB and Target Group names

What does this PR do?
Use md5 hash to name LB and Target Group name in fakeintake deployment
Which scenarios this will impact?
VM
Motivation
AWS Load Balancer and Target Group names must be 32 characters max and unique across an account. We were using namer.DisplayName("fakeintake") which was prefixing fakeintake with the stack name. The stack name is by default based on the environment flavour - for example aws-vm-testsuite - plus the username, and this is great as it creates unique resources per TestSuite / manually created environment. But it is easily longer than 32 chars. Using md5 respects the 32 chars limit with a sufficiently low collision probability.
Additional Notes

I already faced an issue linked to to the size of object names in the past, but it was for a different object type.
It was for EKS node group name prefixes.
Here is the corresponding PR: #216.
I think we should have a common way of limiting the size of object names. So, maybe we should revisit what I did in #216 if the proposition of this PR is better.

@L3n41c agreed, some names might require more readable context then others, at minima we probably want a reference to the username with <name[0]><familyName> to easily identify resources. Should we have a function in namer that return a best effort of <displayName[:maxLen/2 - 1]>-<hash(displayName)[:rest_of_the_available_length>, passing maxLen to the function I added to namer ?

func (n Namer) DisplayName(resourceName) was concatenating the name of the stack with the name of the resource. So, the result could exceed or not the max name field length depending on both the stack name and the resource name.
But the DisplayHashedName(resourceName) uses only the resource name given in parameter, which is a literal. In this case, all the logic is useless: let’s just check that the static resource name string is short enough. There’s nothing dynamic.

Agreed ! ---> https://github.com/DataDog/test-infra-definitions/pull/229#discussion_r1255728250


Pre-Trained Model

Hello, thank you for the amazing work!
In your paper you mention that "Pre-training was performed using masked auto-encoder modeling, followed by fully supervised training on the SAM dataset."
Is this the pre-trained model available here or a different one?

Hi, this is SAM's weights not MedSAM.
For MedSAM, we didn't preform mae pre-training. the model weight is available on the homepage.


How to loop playlist?

When the last song in autoplaylist is reached it keeps repeating that song, how can make it start at the first song?

Autoplaylist is randomly played from the songs specified in autoplaylist.txt
this list is editable by putting your own links in it, each separated by a new line


Cycle\Database\Exception\StatementException SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY client.id ASC' at line 8

What steps will reproduce the problem? Going into Invoice.... View
What is the expected result? View the basic index
What do you get instead? The  above message.
Additional info

Q
A

Version
1.0.?

PHP version
8.2

Operating system
Windows 10

config...common...params...MODE_READ_AND_WRITE revert back.

Throw the user out of the index view to the client view if this is the case.


Dev server crashing with &:host in scss

Command
serve
Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
Accidentally added & before :host could lead to devserver crash
Minimal Reproduction
These styles crashed my dev-server:
&:host {
  position: relative;
  display: block;
}

Exception or Error
node:internal/event_target:1037
  process.nextTick(() => { throw err; });
                           ^
TypeError [Error]: Cannot read properties of undefined (reading 'column')
    at convertSourceSpan (/Users/name/Documents/project/node_modules/@angular-devkit/build-angular/src/sass/worker.js:146:30)
    at MessagePort.<anonymous> (/Users/name/Documents/project/node_modules/@angular-devkit/build-angular/src/sass/worker.js:111:27)
    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:762:20)
    at exports.emitMessage (node:internal/per_context/messageport:23:28)
Emitted 'error' event on Worker instance at:
    at [kOnErrorMessage] (node:internal/worker:326:10)
    at [kOnMessage] (node:internal/worker:337:37)
    at MessagePort.<anonymous> (node:internal/worker:232:57)
    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:762:20)
    at exports.emitMessage (node:internal/per_context/messageport:23:28)

Node.js v20.3.0

Your Environment
Angular CLI: 16.0.1
Node: 20.3.0 (Unsupported)
Package Manager: npm 9.6.7
OS: darwin arm64

Angular: 16.1.0
... animations, common, compiler, compiler-cli, core, forms
... localize, platform-browser, platform-browser-dynamic
... platform-server, router, service-worker

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1600.1
@angular-devkit/build-angular   16.0.1
@angular-devkit/core            16.0.1
@angular-devkit/schematics      16.0.1
@angular/cdk                    16.0.1
@angular/cli                    16.0.1
@angular/material               16.0.1
@nguniversal/builders           16.0.1
@nguniversal/express-engine     16.0.1
@schematics/angular             16.0.1
rxjs                            7.8.1
typescript                      5.0.4

Anything else relevant?
No response

Duplicate of #25134


Replace doctrine/doctrine-cache-bundle by symfony/cache

Following changes made in https://github.com/symfony/recipes-contrib/pull/697

thanks, agree that we should do this.
looks like there are too many options for composer in the lowest version build. that is always tricky... @ElectricMaxxx any ideas?

@dbu Should be good :)

To be fair, I didn't gone very far away :smile:


Fix false positive in  when a sequence has a symbol proc argument.

A simple follow-up on https://github.com/rubocop-rspec/rubocop-rspec/pull/562 to handle the same case for sequences.

Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Updated documentation (run rake generate_cops_documentation).
[x] Added an entry to the Changelog if the new code introduces user-observable changes.
[x] The build (bundle exec rake) is passing.

If you have created a new cop:

[ ] Added the new cop to config/default.yml.
[ ] The cop includes examples of good and bad code.
[ ] You have tests for both code that should be reported and code that is good.

Thank you for your contribution, @tdeo


Choose the DRP db table implementation(s)

We could implement these tables using a database at NERSC or as pandas dataframes, or both.

In addition to the DRP database table we need to choose the table formats for the truth tables.  They will need to be used together so at least one of the formats (if they are multiple) will likely need to be the same.
Further discussion focused specially on the truth tables can be found in #86.  I am going to close that issue to combine the discussion but see that issue for initial thoughts.


Robertify broken on discord server

I added robertify to my server and it seems to be dumping the queue or something. it wont keep anything in the queue and just stops. Im not sure what im doing wrong. please help!!

This should be fixed now


更新 DML 数据操作Language.md

You could entitle the PR using English

Good work!
Thanks Mr. Zhu for help.


Current temperature

Do you know which API function can be used to retrieve the current temperature? See attached screenshot from FGLair.

I have forked this at https://github.com/chiefcomm/fglair_for_homeassistant which shows the current temperature in °C or °F depending on region (eu, us or cn) @bigmoby have a look and maybe we can bring this into your project.

Great @chiefcomm ! 🚀Do you want contribute opening a PR?

Done PR submitted hopeful it works for everyone :-)

Thanks @chiefcomm 🚀 now, with the v0.1.3 release current temperature will be supported! 👏

My temperature in FGLair app is 1.3 degrees Celcius lower than in Home Assistant?

My temperature in FGLair app is 1.3 degrees Celcius lower than in Home Assistant?

The API returns a value in Fahrenheit which is converted to Celsius.  Display_temperature from  json = {'value': 7300, 'key': 93872419} then Fahrenheit is converted to Celsius (7300 /100 - 32) * 5/9 = 22.8°C
I cannot offer insight to why the app displays differently although I have noticed minor variance between the API and the FGLair app in my case currently 0.2 °C :-(


Do you have MFA support?

I need MFA support for a project. Ertis-auth project support for multi-factor authentication via mail or google auth? or sms via webhook.

Hello there,
Unfortunately it doesn't support MFA yet, but it will soon support OTP based on SMS and email.
I'm working on this.


How to send email with survey from account of user who click "Send survey" button?

By default survey is sent from<EMAIL_ADDRESS>email address. I want to send an email with survey url from email address of user who click "Send survey" button. It must be dynamically- any user with permissions can click this button. How to do it? It is possible?

Thanks for the feedback. You can't send an email from the logged-in user's account. However, you can configure custom domain. For more information, see Customize the sender's email address.
Closing this issue.


Use upstream protocol-0.7.2 package

This looks good to me; thanks for ripping out some dependencies.


Create base command type that all commands extend.

We are currently extending the Symfony Command component directly. We should create our own base command class that all of our commands extend. At the very least, we should provide a mechanism to pull in the project configuration so that it can be used during the configure() call.

Implemented:

a global project config class.
a base command class for all other commands to extend.
base command class provides access to global config.
added a trait to handle defining the default upstream for some sync commands.


Homebrew version of mcap records a strange library string

Description
After installing mcap with Homebrew, running mcap filter on a file followed by mcap info on the resulting file shows the following library string:
library: mcap go #(devel); mcap go #(devel)

The same string is repeated twice with a ; separator, and the version is reported as "devel" even though this is the official 0.0.19 release distributed via Homebrew.

Version: 0.0.19
Platform: MacOS (M1)

FWIW, homebrew manually passes VERSION=v... when building: https://github.com/Homebrew/homebrew-core/blob/d313c0378c0392bf14848879943d24dcfafb4325/Formula/mcap.rb#L32
Not sure how this would end up being #(devel).

https://github.com/foxglove/mcap/blob/d96232ffd8d88c0e041ff6bb1dbba7eef87d1b44/go/mcap/writer.go#L55

It looks like the version is pulled from here with git describe --tags:
https://github.com/foxglove/mcap/blob/2079142e0e86f0926564adb86d6d95d3f40b057a/go/cli/mcap/Makefile#L23
This could be using the version number from some homebrew repo and not the mcap repo.

I'm still seeing that mcap go #(devel); gets prepended to whatever the library string was before mcap filter.

(devel) comes from here: https://github.com/golang/go/issues/29228


Increase OpenSSF score

Our OpenSSF score is at 7.2/10. We should implement changes to make this as close to 10 as possible.

Hey! I would like to help with this:)


Add videos to sitemap

Video pages aren't in sitemap yet. We gotta juice that seo.

Closed with #1613


error when "make env"

OS_TYPE=Linux CPU_TYPE=x86_64
'name: symbiflow_arch_def_base' 'symbiflow_arch_def_base'
chmod a+x /mnt/sas1/home/zyzhang/workspace/symbiflow-arch-defs/env/downloads/Miniconda3-latest-Linux-x86_64.sh
/mnt/sas1/home/zyzhang/workspace/symbiflow-arch-defs/env/downloads/Miniconda3-latest-Linux-x86_64.sh -p /mnt/sas1/home/zyzhang/workspace/symbiflow-arch-defs/env/conda -b -f
PREFIX=/mnt/sas1/home/zyzhang/workspace/symbiflow-arch-defs/env/conda
Unpacking payload ...
Traceback (most recent call last):
File "entry_point.py", line 59, in
File "concurrent/futures/process.py", line 555, in init
File "concurrent/futures/process.py", line 165, in init
File "multiprocessing/queues.py", line 42, in init
File "multiprocessing/context.py", line 68, in Lock
File "multiprocessing/synchronize.py", line 162, in init
File "multiprocessing/synchronize.py", line 57, in init
PermissionError: [Errno 13] Permission denied
[22015] Failed to execute script entry_point
third_party/make-env/conda.mk:118: recipe for target '/mnt/sas1/home/zyzhang/workspace/symbiflow-arch-defs/env/conda/bin/python' failed
make: *** [/mnt/sas1/home/zyzhang/workspace/symbiflow-arch-defs/env/conda/bin/python] Error 1

@yongshiwo, is this still relevant? Did you try with a more recent version?


[REQUEST] Add support for goat horns

I would love to be able to add sounds to goat horns too, just like the original AudioPlayer mod.

Im sorry but I do not think I will be adding goat horn support any time soon. Mainly because this is a custom disc plugin.


Fixed All day events start time may be incorrect (iOS only) #337

Fixed fullDay with DateRange events creation (not only one fullday events possible to create) Timezone should be set only if event is not full day

Could you please describe what exactly this PR fixes.
What went wrong / didn't work as expected?
It looks like this PR also introduces all-day-multi-day events. Is that correct?

I just tested your changes on iOS.
Works great, all-day-multi-day events can be read from the calendar without issues.
Could you please also change the example app, so when toggling all-day to on, the input field of event end no longer disappears.
With your PR hiding this field is no longer necessary on iOS.
It would be good, if we could also test creating multi-day dll-day events from within the example app.

Great, that's what I thought. Is a very welcome change.
Perfect if you can change the example app as well, thank you.

Since I don't want this PR to be blocked any longer, waiting only for changes in the example app, I split it up into a separate PR (see https://github.com/builttoroam/device_calendar/pull/454).
Thanks @OleksandraFedotova for your contribution.


No highlight open tags @canany/@endcanany when selecting end tags

~@can/@canany are laravel core but shows unknown directive,~ Fix on v2.0.5
~also no highlight tags, if you select open/close canany, the counterpart is not highlighted, it is difficult to find where the block starts/ends~
On can/@canany not works highlight on selecting end tag

@canany([''])

@endcanany

@can('')

@endcan

should be fixed from release 2.0.5


Colormap docs example has render errors

The colormaps example here seems to have rendering issues that make it hard to read & understand.
I updated the code and image, but can't find the docs git, so here it is:

using Makie

 h = 0.0
 offset = 0.1
 scene = Scene()
 cam2d!(scene)
 plot = map(AbstractPlotting.colorbrewer_names) do cmap
     global h
     c = to_colormap(cmap)
     cbar = image!(
         scene,
         range(0, stop = 10, length = length(c)),
         range(0, stop = 1, length = length(c)),
         reshape(c, (length(c),1)),
         show_axis = false
     )[end]
     text!(
         scene,
         string(cmap, ":"),
         position = Point2f0(-0.1, 0.5 + h),
         align = (:right, :center),
         show_axis = false,
         textsize = 1
     )
     translate!(cbar, 0, h, 0)
     h -= (1 + offset)
 end
 scene

The example has moved here: https://github.com/JuliaPlots/MakieGallery.jl/blob/af942ad15fe3e1bc2ec00fdc3ad2c2a305b0255b/examples/documentation.jl#L92-L119

Great! Thanks a lot :) would you mind moving it to MakieGallery? WOuld probably be the easiest to preserve git authorship!


Can't download ad card

v1.3.6+496 when I update this version, the download function on SD card failed and gave such error. Miui 13 android 12

Try reselecting the download path first. If you don't mind, let me see what the path looks like after reselecting it. I was not able to test this scenario because my development and testing device does not support SD cards.

this is my link in the app i made

and it has another error that creates a lot of folders of stories to download


Input example w/ Clear button loses characters

Describe the bug
When you control the text of a field, the server does not save the text fast enough.
To Reproduce

https://pynecone.io/docs/library/forms/input
Use the 3rd input box, the one with a clear button.
If you type fast enough, it saves some but not everything of what you type

Expected behavior
I'd expect it to save everything I type.
Screenshots
https://youtu.be/k9_lFsbLUB4
Specifics (please complete the following information):

Python Version:
Pynecone Version:
OS: macOS 13.1
Browser (Optional): Firefox 110.0.1 (64-bit)

Additional context
I've tested this locally, with a very simple single-page pynecone app (less than 100 lines total), and this seems to work as you'd expect it. Possibly because the help docs are bigger and more complicated? But it seems like maybe it is overkill to need to set_text and build the var/function... just to have a clear button?

Did some more research, and I found the on_key_down / on_key_up input example is more reliably slow. This is me typing "asdf" and backspace (repeatedly). https://youtu.be/t-zgIu6tqcw - This was recorded in Brave Browser, but I also tested Firefox & Chrome. Also tested in private mode with all extensions disabled with the same result.
Initially I was experimenting with figuring out how to capture enter and only enter. Since it seems to capture any meta keys, including backspace.

Got it thanks for taking a look, I'll do some profiling on this tomorrow can post what I find it should be fast.  Dev mode is slower than prod

Locally I ran pc run, no prod. But the videos were from the official pynecone.io docs.

While investigating this issue, I found that the fix for #632 aims to alleviate the sort of problem seen here, but I haven't been able to get it working yet.
As an interim solution for having nice form inputs, I ended up wrapping react-debounce-input to great effect. The benefits are less websocket roundtrips and automatic blur/enter triggering on onChange.
Here is my sample code, which allows comparing the direct control and debounced control behavior. I don't love the get_custom_code, but posting here in case it helps anyone with this approach, or maybe someone has a better idea.
"""A debounced input example"""
import asyncio
import typing as t

import pynecone as pc
from pynecone.var import Var

HACK_IF_INPUT_IS_ALSO_USED = True

class DebouncedInput(pc.Input):
    library = "react-debounce-input"
    tag = "DebounceInput"
    element: Var = Var.create("{Input}", is_local=False, is_string=False)
    debounceTimeout: int = 500

    def get_custom_code(self) -> t.Set[str]:
        custom_code = super().get_custom_code()
        if not globals().get("HACK_IF_INPUT_IS_ALSO_USED"):
            # This import IS needed if the page doesn't use Input, otherwise it crash compiler
            return {"import {Input} from '@chakra-ui/react'"}.union(custom_code)
        return custom_code

class State(pc.State):
    text_value: str = ""

    async def set_text_value(self, v: str):
        # simulate a slow autocomplete lookup, for example
        await asyncio.sleep(0.3)

        self.text_value = v

    def clear_text_value(self):
        self.text_value = ""

def index() -> pc.Component:
    return pc.center(
        pc.vstack(
            pc.hstack(
                pc.text("Direct Control"),
                pc.input(value=State.text_value, on_change=State.set_text_value)
            ),
            pc.hstack(
                pc.text("Debounced Control"),
                DebouncedInput.create(
                    value=State.text_value,
                    on_change=State.set_text_value,
                ),
            ),
            pc.button("Clear", on_click=State.clear_text_value),
            pc.text("Value Is: '", State.text_value, "'")
        ),
        padding_top="10%",
    )

# Add state and page to the app.
app = pc.App(state=State)
app.add_page(index)
app.compile()

Be sure to include the library in pcconfig.py
import pynecone as pc

config = pc.Config(
    app_name="controlled_input",
    frontend_packages=[
        "react-debounce-input",  # <----
    ],
    db_url="sqlite:///pynecone.db",
    env=pc.Env.DEV,
)


Add 'gulp-sass-glob' package

I've recently started using this in my workflow and find it fits with the workflow/opinion of the generator and thought I'd suggest it as a feature request.  Wasn't going to fork for such a small change, but I just installed and added .pipe(plugins.sassGlob()) before the SASS stream.
This allows SASS to be auto-imported  from folders with globs.  Imports that need to be loaded first can be specified normally, but a common directory structure usually makes this almost drop-in.  Saves so much time, for example, when adding a new component to a 'styles/components' directory, adding the path to 'main.scss' isn't necessary.  This applies to mixins and many typical SASS workflow components.

Hey @davidbwaters,
Thanks for bringing this to my attention. sass-glob seems like a cool project 👍
Unfortunately, I won't be adding this to the project as it can cause some serious confusion as to import order. By default styles/**/*.scss would load each file based on alphabetical order, but that might not be desired (more reasoning here). Plus, less and stylus glob support is inconsistent even with plugins.
I'm glad gulp-sass-glob is working well for you, but I don't think it would be a good fit for this project currently. On the bright side, it seems as though this plugin is very easy to add, so if people are looking for this functionality, they can add it to their projects without much effort.

I can see how it could cause confusion, in some cases.  I assume anyone using this generator has a grasp of a Gulp workflow.  It seems natural to me to view it the same way scripts in a Gulpfile included.  Core scripts are specified explicitly first and the rest are just globbed afterwards, as are many things in Gulp.


[Feature]: Award Categories

Requires:
Schema upgrade
Description:
Add award categories and add filtering/some validation to category <--> award relations.
Testing Notes:
IMPORTANT: Regression testing on existing award APIs due to schema changes are required.  I have tested them but I definitely would like at least a few other people to be testing the APIs and verifying changes are non breaking.

I also wanted to double-check that we're merging to master directly and not to staging first?

Good catch, let me change the base branch.


Font kerning support for LabelCollection

I never thought I would be this excited about text rendering, let alone font kerning.
The recent forum discussion on right-to-left language support and unicode characters led me to create a branch, single-billboard-labels, which switches Entity labels to use a single billboard per-word rather than through LabelCollection with a letter-based atlas.  Obviously this is not a viable solution overall, but it allowed me to compare our label rendering against "perfect" labels that would be generated one word at a time. (All of these are smaller text scaled up, I've also sized the actual image the same to avoid GitHub scaling screwed things up, this is what you would see in Cesium with label scale set to 4 on a 2em sans-serif font)
Here's a label rendered in master:

And here's the same phrase, rendered with a single-billboard:

Notice how the spacing (i.e. kerning) of letters is all wrong, and we take up much more horizontal space than we should.  If you look closely, you may also notice that the j looks slightly cut off on the tip of the curve at the bottom.
In order to visually see what's going on, I added a random background color to each item drawn by writeTextToCanvas, here's what the alphabet looks like as a single billboard:

And here's what it looks like in master:

Notice that there is a ton of empty space in between letters, but that space isn't "empty" all of the billboards are touching and some even slightly overlapping (unintentionally I believe).  We can clearly see that in master the lowercase j is being cut off on the left side.
After seeing this, I realized that our goal should be to match the single billboard result by properly positioning the letters in relation to one another (a process called kerning for those of you unfamiliar with the term).  It turns out, the dimensions object returned by writeTextToCanvas actually has everything we need to do this, it just took a while to figure out.
Here are the results, drawn using LabelCollection but with proper kerning.

We now match the single billboard image almost exactly (better than I ever thought possible)!
Eagle-eyed developers, such as @shunter and @emackey, will most certainly have already noticed that something is not quite right with the new code.  There seems to be black overlap between some letters, where it looks like one letter is carving out the other. The st in just the ook in look, the work at and the ow in now are the most obvious (Remember these are small fonts scaled up, so it's more obvious here than at larger sizes). This problem has actually been something troubling me for a long time and I always assumed it was a bug in either writeTextToCanvas or LabelCollection, however, once I started looking into the issue, I realized that it's actually a bug in BillboardCollection itself, and one we already know about: #2130. I actually had this realization the moment I started randomly coloring billboard backgrounds and ignoring this bug was one of the keys to solving the kerning problem.
So long story short (too late), this change is the goal I've been chasing for a long time and fixes font rendering in Cesium labels once and for all (RTL and Unicode issues aside).  Everything is drastically better.  However, I think this bumps up the priority of #2130, because it makes fonts look pretty bad at smaller sizes.
Let me know what you think.  We can take our time merging this, because in some cases it's a step backwards without #2130; but we should definitely make improving our labels a priority because they are pretty embarrassing in master (in my opinion).

All sounds great.  We will not be able to look at #2310 until after we finish vector data on terrain (parts of which may help) so if you want to wait on that fix, it could be a while.

All sounds great. We will not be able to look at #2310 until after we finish vector data on terrain (parts of which may help) so if you want to wait on that fix, it could be a while.

No worries, I figured that would be the case.  It's up to @shunter and @emackey if they think this is worth bringing in sooner rather than later.  I really don't know what the best answer is.
I just noticed that there seems to be an issue with vertical position as well, something I didn't really look at in this PR.  It's only noticeable with some fonts and words. That's worth checking out at some point as well, but it shouldn't hold up this PR.  If I get to it before this gets merged, then I'll roll those changes into here as well.
@emackey and @shunter, let me know what you think about when the best time to merge this will be.

@mramato Congrats on this.  This is a major improvement here.
You can alleviate much of the remaining problem by sharpening the alpha channel on the text.  I've been experimenting with this by just hacking it into the BillboardCollectionFS.glsl shader, but really you would want this to apply only to label billboards.
To test it, try replacing lines 20-23:
    if (color.a == 0.0)
    {
        discard;
    }

with this:
    color.a = pow(color.a, 4.0);  // sharpen the alpha channel.
    if (color.a < 0.0078)   // discard any less than 2.0 / 255.0
    {
        discard;
    }

Of course, this should only be applied to text, not all billboards.  But take a look at your text samples with this in place.  They're not 100% perfect, but they look about 80% better to my eyes.

I just realized we reference #2310 in a few places in the above comments, when it should be #2130 everywhere, I updated them to fix that.  #2310 has nothing to do with this.
@emackey Thanks for the suggestion.  I think the text is slightly more legible, but it has the negative effect of making everything really thin. I know you said it was only an 80% solution but I'm not sure it's worth it if we can get the real fix in by 1.9.  Of course this is shader code, so
Without the shader change

With shader change

Another solution would just be to change our default fonts to 1) be consistent everywhere (they currently aren't) and 2) looks decent even without #2130 (monospace might actually work here).
For example, here's 14pt monospace at the head of this branch

Whatever we decide, I think we should make sure all labels in Cesium, whether from KML, LabelCollection, LabelGraphics, CZML, etc.. all have the same default font.

To complete the set, here's what master looks like now:

Also, I realized the i is missing in some of my alphabet images.  This was a typo on my end and not a bug somewhere.

Did we decide if we want to merge this for 1.8 before fixing #2130?  Just curious.

While I don't think any kind of official decision has been made, I lean towards just waiting for #2130 to be fixed. The font rendering has been mostly the same since the beginning of Cesium and I'd rather not mess with it or change any defaults only to change them again in the following release.  This, of course, assumes #2130 gets fixed in 1.9 (or at the latest, 1.10).

Looks great!!! It is possible to merge this to the upcoming release?

Looks great!!! It is possible to merge this to the upcoming release?

Unfortunately there is a billboard transparency issues (#2130) that prevent us from merging this into master at this time.  It will definitely happen once that issue is resolved.

I guess I should have looked before I went and implemented kerning myself... any chance of getting this merged?

Have we tried merging  billboard-transparency into single-billboard-labels to verify that it fixes the problem?  See https://github.com/AnalyticalGraphicsInc/cesium/issues/2130#issuecomment-94559475.

Or merged into whatever branch has this change in the LabelCollection.

billboard-transparency is the right branch.  At one point I did a local merge and it fixed the issue (if I recall correctly).  I didn't submit it because we didn't think the approach was the best one at the time. The shader management API has changed since billboard-transparency was last updated, so someone need to merge in master and resolve any conflicts.

Now part of #4675


I have a problem with .feed

Trying to .feed http://rss.mcskill.ru/ which is the copy of rt.com/rss and the problem is:
System.AggregateException: One or more errors occurred. (An error occurred while sending the request. Сервер вернул недопустимый или нераспознанный ответ) ---> System.Net.WebException: An error occurred while sending the request. Сервер вернул недопустимый или нераспознанный ответ ---> System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.WinHttpException: Сервер вернул недопустимый или нераспознанный ответ    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Threading.Tasks.RendezvousAwaitable1.GetResult()
at System.Net.Http.WinHttpHandler.d__105.MoveNext()
--- End of inner exception stack trace ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()    at System.Net.Http.HttpClient.<FinishSendAsyncUnbuffered>d__59.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()
at System.Net.HttpWebRequest.d__194.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()    at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)    --- End of inner exception stack trace ---    at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)    at System.Net.WebRequest.<>c.<GetResponseAsync>b__68_2(IAsyncResult iar)    at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requiresSynchronization) --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()
at System.Xml.XmlDownloadManager.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()    at System.Xml.XmlUrlResolver.<GetEntityAsync>d__15.MoveNext()    --- End of inner exception stack trace ---    at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)    at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)    at System.Threading.Tasks.Task.Wait()    at System.Xml.XmlTextReaderImpl.FinishInitUriString()    at System.Xml.XmlTextReaderImpl.FinishInit()    at System.Xml.XmlTextReaderImpl.Read()    at System.Xml.XmlReader.MoveToContent()    at System.Xml.XmlReader.IsStartElement(String localname, String ns)    at System.Xml.XmlAsyncCheckReader.IsStartElement(String localname, String ns)    at Microsoft.SyndicationFeed.Rss.RssFeedReader.<InitRead>d__6.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.SyndicationFeed.Rss.RssFeedReader.<Read>d__4.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at NadekoBot.Modules.Searches.Searches.FeedCommands.<Feed>d__2.MoveNext() ---> (Inner Exception #0) System.Net.WebException: An error occurred while sending the request. Сервер вернул недопустимый или нераспознанный ответ ---> System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.WinHttpException: Сервер вернул недопустимый или нераспознанный ответ    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Threading.Tasks.RendezvousAwaitable1.GetResult()
at System.Net.Http.WinHttpHandler.d__105.MoveNext()
--- End of inner exception stack trace ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()    at System.Net.Http.HttpClient.<FinishSendAsyncUnbuffered>d__59.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()
at System.Net.HttpWebRequest.d__194.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()    at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)    --- End of inner exception stack trace ---    at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)    at System.Net.WebRequest.<>c.<GetResponseAsync>b__68_2(IAsyncResult iar)    at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requiresSynchronization) --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()
at System.Xml.XmlDownloadManager.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at System.Xml.XmlUrlResolver.d__15.MoveNext()<---
0 01:39:04 CommandHandler | Command Executed after 0,015/0,015/0,468s
User: Tekyera#0001 [263451990951067648]
Server: McSkill.ru [206367403733549056]
Channel: тестовый-канал-бота [456396264196538368]
Message: !feed http://rss.mcskill.ru/`
Help please. Self-host bot

Well it has something to do with your website. https://rt.com/rss works properly. Make sure you're sending proper headers, etc.


95-dheerajsingh0-Text-wrapping-into-two-lines

Hey There
I can not able to add anyone for code review .
Please Add a access for it or else review This PR.


[R] CRAN warnings from clang18

The last uploaded version of XGBoost at CRAN (<IP_ADDRESS>) started showing issues with the latest clang:
Found the following significant warnings:
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/objective/../common/stats.h:118:7) (unsigned long)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/objective/../common/stats.h:124:48) (unsigned long)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/objective/../common/linalg_op.h:66:44) (unsigned long)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/objective/../common/linalg_op.h:80:7) (unsigned long)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/objective/regression_obj.cu:245:45) &(unsigned long, const float &)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/objective/regression_obj.cu:696:45) &(unsigned long, const float &)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/objective/adaptive.cc:102:48) (unsigned long)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/objective/adaptive.cc:106:48) (unsigned long)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/data/./sparse_page_source.h:225:35) (const xgboost::data::ArrayAdapterBatch &)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/data/gradient_index.cc:81:44) (unsigned long)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/data/sparse_page_source.h:225:35) (const xgboost::data::ArrayAdapterBatch &)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/data/sparse_page_dmatrix.cc:66:16) (const xgboost::data::ArrayAdapterBatch &)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/data/sparse_page_dmatrix.cc:75:16) (const xgboost::data::ArrayAdapterBatch &)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/data/iterative_dmatrix.cc:100:39) (const xgboost::data::ArrayAdapterBatch &)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/data/iterative_dmatrix.cc:103:39) (const xgboost::data::ArrayAdapterBatch &)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/data/iterative_dmatrix.cc:109:39) (const xgboost::data::ArrayAdapterBatch &)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/data/iterative_dmatrix.cc:187:34) (const xgboost::data::ArrayAdapterBatch &)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/data/iterative_dmatrix.cc:211:32) (const xgboost::data::ArrayAdapterBatch &)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/data/iterative_dmatrix.cc:233:32) (const xgboost::data::ArrayAdapterBatch &)>' is deprecated [-Wdeprecated-declarations]
  /usr/local/clang-trunk/bin/../include/c++/v1/__type_traits/result_of.h:32:1: warning: 'result_of<(lambda at src/data/../common/../data/gradient_index.h:182:46) (unsigned long)>' is deprecated [-Wdeprecated-declarations]

They'll likely ask to fix these issues if they haven't already.

I haven't received any warning, but will submit a fix. Thank you for sharing!

Just got the warning today. Will work on it.

Over in {lightgbm} we also recently got some clang18 check warnings from CRAN.
This PR shows how we reproduced them in CI: https://github.com/microsoft/LightGBM/pull/6265
Sharing in case you want to use that approach to help verify before submitting to CRAN, and maybe to catch such issues on PRs in the future.

Thank you for sharing! The CI script will be really helpful! I happened to have a machine with llvm development branch and reproduced the warnings. I submitted a fix a couple hours ago.

Should be fixed now.


Create nav with links (home page, raids)

Do we have the design for this?

@YPAzevedo No, not yet. We just need something basic that fits with what currently exists so we have some way of navigating between screens

are we talking a basic header navbar component? or a basic link component to be used where ever?

The basic link component is the one from react-router no? just need to implement that on the application on a simple header, hopefully i can have some time to take this one today

are we talking a basic header navbar component? or a basic link component to be used where ever?

A header navbar component. I should've titled it that way :sweat_smile:


Why is there no release in this project?

How about making a initial release of project?

thank you @NirmalSilwal 👍 . I will create one manually now 👍 . But we could have a new Issue to automate this on a GitHub Action

https://github.com/EddieJaoudeCommunity/hacktoberfest-practice/releases/tag/v0.1

sounds good @eddiejaoude


allow using single quotes for quoting Strings in JSON files

This PR allows you to use single quotes so that you don't have to escape double quotes (e.g. for JSON response body)

Thanks!


⚠ Samsung has degraded performance

In 79c694a, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 3249 ms

Resolved: Samsung performance has improved in 60771ad.


Dynamic, safe and plugin-able rendering system

New rendering system
Disclaimer: I know about #101 and #310, but this not only about tesseract and not only about lights
We want a robust, easy-to-use system which allows dynamic worlds.
Currently we have to prebake lightmaps, which is a time-consuming process of the editing experience.
There is another Cube2 fork called "Tesseract", which replaces lightmapping with deferred rendering.
That change reduces the time to create lights significantly (only step required to do manually in Tesseract is calculating normals), as lights are rendered in realtime.
As Tesseract is built in the same spirit as Sauerbraten, it's using various techniques to allow high framerates.
It's not state of the art anymore, but close enough.
However as it's a very close relative of Sauerbraten, it's source is also written in a similar manner.
Issues:

Code is not drop-in-able

not modular, not sticking to our don't reinvent the wheel policy

Graphics code manually optimized for various graphic card vendors

process which needs a lot of expertise (and time)

Shader code written in cubescript

a dead language, see our docs
same for the asset pipeline of course

The good thing is that the Tesseract code has a lot of comments (compared to the Sauerbraten code base).
I suggest we design the new system as follows:
BGFX as backend

abstracting away any vendor specifics

or graphics API specifics (OpenGL, Vulkan, Directx, Mantle..)

a state-less API

statefullness is the source of most errors for beginners as well as experienced users of OpenGL

a modular shader system

cons: also using a selfwritten language
we should help them make the language even more GLSL alike

prebuilding shaders + building shaders in another process
additional performance enhancing optimizations

minimizes state changes
that state sorting also allows to commit render passes at the same time => possibly cleaner code
Con: How well tested is it for complete high-performance engines?

Tesseract on top
It offers:

deferred lighting

gbuffer + shadowmaps (including the shadow atlas solution)
cascaded and reflective shadow maps
tilebased shading

a culling method for lights (/particles)
newer method: clustered shading

Different passes:

decal pass
transparency pass

cpu based sorting, can be replaced with BGFX
refraction shader

sky? tess has an additonal sunpass

reflections? how are they handled?

reflective shadow map, everything else purely in shaders
alternative: stochastic screen space reflections

normals generation
timers

redo with a library or stdlib
find way to do GPU timers with bgfx

screen "management"

half res rendering (setupscale)

has: linear, cubic upsampling
add: bilateral upsampling (add depth tex to bilateral shader)
add: adaptive upsampling: vary resolution to stabilize frame times

add: frame manager

multi resolution, second viewport ("splitscreen"), Intermediate frames

HDR

HDR framebuffers are ofc mainly OGL code -> replace
tonemap shader
bloom

otherwise you won't notice a thing

fog shader

replace with generic new system: map postfx shader
fog variants: sideeffect culling also needs replacement
or maybe dependency injection for shaders? -> shader variants

or fake di in bgfx shaderc: different shaders for that, see semi-dynamic plugins

global illumination

method used: radicance hints

things we'll drop:

grass rendering

it sucks in its current form, maybe add another way later on

msaa

it's obfuscating the code

is there another need for msaa methods besides antialiasing? maybe upsampling?

add a screen-space method instead

and maybe a sub-texel method
Tesseract offers a bunch of ss methods thankfully - newer ones exist too though

ToDo
THIS WON'T HAPPEN TOO SOON!! (if I do this) as other things have prio: InexorTree and the sourcebase modularization and cleanup
Tesseract code is in octarender, renderlights, rendergl and material + envmap generation from texture.cpp
Loose ends can be decoupled using inexors better modularized sourcebase, bgfx (and the InexorTree for the new managers).

[ ] create bgfx conan package
[ ] add simple bgfx testscene

needs texture loading + shader loading + some triangles

[ ] add tess timers
[ ] add tess gbuffer to testscene -> render gbuffer
[ ] add tess normal generation for cubes (necessary here?)
[ ] replace testscene triangles with cubes
[ ] add sky pass
[ ] add tess lights (including culling method) to testscene
[ ] add tess shadowmaps to testscene
[ ] add tess reflective shadowmaps to testscene

includes envmap generation?
Optional?

[ ] add tess decals to testscene (without texmanager changes: but a simple copy)
[ ] add tess transparency "pass" to testscene
[ ] add tess HDR rendering to testscene (including bloom shader)
[ ] add tess GI "pass" to testscene (if radiancehints outdated: do that later, better)
[ ] find Shader plugins solution
[ ] replace inexor octarendering with testscene rendering

[ ] add new ShaderManager
[ ] modify texture and models manager
[ ] modify model textures + shaders
[ ] reflections
[ ] add tess materials

leave fog code out for now
leave minimap and modelpreview rendering out for now
maybe let testscene rendering stay afterwards?

[ ] add ScreenManager
[ ] add minimap and modelpreview rendering

find a generic system? SceneManager? or modularize: functions are too long

shader plug-ins:

static plugins: plugin-folder autoexecuted in one pass

i.e. usually one can combine multiple passes with same input to one:
e.g. one shader for gbuffer creation (which outputs into multiple buffers i.e. normal, depth, .. )
But we could combine the screenspace passes as well (light/GI/AO..) as they share the same input (the gbuffer)
Best would it be however to bundle them loosely: just drop-in a shaderfile in a folder and it will get executed as well
BUT: is this cache-unfriendly for the GPU? noticeably and on what hardware?
Otherwise keep multiple passes or automatically tile into multiple passes
-> does bgfx already do this?

"semi-dynamic" plugins like variant generation

e.g. a fog or water variant could be generated from a "VARIANT(outputbuffer = functioncall(inputdata);)"

implement in bgfx Shaderc?
or is there macrolike preprocessing in shaderc which is usable?

Possible follow up issues

add masterserver benchmark feedback system

client runs benchmarks, collects stats, add system info, sends stuff to masterserver, masterserver saves to db, dev makes diagrams, dev understands bottlenecks

readd fog with generic system (see 'Questions open/shader plug-ins')
readd antialiasing screenspace method
add antialiasing texellevel method
add ambient occlusion algorithm

or find one ourselves? idea: stochastic method + bidirectional reprojection (could be applied to reflections as well)

add ScreenManager->FrameManager
add "ScreenManager->AdaptiveBilateralUpsampling"-functionality
add "ScreenManager->IntermediateFrames"-functionality
replace Tiled shading with clustered shading
add Splitscreen: more than one ScreenManagers active the same time: multi scenemanager?

Furthermore for a "you map it, it's instantly production ready"-like experience, we will need a solution for:

the view cell calculation (Sauerbratens clipping method)

maybe a LoD(Level of Detail) system + some dynamic clipping

the normal generation and remipping

maybe just straight-forwardly as you map it, or in a background thread

Other:

PBR

Physically based rendering: allows predictable (because realistic) lighting in all environments
in Tesseract the decision was made against this direction
in particular a correct lighting model (linear model) was tried initially
but it looked shitty imo (or maybe just unfamiliar?)
-> maybe go all the way before judgement?
the revamped Ogre 2.1 engine offers (probably good) BRDFs for PBR
needs texture revamps + loader changes + new shaders

@bkaradzic I just highlight you here to let you know :)

👍

cons: also using a selfwritten language

Based on GLSL, and most of existing GLSL code trivially ported (close to copy&paste) to it.

Con: How well tested is it for complete high-performance engines?

Let me know if you have any perf issues with it.

things we'll drop:
grass rendering
it sucks in its current form, maybe add another way later on

It is fine for me if it would cost enormous amount of time to keep it with all of these changes, if this shouldn't be the case then please keep it. Grass rendering is a rather basic feature we should keep, even if it might not be the best it is better than not having it all.
Rest sounds good to me :)


Dynamically update calendar dates

The Timeago directive dynamically updates the relative timestamps if seconds or minutes have elapsed.
But the amCalendar filter does not update if a day has elapsed. For example, if the amCalendar output "Today at 10:33am", one day later, the same output should be updated to "Yesterday at 10:33am".

In Anuglar 1.x, filters can't automatically update their output. That's why I initially created amTimeAgo as a directive and not as a filter.
However, you can probably fix this by manually invoking a digest cycle every minute or so, add the following line to your applciation code:
$interval(angular.identity, 60 * 1000);

Okay thank you!


Rescan button added to the UI

References #17
Description
Extensions sidebar contains a rescan button so users can rescan an opened email.
Definition of Done

[x] Button appears in popup
[ ] Press of button runs rescan

Added button into display as well as clean up elements to adjust for new button. Currently no button functionality.
[t:20]

Restructured document to better facilitate scans. Button now scans.
[t:30]


When installing a language laravel breeze is not detected

Lang Publisher Version: 10.0.1
Laravel Version: 8.43.0
PHP Version: 8.0.3

Description:
This program don't translate laravel breeze keys.
If i want use laravel breeze instead laravel jetstream (with fortify), the keys aren't translated
Steps To Reproduce:

Install a new laravel project laravel new my-project
cd my-project
Install laravel breeze composer require laravel/breeze --dev
run breeze command php artisan breeze:install, then npm install, npm run dev, php artisan migrate.
install lang-publisher composer require andrey-helldar/laravel-lang-publisher --dev
Set some language, for example spanish php artisan lang:add es
Set locale to es in config/app.php
Go to route register for example (This view is not translate)

i guess laravel breeze uses translations from laravel jestream and that's the reason why it doesn't work.

I will check shortly what translations it uses and either add its definition to jetstream files (or other product) or send a PR to the laravel-lang/lang repository.

One of the keys is in the fortify project.
I will prepare and submit a PR to add a file for the laravel/breeze project in laravel-lang/lang and implement support for this file in this package.

PR in this project: #116
Wait for https://github.com/Laravel-Lang/lang/pull/1763

@luisprmat, as a workaround, added detection of the installed Breeze package and copying keys from jetstream and fortify.
Released in v10.0.2


Connectivity with private machine

Hello, I have the next escenary ,
1 Virtual Machine only with privite ip <IP_ADDRESS>
1 Service plan in mode private.
1 App Service hosted in Private Service Plan.
The issue it's that for connection from VM to app Service by port 80 and 443 it's ok but the connection from app Service to VM don't connect is posible this connectivity , I'm Searching in site 's  microsoft and understand that is posible this with ASE Private Service but the app Service don't connect.
On Test
I test the service from kudu console but the aswer is the host is unrechable.
Thanks you.

@Yonathan159 We will close this as a duplicate to #11938


User.updateConversation

What's this PR do?

Refactors User.setOutboundTemplate(messageTemplate) as User.updateConversation(messageTemplate, campaignId), setting the User:

Last Outbound Template -- The last message template the User received
Current Campaign
Signup Status -- a new property, set to 'doing' by default if a campaignId is passed. As we look to handle more responses than just "Yes" an Ask Signup Message, we'll want to save values like 'ask_signup' or 'declined_signup' here to determine how to reply.

DRY - Refactor the signups router to use lib/conversations/replies for External Signup Menu Message delivery.  This route was missed in #932

How should this be reviewed?

Full chatbot conversation to test signing up, changing current campaigns, and conversation enders (e.g. send a Closed Campaign keyword)
Test a POST /signups request with a Signup for your User to verify the External Signup Message is sent (and your Campaign and Last Outbound Template are updated)

Any background context you want to provide?
Signup Broadcast functionality currently ends the conversation if the User says a non-YES to an incoming Broadcast.
Potential game plan for our chatbot to continue the conversation instead is:

Set the User's Current Campaign to the broadcast campaign
If they responded with a NO, send a new Campaign askSignupDeclinedMessage and set their Signup Status to signup_declined.
If responded with neither YES or NO, send a new Campaign invalidAskSignupResponseMessage to the User, and set their Signup Status to 'ask_signup'.

This sets the Current Campaign to the Broadcast Campaign so we can eventually listen for any Campaign specific questions, and still allow the User to say YES to the Signup after we've answered the question -- the MVP of this approach is here in Slothie.
Relevant tickets
Refs https://github.com/DoSomething/gambit/pull/932#discussion_r127262532
Checklist

[ ] Tested on staging.

Codecov Report

Merging #934 into develop will increase coverage by 0.37%.
The diff coverage is 16%.

@@             Coverage Diff             @@
##           develop     #934      +/-   ##
===========================================
+ Coverage    55.16%   55.54%   +0.37%
===========================================
  Files           57       57
  Lines         1463     1453      -10
===========================================
  Hits           807      807
+ Misses         656      646      -10

Impacted Files
Coverage Δ

app/models/BotRequest.js
20.83% <0%> (ø)
:arrow_up:

app/routes/signups.js
28.16% <15.38%> (+2.86%)
:arrow_up:

lib/conversation/replies.js
32.43% <20%> (+1.76%)
:arrow_up:

app/models/User.js
25% <20%> (-1.16%)
:arrow_down:

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 3a84e19...86dee93. Read the comment docs.

Write up on finding a Signup ID to test with -- https://github.com/DoSomething/gambit/wiki/Tests#external-signups