[CORE] Fix Spark-3.5 CI

What changes were proposed in this pull request?
The current Spark3.5 gluten-it actually runs Spark3.2.2, this pr adds Spark3.5 profile for it. Besides, this pr fixes Spark3.5 compilation issue.
How was this patch tested?
Pass CI

the 3.5 CI has not yet passed...


Shaunna Wiens -- carets

Ada Trader
Congratulations!
Comprehension Questions

Question
Answer

How do Backbone Views help structure your code?
Backbone Views helps structure my code because it puts a place to control the flow of code for events. When DOM events occur the view communicates with the models. When Backbone events occur, the view communicates with the DOM. It also helps layout in an easy to read format where the different methods are occurring.

Did you use jQuery directly in your Views? How, and why?
No. I used this.$('css selector'). I did this because the view should only be using this format because it should be working with elements only within its el.

What was an example of an event you triggered? Why did you need to trigger it?
I triggered an event to buy a trade based on an order when it hit a certain value. This needed to be triggered so the quote could complete the business logic to buy the trade (change the price), and the trades could be displayed.

In what was is unit testing in JavaScript similar to unit testing in Ruby? In what ways is it different?
It's similar with the setup and the assertions. The syntax and keywords are different as well as there is a layer of complexity since there are DOM events occurring controlling so much of the flow within the program.

Ada Trader
What We're Looking For

Feature
Feedback

Core Requirements

Git hygiene
Good number of commits and good commit messages

Comprehension questions
Check

Organization

Models and collections are defined in separate files
Check

Code that relies on the DOM is located in or called by $(document).ready
Check

Functionality

Quote prices change when clicking Buy and Sell
Check

The Trade History updates when buying and selling a quote
Check

A user can create an open order using the Order Entry Form
Check

An open order removes itself from the open orders and updates the Trade History when fulfilled
Check

General

Has separate views for different parts of the app
Check

Uses events (listening/handling and triggering) to manage different behavior in views
Check

Practices good standards for views (ES6 syntax, doesn't directly use jQuery, returns this in render)
Check

Error handling for the Order Entry Form
Check

Testing

Has unit tests for models
Basic tests are there

Overall
Nice work, you hit all the learning goals!  Nice use of an Event Bus!


Array at top level

When the JSON doc has an array as the top level element, the output of JSONTable is incorrect

fixed in branch /bugfix-array


Show only entity properties that are defined as field in Apigility

By default all the properties of entities are exposed in the API. Is it an idea to show only properties that are defined as field of the REST service as soon as ONE field is added?
Like to hear your thoughts about this!

You can use the Custom Filters feature I contributed to zf-doctrine-hydration-module https://github.com/phpro/zf-doctrine-hydration-module#custom-filters
Its very similar to what @intellix proposed:
'Thingy\\V1\\Entity\\UserHydrator' => array(
    'entity_class' => 'Thingy\\V1\\Entity\\User',
    'object_manager' => 'doctrine.entitymanager.orm_default',
    'by_value' => true,
    'use_generated_hydrator' => true,
    'strategies' => array(
        'password' => 'Password',
    ),
    'filters' => array(
        'custom.filter.name' => array(
            'condition' => 'and', //optional, default: FilterComposite::CONDITION_OR,
            'filter' => 'user.filter', // a name in the Service Manager
        ),
    ),
),

And then the class instantiated by 'user.filter' should implement Zend\Stdlib\Hydrator\Filter\FilterInterface to determine which properties will be allowed through and which not.

@intellix @gabrielsomoza
i think best practice is to use "DoctrineModule\Stdlib\Hydrator\Filter\PropertyName;" and factory for this filter.

Module.php

use DoctrineModule\Stdlib\Hydrator\Filter\PropertyName;

public function getServiceConfig()
{
	$user = [
		'password',
		'is_blocked',
		'client',
		'accessToken',
		'authorizationCode',
		'refreshToken'
	];
	return [
		'factories' => [
			'user_entity_filter' => function () use($user) {
				return new PropertyName($user, true);
			}
		]
	];
}

In this example i pass an array variable throughout anonimus function, but you can simply put array into constructor. As a candy second parameter of filter constructor determinates what to do with fields listed in array. They must be excluded (true) or only them must be showed (false).
And at the end of it all we need to configure hydrator in config to use this filter.

module.config.php

'doctrine-hydrator' => array(
    'User\\V1\\Rest\\User\\UserHydrator' => array(
        'entity_class' => 'DB\\User\\Entity\\User',
        'object_manager' => 'doctrine.entitymanager.orm_default',
        'by_value' => false,
        'strategies' => array(),
        'filters' => array(
            'password' => array(
                'condition' => 'and',
                'filter' => 'user_entity_filter',
            ),
        ),
        'use_generated_hydrator' => true,
    ),
),

i think this info must be in documentation ;).

@Socengel I agree this is a good candidate to document but right now there doesn't seem to be anything further than the README.md in the homepage. I'd suggest you could submit a PR with this info inside a new file in the ./docs folder - it should at least help get the ball rolling regarding better docs. What do you think?


New Contributor Taksh added

added my contribution

@bishalr0y oh okay i didnt notice that
will make the changes


Fix overlap of stacked inline code elements

currently, the padding in inline code elements causes stacked code spans to overlap:

this PR fixes the styles to fix this:

Looks good, thank you!


Feature for Phase 2 Refactor: Transform Heuristics for continuous values are now selectable by column

This PR implements #336.

The annot-continuous-values component (that is used on the annotation page tab, currently exclusively for 'Age'-categorized columns) now features one tab per column
Each tab lists the data for that column with an original value and preview value column
Each contains a dropdown featuring all of the app's transformation heuristics for continuous values - including a default blank with which no transformation has yet taken place
Unit tests in annot-continuous-values.cy.js have been reworked and extended for the new feature

NOTE: @rmanaem There was something happening in the testing that I could not explain. The reason that the store variable is initialized each time in the beforeEach function is because its function definitions in store.getters were seemingly being wiped by (at least) the first individual test. This is difficult to debug because JSON.stringify will not display functions defined on an object. Not sure this is necessarily worth our time to looking into, but if you can see something that might have caused that behavior please point it out.

Thanks @rmanaem. Will take a look at that branch's tests and see if I can note any similarities.


fix: turn off selection mode when unmounting

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/47685
PROPOSAL: https://github.com/Expensify/App/issues/47685#issuecomment-2298300469
Tests

Launch New Expensify app.
Go to workspace settings > Categories.
Long tap on any category > Select.
On iOS, swipe to right to exit the page (not app back button).
On Android, use device back navigation to exit the page.
Go to Tags.

Verify that: Selection mode will not be shown in Tags page.

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

Offline tests

QA Steps

Launch New Expensify app.
Go to workspace settings > Categories.
Long tap on any category > Select.
On iOS, swipe to right to exit the page (not app back button).
On Android, use device back navigation to exit the page.
Go to Tags.

Verify that: Selection mode will not be shown in Tags page.

[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 either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[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 UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or 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 and/or tagged @Expensify/design 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

https://github.com/user-attachments/assets/d5e1c66c-6abe-443d-9b38-a076fb6bd0cc

Android: mWeb Chrome

https://github.com/user-attachments/assets/46623900-4351-4a3d-b019-0d95385bd1e6

iOS: Native

https://github.com/user-attachments/assets/3dbc511b-8aea-42ff-b702-e11b44e9af02

iOS: mWeb Safari

https://github.com/user-attachments/assets/84735bdf-19bc-45e6-8088-f231d7b33326

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/78f2bcb4-1b96-410e-b015-8433d555b0f7

MacOS: Desktop

https://github.com/user-attachments/assets/030349da-0bb6-45ec-8382-8f41df3d5fe4

: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/youssef-lr in version: 9.0.27-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/roryabraham in version: 9.0.27-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[ALLUXIO-2743] Add integration test for per-mount point UFS mounting

https://alluxio.atlassian.net/browse/ALLUXIO-2743
This PR adds an integration test for the multi-ufs mounting with different configurations per mount point.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/14921/Failed Tests: 2org.alluxio:alluxio-core-common: 1alluxio.ConfigurationTest.getNestedPropertiesInvalidTrailingPropertyorg.alluxio:alluxio-tests: 1alluxio.shell.command.MountCommandTest.mountWithMultipleOptions
Test FAILed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/14929/
Test PASSed.

Merged build finished. Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/14982/
Test PASSed.


Docs: init /docs/FEES.md

Checklist

[x] I have read the CONTRIBUTING guide
[x] Good naming, keep simple
[ ] Tested desktop/mobile
[ ] Tested bright/dark
[ ] Tested en/ru
[ ] Affects money; I checked the functionality once again
[x] I checked the PR once again

https://support.swaponline.io/docs/fpr-business/admin-fees-formula-wallet-only/ вот еще


Add Bitcoin

I am not sure if this is appropriate, but it would seem so.

I'm actually going to close this as a WONTFIX in favour of fixing #22 which would fix this, and all the other requests for new or updated locales. We will let python-babel/CLDR make the decisions about this.


Would you like to show some examples?

Dear @webyrd
I was reading << Seasoned Schemer >> these days. Make a joke that maybe we have << Probabilistic Schemer >> after << Reasoned Schemer >>. It is a surprise that actually we have.
Would you like to give some examples or any plan to show what probKanren can do or what probKanren aim to do  in Readme?
Thank you very much!

Hi @wuxianliang
Actually, I think 'The Seasoned Reasoned Schemer' should come first!  ;)
We are still working on getting the prototype implementation of probKanren working correctly, but it seems that we are close to being able to run real tests.  I hope we can start writing a readme with working examples within a week or so.
Thanks for your interest!  :)

Thank you for the response and this WORK!
I just found there are others working on probabilistic projects.
like
Bayeslite a probabilistic Sqlite. https://github.com/mit-probabilistic-computing-project/bayeslite
Church a probabilistic Scheme. https://github.com/probmods/webchurch
Webppl a probabilistic JavaScript. https://github.com/probmods/webppl
I hope some of them can work in real which would simplify probabilistic jobs.

