Jumoo / uSync.Complete.Issues

Public Issue tracker and roadmap for uSync.Complete
https://jumoo.co.uk/usync/complete/
2 stars 1 forks source link

uSync 15 issues list #249

Open PhyxionNL opened 4 days ago

PhyxionNL commented 4 days ago

Describe the bug A clear and concise description of what the bug is.

Version (please complete the following information):

Details

https://github.com/user-attachments/assets/ddaa8d74-8014-4fe9-8d5e-6cc2482edf82

KevinJump commented 4 days ago

Hi, Thanks, for looking . and reporting !

PhyxionNL commented 4 days ago

Ah, I thought the settings were present at some point. I probably misrembered.

I don't think my templates are any special (some are even close to empty), and not one of them is working correctly. An example:

@inherits UmbracoViewPage<UmbracoBase>
@{
    Layout = null;
}

umbracobase.config in Templates folder:

<?xml version="1.0" encoding="utf-8"?>
<Template Key="8311ad98-c7cd-40a2-85bb-47c186e48fa2" Alias="UmbracoBase" Level="1">
  <Name>Umbraco Base</Name>
  <Parent />
</Template>

umbracobase.config in ContentTypes folder

<?xml version="1.0" encoding="utf-8"?>
<ContentType Key="cc009430-66f6-4164-941d-9391747aa3ac" Alias="umbracoBase" Level="2">
  <Info>
    <Name>Umbraco Base</Name>
    <Icon>icon-defrag color-black</Icon>
    <Thumbnail>folder.png</Thumbnail>
    <Description></Description>
    <AllowAtRoot>False</AllowAtRoot>
    <ListView>00000000-0000-0000-0000-000000000000</ListView>
    <Variations>Nothing</Variations>
    <IsElement>false</IsElement>
    <HistoryCleanup>
      <PreventCleanup>False</PreventCleanup>
      <KeepAllVersionsNewerThanDays></KeepAllVersionsNewerThanDays>
      <KeepLatestVersionPerDayForDays></KeepLatestVersionPerDayForDays>
    </HistoryCleanup>
    <Folder>Compositions</Folder>
    <Compositions />
    <DefaultTemplate>UmbracoBase</DefaultTemplate>
    <AllowedTemplates>
      <Template Key="8311ad98-c7cd-40a2-85bb-47c186e48fa2">UmbracoBase</Template>
    </AllowedTemplates>
  </Info>
  <Structure />
  <GenericProperties>
    <GenericProperty>
      <Key>4a0fd79a-8340-4695-8e17-551b3bf35c90</Key>
      <Name>umbracoRedirect</Name>
      <Alias>umbracoRedirect</Alias>
      <Definition>fd1e0da5-5606-4862-b679-5d0cf3a52a59</Definition>
      <Type>Umbraco.ContentPicker</Type>
      <Mandatory>false</Mandatory>
      <Validation></Validation>
      <Description><![CDATA[Create a 302 temporary redirect. This means that when a user navigates to this node, they will be redirected away from it.]]></Description>
      <SortOrder>0</SortOrder>
      <Tab Alias="umbraco">Umbraco</Tab>
      <Variations>Nothing</Variations>
      <MandatoryMessage></MandatoryMessage>
      <ValidationRegExpMessage></ValidationRegExpMessage>
      <LabelOnTop>false</LabelOnTop>
    </GenericProperty>
    <GenericProperty>
      <Key>0597ca5a-c8f8-4d57-8fbe-a1cb6f7d6110</Key>
      <Name>umbracoUrlAlias</Name>
      <Alias>umbracoUrlAlias</Alias>
      <Definition>0cc0eba1-9960-42c9-bf9b-60e150b429ae</Definition>
      <Type>Umbraco.TextBox</Type>
      <Mandatory>false</Mandatory>
      <Validation></Validation>
      <Description><![CDATA[Provide a comma separated list of alternate full URL paths for the node. The URL alias remains in the browser address bar as a 'mask' over the real URL. You can also specify paths like "flowers/roses/red".]]></Description>
      <SortOrder>1</SortOrder>
      <Tab Alias="umbraco">Umbraco</Tab>
      <Variations>Nothing</Variations>
      <MandatoryMessage></MandatoryMessage>
      <ValidationRegExpMessage></ValidationRegExpMessage>
      <LabelOnTop>false</LabelOnTop>
    </GenericProperty>
    <GenericProperty>
      <Key>6fd2176b-0c8d-4422-8193-be90ecf0904d</Key>
      <Name>umbracoUrlName</Name>
      <Alias>umbracoUrlName</Alias>
      <Definition>0cc0eba1-9960-42c9-bf9b-60e150b429ae</Definition>
      <Type>Umbraco.TextBox</Type>
      <Mandatory>false</Mandatory>
      <Validation></Validation>
      <Description><![CDATA[Provide a different URL name to what is created by default by the name of the node. If you enter a value for this property and save/publish the content node you will see that its main URL is updated with a new path suffix.]]></Description>
      <SortOrder>2</SortOrder>
      <Tab Alias="umbraco">Umbraco</Tab>
      <Variations>Nothing</Variations>
      <MandatoryMessage></MandatoryMessage>
      <ValidationRegExpMessage></ValidationRegExpMessage>
      <LabelOnTop>false</LabelOnTop>
    </GenericProperty>
  </GenericProperties>
  <Tabs>
    <Tab>
      <Key>8db4f66e-f947-4fe9-b60e-a9d14443f1ac</Key>
      <Caption>Umbraco</Caption>
      <Alias>umbraco</Alias>
      <Type>Group</Type>
      <SortOrder>10</SortOrder>
    </Tab>
  </Tabs>
