Allow to connect via ssh without agent/key-file (with Kerberos, specifying ssh options)

gdb --version 10.1
debugging works

The current setup that works is:
					"ssh": {
						"host": "${config:project.server}",
						"user": "${env:USERNAME}",
						"password": "${config:my.pass}",
						"keyfile": "${config:my.key}",

But this adds the need of adding two "unknown" settings to each user's settings.json for password + key - and generate a keyfile for every user (and, if there's a short connection issue, then debugging stops during startup).
In every other place of this projects we use "plain" ssh tasks for example:
			{
				"label": "show what I do",
				"command": "X:\\OpenSSH64\\ssh.exe",
				"args": [
					"-t",
					"-K",
					"-o", "CheckHostIP=no",
					"-o", "StrictHostKeyChecking=no",
					"-o", "ConnectionAttempts=5",
					"${env:USERNAME}@${config:project.server}",
					"ps -fu `whoami`"
				]
				"group": "none"
			},

So the other places use an ssh binary and passing different options, including Kerberos authentication instead of private key
It would be very good to use the exact same or similar setup for debugging via ssh, too.

Any hint how to possibly implement that? [I guess that would take quite some time for me, but I may would give it a try if there's general support for this approach but it is unlikely to be added otherwise]

right now the ssh2 dependency is used for SSH connection, would need to check there for support of this.

Any news about this, or any workarounds?
My only options to authenticate are password and Kerberos, and I don't feel very safe in putting the unencrypted password in the config file.

is it possible to spawn a local ssh server using sshd or ssh that just forwards or tunnels the connection? That way we could use the system-installed SSH and just rely on the node dependency to connect to the local tunnel.


Create New method for dynamic creation of variable from input

Handle-

Non-pointer
Pointer
interface - figure out actual type and create the instance
reflect.Value too

Defer it.


Added Learning-Processing Course and fixed the "series within series" problem #499

Added Learning-Processing Course with Session 0.
Also Fixed the "series within series" problem from issue #499
Instead of looking at the number of "/" to see if it's at the same level in the same collection, I make it look at the whole path.

Great, merging!


feat: Spatial Mode User Story 1

Added all features based on excellxgene POC and adjusted to explorer
Added feature flag
Added default imageUnderlay switch when viewing spatial embedding
Changed to webp format for image underlay

To test:

Pull branch and add the test database (either locally or via the direct S3 URI (to be added by Seve)
Run explorer
Visit the frontend and add the feature flag query param -
http://localhost:3000/d/ba344978-e1aa-40db-a611-b952c10df148.cxg?spatial=true

Still to do in separate PRs:

Add different spatial embedding resolutions to embedding drawer
Add proper typing where any
Unit and e2e tests

https://github.com/chanzuckerberg/single-cell-explorer/assets/7976579/2131976f-57e8-49bf-8979-816955c23a4e

@seve just wanted to double check that this is no longer an issue:
https://github.com/chanzuckerberg/single-cell-explorer/pull/805#discussion_r1516684545
Thank you!


Fix white color in colors.theme

\[\e[0;37;1m\] means bold_white, and bash-it has it as bold_white already. I replaced it with \[\e[0;37m\] to use it as a normal white color.
Thanks!

Thanks for catching this! It's possible that this will have an impact on themes using the white color, i.e. the themes might look differently now. Let's see...

Thanks for your quick response! Yeah let's see, and if some strange things happen we can revert it to not make breaking change silently :)


Question about inference command

I’m reaching out regarding the inference-promptsliders-sdxl.py script, particularly for adjusting the scale. Could you kindly provide an example of the command or the appropriate settings to run this script?
I attempted the following setup:(b/c i trained the network on smiling)
concept = "smiling"
learned_embed_path = f"outputs/{concept}-promptslider/learned_embeds.safetensors"
However, when I executed the script, I encountered the following error:
Traceback (most recent call last):
File "/home/codes/slider_manipulation/promptsliders/inference-promptsliders-sdxl.py", line 509, in
images = pipe(prompt, num_images_per_prompt=1, num_inference_steps=50, generator=generator, start_noise=start_noise, scale=scale, unet=pipe.unet, pipe=pipe).images[0]
File "/home/anaconda3/envs/pslider/lib/python3.8/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/home/codes/slider_manipulation/promptsliders/inference-promptsliders-sdxl.py", line 353, in call
add_time_ids = self._get_add_time_ids(
File "/home/anaconda3/envs/pslider/lib/python3.8/site-packages/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py", line 710, in _get_add_time_ids
self.unet.config.addition_time_embed_dim * len(add_time_ids) + text_encoder_projection_dim
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
I would greatly appreciate your guidance on how to resolve this issue and correctly set up the script. Any examples would be incredibly helpful.

The issue mentioned here is due to the diffusers version mismatch. Please try the diffusers version 0.20.2 and huggingface-hub==0.21 and try running the code.
pip install diffusers==0.20.2
pip install huggingface-hub==0.21


CASSANDRA-16302 Fix flaky to reflect Array backed clustering

At some point we switched to Array backed clusterings while the test was expecting ByteBuffers.

CI j11
CI j8
The test that have been fixed only run on utetsts_long phase but including both full CI runs for completion.

CI j11
CI j8

Committed manually.


parallelize json export

This is much faster (obviously) and uses less memory (surprisingly).
Thanks to @gebner for https://github.com/leanprover-community/mathlib/pull/6293

Wow, this takes the build time from ~30 minutes to 8!
Note that @gebner has a PR in progress removing part of the PR linked above after changes in core Lean, but it doesn't seem to build yet: https://github.com/leanprover-community/mathlib/pull/6441


Search with wildcard does not work on TRA

Site = 'TRA', API = 'aspenone'
serach with no wildcard works:
ims.search('TRA-35PT3601A.PV')
[('TRA-35PT3601A.PV', 'Tog A gass innløp trykk')]
serach with wildcard does not:
ims.search("-35TI")
Traceback (most recent call last):
File "", line 1, in
File "c:\Users\torlid\OneDrive - Equinor\Python\pyCmpr.venv\lib\site-packages\tagreader\clients.py", line 313, in search
return self.handler.search(tag=tag, desc=desc, timeout=timeout)
File "c:\Users\torlid\OneDrive - Equinor\Python\pyCmpr.venv\lib\site-packages\tagreader\web_handlers.py", line 411, in search
description = self._get_tag_description(tagname)
File "c:\Users\torlid\OneDrive - Equinor\Python\pyCmpr.venv\lib\site-packages\tagreader\web_handlers.py", line 461, in get_tag_description
data = self.fetch(url, params=query)
File "c:\Users\torlid\OneDrive - Equinor\Python\pyCmpr.venv\lib\site-packages\tagreader\web_handlers.py", line 146, in fetch
return json.loads(txt)
File "C:\Program Files\Python310\lib\json_init.py", line 346, in loads
return _default_decoder.decode(s)
File "C:\Program Files\Python310\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Program Files\Python310\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

tagreader          5.1.3

I guess this was solved by Åsmunds PR #340.
If this still is not working as expected, let me know and I will re-open the issue.


MongoDB - Multiple Collection Filters

Feature Request
Currently, you can specify a  CollectionFilter for a MongoDB source like this:
var source = mongodb({
  "uri": "mongodb://localhost:32769/local_database",
  "collection_filters": "{ \"collectionname\": {\"property\": \"test.68817\"}}",
})

The string value for the collection filter doesn't work for more complex filtering. For example, the following causes a json unmarshalling exception:
  "collection_filters": "{ \"collectionname\": "{\"$or\": [
      {\"property\":\"test.68817\"},
      {\"property\":\"test.88217\"}
  }]}"

It would be great if transporter supported more complex MongoDB filters within the CollectionFilter.
Proposal:
Alternatively, allowing the filtering of documents which match more than one value of a property might be a simpler step to start with.
I have forked transporter and created a branch which allows the following syntax for a collection filter:
"collection_filters": "{ \"collectionname\": [{\"property\": \"test.68817\"}, {\"property\":\"test.88217\"}]}",

The ability to transport documents matching multiple filters using the tail option to keep two databases in sync is important for us to be able to migrate data in a live system without taking the system down.
The fork and PR with this change are here: https://github.com/talis/transporter/pull/1
Do you have plans to add this feature?
Would you accept a PR making the change I have spiked in our fork?
Have I missed something - is it already possible to achieve what I'm doing without a code change?

Is there any plans to add this to master? Encountered with the same problem, and it seems like very useful feature.


Add a github workflow to insure that the lua OSRM profile at least co…

…mpile
And remove failing bus_congestion.lua

Why remove bus congestion? We will need it when driving congestion will be working (bus congestion will have even more penalties) and when there are bus lanes, we must increase the congestion speed to maxspeed/speed limit

@kaligrafy , il me semble que tu m'avais dit de l'enlever comme il était brisé.

Tu peux l'enlever, mais il faut se rapeller de le remettre


xamarin forms searchview error

Hi,
This repo is for issues directly related to the samples for ArcGIS Runtime SDK for .NET. For questions beyond the samples there are several support options available to you: https://developers.arcgis.com/net/support/.
Thanks


It works, but some errors have appeared

1# When I move the mouse over the gui interface，the following errors continue to appear 。
''Exception in thread Thread-187:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 801, in __bootstrap_inner
self.run()
File "C:\Python27\lib\threading.py", line 1073, in run
self.function(self.args, **self.kwargs)
File "MindMap-master\Thought.py", line 943, in pulse
self.moveByPix((0,-1.0pixMove*dt))
File "MindMap-master\Thought.py", line 621, in moveByPix
self.reDraw()
File "MindMap-master\Thought.py", line 220, in reDraw
self.canvas.coords(self.mainRingIndex, x0p, y0p, x1p, y1p)
File "C:\Python27\lib\lib-tk\Tkinter.py", line 2299, in coords
self.tk.call((self._w, 'coords') + args)))
ValueError: could not convert string to float: expected
Exception in thread Thread-211:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 801, in __bootstrap_inner
self.run()
File "C:\Python27\lib\threading.py", line 1073, in run
self.function(self.args, **self.kwargs)
File "MindMap-master\Thought.py", line 943, in pulse
self.moveByPix((0,-1.0pixMove*dt))
File "MindMap-master\Thought.py", line 617, in moveByPix
pixelY=self.root.winfo_height()
File "C:\Python27\lib\lib-tk\Tkinter.py", line 844, in winfo_height
self.tk.call('winfo', 'height', self._w))
ValueError: invalid literal for int() with base 10: 'expected boolean value but got "??"'
Exception in thread Thread-219......''
2# Is it possible to do some anti-aliasing optimization?

Unfortunately, this code was written while I was still quite inexperienced. Ideally, the code would be re-written with something more efficient than tkinter (which is more suitable for simple interfaces than for many many visual objects and animation). Maintaining this code is currently very low priority.

Fine ,but this project really brought me some inspiration.
I'm using mindmaps-master (based on JavaScript) now.
Thanks for your reply.


Locales throwing errors

Cannot import errors that are not assigned to the default locale

Locale-specific importing isn't supported at the moment, but I'll add that to the roadmap. I'll look at adding this sooner rather than later however.

Great thanks - there is a solution where you can temporarily move the
required locale to be the default locale which resolves this but obviously
not ideal.
Thanks again!
On 14 December 2015 at 22:36, Josh Crawford<EMAIL_ADDRESS>wrote:

Locale-specific importing isn't supported at the moment, but I'll add that
to the roadmap. I'll look at adding this sooner rather than later however.
—
Reply to this email directly or view it on GitHub
https://github.com/engram-design/FeedMe/issues/23#issuecomment-164582098
.

--
Cole Henley
Technical Director
Mud // Clear Digital Thinking
3a Fountain Buildings  Bath  BA1 5DU
01225 471 465

Hi @engram-design Any further thoughts on Locale support? I have a project starting very shortly, that is going to need the ability to handle importing of data—ideally via RSS—in multiple languages.
Happy to help out, if that would move things along … ?
Cheers,
Brett

No progress as of yet, but its a relatively straightforward (off the top of my head at least) to implement.
I'll have a look this weekend and get back to you if anything comes up that might make things take longer!

Awesome. Thank you!!

Hi @engram-design, Sorry to pester! Wondering if you've had a chance to look at Locale support yet? Many thanks,
Brett

This has been included in the 1.4.7 release.


[5.3] Uncaught ReflectionException: Class view does not exist

Laravel Version: 5.3
PHP Version: 7.0
Database Driver & Version: Mysql

Description:
When run the project,Laravel give me this exception  "Class view does not exist" .
But why ?
Steps To Reproduce:
Stack trace:
#0 /var/lib/php/composer_package/vendor/laravel/framework/src/Illuminate/Container/Container.php(749): ReflectionClass->__construct('view')
#1 /var/lib/php/composer_package/vendor/laravel/framework/src/Illuminate/Container/Container.php(644): Illuminate\Container\Container->build('view', Array)
#2 /var/lib/php/composer_package/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(709): Illuminate\Container\Container->make('view', Array)
#3 /var/lib/php/composer_package/vendor/laravel/framework/src/Illuminate/Container/Container.php(1203): Illuminate\Foundation\Application->make('view')
#4 /var/lib/php/composer_package/vendor/laravel/framework/src/Illuminate/Routing/RoutingServiceProvider.php(144): Illuminate\Container\Container->offsetGet('Illuminate\\Cont...')
#5 /var/lib/php/composer_package/vendor/laravel/framework/src/Illumin in /var/lib/php/composer_package/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 749
[22-Feb-2017 01:52:33 UTC] PHP Fatal error:  Uncaught ReflectionException: Class view does not exist in /var/lib/php/composer_package/vendor/laravel/framework/src/Illuminate/Conta

I fixed this by modifying project dir's  permissions

By modifying them to..?

@ChristianTheMinery  https://stackoverflow.com/a/37266353/1564365

in my case was a comma missing in the config/app providers array, or like i read in another post an space in the .env file

Whenever i receive these kind of errors, i try to run php artisan in the command line as it shows where the error lies. Mostly due to errors in env file

@epileftro85 thank you. it's work now. i just found a word on my .env file.

In case anyone else exhausts the other options above, for me it was because I was throwing an exception in a package-overriding config file.
Lesson: don't throw exceptions from your config files.

In my case I had to run composer update and then composer dump-autoload.
There was change in my dependencies.

in my case it was the .env file went awol throwing this error

I fixed this by formatting my pc and replacing the AC system in the office.

Check SELinux.  that was the problem for me.
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/site/laravel/bootstrap/cache(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/site/laravel/config(/.*)?"
restorecon -Rv /var/www/tsite/```
Particularly the config one..

Create .env file with your params.

in my case:i had deleted the  folder of vendor,reinstall all dependencies,the problem solved.

check php version. it must be >= 7.2.

Solved this issue after removing space in the .env file (view .env in sublime because vi editor doesn't show space at end of the .env file.) and run below commands.
Commands:
php artisan config:clear
php artisan cache:clear
composer dump-autoload
php artisan clear-compiled

Had the same issue, after running composer dump-autoload, I discovered it was because I had forgotten to install a package (Laravel Excel) I had setup on my dev server that wasn't yet loaded on the production server.

Same Problem like @dylanglockler  fix it

I'm locking this issue because it either has gone off-topic, become a dumping ground for things which shouldn't be in an issue tracker or is just too old.


Add Polkadot records

Task summary

Add SSL verification record for polkadot-snapshots.chainsafe.io
Add polkadot-snapshots.chainsafe.io record

Specification reference

Related task: https://github.com/ChainSafe/infrastructure-general/pull/25

Other information and links

wrong repo


Exciting prospects ahead!

After reading the documentation and hearing your demo, @LeifBloomquist , I'm keen to support this project and pitch in as best I can. I don't have a VIC-20 at moment (I should be able to source one soon), and I've never programmed anything with MIDI or anything for the VIC-20, but I'm keen to have a look at the files here and chat through possibilities. I dabbled with BASIC in the 1980s and have done some programming more recently.
As an electronic musician, I would love any extra expressive CC commands, like modulation and pitchbending if you think these could be practical to implement. Is there a VIC-20 emulator I can use to playtest the existing code? And if so, can I send MIDI controllers signals to it somehow?
Count me in as keen to help take this project further. I'm also an illustrator, so if you'd like to jazz up the project artwork, manual, etc. I have skills to share. I'd gladly provide these services in return for a cart, if they're of value to you (Jim?)... and I'd like to make a proper video review of the cartridge, after being a bit underwhelmed by the only one I could find on Youtube (the conference talk videos circa 2015 were more inspiring). I'd do both of these things in return for a freebie. :P
I have a general "Danimations Digital Media Tips" channel on Youtube, where I'd like to showcase the project and you'll hear a little bit of my chiptune compositional spark in the theme music there too. ;) http://youtube.com/danimationstips

Great!  Sounds good to me.  There's definitely more enhancements that could be done.
Just keep in mind the VIC voices are very limited, each one has a possible 127 fixed frequencies and that's all.   There is an obscure phenomenon called "viznut's waveforms" that adds some extra crunch to the voices but it's tricky to implement and I kind of gave up on it.
As for emulators, there is indeed an emulator called VICE (https://vice-emu.sourceforge.io/) and the latest version does have MIDI support - one of the options is "Maplin" which is that the VIC-MIDI was based on.   So it might work, though I'm not sure how you would actually send MIDI data to it.
Also keep in mind the MIDI handling code is pretty raw assembly language, you might need to brush up :-)

Cool, who knows whether a USB MIDI interface for Windows will talk to VICE and allow me to play music? Will have to test and see. The programming aspect is probably beyond me, at least in the short-medium term. Is Paul Slocum (of Cynthcart fame) still on the scene? Is he aware of this project?

Yeah, I'm not sure how VICE does it - for the emulated modems it uses a TCP/IP socket for instance.
Haven't talked to Paul in years, though Cynthcart was one of the inspirations!


Time added to threaded_gui.py

Benchmarking now displayed in statusbar

Timer functionality has been removed from save/load functions as they execute very quickly.
Screenshot has been updated to include status bar.
General Code cleaning


Add a post-deploy hook sample that cleans up kubernetes resources that were deployed by Cloud Deploy

Add a post-deploy hook sample that cleans up kubernetes resources that were deployed by Cloud Deploy.
*Includes a QUICKSTART and sample config files to use this post-deploy hook.

Oh also forgot, we need to set up the tests to run. I think Angel did a bit of this with GitHub actions for vertex AI.

WDYT of the structure used by custom targets for each sample? i.e.

quickstart/
image implementation/
README

I did all of the above except putting the actual implementation code in a separate folder. It just didn't seem necessary yet to nest? I can change if you feel strongly though.
I addressed all other comments, and updated the github action trigger to run tests for the clean-up sample. Per our discussion offline, I will begin the refactor after this PR, in smaller separate PRs.


Partial<T, Keys> make only some properties (Keys) optional

Suggestion
Extend https://www.typescriptlang.org/docs/handbook/utility-types.html#partialtype from Partial<T> to Partial<T, Keys>. If Keys is not specified, it defaults to all keys.
🔍 Search Terms
partial
I already found an old, automatically closed issue, here https://github.com/Microsoft/TypeScript/issues/25760. But I feel like it is warranted to create a new issue as this should be possible to implement without a backwards-incompatible change.
✅ Viability Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
See above.
📃 Motivating Example
interface Todo {
  title: string;
  description: string;
}

function updateTodo(todo: Todo, fieldsToUpdate: Partial<Todo, 'title'>) {
  return { ...todo, ...fieldsToUpdate };
}

const todo1 = {
  title: "organize desk",
  description: "clear clutter",
};

const todo2 = updateTodo(todo1, {
  description: "throw out trash",
});

// fails: 'description' is required to be updated
const todo3 = updateTodo(todo1, {
  title: "groceries",
});

💻 Use Cases
I often have types where I want all properties to be non-optional, but e.g. when reading them for the first time in an API call, or reading a file, some are optional and then I immediately set them to something if they were not included.

Just pointing out, Partial<T> is a straight forward simple mapped type. Partial<T, K> is a vastly more complex conditional type for a rare use case.

Just pointing out, Partial<T> is a straight forward simple mapped type. Partial<T, K> is a vastly more complex conditional type for a rare use case.

How do you know it is rare? Juding from https://github.com/microsoft/TypeScript/issues/25760 and how upvotes usually work, I'd say it is fairly much upvoted. And it is included in https://github.com/sindresorhus/type-fest#utilities as SetOptional.

+75 upvotes, https://github.com/microsoft/TypeScript/issues/25760#issuecomment-405931434 in addition to the issue being closed Jul 30, 2018 (meaning many possibly miss it or do not care upvoting), I cannot see a consensus this in the lows. VS Code, an arguably even higher trafficked repo, automatically moves 20+ upvote issues into their backlog.
But if there is a real reason why this is a an unwanted feature, maybe due to other ways to achieve this, I can see is not necessary.

tbf, this is a request to enhance an existing utility type.  But I figured it would fall under that rationale regardless.

Got it. Though "utility types" are already present (https://www.typescriptlang.org/docs/handbook/utility-types.html):

TypeScript provides several utility types to facilitate common type transformations. These utilities are available globally.

But I am assuming the definition here is that you do not add utility types, that can be constructed from built-in utility types?

They don't add utility types unless they're required for emit purposes. Most of the utility types present were added before they made this decision, and removing them would be a big unnecessary breaking change.


2024-02-08 (8 Feb 2024) - Morphir Project Meeting

Date
Thursday 08 Feb 2024 - 11am ET / 3pm UK
Untracked attendees

Name
Firm
Comment

Meeting notices

FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact<EMAIL_ADDRESS>with any questions.

FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

[ ] Convene, roll call, welcome new people (5mins)
[ ] Display FINOS Antitrust Policy summary slide
[ ] Review Meeting Notices (see above)
[ ] Approve previous meeting minutes - https://github.com/finos/morphir/issues?q=is%3Aissue+is%3Aclosed+label%3Ameeting
[ ] Add Items Here
[ ] AOB, Q&A & Adjourn (5mins)

Decisions Made

[ ] Decision 1
[ ] Decision 2
[ ] ...

Action Items

[ ] Action 1
[ ] Action 2
[ ] ...

Zoom info
Join Zoom Meeting

https://zoom.us/j/99313804465
Meeting ID: 993 1380 4465
Passcode: 038632

Dial-in

Find your local number: https://zoom.us/u/avGA76WoI

Github Repo: https://github.com/finos/morphir/
Mailing List: Email<EMAIL_ADDRESS>to subscribe to our mailing list

Karl Moll / FINOS

Attila Mihaly / Morgan Stanley

Edward Peters / Capital One

https://github.com/finos/morphir-scala/discussions/529 - RTValue, MDM, IR overview

We discussed Visualization and a PR showing a minor change to the visualization: https://github.com/finos/morphir-elm/pull/1138

Kevin Mudrick/Capital One

I will add a discussion talking about some of the PFC and MVP work I am doing.
I will also get a discussion started around using elm/bytes and the need for UUID5, this may actually be something that re-raises the need for native code, as we might not want this in Morphir proper but users may have native usecases.

Nwokafor Choongsaeng (Ebuka) / Morgan Stanley


Proposal for redesigning parts of the ibc-rs modules' API

Crate
ibc
Proposal
Following is a list of ideas for redesigning parts of our ibc-rs modules' API accompanied with some reasoning for why these changes are required. (Some of these have already been implemented in PR #1583.)
This is meant to serve as a meta issue for tracking these design changes. Might make sense to defer this until we start implementing another client (i.e. substrate, etc.) ->

[ ] Convert the Proofs struct into an enum. (See https://github.com/informalsystems/ibc-rs/pull/1583#discussion_r766923695)

 // change this ->
 pub struct Proofs {
    object_proof: CommitmentProofBytes,
    client_proof: Option<CommitmentProofBytes>,
    consensus_proof: Option<ConsensusProof>,
    other_proof: Option<CommitmentProofBytes>,
    height: Height,
}

// to something like this ->
pub enum Proofs {
    ChannelOpenTry(ChannelOpenTryProof),
    // ...
}

// or maybe this ->
pub struct SimpleProof(CommitmentProofBytes);
pub struct ComplexProof {
    pub proof: CommitmentProofBytes,
    pub consensus_proof: ConsensusProof,
    // ...
}

pub enum Proofs {
    ConnectionOpenTry(ComplexProof),
    ChannelOpenTry(SimpleProof),
    // ...
}

[ ] ics24_host::Path variants as types - Since Rust doesn't treat enum variants as types, it might be a good idea to extract these variants as distinct types and use those types as the actual enum variants. This will allow us to enforce that certain functions accept only a certain type of path. eg. verify_client_consensus_state() should only accept a Path::ClientConsensusState.
[ ] Follow RFC-356-no-module-prefixes. This basically means we rename ibc::core::ics04_channel::msgs::MsgChannelCloseConfirm to ibc::core::ics04_channel::msgs::ChannelCloseConfirm, and either re-export it as MsgChannelCloseConfirm in msgs.rs or add it to the prelude.
[ ] Public structs should either have public fields or setters/getters (if required), but not both. e.g.

pub struct MsgChannelCloseInit {
    pub port_id: PortId, // <- public
    // ...
}

impl MsgChannelCloseInit {
	pub fn port_id(&self) -> &PortId {
        &self.port_id
    } // <- also has a getter
}

[ ] Add ParamsReader trait to allow users to get host genesis params like MaxExpectedTimePerBlock. Prefer composition over inheritance (where possible) ->

fn handler<CR: ConnectionReader, PR: ParamsReader>(
  connection_reader: CR,
  params_reader: PR,
  ...
) {}

[ ] Remove &dyn in trait methods.
[ ] Errors returned by *Reader trait methods must match API. e.g. ChannelReader::client_state() is usually just a proxy to ClientReader::client_state(), so it doesn't make sense for it to return a ChannelError ->

pub trait ChannelReader {
    fn client_state(&self, client_id: &ClientId) -> Result<AnyClientState, ics04_channel::error::Error>;
    // ...
}

[ ] Super-traits - There is significant overlap in the various *Reader trait methods, so it might make sense to use inheritance here ->

pub trait ClientReader {}
pub trait ConnectionReader: ClientReader {}
pub trait ChannelReader: ConnectionReader {}

[ ] Provide verification functions with everything they need and don't give them access to the *Reader contexts. (this may not be feasible due to methods like check_header_and_update_state() requiring access to ctx.next_consensus_state()) The other extreme is to only give verification functions such contexts and allow them to extract everything they need them.
[ ] ChannelReader::hash() accepts input as (and returns) a String.

pub trait ChannelReader {
    fn hash(&self, value: String) -> String;
}

The method should ideally take a Vec<u8> as input and return a Digest type that is fixed per client. So maybe something like ->
pub trait ChannelReader {
	type Digest: AsRef<&[u8]>;

    fn hash(&self, value: Vec<u8>) -> Self::Digest;
}

Or maybe this should be part of ClientReader?

[ ] Disallow empty CommitmentPrefix and CommitmentProofBytes, i.e. empty values for these types should not be constructible.
[ ] Implement Capability{Reader,Keeper} traits and allow users to decide if they'd like to opt for an object-capabilities model or source-authentication model.

PS: Thanks to @romac for his valuable insights and suggestions!

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate milestone (priority) applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

pub enum Proofs {
    ChannelOpenTry(ChannelOpenTryProof),
    // ...
}

Bikeshedding:
Does this type mean "all proofs supplied with (necessary for?) this request"?
The variant names suggest that each case can be thought of a singular "proof", and in this case the enum should probably be named Proof.

// or maybe this ->
pub struct SimpleProof(CommitmentProofBytes);
pub struct ComplexProof {
    pub proof: CommitmentProofBytes,
    pub consensus_proof: ConsensusProof,
    // ...
}

pub enum Proofs {
    ConnectionOpenTry(ComplexProof),
    ChannelOpenTry(SimpleProof),
    // ...
}

Could be, but then a convenience accessor may be needed to get at the commitment proof in all variants where it's available:
impl Proofs {
    pub fn commitment(&self) -> Option<&CommitmentProofBytes> {
        todo!()
    }
}

If there may be benefit in type-checking the proof variants in particular places where only such a variant is meaningful, they each should get their own dedicated type, to be used instead of matching a dynamically multiplexed Proofs value and asserting. This is similar to @hu55a1n1's suggestion for ics24_host::Path


Need NPM module for plugin-css

Corresponding NPM module will help to organize dependencies appropriately.
There is one available already (https://www.npmjs.com/package/system-css), but it doesn't seem to be well maintained.

:+1:

This would be great.

This is a fairly trivial fix to get out a basic npm install. Just adding a name and version field to the package.json will allow installs like
npm install plugin-css@git://github.com/systemjs/plugin-css.git#0.1.20

While not ideal it'll work.

Thanks @bpostlethwaite. I've published to systemjs-plugin-css on npm.

great thanks!


Add github-wiki-see.page

Discovered as the first result returned by Google when searching for ideavim sethandler
https://github-wiki-see.page/m/JetBrains/ideavim/wiki/sethandler

I run https://github-wiki-see.page. Please look at the front page as an explanation of why it exists. GitHub doesn't allow search engines to index many GitHub Wikis and that would be one of them.

If you have any questions or suggestions, please let me know!

As a suggestion, you may want to use some solution involving this to not have the service's interstitial blocking you:
https://github.com/nelsonjchen/github-wiki-see-rs/blob/master/AUTO_REDIRECT_API.md
I am fully committed to keeping that as a stable API. The alternative, as you've proposed here, would block a massive majority of GitHub Wikis from your search results.

@arosh would you take a PR for an comment explanation of https://github-wiki-see.page like what was done in another ublacklist project here?:
https://github.com/quenhus/uBlock-Origin-dev-filter/blob/f736728c3b6a6b1a8630512c050e2b404262934f/data/github_copycats.txt#L56-L63

@nelsonjchen @austintraver
As a matter of fact, I take advantage of GHWSEE. I spent some time looking for a valid reason to exclude GHWSEE from the policies of this project. Sorry for the late response.
Hmm..., as far as I know, there is no other GitHub Wiki copycat at the moment, so can I put it on hold for now? If many such copycats are developed and start polluting Google search results, I'll reconsider.

@arosh That sounds good. For what it is worth, to repeat, I do my best to try to make the service not copy anything that GitHub permits indexing of. Unfortunately, Google is big and they take a long time to update their index sometimes to follow the updates I do on my service to not show up on search results for indexable content.
@austintraver My apologies for the lag and it showing up on your results, I am doing this as fast as I can and am currently architecting/testing a more permanent, automatic, and responsive solution for this.

Thank you both for contributing thoughtful constructive discussion to the PR. After reading the above, I think my PR is a bit heavy-handed. Marking it as closed.


(PE-34952) Add delete action with --expired flag

This adds the puppetserver ca delete action, which deletes signed certs on disk without revoking them. While all the flags are defined here, only --expired is implemented so far (maybe not ideal, but the others are coming soon). This searches the inventory file for any expired certs, deletes them, then finds any certs that are not in the inventory file, checks if they are expired, and deletes those.

Justin says 24 is okay, so this should be G2G.


Laravel mix doesn't create dist folder

sometimes when I add a new library and npm run watch also is executing it doesn't compile new files and don't create new dist folder in public

I have the same issue. It appears that the publishAssets() function doesn't run. I fixed it by changing the output path from './public/build' to './public' (and commented out lines 38-53). Don't know if that will mess anything up in the future though.

@AndrewMast
I have found out a new thing but I don't know why. look at line 39 and 43.
for the first time that you want run npm run watch dont comment anything but after the first time comment lines 39 and 43
// mix.then(() => {
if (!mix.config.hmr) {
    process.nextTick(() => publishAseets())
  }
// });

it runs and rebuild dist folder. but for me my new changes are not affected.


upgrade license-webpack-plugin

Bug Report or Feature Request (mark with an x)
- [ ] bug report -> please search issues before submitting
- [x] feature request

Area
- [x] devkit
- [ ] schematics

Versions
N/A
Repro steps
N/A
The log given by the failure
N/A
Desired functionality
I am the author of license-webpack-plugin which is used by projects generated with angular's cli and have been working on a new major release. I would like to see if you could upgrade the library to the next major release. Currently I am looking for feedback as it has not been tested by many end users as of now.
Mention any other details that might be useful
You can install the alpha of the next major release at license-webpack-plugin@next
You can view the state of the next major release here: https://github.com/xz64/license-webpack-plugin/tree/dev
There are breaking changes so please make sure to check the documentation I have put on the repository.

Hi @xz64,
We do not allow beta or RC dependencies in our master branch. That being said, if you want to test the beta, we can make a PR for it and look it through.
Do you have a list of new features and breaking changes for that release?

Yes, you can find the information here:
https://github.com/xz64/license-webpack-plugin/blob/dev/DOCUMENTATION.md
https://github.com/xz64/license-webpack-plugin/blob/dev/MIGRATION.md
At this point I am not interested in putting an RC into master, but just want to see how it could affect people's builds and get some feedback.
I think I should start with advertising the alpha release on my repository so that I can get more testers. I will revisit this issue once I have received more feedback.


PROPOSAL - Email once the standup is filled

Is your feature request related to a problem? Please describe.
Currently if you want to check a standup say a month old, it is difficult to check, you need to go through the entire chat history.
Describe the solution you'd like
We were looking if the standups can be sent as an email and also a way if i give a date I can get that day's standup.. Also a way to configure the emails on which the report should go.

@supportreq you can already view old standups by running the command-
/standup report public/private dd-mm-yyyy

Specifying private generates the report only visible for you, useful for personal use and private posts the report visible to everyone in the channel.

I was about to create an issue and found this existed already.
I think it would be a great feature to add.


Posts scrolling glitch, momentary image flash

Describe the bug
While scrolling posts lists a glitch is experienced sometimes... it appears as if the image sometimes covers the whole screen momentary before settling actual height... only happens to some posts
To Reproduce
2. Steps to reproduce the behavior:
Expected behavior
Scroll should appear as smooth as possible
Screenshots or Video
https://user-images.githubusercontent.com/6298342/111971695-6bdf2d00-8b1e-11eb-97bd-ee1eac846c6f.MP4
Smartphone (please complete the following information):

Device:  [iPhone11]
Ecency v3.0.15 (2927)

This is also fixed...
I am now maintaining height cache outside of postCard and linked it with FlatList using extra data.
also introduced a local_id generator as I was having issues with both post_id and id in post to be unique and available for all posts which does seem like a case.
@feruzm


Add cursor property to the desktop super textfield.

Fixes https://github.com/superlistapp/super_editor/issues/383
Right now the cursor for the default behavior of the SuperTextField is not configurable. For superlist, we would like to use custom cursors on hover to the field when there are no texts and there is no focus.

Can you accomplish the same effect by wrapping a SuperTextField with a MouseRegion and configuring your cursor style in there?

Can you accomplish the same effect by wrapping a SuperTextField with a MouseRegion and configuring your cursor style in there?

Nope, the cursor is absorbed by the SuperTextField.

@salihgueler instead of taking in a configuration, please try setting the cursor to MouseCursor.defer when the user isn't over text, then try again with your own MouseRegion around the SuperTextField. Please let me know if that works.
Related docs: https://api.flutter.dev/flutter/widgets/MouseRegion/cursor.html

@salihgueler I saw that @bk-one prioritized the ticket associated with this PR. Can you try the approach that I mentioned in my last comment and let me know if that solves the problem?

@salihgueler can you try the "defer" approach running in a web browser and let me know if it works there? Based on some experimentation, I think this might be a Mac bug in Flutter.

I'm going to close this PR due to inactivity. If someone wants to investigate this problem a little deeper, I welcome another attempt to solve this issue.


OpenFoam - Errors in installation and running instructions

Commands "azhpc-run -u hpcuser $azhpc_dir/apps/openfoam_org/full_openfoam.sh" and "azhpc-run -u hpcuser $azhpc_dir/apps/openfoam_org/tar_openfoam.sh" are wrong because those 2 files no longer exists.

Hi Team,
I hope my issue is close to the issue topic.
I have tried to run https://github.com/Azure/azurehpc/tree/master/tutorials/cfd_workflow
with

azhpc-init -c ../azurehpc/tutorials/cfd_workflow -d cfd_workflow -v location=northeurope,resource_group=hpc-grundfosazhpc,win_password=xxx

and failed during deployment of vmss. Any suggestions how to troubleshoot?
Traceback (most recent call last):
File "/usr/lib64/python3.6/logging/init.py", line 994, in emit
msg = self.format(record)
File "/usr/lib64/az/lib/python3.6/site-packages/knack/log.py", line 64, in format
msg = logging.StreamHandler.format(self, record)
File "/usr/lib64/python3.6/logging/init.py", line 840, in format
return fmt.format(record)
File "/usr/lib64/python3.6/logging/init.py", line 577, in format
record.message = record.getMessage()
File "/usr/lib64/python3.6/logging/init.py", line 336, in getMessage
msg = str(self.msg)
File "/usr/lib64/az/lib/python3.6/site-packages/msrestazure/azure_exceptions.py", line 193, in str
return str(self.error)
File "/usr/lib64/az/lib/python3.6/site-packages/msrestazure/azure_exceptions.py", line 120, in str
return error_bytes.decode('ascii')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 918: ordinal not in range(128)
Call stack:
File "/usr/lib64/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/main.py", line 41, in
exit_code = cli_main(az_cli, sys.argv[1:])
File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/main.py", line 30, in cli_main
return cli.invoke(args)
File "/usr/lib64/az/lib/python3.6/site-packages/knack/cli.py", line 227, in invoke
exit_code = self.exception_handler(ex)
File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/init.py", line 109, in exception_handler
return handle_exception(ex)
File "/usr/lib64/az/lib/python3.6/site-packages/azure/cli/core/util.py", line 55, in handle_exception
logger.error(ex.args[0])
Message: CloudError("The template deployment 'vmss_deploy_ItTsxue5Rir3tGVtiU8q6EadF1WkgwXX' is not valid according to the validation procedure. The tracking id is '98f36a9e-8ded-4b67-81d4-d2dfbc5a56b1'. See inner errors for details.",)
Arguments: ()

@lmiroslaw I've created issue #283 to track it and I'm working on it now.


feat: Draft add support for OR Queries

Its a draft PR to showcase the implementation details for OR Queries. This only demonstrates few filters  like Equal, LessThan and GreatherThan the main PR will have all the remaining filters. It an aid to decide up on the best approach.

Hi @jskeet,
It is the Draft PR for Query OR feature. Please have a look and provide your valuable feedback.
Thanks,

Thanks @jskeet  for the elaboration. Its quite clear now.
I will update the doc and implementation approach as well.
Thanks,

Hi @jskeet ,
I've updated the PR to validate my understanding about the approach. It is not completed yet. Tests, documentation and some  methods are still needs to be added. Please have a look and share your thoughts.
Thanks,

Can we close this now, as it's superseded by #10023?

yeah sure Jon


row-actions: support :icon just as report controls do

This solution is not optimal b/c we still require label (though we don't enforce it) and there is no way to display a hidden aria label. But it is consistent with report-level controls (see ActionButon).

I think it was not such a good idea. As discussed in Slack, the semantics of using :label with an :icon is complicated. For example what if you want only icon, or icon and label, or icon with a hidden, aria-friendly label? Better to use suo/report-row-button-renderer for such cases.


Error on transition-group

I'm trying use vue-tree-chart with my tree object what i receive of api, and i'm getting the error:
<transition-group> children must be keyed: <div>
How to solve? what is causing this?

Hi, sorry for the late reply.
Could you give me a reproducible demo project? Maybe by https://codesandbox.io/


Bubblesort.java

🐛 Bug Report
If the given array is already sorted then we have to put a checkpoint for that in Bubblesort.java, so as to maintain time complexity.
I am a participant in GSSOC 2021. Can I work on this bug under GSSOC 2021? I would like to add the solution to this problem .
(A clear and concise description of what the bug is.)
Have you read the Contributing Guidelines on Pull Requests?
yes
(Write your answer here.)

/assign


May I ask will the source code be released soon?

thanks for your great work.

Hi! Thank you for your interest. We are sorry for the late reply. We released it!


Add a link style for links with no visited state

There are some cases where it’s not appropriate to distinguish between visited and non-visited links.
An example is navigation links to pages with dynamic content, like dashboards in admin systems. The content on the page is changing all the time, so the fact that you’ve visited it before is not that important.

This is a great idea!


Add mercatorum.txt to lib/domains

add University Mercatorum
Italian university.

@nbattista89 I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host mercatorum.me not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


Support for stoparea's

Include stoparea's in the datastructure and allow to/route from stoparea's.

Added to timetable in #162

Fixed in tdata4_momt


Unable to install node modules in Mac machine

Did the following steps on my Mac system:

I installed node with version v16.13.0
I downloaded and extracted the folder.
Went to the respective folder (cd WebDevToolkitForDx-master)
On running 'npm install -g' im getting the following message (Please see attached image)
Tried running 'sudo npm install -g' still getting the same messsage.
Even tried 'sudo chown -R $USER /usr/local/lib/node_modules'

Node modules folder was not installed within the folder structure.

Any suggestions or fixes would be greatly appreciated. Thanks

We have tested with node 12 but not node 16. Could you try with node 12 to see if that solves the issue?

Thanks. I was able to install using node 12.


[7.0.0] Please ignore. This is for Automation testing

Forked from #233

Cherry-pick in https://github.com/bazelbuild/bazel/pull/19145


Tag description field

I would like to have a Tag description field so that a tag can be described in detail similar to the stackoverflow tag function. How can i add a custom field?
Could it be considered a future enhancement?

The Customising Taggit docs it

I think @prydie has the right answer here, so closing this.


[WIP] Julia 1.0.0

It's building
It's also working for my use case
but don't merge before discussing about these changes

This is to address #17.
There are some changes that would be useful to include immediately, such as removing tic/toc, but I am less comfortable with other changes, such as casting the libserialport types to integers of various widths.
I'm going to leave this open for now, bringing in some of your changes manually (so this PR still definitely has value). We'd certainly like to be sure everything works properly with Julia 1.0 on 32 bit hosts such as a Raspberry Pi as well as on 64 bit systems.

What we need to avoid to smear code like I did, is to be able to get the underlying type of an Enum.
Maybe @tanmaykm could give us a tip on this?

What we need to avoid to smear code like I did, is to be able to get the underlying type of an Enum.

I think adding constructors for the Enums in 03a0ff516ca8e430b8c2e3faf1ecc2cb5249fd3f was sufficient to deal with the deprecation warnings/errors.

Great idea! However I'm still wondering if the underlying type of an Enum can be known (for some others projects)

I may not be understanding what you're trying to do, but according to https://docs.julialang.org/en/stable/base/base/#Special-Types-1, the base type is Int32 by default:

BaseType, which defaults to Int32, must be a primitive subtype of Integer. Member values can be converted between the enum type and BaseType. read and write perform these conversions automatically.

This is kind of a silly example, but demonstrates the point:
using LibSerialPort

ret = SPReturn

for instance in instances(ret)
       println("$(typeof(instance)) $(supertype(typeof(instance)))")
end

SPReturn Enum{Int32}
SPReturn Enum{Int32}
SPReturn Enum{Int32}
SPReturn Enum{Int32}
SPReturn Enum{Int32}

@enum Fruit::UInt8 apple orange kiwi
is allowed but how to get UInt8 from Fruit?

This is apparently one way:
julia> supertype(Fruit).parameters[1]
UInt8

Another way could be:
julia> Base.Enums.basetype(Fruit)
UInt8

Thanks @tanmaykm however I opened an issue at https://github.com/JuliaLang/julia/issues/28778 because I think there is a room for improvement (at least for doc)


fix: background image clipping on extra wide screens

Details

Background image used in Report page and Request Money page looks clipped on extra wide screens.
Fixed Issues

$ https://github.com/Expensify/App/issues/23477
PROPOSAL: https://github.com/Expensify/App/issues/23477#issuecomment-1668845896
Tests

Sign in to the web app on a desktop browser
Navigate to a new chat page or request money page
Check out the background image on the page header
Top and bottom portion of background image shouldn't be clipped even if user resize browser size
For browser width greater than 2000px the background image should repeat horizontally
Repeat same steps on Desktop app as well.
iOS & Android apps should behave exactly as before

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

Offline tests

Sign in to the web app on a desktop browser
Navigate to a new chat page or request money page
Check out the background image on the page header
Top and bottom portion of background image shouldn't be clipped even if user resize browser size
For browser width greater than 2000px the background image should repeat horizontally
Repeat same steps on Desktop app as well.
iOS & Android apps should behave exactly as before

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

QA Steps

Sign in to the web app on a desktop browser
Navigate to a new chat page or request money page
Check out the background image on the page header
Top and bottom portion of background image shouldn't be clipped even if user resize browser size
For browser width greater than 2000px the background image should repeat horizontally
Repeat same steps on Desktop app as well.
iOS & Android apps should behave exactly as before

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

PR Author Checklist

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

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

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

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

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

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

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

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

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

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/6880914/0a63a4fc-86e3-4ec7-94f0-f5b02e79943e

Mobile Web - Chrome

https://github.com/Expensify/App/assets/6880914/0d8899ec-71d4-40d5-88d9-7b9813fc37d4

Mobile Web - Safari

https://github.com/Expensify/App/assets/6880914/d0ba3459-48cc-47fa-97e6-fa6c40b63cfc

Desktop

https://github.com/Expensify/App/assets/6880914/edc18399-fbdc-4d3d-ae05-7885b5186cbd

iOS

https://github.com/Expensify/App/assets/6880914/c3a431f9-d1dc-4fd9-8dde-1f454b96e690

Android

https://github.com/Expensify/App/assets/6880914/5c3af58b-2424-450c-b109-d36b530674e6

@abdulrahuman5196 Removed the additional check by reverting to Image component from 'react-native' which supports resize mode repeat.

@aswin-s Single transaction page's background image is still clipped. Could you kindly check on the same?
https://github.com/Expensify/App/assets/46707890/2de75e5f-1586-454b-be48-2bd8c1189f77

@abdulrahuman5196 Fixed. withWindowDimensions HOC was removed recently after refactoring the component to functional component. Now using windowWidth value from useDimensions hook.

@aswin-s , For some reason, the background image is flickering, I think first the image is taking cover and then changing to repeat causing the flicker.
https://github.com/Expensify/App/assets/46707890/48a3bd9e-f0ed-4136-aa61-98dd71a7e6e1

@aswin-s , For some reason, the background image is flickering, I think first the image is taking cover and then changing to repeat causing the flicker.
Screen.Recording.2023-09-15.at.9.47.48.PM.mov

@abdulrahuman5196 Hmm this seems to be a quirk of react-native-web. It applies the backgroundSize style to the image component only after the onLoad event gets triggered. By that time, the image is already rendered on the screen and causes the flicker. Since this is applied at a low level, we can't control the behaviour from a view component.
However we could hide the background image until the image onLoad event gets triggerd. This effectively prevents the flicker from happening. Downside is that we need to separate the empty background Image as a separate component and keep the visibility logic in there. It would also keep all the background size calculation logic contained in a  single component rather than duplicated in three places. If this sounds reasonable, I'll apply the fix.
It would look something like this

import React from 'react';
import { Image } from 'react-native';
import EmptyStateBackgroundImage from '../../../assets/images/empty-state_background-fade.png';
import CONST from '../../CONST';
import useWindowDimensions from '../../hooks/useWindowDimensions';
import * as StyleUtils from '../../styles/StyleUtils';
import variables from '../../styles/variables';

export default function EmptyStateBackground() {
    const [visible, setVisible] = React.useState(false);
    const {isSmallScreenWidth, windowWidth} = useWindowDimensions();
    const onImageLoaded = () => setVisible(true);
    // If window width is greater than the max background width, repeat the background image
    const maxBackgroundWidth = variables.sideBarWidth + CONST.EMPTY_STATE_BACKGROUND.ASPECT_RATIO * CONST.EMPTY_STATE_BACKGROUND.WIDE_SCREEN.IMAGE_HEIGHT;

    return (
        <Image
            pointerEvents="none"
            onLoadEnd={onImageLoaded}
            source={EmptyStateBackgroundImage}
            style={[StyleUtils.getReportWelcomeBackgroundImageStyle(isSmallScreenWidth), {opacity: visible ? 1 : 0}]}
            resizeMode={windowWidth > maxBackgroundWidth ? 'repeat' : 'cover'}
        />
    );
}

And here is the result
https://github.com/Expensify/App/assets/6880914/7af3e9cd-378f-4189-b64a-0d3e94e97f95

@abdulrahuman5196 Any thoughts on above change?

@abdulrahuman5196 As I haven't heard back from you last week, I've gone ahead and made the above change. Please have a look.

@aswin-s Sorry I was out couple of days. I am not aligned on the new change. It still looks like a flicker, now its just that from a empty image to new image(contrast to previous image flicker of one size to another size)

Hmm this seems to be a quirk of react-native-web. It applies the backgroundSize style to the image component only after the onLoad event gets triggered. By that time, the image is already rendered on the screen and causes the flicker. Since this is applied at a low level, we can't control the behaviour from a view component.

How was this information arrived? Is there any GH issue on this on upstream?

@abdulrahuman5196
rn-web achieves resizeMode 'repeat' by setting the image as background image for the container element and setting background size on it. To compute the background size it uses the native width and height of the image. The native width and height of the image can not be measured until image is completely loaded. You can refer the background size calculation logic over here.
https://github.com/necolas/react-native-web/blob/a3ea2a0a4fd346a1b32e6cef527878c8e433eef8/packages/react-native-web/src/exports/Image/index.js#L244-L262
Also I've pushed a fix to remove the flicker. I was not able to replicate the flicker on a 4K screen. However flicker appears when developer console was open. So it appears we need to delay the visibility switch until background size calculation completes after image load.

@aswin-s Even without your latest opacity changes, I am not able to reproduce the flicker anymore. I think it got fixed with the latest merge from main. Can you check again and remove the latest opacity/delay changes?

@abdulrahuman5196 Reverted the changes related to opacity and adding delay. I'll still retained EmptyStateBackground as a separate component, to avoid repeating the logic at three places.

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/46707890/9588b8a6-2a3a-4193-81ff-c6d5d5f6fc5c

Mobile Web - Chrome

https://github.com/Expensify/App/assets/46707890/efd2d44b-2cb4-4596-b45b-5916da074e4a

Mobile Web - Safari

https://github.com/Expensify/App/assets/46707890/199ec9e3-ba74-4a07-937b-883f4b100e1c

Desktop

https://github.com/Expensify/App/assets/46707890/a74783ab-97d0-4f1b-a2e8-4dacbefdd948

iOS

https://github.com/Expensify/App/assets/46707890/fa9427f2-720d-4c56-9bf9-f1f4ff6c1492

Android

https://github.com/Expensify/App/assets/46707890/d9e8c003-ca48-47a1-be2e-aa77685df89b

@aswin-s This has merge conflicts

Woh! The implementation itself has changed. Now we have an AnimatedBackgroundImage 😓 .

Is this issue fixed then?

@abdulrahuman5196 Nope. The issue was still there. Just that there was a new component added named AnimatedEmptyStateBackground which uses device sensor data to transform the image slightly when user tilts the device. It internally used the same background image. I removed the new component I added in this PR and merged the fixes into the AnimatedEmptyStateBackground itself.

@aswin-s Could you kindly recheck the author's checklist and re-record the screenshots/videos?

@abdulrahuman5196 Re checked the checklist and updated the recordings.

@aswin-s In author's checklist kindly add Offline tests as Same as tests

@abdulrahuman5196 Done

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/46707890/74f7c423-5c90-4c1c-9af8-102fa73d0a92

Mobile Web - Chrome

https://github.com/Expensify/App/assets/46707890/67b087ba-e6f4-4d79-955f-bac37e825113

Mobile Web - Safari

https://github.com/Expensify/App/assets/46707890/57fa674d-2e4b-4df7-b187-922bea25b478

Desktop

https://github.com/Expensify/App/assets/46707890/43d2a6da-2199-4967-9bd2-e9518a3561df
https://github.com/Expensify/App/assets/46707890/f860c405-78be-41b2-8e39-a61a45f890db

iOS

https://github.com/Expensify/App/assets/46707890/ee6b073e-845d-43a9-b76a-ea04266a6acc

Android

https://github.com/Expensify/App/assets/46707890/08d443ac-aff0-4ac0-9b7d-c7ad0a4ac5e9

@grgia I have retested the changes since we had to make refractor due to parallel work. Kindly take a look into this.

@grgia Gentle reminder.

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

🚀 Deployed to staging by https://github.com/grgia in version: 1.3.81-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/grgia in version: 1.3.83-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
skipped 🚫

🖥 desktop 🖥
skipped 🚫

🍎 iOS 🍎
skipped 🚫

🕸 web 🕸
skipped 🚫

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
skipped 🚫

🖥 desktop 🖥
skipped 🚫

🍎 iOS 🍎
skipped 🚫

🕸 web 🕸
skipped 🚫

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
skipped 🚫

🖥 desktop 🖥
skipped 🚫

🍎 iOS 🍎
skipped 🚫

🕸 web 🕸
skipped 🚫

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Don't clobber options[:prefix] if set

If machine_options['transport_options']['username'] is not 'root', then machine_options['transport_options']['options']['prefix'] gets unconditionally set to 'sudo ', even if the user specified some other value in the recipe. Let's fix things so as to not clobber it.

I see that this has some overlap with #18.

Hey Glenn,
You're right, #18 covers this and the key vs key_data part as well.
As such I am going to go with that one, assuming testing goes smooth.
Gonna leave this open for now and close on final resolution.
Thx for the PR!

Merged alongside of PR #18 in 756c186. Thanks, @glennmatthews!


[SPARK-21645]left outer join synchronize the condition from left table to right

What changes were proposed in this pull request?
JIRA Issue:https://issues.apache.org/jira/browse/SPARK-21645
Change the optimize rule of leftouter join, if the filter column is contained in join column, the can synchronize the filter from left to right, For example,  left join sql:
Select * from a left outer join b on a.id=b.id where a.id=12345；
After join optimizer rule, the filter a.id = 12345 of table a should be synchronized to table b(b.id=12345)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
To see the query plan by explain the sql like 'Select * from a left outer join b on a.id=b.id where a.id=12345',  guarantee the filter a.id=12345 is synchronized to table b.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

I think it has fixed by SPARK-21479.


core: RedshiftDataApi Transform Stage

* A stage that has a step function that can run a fixed or dynamic sql query against redshift (UNLOAD/COPY/SELECT) using no/low code with SDK integration of step function of redshift data-api
    * If query is passed to the stage then a step function is created executing only that query
    * if query is not passed, then it needs to be passed dynamically using step function event message
* *Potential Steps*
    * step1: Execute statement (query passed)
    * step2: DescribeStatment to get execution id
    * step3: Wait for execution to complete

can you assign this issue to me?

@HKAgrwl sure, you are more than welcome to implement and open a PR for review. Until now, we have been writing CDK constructs in python but will be moving to typescript in the very near-term. You can use either, but if you want to go with typescript we are working into this branch: typescript-conversion


Twinny continues responding with "Sorry, I don't understand. Please try again" if it encounters even a single prompt it does not understand

Describe the bug
Once Twinny encounters something it does not understand, it responds with "Sorry, I don't understand. Please try again", for all subsequent prompts. Also, the "fill in the middle" code completions don't work at all.
To Reproduce
Steps to reproduce the behavior:

Highlight some code in the code editor and ask Twinny to explain the code, or type any prompt which makes Twinny respond with "Sorry, I don't understand. Please try again".
Type any other prompt.

On starting a new chat, Twinny responds normally until it encounters something for which it responds with "Sorry, I don't understand. Please try again", and then all subsequent responses are "Sorry, I don't understand. Please try again".
Expected behavior
Twinny should ignore any ambiguous prompt and do what the User wanted it to do.
Screenshots

Desktop (please complete the following information):

OS: Linux Mint 21 cinnamon
vscode version 1.85.1
Twinny version: 3.5.35

Additional context
Models used with Ollama:

Chat: mistral:latest
Deepseek-coder:...7b-instruct-q8_0

Hey, thanks for the report.
Please try to change the FIM model to a base model e.g deepseek-coder:6.7b-base-q5_K_M and for your chat model you probably should try to update the prompt template to not include llama tokens.
Please let me know if it helps.
Thanks

Thanks. I tried again, but ran into some issues:

Knowledge: Even though I have been through DeepLearning's course on generative AI, I don't know what you mean by "try to update the prompt template to not include llama tokens". I know what tokens are. I can see a pencil icon for "Edit twinny templates". But I don't know which prompt template to update, and how to figure out which llama tokens are used where. Please remember this about other users too. Even in the readme, the simplest way to help someone get started, would be to mention which two models they can use, instead of explaining the technicalities, which they wouldn't understand.
Generation stopping: I switched to deepseek-coder:6.7b-base-q5_K_M, and as you can see from the screenshot below, generation stops prematurely. This happened twice. It sometimes ends up with the previous issue of "Sorry I don't understand, please try again".
Alt \: At the for line (line 4), on pressing Alt \ multiple times, I noticed for once, an autocomplete suggestion i in range(2,n-1):, but I couldn't figure out how to make it fill in the suggested code. I tried Enter, Alt Enter, Shift Enter and Ctrl Enter, but I eventually had to manually type the code that was suggested. Often, when I press Alt \, I see the CPU usage going to 100% on all cores, but no code suggestion is offered. Often I have to press Alt \ multiple times for any code suggestion to show up. My processor is a AMD Ryzen 5 5600G with inbuilt Radeon Graphics × 6 and there's 32GB RAM. I don't have any separate GPU card. I'm working on Linux Mint 21.
Debug: You mentioned looking at the debug logs. I don't see any output on vscode's debug console. Did you mean something else?

You mean tweaking the modelfile?
https://github.com/ollama/ollama/blob/main/docs/modelfile.md

No. I didn't even know a model file like that existed. One thing I hope y'all understand, is that the average User is not aware of such technicalities. They just wish that they could install Ollama and Twinny, and eveything would "just work".

Hey there!, Thanks so much for bringing this up and for all of the information.
At the moment, we're not quite there yet when it comes to supporting the level of usability and user-friendliness you're looking for with local language models. Given the variety in setups, models, API, and hardware out there, it's a bit of a challenge to ensure everything works smoothly for everyone.
I've been using codellama-code and codellama-instruct myself, and they've been working out pretty well. Just a heads-up, though, this software is provided free of charge and "as is." So, it might not meet all your expectations perfectly, but we're constantly working to improve it.
We really appreciate your understanding and patience! If you have any more feedback or need further assistance, please shout out.

One other thing I noticed on my system:

deepseek coder takes 18 seconds to FIM, once I press Alt \.
codellama takes 36 seconds to FIM for the same code.
stable-code takes just 2 or 3 seconds.

So I believe it'll help mention in the readme, that if a person uses CPU-only, it's better to use one of the smaller models. It'll give a quicker response. The clearest way mention it would be something like:

If you have an NVidia GPU with xyz capability, use abc model for FIM and def model for chat.
If you are using only CPU, use abc-small model for FIM and def-small model for chat.

Humble suggestion: The fingers need to stretch a lot to reach for the Alt and \ buttons on the keyboard. If the key combo for FIM could be changed to some other keys or could be kept configurable, it'd be nice. Ctrl+Spacebar is one possibility.
I just tried stable-code in Wingman-AI, and got an error that the model is not supported. So this makes Twinny as the best local LLM option among VS Code extensions. Congratulations on the excellent design!
Another suggestion

When Twinny generates a code suggestion as shown in the image, I didn't know what key to press to convert the suggested code into actual code. After a lot of trial and error, I found it is the Tab key. Please mention this in the readme file.
ps: I couldn't find any model named codellama-instruct on ollama's page, but found out a modelfile needs to be created to use it. I'll try.

I have a similar problem now. No matter what I do or what model I use, I keep getting "Sorry, I don’t understand. Please try again.". It used to work before. Just when I started VSCodium today it started to occur.

I have a similar problem now. No matter what I do or what model I use, I keep getting "Sorry, I don’t understand. Please try again.". It used to work before. Just when I started VSCodium today it started to occur.

I just wanted to give an update as to why it happened (maybe helpful for others too):
I've set the wrong URL for the API.
I've had it set to /api/chat instead of /v1/chat/completions
Changing it to the latter fixed my issue.


Splunk_serverclass exists but is not documented

What are you seeing
In the README for this project there is no mention of the splunk_serverclass type however such a type exists.
What behaviour did you expect instead
The README to include documentation for all types.

Hi @rbclark, thanks for raising this issue. Are you interested in providing a PR to update the docs?

Yep I've fixed it in the referenced issue.


Improve Searching Algorithm

Improve the searching algorithm present in perform_search().
Currently, the search works in an O(n) time complexity by comparing the input given by the -t flag with the tags array in the submodules.json.

Current System
While the time complexity may be low due to the speed of Rust the current system is already extremely fast, my collected data is shown below:

Items
Time (nano seconds)
Time per item (nano seconds)

10
23400 (0.0234 milliseconds)
2340

100
145500 (0.1455 milliseconds)
1455

10,000
704400 (0.7044 milliseconds)
70.44

@Dinoosawruss
Great research! Loved the analysis. If the improved linear search algo is the best we can have as of now, then let's go for it! Really looking forward to your contribution :))

@Dinoosawruss can I see how you tested? I tried to reproduce the same benchmarks, but my results were quite different, my times were much more linear when increasing the number of items.
running 6 tests
test alternate_linear_search_10   ... bench:       1,246 ns/iter (+/- 66)
test alternate_linear_search_100  ... bench:      12,016 ns/iter (+/- 941)
test alternate_linear_search_1000 ... bench:     120,654 ns/iter (+/- 9,336)
test perform_search_10            ... bench:       1,239 ns/iter (+/- 182)
test perform_search_100           ... bench:      12,307 ns/iter (+/- 3,357)
test perform_search_1000          ... bench:     122,835 ns/iter (+/- 8,086)

Here's the bench.rs I used
I ran the file with cargo bench
rustc 1.57.0-nightly (11491938f 2021-09-29)


feat: add random initial time duration for heartbeat ticker

Add random initial time duration for heartbeat ticker to avoid massive node conditions update at the same time in large clusters.
In a large cluster, NPD pods are likely to create at almost the same time, which means all the NPD pods will trigger the heartbeat sync at the same time in a certain period. This might cause cpu/network traffic peak glitch.
This problem can be solved by starting heartbeat ticker after a random time duration sleep.
FIX: #661

NPD is just one of the node daemons talk with apiserver.
Other daemons could cause similar spike IIUC, most daemons talk/sync with apiserver periodically.
You probably want to avoid deploying NPD onto hundreds of nodes at the same time, and roll it out gradually instead.


support for Apple ARM M1

Hey there,
I use your extension on both of my other MacBooks and just want to say great job. Simple and easy to use.
I just got an M1 MBA and would love to use it as well but am having some trouble..
So far, I've:

installed homebrew natively under /opt/homebrew
ran the following successfully:

brew tap zackelia/formulae

but when i run:

sudo bclm write 72

i get the error:
sudo: unable to execute /opt/homebrew/bin/bclm: Bad CPU type in executable

Any pointers in the right direction? Happy to help get M1 support running with your package in any way :)

going to try building from source later today & i'll update 👍
(i think the issue is the pre-built package on brew is not targeted for ARM)

You're right that would would need to compile an ARM binary for it to even run. However, the M1 MacBooks don't have the SMC which is what this project relies on so you unfortunately won't be able to use it.

Hey @zackelia! Just for your information, AlDente has now released an update that supports Apple Silicon. Just wanted to let you know in case this was something you wanted to consider for bclm. Happy to take a stab at it, though my knowledge in this area is limited!

I completely agree with @peterlewis! If there's any way I could help test, run code, whatever on my M1 machine, I'd be very happy to do so. :)

Any forward progress on an Apple Silicon version of bclm?

See #20 for updates.

Thanks... I shoulda' posted my question here instead of in #20 :
Will this cover the M2 chip also?


[WIP] Add unpublish to step by step page

One of the new functional tests I have added is currently failing.
Trello card: Unpublish the step by step page

Thanks Deb, I'll close this in favour of https://github.com/alphagov/collections-publisher/pull/370


Develop Manual Test Cases for the Web Pages # 10, 11 and 13

To develop Manual Test cases for the following web pages:

Screen #10 --> Unassigned Catalog Entries
Screen #11 --> Catalog Uploads
Screen #13 --> Select the Required Store (e.g. AuroraESite, etc...)

Epic is completed.


Change command name

Change command name and class name

Codecov Report

Merging #68 (77e0565) into master (7240bd9) will increase coverage by 0.19%.
The diff coverage is 93.10%.

@@             Coverage Diff              @@
##             master      #68      +/-   ##
============================================
+ Coverage     65.51%   65.71%   +0.19%
- Complexity      394      397       +3
============================================
  Files            78       78
  Lines          1363     1368       +5
  Branches        141      141
============================================
+ Hits            893      899       +6
+ Misses          439      438       -1
  Partials         31       31

Impacted Files
Coverage Δ

.../java/seedu/address/storage/JsonAdaptedPerson.java
100.00% <ø> (ø)

...eedu/address/logic/commands/EditPersonCommand.java
96.72% <75.00%> (ø)

.../address/logic/parser/EditPersonCommandParser.java
91.66% <75.00%> (ø)

...seedu/address/logic/commands/AddPersonCommand.java
100.00% <100.00%> (ø)

...du/address/logic/commands/DeletePersonCommand.java
100.00% <100.00%> (ø)

...eedu/address/logic/commands/FindPersonCommand.java
100.00% <100.00%> (ø)

...eedu/address/logic/commands/ListPersonCommand.java
100.00% <100.00%> (ø)

...u/address/logic/parser/AddPersonCommandParser.java
100.00% <100.00%> (ø)

.../seedu/address/logic/parser/AddressBookParser.java
100.00% <100.00%> (ø)

...ddress/logic/parser/DeletePersonCommandParser.java
100.00% <100.00%> (ø)

... and 2 more

Continue to review full report at Codecov.

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


HAWQ-439. Quit resource manager process on master if postmaster is no…

Please review. Thanks

LGTM

+1 The code change is ok to me.


Support email "threads"

Perhaps copy some of the code from http://github.com/popey456963/MailClient in order to make this happen.

The back-end code for this was implemented in dd488d5fb7e98f1e929babb2e4d1ffa493eaa008, unfortuantely we still need to implement it front-end.

Implemented front-end design in 2e5c65d4b58c3b5e66e6568e4a7f371948606665.

Actually, more implemented over in 8a58294ebb3195e91f27f9ad2114c1a29240bec5.


Move bench.rs into benches/, simplify Cargo.toml

Great, thank you!

I've uploaded this patch to crates.io in 0.3.4.