We made more progress this weekend, and are getting closer to a working
prototype.  :)
Other references to probabilistic programming you might find interesting:
http://dippl.org/
http://indiana.edu/~ppaml/HakaruTutorial.html
Cheers,
--Will
On Mon, Feb 23, 2015 at 11:11 AM, Xianliang Wu<EMAIL_ADDRESS>wrote:

Thank you for the response and this WORK!
I just found there are others working on probabilistic projects.
like
Bayeslite a probabilistic Sqlite.
https://github.com/mit-probabilistic-computing-project/bayeslite
Church a probabilistic Scheme. https://github.com/probmods/webchurch
Webppl a probabilistic JavaScript. https://github.com/probmods/webppl
I hope some of them can work in real which would simplify probabilistic
jobs.
—
Reply to this email directly or view it on GitHub
https://github.com/webyrd/probKanren/issues/1#issuecomment-75597925.

Anyway updates?
Best regards.

Hi!  We ran into an issue with conditioning of recursive goals.  We're trying to figure out how to best handle recursion---we hope to have some cool examples to show soon!

Hi !
i think that this paradigm is related (just Kanren) quantum computer and annealing.
are there example or paper?

Hi !
i think that this paradigm is related (just Kanren) quantum computer and annealing.
are there example or paper?


sm3 optimizer doesnt work with scalar data

This is almost tutorial code, it doesnt work with sm3 because of scalar data
import jax
import jax.numpy as jnp
import numpy as np

from typing import NamedTuple
import functools

class Params(NamedTuple):
  weight: jnp.ndarray
  bias: jnp.ndarray

def init(rng) -> Params:
  """Returns the initial model params."""
  weights_key, bias_key = jax.random.split(rng)
  weight = jax.random.normal(weights_key, ())
  bias = jax.random.normal(bias_key, ())
  return Params(weight, bias)

def loss_fn(params: Params, xs: jnp.ndarray, ys: jnp.ndarray) -> jnp.ndarray:
  """Computes the least squares error of the model's predictions on x against y."""
  pred = params.weight * xs + params.bias
  return jnp.mean((pred - ys) ** 2)

LEARNING_RATE = 0.005

true_w, true_b = 2, -1
xs = np.random.normal(size=(128, 1))
noise = 0.5 * np.random.normal(size=(128, 1))
ys = xs * true_w + true_b + noise

# Initialise parameters and replicate across devices.
params = init(jax.random.PRNGKey(123))

from jax.experimental.optimizers import sm3, adam

opt_init, opt_update, get_params = sm3(step_size=LEARNING_RATE)
opt_state = opt_init(params)

def update(params: Params, opt_state, xs: jnp.ndarray, ys: jnp.ndarray, i) -> Params:
    """Performs one SGD update step on params using the given data."""
    # Compute the gradients on the given minibatch (individually on each device).
    loss, grads = jax.value_and_grad(loss_fn)(params, xs, ys)
    # Each device performs its own update, but since we start with the same params
    # and synchronise gradients, the params stay in sync.

    opt_state = opt_update(i, grads, opt_state)
    params = get_params(opt_state)

    return params, opt_state, loss

def type_after_update(name, obj):
  print(f"after first `update()`, `{name}` is a", type(obj))

# Actual training loop.
for i in range(1000):

  # This is where the params and data gets communicated to devices:
  params, opt_state, loss = update(params, opt_state, xs, ys, i)

  # The returned `replicated_params` and `loss` are now both ShardedDeviceArrays,
  # indicating that they're on the devices.
  # `x_split`, of course, remains a NumPy array on the host.
  if i == 0:
    type_after_update('replicated_params.weight', params.weight)
    type_after_update('loss', loss)
    type_after_update('x_split', xs)

  if i % 100 == 0:
    # Note that loss is actually an array of shape [num_devices], with identical
    # entries, because each device returns its copy of the loss.
    # So, we take the first element to print it.
    print(f"Step {i:3d}, loss: {loss:.3f}")

The issue is in this line of code in sm3 optimizer
vs = [jnp.zeros(sz, dtype=x0.dtype) for sz in x0.shape]

If x0 is scalar then it will generate an empty array. Its possible to fix that with something like this
  def s2v(s):
    return s if s.ndim > 0 else jnp.array([s])

  def init(x0):
    vs = [jnp.zeros(sz, dtype=x0.dtype) for sz in s2v(x0).shape]
    return x0, jnp.zeros_like(x0), vs

but it will lead to the output with 1-element arrays instead of scalars.

If you define it this way:
def s2v(s):
  return jnp.asarray(s)

it should work even for scalar inputs.
Perhaps the optimizer should call jnp.asarray on its inputs to avoid this issue... would you be interested in contributing a PR?

Hello @jakevdp and thank you for the reply. I believe JAX treats scalars as 0-dimentional arrays and because of that calling jnp.asarray won't change anything. Probably, it's better to add jnp.zeros(1) to the input to use broadcasting.
  def init(x0):
    vs = [jnp.zeros(sz, dtype=x0.dtype) for sz in (x0+jnp.zeros(1)).shape]
    return x0, jnp.zeros_like(x0), vs

I'll submit a PR for that.

Ah, I see – I misunderstood the issue.
Will comment on your PR.


Bug Report: May freeze if more than 2 splashes are used

Uses DeepL translation
Which target are you using?
[x] Windows
[ ] Linux
[ ] Mac
Explain your issue
Please check first if your issue haven't already been reported yet.
1: Use a script like the following to change the splash in the middle of a song.
function onPlayerHit(e) e.note.splash = (curBeat%2==0)?"secret":"default";

2: Freeze after displaying a certain number of splashes

fixed here by @NeeEoo


Simplify FROM and TO logic

OK.  Ready for review.

Can you update the base branch to develop instead of master

Oh man... Just merge the commit.
NEXT time I will submit PRs to the develop branch but for this ~200 line file that seems like overkill.  If you want PRs submitted to the develop branch, you need to document that in the README or CONTRIBUTING docs.

Thanks for the feedback. I have merged the other PR.


Cannot disable cache for select source url

Hi
I am unable to disable the cache when using a select and getting data from a source url. I have tried setting sourceCache: false but it doesn't seem to make any difference. I have also tried setting it with the data attribute and in the ajaxOptions.
I would like to get the data from the server every time the editable is shown - not just the first time.
My code is below. I don't submit anything to the server. I only update a data attribute.
$('.quantity-editable').editable({
        showbuttons: false,
        type: 'select',
        sourceCache: false,
        ajaxOptions: {
            cache: false,
            type: 'POST'
        },
        display: function(value, sourceData) {
            var html = [],
            selected = $.fn.editableutils.itemsByValue(value, sourceData);
            if (selected.length) {
                $.each(selected, function(i, v) {
                    tickets = (v.value > 1) ? ' Tickets' : ' Ticket';
                    value = v.value;
                    html.push($.fn.editableutils.escape(v.text));
                 });
                $(this).html(html + tickets);
                $(this).closest('td').find('.collect-ticket').data('quantity', value);
            } else {
                $(this).empty();
            }
        }
    });

In the success callback of an ajax request that updates some data in the backend I have also tried this:
var opts = $(_this).closest('tr').find('.editable').data('editable').options;
$(document).removeData(opts.source+'-'+opts.name);

Nothing I have tried seems to disable the cache :(
Thanks
Asa

It don't work for me absolutely. Ver 1.5.1.


If workspace resoucgroup and hostpool resourcegroup are different, then the script fails

Currently working with Marcel Eeken on implementing a Proof of Concept. We found that the script does not differentiate between the resourcegroup for the workspace and the resourcegroup for the hostpool and application group.
We recommend adding an option to the arm template to fill these out and to also include these as arguments in your script.
I also shared the changes with Marcel, he will inform you as well.

Hi,
Thanks for that feedback. Yes, I agree it makes sense to be able to separate them into different resource groups in case you want to be able to apply different RBAC permissions for each object type. I will put it on the backlog. Thanks!


glitches happening in some areas

when using a custom themes in windows, i get this weird behaviour where the windows close buttons overlap with the themed ones

i happens whenever i open the browser with the dark theme on and dissapears if i change to the light theme and then back to the dark theme.
Also, when i right click and click on the menu button, the pop up menu has transparent background

again, it fixes itself if i change to the light theme and then back to the dark theme.

After Some Checking here, i noticed that the problem seems to be caused by the firefox color extension, so i would recommend adding a little comment in the installation guide about trying to disable the extension in case problems appear. since a lot of users start from firefox color and then go to more custom themes like this one.

when using a custom themes in windows, i get this weird behaviour where the windows close buttons overlap with the themed ones
Was Firefox Color responsible for this too?

yesterday, i also noticed that by default dark reader also causes the problem.
Changing this option to default like this, fixes the issue:

Ahh yes, I too came across this one. But I assume there's a limit to what an user themes can style. Still things like Darkreader's browser theme or Firefox Color overwrite changes after user styles are applied. :)


Quartz-Solar-Forecast_demo

Detailed Description

Given the absence of specific data for the model, I proceeded to predict photovoltaic power generation by leveraging preprocessing and feature engineering techniques using data retrieved from https://dkasolarcentre.com.au/download?location=alice-springs.
This demonstration encompasses four distinct models: LSTM, LSTM+CNN, LSTM+CNN+Attention, and RNN.
Context

In this demo, extracting strongly correlated features from cleaned data after data preprocessing will yield a better prediction performance. In community projects, I believe that data preprocessing and feature engineering are crucial aspects. How to clean and merge features from different datasets through data preprocessing operations in PSP will be a key point for the "Add other model architectures to Open Quartz Solar" project.
Possible Implementation

https://github.com/weiyang22/Open-Source-Quartz-Solar-Forecast/blob/main/Quartz-Solar-Forecast_demo.ipynb

