# Stable component IDs

**URL:** <http://forum.squareline.io/t/stable-component-ids/2801>\
**Category:** Feature requests\
**Created:** [April 9, 2024, 9:26pm UTC](http://forum.squareline.io/t/stable-component-ids/2801 "2024-04-09T21:26:38Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Richard](http://forum.squareline.io/user_avatar/forum.squareline.io/richard/32/1129_2.png) [@Richard](http://forum.squareline.io/u/Richard)\
**Post date:** [April 9, 2024, 9:26pm UTC](http://forum.squareline.io/t/stable-component-ids/2801/1 "2024-04-09T21:26:38Z")

</div>

### What do you want to achieve?

I’d like to be able to cherry-pick changes from my UI engineer in git. One challenge I face is that simple changes in SquareLine often produce very large differences in the project file. For example, moving a screen slightly in SLS produces ~24k line patchfile, mostly consisting of things like this, which only change the “compnid”:

```auto
                           {
                             "nid": -27485376,
- "compnid": 264909706,
+ "compnid": 553014001,^M
                             "strtype": "_style/StyleState",
                             "strval": "PRESSED",
                             "InheritedType": 1
                           },

```

### Do you see alternative options and workaround to achieve it?

I considered writing a python parser/serializer that might be able to address this, but I figured I would ask here. It’s also complicated since after the cherry-pick or merge, SLS needs to export the code again.

### Mention some use cases

This could be helpful for anyone using SLS with git and branches.

---

<div class="post-metadata">

**Author:** ![Hermit](http://forum.squareline.io/user_avatar/forum.squareline.io/hermit/32/971_2.png) [@Hermit](http://forum.squareline.io/u/Hermit)\
**Post date:** [April 12, 2024, 3:25pm UTC](http://forum.squareline.io/t/stable-component-ids/2801/2 "2024-04-12T15:25:53Z")

</div>

Thanks for the constructive tip Richard. We’ll consider implementing this feature.

---

<div class="post-metadata">

**Author:** ![bholland](http://forum.squareline.io/letter_avatar_proxy/v4/letter/b/46a35a/32.png) [@bholland](http://forum.squareline.io/u/bholland)\
**Post date:** [July 11, 2024, 10:41pm UTC](http://forum.squareline.io/t/stable-component-ids/2801/3 "2024-07-11T22:41:26Z")

</div>

I have run into this as well when using version 1.4.1 on Windows. Simply opening the project and only clicking File \> Save then closing the project, with no changes whatsoever, results in every compnid changing. This makes collaborating with multiple developers extremely difficult when changing one thing or not changing anything results in a 25k merge conflict.

---

<div class="post-metadata">

**Author:** ![bholland](http://forum.squareline.io/letter_avatar_proxy/v4/letter/b/46a35a/32.png) [@bholland](http://forum.squareline.io/u/bholland)\
**Post date:** [July 16, 2024, 4:08pm UTC](http://forum.squareline.io/t/stable-component-ids/2801/4 "2024-07-16T16:08:01Z")

</div>

Any update on this?

---

<div class="post-metadata">

**Author:** ![Sofi](http://forum.squareline.io/user_avatar/forum.squareline.io/sofi/32/1368_2.png) [@Sofi](http://forum.squareline.io/u/Sofi)\
**Post date:** [July 17, 2024, 8:01am UTC](http://forum.squareline.io/t/stable-component-ids/2801/5 "2024-07-17T08:01:50Z")

</div>

It is absolutely on our to do list, hope to have it done in the next few weeks.

---

<div class="post-metadata">

**Author:** ![bholland](http://forum.squareline.io/letter_avatar_proxy/v4/letter/b/46a35a/32.png) [@bholland](http://forum.squareline.io/u/bholland)\
**Post date:** [August 27, 2024, 5:15pm UTC](http://forum.squareline.io/t/stable-component-ids/2801/6 "2024-08-27T17:15:31Z")

</div>

Is this coming soon? We have a large project that is currently bottlenecked by this.

---

<div class="post-metadata">

**Author:** ![Richard](http://forum.squareline.io/user_avatar/forum.squareline.io/richard/32/1129_2.png) [@Richard](http://forum.squareline.io/u/Richard)\
**Post date:** [November 21, 2024, 8:19pm UTC](http://forum.squareline.io/t/stable-component-ids/2801/7 "2024-11-21T20:19:18Z")

</div>

Looks like this was fixed in 1.5.0 ("Fixed widget ID changes during project export.  
"), and it helps so much. Thanks Sofi and Hermit!

---

<div class="post-metadata">

**Author:** ![Sofi](http://forum.squareline.io/user_avatar/forum.squareline.io/sofi/32/1368_2.png) [@Sofi](http://forum.squareline.io/u/Sofi)\
**Post date:** [November 22, 2024, 7:01am UTC](http://forum.squareline.io/t/stable-component-ids/2801/8 "2024-11-22T07:01:53Z")

</div>

thank you for your kind comment Richard:)
