[TextField] Implement helper text

In the current implementation of TextField, the space where the error text resides should also be able to support helper text.
According the the spec:

Helper text, or hint text, should appear below the text field and either be persistently visible, or only visible on focus.

IMO: I don't like how how the spec says, "or hint text," because the term hint text is used elsewhere in the spec as it relates to placeholder text.
Nevertheless, we should consider making a child HelperText component for TextField that supports changing color based on error state.

I suppose there are a couple of different ways to implement this, but how to implement this properly while maintaining backwards compatibility will be interesting:
Assuming default themes (like images above), I suppose these are our approaches:
Approach (1): Deprecate errorText in favor of helperText, and manage error state through error prop

Add prop error that provides error state to the component
Deprecate errorText and errorStyle props (add a warning when used) but ignore error and continue operating with old behavior
If errorText and helperText are used together, provide a separate warning, but ignore errorText implementation and use `helpText instead

/* Example 1.Render helper text as red */
<TextField error={true} helperText="This is helper text" />

/* Example 2. Render helper text as grey */
<TextField error={false} helperText="This is helper text" />

/* Example 3. Provide deprecation warning, ignore `error` prop,
and render the helper text as red for backwards compatibility */
<TextField error={true || false} errorText="This is error text" />

/* Example 4. Provide deprecation warning, but behave like example 1 or 2 */
<TextField
  error={true || false}
  helperText="This is helper text"
  errorText="This is error text" />

Approach (2): Support errorText and helperText, and manage error state through error prop
This is same as approach (1), but we continue supporting both, perhaps like below:
/* Example 1.Render helper text as red */
<TextField error={true} helperText="This is helper text" />

/* Example 2. Render helper text as grey */
<TextField error={false} helperText="This is helper text" />

/* Example 3. Render the error text as red, only when error is true,  */
<TextField error={true || false} errorText="This is error text" />

/* Example 4. No idea... For backwards compatibility, I support `error` prop would
have to be assumed true in this case which is nasty */
<TextField errorText="This is error text" />

/* Example 5. Error text will show as red */
<TextField
  error={true}
  helperText="This is helper text"
  errorText="This is error text" />

/* Example 6. Helper text will show as grey */
<TextField
  error={false}
  helperText="This is helper text"
  errorText="This is error text" />

Just remembered that this has implications on the underline as well, since we're currently using the presence of errorText to manage error state. Though maybe that means we can do this:
Approach (3): Support errorText and helperText, show helperText when errorText is not defined
/* Example 1. Show helper text as grey */
<TextField
  helperText="This is helper text" />

/* Example 2. Show error text as red */
<TextField
  helperText="This is helper text"
  errorText="This is error text" />

/* Example 3. Maybe we could optionally support something like this?
If errorText is true, show the helperText as red.
I just don't like the concept of errorText possibly being a boolean */
<TextField
  helperText="This is helper text"
  errorText={true} />

@newoga I think the first approach is the best approach. There are some other concepts you're missing. styles, and customization. I think if we have both helperText and errorText, then what would the style look like? errorTextStyle? or helperTextStyle? the other 2 approaches can be really confusing, but the first one is very explicit, (this is valid? if not tell me why through the helperText). I like this proposal in general :+1: @oliviertassinari What do you think?

Yeah you're right about the overriding styles bit.  I did think a little bit about what the implications would be, but my comment was already getting excessively long, sorry about that!
I agree, I think I like the first approach the most too. And I like having a smaller API surface area :) Plus, if a user really wanted approaches 2 or 3, it'd probably be simple enough for them to create it by wrapping the component in approach 1.
I'm open to debate though!

@newoga I think the first approach is the right way to do it. and come on, if they wanted to implement approach 2 or 3, it's just a ternary operator :D
I'd like to hear @oliviertassinari's insight on this too.

Any news on this ? This would make forms a lot more readable. Thanks !

@newoga I think that the third approach is easier to maintain, like:
<TextField helperText="Helping Tip." errorText={someNullableErrorVal} >

So while our error var is null or empty - helper text will be shown
And don't need to mix things like that
<TextField error={!!someNullableErrorVal} helperText={someNullableErrorVal || 'Helping Tip.'} />

Any update on this one? If we can agree on an approach, perhaps it'd be easier to develop.

I thought of these approaches as it related to the current TextField component design and tried to make them backwards compatible. The TextField component design in the next branch is improved, albeit is a breaking change. I would have to revisit the code but I imagine implementing helper text in a composed way should be much simpler in that branch.
I probably would recommend not implementing any of these approaches on the old API and just focus on making sure we can implement helper text on the new one.

That's definitly a missing feature in the next branch. It would be good to agree on the API so anyone could give a shot at implementing it. I think that we gonna need two level of abstraction. One new component for the low level API and one new property to the TextField for the high level API.

@oliviertassinari Sounds good. I need to and will try to get caught up on the current design of things in the next branch so I can provide some better feedback. Also, now that we have a initial versions of Tabs and Toolbar merged, I'd like to deliver on some AppBar promises that I've made over a year ago 😅.


Misc fixes

Misc fixes to get pipeline running. Did dummy end to end run both locally and on nautilus with s3 data and seemed to run!


Wtf-wiki-version-bump

10.3.2
Edit: Meant to separate this from my other PR

I've made a release with those changes, but currently you'll have to install it manually from manifest.json. For some reason I can't authenticate into foundry module admin panel, maybe something changed in 2 years I didn't do anything. I'll have to figure it out.


Remove --merge command-line option and replace with config option

Description
Currently, setting the path for the merged config file is a different process to setting the path for other simulation output files:

It can only be set via a command-line argument
This command-line argument comprises the full path (i.e. including directory), meaning that the output path (e.g. set by the --outpath argument) is not used
There is no option to disable its generation

I have added a couple of config options to control the generation of merged config files:

core.data_output_options.save_merged_config - for enabling/disabling generation
core.data_output_options.out_merge_file_name - the name of the merged config file (not the whole path!)

If generated, merged config files will now always be saved to the output path along with other output files. I have removed the --merge option as keeping it around with the existing behaviour would have made the code more complex and I don't think it's necessary anyway; if a user wants to change the merged config file name then they can use the --param option, as for other parameters.
Fixes #270.
Type of change

[x] New feature (non-breaking change which adds functionality)
[ ] Optimization (back-end change that speeds up the code)
[x] Bug fix (non-breaking change which fixes an issue)

Key checklist

[x] Make sure you've run the pre-commit checks: $ pre-commit run -a
[x] All tests pass: $ poetry run pytest

Further checks

[x] Code is commented, particularly in hard-to-understand areas
[ ] Tests added that prove fix is effective or that feature works

That was issue #234, I don't think that one is solvable here. I think that's an issue we either need to just accept, or need to find a clever way of tricking python's built in toml reader to accept arrays of tables that are spread across multiple toml files. I feel like the latter would be a bit out of scope for this PR


tooltip is 'null' by the time $timeout fires

We are using angular-bootstrap in production and log our JS exceptions.
We a null pointer exception on the following .css() line fairly regularly in this piece of code:
        var positionTooltip = function() {
          // check if tooltip exists and is not empty
          if (!tooltip || !tooltip.html()) { return; }

          if (!positionTimeout) {
            positionTimeout = $timeout(function() {
              // Reset the positioning.
              tooltip.css({ top: 0, left: 0 });

My guess is by the time $timeout fires, 'tooltip' is null. If that sounds right to you guys, I'd be happy to submit a PR.

@cthielen, do you see this in a minimal plunker?  I'm looking at the code and we set tooltip = null after we call cancelShow(); cancelHide(); unregisterObservers(); - the first of which is the function that cancels the positionTimeout.

This issue has been addressed in master under this commit

Cool, thanks @RobJacobs.  That would be why I wasn't seeing how that could happen in our code.  Closing.


Wrong default font when show CJK characters

Describe the bug
Wrong default font when show CJK characters
for example my computer use Chinese but it show me Japanese font Yu Gothic UI
To Reproduce
Microsoft YaHei is a Chinese font in Windows
<!--wrong--><TextBlock Text="包直入今骨角房" FontSize="50" />
<!--right--><TextBlock Text="包直入今骨角房" FontSize="50" FontFamily="Microsoft YaHei"/>

( Project: AvaloniaApplication3.zip )
Expected behavior
It shoud use Chinese font
Screenshots
see above
Desktop (please complete the following information):

OS: Windows 10
Version 22H2 19045.3208
Language 中文(简体，中国) Chinese (Simplified, China)

and same on my friend's computer

OS: Windows 11
Version 22H2

Additional context
Add any other context about the problem here.

Can you check if your default administrative locale codepage is set to Simplified Chinese (936)?

@hez2010 I think it is... all default value, never changed

It seems fallback to Yu Gothic UI font, strange

still wrong in 11.0.6

Font fallbacks are implemented via DirectWrite on Windows. So the result is defined by the OS. You can define a custom fallback so the FontManager selects a different font

Font fallbacks are implemented via DirectWrite on Windows. So the result is defined by the OS. You can define a custom fallback so the FontManager selects a different font

The problem seems to have existed for over 4 years. Whether or not DirectWrite returns the correct result, I think Avalonia should fix it. I would like to offer some help in any way I can to resolve the issue. Can you give me some guidance (e.g. how Avalonia gets the default font from DirectWrite)?

https://github.com/AvaloniaUI/Avalonia/blob/master/src/Skia/Avalonia.Skia/FontManagerImpl.cs#L62
We rely on Skia here which uses DirectWrite to match characters. You can always define FontFallbacks manually in your AppBuilder

https://github.com/AvaloniaUI/Avalonia/blob/master/src/Skia/Avalonia.Skia/FontManagerImpl.cs#L62
We rely on Skia here which uses DirectWrite to match characters. You can always define FontFallbacks manually in your AppBuilder
#7089

I checked the source code of SkiaSharp and Skia, and it turns out that using the ietfLanguageTag is sufficient to solve the issue, rather than *LetterISOLanguageName. SkiaSharp and Skia mark the parameter as using bcp47, which is generally equivalent to ietf. Therefore, there’s no need to use *LetterISOLanguageName.

BCP47 spec: https://www.rfc-editor.org/rfc/bcp/bcp47.txt

Feel free to adjust the language tag being used

fixed after in Avalonia 11.2.x beta, I checked it works perfect

fixed after in Avalonia 11.2.x beta, I checked it works perfect

Good news.


Develop visual indication for points annotation order

My actions before raising this issue

[x] Read/searched the docs
[x] Searched past issues

Expected Behaviour
Ability to see the order of annotated points in cases when one object consists of several points and the annotation order of these points is important.

Current Behaviour

For example, here one face must be annotated with 5 points in the following order: left eye -> right eye -> nose -> left mouth corner -> right mouth corner:

But there is no visual indication of how these points were annotated, following the requested order or not. Therefore, there is no ability to verify that the markup is correct.
Possible Solution

Add visual indication with information about annotation order. For example, it can be a small digit near each point.

Operating System and version (e.g. Linux, Windows, MacOS):
Code example or link to GitHub repo or gist to reproduce problem:
Other diagnostic information / logs:
Logs from `cvat` container

Next steps
You may join our Gitter channel for community support.

Let's use skeletons for such scenarious


Feature request: fail2ban

WIP, needs a number of privileges for the container. Also, depends on the host's iptables/nftabled kmods.

Done.


Tokenizer alignment code

Hi, I don't see any code in the repository for performing alignment between tokenizers. It would be really helpful if you could share this portion of your code.

I have the same question. Could you share the alignment code?


Commands telegram

Hello! The built-in telegram bot has the commands /clear and /ping
Can you tell me what the bot sends to the service if this integration is done through the API? I'm just making my own telegram bot and I can't understand it.
Thank you!

I don't quite understand your question, but if you're creating a Telegram bot, I highly recommend using https://grammy.dev/ for it. For command cases in Dialoqbase https://github.com/n4ze3m/dialoqbase/blob/893ab797ccf706ef533b136730b2cd1dc9024db7/server/src/integration/telegram.ts#L33
I set them using the bot.api.setMyCommands API offered by the Grammy library. However, you can also set commands via Telegram's BotFather."

The your native telegram bot has a command /clean
What command should I send for this function when I integrate through your API Integration in dialoqbase?

The 'clear' command means it will remove existing chat memory from the bot's conversation. You can edit it here:
https://github.com/n4ze3m/dialoqbase/blob/893ab797ccf706ef533b136730b2cd1dc9024db7/server/src/integration/telegram.ts#L48

There is no API on Dialoqbase for Telegram; everything is managed by Dialoqbase itself. However, for Discord, I think you can set custom commands.

Thanks a lot! I owe you coffee.

Haha, thanks! Feel free to ask questions anytime. No need to buy coffee every time. 😜


Add peer-pod/cloud-api-adaptor architecture overview diagram

Fixed via https://github.com/confidential-containers/documentation/pull/111


Sane default settings for DNS

What happened:

after the traffic of the broken DOP service was switched, our cart service did not issue requests to the new stack but rather to the old broken stack, only a respawn of the instances solved this issue
we could reproduce it on release staging with the help of Rodrigo
we could reproduce it on a local machine switching services via /etc/hosts
-> key was to have constant traffic on the cart service to reproduce the behaviour

The connection pool for the apache HTTP Client keeps the connection for too long, so it cannot be closed and renewed

HttpClient knows about a ConnectionManager
org.apache.http.impl.conn.PoolingHttpClientConnectionManager has a default constructor that does not specify an end of life for connection before the year ~30000000
setting this ttl to some value > 0 instantly allowed for the correct behaviour

See here, solved?

Maybe increase to 60 seconds...

Maybe increase to 60 seconds...

Or make it configurable :stuck_out_tongue_winking_eye:

We have a sane default, anything else deserves its own issue. I'm closing this one.


Middleware: Can i am add my own export type?

Hi @alexjlockwood
I'm done my tweening library, now i'm try to make own export type on ShapeShifter, it's better than make another clone ShapeShifter as users will use gui. Is there has middleware helper or something?
I am use JSON format for my js, and works good for now, but it would be best if can be made export type for js, also it's cross-browser, so no worry would be for web about compatibility

Sorry, I didn't see this. I'm not sure what you mean. Can you be more specific?

Hello, sorry for delayed a lot of time, because i was been busy, now have free time, so i can spent this time to improve es6-tween animation library and trying to pair ShapeShifter and es6-tween.
Is there any option available to export type syntax will be like this?
let tween1 = new TWEEN.Tween(path, {morph:{shape:"M0,0"},draw:"0% 30%"}).to({morph:{shape:"M10,10"},draw:"20% 20%"}, duration).start()

Supported modifications

Attributes

Strokes

Fill

Path data

Styles


Add VLAN hack, network-config, UPF first

/assign @henderiw @electrocucaracha
005.sh and 006.sh were minimally modified, but their names were switched so it looks like lots of change

we should tag the latest packages and update the files.
003-network.yaml -> should go to v2 once tagged
005-edge-free5gc-upf.yaml -> should go to v4 once tagged
006-regional-free5gc-amf.yaml -> should go to v4 once tagged
006-regional-free5gc-smf.yaml -> should go to v4 once tagged

one thing I noticed is this pr does not contain the latest changes on 003 additions we did

I have to chmod +x ../provision/hacks/vlan-interfaces.sh to run the 002.sh

I have to chmod +x ../provision/hacks/vlan-interfaces.sh to run the 002.sh

Thanks, fixed

/lgtm

/override e2e
/lgtm


About ANSI version

Thank you for your great library!
Would you mind providing binaries for ANSI version of x86_64_win_lua53 and x86_64_win_lua54 in addition to utf8 ones I see in sourceforge? Or an instruction on how to build one?
For version 0.5.0 there is a fork created mainly for string encoding reasons since the base app is ANSI only and there's a need to display strings provided by that app inside its plugins. But this fork isn't updated for newer controls.
The problem is, in example like this, ANSI encoded strings for e.g. Memo1 lines, show up as "????", and Memo1.lines:GetText() produces typical UTF8-read-as-ANSI garbage when one inputs ANSI strings in Memo1 control.

Hi Roman,
please read this article:  Unicode Support in Lazarus.
Maybe adding WinCPToUTF8 function to library will be enough?
More intresting question is what is the problem with the building instructions. because if it's incomprehensible, i should change it.
You don't need to generate the pascal source except if you want add additional components. Simple define the target lua version as described and run lazbuild executable.
j.

please read this article: Unicode Support in Lazarus.
Maybe adding WinCPToUTF8 function to library will be enough?

Yeah, I've read that and from the article it links to I see that for situation where most of the app is not UTF8 the provided option -dDisableUTF8RTL doesn't take care of string conversion to/from LCL unfortunately. The 0.5.0 fork does it seamlessly to Lua users, so the users had accumulated 100s of Lua scripts throughout the years already. Even if the library would export WinCPToUTF8 and UTF8ToWinCP it's unlikely users would rewrite their scripts to convert strings themselves.
So I thought there could have been a switch inside the generator which would enable automatic WinCP<->UTF8 conversion for all controls at once. Or perhaps not a switch but a check if -dDisableUTF8RTL is provided with insertion of automatic conversions.
The instructions you provided are great to build default assets. It's just encoding isn't mentioned at all. And an example of adding custom control would be useful (but that's off topic and probably would only be useful to those new to Free Pascal).

Ok.
The source generator uses definitions from module src_generator/lua_make/classdef.lua, where all the string related conversions must be updated to handle the codepage conversion.
The property handler module LuaProperties.pas must be updated as well.
Any other suggestions?

UTF8 conversion test
hi, please check this library (lua5.4) and the example code.
j.

Hi!
Using official lua54.exe with lua54.dll from the app I can only see 1251 characters with VCL.setCPUTF8(true) set in test_cputf8.lua
If I add VCL.setCPUTF8(true) in input.lua, change text to 1251 codepage and run example from the app, it correctly displays the text. But if I edit the text and save it using Memo1.lines:GetText(), new text is saved as UTF8-read-as-ANSI garbage irrespective of VCL.setCPUTF8(true) or VCL.setCPUTF8(false). Old text is saved as "???" with false and as UTF8-read-as-ANSI with true.
So with VCL.setCPUTF8(false) I get previous behavior.
Didn't you add conversions to getter functions?

HI!
The getter/setter functions are managed by the source generator and the input/output is depending on the variable type. i just added the pchar output type to converter at classdef.lua. Please check the compiled code again.

Bingo, thank you!
Now the tests described above pass: in Memo I can see, edit and receive back correct string in CP1251, and
ShowMessage also works.

the input/output is depending on the variable type. i just added the pchar output type

So the GetText method returns a string (in Lua terms) and it's converted correctly now, but were there a method to get underlying table of strings (in Lua terms) one would get table of UTF8-encoded strings still?
Also why is VCL.setCPUTF8(true) needed to be set to true, not false? I think naming is misleading e.g. the call might be read as telling to VCL that "my program is using UTF8" while it works exactly when it's not using UTF8.

The codepage conversion switch maybe should be renamed to setCPWIN...

So the GetText method returns a string (in Lua terms) and it's converted correctly now, but were there a method to get underlying table of strings (in Lua terms) one would get table of UTF8-encoded strings still?

You must use the switch to turn on/off the automatic conversion. Every getter function called from the lua side receives converted or unconverted result:
if (is_vclua_utf8_conv) then      lua_pushstring(L,pchar(UTF8ToWinCP(str)))   else     lua_pushstring(L,pchar(str));

The codepage conversion switch maybe should be renamed to setCPWIN

I would support setCPWin (with casing as in UTF8ToWinCP function) or setWinCP

Done.
the next release will contain the changes. v0.9.2-rc1
j.

Upon further testing something isn't working. In the menu example I changed some captions to these:
	{name="fileSave", caption="Сохранить проект", shortcut="Ctrl+S", imageIndex=2, onexecute=menuClick },
	{name="fileSaveAs", caption="С&охранить проект как...", imageIndex=3, onexecute=menuClick },

And the items are "???" no matter the setting.
Also setupImages refers to vcl instead of VCL

Would you mind providing binaries for ANSI version of x86_64_win_lua53 and x86_64_win_lua54 in addition to utf8 ones I see in sourceforge?

Would a 5.3 0.9.2 version be released as well?

lua5.3 version is added to the binaries


⚠ Bofrost.at has degraded performance

In 1f31f9b, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1845 ms

Resolved: Bofrost.at performance has improved in 6be60e1.


FAM support FOM production bceid login loop back error

Describe the task
FOM reports a bceid login issue:

Checked the AWS PROD Cloudwatch Auth Lambda log, found an error for the audit log when try to get the business guid

Tested with my prod business bceid account, and it works fine. So the error could happen when the login user doesn't have a business_guid somehow, we need more investigation on that. Cause we'll need the business_guid for checking organizations later, we expect the business bceid login user should have a business_guid (Updated: the error is not caused by login user doesn't have business_guid, it's because we didn't configure it to be returned from Cognito, see the note below in the additional context)

Acceptance Criteria

[x] Quick fix, remove the audit log for business guid
[ ] Update the auth lambda audit log to use "get" for optional attributes that not all applications are configured
[ ] Add test to check the different log

Additional context

Business bceid user should have a business guid returned from login, but we have the read/write permission configured for each application integrated with FAM, and only FAM enabled to return the business_guid. So if I login to FAM with my business bceid already, Cognito already has my business_guid, so my login to FOM works as well. But for other bceid users, FOM is not configured to return the business_guid, so our Auth Lambda audit log won't be able to find the custom:idp_business_id
Or here

Would it be useful trying these failing users' BCeIDs (from different organizations) on our prod IDIM-Proxy swagger and see what's the return (the user type and if it contains business GUID)?

Verified the business bceid user through IDIM web service, and they have business_guid. And the detail of the cause can be found in the ticket description.
Deployed the quick fixes to prod at v1.14.1, confirmed from Julius the bceid login works now.


Unable to get hot reload and full recompile every file the hot reload got triggered?

Hey, first thing first, awesome work!
I am experimenting this package though doesn't quite seems be able to get it to work? not too sure what i did wrong?
Version
0.2.0
Operating system & version
Arch Linux (Endevour OS)
What you did
Setup dexterous_developer according to https://lee-orr.github.io/dexterous_developer/install.html

cargo install dexterous_developer_cli
setup Cargo.toml, lib, dependencies etc (attached)
create a main.rs and corresponding lib.rs
Execite dexterous_developer_cli run

here's the full testing project
Archive.zip\
What you expected to happen

After changing a system - e.g. change its print content, it should hot reload (i think?) and take effect
Also it should use cached build package & incremental builds

What actually happened

After rebuild/reload to complete (the following log appeared), nothing changed, the print system still is printing the old message

2024-05-03T19:52:04.492568Z  INFO system{name="bevy_dexterous_developer::hot_internal::reload_systems::update_lib_system"}: dexterous_developer_internal::internal_shared::library_holder: Loaded library
2024-05-03T19:52:04.492637Z  INFO system{name="bevy_dexterous_developer::hot_internal::reload_systems::update_lib_system"}: bevy_dexterous_developer::hot_internal::reload_systems: Got Update
reload complete

The rebuild process is a full rebuild - e.g. the entire project rebuilds, including all the dependencies, not even using build cache. On my full project this would take ~8m, which is way too slow, Also i dont think this is supposed to happen?

Additional information
Video recording

For the full recompile issue there is a workaround, which is to keep the cli generated Cargo.toml... that would allow the system to use build cache and incremental build
Not ideal, but useable :)

For the recompile - often this happens as a result of rust-analyzer - set the rust analyzer cargo.targetDir setting to "true" - which should resolve it.
As for the reload itself not happening - I'll need to look at it in more detail... I'll do that soon.

Thanks!
For the recompile i've tried to edit it with Vim only and it still did the full recompile thing... which is weird

Okay Thanks!
As for the recompile, editing it using Vim doesn't seems to exhibit the same full recompile behavior.
Also just found out that if i specify crate-type = ["rlib", "dylib"] then the recompile issue just disappears. it does increase the output size but ¯_(ツ)_/¯

@ICEFIR - the new version (0.3) no longer uses a generated Cargo.toml, it might be worth looking at it if you are updating your project to Bevy 0.14

Thanks for the awesome work! will check it out once i port my project to 0.14 (Pending a couple other dependencies at the moment)


Add additional amazonka libraries

Adds the following libraries:

amazonka-certificatemanager: Certificate Manager. (details)
amazonka-dms: Database Migration Service. (details)
amazonka-ecr: Elastic Container Registry. (details)
amazonka-cloudwatch-events: CloudWatch Events. (details)
amazonka-gamelift: GameLift. (details)
amazonka-marketplace-metering Marketplace Metering Service. (details)

:+1:


V4: reload or typing url manually always redirect to root

The title says it all.
When I type a url manually in a browser or try to refresh, it always goes back to root, is there any thing wrong? because I'm not getting it.
When I refresh or type url manually and I'm logged in it goes to the dashboard, and when I'm not logged in, it goes to login page.
Here is my code
     import { Switch, Route, Redirect, Router } from 'react-router-dom';

     <Provider store={this.props.store}>
        <IntlProvider locale={this.props.locale} messages={this.props.localeData}>
          <LocaleProvider locale={enUS}>
            <Router history={history}>
              <Switch>
                <Route exact path="/" render={() => (<Redirect to="/dashboard" />)} />
                <PrivateRoute path="/dashboard" component={App} locale={this.props.locale} redirectTo="/login" />
                <PropsRoute path="/login" component={Login} />
                <PropsRoute path="/reset-password" component={ResetPassword} />
                <PropsRoute path="/loader" component={Loader} spinning={true} fullScreen={true} />
                <Route component={NoMatch} />
              </Switch>
            </Router>
          </LocaleProvider>
        </IntlProvider>
      </Provider>

this is my props route
const renderMergedProps = (component, ...rest) => {
  const finalProps = Object.assign({}, ...rest);
  return (
    React.createElement(component, finalProps)
  );
};

const PropsRoute = ({ component, ...rest }) => {
  return (
    <Route {...rest} render={routeProps => {
      return renderMergedProps(component, routeProps, rest);
    }} />
  );
};

and my private route
const PrivateRoute = ({ user, component, redirectTo, ...rest }) => {
  return (
    <Route {...rest} render={routeProps => {
      return user.logged ? (
        renderMergedProps(component, routeProps, rest)
      ) : (
          <Redirect to={{
            pathname: redirectTo,
            state: { from: routeProps.location }
          }} />
        );
    }} />
  );
};

Did you find a solution to this issue?

@Taceor, yes, there was a bug in my code, I was doing a redirect when page loads based on certain conditions, so it was a problem from my end.

I also ended up resolving a similar issue using the  in react-router. Hope it helps someone in the future who might stumble upon a similar issue.


Add Windows CI for C++ project

https://www.appveyor.com/ is an option.
BUT
The initial un-cached run will take over 60 minutes, making the (free plan) build fail. I had the same problem with CircleCI (out-of-memory). The solution there was to use a docker image.

Azure Pipelines is a relatively new free (for open source) service that does not have the 60 minutes limit, it may be worth checking it out.
The Point Cloud Library recently switched to it exactly for the more convenient time limits: https://github.com/PointCloudLibrary/pcl/issues/2554 .

Thanks, looking into it!

Having some issue with this one. Until they get caching in-place it is pretty much unusable. The vcpkg run will take about 110 minutes each time!
Conan has it's own issues, where it seems to fail on downloading one or more of the required dependencies..
Putting this on hold.

Closed somewhat by #93. However, it only builds for vcpkg as the conan build gives a mysterious error.


Request matching for array of JSON's

I need to create a request body which stubs for an array of JSON's. Not sure which methods wiremock has to support this use case.
Sample body : [{"text":"hello"}, {"text":"hey"}]

Please post questions to the mailing list as per the README


Actor Collision Plugin for ignition gazebo

Gazebo11 supports many actor-related plug-ins including collision capability, but ignition gazebo does not have that.
https://github.com/osrf/gazebo/tree/gazebo11/examples/plugins/actor_collisions
I think this feature might require the implementation of https://github.com/ignitionrobotics/ign-gazebo/issues/418 first.
Is this the feature somewhat I expect to see for future version of ignition gazebo? Any help will be more than appreciated!

The core team is not planning to work on these features at the moment, but contributions are appreciated :slightly_smiling_face:


scripts use kubectl wait instead of sleep

this optimizes tests

Codecov Report

Merging #2 (4e498f1) into main (e5b71aa) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #2   +/-   ##
=======================================
  Coverage   80.52%   80.52%
=======================================
  Files          12       12
  Lines         832      832
=======================================
  Hits          670      670
  Misses        127      127
  Partials       35       35

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


Remove the countCommand

What changes are proposed in this pull request?
Remove the countCommand
Why are the changes needed?
Remove the countCommand.
Does this PR introduce any user facing changes?
NA

I did not know we had this.. but this could be useful as a utility and it is not in the critical path of the code. @apc999 what do you think?

It is not easy to count without the master like metadata. Most likely in object store, no such command.

I did not know we had this.. but this could be useful as a utility and it is not in the critical path of the code. @apc999 what do you think?

It is not easy to count without the master like metadata. Most likely in object store, no such command.

We do not support the "ls -R" command under the dora architecture?

I did not know we had this.. but this could be useful as a utility and it is not in the critical path of the code. @apc999 what do you think?

It is not easy to count without the master like metadata. Most likely in object store, no such command.

We do not support the "ls -R" command under the dora architecture?

this is not related to "ls -R"

alluxio-bot, merge this pleaes

From docs:

count works recursively and accounts for any nested directories and files.

this is not related to "ls -R"

count is essentially ls -R with cosmetics applied. My stance is that with or without count, an admin can always do ls -R and count the number of files and directories with shell commands. Therefore, it is a matter of usability and UX, not a matter of performance or system stability.

From docs:

count works recursively and accounts for any nested directories and files.

this is not related to "ls -R"

count is essentially ls -R with cosmetics applied. My stance is that with or without count, an admin can always do ls -R and count the number of files and directories with shell commands. Therefore, it is a matter of usability and UX, not a matter of performance or system stability.

From the user point of view, count is a single command, it can't show the cost of this command, that is a little misleading. While "ls -R" will indicate the cost more explicit.

alluxio-bot, merge this please


Upgrade to .NET from .NET Core which has reached end of support

Is your feature request related to a new Jumpstart scenario you would like to contribute?

Is your feature request related to a problem? Please describe.

.NET Core has reached end of support since 2022-12-13.
A naive search of dotnetcore in this repository yields 15 PowerShell scripts using it.
Describe the solution you'd like.

Upgrade to .NET 6 LTS or .NET 7 STS.
Describe alternatives you've considered.

Remove if it is not necessary.
Additional context.

@DanteMustCode Thank you for bringing this to our attention. We will assess the use of outdated .NET Core versions and create a plan for testing and upgrading the affected scenarios to supported versions.

Agora, ArcBox & HCIBox has been updated.
Remaining work for this issue will be tracked internally by the Jumpstart team, which will make sure to update remaining scenarios to Azure CLI to 64-bit.


Fix #29

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
❌

Tests pass?
✔

Fixed issues
#29

Can be merged after yiisoft/view#86

Why remove meta csrf _head ?

Why remove meta csrf _head ?

No longer needed since View will have a csrf method.

Decided to do it the same way as in demo: https://github.com/yiisoft/yii-demo/commit/9f608a48f773aa1215c19b32b0ddc0ce430dc8f7

👍


Release of version <IP_ADDRESS> of xFailOverCluster

Releasing version <IP_ADDRESS>

This change is

Codecov Report

Merging #140 into master will increase coverage by 11%.
The diff coverage is 100%.

@@          Coverage Diff           @@
##           master   #140    +/-   ##
======================================
+ Coverage      88%   100%   +11%
======================================
  Files           6      7     +1
  Lines         325    413    +88
======================================
+ Hits          289    413   +124
+ Misses         36      0    -36


Psi Development Choice Data Error

https://github.com/foundryvtt/pf2e/issues/14333
According to this issue, yeah surface psi cantrip can't be selected by "Psichic Dedication", that bug is fixed.
The Problem is, the fix also deleted the option for "Psi Development", which DO allow you to choose a surface psi cantrip, now whatever we do, we just can't get surface psi cantrip as a choice when getting Psi Development.

Duplicate of #14476


How to handle PPT format?

Hello, after converting PPT to PDF and using layoutPDFReader for parsing, the results are not satisfactory. How can I directly perform structural analysis on PPT?

You can send the PPT directly to the API. PPTs are the hardest to handle as the graphics generated by PDF writer doesn't write in in a logical order and content in mulit column layout.


bcftools install

While working on https://github.com/galaxyproject/ansible-galaxy-extras/pull/224 I've notice this little problem:

start a new 18.09 galaxy container (all-in-one image)
don't run any tool, or do anything
run a script to load multiple files into a data library
I get 4 conda processes trying to install bcftools 1.5 at the same time, all of them failing, and retrying continuously.

I guess it's because the bcftools is required by the set_metadata tool, and it's not installed by default in the docker image. I thought conda was able to have some lock to avoid this kind of simultaneous installs?
I could just install the bcftools env in startup.sh, or in the Dockerfile?
Maybe use bioblend to install the dependency, or just make a conda install?
Any thoughts on that?

Thanks to @jyotipm29 we are back on track :smile:
The new 24.1 image contains a lot of changes and reflects the latest developments in Galaxy. I would like to close this PR, but please feel free to reopen and rebase against the latest version.
Please give it a try:
docker run -p 8080:80 -p 8021:21 -p 4002:4002 --privileged=true -e "GALAXY_DESTINATIONS_DEFAULT=slurm_cluster_docker"   -v /tmp/galaxy-data/:/export/ quay.io/bgruening/galaxy:24.1

... or any other combination. The readme has been updated. Please add any useful tip to it.
For a list of changes, see the Changelog.


Suggestions

Nice work guys. Data is manual entry into the .csv file right?
Suggestions:

Chart the doubling time for the cases. In an outbreak, the growth rate is of particular interest. A small number of cases can grow rapidly in an exponential growth. I know how to get the doubling times using Excel, but not in .js I'm afraid.
I don't think it's particularly informative to see the M/F breakdown in the Trends chart. The bar chart is spot on though.
I think the grey 'Increase' line is going to be eclipsed (hopefully) by the yellow 'Total' line, so reading the grey line is going to be a bit difficult as time goes on and possibly misleading as it may look flat. Growth factors would be nice to see too, defined by no. new cases at time t divided by no. new cases at time t-1.

I could mockup some graphs to explain what I mean, but unfortunately I don't know JavaScript 😅

Hi Haziq, thanks for your suggestions.

Chart the doubling time for the cases. In an outbreak, the growth rate is of particular interest. A small number of cases can grow rapidly in an exponential growth. I know how to get the doubling times using Excel, but not in .js I'm afraid.

Do you mean like a line that shows the average gradient?
If not, a mockup graph would be helpful for me to see how it's supposed to look like.

I think the grey 'Increase' line is going to be eclipsed (hopefully) by the yellow 'Total' line, so reading the grey line is going to be a bit difficult as time goes on and possibly misleading as it may look flat. Growth factors would be nice to see too, defined by no. new cases at time t divided by no. new cases at time t-1.

I will keep that in mind.

Doubling time essentially means how long did it take for the number of cases to double. For the data, I calculate

t
Total Cases
Doubling time (days)

1
1
NA

2
6
1

3
11
2

4
23
1

5
37
2

6
40
3

7
50
3

8
54
4

In Excel, it's essentially a VLOOKUP to see what t corresponds to half the current total cases. E.g. at time t = 7, total cases was 50, so at what t was the total cases 25--answer is roughly t = 4 (cases = 23), in which case the doubling time is 7 - 4 = 3.
Looking at gradients would implicitly assume a linear relationship I think, whereas the goal is to determine from the doubling time if the growth is exponential or not. If doubling time remains constant, then it is exponential growth. If it is increasing then it is slowing down, etc.


Docker container restarting indefinitely

universities_clean.json missing. Likely due to data file(s) not being copies during Dockerfile build.

Closed by #3


Enhance webdriver

This PR adds usual scripting variables:
WDS.vars
WDS.ctx
WDS.props
And allows to not override particular response code
Regards
Philippe M. from UbikLoadPack team

Looks good!

I have released webdriver plugin with changes

Thanks @undera,
It doesn’t appear yet on search in jmeter-plugins, is it regular ?
Thanks

It might take a bit of time to publish on the website

When plugin download is hosted on maven it takes time first to appear on maven and then some time for website to update. It's an automated process.
When download is hosted on GitHub, it's much faster, since there is no "wait for maven" stage.

FYI I have also pushed Plugins Manager update into publishing queue.

All of changes have reached the website now.


Support configuration at truffle-config.js

The configuration file for Truffle can be called truffle.js or truffle-config.js (briefly mentioned in the docs...).
truffle-flattener assumes it's at truffle.js:
https://github.com/alcuadrado/truffle-flattener/blob/c991806d7bb8109b689ed09dee216039d8be3505/index.js#L211

It may be possible to get the Truffle root from truffle-config...

@frangio not related to this bug but how is the config file used? What does truffle-flattener need from truffle.js at the moment?
I've been thinking it would be cool to include sample code for how to add truffle-flattener to your project and add a command so it automatically flattens all your files at build time and adds them to a flattened folder, what do you think?

It's only used to find the root of the project. As @frangio said, truffle-config can do this.
I've been working on this change, which is really simple. But the code got too messy, so I'll work on a refactor before implementing this.

@alcuadrado thanks! Do you have anywhere I should look for how to implement truffle-flattener in my truffle build config or something similar? I think it's really important for all deploys to be done with flattened files for later verification so I want to automate that. If not I can probably figure it out, any starting point would be helpful though!

Can you expand more on that idea? I'm not sure if I'm following you.

@alcuadrado totally!
So right now it works great to install truffle-flattener and then run terminal or command line commands to get an output of a flattened file.
What should I do if I want to include truffle-flattener in my truffle package.json and run commands in truffle.js to force it to create a new, flattened file on each deploy. Have you done anything like that before, or do you just use it from the terminal and copy/paste the results to use them?

@alcuadrado I've added and test a PR to solve that issue: https://github.com/alcuadrado/truffle-flattener/pull/10

@tomasienrbc I still don't get your point. Truffle also flattens the source code. If you run this tool after deploying with truffle you should get the code needed to verify the contract. Doesn't it work for you?

Actually you won't - the flattener adds extra spacing and comments. For whatever reason, comments and spacing impact the bytecode that is generated, so if there's any extra spacing in the flattener you can't verify the contract. That's why I want to set this up so that the actual deployed contract is the flattened one.
I don't know enough about the solidity compiler to know why this is the case but it is. So I want to run this in my actual truffle deploy script, do you think that could be possible?

Hallo
This is something you should better ask in the trufflesuite project...maybe it is even.possible to build in the migrate/build either with a hook or a command switch


Test workflow.

Check if the secret is nil before running steps.

Workflow seems to not have if clause for jobs. There is a discussion about the misleading of the doc. For now, the conditions are added to steps.


Optimize horizontal line spacing

I love this theme. However, I feel the placement of horizontal lines could be improved somewhat. For example, they jump several lines below where they're placed in editor mode. It would be great if horizontal lines could be moved higher up in their default placement, I personally use horizontal lines beneath headings and this behavior messes up the look of my notes in my opinion.

Yea, I shouldn't really style that. I'll take the whole margin off them this weekend.

Update is live now! They are now reverted to their original height.

Looks great! Thanks!


Remove TODOs

Add a new part:code label
mkdocs: Fix the edit URI
mkdocs: Add cross-reference to grpc
Remove outdated TODOs

Skipping release notes because it is just a cosmetic change in logs.
Rebased as I wasn't based on the current head, I also dropped a few commits that were already fixed in head.

Enabled auto-merge.


List of all Xero Globals

I want a complete list of globals that are in the xero namespace, as well as a description of what they do, or a link to relevant documentation. This could be in an appendix or something.

Just added the list to the docs, but a large portion of the variables aren't explained


more misses

Hello!
It's getting better, but there are still a few misses. No worries, we'll get there.
 00:00:07,463 --> 00:00:09,173
-FOO-BAR:
+FOO-
 I can tell you some nonsense.
 [SNIP]
- 00:00:15,846 --> 00:00:19,433
-DR. FOOBAR: We have nonsense
+DR.We have nonsense
 and gobbledygook.

I'm not really sure what the filtered text should look like in this case, are you able to provide the human filtered version of what you think it should look like?

I understand, and while reading it back I see the diff was a bad idea. Next time I'll simply paste a snippet that fails.


Refactor metrics to handle multiple subnetworks

What was wrong?
Our current metrics registration setup is incompatible with running multiple subnetworks. Basically, each subnetwork tries to re-register an equivalently-named metric, which causes an error.
The way we get around this in our current StorageMetrics is to append the subnetwork name to the metric name (eg trin_radius_ratio_History). But this isn't ideal, using a label is much better suited to distinguishing between the same metric for different subnetworks. Furthermore using a label makes creating interesting / useful dashboards in grafana much easier.
How was it fixed?

Created PortalnetMetrics which houses clonable references to both StorageMetrics & OverlayMetrics, which can be used by individual subnetworks
moved PortalnetConfig from portalnet/src/types/messages.rs -> portalnet/src/config.rs

To-Do

[ ] Add entry to the release notes (may forgo for trivial changes)
[ ] Clean up commit history
[ ] Update dashboard json template (will address in following pr)

Looks like this needs a rebase, so I'll just start with a high-level review


[Bug]:  Next/Previous button displayed on No results Found Page

What happened?
I found a BUG 🐞 in the devFind project. When performing a search, if the search result yields no developer profile, the Previous and Next buttons are displayed. This behaviour seems incorrect, as there's no need for pagination when there's only no result.
Add screenshots

What browsers are you seeing the problem on?
Chrome
Code of Conduct

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

@shyamtawli can you please review this bug and provide me feedback . Thank You !

@shyamtawli can you please review this bug and provide me feedback . Thank You !

We can also add return to home or explore more ...like buttons ..which would be more appropriate

@Abhishek19-dev I have already cleared you on your same previously opened same issue. Closing this one also


Strings file errors removed

some strings are not available in the bengali translation now have been added and some error have been resolved

Hi,
Thanks for your contribution, however Sunflower is going to be archived in favour of maintaining a smaller set of up-to-date set of compose-samples, that can be found here: https://github.com/android/compose-samples, as well as snippets that can be found here: https://github.com/android/snippets.
Please feel free to keep your fork up-to-date for your learning, but this repository will be archived shortly.


[TC-DD-2.1] Need information on  GAP General Discoverable mode in Spec

Problem
Announcement by device verification Uses the GAP General Discoverable mode where we need more information in spec
Test-plan reference :
https://github.com/CHIP-Specifications/chip-test-plans/blob/master/src/devicediscovery.adoc#tc-dd-2-1-announcement-by-device-verification

I also encountered the same problem, running the instruction "avahi-browse _services._dns-sd. _udp-r" failed, what is the specific solution?

I also encountered the problem, running the instruction "avahi-browse _services._dns-sd. _udp-r" failed, what is the specific solution?


chore: add @vocab and do some minor fixes

What this PR changes/adds
Adds the @vocab entry to the @context object when expanding JSON-LD objects to avoid unprefixed properties being stripped out.
Why it does that
We should avoid silently stripping out unprefixed properties, e.g. in Assets.
Further notes

DataAddress is now also expected as JsonObject
Asset.privateProperties was not mapped previously, now it is
minor improvements and refactorings around ser/des of Assets

Linked Issue(s)
Closes #2976
Checklist

[ ] added appropriate tests?
[ ] performed checkstyle check locally?
[ ] added/updated copyright headers?
[ ] documented public classes/methods?
[ ] added/updated relevant documentation?
[ ] assigned appropriate label? (exclude from changelog with label no-changelog)
[ ] formatted title correctly? (take a look at the CONTRIBUTING and Etiquette for pull requests for details)

Codecov Report
Patch coverage: 22.61% and project coverage change: -52.90 :warning:

Comparison is base (7810822) 66.27% compared to head (bcf7de4) 13.38%.

: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    #2981       +/-   ##
===========================================
- Coverage   66.27%   13.38%   -52.90%
===========================================
  Files        1041     1041
  Lines       21231    21302       +71
  Branches     1259     1270       +11
===========================================
- Hits        14071     2851    -11220
- Misses       6640    18341    +11701
+ Partials      520      110      -410

Impacted Files
Coverage Δ

...efaults/storage/assetindex/InMemoryAssetIndex.java
0.00% <0.00%> (-94.45%)
:arrow_down:

...in/java/org/eclipse/edc/jsonld/TitaniumJsonLd.java
0.00% <0.00%> (-91.67%)
:arrow_down:

...ansformer/from/JsonObjectFromAssetTransformer.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...d/transformer/to/JsonObjectToAssetTransformer.java
0.00% <0.00%> (-91.67%)
:arrow_down:

...r/api/management/asset/model/AssetEntryNewDto.java
100.00% <ø> (ø)

...t/transform/AssetRequestDtoToAssetTransformer.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../transform/AssetToAssetResponseDtoTransformer.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ssetUpdateRequestWrapperDtoToAssetTransformer.java
0.00% <0.00%> (ø)

...eclipse/edc/spi/asset/AssetPredicateConverter.java
0.00% <0.00%> (-42.86%)
:arrow_down:

.../org/eclipse/edc/spi/types/domain/asset/Asset.java
0.00% <0.00%> (-92.11%)
:arrow_down:

... and 5 more

... and 657 files with indirect coverage changes

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

We can close also #2940 once this is merged


Company / Contact Ledger / Contract page roles required

@vinpahilwani wants this roles, required by a client

At time of creation, it was required to dont create new roles for this
so api / pages created with same functionality
--
now this is required
--
this required total new apis / page roles
design side as well as server side

@vinpahilwani / @sureshsirvi will create requirements

ek hi role chahiye jo page pe ja sake woh us page pe sab kar sakta hai

1 role "Ledger" for Contact / Company Ledger
2nd Role "Contract" for Comany Contract


User-reported unhelpful error message

Program: https://code.world/haskell#PiJfXqdJ_IBH56d170V4aMg
Message:
program.hs:7:19-23: error:
    • Couldn't match expected type ‘Data.Text.Internal.Text’
                  with actual type ‘[Char]’
    • In the first argument of ‘lettering’, namely ‘"I1M"’
      In the expression: lettering "I1M"
      In an equation for ‘texto’: texto = lettering "I1M"

This one is tough.  On the one hand, there's clearly something that could be done here (suggest enabling OverloadedStrings)  On the other hand, this is Haskell mode, and I've tried to stay fairly hands-off and offer a more pristine Haskell tooling environment, without the mucking with messages that is done in the educational dialect.  I think I'm leaning against action on this one, but I'll leave it open for a bit to ponder.


Wrote a contributing guide

Since we move to github, we have to think how we manage  branch management, releases/tags management and workflow to contribute. One source of inspiration could be : https://github.com/DuneSt/MaterialDesignLite/blob/development/CONTRIBUTING.md

I start to wrote a contribution guide. See #57. Help is welcome !

Waiting for comments.


LINK-1634 |  2/3 Change Jest to Vitest

Description
In this PR change Jest to Vitest and make development server to work.

Configuration for the vitest
Remove all jest related packages
Add global vitest TypeScript types. Remove */tests/ from tsconfig.json excludes array to make this to work. This change requires to move some dev dependencies to dependencies
Configure coverage reports and junit report output file path
Replace jest-axe with vitest-axe
Replace jest.fn() with vi.fn(), jest.spyOn with vi.spyOn etc.
Replace jest-axe with vitest-axe
Replace jest-date-mock with vi.setSystemTime
Update snapshot files
Fix some instanbul ignore comments
Fix some TypeScript errors in test files
Fix false positive edit event page test
Remove unused craco package settings from the project

This is one of 3 PRs to migrate Create React App to Vite and Jest to Vitest. The PRs are splitted to following parts:

Migrate CRA to Vite (https://github.com/City-of-Helsinki/linkedcomponents-ui/pull/247)
Migrate Jest to Vitest
Fix scripts to generate robots.txt and sitemap.xml, fix Docker build and fix TestCafe tests (https://github.com/City-of-Helsinki/linkedcomponents-ui/pull/249)

Partially closes
LINK-1634

Codecov Report

:exclamation: No coverage uploaded for pull request base (feature/LINK-1634_1-migrate-to-vite@39de97f). Click here to learn what that means.
The diff coverage is n/a.

@@                          Coverage Diff                           @@
##             feature/LINK-1634_1-migrate-to-vite     #248   +/-   ##
======================================================================
  Coverage                                       ?   99.76%
======================================================================
  Files                                          ?      565
  Lines                                          ?     9394
  Branches                                       ?     2055
======================================================================
  Hits                                           ?     9372
  Misses                                         ?       20
  Partials                                       ?        2

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


Automatically suggest cards that appear to be related

I swear this was captured in another issue before.
Look for cards that seem to have overlapping concepts. E.g. tags, or where their rarest words overlap to some degree.
Right now when adding cards and stubs, you have to keep in your head all of the cards you just added so you can interlink them so that there's a web of TODOs to recover. But if the system could help you find those related cards then that would make it a lot easier.
Conceptually each card would be indexed, where each partial word was counted. Then given a card you'd collect all of the other cards that overlap to some degree in the index entries for words in the card. Then you'd rank them by scoring the prevelance of given words that overlap with the target card by their commonality in general.
This would be a very expensive operation, so you'd want to run it only on demand.
Now that partial matches show up in the find dialog, this feels similar to that... just more.

Another related feature: for unlinked text in a card, look for the cards that most overlap with the phrase. You'd process in a sliding window of n-grams of different sizes.
This calculation could be called 'semantic overlap' between two cards. The overlap of the 'important' words in the tokenized text strings.

Cards should keep track of the words that other cards use to link to them to get at where their title might be able to be configured differntly, or as search terms for other cards to search over

https://en.wikipedia.org/wiki/Tf–idf

[ ] create a selectIDFMap that is a reselector of an IDF map based on all normalized search string properties of all cards in the set.
[ ] Scale the query matching value by IDF automatically for normal queries
[ ] create a selectSemanticFingerprintMap which is a map of cardId -> map(normalized-term) -> tf-idf, filtering to only have the top N (25? 50?) highest terms, with the key order in decreasing order of tf-idf (allowing short-circuiting of other overlap calculations)
[ ] Create a semanticOverlap(card, other) which returns the sum of the diff of all of the terms of the semantic fingerprint for each card.
[ ] Create a semanticallyOverlappingCards(card, n) which returns the set of the n most overlapping cards
[ ] Add an overlappingCards section to card info panel that, once a card is loaded, fetches the overlapping cards. It should filter out cards already in
[ ] make sure if the info panel isn't showing (e.g. in mobile mode) it doesn't select the expensive things

Why are certain cards so common?
Very few cards actually overlap in terms of terms. (Even with no constraint on fingerprint length, there's only 11% overlap of words). So I think the common cards are basically cards that don't have rare terms often. That means that most of the fingerprint distance is just the distance of the term from 0.
Maybe take the difference of the set of keys that overlap across cards, and scale by how big that overlap set is?


add support for moved blocks tf 1.1.0+

Fix to add support for the new moved blocks
see https://github.com/aquasecurity/tfsec/issues/1192

 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.

Thanks, we're anticipating a release in the next week, roughly.


As an analyst, I aim to retrieve information on the top ten populated capital cities worldwide, so that I can use this functionality for obtaining a customizable overview of the most densely populated capital cities globally, facilitating research, and aiding in comparative analyses.

Finished issue.


Fork patch cleanup 2

Hi,
This is a PR for #97,
I've cleaned up the changes I do for the Fork patch, separating it in its own file to keep main.rs as clean as possible.
I understand if you think that this is out of scope for the wslgit project, if so then maybe the other commits in this PR can be interesting on their own.

The first two and the fourth commit (82645f3, 3997e63 and 264ffdf) are just some refactoring to make adding the patch cleaner. (If you decide to not accept this PR I would be really glad if you at least took these three commits.)
The third commit (3254818) adds a script to package a release in a zip-file containing the following structure:├── wslgit
│   ├── bin
│   │   └── wslgit.exe
│   └── install.bat

The install.bat script must be run as administrator and creates three symbolic links in the wslgit\bin folder, mimicing the bin folder in a Git for Windows installation since it is needed by one of the tools I use:git.exe -> wslgit.exe
bash.exe -> C:\Windows\System32\bash.exe
sh.exe -> C:\Windows\System32\bash.exe

The fifth commit (f908e7a) is the patch for Fork.

(If you decide to accept this PR then might I suggest that you create a develop-branch first and merge this PR into that branch instead of the master, since I have updated the README which would make the instructions not compatible with the latest release.)

Do you have a test version for this? Your last published release always fails to read the COMMITMESSAGE file here.
fatal: could not read log file '//wsl$/Ubuntu/home/stan/projects/work/platform-documentation/.git/COMMITMESSAGE': No such file or directory

Do you have a test version for this? Your last published release always fails to read the COMMITMESSAGE file here.
fatal: could not read log file '//wsl$/Ubuntu/home/stan/projects/work/platform-documentation/.git/COMMITMESSAGE': No such file or directory

Not related to this, I created a new issue (#99) and have pushed a fix :)

Ah perfect! Do you have a test version with this AND that fix included then? :)

I briefly looked at this PR and I think it would be good to include it into wslgit. The refactoring is also very welcome.
A few notes:

The installation step seems useful (for automatically detecting git), but I'd like to document somewhere in the readme that it is totally optional (e.g. if someone cannot or doesn't want to run the installation as Administrator).
Maybe the installation could/should automate adding the directory to Path, i.e. with setx?
I see you link to the WSL bash.exe from your installation, but according to the WSL docs this executable is deprecated. Can it be replaced with wsl.exe?
Also, I feel like the added bash.exe and sh.exe files may conflict with other tools if they are added to the Path (e.g. if the user also has Git Bash, msys, cygwin, or something similar). If we document that the installation step is optional (and adds these files to Path), users can decide for themselves if they want it or not.

What do you think?

@Stanzilla FWIW an alpha build with just the fix for #99 is available here: https://ci.appveyor.com/project/andy-5/wslgit/build/artifacts (but I guess you also want the Fork changes, which are not yet included)

Yup, installed Rust now though :) Thanks!

The installation step seems useful (for automatically detecting git), but I'd like to document somewhere in the readme that it is totally optional [...]

Good point, the description originated from the fork-patch which was entirely focusing on working with Fork. I'll rephrase and make it clear that it is optional and only required for when using with Fork.

Also, I feel like the added bash.exe and sh.exe files may conflict with other tools if they are added to the Path [...]

True. I'll change the file structure into two folders, similar to the structure of Git for Windows which has one bin and one cmd directory, where the cmd directory is what should be added to the path:
├── wslgit
│   ├── bin
│   │   ├── bash.exe (symlink) -> wsl.exe
│   │   ├── git.exe (symlink) -> ../cmd/wslgit.exe
│   │   └── sh.exe (symlink) -> wsl.exe
│   ├── cmd
│   │   ├── git.exe (symlink) -> wslgit.exe
│   │   └── wslgit.exe
│   └── install.bat

Maybe the installation could/should automate adding the directory to Path, i.e. with setx?

I think it should be manually added. Will avoid automatically adding multiple entries in the Path if the script is run more than once, and will avoid the responsibility of not screwing up the Path.

I see you link to the WSL bash.exe from your installation, but according to the WSL docs this executable is deprecated. Can it be replaced with wsl.exe?

The problem with wsl.exe is that if you pass -c command, as an application might do when using bash.exe, then wsl.exe responds with Invalid command line option: -c.
But after some testing it seems like Fork cannot use bash.exe nor wsl.exe, I suspect that it has something to do with fork beeing a 32-bit process and the others beeing 64-bit binaries, but as long as the files exists parallell to git.exe then Fork is happy. Funny that I haven't noticed this after using Fork for so long time 😄 But this is a Fork issue.

I pushed the changes according to the feedback and my comment above.

Hi, any progress on this?
Feel free to reword if you think it is necessary.

I would love to help test more but currently blocked on https://github.com/andy-5/wslgit/issues/71

Sorry for the delay, everything looks good to me. Thanks for your work.


Windows version?

Hi,
Would it be possible to port this to Windows too please?

itunes-api uses Applescript to communicate with and control iTunes. So a Windows version wouldn't be possible. Sorry!


Maintenance: Make Devcontainer work again

Tested in VSCode devcontainer. Some modifications to make the tests run. 2 out of the 9 tests are failing, this may or may not be related to points specific to the devcontainer.

LGTM but we need to get the code which pumps in version into the binary working again before making a release


Bundling via OPML ?

render german tech podcasts as OPML as suggested by sebastian@netzpolitik
See https://www.podcast.de/faq/antwort-60-was-ist-opml

should be a big deal to render our list in OPML, like it :+1:

On our website, https://engineeringkiosk.dev/deutsche-tech-podcasts/, we have the OPML file now available: https://engineeringkiosk.dev/deutsche-tech-podcasts/podcasts.opml
Import was tested via Pocket Casts on iOS App.

See https://github.com/EngineeringKiosk/webpage/issues/316


debug

Closes: n/a
Goal
Is the amancevice/setup-code-climate@v0 step needed?
Approach

Delete step.
Check CI.

Step is needed, closing!


New release please? :)

Hello @englercj,
Would be great to officially ship the 10 new improvements (that have been merged into tsd-jsdoc).
Cheers,
Aidin

2.5.0 is released.


Update to Joyent Install Doc

Link images from Joyent.com docs

Can you please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "joyent_docs" git@github.com:delojoyent/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

This will update the existing PR, so you do not need to open a new one.

I'd feel more comfortable if images used on our docs were in a github repo we had access to - but I'll leave that up to others.
LGTM - @docker/docs-owners

signed and repushed

Please remove the exclamation points, they are not appropriate for technical documentation.
I agree with Sven, linking to remote images is not really a good practice for a number of reasons. Can you please just add the files? Thanks. Much appreciated.

Aren't the exclamation points just markdown for images?
@delojoyent Can you please add the image files to the repo instead of linking externally? If not, we'll have to carry the PR (ping @moxiegirl), thanks!

@icecrime Oh, you're right.  Ignore me!

Created an issue for the carry: https://github.com/docker/docker/issues/12062


AdSpend doesn't seem to be populated for Opps in our org

Here is an example:

Sorry, wrong git instance.


Form submission fixes

Fixes for two bugs found when trying to submit Django user change form:

#26 multi-value selects
#27 radio/checkboxes with no 'value' provided

The whole function could probably be refactored to always use lists of values, but I decided to keep most of the code and behaviour unchanged.

Looks good to me, thanks. Might add a unit test for this later.

I'll publish a new release with the fixes.

Published v0.4.0 https://github.com/hickford/MechanicalSoup/releases/tag/v0.4.0


How to refer custom settings.xml from the build?

Sorry for raising an issue just to ask a question, but this is a very helpful example of the Concourse.ci pipeline and one important piece looks to be missing here.
Which exact path should I specify here
https://github.com/Pivotal-Field-Engineering/PCF-demo/blob/master/ci/pcfdemo-properties-sample.yml#L10
in order to pass my custom settings.xml to the maven build (e.g. with my Artifactory repo URL)?
I don't think that you can have access to the world outside of the java:8 docker container if you run the build as this project demonstrates.

One interesting way to solve this problem would be to check in the settings.xml into SCM system and reference it as a usual concourse.ci resource and input for the build task.
It then becomes accessible in the file system of the container where the build runs.


Improve tensordot performance with auto-rechunking

Automatic rechunking for tensordot computations.

[x] Closes https://github.com/dask/dask/issues/2225
[ ] Tests added / passed
[x] Passes black dask / flake8 dask / isort dask

Note: this seemed to work well for the 2D array examples I had, but is not so hot for 3D arrays.

Now I'm getting more weird memory problems, even using the same exact example & code from yesterday. Maybe I should do a restart and see if that's helpful

I gave this a spin on the motivating example from https://github.com/dask/dask/issues/2225#issue-221981022
import dask.array as da
x = da.random.random((500, 500, 500), chunks=(50, 50, 50))
y = da.random.random((500, 100), chunks=(50, 50))
axes = (1, 0)

Baseline result (equivalent to the current method in the main branch):
z1 = da.tensordot(x, y, axes=axes, rechunk=False)
%timeit z1.compute()
# 3.34 s ± 147 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

Manual rechunk example:
x2 = x.rechunk((50, 500, 50))
y2 = y.rechunk((500, 50))
z2 = da.tensordot(x2, y2, axes=axes, rechunk=False)
%timeit z2.compute()

Result with auto rechunking from this PR:
z3 = da.tensordot(x, y, axes=axes, rechunk=True)
%timeit z3.compute()

This was on my laptop, so nothing special, but it gives you an idea.
Visually, the task stream for the last, auto-rechunked example does look nice. There is still a little bit of red and white space in there, but it is less than in the other two examples.
It's 1.17 seconds (around 35%) faster than the baseline. If I persist the input arrays before passing them to tensordot (I think maybe this will isolate the computation time a bit better?) then there's a ~10% speedup. The "manual rechunking" example given was very similar in time to the un-rechunked original - the big difference is probably because the auto rechunking is giving us larger chunks to work with than both those examples.

Also, any thoughts on testing?

I've been thinking about it, but haven't come up with any good ideas (maybe benchmark speed with & without automatic rechunking for an example where we know it should help? That's not a great idea though, because it would be too time consuming to put in the regular CI tests, and nobody is active on the benchmarks repository so a regression there would be unlikely to be noticed).

I'm thinking that maybe the number of dependencies has shurnk considerably? If so we could maybe do something like ...
def test_tensordot_rechunk():
    x = da.ones((10000, 10000), chunks=(1000, 1000))
    y = x.dot(x.T)
    dependencies, dependents = dask.core.get_deps(y.__dask_graph__())
    assert sum(v for v in dependencies.values()) < some magic number

Just checking I understand the intention of this code snippet. Each dependency value is a set. Are you trying to count how many items are in all those sets? If so, we'll need to check the length and sum that, I think.
x = da.ones((10000, 10000), chunks=(1000, 1000))
y = da.tensordot(x, x.T, axes=(1, 0), rechunk=False)
dependencies, dependents = dask.core.get_deps(y.__dask_graph__())
sum([len(v) for v in dependencies.values()])
# 2100  (no rechunking)

x = da.ones((10000, 10000), chunks=(1000, 1000))
y = da.tensordot(x, x.T, axes=(1, 0), rechunk=True)
dependencies, dependents = dask.core.get_deps(y.__dask_graph__())
sum([len(v) for v in dependencies.values()])
# 500 (automatic rechunking)

If there is a magic number, it will depend heavily on what the input chunk sizes are.

Summarizing work to date

Where this works well: if the output array is such that the dimensions are smaller than the input arrays
Where this works poorly: if the output array is such that the dimensions are larger than the input arrays (might need to add in some logic from my first approach, which revolved around checking the output chunk sizes won't be too large)
Next up: I need some better examples that more thoroughly cover the space of possible input & output shapes. I've just been randomly changing numbers and I think I need a better approach for this.

Worst case scenario: even if this is only helpful in a very limited set of circumstances... we can just check if we're in that case or not within tensordot and skip rechunking if it wouldn't work well. So that's reassuring.

cc @tomwhite

assert sum(v for v in dependencies.values()) < some magic number

Yes, I meant to add a len(v) call in there

Can one of the admins verify this patch?

add to allowlist

Thanks for working on this @GenevieveBuckley.

I need some better examples that more thoroughly cover the space of possible input & output shapes.

The example I mentioned in https://github.com/dask/dask/issues/7847#issuecomment-874749110 might be a good one to try out here. The linked notebook shows the effect with and without a manual rechunk - I would hope the change in this PR would avoid the need for a manual rechunk.

I suggest the following strategy:

Choose chunking such that the intermediate chunks are as large as possible.  This helps us to reduce replicas of the input data across the cluster

However, we need to keep the intermediate chunks small enough so that they fit comfortably in memory.  In addition we'll probably want several of them to fit in memory at once because we'll have at least a couple for every thread.

Even then, we may need replicas.  I recommend that we try some of the new active memory management work happening in https://github.com/dask/distributed/pull/5111 .  That PR actually has a notebook gist I think that includes an experiment showing lower memory use in tensordot
In https://github.com/dask/distributed/pull/5111#issuecomment-885988003 I propose an experiemnt where we change the heuristics in the ReduceReplicas class to not keep around as many replicas as we have waiting tasks, but maybe something like half as many as we have waiting tasks.  This might be a bit more aggressive.  I'm curious how far we can take this.

Additionally, we might consider situations where one of the arrays is highly asymmetric, such that we might be able to rechunk one entire axis to a single chunk.  Are there special cases like this that result in streaming behavior?  Maybe not, but it might be worth thinking about.  Multiplying a tall-and-skinny matrix against a small matrix is relatively common.  We should verify that that case works reliably in small memory.

So to be clear, barring any asymmetry in the input array shapes (and maybe asymmetry is common and we should really think about this) I think that we should choose input chunks such that the intermediate chunks are as large as we can make them without crashing the system.

Some concrete steps and experiments to run:

Find a few representative cases to test.  Maybe five.  These would represent cases that we expect to be common.  I'll suggest a few here:

Vector-vector multiply
tall and skinny against small row
tall and skinny against small square
tall and skinny against short and fat
large square against large square
short and fat against tall and skinny

For each of these see how "auto" rechunking does.  Also for each of these make a recommendation for what ideal chunking strategy would be (try three strategies on each, report what does best)

Run the notebook in Guido's PR.  Adjust the ReduceReplicas class to see if we can make the policy more aggressive without breaking things.  Does this have an effect?

If so, run the computations above but with Guido's PR.  See if it has an effect in each case

I've been trying out the active memory management framework from https://github.com/dask/distributed/pull/5111
Notes:

I had to scale stuff down to run it on my machine. I picked settings based on having the dashboard worker memory plots go orange fairly frequently (and also spill to disk occasionally).
In general, no active memory manager + persisting dask arrays leads to high cluster memory overall. This is not surprising, and is expected based on Guido's demo notebook results.
More surprising: Guido's notebook results showed that no active memory manager + not persisting dask arrays also resulted in high overall cluster memory. I only infrequently saw this happen.

I was going to suggest that maybe we could use the active memory management as a tool to make long and skinny chunk shapes more feasible (good for keeping individual worker memory low, but bad for duplicating lots of data across the cluster). But I'm not sure if it's super clear cut that it's worthwhile, based on my experiments so far.
I haven't played around much adjusting the replicas settings to be more aggressive yet, mostly because I wanted a better understanding of what factors led to different results first. I plan to try this next. My main worry with this is that I might find some general rule like "we can be X% more aggressive" but only have that hold true for my specific laptop hardware. I could possibly try to avoid this pitfall by changing the resources I give the dask cluster/client. Other suggestions are welcome.

This was only something to try.  I wouldn't bet the farm on this approach.
if it's not paying off then we don't need to pursue it.
On Tue, Aug 17, 2021 at 4:24 AM Genevieve Buckley @.***>
wrote:

I've been trying out the active memory management framework from
dask/distributed#5111 https://github.com/dask/distributed/pull/5111
Notes:

I had to scale stuff down to run it on my machine. I picked settings
based on having the dashboard worker memory plots go orange fairly
frequently (and also spill to disk occasionally).
In general, no active memory manager + persisting dask arrays leads
to high cluster memory overall. This is not surprising, and is expected
based on Guido's demo notebook results.
More surprising: Guido's notebook results showed that no active
memory manager + not persisting dask arrays also resulted in high overall
cluster memory. I only infrequently saw this happen.

I was going to suggest that maybe we could use the active memory
management as a tool to make long and skinny chunk shapes more feasible
(good for keeping individual worker memory low, but bad for duplicating
lots of data across the cluster). But I'm not sure if it's super clear cut
that it's worthwhile, based on my experiments so far.
I haven't played around much adjusting the replicas settings to be more
aggressive yet, mostly because I wanted a better understanding of what
factors led to different results first. I plan to try this next. My main
worry with this is that I might find some general rule like "we can be X%
more aggressive" but only have that hold true for my specific laptop
hardware. I could possibly try to avoid this pitfall by changing the
resources I give the dask cluster/client. Other suggestions are welcome.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/pull/7950#issuecomment-900138417, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKZTDY7L3Q5A6UERNVXPTT5ITGLANCNFSM5BDU6LEQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

This was only something to try. I wouldn't bet the farm on this approach. if it's not paying off then we don't need to pursue it.

Well it certainly hasn't hurt, even if it hasn't helped much. Since I had to scale down my examples, I think it will be informative to make the time between active memory manager sweeps shorter too. If there's not a great deal of change we'll just continue on.

Been spending some time today looking at greater than two dimensional cases, with fairly disappointing results (even in combination with the quick fix for unbounded memory use https://github.com/dask/dask/pull/7980)


Kubernetes - Cluster do not start

After deploying a cluster using acs-engine (following fix for kubernetes dashboard), the cluster do not start anymore after deploy. I'm on commit c67286684e9cfa78d189afb392d9d2479eb92724.
user@k8s-master:~$ kubectl get services --namespace=kube-system
Unable to connect to the server: dial tcp <IP_ADDRESS>:443: i/o timeout
user@k8s-master:~$ kubectl cluster-info
Unable to connect to the server: dial tcp <IP_ADDRESS>:443: i/o timeout

Your service principal is likely wrong. Please check the troubleshooting steps: https://github.com/Azure/acs-engine/blob/master/docs/kubernetes.md#misconfigured-service-principal

It's strange. I tried again using the procedure https://github.com/Azure/acs-engine/blob/master/docs/serviceprincipal.md and used the client_id and secret generated. Still my new cluster still have issue.
Jan 10 23:35:11 k8s-master-40256100-0 docker[5299]: E0110 23:35:11.849237    5750 kubelet_node_status.go:70] Unable to construct api.Node object for kubelet: failed to get external ID from cloud provider: autorest#WithErrorUnlessStatusCode: POST https://login.microsoftonline.com/XXXXXXXX/oauth2/token?api-version=1.0 failed with 401 Unauthorized: StatusCode=401
I will try again tomorrow.

Please also ensure you're in the correct subscription in the CLI and also that your azure-cli is up-to-date. Early versions had bugs that would cause the credentials to not activate for hours depending on your timezone or might not have assigned permissions to the SP by default.

@colemickens : it was probably an outdated version of azure cli. i tried it again this morning and it works flawlessly.

Great to hear!


Add transform name to UnexpectedTracerError.

If we thread through the name of the transform that kicked off a jaxpr trace, we can add this information to the UnexpectedTracerError. This is useful to track down where the actual tracer side-effect occurred.
Happy to be convinced of a different approach which uses some global tracer state :)

the build without omnistaging (py 3.7 on ubuntu-latest, x64=0) seems to be consistently timing out on this one, not sure if that is a cause for concern? I did try running the tests locally with omnistaging disabled and they were fine (and also that shouldn't actually make any difference anymore 🤔)

Yes, something looks strange here... but if you've synced past #6196, disable_omnistaging should be a no-op, so the only difference I think is that the CI would be running Python 3.7

I triggered a re-run of the jobs... we'll see if the error persists.

... no, it's failing again, and unfortunately failing so slowly that the CI times out before reporting the actual error.

aha, thanks! I'll take a look on Monday. (btw is there a better way for me to rerun the checks other than re-pushing the commit?)

I think I figured out what's happening: #6196 made disable_omnistaging() a no-op, but the test still thinks omnistaging is enabled, and so is failing on any omnistaging-dependent tests. I'm going to send another PR to fix that.

Should be fixed after #6227


Camel-Salesforce: Support for relationship queries. Fix invalid DTO generation.

This adds support for relationship queries, but had to fix a couple of bugs in the process. I'm still doing some regression testing, but I'd like to start getting feedback.

Enhancements: Support for relationship queries – both child queries and
parent queries. https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_relationships.htm

Fixed: Polymorphic fields can result in broken DTOs. E.g., if Contact and Lead both
have an External Id field, the POJO generator would generate two fields with
the same name (see below). The solution is to have a who property that accepts an
AbstractDescribedSObjectBase instance.

// Declares two WhoId_Lookup fields
private Contact_Lookup WhoId_Lookup;
@JsonProperty("Who")
public Contact_Lookup getWhoId_Lookup() {
    return this.WhoId_Lookup;
}

@JsonProperty("Who")
public void setWhoId(Contact_Lookup WhoId_Lookup) {
    this.WhoId_Lookup = WhoId_Lookup;
}
private Lead_Lookup WhoId_Lookup;

@JsonProperty("Who")
public Lead_Lookup getWhoId_Lookup() {
    return this.WhoId_Lookup;
}

The “_Lookup” DTOs are no longer needed. You can now just use the Class
you’re looking up to, e.g. “Account” instead of “Account_Lookup”.
This is a breaking change.

Fixed: Tests unnecessarily referring to Custom Fields that are not
represented in the salesforce metadata.

@zregvart Thanks for the suggestions. I pushed another commit. Would it have been better to force push a replacement commit? In any case, I'd like to squash this down to one before it is merged.

@jeremyross yes feel free to force push a squashed commit and I can merge this, thanks!

@zregvart All done.


ChannelConfig for data channels in SdpApi

Make it possible to configure reliability and ordering when creating data channels through the SdpApi by having SdpApi::add_channel take a ChannelConfig.
It might make sense to add convenience methods for common configs e.g. ChannelConfig::reliable(label) or SdpApi::add_reliable_channel(label).
With this change it's not clear how to create out-of-band negotiated channels, since on the side that will generate the initial answer applying added channels will create an offer. My guess is adding them after accepting the initial offer would work, but this should be documented.

Hi @uwuPyxl, welcome to str0m!
This looks good! I strive to keep the SDP API I believe to be used the most as simple as possible, which means I'd like to keep add_channel taking just the label argument, but also add a second function add_channel_with_config which is the way you made it in this PR. This mirrors RTCPeerConnection.createDataChannel(label) – which should make it easier for new users to str0m to understand the API and also avoids a breaking change. Internally they should of course proxy to one impl.
If you make that change we can land this straight away.

I just noticed that currently add_channel creates a reliable unordered channel. I am assuming this is unintentional and should be ordered instead?

I just noticed that currently add_channel creates a reliable unordered channel. I am assuming this is unintentional and should be ordered instead?

Oh does it? It should mirror RTCPeerConnection.add_channel()

add_channel uses the default ChannelConfig. Since it is derived it uses the default of bool for the ordered field which is false. I added a custom default implementation for ChannelConfig that sets it to true instead.

Looks great! Thanks!


feat: add sign in link to splash screen

Current dependencies on/for this PR:

main

PR #31   👈

This comment was auto-generated by Graphite.


Masking For Image Data

Hey guys,
I'd like to mask out some values of an image. Is that currently possible?
I haven't done very much with images before, but isn't that a quite common application which should be supported?

There are several ways to mask image data with numpy, opencv, etc.
Does something prevent you from masking your images before putting them into the net?

How would that look like? Would it be sufficient to just set the pixel values to zero?

Someone might correct me if I'm wrong, but when you look a a standard pre-activation function, wich equals X * W + b, than your layer output should equal b, when your input is 0.
So with biases initialized to 0 (wich is default) your neuron output should be zero too. Though nothing prevents your net from changing your biases...


Replace uri-js by fast-uri

fast-uri is a fork of uri-js which is rewritten in javascript to focus on performances issues.
What version of Ajv you are you using?
Ajv 8.8.2
What problem do you want to solve?
Speed improvement
What do you think is the correct solution to problem?
As discussed with @epoberezkin , an option can be added to inject fast-uri to replace uri-js to not have a breaking change in the current version
Will you be able to implement it?
Yes
Ref: https://github.com/fastify/fast-uri

Let's please do in the same way regexp option was added, with URI as default - there should be defined a required interface (type) and fast-url would be dev dependency for tests only.
It would be good if tests are run with it though (doubling the test time...), to see if we can swap in in v9.
Thank you!


update with latest Studio patterns

[x] change Songhay.StudioFloor.Client.ClientUtility to ProgramComponentUtility 🔨 🚜
[x] rename components with conventional suffixes (*ElmishComponent, etc.) 🚜
[x] add YouTubeModel.blazorServices property to stop passing services like IJSRuntime in update args

this was done in https://github.com/users/BryanWilhite/projects/25


[Combat] Applying Armour penalties to tests

Separate issue for handling the armour penalties, from combat page to get them to pull through correctly.

Have it working for Speed and Agility since they are the easy ones to do it for, just need figure out how I want to handle it for other tests

 New table layout


[Repeatable] Show custom balde data

Bug report
I want to show a custom blade data in a custom_html field inside a repeatable
What I did
I creataed an accesor in the model with the repeatable data as json
public function getLogisticServicesDataAttribute()
{
   $logisticServicesData = [
      'name' => $this->name
      'up_services_html' => view('common/logistic_service_order', [
             'date' => $this->date,
     ]),
   ];
    return json_encode($logisticServicesData);
}

And in the controller the repeatable
$this->crud->addField([
            'name'  => 'logistic_services_data',
            'label' => trans('crud.order.logisticServicesOrder'),
            'type'  => 'repeatable',
            'fields' => [
                 [
                    'name'  => 'name',
                    'type'  => 'text',
                ],
                [
                    'name'  => 'up_services_html',
                    'type'  => 'custom_html',
                ],
            ],
            'new_item_label'  => trans('crud.order.newService'),
            'tab' => trans('crud.service.services'),
            'init_rows' => 0
        ]);

What I expected to happen
I want to show the up_services_html blade in the custom_html field. 'value' field is mandatory, but what i put there?

Hello @aberaldo as per custom_html field definition https://backpackforlaravel.com/docs/5.x/crud-fields#custom_html the value  should be the content you want to show as a field. for example an <hr/> or something like that.
For more advanced field usage i'd recommend you to create a custom field or use a view field type https://backpackforlaravel.com/docs/5.x/crud-fields#view-1 to load your custom field.
I'd also recommend you to start from a backpack field like template by publishing it: php artisan backpack:publish crud/fields/text and then rename it so it does not replace the backpack core text field. You will have the backpack field structure and will avoid some errors when building a custom field. If you want a select start from select etc ...
Let me know,
Pedro

Hey @aberaldo the way I see it, the view or custom_html fields allow developer to use their own html, but ofcourse if they want their custom field to work with backpack features it must have some Backpack core stuff on it, like the wrapper etc.
Same principle applies if you want your custom field to be compatible with CRUD JS API depending on your fields inner-workings you might need to apply some solutions (that we already apply on some crud fields, like listening to the enable/disable/change etc events and doing some custom stuff on those fields).
That's why I'd recomment starting from an already existing Backpack field so you don't mess up setting up the wrapper the initElementFunction if it needs some js, pushing to the correct styles/scripts stacks etc.
I will be closing this as I don't think there is much we can do here, or maybe I am not fully understanding what is the need here, maybe when you come up with something that satisfy your needs, you share it, and I get a better picture of what you want to achieve.
If there is something else I can help with, ping me!
Cheers

@pxpm what i need is inside a repeatable, display some value as html not in a text field or some other form field type. I will try those you mentioned before. I will drop you a line if i have some news ;-)


Updated ActionColumn.php

Enhanced for simple feature such as add HTML options to a specific
targeted button instead of overriding initDefaultButtons() function.
I think it will useful if not please correct me.

Thanks for the reply, I'm not able to provide a right use case. Because I think the buttons property is fulfilled my needs instead of introducing a new property. Therefore I'm closing this pull request.


Install point is not dynamic

The install point is currently hard-coded. Alter the scripts to increase portability.

Placing on short-term hold until the solution is in active use.


One or more of Firebase.set are being ignored!

I have a problem making some of the Firebase.set to change values or create the nodes in my Firebase application.
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);     delay(200);     Firebase.set("Temperature", temperatue);                   OK     Firebase.set("Home Temperature", HouseTemp);        OK     Firebase.set("Humidity", humidity);                             OK     Firebase.remove("Home Humidity");                          NOT     Firebase.set("Home Comfort", HouseAir);                   OK     Firebase.set("Home Humidity", HouseAir);                 NOT     Firebase.pushString("Time", timeClient.getFormattedTime());          OK
Anyone knows what is this issue and how to solve it.

setString or setInt.. not just "set"

      setString or setInt.. not just "set"

Tried that as well, and I just double checked now, still not working.
If you check both instructions
Firebase.set("Home Comfort", HouseAir);
Firebase.set("Home Humidity", HouseAir);
The first one is working and updating properly but the second one strangely do nothing. even with setString.


fix: improve mouse actions

This PR implements better state management of the mouse. This allows us to offer the mouse buttons attribute. This also improves processing speed by queuing them immediately.

Tests are still failing. I will wait for CI to be green before taking the final look.


fix(sparkle modal): use padding instead of margin

We want the content to scroll "into" the header bar instead of into some margin a few pixels below

LGTM! Is it expected that the BarHeader is removed?

Not sure what you mean ?

There's some indent change but it's still there