Hi @weiyang22 thats great to use that free data. And that looks really cool whats your done with various models. Some quick questions if thats ok?

Do you have a summary table of which model was best?
Could you also run quartz-solar-forecast on this datestamos and see how it does? To compare?

We've got some specific data that we've used, but admitely its not in an easy to use csv. Perhaps that could be a task for someone. The pv data is here and the NWP data is here.

Thank you very much for your compliment.
1、In this dataset, the best models are likely those utilizing LSTM_CNN and LSTM_CNN_Attention architectures, as they demonstrate the best fit between predicted and actual results.
2、Initially, I intended to modify the data provided by the community. However, Jacob mentioned that some data couldn't be disclosed publicly, so I opted for alternative data sources.
In my opinion, factors affecting solar energy generation in real life include:
1、The efficiency of solar panels (which decreases with installation).
2、The angle of solar panels.
3、Altitude, solar radiation, temperature (which affects wiring and efficiency).
4、Weather and other local conditions at the solar installation site.
For instance, for location A, relevant features would be altitude, weather, temperature, sunrise/sunset times, installation angle of solar panels, installation status, time at location A, solar radiation, and efficiency of the solar panels installed at location A.
The predictive code in the community utilizes metrics like clear sky irradiance. Therefore, effective preprocessing and feature engineering of the raw data will significantly enhance prediction accuracy. Additionally, factors like latitude and longitude might not be crucial. I'm eager to contribute to the community's efforts and assist in optimizing this work.

Hi @weiyang22 thats great to use that free data. And that looks really cool whats your done with various models. Some quick questions if thats ok?

Do you have a summary table of which model was best?
Could you also run quartz-solar-forecast on this datestamos and see how it does? To compare?

We've got some specific data that we've used, but admitely its not in an easy to use csv. Perhaps that could be a task for someone. The pv data is here and the NWP data is here.

Thank you very much for your compliment.
1、In this dataset, the best models are likely those utilizing LSTM_CNN and LSTM_CNN_Attention architectures, as they demonstrate the best fit between predicted and actual results. 2、Initially, I intended to modify the data provided by the community. However, Jacob mentioned that some data couldn't be disclosed publicly, so I opted for alternative data sources.
In my opinion, factors affecting solar energy generation in real life include:
1、The efficiency of solar panels (which decreases with installation). 2、The angle of solar panels. 3、Altitude, solar radiation, temperature (which affects wiring and efficiency). 4、Weather and other local conditions at the solar installation site. For instance, for location A, relevant features would be altitude, weather, temperature, sunrise/sunset times, installation angle of solar panels, installation status, time at location A, solar radiation, and efficiency of the solar panels installed at location A.
The predictive code in the community utilizes metrics like clear sky irradiance. Therefore, effective preprocessing and feature engineering of the raw data will significantly enhance prediction accuracy. Additionally, factors like latitude and longitude might not be crucial. I'm eager to contribute to the community's efforts and assist in optimizing this work.

Sounds great!
Let us know any questions you have to get started


Update compareTable.tsx

ran prettier on CompareTable
Overview
List the GitHub issues containing the issues relevant to this pull request.
[For example, "Resolves #1, closes #2, fixes #3", etc.]
Describe your changes here at a high level, describing how this PR fits into the
rest of the project.
What Changed
Go more into detail about key files that were modified and why they were
updated. Do not list every file that was modified; only note the ones most
relevant to this feature or bug fix.
Other Notes
If were roadblocks encountered during development that remain unresolved or any
future additions or changes to make, note them here. Otherwise. Feel free to
delete this section if it isn't needed.

my bad you had to do a fork, should be resolved!


Can I setup max number of elements inside a cluster?

Hi, I'm working with leaflet.markercluster and it's great!!! But I need an option to specify the max number of elements inside a cluster... is it possible to achieve this with the current version or is a missing feature?
Thanks in advance.
Fran.

Not possible. Not sure how that would even work?

It would be nice... but, if it's not possible... thanks anyway :)


resource caches will store hashes for comparison prior to batchUpdate.

TBD

@Sean-McQ i'll be reviewing this one in a mo, but when you're up can you bring it out of draft and investigate e2e failure?


新手问个问题

为什么我用的时候控制台总有这些报错信息输出呢
Property or method "handleopen" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.
vue.js?b6db:2611 [Vue warn]: Property or method "handleclose" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.
(found in component  at D:\WWW\xms\public\src\components\Hello.vue)

element 无关问题

@liwei1991  意思是 handleopen handleclose 并没有在 实例上 定义，但是在 template 里面引用了。


memory leak on pool connections

Environment
Knex version: 0.14.6
Database + version: pg 9.6.1
OS: macos high sierra
Bug
var knex = exports.knex = require('knex')({
  debug: process.env.KNEX_DEFAULT_DEBUG,
  client: 'pg',
  connection: process.env.DATABASE_URL,
  pool: {
    min: 2,
    max: process.env.DB_CONNECTION_POOL_MAX || 10
  }
});

I'm getting a memory leak that seems to scale with the number of pool connections I allow. If I set the max connections to 10, then I leak what seems to be all of the data that I load with knex between iterations of my code; however, if I set it to 2, then my heapsize stays within a generally consistent and tolerable range between GCs.
I'm not entirely sure how exactly to go about creating a reproducible snippet since the application is a little unwieldy (though I'll be happy to try if someone can point me in the right direction) and so I can't be entirely sure that it's not my own application logic that's at fault, but the reason I think it might be a knex issue is because the heap dump seems to point to a Promise as being the primary leak, and the error handler for the is a knex client object. Also the fact that the leak scales with pool connections which I don't directly control with my own logic seems a little strange.

No clue if this is related to #2573, as I do use a transaction but the the data that I am leaking is being loaded outside it. I should also mention that I was previously using knex 0.12.5, and the leak was also occurring there before I upgraded to 0.14.6.

Needs complete code for reproduction. You need to isolate the code which is actually causing the leak. There is no way to help with this otherwise.
Can be reopened if minimal reproduction code is provided.


need more documentations

how do we support reading asset-library:// uri and display that into a Image element

asset-library:// should work out of the box with react-native. asset-library has nothing to do with this library. Our scheme is photos://. Please explain more.

do you do it with
  let src = this.state.selected_image;

<Image resizeMode="contain" source={{uri:src}}/>

thank you I know what im doing now.


How to verify that a list does not contain unacceptable values?

Summary
It would be great to add an assert by verifying that a list contains acceptable values and does not contain others. At the same time, not all acceptable values can be present in the list.
I tried to use "contains", "containsSequence", "containsSubsequence", "containsOnly" and "containsOnlyElementsOf" methods, but they are not suitable for my case.
Example
        String[] acceptableGrades = new String[]{"Junior", "Senior"};

        List<Person> personList1 = new ArrayList<Person>();
        personList1.add(new Person("Denys", "Junior"));
        personList1.add(new Person("Mark", "Junior"));
        personList1.add(new Person("Anna", "Senior"));

        List<Person> personList2 = new ArrayList<Person>();
        personList2.add(new Person("Joan", "Senior"));

        List<Person> personList3 = new ArrayList<Person>();
        personList3.add(new Person("Tommy", "Junior"));
        personList3.add(new Person("Jessica", "Manager"));
        personList3.add(new Person("Anna", "Senior"));

        assertThat(personList1) // MUST BE PASSED
                .as("Verify person grades")
                .extracting(Person::getGrade).isNotEmpty()
                .containsXXX(acceptableGrades);

        assertThat(personList2) // MUST BE PASSED
                .as("Verify person grades")
                .extracting(Person::getGrade).isNotEmpty()
                .containsXXX(acceptableGrades);

        assertThat(personList3) // MUST BE FAILED because the list contains unacceptable grade "Manager"
                .as("Verify person grades")
                .extracting(Person::getGrade).isNotEmpty()
                .containsXXX(acceptableGrades);

I have found a workaround, but it looks awful.
assertThat(personList)
     .as("Verify personList contains acceptable grades")
     .filteredOn(person -> "Junior".equals(person.getGrade()) ||
                           "Senior".equals(person.getGrade()))
     .hasSize(personList.size())

Try doesNotContain to verify that some elements are not present.

@joel-costigliola, thanks for the advice.
About doesNotContain. Unfortunately, in my case, there is no list of all possible unacceptable values.
About "Condition". It's really cool feature, but my list of acceptable values cannot be static.

What is your real use case ?  from what I see your list of acceptable values (junior, senior) seems static to me. I'm pretty sure you can build an acceptableGrade condition and use it like:
acceptableGrade = new Condition(person -> asList("Junior", "Senior").contains(person.getGrade()));
assertThat(personList).have(acceptableGrade);

My current case with awful assertThat:
@Test(dataProvider = "validValues") // TestNG
public void verifyWithValidValue(PreferenceType prefType, String productId, Long limit, Long offset,
                                 SortType sort) {

  // Get Preferences
  List<PreferenceEntity> prefs = PreferenceRest.getPrefsByPrefCodeAndProductIdPerPage(prefType.getCode(),
    productId, limit, offset, sort, StatusData.success());

  SoftAssertions.assertSoftly(softly -> {
    ...
    if (productId != null) {
    softly.assertThat(prefs)
      .as("Verify productUid fields contain only expected Product Id or '*'")
      .filteredOn(pref -> productId.equals(pref.getProductId()) || "*".equals(pref.getProductId()))
      .hasSize(prefs.size());
    }
    ...
  });
}

I would like to avoid to compare the size of the lists and focus on Product Ids. All prefs should have specified Product Id or ''. In some cases, prefs contains only '' or specified Product Id. I don't have a full list of Product Ids for creating the static list with all unacceptable values

@Denysss you can use allMatch(Predicate<> predicate) to achieve what you are looking for.
The assert would then look like:
softly.assertThat(prefs)
        .as("Verify productUid fields contain only expected Product Id or '*'")
        .allMatch(pref -> productId.equals(pref.getProductId()) || "*".equals(pref.getProductId()), "productId: " + productId + " or '*'");

