Error when trying to run create_thread_prompts.py

I am running the following commend with this dataset:
python3 create_thread_prompts.py chrystians/oasst1_pl_2 "Jestes polskim chatbotem ktory odpowiada tylko po polsku" oasst1_pl_2threads
  6%|█████                                                                                | 348/6264 [00:00<00:09, 602.31it/s]
Traceback (most recent call last):
  File "/madladLLaMa2lang/LLaMa2lang/create_thread_prompts.py", line 100, in <module>
    main()
  File "/madladLLaMa2lang/LLaMa2lang/create_thread_prompts.py", line 90, in main
    dataset[fold] = dataset[fold].rename_column('0', 'text')
AttributeError: 'list' object has no attribute 'rename_column'

I also tried to run it with previously successful dataset that worked with this commend and the script was also failing:
 python3 create_thread_prompts.py chrystians/oasst1_pl_2 "Jestes polskim chatbotem ktory odpowiada^Cylko po polsku" oasst1_pl_2threads
root@c7a6c8a800b6:/madladLLaMa2lang/LLaMa2lang#  python3 create_thread_prompts.py chrystians/oasst1_pl "test" testUsnac
  6%|█████                                                                                | 201/3618 [00:00<00:04, 800.76it/s]
Traceback (most recent call last):
  File "/madladLLaMa2lang/LLaMa2lang/create_thread_prompts.py", line 100, in <module>
    main()
  File "/madladLLaMa2lang/LLaMa2lang/create_thread_prompts.py", line 90, in main
    dataset[fold] = dataset[fold].rename_column('0', 'text')
AttributeError: 'list' object has no attribute 'rename_column'

Are you on the latest main branch? If so, can you either:

Upload your combined checkpoints to HF (rerun the script but now with target folder bein your HF dataset name
or
Add a screenshot/paste the folder structure of your translate and your combine outputs

Yes, I am on main branch.

I have reruned combinaing checkpoints and I still have the same issue. https://huggingface.co/datasets/chrystians/oasst1_pl_2_2
I am not quite sure what do you mean by screenshot:

root@c7a6c8a800b6:/madladLLaMa2lang/LLaMa2lang#  python3 combine_checkpoints.py checkpointMadlad oasst1_pl_2_2
Creating parquet from Arrow format: 100%|███████████████████████████████████████████████████████████| 82/82 [00:00<00:00, 228.16ba/s]
Uploading the dataset shards: 100%|████████████████████████████████████████████████████████████████████| 1/1 [00:02<00:00,  2.86s/it]
Creating parquet from Arrow format: 100%|█████████████████████████████████████████████████████████████| 4/4 [00:00<00:00, 270.26ba/s]
Uploading the dataset shards: 100%|████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00,  1.28it/s]
root@c7a6c8a800b6:/madladLLaMa2lang/LLaMa2lang#  python3 create_thread_prompts.py chrystians/oasst1_pl_2_2 "Jestes polskim chatbotem ktory odpowiada tylko po polsku" oasst1_pl_2_2_threads
Downloading readme: 100%|███████████████████████████████████████████████████████████████████████| 1.52k/1.52k [00:00<00:00, 11.5MB/s]
Downloading data: 100%|█████████████████████████████████████████████████████████████████████████| 19.7M/19.7M [00:02<00:00, 6.87MB/s]
Downloading data: 100%|███████████████████████████████████████████████████████████████████████████| 723k/723k [00:00<00:00, 2.07MB/s]
Downloading data files: 100%|██████████████████████████████████████████████████████████████████████████| 2/2 [00:03<00:00,  1.61s/it]
Extracting data files: 100%|█████████████████████████████████████████████████████████████████████████| 2/2 [00:00<00:00, 2376.38it/s]
Generating train split: 100%|███████████████████████████████████████████████████████| 81037/81037 [00:00<00:00, 394031.81 examples/s]
Generating validation split: 100%|████████████████████████████████████████████████████| 3001/3001 [00:00<00:00, 302632.87 examples/s]
  6%|█████                                                                                | 348/6264 [00:00<00:09, 600.71it/s]
Traceback (most recent call last):
  File "/madladLLaMa2lang/LLaMa2lang/create_thread_prompts.py", line 100, in <module>
    main()
  File "/madladLLaMa2lang/LLaMa2lang/create_thread_prompts.py", line 90, in main
    dataset[fold] = dataset[fold].rename_column('0', 'text')
AttributeError: 'list' object has no attribute 'rename_column'
root@c7a6c8a800b6:/madladLLaMa2lang/LLaMa2lang#

Thanks, this helped me debug, fixed it now.

Now it worked. https://huggingface.co/datasets/chrystians/oasst1_pl_2_threads

Great, feel free to make a PR with this one if the quality is better. Do you plan on training a model too?

Yes, I have to justify expensive gpu. But now I have checked the threads dataset,  I think that something is broken after that fix.
Practically all of the new one thread chat prompts are empty only with initial prompt (instruction_prompt):
"Jestes polskim chatbotem ktory odpowiada tylko po polsku"
https://huggingface.co/datasets/chrystians/oasst1_pl_2_threads
Compared to the previous one:
https://huggingface.co/datasets/chrystians/Jestes

Ok let me know if you want me to do it instead if you want to avoid expenses

Relax. I can gladly do the training it was a joke.
What I wanted to say is only is that in my opinion something is broken with translations/dataset . Because there is a lot of empty ones only including the prompt. I don't quite know why and if there is an issue with dataset or translations.
https://huggingface.co/datasets/chrystians/oasst1_pl_2_threads/viewer/default/train?p=77
Like from page 77 to 94 there is only practically prompts.
Later there are some conversations at page 11 so yeah the translation works:
https://huggingface.co/datasets/chrystians/oasst1_pl_2_threads/viewer/default/train?p=11
Just an idea there are also other datasets like: ShareGPT
or that one: https://huggingface.co/datasets/lmsys/lmsys-chat-1m
My idea is different one a little bit is to maybe write something to extract the conversation from that large dataset (lmsys-chat-1m) in a particular language and then based on that train the model.