</ContentType>

Regarding the additional folders (my biggest problem since it breaks my usual workflow), I'm using relative folders: ["~/wwwroot/dist", "~/data"], not sure if it matters. It worked in v13 at least 😊

KevinJump commented 4 days ago

yeah, i am looking at the logic for additional folders and i think we accidentally lost the functionality when we 'optimized' the syncing process for known types.

UInder older versions the syncing of files was a bit 'basic' (outside of templates, they haven't actually changed much)

in that we hashed and copied the files in the folder, but under v14 everything got an entity type, so we sync partial-views, stylesheets, etc as entities, so we never say "just copy files" anymore which means we never actually do a brute force copy of additional folders anymore. the functionality is there because exporter uses it (but doesn't expose the settings!)

I think we can add this back in, it might have to be in the system level sync I need to check -

PhyxionNL commented 4 days ago

Thanks, that'd be nice!

I've been doing some further tests with templates, they're actually synced (using Settings > Templates ... > push items), but it's immediately detecting changes again, so it seems it's not detecting the remote content properly. If you scan again it wants to recreate the content, even though it exists (and is identical) on remote: image

KevinJump commented 4 days ago

Hi,

Mostly fixed in a nightly: https://dev.azure.com/jumoo/Public/_artifacts/feed/nightly/NuGet/uSync.Complete/overview/15.0.1-build.20241122.1

(we will release it next week).

If you use the sync tab on a serve, when you select push or pull you will see the option to 'include files' on the next screen. image

this will push all the additional folders (by default this is ~/views ~/wwwroot/css ~/wwwroot/scripts, but you could argue some of these are redunant, as the will also get pushed when you push templates/views/etc)

additonal folders can be set in the appsettings.json

 "Publisher": {
   "Settings": {
     "IncomingEnabled": true,
     "AppId": "[YOUR_APP_ID]",
     "AppKey": "[YOUR_APP_KEY]",
     "AdditionalFolders": [
       "~/Views",
       "~/wwwroot/css",
       "~/wwwroot/scripts",
       "~/cheese"
     ]
   }
 }

The jumpy progress is on our list too :) - (its not actually uSync but the internal package that does all the processing, so it wil lbe fixed in there, it does effect the functionality of the main uSync.Complete package)

PhyxionNL commented 4 days ago

Nice, can confirm that Templates is no longer reporting false positives.

File sync seems to work for the most part, but there are some issues.

Some casing things:

image missing > Missing to align with the others.

-- image sync still lowercase

-- image report still lowercase

-- image files still lowercase

-- Publisher > YOUR SITE HERE > Advanced, several subheaders are in title case, rest is sentence case (which I think is fine there).

--

It looks like the server is uptodate and there are no new changes to be made.

Should be up to date.