or you could use allSatisfy
softly.assertThat(prefs)
        .as("Verify productId fields contain only expected Product Id or '*'")
        .allSatisfy(pref -> {
            assertThat(pref.getProductId()).isIn(productId, "*");
         } );


Check is image in cahce

Is it possible to check is image in cache (on-disk or memory) without running a DFImageTask?

Yes and no. There are two cache levels: memory cache and disk cache. See Image Caching Guide for more info.
Memory cache:
No. This feature is available in Nuke. It's much more open then DFImageManager.
Disk cache:
Yes, but it's not very straightforward. Create custom DFImageMananger (see DFImageManager+SharedManager.m) with custom NSURLCache and use NSURLCache directly.

The reasons behind lack of first-class support for this feature: "cache" is a transient thing, possible method that checks if the image is cached might return YES, but the image would not be available seconds later. More info here.
I would recommend to design your app in a way that doesn't rely on whether image exists in cache or not.
It's also possible to run DFImageTask with disabled network access (only cache would be queried). It might be just what you are looking for:
DFMutableImageRequestOptions *options = [DFMutableImageRequestOptions new];
options.allowsNetworkAccess = NO;

DFImageRequest *request = [DFImageRequest requestWithResource:<#resource#> targetSize:<#target_size#> contentMode:<#content_mode#> options:options.options];

DFImageTask *task = [_manager imageTaskForRequest:request completion:<#completion#>];

NSURLRequests for such tasks would be created with NSURLRequestReturnCacheDataDontLoad.

Thank you for the response! The reason why I need to check app cache - I want to show tiny preview if image not loaded yet. Of course, if target image already on device I don't need to download and animate preview, so that's why I looked for cache check. DFImageTask with disabled network access works fine, and solves the issue, thank you again for the hint and the awesome library!

Thanks, glad that it worked!
In our own apps we tend to just start two DFImageTasks at the same time (preview+fullsize). Then cancel preview task if fullsize task completes first. We prefer this strategy to progressive JPEG because fullsize images are used only in photo gallery, while previews are used on multiple other screens. Hope that it made sense :)


TypeScript Error in props Config.

I am getting an issue when i am using Jodit with typescript version.
It says types are not defined in for config props which i am passing in it.
Jodit Version:  1.3.39
Source: https://www.npmjs.com/package/jodit-react
Browser:  Chrome
OS:  Linux
Is React App:  True
Code
Inside Component
const editor = useRef(null);
  const [content, setContent] = useState('');

  const config={
    "placeholder":"start typing....",
    "showCharsCounter": false,
    "showWordsCounter": false,
    "showXPathInStatusbar": false
  }

Inside Return Statement
<JoditEditor ref={editor} value={content} onBlur={newContent=>setContent(newContent)} config={config}/>
Error ScreenShot

Try now plz


[SPARK-47320][SQL] : The behaviour of Datasets involving self joins is inconsistent, unintuitive, with contradictions

What changes were proposed in this pull request?
The basis of the change is to distinguish and resolve the ambiguity based on the Dataset from which column is extracted  by the user, instead of ExprIds.
That will result in a consistent and intuitive behaviour and also logically correct.
Current code is mixing the resolution basis as sometimes using ExprId and sometimes indirectly using DataSet Id.
This PR used DataSet Id present in AttributeReference's metadata to see if ambiguity can be resolved logically / sensibly by checking with the DataSet ID's of the joining DataSets.
The PR attemps to fix the issue in following way
If the projection fields contain AttributeReference which are not found in the incoming AttributeSet, and the AttributeRef metadata contains the DatasetId info, then the AttributeRef is converted into a new UnresolvedAttributeWithTag and the original attributeRef is passed as paramter .
In the ColumnResolutionHelper, to resolve the UnresolvedAttributeRefWithTag, a new resolution logic is used:
The dataSetId from the original attribute ref's metadata is extracted.
The first BinaryNode contained in the LogicalPlan containing this unresolved attribute, is found.
Then its right leg & left lag's unary nodes are checked for the presennce of DatasetID of attribute ref, using TreeNodeTag("__datasetid").
If both the legs contain datasetId  and that too at same relative depth, or neither contains, then resolution exception is thrown
Else the leg which contains datasetId is used to resolve.
Why are the changes needed?
While fixing a bug where Ambiguous Column Exception was raised ( which worked fine in earlier versions of spark), came across multiple situations where a particular nested joined DataSet involving self joins, works, but fails when join order is changed or a column extract from dataset involved in join, is treated as unambiguous when used in join condition but same causes ambiguity exception when used in projection ( select)
There is also an existing test I believe which is falsely passing where resolution of attribute is not happening to the expected Dataset.
For eg:
`
val df1 = Seq((1, 2)).toDF("a", "b")
val df2 = Seq((1, 2)).toDF("aa", "bb")
val df1Joindf2 = df1.join(df2, df1("a") === df2("aa")).select(df1("a"),
df2("aa"), df1("b"))
df1Joindf2.join(df1, df1Joindf2("a") === df1("a"))
`
The above works fine, but below throws Exception. The only difference between the two is  that the latter has select(df1("a"). But then df1("a") works fine as a condition
`
val df1 = Seq((1, 2)).toDF("a", "b")
val df2 = Seq((1, 2)).toDF("aa", "bb")
val df1Joindf2 = df1.join(df2, df1("a") === df2("aa")).select(df1("a"),
df2("aa"), df1("b"))
df1Joindf2.join(df1, df1Joindf2("a") === df1("a")).select(df1("a"))
`
There is an existing test in DataFrameSelfJoinSuite
`
test("SPARK-28344: fail ambiguous self join - column ref in Project") {
val df1 = spark.range(3)
val df2 = df1.filter($"id" > 0)
withSQLConf(
  SQLConf.FAIL_AMBIGUOUS_SELF_JOIN_ENABLED.key -> "false",
  SQLConf.CROSS_JOINS_ENABLED.key -> "true") {
  // `df2("id")` actually points to the column of `df1`.
  checkAnswer(df1.join(df2).select(df2("id")), Seq(0, 0, 1, 1, 2, 2).map(Row(_)))

  // Alias the dataframe and use qualified column names can fix ambiguous self-join.
  val aliasedDf1 = df1.alias("left")
  val aliasedDf2 = df2.as("right")
  checkAnswer(
    aliasedDf1.join(aliasedDf2).select($"right.id"),
    Seq(1, 1, 1, 2, 2, 2).map(Row(_)))
}

withSQLConf(
  SQLConf.FAIL_AMBIGUOUS_SELF_JOIN_ENABLED.key -> "true",
  SQLConf.CROSS_JOINS_ENABLED.key -> "true") {

// Assertion1  : existing
 assertAmbiguousSelfJoin(df1.join(df2).select(df2("id")))

  // Assertion2 :  added by me
  assertAmbiguousSelfJoin(df2.join(df1).select(df2("id")))
}

}
`
Here the Assertion1 passes ( that is ambiguous exception is thrown)
But the  Assertion2 fails ( that is no ambiguous exception is thrown)
The only chnage is the join order
Logically both the assertions are invalid ( In the sense both should NOT be throwing Exception as from the user's perspective there is no ambiguity.
And this PR addresses it
Does this PR introduce any user-facing change?
Yes.
It is possible that any Dataset involving self joins which may have  previously been throwing Ambiguity related exceptions are now expected to work , assuming the columns being extracted to be used in APIs are from DataSets being joined at the top most level.
How was this patch tested?
Added new tests. Making stricter assertions. Modifying the existing tests in DataFrameSelfJoinTest which are logically having unambiguity based on datasets from which columns are extracted.
Was this patch authored or co-authored using generative AI tooling?
No

@peter-toth @cloud-fan ,
IMHO the current idea of spark resolving the attribute to dataframe lower than the top level dataframe(s) , which in process adds missing attribute to various projections in between , can be detrimental to the performance without user being aware of the cause. The scenario which I have in mind is that say user had cached the lower dataframes. Now with the plan implicitly adding missing projects may make those cached plans unusable, without user being aware of the situation.

@peter-toth does your PR for https://github.com/apache/spark/pull/45552 imply that this PR can be closed ?

@peter-toth does your PR for #45552 imply that this PR can be closed ?

I am wondering if a combo of your PR https://github.com/apache/spark/pull/45552 and this PR would solve the issue satisfactorily.
i.e

The first preference to resolution if ( DATASET_ID_TAG is present in UnResolvedAttribute) would be the code of this PR. This will resolve if there is apparent unambiguity based on user's choice of dataframe to extract columns ( given that the dataframe used is leg of the top level join.
If the resolution is not possible or ambiguous , delegate it to PlanID resolution.

Let's keep this PR open till we fully figure out how to deal with these issues: https://github.com/apache/spark/pull/45552#issuecomment-2007037219


Core Samples and Readme issues

Section Link:

Suggestion:
The method createCustomInstance() returns null which caused null point exception.
What`s more, please check all the samples for the null point exception. Please notice the issue #12486.
2.
Section Link:

Suggestion:
Change an to a.
@jongio for notification

The first issue will be fixed by updating the code samples to be similar to the fix for the issue you referenced. The second issue will remain as-is, while HTTP does begin with a consonant the pronunciation is āch′tē-tē-pē′ which begins with a vowel.


[C000380] Del. Donna Christensen

Del. Donna Christensen:
http://donnachristensen.house.gov
Likely contact form URL to start with:
http://www.house.gov/writerep/

I am working on it.


Update takari-lifecycle-plugin to generate valid lifecycle-mapping-me…

Fix for #30

Thanks for the commit @m-pavel. I see it's already updated to 2.0.0 on our side


Clean up styling in Contact

Clean up styling in Contact. The resume img needs some better alignment. The social media links need some snazzier formatting. (maybe in a column with an all-black word branding to the right of the images?)

Done


supporting folders in post directories

Not only post-files, but also post-directories could be supported with this plugin. Fixing issue #4

Can you explain?
Directories are created if there are files in them we need to copy, AFAIK.

Lets say we have a post and beside it, there is an image folder called images in which contains all images related to that post.
The post url would be example.com/myPost/ and the images are image1.jpg, image2.jpg, etc
when using this plugin, the url of the images would be like example.com/myPost/image1.jpg
but I wanted something like example.com/myPost/images/image1.jpg. So I created this pull request.

On my simple test Jekyll installation, the plugin already does what you need, without the pull request.
Well, not exactly, the image is put twice in the destination: one in the post HTML folder, and one in the subfolder.

Whats your jekyll version? I'm using 3.2

I use Jekyll 3.2.1

Same thing with Jekyll 3.3.1

@hnaseri89 sorry, I've pushed some code I wrote earlier, so your PR now has conflict.
I will dive into this sub-folders need and look at your code.

Should be good with v3.0.0


Progress not working

When I set the progress to be 1.0, nothing changes. I am using the sample code as below and running on simulator.:
let ringProgressView = MKRingProgressView(frame: CGRect(x: 0, y: 100, width: 100, height: 100))
ringProgressView.startColor = UIColor.redColor()
ringProgressView.endColor = UIColor.magentaColor()
ringProgressView.ringWidth = 25
ringProgressView.progress = 1.0
view.addSubview(ringProgressView)

@lancevalour just copypasted the code above to my viewDidLoad() and it worked with no issues (the progress is set to full circle). Can you give some more details on your setup?

OK figure out.
Because I put the ringProgressView in the viewController which is inside the tabBarController, if I set the progress in viewDidLoad(), it will not be set because onViewDidLoad() is called when viewController is added in tabBarController. If I set the progress in viewDidAppear() then it works.
You can close this right now. Thank you!

Great! I hope you enjoy using this control ;)


Remove windows-version

Temp PR for checking malware detection

This was a false positive from microsoft defender, it's been resolved by requesting an updated analysis to https://www.microsoft.com/en-us/wdsi/filesubmission/


Premature "Empty Page" Bug

Describe the bug
A clear and concise description of what the bug is.
When I attempt to start deleting messages it just does this? It essentially won't start.

Paste logs here

Affects (Add an X to items that apply)

[x] DMs
[ ] DM Groups
[ ] Channel
[ ] Channel (NSFW)
[ ] Server (All Channels)
[ ] Other (explain)

System:

OS: Windows 10
Browser Microsoft Edge

Please tick "NSFW" mode in the toggles. That helped for me.

Yeah tried that and it didn't make a difference.

You have channel ID filled out there. Are you sure you have messages in that particular channel of the discord server? If you remove channel ID entirely (and as mentioned earlier, include NSFW channels) does it find messages to delete?

Okay it is not a discord server its DM's and yes I have tried removing channel ID and marking it as NSFW. Neither works.

#112

also experiencing this issue (DMs). mine seems to not detect any messages per page, but the total # of messages is detected.

I was having this issue and I was able to work around it by setting the range to 2015 (doubt the start date matters) and then the day after the message it was tripping up on. So messages weren't being detected before 2/11/20, but I set the range 1/1/2015 to 2/12/2020 and it continued until some other message. I'm not sure what is causing this as I don't see any correlation between the areas it has been tripping up on, but hope it helps!

I get that "empty page" is the finish condition for the script, but I think if the script can detect that the current page contains 25 system messages (call logs), it should continue searching for messages onto the next page instead of stopping. It should only stop if it reaches an empty page with zero system messages.

Has anyone figured out this problem yet?

I had the same problem and by setting a date range: very early start date and an end date close to where the last message could be found, fixed it for me. The script started deleting the left over messages.


Improved Event Form UI with Enhanced Styling and Animated Color Picker

Description for PR:
This PR refines the event form's user interface by applying modern styling and adding interactive elements. The form now features better spacing, padding, and a rounded, shadowed container for a polished look. The color picker has been customized to match the form's aesthetic, with added hover and focus animations, making the interface more engaging. These updates provide a more user-friendly and visually appealing experience, enhancing the overall interaction with the form.
screenshot:
before:

after:

Summary of Changes:
The first block improves the overall layout, spacing, and readability of the form, making it cleaner and more polished.
The second block makes the color picker more visually appealing and interactive by adding animations, hover effects, and consistent styling with other form elements.

These changes together result in a modern, responsive, and visually cohesive form design with interactive elements that enhance the user experience.

@SaurabhS55 please Label the PR

@SaurabhS55 please check the PR


Fix offset rounding for odd-sized tiles

Bug: https://github.com/godotengine/godot/issues/62911
The issue had two causes.

The quadrant provides coordinates from the center of the first tile as a float (so with a .5), then subtracted the tile origin as an integer (rounded down). If the tile position is floored before drawing the tile, this fixes the offset.
Negative signed quadrants were positioned by truncating their coordinates in the map_to_local hashmap, causing them to be rounded towards zero. This needs to be floored to prevent a 1 pixel offset for quadrants positioned behind 0,0.

Have you tested it with non-square tiles?

Yep, looks good:

I could have been more precise, I meant non-square tile shape. Or more specifically all different combinations of tile shape/layout/offset_axis settings:

32x16 isometric

16x5 isometric

5x5 hexagon

Layout/offset axis do not change the outcome.
In these cases, the positioning is closer to the intended than with 4.0 stable. Whether or not the exact pixel positioning is correct or not is probably another issue, as it is enforced by draw_tile taking an integer tile position.

16x5 isometric

This shows it doesn't work properly: the tile on the right has incorrect position, it should be 0.5 unit upwards (X axis should go through its middle).

5x5 hexagon

This shows it doesn't work properly: for these 3 rows of tiles the middle row should be exactly in between the two other rows rows (both overlaps should be 1.5 unit in height).

MRP from https://github.com/godotengine/godot/issues/62911#issuecomment-1181703670 with this PR:

As you can see the the in-editor grid is drawn properly as it's aligned with the (0, 0) cell (the green one) which is properly aligned with the X/Y axes. It's the tiles with odd Y coordinate being rendered incorrectly (like the white one).
BTW what I've suggested in https://github.com/godotengine/godot/issues/62911#issuecomment-1464912211 has the exact same issue.

That's because the tilemap composes all the tiles in the quadrant using integer coordinates. Perhaps it would be a better change to alter that behaviour.

Hmm, after having a poke around, it seems it would be a major change to place tiles at non-integer coordinates. The quadrants and related placement data are all coded based on integer coordinates.

Great work, closing.


Blog post for ESDS event recap

This post has a summary of information and resources from the ESDS event a few weeks ago.
@erogluorhan Do you or Taysia have links to the recordings from the event? There is a placeholder to add those here.
@NCAR/esds-core, please feel free to review and add anything I missed that would be helpful to include.

@erogluorhan Do you or Taysia have links to the recordings from the event? There is a placeholder to add those here.

Not yet; checking in with Taysia about this.

@katiedagon Taysia said she'd expect to wait for a few weeks for those recorded videos to be accessible and she'd follow up on them. We can either wait for that to merge this PR or get it merged without links.

@erogluorhan Thanks. Happy to wait for the recordings unless others prefer to post earlier.

@erogluorhan The links to the recordings are now updated in this blog post, I think we should be ready to post this.


reworked for performance and more entities

Lemme know if anything is unclear, your project comes up pretty high in npm search, would be nice if it was sleek :)

May I note a few obvious pros and cons?
Pros

more performant because e.g. it doesn't construct and run a new RegExp for each entity name each time it gets called
50% more entities covered
attempts to work case-insensitive (i flag on the regular expression)
non-iterative replacing ("<" becomes "<" instead of "<")

Cons

matches property names from Object prototype ("&toString;" becomes "function toString() { [native code] }")
fails at working case-insensitive (no toLowerCase in replace callback)

@rob204 Thanks, fixed both issues, even though this is a very stale PR by now :p.

@maciejhirsz @rob204 thank you very much for your contribution! And at the same time I want to apologize for my unresponsiveness. I was just too caught up in my day job and other projects.
If you could do the same transformations & improvements to https://github.com/intesso/encode-html that would be great, so that if you call decode(encode(input)) it gives back the original input.
I promise I will merge it immediately :-)


not having luck retrofitting MESSENGER for CI

https://github.com/pds-data-dictionaries/ldd-messenger/tree/v1101

hmm - maybe it is working, but build looks like it failed. I will check it out in a bit.

@thareUSGS the IngestLDD needs to be renamed to something like ***IngestLDD.xml. I would recommend something similar to all the other repos, e.g. PDS4_MESS_IngestLDD.xml

Bingo - I didn't catch that. thanks! I will give it a shot.

C.I. working and added review requirement to branches.


Updated Norwegian translation

Fixed typos and improved some translations with correct wording

Thanks for this @matsbst 🙏
I've left a couple of comments if you could take a look when you get a spare moment 👍

Thanks for this @matsbst 🙏
I've left a couple of comments if you could take a look when you get a spare moment 👍

Hey @matsbst, just making sure the PR review wasn't missed :)

Should be fixed now 🙏🏻

Hey @matsbst , a heads-up that I just wrapped some missing strings (including month and year) in portal.  If you have time to do a few more translations, that'd be awesome! :)   (There's also a new search.json with a few MORE new strings, to get the search app translated.)  If you're working in Github on the web, you'll go to your fork, make sure you're on the patch-2 branch, and click the 'sync fork' and 'update branch'.  That'll get you the new strings into your fork.


Merchants email consent

Working with campaignmonitor webhooks (via explorer script)
from solutions.common.bizz.campaignmonitor import ListEvents, register_webhook, get_list
from solutions.common.models import SolutionServiceConsent

LIST_ID = 'list_id_goes_here'

def register_hook_on_events():
  return register_webhook(LIST_ID, [ListEvents.DEACTIVATE], SolutionServiceConsent.TYPE_NEWSLETTER )

def list_webhooks():
  return get_list(LIST_ID).webhooks()

def deactivate_webhook():
  return get_list(LIST_ID).deactivate_webhook(YOUR_WEBHOOK_ID)

def delete_all_webhooks():
  ls = get_list(LIST_ID)
  for h in ls.webhooks():
    ls.delete_webhook(h.WebhookID)

Should be merged first: https://github.com/rogerthat-platform/rogerthat-backend/pull/484
Also oca-bakend/install.sh need to be executed (a clean build is better as some files are deleted from source, but won't be deleted from build directory by our build tools)
I used ngrok to test the hooks locally (with DEBUG)
Closes #885.

[x] Add NL translation for email consent.
[x] Add all request headers to SolutionServiceConsentHistory data

Be sure to rebase this instead of squash else #891 will have a million merge conflicts


Add hCaptcha.com Docs to Showcase

Motivation
Add hCaptcha.com docs to Docusaurus showcase
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
N/A
Related PRs
N/A

thanks 👍


Instructions for installation on Gentoo are outdated

The officially documented way to install gopass on Gentoo/Linux is throughout the andy overlay:
layman -a andy
emerge gopass

except the specified overlay doesn't exist any more:
# layman -a andy
 * Adding overlay...
 * Exception: Overlay "andy" does not exist.

 * CLI: Errors occurred processing action add
 * Exception: Overlay "andy" does not exist.

The correct, and updated, instructions are:
layman -a go-overlay
emerge -av gopass

Please, update the docs and web site.
I'll be the official Gentoo's maintainer of the package gopass for the time been ;)

Thank you very much for taking care of this. The Readme has been updated, website will follow shortly.


Server channels should clean up in-flight requests when handlers are dropped early

If a request handler is dropped before it completes, it won't notify the Channel that the request handling is complete. If the Client never sends a message cancelling the request, then nothing ever removes the in-flight request entry. This issue is likely a rare occurrence, because if request handlers are tokio::spawned, they'll run to completion.
One solution:

Initialize a guard struct with a Drop impl that sends an "aborted" message to the Channel.
When response handling completes successfully, the drop guard can be mem::forgetted.

Since 3c978c5bf6abee94dcbb920b86012371d818ab1a, deadline timeouts have been handled by BaseChannel, so this is less likely to occur. However, it's still possible for a Channel to fill up with requests that aren't being processed when client-specified deadlines are very large.


build: add total gas to transactionexecutioninfo

This change is

Codecov Report
Attention: Patch coverage is 72.72727% with 3 lines in your changes are missing coverage. Please review.

Project coverage is 78.03%. Comparing base (992746e) to head (a3c9582).

Files
Patch %
Lines

.../blockifier/src/transaction/account_transaction.rs
80.00%
0 Missing and 1 partial :warning:

...lockifier/src/transaction/transaction_execution.rs
80.00%
0 Missing and 1 partial :warning:

crates/native_blockifier/src/py_block_executor.rs
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1933      +/-   ##
==========================================
- Coverage   78.04%   78.03%   -0.01%
==========================================
  Files          61       61
  Lines        8759     8769      +10
  Branches     8759     8769      +10
==========================================
+ Hits         6836     6843       +7
- Misses       1485     1486       +1
- Partials      438      440       +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Added collaboration

To highlight collaboration and its importance to us I have broken it into its own section.
I have taken lines from our topics where they talk about specific collaboration and added them.

These are good changes everyone. I'd ask a few things before releasing:

The 3 of you sponsor these as changes to the rest of the leadership to get feedback.
Work with Amy to update the internal wiki page.
Write up a blog post, for dissemination internally, about the changes and why we're making them.

We can merge this in after 2 above. That work?

Good stuff!! Thanks, Eric.

@jeffmiller00 we cannot move these changes forward until approve

@gcaprio its on you now


Gulpfile

the line
https://github.com/simplcommerce/SimplCommerce/blob/2c246554b00f860d215585db7e5e959785e5793a/src/SimplCommerce.WebHost/gulpfile.js#L61
should be changed to if (module.isBundledWithHost) {
other wise it does not copy dlls from Modules to WebHost/Modules

If the module is bundled with host. That module should be added as project reference in the WebHost. Then its dll already in the WebHost, so no copy needed.

Okay, so only SampleData is being copid to WebHost for the time being. When I run Update-Database from PMC defaulting the WebHost project, it shows up an error and ends up with failing database migration. What could be the workaround to fix this issue?

Can you share your code so that I can look into

update-database failed with following:
System.InvalidOperationException: Unable to determine the relationship represented by navigation property 'Product.ProductLinks' of type 'IList<ProductLink>'. Either manually configure the relationship, or ignore this property using the '[NotMapped]' attribute or by using 'EntityTypeBuilder.Ignore' in 'OnModelCreating'.
Unable to determine the relationship represented by navigation property 'Product.ProductLinks' of type 'IList<ProductLink>'. Either manually configure the relationship, or ignore this property using the '[NotMapped]' attribute or by using 'EntityTypeBuilder.Ignore' in 'OnModelCreating'.

What code you are telling me to share? I ran the same code found in master branch to migrate the DB

All. The code on master work fine for me. I Thought you have changed some thing

Nope, the master branch is untouched. I have set up a pull bot to automatically pull latest changes from upstream to the master of the forked repo.

I figured the actual issue out. It was a connection string problem.
I updated it to use LocalDB in development environment in PR #564.
Thanks for your assistance.


aka.ms link should point to GitHub Pages, not the repo.

I think the shortlink, https://aka.ms/az140labs, should point to the labs in GitHub Pages, not the Repo.
Just like, for example, https://aka.ms/az400labs
Can this be changed?

Work in progress...
rgds
Marcin

MOC Labs Review confirms this issue.

Populated https://microsoftlearning.github.io/AZ-140-Configuring-and-Operating-Microsoft-Azure-Virtual-Desktop/
rgds
Marcin

updated README.md to include the link to lab instructions


Screen capture apps DON'T run in Tango tablet. Asks for root.

Screen capture applications doesnot run in Project Tango dev kit tablet.
They asks for root permmissions. I'm wondering if this is b'coz of Android SDK version it is running.
If so then how are Tango devs sharing screen in their demos.

Have you considered Chromecasting?
@jguomoto could you recommend other solutions?

I thought people had trouble getting their tablet to chromecast, but it may be possible.  You also can wireless adb with poor resolution no sound, use corded adb with great resolution and no sound, or jailbreak the tango, install a screen recording app and  void your warranty, but I would think the warranty period is over anyway. but idk
I've used the jailbreaking and corded adb with great success, and there are a couple posts buried on g+ that talk about wireless adb and jailbreaking the tablet.

@miraleung No. I'haven't tried chromecasting. Let me give a try. Will update.

adb record is so far the best for offline recording. For realtime boardcasting, we usually use a gopro rig or USB-C to HDMI decoder.

adb screenrecord works well on both the DevKit tablet and the Phab2 Pro:
https://developer.android.com/studio/command-line/adb.html#screenrecord

You can connect your Android Device with Android Studio.
Android studio allows to capture screenVideos.
It's an online Solution but works without any root hacking.
The only disadvantage ist you are connected via cable to the laptop.

I'm going to close this as solved. You've got a few answers that will all work here.


How to use redis or memcached with slim3

I browsed the internet and didn't find much content on how to use any caching library with slim 3 framework.
Can anyone help me out on this issue?

Slim doesn't get in your way for any caching libraries you want to use. Just use the library as per their docs.

Thank you for your help again @akrabat !!
Do I need to define the service provider in Container??

I generally find it easier to put my dependencies in the the Container as it separates out the creation of an object from where it is used.

But


[StoplightProject] redirect doesn't work in CRA install

After installing elements-dev-portal to a new CRA project (not using examples one), and using StoplightProject component, the component doesn't redirect user to a proper entry in ToC, leaving the page blank.
Clicking on ToC entries works correctly.

Perhaps. But it works in most of the places, like storybook and our own examples, which makes me question if there is some compatibility issue with newer CRA versions.
We plan to update our examples soon anyways, so perhaps this will allow to test your new version @lottamus


[WebJobs] Follow up on EventGrid event serialization and formats in the extension

See the following comments from initial PR:
https://github.com/Azure/azure-sdk-for-net/pull/15058#discussion_r486619847
https://github.com/Azure/azure-sdk-for-net/pull/15058#discussion_r486623256
https://github.com/Azure/azure-sdk-for-net/pull/15058#discussion_r486627669

Issues are all addressed.


Add suggested action calldata to Navigator response

🚧
TODO: ExecutionsHelper is over the codesize limit.

Codecov Report
Patch and project coverage have no change.

Comparison is base (8eec593) 100.00% compared to head (f522d81) 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff            @@
##              main     #1258   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           22        22
  Lines         1307      1307
  Branches       220       220
=========================================
  Hits          1307      1307

Flag
Coverage Δ

foundry
72.62% <ø> (ø)

production
100.00% <ø> (ø)

reference
100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Is there a way to get LiveReload working with this (Twig) version of PL?

I know hitting command + R isn't that hard of a task, but after getting used to LiveReload it's kind of a bummer not having it anymore. Has anyone had luck getting it to work?

Nevermind, got BrowserSync working instead.


Add --version

🔖 Changes

Add --version option
Add ASCII art logo

@Chemaclass This does not break the acceptance test?

I'm not fully convinced by having bashunit written in ASCII (this is not friendly with screen readers). I'd prefer it to simply say "bashunit - 0.7.0" If you want, you can make the bashunit part bold to make it stand out more.
Anyone else with me on this?

I like your suggestion, @Tito-Kati , it's simpler in all possible ways. I will change it

I like your suggestion, @Tito-Kati , it's simpler in all possible ways. I will change it

The PHP one is very verbose, but it's still simple. We could add a link to the documentation if you find it too brief.

This could be one thing and the header other, I like both


Make errors uncached in Python completion.

This change only caches a result if the response does not contain an error. This helps in rerunning failing executions quickly.

same issue

Thanks @grahl!


Question about using the Backbone Features instead of Residuals

Hi, thank you for sharing your work. I would like to ask a simple question to help strengthen my understanding.
If I directly use the multi-scale backbone features and skip the reconstruction stage and then train the discriminator to identify anomalies based on normal vs SDAS images features, why would this not work as good as using the reconstruction residuals ?

Hello !
I also do not have a clear answer to this question. In the original design of RealNet, the reconstruction residuals already contain a wealth of anomaly information. The role of the discriminator is very simple, possibly serving merely a normalization function, with the primary task of anomaly detection being carried out by the reconstruction network.
It would technically be reasonable to remove the reconstruction network and use only the discriminator to differentiate between SDAS images and normal images. If there is a significant performance drop, it may indicate that there is a difference between the synthesis anomaly image and the real anomaly images contained in the dataset, possibly suggesting that the discriminator is more sensitive to this distribution difference? This could also be related to the design of the discriminator.

Thank you for your prompt and detailed explanation.


Fix path for get_regularization_losses

Can one of the admins verify this patch?

@tensorflow-jenkins Test this please!


Show server time and compare to local time

Maybe just show a message on the home screen if we detect that the time is off by more than a few minutes?

This would need a Flutter plugin that notifies us when the user changes their time zone et al.
iOS: NSSystemTimeZoneDidChangeNotification and friends
Android: android.intent.action.TIMEZONE_CHANGED and friends

Alternatively we could just have a button that you tap that queries the server and reports the results...


Windows Server 2016: Logical processor limit  (MAX) discrepancies and errors

🛑 IMPORTANT: You can get your feedback addressed faster if you use the comment section for the article in which you encountered a problem.
Link to article:
https://www.microsoft.com/en-us/cloud-platform/windows-server-comparison
https://docs.microsoft.com/en-us/windows-server/get-started/2016-edition-comparison
Problem:
The Windows Server 2016 processor limits do not match  - and do not correspond to the tested values -
-On one site we can find this table :
Feature description | Windows Server 2012/2012 R2 Standard and Datacenter | Windows Server 2016 Standard and Datacenter
Physical (host) logical processor support|   Up to 320 LPs | Up to 512 LPs

On another site, we can read

Maximum number of 64-bit sockets | 64 | 64
Maximum number of cores | unlimited | unlimited
Our testing shows that Windows Server 2016 - supports up to 640 logical processors ( this corresponds to Intel cores with Hyper Threading) above this value, logical processors are not reported.
To my knowledge also 2016 is limited to 20 NUMA nodes, that would be 20 sockets, right?
Is there a way to have matching limits?
I need to update our white papers and would like to reference Microsoft pages, but I find it hard for the reader to understand the right number.
Thank you.
Regards.
Laurence Grizaud

@lagriz Your issue is transferred to the author team. They will address your question there.

Since the thread is closed, how do I know what the outcome is?

@lagriz under your original issue, there is a link to transferred issue. You can click open it and it will redirect you to new issue page. Meanwhile, I am still monitoring the status of your transferred issued. If they resolved it but not inform you, I will inform you.


Installer Error

Soon as installer is launched, it prompts: http://i.imgur.com/tKTINVJ.png
It's being run from local drive
Windows 8.1 x64.
SnagitImgur_1.0.1.msi - 602KB

Also same issue here.  Windows 8.1 Snagit 12

Sorry for this taking a very long time...
(if relevant), could you please try the latest version?

Sorry.  4 months for a support reply.  I have already switched to PicPick.


multiple synapse point processes through netpyne connParams flag 'nonLinear'

Handling for nonlinear synapse models by one netcon per synapse.
Will generate 1 netcon <-> 1synapse if an an optional flag is set in connParams:
multiple_syns -> implements to netParams.connParams creation of multiple
synaptic point processes to single location ( "summed synapse"
implemented in various hoc models ) with 'nonLinear': True
ex:
netParams.connParams['A->B_GABA'] = {
'nonLinear': True,
'preConds': {'popLabel': 'A'},
'postConds': {'popLabel': 'B'},
'weight': 1,
'sec': 'dend',
'delay': 2,
'loc': 0.5,
'synMech': 'GABA',
'connList': ABList}
If neuron B has GABA point process at dend(0.5), netpyne by default
('nonLinear': False) will connect new netcons generated by evaluating
the connParams to the existing GABA point process. Setting 'nonLinear' to True
will force creation of new GABA point processes at dend(0.5) for each
netcon connecting to that location, allowing for "summed synapse"
modelling at specific locations.

@jchen6727 - code looks good.
can you please change 'nonLinear' to 'oneSynPerNetcon' to reflect more explicitly what the flag does? thanks!


Add compilation symbol to preserve DllExport attribute (metadata)

Reference to DllExport is always removed, which may be unwanted in some situations.
What I would suggest to do is:
Search compilation symbols for DLLEXPORT_PRESERVE, and if it is present, do not remove reference to DllExport, otherwise keep current behavior.

which may be unwanted in some situations

for example ? :)

for example ? :)

I don't have any good example where metadata should be preserved, anyway up to you.. It is not hard to do.


Pumps historials router does not get the historicals

The problem starts in the pump-historial-repository repository, functions: findAllByPumpId, findAllByPumps, findAllByPumpIds.
The 'date' field of the object used to find, does not work if the variable gte or lte is undefined. Please test it.
Also in the function findAllByPumps, the pump received does not have an id, __check: #30 __
ALSO
In the pumps-historials route, fter the checkQuery it is trying to create Date variables using undefined and req.query.id does not exist. (for the functions byEnvironmentId, byPumpId and byPump).

The Measure has the same problem!!!


CORE-6768 - Add reason to registration result

https://r3-cev.atlassian.net/browse/CORE-6768
API PR: https://github.com/corda/corda-api/pull/657
Failure scenarios:

Endpoint was empty
Endpoint URL was not provided in registration context at all

Passing scenario: Default message is added for reason field.

Also added proper handling for situations where registration process does not exists due to NOT_SUBMITTED state of registration requests:

LGTM.
Just a couple other thoughts I had, since the "submitting" the request is synchronous and sends/receives from member worker, if a failure happens on member worker maybe you could check the class name/type of exception returned to the REST worker in the RegistrationRpcResponse (if you added exception envelope to this), match it up with some HTTP exceptions, and return a 400 error if there is a problem with user input, this might better indicate to user that a status won't exist because the request wasn't submitted, rather than returning a 200 with a RegistrationRequestProgress status object with a failure reason. We do something similar in PermissionSenderUtil.sendPermissionWriteRequest that lets us map exceptions on remote worker to some HTTP exceptions. Just a thought though.
One other thing you might like to do, since startRegistration is asynchronous, you could return a 202 Accepted status response using ResponseEntity<RegistrationRequestProgress> on MemberRegistrationRpcOps, and the implementation would look something like this:
override fun startRegistration(
    holdingIdentityShortHash: String,
    memberRegistrationRequest: MemberRegistrationRequest,
): RegistrationRequestProgress {
    return ResponseEntity.accepted(
   memberOpsClient.startRegistration(memberRegistrationRequest.toDto(holdingIdentityShortHash)).fromDto()
    )
}

Happy to approve this PR to fix the bug though.

Thanks for that feedback Conal 👍 I'll take that away, have a think about it and then create a story on our backlog. We can take a look outside of this PR then.


fix: strings in lua reload

opts.plugin can be a list of strings, but currently it would error on not being able to contact the name field
This allows providing a list of strings

lgtm, thanks!


Hoping to use high level encoding, like gbk when auto guess gb2312

GBK completely include gb2312. In VSCode, I use auto guess encoding, but some file in gbk read as gb2312 and cause problem. I think in languages like Chinese, always read as gbk when guess gb2312 is helpful, or adding an check like try to read as gb2312, if error happen, auto change to gbk instead.
And can we set a list of encoding which auto guess only choose from them?  Sometimes files are too small to guess encoding, and a gb2312 file being read as windows1252. I think a way to make sure some encoding never be choosed can be helpful.

This issue has been reported already in either this or a similar form. Please check the label that was assigned to this issue to find it.


WIP - Add LinkToState

Ahoy! This is a PR with an idea we use at Pear Deck for fast collaboration between designers & developers. The idea is that once you have the state in a single object, you might as well render it to the URL! Once your states are in urls, you can share them around your development and design teams. I've ported it over to the redux devtools.

There are some rough edges and no tests, but I figured I'd shoot this over and see what you think before continuing. Let me know if I should adhere to a different format or anything!

Ah, I am just understanding about the next branch and also #132 .
Let me know if this basic idea is something you'd like to include by default @gaearon and I can update this PR to point wherever you think is best. I get the feeling that master is not best atm ;)

After working with this some more, we've noticed that the middleware approach I started down in this PR is overkill - you really just need a component with access to the entire state and some code to set the initial state at createStore time. Then you don't need any middleware.
But: having such a link in the devtools by default is pretty awesome, and might help win more people over to the idea of redux. Maybe it's worth finding a way to include the link by default?
@gaearon if you like the idea of including this state link by default I can think about it some more. If not we can separate it into an easy-to-plug module.

My suggestion is to change this to react to a key press and use prompt() instead of a dedicated UI both for importing and exporting state.

@gaearon: I've implemented something similar to this approach, however with prompt() there is a character limit in Chrome of about 2000, which isn't great (see here).

The ux of copying and pasting is much more cumbersome on the user (the
devs) so I've decided to stick with the ui in this PR in my own projects.
However, I found a much simpler way to code it, without a store enhancer at
all: you only need to parse the initial state when... Setting the initial
state!
If the ui here becomes interesting to you Dan, I'd be happy to submit an
updated PR. The prompt approach isn't very interesting to me but I don't
mind if someone else wants to pick this up and go that direction.
Thanks again for a great set of packages!
On Dec 15, 2015 11:16 PM, "Cale Newman"<EMAIL_ADDRESS>wrote:

@gaearon https://github.com/gaearon: I've implemented something similar
to this approach, however with prompt() there is a character limit in
Chrome of about 2000, which isn't great (see here
http://stackoverflow.com/questions/18088662/text-passed-to-window-prompt-gets-replaced-with
).
—
Reply to this email directly or view it on GitHub
https://github.com/gaearon/redux-devtools/pull/173#issuecomment-164997412
.

My OCD needs me to close this PR. Feel free to use any of my code in this PR with or without attribution, if you like!

Hey, sorry, I literally have zero time maintaining this project right now 😞
With the current architecture I think this could work better as a separate custom monitor. Then DockMonitor lets you switch between multiple monitors with a keyboard shortcut, so you can switch between LogMonitor and LinkToStateMonitor with a single key. I hope this helps!

Oh, no problem at all. Thanks for the response!


Countdown isn‘t working

The countdown isn‘t working.

hmm, I don't know. for me it is working, also on my phone:

I will ask one friend from Germany if he can see it.

I am from Germany 😀. Here some Device Details for you.

Device Details
Apple IPad 9. Generation with WiFi and 64 GB Storage
Browser Details
Microsoft Edge for IPad
No proxy or DNS activated
WiFi
No settings for deactivate JavaScript or something other activated

Unfortunatelly, the problem Is somewhere in your device. My friend say it works for him, so it's not from the code or the country.
I am unable to help in this situation. Anyways, you can copy the repo and try run it on your local host.
if you need help with it, I can show you how.

Thanks, but I know how to. I have a Apache HTTP Server on my computer (😁) and if that not work I know how to use the network storage via WiFi (🖥).


Formats is not defined

stream = video.stream2file(Formats.h264()) returns a not defined error.
Python 3.7.3

You must first import the Formats object:
from ffmpeg_streaming import Formats


Reorganizing Kitura's HTTP Handling for Memory Efficiency

I recommend reorganizing Kitura's HTTP Handling.
Logically, it should work this way:

There's a TCP connection incoming from the client
That TCP connection delivers a stream of bytes
Those bytes need to be parsed and divided into multiple client requests
A response needs to be created for each of those requests
That request needs to be turned into bytes and sent back down the TCP connection

The way Kitura does it is not nearly that straightforward.  In Kitura, the HTTPParser is owned by the ClientRequest (via its parent, HTTPIncomingMessage, which is also the ClientResponse's parent, which means the Response has to allocate a parser it doesn't need), and the same ClientRequest object is re-used on each request (it has to stay because it owns the parser). HTTPIncomingMessage has an isRequest method that keeps track of whether or not it's being used as a Request or a Response so it can exhibit different behavior.
I'm assuming the current object structure made sense when each connection only handled one request, but since keep-alive has been enabled, it hasn't been updated to reflect the new reality.
While this is confusing, it also has real-world consequences.  Objects that are being re-used can't be reclaimed by the Automatic Reference Counter, and so a manual clean-up process had to be devised.  This manual process is error-prone, and is reported by Instruments (and valgrind) to be the greatest remaining contributor to Kitura's current memory problems (e.g. when Kitura is quiescent (meaning no requests have come in for for several minutes and no data from previous requests still needs to be in memory) the vast majority of the memory still resident was allocated in and around these parts of the code). See:

It's especially critical that this gets fixed for people who are using Kitura in Cloud applications with fixed (often small) memory allotments.
I propose we:

Move the HTTPParser "up" a level so it's owned by the connection (i.e. the IncomingHTTPSocketProcessor) not the ClientRequest
Create a new ClientRequest/ClientResponse object for every new request that comes in from the HTTPParser
Avoid reusing the ClientRequest and ClientResponse objects so that they can both be reclaimed by ARC after the Response is sent down the TCP connection
Remove the isRequest variable from HTTPIncomingMessage and move all logic that is not shared by both the Request and Response from the base class into their respective instances
Remove the need to manually clean up or reset connections
Make sure the IncomingHTTPSocketProcessor and its associated objects are all able to be reclaimed by ARC when the TCP connection is closed (by FIN or RST).
Ensure that if, for some reason, the IncomingHTTPSocketProcessor has to stick around (e.g. because the client holds the TCP connection open), that only the minimum possible number of bytes is kept resident in memory (e.g. no previous request or response objects, data, or buffers should ever remain in memory once the response has been sent)

I've already started working on this (https://github.com/IBM-Swift/Kitura-net/pull/160 was a prerequisite step) and plan on continuing to do so, because my application deployment is blocked until the memory growth issues are resolved.  I'm creating this issue to solicit opinions and facilitate discussion of  implementation details.

A couple of comments:

There is confusion in what you you have written. ClientRequest and ClientResponse are only used in outgoing messages (i.e. HTTP requests originated by the server). They are not used in incoming requests. HTTPServerRequest and HTTPServerResponse are used for those.
You are correct that currently HTTPServerRequest and ClientResponse share a common parent HTTPIncomingMessage. The isRequest parameter is there for mainly for parsing. The HTTP Parser needs to know whether it is parsing a request or a response.
The "memory" leak that occurs when there is an idle period is due in part to the attempt to reuse some of the objects. It may have been a mistake to reuse the HTTPServerRequest and HTTPServerResponse objects. But the much harder to "fix" "leak" which is really what happens at idle periods, is the link from the IncomingSocketManager -> IncomingSocketHandler -> IncomingSocketProcessor (usually a IncomingHTTPSocketProcessor). In particular on Linux, the IncomingSocketManager is in charge of driving all of the Read Socket I/O via epoll. When epoll says there i data to be read it tells the IncomingSocketHandler to read. To find the right IncomingSocketHandler, there is a Dictionary<Int32, IncomingSocketHandler> that is used. Dictionary's are not thread safe in Swift. Adding a semaphore here makes for a point of contention. Thus the Dictionary is only managed in the thread that accepts new incoming sockets.
As far as your PR goes. I think a better thing is to remove HTTPIncomingMessage from being a delegate of HTTPParser all together. The HTTPParser should store all of the stuff that it gets from the C parser internally, which should wrapped by functions in HTTPIncomingMessage.

There are certainly better architectures than the one I'm proposing.  If I were given a green field and asked to build Kitura, this is not what I would do.
But I have to do something to get the resident memory consumed down to something usable, and I have little choice but to do it in a series of incremental steps. Step 1 was breaking the direct coupling between the CHTTPParser and the HTTPIncomingMessage.


[openai_api_base support] - ft/Added openai OPENAI_API_BASE llm config support

Description
Some background: Coming from Asian countries with openai restrictions, we cannot directly use the services provided by the openai endpoint, so we have to use a transit service to use openai. So the base_url parameter was added so that users from China can use the products of the mem0 team.
The current PR adds the OPENAI_API_BASE parameter to the config and llm wrapper layers, ensuring that users can set the api_base in the environment variable.
Type of change
I'm not sure if this is a new feature. If it's not suitable, please tell me in the comment and I will modify it. Thanks 🙏
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Please delete options that are not relevant.

[x] Test Script (please provide)

Because I am a novice in Python, I cannot help you complete the existing ut. But I provide the script I tested locally. If you are willing, you can help me verify my changes locally. Thank you very much.

import os
from mem0 import Memory

# os set env variable
# os.environ["OPENAI_API_KEY"] = "sk-xxx"
# os.environ["OPENAI_API_BASE"] = "https://api.xxxx.xxx/v1"

config = {
    "llm": {
        "provider": "openai",
        "config": {
            "openai_base_url": "https://api.xxxx.xxx/v1",
            "api_key": "sk-xxx",
            "model": "gpt-4o-mini",
            "temperature": 0.2,
            "max_tokens": 1500,
        }
    },
    "embedder": {
        "provider": "openai",
        "config": {
            "model": "text-embedding-3-small",
            "openai_base_url": "https://api.xxxx.xxx/v1",
            "api_key": "sk-xxx"
        }
    }
}

m = Memory.from_config(config)
m.enable_graph = True
m.add("Likes to play cricket on weekends", user_id="alice", metadata={"category": "hobbies"})

related_memories = m.search(query="What are Alice's hobbies?", user_id="alice")
print(related_memories)

Some immature suggestions
For the design related to openai, I think the config should be further optimized. For example, according to the existing design, I have to modify the embedding config to support this feature. Can we share a base config for openai? This may be better.
Finally, thank the community for their contribution. Great product
interface OpenaiBaseConfig {
  api_base: string;
  api_key: string;
}

interface OpenaiChartConfig extends OpenaiBaseConfig  {
    top_k: float;
     temperature: float;
     model: string
}

interface OpenaiChartConfig extends OpenaiBaseConfig  {
    top_k: float;
     t: float;
     model: string
}

Checklist:

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

Maintainer Checklist

[ ] closes #xxxx (Replace xxxx with the GitHub issue number)
[ ] Made sure Checks passed

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

LGTM!!!

LGTM!!!

NP! And Willing works with you.


feat: update account email when TIS changes

Update the email address associated with a user account when the TIS contact details are changed.
The email should only be updated if it is not in use by any other user.
Exceptions should be throw in two cases

Where multiple accounts exist for a given PersonId
Where the new email address is already in use

Cache the users retrieved from cognito as the lookup is costly.
TIS21-5907
TIS21-5940

It all looks good to me, but one thing I was wondering: when we update the users login details, surely we should send them a notification that it has happened? Maybe its an interation+1 thing, but I'm thinking posting onto a user-login-details-updated queue and setting the notification service to listen to that and generate an appropriate mail.

It all looks good to me, but one thing I was wondering: when we update the users login details, surely we should send them a notification that it has happened? Maybe its an interation+1 thing, but I'm thinking posting onto a user-login-details-updated queue and setting the notification service to listen to that and generate an appropriate mail.

Yeah, MVP + 1 🙈
I'm absolutely keen we do that ASAP and I'll be creating a follow-up ticket. As you say it's not complex to send a simple email to both the old and new email addresses - there is also a need to notify/inform on the Admins UI side that could be rolled in to the same ticket.