So as it turns out, the default for madlad is to generate only 20 tokens for every translation, resulting in too short translations (not empty though, wasn't able to find out why those occur). I changed this now to a max of 2k tokens but that significantly slows it down (obviously) - an order of magnitude slower than Helsinki NLP now. To remedy, I added an option to load in 4 bits even instead of 8 bits so you can increase batch size but I am afraid it'll still be a lot slower.
As for swapping out datasets - we plan to fully support that but the creation of thread prompts is a bit involved in that case so working on that still (translation already supports swapping in different datasets).
Your translated dataset at  https://huggingface.co/datasets/chrystians/oasst1_pl_2_2 already contains a lot of empty texts but not sure why that happened, I now added a check in the script itself to verify if translations are empty after which it throws and exception.

Madlad works now, it was quite broken so far. Beware that it is a lot slower though.
Let me know if it works for you too, then we can close this issue.

Madlad works now, it was quite broken so far. Beware that it is a lot slower though.
I have run it, but I don't know what you mean by now. I have run with this one commit:
Date:   Sun Jan 7 16:23:06 2024 +0100
0326e3f37035a35efb3cc8520071cdbf453afafe

Here are datasets:
https://huggingface.co/datasets/chrystians/oasst1_pl_3
https://huggingface.co/datasets/chrystians/oasst1_pl_3_threads
To be honest I don't see much of the difference between the translations or the quality.
They also include empty threads, maybe this is issue that is also in dataset, not the program per se.  And about quality of translation I am too unfamiliar to help with that.
Should I run it again?

Yes madlad crashes silently if there are newlines in the input text. Fixed that yesterday by replacing newlines with space. If you want to have madlad-based translations, you have to rerun the translate_oasst.py script entirely but I ran it briefly on Colab for PL and ZH and the estimated total time is now 150-200 hours...
Might be worth it but we will also be adding quite a few other translation models so perhaps better to wait for those.


Use EntityStore Fetch

I'm surprised there are no tests

I'm surprised there are no tests

Yes, I am looking at the tests now.

Made no changes to the behavior of the tests, just reorganized it a little. Also, changing the way we fetch does not seem to break any test.
However, I can't seem to figure out what is causing this error and where it is coming fromError thrown outside of test function: Cannot read property 'search-widget' of undefined   Context.<anonymous> at d2l-all-courses.js:28. I previously had a discussion with @njostonehouse about this error, which seems to have been around for a while. Should we attempt to fix it?

I think we definitely want these tests to be green when we walk away from them.  That doesn't need to be right now or even this pass, but I think the sooner the better?  That old firefox issue is gone with Polymer 3, so in theory we can get these back to green.  I can try taking a look at the error

I think we definitely want these tests to be green when we walk away from them. That doesn't need to be right now or even this pass, but I think the sooner the better? That old firefox issue is gone with Polymer 3, so in theory we can get these back to green. I can try taking a look at the error

Odd thing is that I can't see this error in the console of the tests. (All the tests seem to pass). Thanks for taking a look.


typo: powerbiembedded/resource-manager/Microsoft.PowerBI

defintion -> definition

Automation for azure-sdk-for-js

Automation for azure-sdk-for-python

Automation for azure-sdk-for-node

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-java

Automation for azure-sdk-for-go

Can one of the admins verify this patch?


Selection of subrows not working correctly

TanStack Table version
8.13.2
Framework/Library version
18.2.0
Describe the bug and the steps to reproduce it

Select first collapsed row
Expand it
Start unselect sub rows

Bug 1. Main rows still shows selected

Unselect main row and start select subrows

Bug 2. Main rows shows unselected when other rows selected
Your Minimal, Reproducible Example - (Sandbox Highly Recommended)
https://tanstack.com/table/latest/docs/framework/react/examples/expanding
Screenshots or Videos (Optional)
https://github.com/TanStack/table/assets/56388545/6de2310f-093c-41e8-81f9-fb3d362c4a5e
Do you intend to try to help solve this bug with your own PR?
None
Terms & Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

The reverse of this action also doesn't work. For example, selecting all sub-rows should trigger parent row selection too, but it doesn't.


ctrl: Result, Submission

Add possibility to finish a task by setting the
final submission in the result

Why do we need setting submissions final in two places?

we need it for the current coding status

Please elaborate.

if a company wants to see live how a coder is doing we need to display somehow the task-finished event, so we need to persist this somehow.

But the request to this route will still be made by the coder. So how does it help the company?

the task-finished event

What's that, where is it defined?

It is defined here
https://github.com/coduno/app/commit/5d8cc761c94e2c9987346c26e426d6456ed8a118#diff-af6e8bb5482f4672a7168c8bbc9fe0dfR135
It will help the company knowing wich of the stundents finished faster  task in real time

I`ll rebase to fix the conflicts.

OK. So it should do exactly the same thing as this part of CreateFinalResult. shouldn't it? We are duplicating code.

i did not have that when i coded

i did not have that when i coded.

It's 22 hours old!

And one more thing. this part of CreateFinalResult should happen only if the finalSubmissions are not set. Because GET on /results/{key} is made to GET a result by key and a lot of companies will want to do that. That means everytime we load a result we set the finalSubmissions and also we compute the results every time.

Please file an issue. This is out of scope for this PR.


Confirmed render missing text issue

I can confirm 2.5 has an issue with missing text inside pdf, I'm yet to locate the issue but does point towards pdf with missing embedded fonts.
Can anyone else confirm simular issues?

Yes! But now it works perfectly.

I had to down grade pdfium to version 1.5 to fix the issue, most pdfs are okay but some wont render text and miss parts.


fix filename and directory of inner_skull after watershed

Hi
since now watershed is nicely wrapped in mne  it is an opportunity to stop this issue of creating a link  bem/watershed/inner_skull_surf > bem/inner_skull.surf
I suggest cpoying rather than linking because links may break when moved from folder to folder or from PC to PC.
now I run
shutils.copyfile(subjects_dir + "/" + subject + "/bem/watershed/" + subject +
"_inner_skull_surface", subjects_dir + "/" + subject + "/bem/inner_skull.surf")

fine with me.
PR welcome

maybe making this copy an option instead of the default (I like symbolic links), it saves unnecessary wastes of disk space, and is less confusing when one has multiple BEM types. For example, if I generate both a watershed and MEFLASH BEM, I can tell from a simple ls -l, which surface I am using here, while if one copies the files you cannot easily tell.

a link is also fine with me if disk space is an issue
or even 'move' for default behaviour if nobody uses the original ones
On 9 November 2015 at 00:25, dgwakeman<EMAIL_ADDRESS>wrote:

maybe making this copy an option instead of the default (I like symbolic
links), it saves unnecessary wastes of disk space, and is less confusing
when one has multiple BEM types. For example, if I generate both a
watershed and MEFLASH BEM, I can tell from a simple ls -l, which surface I
am using here, while if one copies the files you cannot easily tell.
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/issues/2599#issuecomment-154881873
.

--
Yuval
Dr .Harpaz
BIU MEG lab http://faculty.biu.ac.il/~goldsa/index.html

I see one argument for copying:

windows users that copy freesurfer files to work later from windows.

but I agree that symlinks are useful to know from what bem type file are
coming from.
if there is no consensus or blocker, let's focus on more urgent matters.
my 2c

This has been open for a year with no action. I'll go ahead and close but if this is a needed/wanted feature we can come back to it


iPhone in silent: enableInSilenceMode and setCategory not working

enableInSilenceMode and setCategory are no longer available. After looking at details here and reading up other posts, I'm still having trouble making sounds work when iPhone is in silent mode.
The code below returns successfully but sound doesn't play in silent mode.
NSError *setCategoryError = nil;
BOOL success = [audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError];
if (!success) { /* handle the error condition */ }

NSError *activationError = nil;
success = [audioSession setActive:YES error:&activationError];
if (!success) { /* handle the error condition */ }

Any suggestions?

I found that github references version 8.4 of the plugin ( which includes enableInSilenceMode and setCategory ), whereas the version on npm (8.3) does not yet have this functionality.
To get around, I just cloned this git repo into my node_modules, instead of npm install.  There is probably a cleaner way to do that, but that's what is working for me.

Thanks @andrew-tam-000!
To use npm i, just replace your package.json with the following. It is the same as cloning master.
Package.json
"react-native-sound": "github:zmxv/react-native-sound"
FWIW, enableInSilenceMode is still not working for me but using setCategory('Playback') works and does the same thing.
I'll leave this open for the devs to address npm issues.

No problem @a-koka!  It also took me forever to figure it out... so just spreading the love XD.
And awesome, I've wondered how to do that git cloning via npm for the longest time, thanks!

I've made it clearer in the docs that enableInSilenceMode is deprecated and setCategory is the way to go now.


We can add a js code editor.

Enhancement
Apart from Reading we should provide option for practice.
We will implement a js code editor and it is easy to implement on browser to practice js coding.
Alternative way is to direct some other website.

Hi @raj-adi00, thanks for the feature request. We have already a browser editor may be we can reuse it?
https://javascript.sumankunwar.com.np/en/exercises/console.html


customQuotes/quotes.json

Added a new quote

@tincho4t please review this

@shravan20 Done the suggested changes.

Please format the json

@RS-labhub : Please format the json


Change use current page to add current page in shortcuts plugin

I think "Use" fits better here tbh, since it just fills in the information for you rather than actually adding the shortcut

agree ! thanks


Php version on ubuntu is not updated to php 8.0.15 using env: update: true

Describe the bug
Php version on ubuntu is not updated to php 8.0.15 using env: update: true
Version

[x] v2

Runners

[x] GitHub Hosted

Operating systems
ubuntu.
PHP versions
8.0
To Reproduce

name: Install PHP with extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: ${{ env.extensions }}
ini-values: date.timezone='UTC'
coverage: pcov
tools: composer:v2
env:
update: true

Expected behavior
PHP 8.0.15 Install.

PHP 8.0 is 8.0.14 on ppa:ondrej/php. Once updated on the PPA I will refresh the cache we have. Please report this here

It should be 8.015 now.

@shivammathur Please revert to PHP 8.0.14, or provide a way to use a patch version. PHP 8.0.15 has an issue with SplFileObjects, it's fixed in php-8.1.3RC1, php-8.1.2, php-8.1.2RC1, php-8.0.16RC1, php-8.0.15, php-8.0.15RC1:
https://github.com/php/php-src/commit/daf79e2d91dc4dd47f516229ebc5922ad35f27ab


An update or installation of VS Live Share failed due to a corrupted download. Please uninstall and reinstall the extension to resolve.

Issue Type: Bug
1.) Install VS Live Share
Uninstalling and re-installing does not work
Extension version: 1.0.2000
VS Code version: Code 1.44.2 (ff915844119ce9485abfe8aa9076ec76b5300ddd, 2020-04-16T16:36:23.138Z)
OS version: Windows_NT x64 10.0.18363

System Info

Item
Value

CPUs
AMD Ryzen 5 2600X Six-Core Processor            (12 x 3593)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.92GB (10.80GB free)

Process Argv

Screen Reader
no

VM
0%

@PaulDPerry: thanks for filing this issue! We currently have an experiment running that gives the user the option to "Repair installation" when this kind of corrupt download issue occurs. It should be released to all users in the next week. In the interim, can you please try the manual recovery steps listed in this issue:
https://github.com/MicrosoftDocs/live-share/issues/180#issuecomment-604074166

Closing as a duplicate of #180.


Multiple VIP's using multiple manifest file per vip/interface ..

Is your feature request related to a problem? Please describe.
I see that we can create a single manifest file and apply the same i.e vip/interface.
Describe the solution you'd like
Can we have multiple manifest file each with different vip/interface. Since multiple interface are there in master which requires vips
Describe alternatives you've considered
With current option we are planning to shift to kube-vip to keepalive since it has multiple ip's that can be maintained
Additional context
None, btw since not sure if kube-vip support as of today have raised above request. If this is already supported would like to have some reference for the same.

Are you wanting to expose multiple load-balancer addresses on multiple interfaces?

Are you wanting to expose multiple load-balancer addresses on multiple interfaces?

Basically for calico we have given 3 interfaces and with 3 masters we want to make all the 3 interface ip's floating and yes they are LoadBalancer IP's.. Hence you are right on the same..

I also have this requirement.
Two network interfaces exist on each machine in the cluster. I need one network to have one VIP and the other network to have another.

You can have different kube-vip living togetther with differnet --leaseName, but the problem is they can't tell the difference of vips on the service type lb. now the loadbalancer-ips annotation can only support specifying single ip.

Just as a follow up -- I was able to successfully setup two kube-VIPs in one cluster where each VIP is in control of one interface (and one IP per interface).
I am using the Daemonset deployment and what I had to do was update the generated manifest a little bit:

Ensure that you have two unique names for kube-vip. Change kube-vip-ds so that each file is different. For me, I replaced ds with the name of my network interface.
Ensure that only one of them is managing the control plane (not sure if this is nessecary or not).
Set the prometheus_server ports to not clash:

I used one on 2112 and one on 2113:
- name: prometheus_server
   value: :2112

Manually add the following line to set the lease names to be different in each deployment of kube-vip (as @lubronzhan suggested above):

- name: svc_leasename
  value: "vip-<yourInterfaceName>"

This last step is not documented anywhere yet but is in the source code here. However, that this only got added 2 months ago and thus you have to be using v0.6.3 (or later) to be able to make use of this feature.
Once setup, I could specify Loadbalancer services for both IPs and both services were available, and the IPs would be bound to the network interface specified when the particular machine held the kubernetes lease (verified that ip a interface has the IP bound)

After further investigation, this does not work.
One of the pods for my interface says:
Re-applying the VIP configuration [<IP_ADDRESS>] to the interface [enp24s0f0]"
Re-applying the VIP configuration [<IP_ADDRESS>] to the interface [enp24s0f0]"

Even though that pod is only configured to manage one of the IPs, not both....

This appears to be fixed using the lb_class_name.

Sorry - I see this has been resolved but I actually don't think that things worked after I performed testing with the answer I posted above.
We ended up having to use MetalLB using their AdvancedL2Configuration which offers more control over L2 Advertisements and AddressPools.
Our MetalLB configuration ended up looking like this, but without deploying N kube-vips, one for each NIC, I don't think this is possible to do in kube-vip.
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: ens3f0
spec:
  addresses:
    - <IpAddressOne>/32
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: ens3f0-advertiser
spec:
  ipAddressPools:
    - ens3f0
  interfaces:
    - ens3f0
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: ens3f1
spec:
  addresses:
    - <IpAddressTwo>/32
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: ens3f1-advertiser
spec:
  ipAddressPools:
    - ens3f1
  interfaces:
    - ens3f1


Ignore proc-macro stdout to prevent IPC crash

fixes  #7954
r? @flodiebold

Fun fact: we seem to do about 2080 proc macro expansions when analyzing RA itself, 166 of them with a response of more than 100 000 bytes, the largest being almost 600 KB.

the largest being almost 600 KB.

huh, who's that?

Yeah, looks like that's lsp_types::ServerCapabilites. Is this a single invocation, or all of the deserializes in the crate? If that's a single one, that feels excessive.

A single invocation, top ones are below. The total is 52 MB.
599139
534917
449627
366547
288330
274019
258890
256249
233323
218530
215860
199407
198340
197217
189853
187765
187585
181834
181535
181224
178820
178372
176892
165669
163620
163616
163493
163489
162706
161961
161521
161520
161435
161432
160896
160824
152180
150215
149944
149863

Could we use something like bincode or rykv instead of json?

Yeah, cargo expand for lsp types produces 6.1mb out of 256kb, a factor of 25 blow-up. That probably isnt' completely unreasonable, but still...

I think a fast fixup will be doing some special treatment on TokenId -1
case.
On Tue, 23 Mar 2021 at 23:08, Aleksey Kladov @.***>
wrote:

Yeah, cargo expand for lsp types produces 6.1mb out of 256kb, a factor of
25 blow-up. That probably isnt' completely unreasonable, but still...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rust-analyzer/rust-analyzer/pull/8159#issuecomment-804980917,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUA7Z6MO4NUGDC4NRUUGBLTFCVFBANCNFSM4ZUKYDTA
.

--
Cheers,
Edwin Cheng

I changed it to pass a buffer to reuse the storage. and let's handle the actual json size in other PR.

bors r+

Implemented  #8182 for the method I mentioned above.

changelog fix


Allow arbitrary enums to have explicit discriminants

Summary
This RFC gives users a way to control the discriminants of variants of all enumerations, not just the ones that are shaped like C-like enums (i.e. where all the variants have no fields).
Thanks
Thanks to Mazdak Farrokhzad (@Centril) and Simon Sapin (@SimonSapin) for the reviews, and my local bakery for their delicious baguettes. 🥖🥖

Rendered
Tracking issue

It'd be cool if this worked with ATCs to permit defining both discriminant and enum together:
trail Fields { type Id<T>; }
struct YesFields {}
impl Fields for YesFields { type It<T> = T; }
struct NoFields {}
impl Fields for NoFields { type It<T> = (); }

enum MyEnumInner<F: Fields> {
    Variant1(F::Id::<u64>) = MyDiscriminant::Variant1,
    Variant2(F::Id::<String>) = MyDiscriminant::Variant2,
    ...
}

pub type MyEnum = MyEnumInner<YesFields>;
pub type MyDiscriminant = MyEnumInner<NoFields>;

We've a circular definition above, but rustc could presumably break this cycle.

@burdges That seems unrelated to the RFC described in this pull request.

I can totally sympathize with this RFC. I have often wanted to go from an enum with fields to a value of another type.
My biggest two gripes against this RFC are

The casting here is annoying: LonghandId::Color as u16,
This really shouldn't require any unsafe code at all: unsafe { *(self as *const Self as *const LonghandId) }

In that light I propose the following variant/alternative:
// same as before
#[derive(Clone, Copy)]
#[repr(u16)]
enum LonghandId {
    Color,
    Height,
    InlineSize,
    TransformOrigin,
}

// explicitly mention that the given type is the descriminant (it can also be a struct!),
// but the compiler needs to be able to prove at compile time that two values of the
// descriminant type are actually different. Note: different means different bit patterns,
// not different in the `Eq` sense.
#[repr(LonghandId)]
enum AnimationValue {
    Color(Color) = LonghandId::Color, // no cast
    Height(Length) = LonghandId::Height, // also each descriminant assignment must be unique!
    InlineSize(Void) = LonghandId::InlineSize,
    TransformOrigin(TransformOrigin) = LonghandId::TransformOrigin,
}

impl AnimationValue {
    fn id(&self) -> LonghandId {
        (*self) as LonghandId // compiler can just return the descriminant! Completely safe!
    }
}

We could support discriminants with their own fields too, making this these enums into extensions.  I suppose #[extends(LonghandId)] would be an alternative to #[repr(LonghandId)], but certainly  #[repr(..)] makes sense.

Please, I have already addressed that this doesn't fit my use case in https://github.com/rust-lang/rfcs/pull/2363#discussion_r175161891 and the RFC already includes such an encoding as an alternative, except with #[discriminant(Foo)] instead of #[repr(Foo)].
Removing the need for unsafe code for the cast is a nice thought, but again it is unrelated to the RFC at hand.

@nox Sorry if this is a stupid question, but I still don't understand how the two proposals are not functionally equivalent. It seems like everything you can do in one proposal, you can do in the other. What am I missing?

I assume this is restricted to enums with an explicit repr? Otherwise, doesn't the part that says "if no set explicitly, start with 0 and count up" clash with the niche-filling enum optimizations?

@RalfJung I had the same reaction. nox and eddyb explained that this RFC controls the discriminant of each variant, but this is a separate concept from the tag that may or may not be part of the memory representation. #[repr] forces a tag to be present, containing the discriminant.
But yes, since mem::Discriminant is opaque this new syntax is only useful when also used with #[repr].

@mark-i-m https://github.com/rust-lang/rfcs/pull/2363#discussion_r175161891 One of the enums with variants has more variants than LonghandId. Your (and @oli-obk's) alternative is a strict subset of what is allowed by this RFC.

@SimonSapin I am not sure I understand, but if the feature is not useful for repr(Rust), maybe it'd be better to not allow it for now?

@RalfJung I listed it in the unresolved questions. I could imagine rustc managing to use niche-filling optimisations for 2 different variants with an inner enum, if it could see that they use disjoint sets of discriminants and that there is an easy way to compute the discriminant from the niche value. This is quite theoretical though so I don't mind mandating a #[repr].

I realy like the Variant(...) = ID, syntax. It keeps enums compact and prevents error-prone double typing.

Is X an enum at all?
Does X have the same #[repr({integer})]?
Does X have the very same number of variants?
Do Xs variants have the exact same names?
Do Xs variants have the exact same order?
Aaand having an additional X more than doubles your lines of code by adding redundant bloat.

Also, #[discriminant = {expr}] doubles your lines of code, or triples with readability line breaks, while having a more "magic"-ish syntax than just using the well-known Variant = {expr},.

There are two problems left for my taste:

How does one name those explicit discriminants?
How does one get those discriminants?

Now, about the first point... I especially like the Variant(...) = {expr}, proposal, because it looks just like C-style enums with Variant = {expr},. We do not want to match on magic numbers, especially not for huge enums, which is why Servo has those MyEnum and MyEnumId redundancies. It is much more understandable to match on MyEnumId::X than writing 0x1023. But wait, MyEnumId::X is how you get the discriminant of a C-style enum! So, why not allow this?
#[repr(u8)]
enum X {
    A(u32) = 0,
    B(f32) = 1,
}

assert!(X::A(42).id() == X::A);
assert!(0_u8 == X::A);

This could, however, mean trouble if type A = X::A is a thing. (It isn't.) Whatever. This way you do not need a second Id enum at all, while also not having to learn new syntax.
So... how do we get that discriminant? Writing a pointer-converting boiler plate function called fn id() all the time is no fun, especially for new magic syntax that is supposed to reduce the amount of boiler plate code. We already already have core::mem::discriminant, but this one is of not much help here. You can only use this for equality checks, it takes tremendous 64 bits, always, no matter the #[repr({integer})], writing mem::discriminant(X::A) == mem::discriminant(x) is painfully verbose, and you cannot really get the integer-representation out of it for e.g. FFI or RPC.
I'm not really up to date on the #[repr({integer})]-on-enums thing, but what about making this attribute implementing a const fn id_{integer}(&self) ->{integer} on the enum? Or implement an EnumRepr<{integer}> trait on it or whatever. Okay, the name may be different. fn id() alone might clash too much with common function names, fn discriminant() is so verbose that you might as well just impl Into<{integer}> on core::mem::Discriminant.
An alternative would be to treat enums logically as a (Discriminant, UnionOfVariants), or C-style enums as just (Discriminant). Then, instead of having to decide on a magic function name or trait names, we write this: X::A(42).0 == X::A. This has quite some downsides, however, like what does X::A(42).1 yield, do we want that, is it safe, what about non-#[repr({integer})]-enums, especially for those with highly optimised layouts like Option<bool>, etc.

@Evrey I'll add a commit listing all your arguments against #[discriminant], thanks!

How does one name those explicit discriminants?
We can't interpret X::A as some sort of magical ID enum, because X::A is already a function of type u32 -> X in your sample. Note that in Servo we also store the LonghandId enum in various places, without any PropertyDeclaration or AnimationValue anywhere. Please also note that as I mentioned multiple times already, PropertyDeclaration has more variants than LonghandId, so we can't directly tie the two in any way. So even if there was some magical way to say Enum::Discriminant to refer to that enum's discriminant type, we would still have a LonghandId enum in Servo.
How does one get those discriminants?
I agree that a way to safely get the u8 discriminant of an #[repr(u8)] enum value would be useful, but that's orthogonal to that RFC: after all #[repr(u8)] and #[repr(C, u8)] on enums landed without such an API.

I see... but I still have the same two annoyances against the current form:

The casting here is annoying: LonghandId::Color as u16
This really shouldn't require any unsafe code at all: unsafe { *(self as *const Self as *const LonghandId) }

Especially the second one seems like an essential part of any reasonable solution IMHO...

@mark-i-m I think that these two points are valid independently of this RFC. (Re unsafe code, see RFC 2195 in particular.) Improvements there can be proposed separately without necessarily blocking this RFC.

The casting here is annoying: LonghandId::Color as u16

This really shouldn't require any unsafe code at all: unsafe { *(self as *const Self as *const LonghandId) }

Given what I said about PropertyDeclaration having more variants than LonghandId, the casting cannot be avoided in my particular use case. Do you see why?

This is unfortunately quite painful to use, given now all methods matching against AnimationValue need to have dummy arms for all of these variants:

Note that this is #1872. Feels like a quite elegant workaround to me - the unsafe cast asserts that the ! variants are dead and then you can just match without thinking about them.

@main-- I know about this RFC, but it has been postponed and I don't think I should have to rely on that instead of just not having ! variants.

@nox I mean, you're essentially trying to come up with a way to define Rust enums with gaps in their discriminator space - this RFC proposes to explicitly specify the remaining ones whereas I suggested to list the missing ones. It's fundamentally the same thing, depending on the usecase either one may be more convenient. Yet I favor the ! solution as it doesn't add new syntax and complexity to enums but instead simply relies on a fix to match behavior that should have happened a long time ago (in my opinion). It just feels like a much more generic approach to me that can help with this problem and several others too.

Having to specifically define variants that are uninhabited for no other reason than to make 2 discriminants in 2 different enums coincide is a damn workaround that I will not qualify as "fundamentally the same thing" as being able to omit said variants. Why would I pollute my mind and my type definition with variants that I won't use?

I guess if most of your variants are dead it makes considerably less sense than, say, one of thirty. The thing is - comparing a language feature tailored specifically to this problem to a general mechanism that the language already offers (minus a papercut) just isn't fair, hence my reluctance to call it a workaround.
My point is that the alternative is not simply omitting the dead variants. Instead, you have to manually specify discriminants. When I say it's the same thing what I mean is that we're talking about two different ways to specify enum discriminants (same outcome). Your proposal introduces a new language feature which is clearly an improvement over the (mostly) existing workaround, I merely doubt that it's enough of an improvement to justify the complexity.

This is a very small addition to the language, semantics-wise and implementation-wise. As far as I remember discussions with @eddyb, this will be easily implementable.

I don’t believe added complexity is significant here, the same syntax already exists on field-less variants.

I went back and re-read the RFC and I think my objections are more specific about the example. The actual proposal is just about allowing Variant(..) = Disc, which I think is quite reasonable. I don't think y it's the best solution to the give example use case, but I'm not opposed to the rfc on its own merit...

(Aside: there’s a bunch of things in Stylo that are objectionable ;) (I say this as the author of many of these things.) A lot of it can be improved but the devil is in the corner cases, and better solutions are often not as easy as they first seem.)

I may be not reading correctly, but does this work for repr(Rust) enums too? And would:
enum A {
   B = 0,
}

have size zero or one? Also, would:
enum B {
    B = 1,
    C(!) = 256,
}

have size 0 or 2?
(These are super esoteric examples but it seems like a valid thing to ask considering how imho these don't make sense, but would be accepted.)

I wouldn’t say that they don’t make sense, merely that currently (as long as mem::Discriminant is opaque) you can’t observe the effects.

🚨 documentation police 🚨
Could you create a complete example of correct usage of this feature so that people can be directed to it? Possibly toss it in the guide-level section?
(re: the actual proposal, seems good to me! I don't think any part of firefox I work on has a use-case for it at the moment, though)

@clarcharr I would expect both of them to have size 0 (although the former needs to be changed still - see @nox's https://github.com/rust-lang/rust/pull/49513 PR).

I think mem::discriminant should expose discriminants for things like ordering, or even just outright providing the value, all we need is a way to handle signedness (which we can do by having Discriminant<T> query T's "discriminant signedness" with an intrinsic or something).
There's an important distinction to make, though:

"discriminants" are the explicit values written by the user

when not provided explicitly, they're defined to be "previous + 1", starting at 0

"tags" are the implementation-defined in-memory encoding

(only for the cases where the implementation isn't using invalid values aka "niches")
they can differ from the discriminant (except for repr(C)) and are never exposed
they only match today for performance reasons (decoding is a noop)

What is blocking this?

Ping on this. How do we go forward for this RFC?

cc @Centril @joshtriplett How would we start an FCP merge?

I like this, and it seems reasonable to me. I agree with @eddyb, let's talk about it in a lang team meeting. And I think we should fcp merge this if we get consensus in that meeting.

This RFC seems small and reasonable,
@rfcbot merge

My only comment is that I wish the syntax, somehow, had the numeric value closer to the variant name itself.
But I don't actually have any good suggestion for how to accomplish this. The main options I considered were
enum ParisianSandwichIngredient {
    0 = Bread(BreadKind),
    1 = Ham(HamKind),
    2 = Butter(ButterKind),
}

or
enum ParisianSandwichIngredient {
    0: Bread(BreadKind),
    1: Ham(HamKind),
    2: Butter(ButterKind),
}

or
enum ParisianSandwichIngredient {
    Bread = 0(BreadKind),
    Ham = 1(HamKind),
    Butter = 2(ButterKind),
}

but none of these strike me as better. So really my complaint is not with this RFC, but rather my past self for not trying to incorporate this feature five years ago in the pre-1.0 days.

@pnkfelix I'd say I prefer 0 => Bread(BreadKind), but agree with your conclusion.

On Fri, Apr 12, 2019 at 01:04:29AM -0700, Eduard-Mihai Burtescu wrote:

@pnkfelix I'd say I prefer 0 => Bread(BreadKind), but agree with your conclusion.

I like that syntax and would happily support it in place of the proposed
syntax.

I don't like this syntax at all.
It's completely at odds with C-like enums, which means that if you currently have a C-like enum and then add a field to one of its variants, you must rewrite the entire type definition.
It also puts more emphasis on the discriminant rather than the damn variant, even though the discriminants most probably aren't the most important part of the enum. It's certainly not the most important part of my use case.
That syntax also makes the example from the RFC horrible:
#[repr(u16)]
enum AnimationValue {
    LonghandId::Color as u16 => Color(Color),
    LonghandId::Height as u16 => Height(Length),
    LonghandId::TransformOrigin as u16 => TransformOrigin(TransformOrigin),
}

It may also be a problem to macro authors, who may want to be passed an enum definition and emit explicit discriminants for them, and now they must first check whether any of the variants have fields.

On Fri, Apr 12, 2019 at 09:37:31AM -0700, Anthony Ramine wrote:

I don't like this syntax at all.
It's completely at odds with C-like enums, which means that if you currently have a C-like enum and then add a field to one of its variants, you must rewrite the entire type definition.
[...]
It may also be a problem to macro authors, who may want to be passed an enum definition and emit explicit discriminants for them, and now they must first check whether any of the variants have fields.

I'd taken it as implicit that the same syntax would be permitted for
C-like enums.
(That said, I also don't mind the = value synax, if people prefer that.)

I'd taken it as implicit that the same syntax would be permitted for C-like enums.

Oh I see. That part is fine then. I still don't think it makes for a readable type definition in presence of complicated discriminant expressions.

On Fri, Apr 12, 2019 at 10:08:03AM -0700, Anthony Ramine wrote:

I'd taken it as implicit that the same syntax would be permitted for C-like enums.

Oh I see. That part is fine then. I still don't think it makes for a readable type definition in presence of complicated discriminant expressions.

That's fair.
I'm not sure if it's a good or bad idea to allow an "alternative"
syntax, such that both syntaxes work; on the one hand that'd allow
flexibility in writing, and on the other hand having only one syntax
makes for more consistency.
I'm happy to check off on either or both.

It's easier to make the other form work with { } although maybe this just adds confusion.
enum ParisianSandwichIngredient {
    Bread = 0  { bread_kind: BreadKind },
    Ham = 1 { ham_kind: HamKind },
    Butter(ButterKind) = 2,
}

I'd prefer not to invent a new syntax for this feature and just keep with the obvious extension to what we have, even if its not perfect.

Yeah, I was only replying to @pnkfelix, but I'm not proposing/in favor of a syntax different than the one in this RFC.

Huzzah! This RFC has been merged!
Tracking issue: https://github.com/rust-lang/rust/issues/60553

Just a few thoughs. The RFC focuses to solve some issue with the Servo design. I like the basic idea, but not the part where discriminate is a different type. If they have enums for anim, color, etc features why arent they different enums? And have a separate enum that combines all of them. I think its a design flaw in servo that shall not be fixed by an RFC.
Once it is "fixed" there is no need to have a separate type for discriminant, and hence turning enum into id can be something built in.

And have a separate enum that combines all of them. I think its a design flaw in servo that shall not be fixed by an RFC.

It is not.


fix: #490 react-native-web has no default export

Summary

I encounter the issue described in #490. The modification does not change anything on iOS and Android and avoid this issue on react-native-web
Test Plan

What's required for testing (prerequisites)?
You can check it through a newly created expo app
What are the steps to reproduce (after prerequisites)?
Create an new expo app
Add react-native-pager-view (needed for https://github.com/software-mansion-labs/react-native-url-router in my case-
Start with yarn web
Compatibility

OS
Implemented

iOS
✅

Android
✅

Checklist

[X] I have tested this on a device and a simulator
[ ] I added the documentation in README.md
[ ] I updated the typed files (TS and Flow)

There is a second issue on requireNativeComponent which is not defined in web case


21.02 Angular release tasks

[x] Update version in footer
[x] Update links on downloads page to include 21.02 data

Ticket closed as work completed and merged into 3.21.0 release


Support typeless kubernetes resources when generating manifests

Typeless kubernetes resource has no Group and Plural value, so generating wrong policy rule.
Commit summary:

Use ApiGroup value from GVK and '*' for Plural value if dependent resource is assignable from GenericKubernetesDependentResource 2) Merge verbs in rule for optimization if with same ApiGroups and Resources

Generally speaking, I will have some improvements, especially after https://github.com/operator-framework/java-operator-sdk/pull/2515 is available in a release, as this will be more precise.

Generally speaking, I will have some improvements, especially after operator-framework/java-operator-sdk#2515 is available in a release, as this will be more precise.

I agree.

Thank you for the improvements. However, I think that the merging of rules targeting the same apiGroup/kind should be done while we're gathering them, not after, as this would be clearer to understand, in my opinion. Would you mind modifying your PR to do that?

Maybe the naming is the key, not about before or after.


Add /node_modules/react-native-desktop/ to blacklist.js

Since RND basically on 98% the same project, node-haste fails on duplicates defined by @providesModule. So this would blacklist packager instances from each other.
index.ios.js
index.osx.js
node_modules/
   react-native/
   react-native-desktop/

react-native-web uses webpack alias, ReactWindows seems to be merged eventually. Can't come up with the different way.

This is specific to your project so it doesn't belong here; we can't be in the business of tracking every package that might have an incompatibility with React Native. I believe you can make a file called rn-cli.config.js that defines an object with a getBlacklistRE function in order to override this in your own project.

Thanks for a suggestion, this should work. Sorry for excess PR.


Any plans to add new functions like fast_mutate in siuba

In big data ,it always takes long time in mutate after group by .
I found the fast_mutate, fast_summarize in siuba does short the time a lot.
So do you have any plans to add some functions like that to optimize the grouped data.

Yes, the optimization will be done gradually in a long term, but it'll not be something like fast_mutate. It will be integrated with mutate itself. The optimization will be automatically performed when possible. You may take a look at arrange to see how that works:
https://github.com/pwwang/datar/blob/4e2b5db026ad35918954576badef9951928c0cb1/datar/dplyr/arrange.py#L55-L67
But I do need to take a look at some details of how those fast_* functions were implemented.

Glad to hear that.
You are really doing a great job.

With 0.6.0, those verbs are already their fast version. Mind giving it a try?

I assume that this is addressed.


error handling

Make sure this is still valid
_When a command is successful, tabcmd returns a status code of zero. A full error message for non-zero status codes is printed to stderr. In addition, informative or progress messages may be printed to stdout.
A full log named tabcmd.log that includes debugging, progress, and error messages is written to C:\Users<username>\AppData\Local\Tableau_
https://help.tableau.com/current/server/en-us/tabcmd.htm#status-messages-and-logs

Partially completed work in https://github.com/tableau/tabcmd/pull/76


Add ToDictionary method

hint: Use an object as a dictionary
https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.todictionary?view=netcore-2.1

I can have a go with this one!


Relax constrain on passed args (when no YUI is used)

When I worked with WMArchive I found that constraint in REST Service serving static content is too tight. It was done when we used YUI library. Now, I wanted to serve just set of static files, e.g. wmarchive/static/images/img.jpg, etc. and to do so I loose constrain on passed args.

@ticoann, Seangchan, I'm really puzzled by this test failure. The change I made
is for frontend page to serve static files. The failed test is for get jobs
from Retry Manager. Why it fails and how web interface is related to jobs
retrieval? Can you have a look at unit test failure.
On  0, DMWM Jenkins<EMAIL_ADDRESS>wrote:

Unit test changes for pull request 6493:

WMComponent_t.RetryManager_t.RetryManager_t.RetryManagerTest:testD_SquaredAlgo changed from success to failure
WMComponent_t.RetryManager_t.RetryManager_t.RetryManagerTest:testH_PauseAlgo (unstable) changed from failure to success

Previously working unit tests have failed!

Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/pull/6493#issuecomment-169525685

Hi Valentin, you are right. This patch is not related to the failures reported. Must be unstable test.
Anyway, could you update the comment above the code as well which state
Path arguments must be empty, or consist of a single 'yui' string,


fix/14696: Link syntax doesn't work on link ended with question mark

Fixed Issues
$ https://github.com/Expensify/App/issues/14696
Tests

Open app
Open a chat and send this : [link example] (http://example.com/?)
verify that it displays example.com link and  when we hover over the link, the url http://example.com?  is displayed

I also update the tests in /ExpensiMark-HTML-test.js and it works correctly in this case
QA

Open app
Open a chat and send this : [link example] (http://example.com/?)
verify that it displays example.com link and  when we hover over the link, the url http://example.com?  is displayed

Video Demo
https://user-images.githubusercontent.com/113963320/217592436-7be3eb79-4678-450e-96e4-cfd7ad17ee22.mov

Hi @techievivek , please help to review this PR

@thesahindia I just updated the PR, help to check again please

Hi @thesahindia , Thanks for your comment, I just updated

I had some misunderstands, I just fixed

I had some misunderstands, I just fixed

@thesahindia Please check again. Thanks

@jasperhuangg This PR is given 2 approvals. Please help to merge it then I can create a PR in the App repository.
cc @thesahindia @techievivek


suggestion: GitPod as a coding environment

Hi! I was poking around the resources/environments and had to take a second to geek-out / evangelize another option -> https://www.gitpod.io/
GitPod:

based on an open source core (Eclipse Theia) (the thing I'm really most excited about -- in fact, I've specifically always dreamed of it being used for this exact sort of teaching scenario)
very generous free tier
full access inside an isolated environment (full root, git, ssh, whatever)
(varying degree of) VS Code extension support
leverages Docker for making the environment extensible

GitPod allows a git repo to declare a Docker environment, and so thus a Git repo can become instantly clone-able and build/publish-able by anyone simply by using GitPod in any browser.
Some folks might prefer to build an impactful product without needing to know dozens of specific tools, whereas others might want to know those tools deeply and/or work in the dev tooling space.
So, depending on what the mentee wants to focus on, the mentor could take over declaring the full GitPod environment with any/all of the tooling necessary for the curriculum and/or eventual passion project. This would remove all of the potential overhead of the mentee needing to setup a local environment.
Screenshot of the Curriculum open in it, as an example, as well as showing you can get root. Projects can easily add a config file that makes any sort of tooling available to the GitPod environment.

Depending on my mentees desires/needs/goals, I may give this a shot, and if so, I could document it and also provide a starter repo that could be used side-by-side with the curriculum....

👋🏼 @colemickens. Looks very neat and would love to know if you were able to try this out. It looks like it provides almost an identical UI as VS Code. IMO, I've used Glitch to do pair-programming and deploy projects quickly. However, this looks like an environment that works with Python and possibly React Native, which are beyond Glitch's capabilities.
From past mentorship experiences, we've learned that teaching mentees to use their local environment helps simplify the concept of servers and web page rendering. However, if a mentee spends more time setting up their environment, it would be better to use a virtual environment like this, Repl.it, or Glitch.
Looking forward to hearing if you've been able to test this out. Wouldn't mind adding this to the environment page 😄


On creating the minutes.

We need to assign between ourselves the elaboration of the minutes of our meetings. I have some notes of the first two meetings we have had so far, but they need to be properly documented and stored in the project's wiki.

I will manage the project wiki.


uniform descpritions

general unified descriptions would be very helpful, like

all tools should have contents attribute (every tool can only be used if a food is placed on/in it), important
even more general, every entity that can have something on in should have this field, like counter has tools on it etc.

this would create a uniform world description that is much easier to use.

Should the floor also have a content attribute and contain an agent or not?

Mh yes, let's make it completely consistent.

All relevant objects should now have a content attribute via the abstract ContentObject class and interact properly withing the game


Refactor TOSA Legalizations to allow a legalization pass, to selectiv…

…ely apply the DECL_CONVERT_OP(*) allowing to choose whether to legalize the OP to TOSA on OP by OP case.

@rsuderman for review


"backendUri": "www.example.com" is not valid

This requires uri schema.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c59024a4-9208-9b00-43ee-f6ba936c95a6
Version Independent ID: 5ac7705c-35e3-b211-ebba-3798dd949409
Content: Work with proxies in Azure Functions
Content Source: articles/azure-functions/functions-proxies.md
Service: azure-functions
GitHub Login: @alexkarcher-msft
Microsoft Alias: alkarche

Hi @jjaskulowski
Thank you for reporting this issue! We will investigate and make any necessary changes.

Hi @jjaskulowski
Thanks again for reporting this and helping us drive improvement toward MS Docs! We have updated this documentation to reflect consistency on occurrences of backendUri property and its values: www.example.com should now read https://<AnotherApp>.azurewebsites.net/api/<FunctionName>
We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Forbid v2 master keys to be the same

Keys should not be reused for multiple purposes, that's why key store v2 uses two distinct keys: one for encrypting private key data, and one for signing all key store data. Let's detect configuration errors and refuse to create or open a key store if both keys are the same.
Since the key store does not have direct access to the keys and cannot check for that, the only place where we can still do it is when the keys are retrieved from the environment. This also gives us a chance to point out to the user what exactly is wrong with the environment.

how Acra receives the signature key?

It needs to be generated by the user with acra-keymaker, just like the encryption master key.
Key store v1 uses one key: ACRA_MASTER_KEY. Version 2 uses two keys:

ACRA_MASTER_ENCRYPTION_KEY
ACRA_MASTER_SIGNATURE_KEY

For security reasons they should not be derived from a single source, instead they should be two separate keys.


Add an option to remove leading zeroes - DTR Generator

Some departments or on some circumstances like change of syntax or formatting of a DTR may sometimes require the hour part to be single digits for those below 10. Add an option to remove leading zeroes on the hour part of the time.

Issue #6 implemented and solved. Closing issue.


feat(Demo): Add Open Sans to demo pages

Add Open Sans to demo pages
Update test images

This is not a feature that we are releasing in the package, so feat shouldn't be used

This is not a feature that we are releasing in the package, so feat shouldn't be used

chore?

There are some width changes in certain elements (or even height?) Might be interesting to see if some of our components got broken.. But reviewing 400 images is too much, so hopefully will notice as we go.

@veekeys that might be a result of the Open Sans font being slightly larger/smaller than whatever font was being loaded previously.


Idempotency issues when auth engine is already configured

When using Vault 0.11:
time="2018-09-27T05:20:06Z" level=error msg="error configuring vault: error enabling kubernetes auth method for vault: Error making API request.\n\nURL: POST https://<IP_ADDRESS>:8200/v1/sys/auth/kubernetes\nCode: 400. Errors:\n\n* path is already in use"

time="2018-09-17T21:40:39Z" level=error msg="error configuring vault: error configuring secret engines for vault: error mounting secret into vault: Error making API request.\n\nURL: POST https://<IP_ADDRESS>:8200/v1/sys/mounts/secret\nCode: 400. Errors:\n\n* existing mount at secret/"(this got fixed in #177)

I would agree.  Show an "already configured' message if possible.

Fixed already.


Installing devspace via yarn fails

What happened?
Installing via npm install -g devspace works as expected but after installing via yarn global add devspace the devspace commands fail
How can we reproduce the bug? (as minimally and precisely as possible)
Ashs-MBP:glow-svc ashconnell$ yarn global add devspace
yarn global v1.12.3
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 📃  Building fresh packages...
success Installed<EMAIL_ADDRESS>with binaries:
      - devspace
✨  Done in 5.38s.
Ashs-MBP:glow-svc ashconnell$ source ~/.bashrc
Ashs-MBP:glow-svc ashconnell$ devspace --help
Finishing installation for DevSpace CLI
internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module '/Users/ashconnell/.nvm/versions/node/v10.16.0/lib/node_modules/devspace/index.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

Local Environment:

Operating System: Mac
Yarn: 1.12.3
Node: 10.16.0 (using nvm)

/kind bug

Thanks for reporting this, @ashconnell. We are currently only supporting npm as install method. I can certainly look into making this work with yarn as well. That shouldn't be too hard.
Out of curiosity: Why did you want to install DevSpace via yarn after already successfully installing it via npm beforehand?

You can probably backlog this. On my host machine I use Yarn for everything - mainly for the monorepo functionality - so I first tried to install using yarn, which failed so I just used npm.

Got it. That makes sense. Thanks! Will look into why the yarn install failed.

Update: I changed a couple of things in v4.2.0-beta.5 regarding the npm installer which should allow to install DevSpace via yarn as well.
@ashconnell Can you try to re-install DevSpace again using yarn and confirm that this issue is resolved? I tried on my machine using these commands:
# Uninstall via npm first
npm uninstall -g devspace

# Install via yarn
yarn global add<EMAIL_ADDRESS>

Yep looks to be working! Nice one!
Ashs-MBP:tmp ashconnell$ devspace --version
devspace version 4.1.3
Ashs-MBP:tmp ashconnell$ npm uninstall -g devspace

><EMAIL_ADDRESS>preuninstall /Users/ashconnell/.nvm/versions/node/v10.16.0/lib/node_modules/devspace
> node index.js uninstall

? Do you want to remove the global DevSpace config folder ~/.devspace? no
removed 88 packages in 6.192s
Ashs-MBP:tmp ashconnell$ yarn global add<EMAIL_ADDRESS>yarn global v1.12.3
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 📃  Building fresh packages...
success Installed<EMAIL_ADDRESS>with binaries:
      - devspace
✨  Done in 6.47s.
Ashs-MBP:tmp ashconnell$ source ~/.bashrc
Ashs-MBP:tmp ashconnell$ devspace --version
Finishing installation for DevSpace CLI
Download DevSpace CLI release: https://github.com/devspace-cloud/devspace/releases/download/v4.2.0-beta.5/devspace-darwin-amd64

devspace version 4.2.0-beta.5


Error loading libvnc.so in XRDP - Feedback

Subject: Error loading libvnc.so in XRDP - Feedback
Dear neutrinolabs,
I am writing to provide feedback regarding an issue I encountered while using XRDP. I am experiencing difficulties with the loading of the libvnc.so library as specified in the xrdp.ini configuration file. The error message suggests adding a valid entry such as "lib=libxrdp-vnc.so" or a similar valid entry.
Here are the details of the issue:
Error message: "connecting to sesman on <IP_ADDRESS>:3350 sesman connect ok sending login info to session manager. Please wait... login successful for user caorui on display ll error loading libvnc.so specified in xrdp.ini. please add a valid entry like lib=libxrdp-vnc.so or similar."
Steps to reproduce:
Install and configure XRDP on a CentOS 7 system.
Attempt to establish a remote desktop connection using XRDP.
Encounter the above-mentioned error message.
System information:
Operating System: CentOS 7.9
XRDP version: xrdp.x86_64 1:0.9.22-3.el7
Installed VNC-related packages:
gtk-vnc2.x86_64                         0.7.0-3.el7                    @anaconda
gvnc.x86_64                             0.7.0-3.el7                    @anaconda
libvncserver.x86_64                     0.9.9-14.el7_8.1               @updates
libvncserver-devel.x86_64               0.9.9-14.el7_8.1               @updates
tigervnc.x86_64                         1.8.0-25.el7_9                 @updates
tigervnc-icons.noarch                   1.8.0-25.el7_9                 @updates
tigervnc-license.noarch                 1.8.0-25.el7_9                 @updates
tigervnc-server.x86_64                  1.8.0-25.el7_9                 @updates
tigervnc-server-minimal.x86_64          1.8.0-25.el7_9                 @updates
I have verified that the libvnc.so library is not present in the system.
I have installed the tigervnc-server package as per the official XRDP installation instructions.
The error occurs consistently whenever attempting to connect via XRDP.
Please let me know if you require any additional information or if there are specific logs or configurations that would be helpful for debugging this issue. I appreciate your assistance in resolving this problem.
Thank you for your attention to this matter.
Sincerely,
zscaorui
<EMAIL_ADDRESS>

The solution provide in issue #2689 solves the problem bu default installation doesn't brings the libvnc.so module that is necessary for complete functionality of xrdp throw windows rdp remote access.

Hi all,
We've had multiple threads raised here about the same issue.
I'd encourage the participants in this thread to look at #2678, in particular this post regarding a significant issue with 0.9.22-4
Please add further comments and queries to #2678

Those threads did not work on my RHEL 8 system. The fix was found here:
https://github.com/neutrinolabs/xrdp
For RHEL 8, do:
$ sudo yum install epel-release
$ sudo yum install xrdp
The RDP from my Windows laptop works now. So much better than using VMware Horizon Client!

@deardeer7 - this isn't the same issue. This issue is an EPEL packaging issue which doesn't affect Ubuntu.
You might coming across #1986. If so, check LD_BIND_NOW isn't set in your global environment.
Other than that, Ubuntu don't routinely rebuild xrdp packages except for explicit security problems. You'll have to either:-

Trying using the xorgxrdp backend instead of the VNC backend. You'll need to apt install xorgxrdp and make some config changes.
Rebuild it yourself.
Find a source you can trust on the Internet for later versions of xrdp. As a project we don't recommend any such sources.

ok, thanks. i fixed my bug.在 2024年3月6日，19:35，matt335672 @.***> 写道：
@deardeer7 - this isn't the same issue. This issue is an EPEL packaging issue which doesn't affect Ubuntu.
You might coming across #1986. If so, check LD_BIND_NOW isn't set in your global environment.
Other than that, Ubuntu don't routinely rebuild xrdp packages except for explicit security problems. You'll have to either:-
Trying using the xorgxrdp backend instead of the VNC backend. You'll need to apt install xorgxrdp and make some config changes.
Rebuild it yourself.
Find a source you can trust on the Internet for later versions of xrdp. As a project we don't recommend any such sources.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


should choice collection continue through embedded blocks?

For example, should
* Choice 1
\`\`\`
if (cond) {
, * Choice 2
}
else{
, * choice 3
}
\`\`\`
* Choice 4

Collect and present 3 choices?

Also, should
``
, * choice 1
, * Choice 2
``

Collect 2 choices?
Write unit tests for the desired behavior in these cases.

Relevant: choice conditions already exist, so the given examples merely simplify the syntax for multiple choices that share the same condition. But there's no gap in functionality here.
And what are we to do if something like this happens?
* Choice 1
``
* Choice 2
- Some output
* Choice 3
``
* Choice 4

This is very relevant to threading. I think threading will be more powerful if this is the case


recreate input toggling & cursors

installed experimental version of oculus xr (2.2.0) - newer was black screen


Val cannot be reassigned when trying reassign value of version propererty in intellij block

I've just created project from project wizard and I got incorrect template
IntelliJ IDEA 2021.2 EAP (Ultimate Edition)
Build #IU-212.3116.43, built on May 27, 2021

The same problem when I using Gradle Groovy DSL.

Pavel, please go through the migration guide:
https://lp.jetbrains.com/gradle-intellij-plugin/

@hsz Huh.. Thanks! I hope plugin template bundled in IntelliJ IDEA will updated.

Thanks for very quickly response. It was awesome!

At the bottom of the How to upgrade? section, there's a link to the commit with all changes required to be done in the IntelliJ Platform Plugin Template project.


Flatlist - Pull to refresh not working when horizontal

🐛 Bug Report
I am trying to implement a pull to refresh in a horizontal FlatList in react-native version 0.57.7.
        <FlatList
          horizontal
          refreshing={requesting}
          onRefresh={() => console.log('Refresh')}
          data={cardsList}
          renderItem={({ item }) =>
            <EachCard
              {...item}
            />
        />

So at first when requesting is true, it shows the loader. But when i try to pull down to refresh, it doesn't pull down and the onRefresh is also not triggered.
I also tried to each version from v057.7 to the latest 0.59.4. It also didn't work.
Environment

react-native: v0.57.7 to v0.59.4
react: v16.6.3

react-native info
React Native Environment Info:
System:
OS: macOS High Sierra 10.13.6
CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
Memory: 713.56 MB / 8.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 11.3.0 - ~/.nvm/versions/node/v11.3.0/bin/node
Yarn: 1.12.3 - /usr/local/bin/yarn
npm: 6.4.1 - ~/.nvm/versions/node/v11.3.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
Android SDK:
API Levels: 25, 26, 27, 28
Build Tools: 27.0.3, 28.0.2, 28.0.3
System Images: android-27 | Android TV Intel x86 Atom, android-27 | Intel x86 Atom, android-27 | Intel x86 Atom_64, android-27 | Google APIs Intel x86 Atom, android-27 | Google Play Intel x86 Atom, android-28 | Google Play Intel x86 Atom
IDEs:
Android Studio: 3.2 AI-181.55<IP_ADDRESS>56338
Xcode: 10.1/10B61 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.3 => 16.8.3
react-native: 0.59.4 => 0.59.4
npmGlobalPackages:
react-native-cli: 2.0.1
react-native-git-upgrade: 0.2.7

Yes, I and I thought I was going crazy 😆
possible solution?? wrap it within a scroll view 👍

Can you run react-native info and edit your issue to include these results under the Environment section?

done!

@karanpratapsingh it didn't work for me...Did it work for you?

@andreshsingh
Give this a try

<ScrollView
                    refreshControl={
                        <RefreshControl
                            tintColor={textColors.black}
                            refreshing={isSyncing}
                            onRefresh={this._onRefresh}
                        />
                    }
                    showsVerticalScrollIndicator={false}
                    contentContainerStyle={{ flexGrow: 1, alignSelf: 'center' }}>

            // your horizontal list here

</ScrollView>

@karanpratapsingh  hack works :D but this bug needs to be fixed.

@andreshsingh Yeah man, I agree 😭

@andreshsingh @karanpratapsingh The documentation actually states that the refresh control only works for vertical ScrollView. I guess it is a feature request more than a bug report :)

@AntoineDoubovetzky
yes, refresh control only works for vertical scrollView but it works for horizontal flatlist too. Try it in expo. It works there.

@andreshsingh hello,
about the hack with scrollview - did this work on iOS? I can't do anything, onRefresh function doesn't work at all.

@ashotosipyan  yes it works, try the code above.


Create an ADR about the roles and their permissions

[ ] Data Sponsors have highest level of permission, and we should assume for now that they've been trained. Data Sponsors are the only people who can assign a Data Manager.
[ ] Data Sponsors can assign Data Users.
[ ] Data Managers must be trained, this will eventually be managed by a Grouper group. If they are not in the Grouper group they can't be a data manager. For now, the spreadsheet will be supplemented with who has received training.
[ ] they should be able to edit Data Users, but should not be able to assign other data managers.
[ ] Sponsors and managers can be the same person
[ ] We should have automated tests to ensure this is enforced in the UI.
[ ] Indicate in the ADR that we cannot enforce this at the UNIX filesystem level (e.g., when mediaflux is set up as disk mount)

We discussed this on 1/24/2014 but I don't think we got all the requirements here. @matthewjchandler when you get a chance, would you please ensure this is complete enough for us to move forward with?

@bess I just edited the top comment with criteria to my satisfaction. Thanks!


Update scientific.nix and add haskell-language-server to shell

This makes it trivial to edit the library, just open a nix-shell and vscode inside and you are good to go!
I removed the inNixShell thing, because for building the package the default.nix should be enough.

I can cabal2nix . again to regenerate the scientific.nix file


Including Acceptance criteria when printing

Hi,
Could you allow inclusion of Acceptance criteria when printing
Kind regards,
Georgi

I'll put it below the Description, unless you think it would be better somewhere else.
Eventually I plan on adding a settings page in the Admin Settings section that will allow you to fully customize the fields available.

That's great! Thank you!

Your extension should have automatically updated. If everything looks good, please rate/review the extension on the Marketplace.

Nice work, cheers!

I have released a new version of the extension. which includes per-item customization. You can add any and all fields, and change their order. If you have the extension installed, it should update automatically, and may prompt you for new permissions (storing your configuration). Otherwise, you can find it in the marketplace.


eq-536 enhanced focus styles

What is the context of this PR?
Trello card
When testing the application with a severely colourblind user, we observed that the native browser default focus styles did not have sufficient contrast to help this user differentiate between focused and unfocused elements.
This PR adds enhanced focus styles for all focusable page elements including links and form elements. See the the design in the attached Trello card for the specifics of the design.
How to review
The following elements should be tested:
Links
All links should have a focus style of blue background and white text:

Text Inputs & Select Boxes
Both of these should have a blue outline:

Buttons
Lighter blue background on focus:

Radio Buttons & Checkboxes

Focusing into the "other" field will retain focus on the "parent" field, visually shifting focus from the radio/checkbox control itself:

To the "other" field:

Edge cases
There are a number of edge cases where the appearance of the focused element might be affected by the context of it's appearance. An example is how focus behaves when enclosed in an "error" alert box:

It is worth checking these edge cases and checking that there are no visual defects or colour contrast issues.
Javascript
The focus styles of radio buttons and checkboxes aren't achievable with CSS alone so javascript has been used to provide styling hooks. This also needs reviewing/checking to make sure it degrades gracefully.
Legacy Browsers
Some CSS3 selectors and properties have been used (eg. box-shadow). Legacy browsers should be checked to confirm there are still sufficient focus styles.

Please find below are the Observations/Issues:
Navigation works fine but no highlighting
Operating System: Windows XP – Browsers IE 6 & 7 Firefox 48/49
£ Symbol not displayed correctly:
Operating System: Windows 10 – Browsers IE 11 & Firefox 48/49
Operating System: Windows 8.1 – Browsers IE 11 & Firefox 48/49
Operating System: Windows 8 – Browsers IE 10 & Firefox 48/49
Operating System: Windows 7 – Browsers IE 10/11 & Firefox 48/49
Operating System: Windows XP – Firefox 48/49
Navigation (Tab) does not go to previous link/ Skip Content/Header, Save and Continue button and show further Guidance. Also does not navigate through error message links
Operating System:  Mac OS X – Browsers Safari 10 Latest
Navigation (Tab) does not go to previous link/ Skip Content/Header, Save and Continue button and show further Guidance. Also does not navigate through error message links and £ Sign not displayed correctly does not go through the edit links on summary screen.
Operating System:  Mac OS X – Firefox 48/49

Thanks @yoganandkunche. I think the last two issues don't apply to this PR as they are browser/osx behaviours. See this answer on Stack Overflow for more info: http://stackoverflow.com/questions/11704828/how-to-allow-keyboard-focus-of-links-in-firefox

@yoganandkunche That bug is fixed now.

@yoganandkunche This is ready. Issues with ie6/7 not having focus styles are due to the fact those browsers do not support styling focus.

Retested after the Fix and everything works as expected. Also tested Firefox and safari on mac by changing the setting to navigate through to links and that passed QA.


Task: GitHub Repository Links to Figma Prototype

Describe the task
On the Methodology page, under the Data Sources header at the bottom, there is a link to the github repository. When clicked, the link pulls up a Figma page informing the user that they are being redirected to GitHub from Figma. To access the repo, the user must click the link on this Figma page
Acceptance Criteria

[ ] Link the GitHub repo without going through Figma first

@CodeWritingCow Created a pull request please review and merge

@CodeWritingCow
Created a pull request please review and merge

@samipthapa thanks for contributing!


Cannot dowload jar file directly

I am trying to download the jar file from http://www.jfoenix.com/download/jfoenix.jar , but the url is not working.

You can also try to download the jar from Maven Repo.

That worked, thank you.


chore(docs): Minor rewording to JavaScript README

This PR provides some minor wording, including fixing a pathing problem in an example since javascript/ was moved under legacy to legacy/javascript/.

tricky one; going to close for now!


feature: Create a new heap variant to replace Arc

TODO: Fill out description

I think it’s totally unnecessary to reinvent Arc here.
We can use slice-dst to create an unsized Arc.
Or, we can use triomphe which provides similar functionality but easier to use, and I had my PR relating to MaybeUninit usage merged in it.

Thanks for the feedback @NobodyXu!
I did look at tripomphe and I actually saw your recent PR for adding an API for MaybeUninit<T>, but unfortunately it doesn't seem to have been released yet? Otherwise I played around with trimophe::ThinArc a bit but it doesn't provide an API to modify the underlying buffer, which is one of the goals of this change, so we can get closer to being a truly drop-in replacement for String.

an API to modify the underlying buffer

Is that for the copy-on-write usage?
Well then, I think this does require creation of another unique Arc type, though I think it might be better to implement this in another crate in a generic way.
But then, that can be postponed until this feature is completed in compact_str.
This is quite a novel way to implement CompactStr to save memory while permit modification.
Thanks for taking your time to answer my question!


"Display top X results" or "display all results above score Y"

This issue follows from a point @avinashladdha has raised.
There are two options to determine the cut-off for displaying or not results:

Constant number of results. E.g., "always display the top 3 results". This ensures consistency in the output length but may result in output from different queries erroneously looking like the same level of relevance.
Fixed threshold to display results. This means that queries where many tools are relevant may return many results. Also, some testing / tweaking would be necessary to identify a good threshold value (this can be a follow up issue if we choose this option).

From a usability perspective, the first option provides more consistency and clear expectations. Without any testing, this would have my preference (but my preferences are not the standard 😊).
We could try both and see what happens, as this is not costly to try out. Thanks for opening the issue to track this!

This was discussed today with the WHO Collaboratory team at our monthly stand up and they overall preferred not having a fixed number of results, but instead all the results above a certain threshold.
They mentioned it may be frustrating to users & developers otherwise if they are looking for a specific tool that would indeed be relevant but not in the top 5 matches.


README Updates

This PR does the following:

Adds a table of contents to the README
Rewords introduction + makes reference to large design system ecosystem
Moves some content to the wiki and links to the relevant wiki page

@hokei There isn't any good way to request review on it, but I've tried to also clean up the wiki—I'd love your eyes on it and maybe we request Bill run through it to make sure it's shipshape


Fix error in CMakeLists

Hi,
Thanks so much for taking the time to make this PR.
Unfortunately I already made your suggested changes, along with a couple of other that make life on Window a little easier, in a branch and due to a merge snafu they didn't make it into master.
I have fixed the merge issue and cut a new release with those changes in place. You should now be able to download the new version (<IP_ADDRESS>) from Hackage.
Sorry for the trouble.


How to push Notification when app run in background in Android

I done this issue, how to close it :D


A confusion about the MQTT Device Service

hi , i followed the documentation to learn how to use MQTT's device service.
I created the device my-custom-device step by step according to the document ,but the device failed to receive the GET and PUT methods.

These are the logs.
level=ERROR ts=2022-02-15T08:58:51.896941054Z app=device-mqtt source=restrouter.go:158 X-Correlation-ID=46365588-8be2-403a-82f1-0ca49991eb63 msg="error reading DeviceResourece message for my-custom-device -> 'mqtt' protocol properties is not defined"
Please tell me what the problem is. thank you！

how did you create the device? could you please paste the response of the core-metadata API call?
http://{hostname}:59881/api/v2/device/name/my-custom-device

What is the device-mqtt error logs when you run curl http://localhost:59882/api/v2/device/name/MQTT-test-device/testmessage \ -H "Content-Type:application/json" -X PUT \ -d '{"message":"Hello!"}'?

Thank you for your reply, please forgive me for being new.
I expect the response to look like a document. How do I do that? Thank you very much!

@FengZeHe did you execute the "Run an MQTT Device Simulator" section to start mock-device.js with the correct broker IP address?

@FengZeHe did you execute the "Run an MQTT Device Simulator" section to start mock-device.js with the correct broker IP address?

It is. It's my fault. Thanks for your reply！


RFC-9195 Remove installation wizard

(taking this conversation out of Slack)
Overview
The installer is a way of onboarding novice users who aren't comfortable with configuring .env files, and a way to validate that SilverStripe can operate (e.g. assets permissions). It used to be responsible for copying/modifying default files, but this logic has now moved into silverstripe-recipe composer packages (executed on composer create-project etc)
Approach
We're hoping to remove the "Installer" UI from framework and put it into its own module. Since most devs create their projects with composer, this probably won't be a huge loss for 90% of our audience. The question at hand is how to deal with backward compatibility as it pertains to recipes.

Option A: silverstripe/installer continues to ship with the installer UI. We add a new require for silverstripe/installer-wizard. Devs opt out by removing this module manually. Archive builds are not affected.
Option B: silverstripe/installer no longer ships with the installer UI. You have to install it manually using composer require silverstripe/installer-wizard after project creation. Archive build process adds this new step.
Option C: Create silverstripe/installer-express (Name TBD). No installer UI. silverstripe/installer continues to ship the installer UI for BC.
Option D : Create silverstripe/installer-full (Name TBD). Has installer UI. silverstripe/installer no longer ships the Installer UI.
Basically, maintaining true BC is catering to our smallest batch of users, and it's just a question of who want to benefit most from this.
Option E: Status Quo. silverstripe/installer contains the installer files as project files, which you can delete when you're finished with them?
Option F: Remove entirely without a replacement

I don’t have any qualms with removing installer in terms of semver, but I do think that we need something to guide less experienced devs. For example tell them if the assets folder isn’t writeable, or if we can’t connect to MySQL, or they’re running an unsupported version of MySQL. That being said, we can probably find other ways to do that, since it’s not only an installer concern.
If you look at Laravel, they solve this by just using php -S and SQLite (php artisan serve), no installer required really. But that isn’t a great way to run SilverStripe at the moment (e.g. single threaded sequential CMS PJAX requests suck). We could just tell people to use Homestead with some preconfigured stuff. I don’t think a “launch a DigitalOcean VM” is a good replacement for a local dev environment (no easy way to get your preferred IDE working with remote filesystem?).
Either way, I think we need a smooth onboarding for devs who barely know what composer is. And that’s a discussion worth having, but more work than any of the options discussed above. At the moment, “smooth” onboarding happens through the installer and a lot of convoluted “install on ” docs. The short-term aim for this ticket is to remove current and reduce potential future security vulnerabilities by making it less likely that the installer inadvertently gets left in your production system.

The short-term aim for this ticket is to remove current and reduce potential future security vulnerabilities by making it less likely that the installer inadvertently gets left in your production system.

The Option A doesn't seem to be solving that particular problem, as long as devs have to manually perform any deletion steps.
Also it seems to make it even more complicated:

delete install.php file

VS

delete a particular line within composer.json before running composer install. if you already ran composer install before, then you also need to delete install.php manually

You can use the composer APIs to remove the line though? You would probably have to make the composer lib a dependency of the "wizard" module though.

I'd go for Option D or option F. If we went with D, we might use that as the basis of the tar.gz downloads.

Note that I'm radically simplifying our install docs with https://github.com/silverstripe/silverstripe-framework/pull/9212

Just to add a bit of data to this discussion: We can gain insights into the number of installer uses through http://ss2stat.silverstripe.com/ (!!!), which is still used by default in https://github.com/silverstripe/silverstripe-framework/blob/d04e54c1bea46c17bb8bf4a3ec661833d4127de6/src/Dev/Install/Installer.php#L684 unless you opt out. The view there isn't super useful, but the downloaded database makes it a bit clearer.

So in all of 2019, 26 devs might have used the installer and didn't opt out of the stats. This compares to 2000 packagist installs in the last 30 days on silverstripe/installer. Given the installer isn't typically used for custom projects, most of these should be considered actual installations rather than just "team members cloning a customer project". silverstripe/installer typically isn't a packagist dependency in any customer project.
Our Travis builds generally don't use installer either (example travis.yml on framework), other than the installer builds themselves.
So in conclusion, there's over 100x as many devs using composer than our installer UI. Unless there's a flaw in my logic? Is this enough of a case to drop it completely? Sorry I should've gathered those stats a bit earlier, @unclecheese has actually spent a day decoupling the installer already. But better now than never, right?

OK, I've triple checked those numbers: Downloaded the stats database and inspected the non-aggregated results. Then ran the installer on the download, and confirmed it indeed made a request.
There's going to be some installs which don't allow a) external requests from PHP (firewall) or b) have allow_url_fopen=0, but I'd say that'd be the minority.
In conclusion, I'd recommend that we:

Remove installer from framework to an optional module (Aaron's already done that, see https://github.com/silverstripe-security/silverstripe-framework/pull/88/files and https://github.com/silverstripe/installer-wizard)
Mark https://github.com/silverstripe/installer-wizard as unsupported
Remove broad references to the installer on silverstripe.org and docs.silverstripe.org
Don't re-add https://github.com/silverstripe/installer-wizard to archive download
Add a note in https://www.silverstripe.org/learn/lessons/v4/up-and-running-setting-up-a-local-silverstripe-dev-environment-1 on the availability of an unsupported installer, and how to use it. Unless we're prepared to do that, it'll basically be invisible and useless.

If Aaron hadn't already taken this so far, I'd just say "kill it", but given we've spent all the effort to modularise it, we might as well keep it around as code with clear expectations on it's level of support.

OK, looks like there's no opposition to removing the installer completely (Option F), or isolating the code into a module and not including it anywhere (Option D). Aaron, Sam and myself are fine with either of these solutions. Since Aaron has already done Option D in the meantime (see https://github.com/silverstripe-security/security-issues/issues/50), I'm happy with that code to exist as a separate unsupported module: https://github.com/silverstripe/silverstripe-installer-wizard.
So, in effect this reduces our maintenance surface for the core team. It might also be the start of a community maintained "requirements checker" (a bit broader than the installer) if somebody sees value in that. We should go through known installer issues and close them as wontfix.
FYI: I've re-enabled download tracking, and we've had 58 downloads in ~6 days, so roughly 300 downloads per month. Compared to 2000 packagist installs of silverstripe/installer.

Merged the PRs related to this: https://github.com/silverstripe/silverstripe-framework/pull/9231 and https://github.com/silverstripe/silverstripe-framework/pull/9231

Looks like the installer wizard module doesn't actually work. If you've got an interest in this thing, there's an issue for this here: https://github.com/silverstripe/silverstripe-framework/issues/9513


"No selected product" when running 0.6.0 with /edh4 switch on Linux/Steam

I'm running Elite Dangerous through Steam on a Kubuntu 22.04 Linux environment.  I own Horizons, but not Odyssey.  Min-ed-launcher v0.5.4 (IIRC) was working fine with the /edh switch.
Just downloaded v0.6.0+8103a3a6, and made sure my Steam installation was up to date, and also deleted the settings.json file from ~/.config/min-ed-launcher.
When I use the /edh switch, the games loads, but on version 3.8.  If I try the /edh4 switch instead, I get a No selected project error.  I also tried both switches (/edh /edh4), but that just ran 3.8 again.  If I leave out /autorun, I only get base ED, ED:H, or ED:A options (no ED:H 4.0), and the ED:H option runs 3.8 again.
I can't run the Frontier ED launcher, as it crashes and freezes immediately on my system.
Edit:  Forgot to mention I'm using Proton 7.0-4, which I believe is the latest non-experimental version.

Just found the log file at ~/.local/.state/min-ed-launcher.log, this line appears to be the culprit:
2022-09-17 23:34:40.564 -06:00 [DBG] Disabling 'Elite Dangerous: Horizons (4.0)'. Unable to find product at '/home/jonathan/.local/share/Steam/steamapps/common/Elite Dangerous/Products/FORC-FDEV-DO-38-IN-40/VersionInfo.txt'
Sure enough, there is no FORC-FDEV-DO-38-IN-40 directory under the Products directory.  Not sure how to proceed from here....

Never mind, I was able to determine what the problem was and fix it.  For anyone else with the same issue, I did not realize you have to install Horizons 4.0 from the Frontier ED Launcher before you can use it.  I was able to get the Frontier launcher working by editing the EDLaunch.exe.config file in ~/.local/share/Steam/steamapps/common/Elite Dangerous/ and changing the setting for DXCheck to False.

For future reference, #54 covers how to install 4.0 without the default launcher.


detail editor height

Hi everyOne.
how i can make this editor height grow with dialog height?
Thank for reading!

@hairangsua : read more at here https://github.com/volkanceylan/Serenity/issues/1729


Sample OData query code does not work for Feature Progress Rollup sample report

The OData code at the top of the page does not seem to work. When I used it in Power Query, it threw the following error:
DataSource.Error: OData: The property 'TotalEffort' does not exist on type 'Microsoft.VisualStudio.Services.Analytics.Model.WorkItem'. Make sure to only use property names that are defined by the type or mark the type as open type.
Details:
DataSourceKind=OData
DataSourcePath=https://analytics.dev.azure.com/clement0621/Marine%20Software/_odata/v3.0-preview/WorkItems
I am set up with an inherited Scrum process rather than Agile, so I am dealing with Product Backlog Items and Effort rather than User Stories and Story Points and have adapted the sample query code accordingly (thus, 'TotalEffort'). For what it's worth, the problem appears to happen anytime there is an aggregation happening inside of an expand.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8719e400-4445-59a4-c68e-628243710c36
Version Independent ID: d6a76999-81c0-33cb-47a5-9ca4d8be80c3
Content: Feature Progress rollup sample Power BI report - Azure DevOps
Content Source: docs/report/powerbi/sample-boards-featureprogress.md
Product: devops
Technology: devops-analytics
GitHub Login: @KathrynEE
Microsoft Alias: kaelli

@cccinkc Can you try pasting the whole query, and maybe try a derivative of the following (adjust the filters as per your liking). The column over which one sums is 'Effort' instead of 'TotalEffort', you can rename it afterwards. It seems to work for me.
https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/WorkItems?
$filter=(WorkItemType eq 'Product Backlog Item' and State ne 'Cut' and endswith(Area/AreaPath,'{areapath}'))
&$select=WorkItemId,Title,WorkItemType,State,AreaSK
&$expand=Descendants($apply=filter(WorkItemType eq 'Bug')
/groupby((StateCategory),
aggregate(Effort with sum as TotalEffort)
))

@ksmis-gh Naming the summation column "Effort" instead of "TotalEffort" seemed to take care of things. Thanks!

@cccinkc Glad to hear it. Can you close the issue as well? It seems i don't have permissions to


community: integrate China Mobile Ecloud vector search

Description: integrate China Mobile Ecloud vector search,
Dependencies: elasticsearch==7.10.1

Hi @efriis ，please help us rerun the check flow ，thanks

revert all changes in libs/langchain (these are new classes, so they'll only be in community for backwards compatibility)

general question: would it be possible to just use the Elastic vector store with a custom base url set? What is different about this implementation?

the Ecloud ES is based on ES7.10.2（Apache License 2.0），we custom develop some models and functions，and it is not fully compatible with the bussiness ES。 we developed knn model and it is not compatible with bussiness ES too. and some Ecloud users want to use this feature on langchain, so we are trying to integrate it into this project

Hi @efriis what should i do now，and do you hava more questions about our pr or you can give us some suggestions？thanks！

Hi @efriis can you help us rerun the checkflow ？we have reverted all changes in libs/langchain， thanks

Hi @efriis we have fixed the new conflicts and fixed the lint error, cloud you please help us review the code and rerun the checkflow?

Hi @baskaryan  cloud you please help us rerun the checkflow? Thanks!


Stop script setup from executing any further

What problem does this feature solve?
I want to use "return" or (or something different) to stop a script setup code from running.
In the example, the functions should only run if the dynamic list is bigger than 0.
I understand I can invert the ifs, but imagine if we didn't import these functions, but instead, you had to write the code directly. Suddenly you need your whole component's code wrapped around an if when all you can do is prevent the code from running under a specific condition.
What does the proposed API look like?
<script lang="ts" setup>

    import dynamicList from 'somewhere';
    import { apiRequest, dispatchReportsData, clearUserData, clearCompanyData } from 'somewhere-else';

    if (dynamicList.length > 0) {
        return; // <-- stop script setup
    }

    apiRequest();
    dispatchReportsData();
    clearUserData();
    clearCompanyData();

</script>

Consider the example:
<script setup>
import { ref } from 'vue'

if (false)
  return

const msg = ref('Hello World!')
</script>

<template>
  <h1>{{ msg }}</h1>
  <input v-model="msg">
</template>

The msg variable is declared after the return statement, so the template can't access it since it is never defined.


Preparing Azure.Identity for 1.6.1 patch release

Updating changelog and project version for patch release.

API change check
API changes are not detected in this pull request.


added convolution to linalg

@lisitsyn, @vigsterkr Pushed #2418 again, this time against the develop branch instead of feature/linalg

@lisitsyn ping!

Looks good - can we merge it?

@lisitsyn I think we can - its all new files except for Core.h.. not sure if we'll get merge conflicts. Can you merge this one?

I will merge this one since you guys are good with it :-)


[ConstraintSystem] Introduce notion of constraint system phase

Some constraint transformations require knowledge about what state
constraint system is currently in e.g. constraint generation,
solving or diagnostics to make a decision whether simplication
is possible. Notable example is keypath dynamic member lookup
which requires a presence of applicable fn constraint to retrieve
some contextual information.
Currently presence or absence of solver state is used to determine
whether constraint system is in constraint generation or solving
phase, but it's incorrect in case of diagnoseFailureForExpr which
tries to simplify leftover "active" constraints before it can attempt
type-check based diagnostics.
To make this more robust let's introduce (maybe temporarily until
type-check based diagnostics are completely obsoleted) a proper
notion of "phase" to constraint system so it is always clear what
transitions are allowed and what state constraint system is
currently in.
Resolves: rdar://problem/57201781
Resolves: rdar://problem/57129493
Resolves: rdar://problem/56798281

That's the least invasive fix I could come up with... I'm pretty sure that the radar I mentioned is not the only report of this problem, will look for more.

@swift-ci please smoke test

@swift-ci please test source compatibility

@swift-ci please smoke test macOS platform