Padding/Alignment issue in Android 6.0 and Missing borders in Outlook

To help us help you, provide as much information as you can. You'll find below a template you can use to submit your issue, but feel free to remove any part that wouldn't be relevant here.
[Short description of problem here]
Hi, I'm trying to get an image to stick to align itself to the left of a section. It seems to work in every client except for Android 6.0.
I also have an image that is missing borders in any Outlook client, and looks odd in some Android versions.

Ribbon is centered, when it ought to be aligned left. Borders are odd.

Ribbon is centered, when it ought to be aligned left. Borders are good.

Border is missing from logo image (but ribbon alignment is good)

MJML Code:
<mjml>
    <mj-head>
        <mj-title>Email</mj-title>
        <mj-attributes>
            <mj-all
                padding="0" />
            <mj-text
                font-family="Open Sans, Helvetica Neue, Arial, sans-serif"
                color="#364751"
                padding-top="8px" />
            <mj-class
                name="body-text-center"
                align="center"
                color="#364751"
                font-family="Open Sans, Helvetica Neue, Arial, sans-serif"
                font-family="14px" />
            <mj-class
                name="body-text-left"
                align="left"
                color="#364751"
                font-family="Open Sans, Helvetica Neue, Arial, sans-serif"
                font-family="14px" />
            <mj-class
                name="content-h2"
                align="center"
                color="#364751"
                font-family="Open Sans, Helvetica Neue, Arial, sans-serif"
                font-size="20px" />
            <mj-class
                name="cta-blue"
                background-color="#01a2de"
                border="1px solid #01a2de"
                border-radius="3px"
                color="#ffffff"
                font-size="14px"
                font-weight="300"
                inner-padding="10 25"
                padding-top="16px"
                height="25px"
                width="170px" />
            <mj-class
                name="grey-divider"
                border-color="#c2ced7"
                border-width="1px" />
            <mj-class
                name="padding-64"
                padding-left="64"
                padding-right="64" />
            <mj-class
                name="product-name"
                align="center"
                color="#364751"
                font-family="Open Sans, Helvetica Neue, Arial, sans-serif"
                font-family="14px"
                font-weight="600"/>
            <mj-class
                name="round-pic"
                border-radius="50%"
                width="85px"
                height="85px" />
            <mj-class
                name="section-grey"
                background-color="#e2e2e2"
                padding-right="64"
                padding-left="64" />

            <mj-raw><!-- Bottom padding for last item in email --></mj-raw>
            <mj-class
                name="section-grey-bottom"
                background-color="#e2e2e2"
                padding-right="64"
                padding-left="64"
                padding-bottom="24" />
            <mj-class
                name="section-white"
                background-color="#ffffff" />

            <mj-raw><!-- This is padding for the bottom of a section --></mj-raw>
            <mj-class
                name="section-white-bottom"
                background-color="#ffffff"

                padding-bottom="40" />

            <mj-raw><!-- This padding is for CTAs inside a section --></mj-raw>
            <mj-class
                name="section-white-bottom-mid"
                background-color="#ffffff"
                padding-right="64"
                padding-left="64"
                padding-bottom="32" />

            <mj-raw><!-- This is top padding is for non-ribbon sections --></mj-raw>
            <mj-class
                name="section-white-top"
                background-color="#ffffff"
                padding-right="64"
                padding-left="64"
                padding-top="40" />
            <mj-class
                name="subline-dark"
                align="center"
                color="#364751"
                font-family="Open Sans, Helvetica Neue, Arial, sans-serif"
                font-size="14px" />
            <mj-class
                name="subline-grey"
                align="center"
                color="#60788c"
                font-family="Open Sans, Helvetica Neue, Arial, sans-serif"
                font-size="14px" />

            <mj-raw><!-- This is grey "border" for inner components --></mj-raw>
            <mj-class
                name="wrapper-border"
                background-color="#e2e2e2"
                padding-top="8"
                padding-right="24"
                padding-bottom="8"
                padding-left="24"
                width="600px" />

            <mj-raw><!-- This is grey "border" for the last component --></mj-raw>
            <mj-class
                name="wrapper-border-end"
                background-color="#e2e2e2"
                padding-top="8"
                padding-right="24"
                padding-bottom="16"
                padding-left="24" />

            <mj-raw><!-- This is grey "border" for first non-hero component --></mj-raw>
            <mj-class
                name="wrapper-border-start"
                background-color="#e2e2e2"
                padding-top="16"
                padding-right="24"
                padding-bottom="8"
                padding-left="24" />
        </mj-attributes>
        <mj-style>

        </mj-style>
    </mj-head>

    <mj-body>
        <mj-container>
        <mj-raw><!-- ==***== Container ABOVE ==***== --> </mj-raw>
            <mj-raw><!--  Their water purification system is a must have for outdoor and travel enthusiasts...
                        </mj-text>
                        <!-- +++++ Body Text END +++++ -->
                    </mj-column>
                </mj-section>
                <mj-raw><!-- ====== Body Section END ====== --></mj-raw>

                <mj-raw><!-- ====== Blue CTA Section START ====== --></mj-raw>
                <mj-section
                    mj-class="section-white-bottom padding-64">
                    <mj-column>
                        <mj-raw><!-- +++++ Blue CTA START +++++ --></mj-raw>
                        <mj-button
                            mj-class="cta-blue"
                            href="#">
                            cta-blue
                        </mj-button>
                        <mj-raw><!-- +++++ Blue CTA END +++++ --></mj-raw>
                    </mj-column>
                </mj-section>
                <mj-raw><!-- ====== Blue CTA Section END ====== --></mj-raw>
            </mj-wrapper>
            <mj-raw><!-- ***** Featured Brand Component END ***** --></mj-raw>

        <mj-raw><!-- ==***== Container BELOW ==***== --></mj-raw>
        </mj-container>
    </mj-body>
</mjml>

MJML version:
Version 3.3.5

I just tested via EoA and it shows correctly on Android Gmail.

About Android 6.0 native Mail app, I haven't seen such an issue but can't test as EoA doesn't provide tests for this client. Anyway, are you aware that the native Mail app for Android 6 isn't really in use? Starting with Android 5 (Lollipop), Android started removing the native Mail app and migrating its users to the Gmail App.
If you still want to investigate it, maybe you can try playing with the HTML and see if you can fix it? Let us know.
What is the 3rd client causing issues?

Hi Nicolas, the 3rd issue was the border rendering issue in Windows 7 Outlook 2013 and Outlook 2016. The logo should be surrounded in a black border, but doesn't appear at all.

Yep as described here : https://mjml.io/compatibility/mj-image border & radius aren't supported for this particular case.
We can't do anything about that since the issue is in the client not in the MJML code


Error when I updated to Swift 4.2

Hi,
I'm getting an error since I updated to Swift 4.2 last week and am unable to build. Can you look into it.

Hi，
What error you have meet. I tried it on XCode 10 && Swift 4.2. it works.


Critical TCP communication problem

1. SDK version（SDK 版本）
{
SW_V2110_csdk
}

2. In what kind of operation problems appear, and how to reproduce the problem ?（什么样的操作步骤问题会出现，是否是稳定复现，如何复现问题？）
{
My gps tracker is working well but after 2-3 hours it's stop working and after rebooting it's again start working.I am getting this problem from starting. Today I debug it with trace tool and get attached log:
It shows that after detach from network module is not able to activate gprs communication.
gpstracker.txt
}

I think I get the problem.

Sharing your code may help get to the point/problem much faster. I am not having problem with GPRS in my code.

I will share my code.But what should I do if I received network API_EVENT_ID_NETWORK_DEACTIVED?

I have attached my code.
ltcs.zip

Any suggestion?

Not tested
case API_EVENT_ID_NETWORK_DEACTIVED: 	bool rst = false; 	if(!Network_StartDeactive(context)) 		Trace(1,"Failed!"); 	for(int i = 0; i < 5; i++){ 		if(!Network_StartActive(context)) 			Trace(1,"Failed!"); 			rst = true; 	} 	if(rst) 		PM_Restart();

It's the case where we need to reboot the module. Case repeats every 2-3 hrs. Is there any permanent solution or I should reboot the module every 2-3 hrs?

In at command mode
If(+CGATT==0)
AT+CGATT=1
AT+CIPSHUT
Then we again start the GPRS activation.
That's work. Then why error in SDK?

what i'm trying to say is Network_StartDeactive(context) and  Network_StartDetach() and then
Network_StartActive(context) and Network_StartAttach() again!

Thanks I am testing it. 🙂

One more help in function:
Network_StartDeactive(context)
What is context? How will I get it?

In sdk_init.h it is given that
bool                (*Network_StartActive)(Network_PDP_Context_t context);
bool                (*Network_StartDeactive)(uint8_t contextID);

context is struct of apn, username and password.
also i may think you have problem with RAM overflow A9G crashes when RAM overflow occures. so try clearing variables using OS_Free();

Context is struct ok but in header file it is given that only uint8_t contextID is only argument for Network_StartDeactive();
A9G crash is not the problem.

Still waiting for your reply...... ☺

Any update????

not getting success to start again gprs service.

I have the same problem，have you solved

to get the device to reconnect to the network in FULL - you need to overwrite the APN details and then call again.
   Network_PDP_Context_t context = {
                .apn        ="somethingwrongtomakeitfail",
                .userName   = "",
                .userPasswd = ""
            };
            Network_StartActive(context);

            Network_PDP_Context_t context2 = {
                .apn        ="mobiledata",
                .userName   = "",
                .userPasswd = ""
            };

            Network_StartActive(context2);
           //   Network_SetFlightMode(false); // worked when here
            OS_Sleep(3000);


Move CI/CD pipelines from Travis to Azure Devops or GitHub actions

As an organisation we are moving away from using multiple different CI/CD services across our projects, to have more consistency in tooling. The chosen direction is using Azure Devops or GitHub actions.
We should therefore move our CI/CD pipelines to one of these when we can. Other projects have seen improved build times when doing so and we'd also benefit from consistency and being able to reuse across other projects. We've also had a few intermittent issues with Travis in recent months, so this may help with that.
The functionality should be the same as we have in Travis CI but any new features or improvements should be considered when doing this. The pipelines should also remain public.

Another Travis related issue recently; when releasing v4.0.0 yesterday the release pipeline got queued for 4 hours (for no particular reason) and then took an hour to run a 5 minute pipeline. Can't seem to find an explanation for it.


⚠ TiendaEnLinea has degraded performance

In 865b648, TiendaEnLinea (https://www.fahorro.com/) experienced degraded performance:

HTTP code: 200
Response time: 5284 ms

Resolved: TiendaEnLinea performance has improved in 1d66797.


add basic benchmarks

Description
This PR follows up on the discussion in #476 by adding basic benchmarks using airspeed velocity. It also adds similar documentation as in scikit-image to describe how to use the benchmarks.
It appears possible to benchmark both our normal model files, and the whole napari app, including launching of qt and calling out to vispy. We should look into what exactly is being captured in each benchmark using the profiling tools in asv, but this PR at least gets us going in what I hope is the right direction.
For now the benchmarks are quite basic, but I wanted to get everyone's take on this before adding more of them
Thoughts @AhmetCanSolak @jni?

I've made the minor fixes and updated the PR - here are our current results
(base) czipa1osx041:napari nicholassofroniew$ asv show master
..Commit: c23307f4 <master>

benchmark_image_layer.Image2DSuite.mem_data [czipa1osx041/virtualenv-py3.7]
  ok
  ======== =======
   param1
  -------- -------
     16     2.16k
     32      8.3k
     64     32.9k
    128      131k
    256      524k
    512      2.1M
    1024    8.39M
    2048    33.6M
    4096     134M
  ======== =======
  started: 2019-10-07 08:48:46, duration: 15.6s

benchmark_image_layer.Image2DSuite.mem_layer [czipa1osx041/virtualenv-py3.7]
  ok
  ======== =====
   param1
  -------- -----
     16     808
     32     808
     64     808
    128     808
    256     808
    512     808
    1024    808
    2048    808
    4096    808
  ======== =====
  started: 2019-10-07 08:49:01, duration: 15.4s

benchmark_image_layer.Image2DSuite.time_create_layer [czipa1osx041/virtualenv-py3.7]
  ok
  ======== =============
   param1
  -------- -------------
     16      3.93±0.3ms
     32     3.51±0.07ms
     64      3.47±0.1ms
    128      3.50±0.2ms
    256      3.86±0.3ms
    512      4.66±0.5ms
    1024     11.2±0.5ms
    2048      40.5±1ms
    4096      349±10ms
  ======== =============
  started: 2019-10-07 08:49:17, duration: 22.1s

benchmark_image_layer.Image2DSuite.time_get_value [czipa1osx041/virtualenv-py3.7]
  ok
  ======== ============
   param1
  -------- ------------
     16      15.9±1μs
     32      15.1±2μs
     64     16.4±0.8μs
    128      15.5±1μs
    256      19.0±2μs
    512     15.6±0.5μs
    1024    15.6±0.5μs
    2048     16.5±2μs
    4096     16.7±1μs
  ======== ============
  started: 2019-10-07 08:49:39, duration: 21.8s

benchmark_image_layer.Image2DSuite.time_set_view_slice [czipa1osx041/virtualenv-py3.7]
  ok
  ======== =============
   param1
  -------- -------------
     16      1.09±0.2ms
     32     1.01±0.03ms
     64      1.26±0.2ms
    128      1.05±0.1ms
    256     1.00±0.02ms
    512     1.05±0.04ms
    1024    1.00±0.04ms
    2048    1.05±0.05ms
    4096    1.13±0.04ms
  ======== =============
  started: 2019-10-07 08:50:01, duration: 22.3s

benchmark_image_layer.Image2DSuite.time_update_thumbnail [czipa1osx041/virtualenv-py3.7]
  ok
  ======== ==========
   param1
  -------- ----------
     16     716±20μs
     32     738±20μs
     64     769±20μs
    128     761±20μs
    256     793±50μs
    512     758±30μs
    1024    773±40μs
    2048    822±70μs
    4096    881±60μs
  ======== ==========
  started: 2019-10-07 08:50:23, duration: 20.3s

benchmark_image_layer.Image3DSuite.mem_data [czipa1osx041/virtualenv-py3.7]
  1/7 failed
  ======== ========
   param1
  -------- --------
     16     32.9k
     32      262k
     64      2.1M
    128     16.8M
    256      134M
    512     1.07G
    1024    failed
  ======== ========
  started: 2019-10-07 08:50:43, duration: 1.24m

benchmark_image_layer.Image3DSuite.mem_layer [czipa1osx041/virtualenv-py3.7]
  ok
  ======== =====
   param1
  -------- -----
     16     808
     32     808
     64     808
    128     808
    256     808
    512     808
    1024    808
  ======== =====
  started: 2019-10-07 08:51:57, duration: 36.8s

benchmark_image_layer.Image3DSuite.time_create_layer [czipa1osx041/virtualenv-py3.7]
  ok
  ======== ============
   param1
  -------- ------------
     16     3.87±0.2ms
     32     3.65±0.2ms
     64      4.74±1ms
    128     3.76±0.1ms
    256     4.12±0.2ms
    512     5.51±0.4ms
    1024    13.5±0.1ms
  ======== ============
  started: 2019-10-07 08:52:34, duration: 1.13m

benchmark_image_layer.Image3DSuite.time_get_value [czipa1osx041/virtualenv-py3.7]
  ok
  ======== ============
   param1
  -------- ------------
     16      16.8±1μs
     32     15.2±0.5μs
     64     15.3±0.5μs
    128      17.1±1μs
    256     17.2±0.8μs
    512      15.8±2μs
    1024    22.2±0.2μs
  ======== ============
  started: 2019-10-07 08:53:42, duration: 1.15m

benchmark_image_layer.Image3DSuite.time_set_view_slice [czipa1osx041/virtualenv-py3.7]
  ok
  ======== =============
   param1
  -------- -------------
     16     1.13±0.06ms
     32      1.20±0.1ms
     64      1.67±0.3ms
    128      1.07±0.1ms
    256     1.17±0.08ms
    512     1.12±0.05ms
    1024    1.30±0.05ms
  ======== =============
  started: 2019-10-07 08:54:51, duration: 1.12m

benchmark_image_layer.Image3DSuite.time_update_thumbnail [czipa1osx041/virtualenv-py3.7]
  ok
  ======== =============
   param1
  -------- -------------
     16      855±100μs
     32       759±20μs
     64       772±10μs
    128       765±10μs
    256       780±30μs
    512       797±80μs
    1024    1.21±0.04ms
  ======== =============
  started: 2019-10-07 08:55:58, duration: 1.04m

benchmark_qt_viewer.QtViewerSuite.time_create_viewer [czipa1osx041/virtualenv-py3.7]
  163±60ms
  started: 2019-10-07 08:57:00, duration: 7.86s

benchmark_qt_viewer_image.QtViewerAddImageSuite.time_add_image [czipa1osx041/virtualenv-py3.7]
  ok
  ======== ==========
   param1
  -------- ----------
     16     31.3±2ms
     32     35.5±7ms
     64     39.9±4ms
    128     33.9±2ms
    256     32.1±2ms
    512     32.8±3ms
    1024    42.1±1ms
    2048    88.3±5ms
    4096    414±9ms
  ======== ==========
  started: 2019-10-07 08:57:08, duration: 36.9s

benchmark_qt_viewer_image.QtViewerEditImageSuite.time_get_value [czipa1osx041/virtualenv-py3.7]
  ok
  ======== ============
   param1
  -------- ------------
     16      18.3±1μs
     32      18.1±2μs
     64      19.8±2μs
    128      18.3±2μs
    256      17.9±2μs
    512      17.7±3μs
    1024     18.4±2μs
    2048    18.7±0.3μs
    4096     18.0±2μs
  ======== ============
  started: 2019-10-07 08:57:45, duration: 38.0s

benchmark_qt_viewer_image.QtViewerEditImageSuite.time_set_view_slice [czipa1osx041/virtualenv-py3.7]
  ok
  ======== =============
   param1
  -------- -------------
     16      1.04±0.1ms
     32       987±40μs
     64      1.16±0.2ms
    128      1.26±0.2ms
    256      1.10±0.1ms
    512     1.20±0.03ms
    1024    1.71±0.06ms
    2048     6.91±0.7ms
    4096      21.1±2ms
  ======== =============
  started: 2019-10-07 08:58:23, duration: 41.2s

benchmark_qt_viewer_image.QtViewerEditImageSuite.time_update_thumbnail [czipa1osx041/virtualenv-py3.7]
  ok
  ======== ===========
   param1
  -------- -----------
     16     816±100μs
     32      839±40μs
     64     821±200μs
    128      762±30μs
    256     996±200μs
    512      981±90μs
    1024    904±100μs
    2048     874±80μs
    4096    868±100μs
  ======== ===========
  started: 2019-10-07 08:59:04, duration: 43.7s

benchmark_qt_viewer_image.QtViewerViewImageSuite.time_view_image [czipa1osx041/virtualenv-py3.7]
  ok
  ======== ==========
   param1
  -------- ----------
     16     194±8ms
     32     227±9ms
     64     223±30ms
    128     238±20ms
    256     215±30ms
    512     194±5ms
    1024    209±10ms
    2048    265±20ms
    4096    583±30ms
  ======== ==========
  started: 2019-10-07 08:59:48, duration: 42.5s

Things I'll note about our current timing - time_view_image > time_add_image > time_create_layer all for the same data - so things make sense.
The profiling stuff also works pretty well - I have added some instructions to our readme. Here's a screenshot of the results visualized with snakeviz

I'm going to merge this now, but I will keep the original issue open as we discuss what benchmarks to include etc

Great stuff! Those thumbnail update times are very good. =) Points should be the next benchmarked layer imho.
We should also time a complete "update()"/"refresh()" which includes the status bar etc. That number needs to be under 33ms, and preferably under 16ms, for all layers.


API: Ability to reload codelenses for extension provider

In order to show or hide code lenses for the Version Lens extension via the toolbar

I'm having to turn disable code lenses and re-enable them again with a timeout like this:

export function showVersionLenses(file) {
  appSettings.showVersionLenses = true;
  utils.refreshCodeLens();
}

export function hideVersionLenses(file) {
  appSettings.showVersionLenses = false;
  utils.refreshCodeLens();
}

...utils.js
const key = 'editor.codeLens';

// turn off codelens
workspaceConfiguration.update(key, false, true);

// turn on code lens after 500 ms
setTimeout(function () {
  // turn on codelens to refesh them
  workspaceConfiguration.update(key, true, true);
}, 500);
...

This works but it has to turn off all code lens providers in order to re-invoke the provider.provideCodeLenses function.
Would be great to have an exposed api that does this but only for specific providers.
Something like:
editor.toggleCodelenses(show: boolean, providerTypeToToggle: CodeLensProviderType);

//fyi @jrieken

I have a different use case that would also benefit from this: I would like to be able to create a keyboard shortcut to toggle code lens visibility. There are times when I'm doing extensive editing of F# code when code lenses feel like they're getting in the way -- but when I stop typing furiously and start reading code again with just occasional bursts of typing, I want to have them back. It's not that hard to go to the preferences and change the code lens setting (and thank you for adding the Ctrl+Comma shortcut!), but it would be even more convenient to be able to map Ctrl+Alt+Shift+L to "Toggle Code Lenses": one key chord instead of several keystrokes and a couple of mouse clicks.

@pflannery Why don't you use the CodeLensProvider#onDidChangeCodeLenses event your provider can offer? That will make sure you can called again and that the editor updates accordingly, e.g without typing

@jrieken I'm not sure how onDidChangeCodeLenses would work here as the code lenses aren't being changed.
I need to be able to show or hide all the code lenses for a code lens provider when someone clicks on the toolbar icons. It would be preferable if there was a method to do this.

@jrieken does calling onDidChangeCodeLenses make the provider re process all the code lenses?

It makes the editor call the provider again. Usually code-lens-requests are made when editors open or when text changes (typing). However, a provider might know more of those triggers (like settings updates). When a provider fires such an event, the editor will do the same it does while typing, e.g call provideCodeLenses and and resolveCodeLens for visible un-resolved lenses. It's up to the provider to recompute or re-use lenses when doing this.

@jrieken
// provider
  provideCodeLenses(document, token) {
    if (appSettings.showVersionLenses === false)
      return [];

   // populate code lenses

   // then return them
   return codeLenses;
  }

  onDidChangeCodeLenses(eventHandle) {
    this.reload = eventHandle;
  }

hideCommand() {
  appSettings.showVersionLenses = false;
  provider.reload();
}

showCommand() {
  appSettings.showVersionLenses = true;
  provider.reload();
}

Calling hideCommand first time works but after that the showCommand doesn't work and can't get the lenses to re-appear.
I've tried to re-register the provider but that doesn't work either.
Is there something else I need to do?

You might have more than one subscriber to your event, I'd strongly recommend to use the EventEmitter from the API

@jrieken
The closest example I can find is the TypeScriptBaseCodeLensProvider  but that doesn't work at all.
This is what i see happening
  // the function parameter of onDidChangeCodeLenses returns a Promise
  // invoking this function reloads the code lenses but
  // because the promise is now resolved it will not be
  // callable ever again for the life time of the provider
  onDidChangeCodeLenses(fn: Promise) {
   this.reloadsCodeLensesOnlyOnce = fn;
  }

If the function parameter was an EventEmitter then we could reload the code lenses multiple times.

The closest example I can find is the TypeScriptBaseCodeLensProvider but that doesn't work at all.

What of that doesn't work? It uses an event emitter and return an event. What you do is bogus, it only ever allows for a single listener to your event. To clarify: your provider offers an Event (as spec'd in the API) to which the editor subscribes. Use EventEmitter with EventEmitter#event as the public facing event and EventEmitter#fire to trigger all listeners.

@jrieken
When I copied what the TypeScriptBaseCodeLensProvider I also setup a function like
  _onChangeCodeLensesEmitter = new EventEmitter();

  onDidChangeCodeLenses(fn: Promise) {
   return _onChangeCodeLensesEmitter.event;
  }

reload() {
   this._onChangeCodeLensesEmitter.fire();
}

but reload() did not reload the code lens.

From what I see $emitCodeLensEvent is the function that reloads the code lenses. But how do invoke that via a vscode.EventEmitter?

You have missed something when copying. The important bit is that onDidChangeCodeLenses is a property (see the get-keyword). According to https://github.com/Microsoft/vscode/issues/26168#issuecomment-300182653 you have made is a method. Try something like this
private  readonly _onChangeCodeLensesEmitter = new EventEmitter();
readonly onDidChangeCodeLenses = this._onChangeCodeLensesEmitter.event

reload() {
   this._onChangeCodeLensesEmitter.fire();
}

@jrieken
I tried the getter originally I just didn't put it in the example here.  It still doesn't work

@jrieken
Here is an example extension to show whats happening ext-reload-issue.zip
The toolbar will show S (for show) and H (for hide) when looking at that file test/text.json

Thanks. I can reproduce, seems like the transport-layer is properly subscribed but the actual implementation fails to listen. Will investigate...

Yeah, unsure what I did there... Seems like it only registers as listener if the first call to provide returns something. That where the bug is

fixed in master. sorry for being initially so slow on this

@jrieken Works great! thanks


Duplicate universe.engineering

Description
Duplicate universe.engineering to be used as client boilerplate.
Tasks

[x] Duplicate universe.engineering to be used as client boilerplate.

Finished.


Use the same shellcheck version as Istio 1.9

Fedora's version is newer (0.7.2) and causes issues with 1.9 code base, which passes all tests with 0.7.1.
Given 0.7.2 added new tests, make lint using this version will generate new warnings.
We try to use the same version of tools that are in the upstream build image, exactly to avoid issue like this.

Elaborating on this a bit, these are the errors seen:
In ./common/scripts/run.sh line 30:
source "${WD}/setup_env.sh"
       ^------------------^ SC1091: Not following: ./setup_env.sh was not specified as input (see shellcheck -x).

In ./release/downloadIstioCandidate.sh line 31:
if [ "x${OS}" = "xDarwin" ] ; then
     ^------^ SC2268: Avoid x-prefix in comparisons as it no longer serves a purpose.

Did you mean:
if [ "${OS}" = "Darwin" ] ; then

In ./release/downloadIstioCandidate.sh line 38:
if [ "x${ISTIO_VERSION}" = "x" ] ; then
     ^-----------------^ SC2268: Avoid x-prefix in comparisons as it no longer serves a purpose.

Did you mean:
if [ "${ISTIO_VERSION}" = "" ] ; then

In ./release/downloadIstioCandidate.sh line 72:
if [ "x${ISTIO_VERSION}" = "x" ] ; then
     ^-----------------^ SC2268: Avoid x-prefix in comparisons as it no longer serves a purpose.

Did you mean:
if [ "${ISTIO_VERSION}" = "" ] ; then

In ./release/downloadIstioCandidate.sh line 117:
elif [ "x${OS}" = "xDarwin" ] ; then
       ^------^ SC2268: Avoid x-prefix in comparisons as it no longer serves a purpose.

Did you mean:
elif [ "${OS}" = "Darwin" ] ; then

In ./release/downloadIstioCtl.sh line 28:
if [ "x${OS}" = "xDarwin" ] ; then
     ^------^ SC2268: Avoid x-prefix in comparisons as it no longer serves a purpose.

Did you mean:
if [ "${OS}" = "Darwin" ] ; then

In ./release/downloadIstioCtl.sh line 35:
if [ "x${ISTIO_VERSION}" = "x" ] ; then
     ^-----------------^ SC2268: Avoid x-prefix in comparisons as it no longer serves a purpose.

Did you mean:
if [ "${ISTIO_VERSION}" = "" ] ; then

In ./release/downloadIstioCtl.sh line 42:
if [ "x${ISTIO_VERSION}" = "x" ] ; then
     ^-----------------^ SC2268: Avoid x-prefix in comparisons as it no longer serves a purpose.

Did you mean:
if [ "${ISTIO_VERSION}" = "" ] ; then

In ./release/downloadIstioCtl.sh line 113:
elif [ "x${OS}" = "xDarwin" ] ; then
       ^------^ SC2268: Avoid x-prefix in comparisons as it no longer serves a purpose.

Did you mean:
elif [ "${OS}" = "Darwin" ] ; then

In ./tests/integration/create_cluster_gke.sh line 26:
CLUSTER_VERSION=${CLUSTER_VERSION}
^-------------^ SC2269: This variable is assigned to itself, so the assignment does nothing.

For more information:
  https://www.shellcheck.net/wiki/SC1091 -- Not following: ./setup_env.sh was...
  https://www.shellcheck.net/wiki/SC2269 -- This variable is assigned to itse...
  https://www.shellcheck.net/wiki/SC2268 -- Avoid x-prefix in comparisons as ...
make: *** [common/Makefile.common.mk:29: lint-scripts] Error 123

These all come from upstream and should be fixed there and inherited rather than being fixed directly in Maistra. None of these scripts are used by Maistra.


Proposal: Building an Real estate dapp which is a blockchain-based land registry solution that secures property ownership and enables seamless, tamper-proof property transfers by tokenizing land as NFTs.

Description;
A Decentralized Land Registry which is a blockchain-based land registry solution designed to streamline property ownership and transfer by tokenizing land as NFTs and recording ownership securely on the blockchain. With smart contracts for transparency and IPFS for property image and document storage,  aims to resolve challenges in traditional land registries, such as fraud and inefficiency. The project incorporates KYC verification, role-based access control, and an intuitive user interface to offer an accessible, tamper-proof solution for property management and transfer.
Bounty track
Dapp on KAIA
Real-World Applications of Blockchain

Hmm... i strongly discourage RWA (that's why there is no RWA track). So I would suggest you to amend the proposal into something like tokenizing multiple NFTs, LP positions, etc. (something onchain)
why no RWA? RWA has a lot of red tapes, it's hard for everyone to benefit with it.


API Breaking due to Change in DO behaviour.

The Digital Ocean API has changed requiring the use of private cloud network.  The gateway returns "" as per below. Unfortunately, this causes the Droplet requests to fail with a parse error.
// Data returned from a Droplet request.
    "networks": {       "v4": [         {           "ip_address": "<IP_ADDRESS>",           "netmask": "<IP_ADDRESS>",           "gateway": "<nil>",           "type": "private"         },
The following modification to droplet.rs allows the deserialization to "work", but more correctly the "" needs to be removed.
``
/// These exist in the networks field of a droplet.
#[derive(Deserialize, Serialize, Debug, Clone)]
pub struct NetworkV4 {
///pub gateway: Ipv4Addr,
pub gateway: String,
pub ip_address: Ipv4Addr,
pub netmask: Ipv4Addr,
/// Note: Since type is a keyword in Rust kind is used instead.
#[serde(rename = "type")]
pub kind: String
}

PR?

Yes - sorry for the poor request. New problem due to change in DO API. I am not familiar enough with Serdes to suggest a correct fix.

Terribly sorry about this, but I'm not exactly sure what this issue is all about. I'm not sure what needs to change

If you make a call to the API as per below it always fails due to a parse error.
This is because the API has changed and it now returns "" in the gateway field instead of a valid IP address.
https://github.com/LoganDark/digitalocean/blob/master/src/api/droplet.rs line 135 is
https://github.com/phaynes/digitalocean/blob/master/src/api/droplet.rs is where I have changed the IP address to simply a String as a workaround to allow the code to not fail.
I believe their should be some way to either a) Jump in front of the parse after the request to clean up the nil, but better some error handling in Serde's to clean this field up with the parse.
Make sense?
             let client = DigitalOcean::new(self.auth_key.as_str().to_string()).unwrap();         let request = Droplet::get(cloud_vm.id);         let droplet_result  = request.execute(&client);         if droplet_result.is_ok() {             // Never gets here due to a parse error.         }

Oh, hm. That does look like a curious situation.
I believe an Option<Ipv4Addr> would work better but it would require custom parsing. Not sure how the heck that would be done in Serde. I can't look into this for a while, apologies. You're free to look into it on your own if you like, report any findings here

No problem - couldn't get to fix it myself in the short term. I will raise a request with Digital Ocean as a secondary pathway. Will lodge progress here.

Contacting DO support went as I expected it go. I said your API is returning dodgy data can you not. They said, our API is returning Dodgy data - can you handle it.... Full text below:
Hi there,
Thank you for your feedback; we greatly appreciate you taking the time to letting us know what you'd like to see with our service. I encourage you to share your thoughts about this in our feedback forum: https://ideas.digitalocean.com/
We're constantly looking to improve all aspects of our service and welcome any other ideas or feedback you have! By sharing your thoughts there, it helps us to better prioritize working on the features that you feel need more attention.
I have reviewed the payload and it looks like it is returning a nil object for the gateway in only the private IP networking. Because of the way private networking is setup this object would not be returned.
Here is the returned payload showing the networking from an example droplet:
??????"networks":{
"v4":[
{
"ip_address": "<IP_ADDRESS>",
"netmask": "<IP_ADDRESS>",
"gateway": "",
"type": "private"
},
{
"ip_address": "<IP_ADDRESS>",
"netmask": "<IP_ADDRESS>",
"gateway": "<IP_ADDRESS>",
"type": "public"
}
I believe that it might be best to have the application handle a nil object exception during parsing rather than simply failing.
If you have any other questions please feel free to let us know.
Thank you for being a customer and have a great day!
Erwin E.
DigitalOcean
Developer Support Engineer II

**Least Recommendation: Change type of NetworkV4.gateway field from an Ipv4Addr to a String. **

Digital Ocean have introduced a breaking change to the API making a key feature of the API un-usable. Very sucky.
The correct fix would be to adapt the Serde's parsing process to handle the dodgy data. This is complicated, and people don't have time right now for a very minor feature. Sucks.

By changing the type to a String, the API works, except the for gateway field for public networks. More people can continue to use the API allowing to be eventually corrected when time permits. Right now new people won't come on board as the feature does not work at all.

Just received the following note back from DO Support. Will test it in the morning and if successful, will be able to
close the issue and withdraw the pull request.
Hello Philip,
Hope you are doing well. Our Engineers worked on this issue and updated the behaviour. Now, when there is no gateway an empty string will be returned instead of . We request you to try it out now and let us know if it works or if you are facing any issues.
We value your feedback in this regard. Looking forward to hearing from you.
Swimmingly,
Srilalitha
Developer Support Engineer II

Tested the updated API. It is returning an empty string as above, however, the API is returning a "Err(ReqwestError(Error(Json(Error("invalid IP address syntax", line: 1, column: 1024))))) " error
This is the location of the field.  I will provide feed back to Digital Ocean.


Refactor to encapsulate common bootstrap handlers in own packages

Affects secret, server, and start_message implementations at
internal/pkg/bootstrap/handlers.
Fixes: https://github.com/edgexfoundry/edgex-go/issues/1880
Signed-off-by: Michael Estrin<EMAIL_ADDRESS>

Codecov Report

Merging #1881 into master will not change coverage.
The diff coverage is 0%.

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

Rebased.

Codecov Report

Merging #1881 into master will not change coverage.
The diff coverage is 0%.

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

Rebased.

Rebased.

Rebased

Rebased

Rebased

Rebased

Rebased

recheck

Rebased.  Corrected package name.


Minor tweak to environment variable name.

Allow a second attempt to read a bash compatible variable

Why is this change necessary?
Current environment variable in ChromeDriver.php uses '.', whilst valid according to the specification, this will not work using a bash shell (probably the most commonly used)

How does it address the issue?
'.' replaced with '_'.  This is usable in bash (including cygwin)
Original code still there, only attempts new variable if original does not exist

What are the side effects?
None, previous name will still work, new name only used if original name does not exist

Hmm, strange test failure (in testing with MS edge, I modified only ChromeDriver code)
Looking at test output, I can't see how my changes could have broken THIS test without breaking many others.
Is this branch broken?

Replaced by #696, thanks @AtricoSoftware!


Template Settings not "Unsaving"

In template settings, there is an option "Items per page". On setting this and clicking Save or Save & Close the pagination control appears.
However, if I go back into template settings and uncheck Items per page, the pagination control remains. Clearing cache, refresh the page or private window - the pagination remains.

ok thank you I'll have a look

@liffeyd Ok, I found the cause. It's an issue in OC 05.00.06
I locally upgraded to a higher beta and then it works as expected.
I'll ask Sacha to release that version


Feat/improvement persistence layer

Some points fixed:

reduce nested if
simplify the logic method
reduce the responsibility of context.
add Guard clauses.
remove magic numbers.
use principle clean code.

Thanks :)


Bump various dependencies

Check if everything works in-app tho or when it could potentially harm previous application workflow or break something
idb-keyval | ^5.1.5 -> ^6.1.0
sass-loader | ^10.2 -> ^12.4
mingo | ^4.4.1 -> ^5.0.0
css-loader | 4.3.0 -> 6.5.1
ansi-regex | ^5.0.1 -> ^6.0.1
@vue/cli-plugin-babel | ^3.12.1 -> ^4.5.15
@types/webpack | ^4.41.32 -> ^5.28.0
@intlify/vue-i18n-loader | ^1.1.0 -> ^4.1.0

Ref

https://github.com/kodadot/nft-gallery/pull/1995
https://github.com/kodadot/nft-gallery/pull/1998
https://github.com/kodadot/nft-gallery/pull/1997
https://github.com/kodadot/nft-gallery/pull/1993
https://github.com/kodadot/nft-gallery/pull/1992
https://github.com/kodadot/nft-gallery/pull/1991
https://github.com/kodadot/nft-gallery/pull/1990
https://github.com/kodadot/nft-gallery/pull/1989

On it.

just for reference
@types/webpack, sass-loader, css-loader
Vue 2.6.2 only goes together with webpack 4 -> latest we can go is 4.41.32
-> Css-loader ^6.0.0 requires webpack 5 -> latest we can go is 5.2.7
-> sass-loader ^11.0.0 requires webpack 5 -> latest we can go is 10.2
### @intlify/vue-i18n-loader
We use vue-i18n 8.27.0 -> The version for Vue I18n v8.x is now in @intlify/vue-i18n-loader v1.x!
ansi-regex
We aren’t using this anymore afaik
@intlify/vue-i18n-loader
I’ll make a separate issue regarding this package, because I believe during nuxt migration we didn’ change to @nuxt/i18n even though we have it as a dependency.
Config still seems to rely on import VueI18n, { LocaleMessages } from 'vue-i18n’

just for reference
@types/webpack, sass-loader, css-loader
Vue 2.6.2 only goes together with webpack 4 -> latest we can go is 4.41.32
Css-loader ^6.0.0 requires webpack 5 -> latest we can go is 5.2.7
sass-loader ^11.0.0 requires webpack 5 -> latest we can go is 10.2

Let's try to update it to latest at least :)

I believe during nuxt migration we didn't change to @nuxt/i18n even though we have it as a dependency.

yes, that's what triggered me to investigate into cleanup that we are installing packages which aren't used or we can use Nuxt versions


Show PURL if no package type is given in input file

Before this fix, informations like namespace that are present in the PURL were not shown if an attribution did not have a package type. To make these information visible, we now generate a PURL with the type 'generic' that is shown when no type is present.

It's kind of a work around. However, fine for now.

Yes, I have the same feeling.


SQLExtractor returns JPQL instead of SQL

Salut @vladmihalcea ,
I was using the SQLExtractor from hibernate-types-55   as described in https://vladmihalcea.com/get-sql-from-jpql-or-criteria/
I've updated to hibernate 6.2 and hypersistence-utils-hibernate-62 and I've noticed  the code is now returning JPQL instead of SQL.
Not sure there's anything you can do about ist but I thought I'd ask :-)
Ana

Try to investigate how it needs to be changed so that it will return the SQL query.

Fixed.


Kriging surrogate model in case of multiple outputs

Hi guys,
I just created a kriging model for a function with multiple outputs using SMT tutorial. But the model is a "List". How can I use such a model for optimization, etc.?
Best regards,
Mohammad

https://github.com/SMTorg/smt/blob/master/tutorial/SMT_EGO_application.ipynb

https://github.com/SMTorg/smt/blob/master/tutorial/SMT_EGO_application.ipynb https://colab.research.google.com/github/SMTorg/smt/blob/master/tutorial/SMT_EGO_application.ipynb

Thanks, but I don't see anything concerning the minimization of a multiple output function. Suppose I want to use PSO to minimize the kriging surrogate model, how can I implement this?

Be careful when you have multiple outputs, Gaussian Process in SMT does not consider correlation between outputs, a independant GP is built for each of the output. You could do save the GP as you want (a list of model or a different name for each) for your PSO optimization.

Dear @NatOnera
If I understand correctly, in my case, I should build 14 kriging surrogate models, and use each predicted output to build the objective function for optimization, correct?

Exactly


The third argument passed to services has no "state" prop

Description
While guards and actions receive the machine state in its third "meta object"  argument, services don't.
(Less importantly - but inconsistently too - there is no "_event" property on the meta object).
function myService(context, event, meta) {
   console.log(Object.keys(meta)) // data, src (but no state)
}

Compare vs a guard or an action:
function myGuard(context, event, meta) {
   console.log(Object.keys(meta)) // cond, state, _event
}

function myAction(context, event, meta) {
   console.log(Object.keys(meta)) // action, state, _event
}

Expected Result
const machine = createMachine({
  id: 'root',
  initial: 'Idle',
  states: {
    Idle: {
      on: {
        EVENT: {
          cond: (ctx, e, meta) => {
            console.log(meta.state) // State
            return true
          },
          actions: (ctx, e, meta) => {
            console.log(meta.state) // State
          },
        },
      },
      invoke: {
        src: (ctx, e, meta) => {
          console.log(meta.state) // <------- expected State, got undefined
          return Promise.resolve()
        },
      },
    },
  },
})

Actual Result
There is no state property on the third argument passed to services.
Reproduction
https://codesandbox.io/s/cold-cache-0z7ys?file=/src/index.js
Additional context
The machine state is quite useful, especially with the recent getSnapshot method addition. Inside a service, one may wish to retrieve a value from a child actor, e.g.:
function myService(state, event, { state }) {
  const lastValue = state.children.actor1?.getSnapshot()
}

state is currently not given to any kind of implementation (actor, action, delay, guard) in v5. We understand that there might be some concerns related to that - they deserve a new thread to be created if needed though.
For the time being, I'm closing this issue since it's not directly actionable on our side.


Ruby 3 compatibility

With the release of Ruby 3, the 2.7 deprecations reported in #700 are now fatal errors that prevent apps from running. Could you please, please release the existing patch?

We'll look into this soon.

We'll look into this soon.

I think the current master branch should work on Ruby 3.

I think the current master branch should work on Ruby 3.

Hi @rbq we are going to release a version supporting Ruby 3 :)

Hi @rbq we are going to release a version supporting Ruby 3 :)


New Next.js 13 project with TypeScript does not compile

I understand that Next.js 13 is not yet listed as officially supported. That said, this information may be helpful.
After bootstrapping a clean Next.js 13 project with TypeScript support, I was getting a lot of errors about unsupported syntax when running fastly compute serve:
✘ [ERROR] Transforming array spread to the configured target environment ("es5") is not supported yet

    bin/index.js:2:1276885:
      2 │ ...n,h=[...Array.isArray(u)?u:[u],...Array.isArray(p)?p:[p]];a.defa...
        ╵                                   ~~~

  The target environment was set to "es5" here:

    ../tsconfig.json:3:14:
      3 │     "target": "es5",
        ╵               ~~~~~

✘ [ERROR] Transforming const to the configured target environment ("es5") is not supported yet

    bin/index.js:2:1277385:
      2 │ ...vmode":void 0}))}function S(){const{docComponentsRendered:e}=a.u...
        ╵                                  ~~~~~

These errors refer to the TypeScript configuration.
After changing target to es6 in tsconfig.json, the project did compile and fastly compute serve ran without issue. However, it still wasn't possible to access the Next.js app, as I was getting 500 response and saw this message in terminal:
2023-01-12T15:08:21.860974Z  WARN no backend definitions found in /Users/ronni/Development/seatgeek/fastly-nextjs-poc/compute-js/fastly.toml
2023-01-12T15:08:21.861102Z  INFO Listening on http://<IP_ADDRESS>:7676
2023-01-12T15:08:34.983914Z  INFO request{id=0}: handling request GET http://<IP_ADDRESS>:7676/
2023-01-12T15:08:35.013234Z  INFO request{id=0}: request completed using 31.2 MB of WebAssembly heap
2023-01-12T15:08:35.013261Z  INFO request{id=0}: request completed in 29ms
Promise rejected but never handled: A.isTargetLikeServerless is not a function
Stack:
  get _isLikeServerless@<stdin>:2108:51
  getFontManifest@<stdin>:2006:26
  @<stdin>:25826:779
  D@<stdin>:1784:15
  bin/index.js/5150/getServer/<@<stdin>:2132:38
  fulfilled@<stdin>:317:26

I compiled it successfully with esnext

@doronaviguy Was the service accessible? As noted, it was possible to compile it after changing the target, however, the app did not run correctly when I tried.


Fix or remove the double checkmark

Our messages sometimes have double checkmarks.

And sometimes single checkmarks.

What does this mean? I have seen double checkmarks on messages that were not delivered. They must have a meaning or must be removed.

fixed by #1066


Replace "Unavailable" status with "Invisible" mode

To align with the removal/replacement of the "Unavailable" status in the web app in https://github.com/zulip/zulip/issues/21178, we should replace the "Set yourself to away" option in the user's personal profile with an "Invisible mode" toggle. This toggle should control whether or not the user's presence is being shared.

This issue is ready to be worked on; @laurynmm is planning on picking up the corresponding webapp issue.

CZO discussion regarding the migration process: https://chat.zulip.org/#narrow/stream/2-general/topic/.22unavailable.22.20status/near/1431122

The server/webapp work on this issue has been completed! API documentation is up to date.

Great! 🙂 I've posted some questions on CZO here.


bug fix: added init.py to parse directory

also, added def main() in wp_chat.py

I think you can safely update it on pypi also and expect it to work this time :smiley:

LGTM

I merged so I'm not blocked to do the upload to Pypi

@manu-chroma I just uploaded to PyPi, 1.0.2 should be online.


ImportError: cannot import name 'GC' from 'Bio.SeqUtils'

On a new installation of cobra I run into this error:
❯ cobra-meta -h                                                                                (cobra)
Traceback (most recent call last):
  File "/lila/home/funnellt/mambaforge/envs/cobra/bin/cobra-meta", line 6, in <module>
    from cobra import main
  File "/lila/home/funnellt/mambaforge/envs/cobra/lib/python3.8/site-packages/cobra.py", line 13, in <module>
    from Bio.SeqUtils import GC
ImportError: cannot import name 'GC' from 'Bio.SeqUtils' (/lila/home/funnellt/mambaforge/envs/cobra/lib/python3.8/site-packages/Bio/SeqUtils/__init__.py)

I installed cobra using the instructions in the readme, which installed Biopython 1.82
❯ python                                                                                (cobra)
Python 3.8.18 | packaged by conda-forge | (default, Dec 23 2023, 17:21:28)
[GCC 12.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import Bio
>>> Bio.__version__
'1.82'

Looking through the Biopython NEWS.rst file, it looks like the GC module has been deprecated
https://github.com/biopython/biopython/blob/master/NEWS.rst

On a new installation of cobra I run into this error:
❯ cobra-meta -h                                                                                (cobra)
Traceback (most recent call last):
  File "/lila/home/funnellt/mambaforge/envs/cobra/bin/cobra-meta", line 6, in <module>
    from cobra import main
  File "/lila/home/funnellt/mambaforge/envs/cobra/lib/python3.8/site-packages/cobra.py", line 13, in <module>
    from Bio.SeqUtils import GC
ImportError: cannot import name 'GC' from 'Bio.SeqUtils' (/lila/home/funnellt/mambaforge/envs/cobra/lib/python3.8/site-packages/Bio/SeqUtils/__init__.py)

I installed cobra using the instructions in the readme, which installed Biopython 1.82
❯ python                                                                                (cobra)
Python 3.8.18 | packaged by conda-forge | (default, Dec 23 2023, 17:21:28)
[GCC 12.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import Bio
>>> Bio.__version__
'1.82'

Looking through the Biopython NEWS.rst file, it looks like the GC module has been deprecated https://github.com/biopython/biopython/blob/master/NEWS.rst

Hi, Tyler, Thank you for reporting this error and the information. Unfortunately, it is likely that they removed the GC function. Are you able to install an old version of BioPython, otherwise, it may take me several days to update the script including a new GC function? Please let me know. Thanks again.
Best,
LINXING

Hello! Yes BioPython 1.81 works fine.

Hello! Yes BioPython 1.81 works fine.

Hi Tyler, thanks for letting me know. I will add a note to the main page.
Best,
LINXING


feat: witnesses translated (needs spell checking)

Current dependencies on/for this PR:

main

PR #34   👈

This stack of pull requests is managed by Graphite.


site.py doesn't work.

Hi,
I am very glad to find this package!
Because now I am trying to find an apartment in SoCal area, this package is really helpful for me.
Btw, when I try to use your example, unfortunately, it doesn't work because site.py couldn't get decent data from craigslist so that I just commented a line from 'init' and then now it works perfectly as I expected [1]. If you have time to revise it, this can be considered.
Thanks!
SJ
[1] line 66 (#raise ValueError(msg))

The issue with the sites.py has already been fixed. I just hadn't had the time to make a new release. I'll do that pretty soon.
Thanks for using the module! :+1:

You are the best! :+1:

Has this issue been resolved? I am trying to use CraigslistForSale and am getting the following error
ValueError: 'detroit' is not a valid site
After doing some investigating it seems that all sites are not properly loaded. Thanks for any help!

New version of python-craigslist (1.0.1) is live in PyPI now. That version should fix this issue.
Thanks for bearing with me :)


Provide a way to add addinitional binaries to MacOS folder

To accommodate the macOS JVM version of my app, I require a method to include an extra binary within the "Contents/MacOS" directory. In my specific scenario, this binary represents a CLI utility designed for interfacing with Apple Photos. This binary must be placed in the directory before the code signing process takes place.
Currently, I haven't identified a configuration option to achieve this objective. The current configuration only supports the addition of resources.
Is there a workaround available for this situation? Can you provide guidance on executing a Gradle task after the entire assembly process has concluded but just before the signing process begins?

Can you please provide a sample of desired API ?
Maybe some snippets of possible Gradle configuration ?

I could imagine it being similar to the appResourcesRootDir.
compose.desktop.application {

    mainClass = "MainKt"

    buildTypes.release.proguard {
        configurationFiles.from(project.file("proguard-rules.pro"))
        obfuscate.set(true)
        optimize.set(true)
    }

    nativeDistributions {

        /* For java.sql.DriverManager, used by SQLDelight */
        modules("java.sql")

        targetFormats(TargetFormat.Pkg)

        [...]

        appResourcesRootDir.set(
            project.layout.projectDirectory.dir("resources")
        )

        windows {
            iconFile.set(project.file("src/desktopMain/resources/icon.ico"))
        }

        macOS {

            extraBinaryRootDir.set(
                project.layout.projectDirectory.dir("helpers")
            )

            bundleID = "com.ashampoo.photos"

            iconFile.set(project.file("src/desktopMain/resources/icon.icns"))

            appCategory = "public.app-category.photography"

            [...]
        }
    }
}

Unfortunatelly there are no workaround to place files right to Contents/MacOS dir yet.

Can you share additional context, why standart resources with appResourcesRootDir works bad with your application?
What behavior do you want to achieve?

I think - I understood. You want to place your binnary right in Content/MacOS dir, because it is executable file. And MacOS needs to place it here because of running restrictions.
Correct?

Same issue here, in order to use jcef, I need to put the jcef-bundle folder in the application installation root on all platforms

I think - I understood. You want to place your binnary right in Content/MacOS dir, because it is executable file. And MacOS needs to place it here because of running restrictions. Correct?

Yes, that’s the exact issue I’m facing. I placed my executable in the app resources dir, but macOS won’t let it run with the required permissions to access the Apple Photos library. As far as I can see it needs to go into the said folder to execute with permissions.

Hi, Did you manage to work with this issues ? I am also looking for a solution.

No, my app can continue functioning without the specific feature I require the native library for a bit longer. I understand that resolving this issue may not be high priority at the moment, especially as they focus on stabilizing Compose for web.

Thanks for the prompt response.
I am looking for a way to include a script in the .deb bundle and the script should retain the executable permissions. I am able to include the script but the permissions are not retained once the .deb package installed.
Any thoughts on how to make it work?

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Version update

Issue: Some new releases of udunits2 are available. Specifically, I need to be able to format timeunits including "since 2001-01-01 00:00:00", something that was added in Unidata/UDUNITS-2@3e607e13e8964e21e358690fa87b5e8a03b140e1 and released in version <IP_ADDRESS> (Unidata/UDUNITS-2@a710228a8a02d46e8058507487b33299cc1de7cf). Of course, an update to the most recent version seems sensible.
I am happy to work on this; since there is already a corresponding bot PR, it would probably make sense to join the team before starting on it. Or do you prefer a PR against the open PR?
ping @conda-forge/udunits2

No need to use the open PR. Those are probably quite stale. If you know how to fix our builds please send a fresh PR and add yourself to the team! Thanks!!


[Docs]: [Rehaul] - Google Sheets Datasource

As quoted by Pranay Agrawal(notion)
In some cases there are multiple docs/ guides on integrating with a database, and docs are not fully consistent. For example, there are two docs on the website which show how to connect with Google Sheets (as listed below). However, while the first doc is top result that pops up on Google while searching ‘Google Sheets on Appsmith’, the guide is basis an older version of Appsmith, and hence is not most intuitive to follow (maybe we could add a line in the guides to indicate which version of Appsmith has been used in that specific guide)

https://docs.appsmith.com/learning-and-resources/how-to-guides/how-to-work-with-google-sheets-on-appsmith
https://docs.appsmith.com/reference/datasources/querying-google-sheets

Notion job story doc

current draft pr

resolved by rehaul PR


Unable to import module in SvelteKit app

I'm trying to use this in a SvelteKit app with TypeScript, but i'm not able to get it to work.
There are two approaches I've tried for importing this. Firstly, at the top of my script block using import MeasuresControl from 'maplibre-gl-measures';. Doing this yields the following error message
SyntaxError: Cannot use import statement outside a module

C:\...\maplibre-gl-measures\src\maplibre-gl-measures.js:1
import MapboxDraw from "@mapbox/mapbox-gl-draw";
^^^^^^

The second approach only imports the library on the client, like so:
let MeasuresControl: any;
onMount(async () => {
    const measuresModule = await import('maplibre-gl-measures');
    MeasuresControl = measuresModule.default;
}

But doing this results in a separate error in the browser console,
Uncaught (in promise) ReferenceError: global is not defined
   support Lodash
    __require chunk-2GTGKKMZ.js:12
    _basecreatecallback Lodash
    __require chunk-2GTGKKMZ.js:12
    foreach Lodash
    __require chunk-2GTGKKMZ.js:12
    units maplibre-gl-measures.js:9515
    __require chunk-2GTGKKMZ.js:12
    <anonymous> maplibre-gl-measures.js:4

I'm basically just wondering how I should go about using this in Svelte. It seems like an invaluable plugin to have, and any help is much appreciated.

Hi @syslev!
Well, that is odd.  I only use Vue.js and never tried Svelte, but can you attach a demo project using Svelte and maplibre-gl-measures so that I can have a look?
Thanks!

Issues with solid-start too

Hi guys,
Just answered to issue #21 that I think it could be related to this issue. Here is the demo project I created using typescript:
hello-world.zip
Let me know if this helps you in any way.
Cheers,
Jorge


fixed API listener options handling to prevent unicode errors

See https://github.com/EmpireProject/Empire/issues/965 for details on this issue. Basically, creating a listener through the Empire CLI leads to all options being normal bytearray strings. However, when you create a listener through the API all the listener options are converted to unicode strings instead of normal bytearray strings. This allows the listener to be created, but upon agent connection a stacktrace is thrown and the agent does not work. If you create a listener through the API and only set the Name option, the listener is fine. It's only when you set the Port and Host options through the API that the agent can't connect. This PR fixes that and agents can connect just fine after encoding the listener options as utf8.

This ends up breaking API calls that use an int as a value since int's can't be .encode()'d. Opening new one with this fix.


Is Proxy actually working?

Hi, how do I use a proxy when logging into Instagram using this API? I have used the code mentioned from a previous post:
Instagram4j instagram = Instagram4j.builder().username(userName).password(password).build();
        instagram.setup();
            HttpHost proxy = new HttpHost("IP_SERVER", PORT_NUMBER, "http");
            instagram.getClient().getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
            instagram.getClient().getParams().setIntParameter("http.connection.timeout", 600000);

            instagram.getClient().getCredentialsProvider().setCredentials(
                    new AuthScope("IP_SERVER", PORT_NUMBER),
                    new UsernamePasswordCredentials(NETWORK_USER, NETWORK_PASS));
        try {
            instagram.login();
        } catch (Exception ex) {
            ex.printStackTrace();
        }

However, when I test a foreign proxy on my account, I don't receive any checkpoint required upon logging  in, which I expect to receive if the proxy is in fact working. Any help?

hi chrisjstelmach
please hep me
How did you sync this libarary (instagram4j)?
I try to build this lib in android stadio, But I did not succeed 😞😞
pease help me to build this lib
can you send gradle file for me
please help ....
my mail is<EMAIL_ADDRESS>

Hi All,
Proxy will be available in 1.8 version.
        Instagram4j instagram = Instagram4j.builder()
                .username("your email")
                .password("your password")
                .proxy(new HttpHost("host.address.com", 8080, "http"))
                .build();

        instagram.setup();
        instagram.login();

        InstagramLikeRequest request = new InstagramLikeRequest(InstagramCodeUtil.fromCode("BfjRJp1nQug"));
        InstagramLikeResult result = instagram.sendRequest(request);
        System.out.println(result);


Static URL to download the latest version of Ghidra

I’m trying to write a script that I can use to regularly download and/or update Ghidra to the latest version.  I’m currently struggling to do this as the download URL here on GitHub changes unpredictably due to the incrementing version number and the unpredictable publication date. Would it be possible to create a static URL that always points to the latest version for download?
This seems relevant: https://docs.github.com/en/repositories/releasing-projects-on-github/linking-to-releases
Thanks!

https://github.com/NationalSecurityAgency/ghidra/releases/latest

I think this is the same request: https://github.com/NationalSecurityAgency/ghidra/discussions/2669
There is a link to an example script that someone else came up with using github-foo to get latest.

Thanks for the quick reply!
My apologies, I searched all the issues for “static download link“ and didn’t find that link.  It’s not quite what I’m looking for is. I’m hoping to do it without an API key, I admittedly I didn’t specify that originally.
I think for now I can proceed by downloading the latest downloads HTML page and searching that content with a regular expression to find the actual link to the zip archive.


Move all the cargo test ... commands from .travis.yml to a Makefile,...

... for local testing.
It could just as well be a shell script instead of a Makefile.
I don’t believe running cargo build on Travis is useful, (since cargo test does the same and more) but I left it since that is unrelated to this change.

Thank you. Indeed I continuously forget to test other crates (and rely on Travis failure for the matter). And well, I think Makefile is better, we may put some other non-critical scripts to Makefile in the future.


Please remove completely annoying checkstyle import checks

Remove this annoying and illogical import ordering check or at least provide a proper formatter file for Idea / Eclipse IDEs so the checks can somehow be fulfilled.

I've added the files for eclipse, esp importorder, for Idea this is correct:  https://stackoverflow.com/questions/14716283organize-imports-the-same-way-as-in-eclipse/17194980#17194980)

I've added the files for eclipse, esp importorder, for Idea this is correct:  https://stackoverflow.com/questions/14716283

Close due lack of response.


certificate error installing nvim latest using bob in ubuntu wsl

when trying to install latest version in ubuntu WSL i get an odd message:

@verajosemanuel Are you on a work network or something? That or VPNs usually cause this issue.

I have been getting the same thing recently.  Bob used to work perfectly.  I upgraded to the v2.9.1 bob, but still the same issue.  Almost definitely a work VPN (although bob worked when I first installed it).

Definitely a work VPN could be the issue

@verajosemanuel Do you know where is your custom ca certificate is located at? I could add support for setting an env variable that will load the ca file when the var is present.

I got the same issue. Curl works fine though. I don't use a custom location but added the certs to the main location. But bob is not working.

processing: https://objects.githubusercontent.com/github-production-release-asset-2e65be/16408992/b1c65236-e281-4582-befc-5479862f9dac?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240716%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240716T164504Z&X-Amz-Expires=300&X-Amz-Signature=4d3308b03b7dfcd87dadd655f4648fcb006d157388d64c649dca062d498b67cb&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=16408992&response-content-disposition=attachment%3B filename%3Dnvim.appimage&response-content-type=application%2Foctet-stream
Uses proxy env variable https_proxy == 'http://<IP_ADDRESS>:9000'
Trying <IP_ADDRESS>:9000...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 9000
CONNECT tunnel: HTTP/1.1 negotiated
allocate connect buffer
Establish HTTP proxy tunnel to objects.githubusercontent.com:443

CONNECT objects.githubusercontent.com:443 HTTP/1.1
Host: objects.githubusercontent.com:443
User-Agent: curl/8.2.1
Proxy-Connection: Keep-Alive

< HTTP/1.1 200 Connection Established
< Proxy-Agent: Zscaler/6.2
<

CONNECT phase completed
CONNECT tunnel established, response 200
ALPN: offers h2,http/1.1
TLSv1.3 (OUT), TLS handshake, Client hello (1):
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
TLSv1.3 (IN), TLS handshake, Server hello (2):

Change this in cargo.toml and it worked ¯_(ツ)_/¯
[features]
default = ["rustls-tls"]
native-tls = ["reqwest/default-tls"]
#rustls-tls = ["reqwest/rustls-tls"]
rustls-tls = ["reqwest/rustls-tls-native-roots"]

@verajosemanuel let me know if this also fixes your issue like @ElPapiMango


Correctly handle $GENERATE modifiers

Correctly handle $GENERATE modifiers. The width and type (aka base)
components of a modifier are optional. This means that ${2,0,d}, ${2,0} and ${2} are
valid modifiers, however only the first format was previously permitted. Use default
values for the width and/or type if they are unspecified in the modifier.
While here improve test coverage by adding tests for parsing zones with $GENERATE and the modToPrintf used by $GENERATE.
Fixes issue #702

Codecov Report

Merging #703 into master will increase coverage by 0.6%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master     #703     +/-   ##
=========================================
+ Coverage   58.16%   58.77%   +0.6%
=========================================
  Files          37       37
  Lines       10121    10127      +6
=========================================
+ Hits         5887     5952     +65
+ Misses       3171     3096     -75
- Partials     1063     1079     +16

Impacted Files
Coverage Δ

generate.go
54.8% <100%> (+54.8%)
:arrow_up:

scan.go
78.1% <0%> (+1.22%)
:arrow_up:

Continue to review full report at Codecov.

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


os/user:  Current fails to return user

What version of Go are you using (go version)?

1.12.5

Does this issue reproduce with the latest release?
YES
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/loc/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/loc/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/Cellar/go/1.12.1/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.12.1/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/w_/ws12k2vx2xl164l7qfz30f2w0000gn/T/go-build455020799=/tmp/go-build -gno-record-gcc-switches -fno-common" Output
$ go env

What did you do?
We're running user.Current() in a k8s controller on k8s cluster on Kind.  The k8s controller is implemented in a linux amd64 container.
What did you expect to see?
The actual user name -- root
What did you see instead?
failed to get current user: user: Current not implemented on linux/amd64

I know exactly what the problem is, but I'm not sure what is the best solution.  The problem is user.Current() is caching old data.  It's not the root cause, but it is why the function is returning incorrect user.
We're running inside an amd64 linux container.  The user should be root.  But Current() returns a cached error instead.  When I duplicate the code for the internal function current() (lower case) in our code, it returns the correct user.

If you built with CGO_ENABLED=0 (as is default if you're cross-compiling), then it falls back to using the USER and HOME env variables.
The code says:
        homeDir, _ := os.UserHomeDir()  // (which falls back to $HOME)
        u = &User{
                Uid:      uid,
                Gid:      currentGID(),
                Username: os.Getenv("USER"),
                Name:     "", // ignored
                HomeDir:  homeDir,
        }
....
        // cgo isn't available, but if we found the minimum information
        // without it, use it:
        if u.Uid != "" && u.Username != "" && u.HomeDir != "" {
                return u, nil
        }
        return u, fmt.Errorf("user: Current not implemented on %s/%s", runtime.GOOS, runtime.GOARCH)
}

So, set those in your environment.

As this comes up often enough, I'll make this bug be about changing the error message.

@sflxn, what is the caching problem? Are you changing your uid at runtime?

 The https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/pull/260 bug says you're using a Go 1.11 container.

@bradfitz Sorry, I showed the output of golang on my Mac but we actually build using the golang 1.12 container.  Your response made me went back and check.  Ben's PR uses that version of the golang container and our CI was reporting that message.
In my own test, I hadn't updated my Dockerfile to use golang 1.12 so I was getting the old behavior.  Once I updated it to the golang 1.12 container, it worked for me.  Therefore, the fact that it worked locally for me but not in our CI says there's something in our CI environment and not golang.  We will investigate there.
Thanks for the quick response.  Feel free to close this issue.


Docker/custom uid gid

Description
Instead of hard-coding the UID:GID used to run hornet in the Dockerfile, set those as ARGs, allowing a user to set custom values during docker build.
Fixes https://github.com/gohornet/hornet/issues/957
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Documentation Fix

How Has This Been Tested?
Was tested by:

building the image with a custom UID:GID on a Hornet node.
chown the existing hornet directories with the custom UID:GID
run hornet

Checklist:

[x] My code follows the style guidelines of this project
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have tested my code extensively
[x] I have selected the develop branch as the target branch

Thank you ! But how can i build a container of the dev brench ? (Sorry for my bad english) German is my main language.
There is no DEV Version in docker Hub ?!  https://hub.docker.com/r/gohornet/hornet/tags?page=1&ordering=last_updated

@thezepter
I don't know how your synology stuff works, since I don't own one.
But normally you have the Dockerfile in our repository, which is used to create the container.
Clone the repository, and let docker built the container.
So I guess you need access via SSH to your NAS. Not possible via web interface I guess.

Yes. i use only the concole via ssh. But how can i clone the dev branch from guthub ?`
git clone https://github.com/gohornet/hornet && cd hornet  <-- this pulls the master branch.
git clone https://github.com/gohornet/hornet/tree/develop && cd hornet <-- doesnt work.
I´ve no idea how to pull the dev branch. sorry

@thezepter you are correct about the first two steps:

clone the repository git clone https://github.com/gohornet/hornet
enter (cd) the directory cd hornet
checkout to the development branch git checkout develop

Then you will have the correct Dockerfile to use for the build.

Thank you !!! That works great mith checkout develop !
But i same permission error for me after run command.

i add a user "iotanode" with UID:1034 & GID: 100
i changed the UID and GID in the Dockerfile
docker run = permission denied.

is this command after checkout the devekope branch correct ?
docker build -f docker/Dockerfile -t hornet:latest .  <-- "latest" makes me wonder

docker build -f docker/Dockerfile -t hornet:latest . <-- "latest" makes me wonder

@thezepter latest is just the image's tag. Since you're building from development branch you could tag it dev.
About the UID:GID I need to understand several things:

what command exactly did you use to build the new docker image? (I am wondering specifically about which UID and GID did you set as build arguments?)
are you mounting the config,json from your storage into the container? Can you run ls -ln on the file on your storage to view the numeric UID:GID?
can you share the full docker run command you're using?

Thanks in advance for your support. With docker build I have never done much so far only loaded and run.

git clone https://github.com/gohornet/hornet

cd hornet

git checkout develop

docker build -f docker/Dockerfile --build-arg SET_UID=1034 --build-arg SET_GID=100 -t hornet:latest .

docker run --rm -v /volume1/docker/iotahornetnode/config.json:/app/config.json:ro -v /volume1/docker/iotahornetnode/snapshots/mainnet:/app/snapshots/mainnet -v /volume1/docker/iotahornetnode/mainnetdb:/app/mainnetdb --name=hornet --net=host hornet:latest
Yes i´m mounting the config.json from my Storage:

@thezepter I think what happened is that your build failed because GID is already allocated on the base docker image:
#7 14.49 addgroup: gid '100' in use
------
executor failed running [/bin/sh -c apk --no-cache add ca-certificates curl jq tini tar && update-ca-certificates 2>/dev/null || true && if [ "$TAG" = "latest" ];    then      HORNET_TAG=$(curl --retry 3 -f -s https://api.github.com/repos/${REPO}/releases/latest | jq -r .tag_name | tr -d 'v');    else      HORNET_TAG="${TAG//v}";    fi && echo "Downloading from https://github.com/${REPO}/releases/download/v${HORNET_TAG}/HORNET-${HORNET_TAG}_${OS}_${ARCH}.tar.gz ..." && curl -f -L --retry 3 "https://github.com/${REPO}/releases/download/v${HORNET_TAG}/HORNET-${HORNET_TAG}_${OS}_${ARCH}.tar.gz" -o /tmp/hornet.tgz && tar --wildcards --strip-components=1 -xf /tmp/hornet.tgz -C /app/ */hornet */config.json */config_comnet.json */config_devnet.json */peering.json && if [ "$ARCH" = "x86_64" ];    then      curl -f -L --retry 3 -o /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub;      curl -f -L --retry 3 -o glibc-2.30-r0.apk https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.30-r0/glibc-2.30-r0.apk;      apk add glibc-2.30-r0.apk;      rm glibc-2.30-r0.apk;    fi && addgroup --gid $SET_GID hornet && adduser -h /app -s /bin/sh -G hornet -u $SET_UID -D hornet && chmod +x /app/hornet && chown hornet:hornet -R /app && rm /tmp/hornet.tgz && apk del jq curl]: exit code: 1

If you're missed this message, you might have proceeded to run docker with the older image and that's why the permission error.
I'd build the docker image using GID 1034, not 100. And because config.json has its user read bit enabled, hornet in the container should be able to read it.
Also note that you have executable bit enabled on the json files, that is not necessary. You can run sudo chmod ug-x config.json peering.json if that's possible on your storage.
There's also extended attributes set on the files (the + at the end: ---+) which might also be enabling some execution bit for particular users/groups. Maybe the storage system is doing something weird with permissions, I don't know.

hmmm wired ?!
docker version on my Synology is: 18.09.8
chmod works..

docker build result: (looks fine in my eyes)

Can I do without a local config.json and peering.json or do I need to customize anything at all ?
I just want to do something good for the community and run a node

docker version on my Synology is: 18.09.8

Don't think this is relevant to what we've discussed so far.
You see "Returned a non-zero code 22" -> that is an error. Can't see all your output but should be somewhere what failed.
If you can chmod files on your Synology why not just chmod 39999:39999 /path/to/files/* and build and docker image without any UID:GID overrides?

chmod 39999:39999 /path/to/files/* did´nt work  --> chmod: invalid mode: ‘39999:39999’
what worked is:
chown 39999:39999 /volume1/docker/iotahornetnode/*

ok.. new build
docker build -f docker/Dockerfile -t hornet:dev .
run:
docker run --rm -v /volume1/docker/iotahornetnode/config.json:/app/config.json:ro -v /volume1/docker/iotahornetnode/snapshots/mainnet:/app/snapshots/mainnet -v /volume1/docker/iotahornetnode/mainnetdb:/app/mainnetdb --name=hornet --net=host hornet:latest

chmod 39999:39999 /path/to/files/* did´nt work --> chmod: invalid mode: ‘39999:39999’
Sorry, my bad, it is chown 😂

You need to chown with -R (Recursive)

chown 39999:39999 /volume1/docker/iotahornetnode/* -R
didn`t help. same Permission denied for the database like the screenshot

I don't know.
Try to login to the container:
docker run --rm -it -v /volume1/docker/iotahornetnode/config.json:/app/config.json:ro -v /volume1/docker/iotahornetnode/snapshots/mainnet:/app/snapshots/mainnet -v /volume1/docker/iotahornetnode/mainnetdb:/app/mainnetdb --entrypoint=/bin/sh --name=hornet --net=host hornet:latest

This should spawn a shell in it.
Then run the following commands:
ls -l /app/config.json
ls -ld /app
ls -ld /app/mainnetdb
id

et --net=host hornet:latest
~ $ ls -l /app/config.json
-rw-rw----    1 hornet   hornet        3517 Mar 13 11:13 /app/config.json
~ $ ls -ld /app
drwxr-sr-x    1 hornet   hornet          94 Apr  8 13:36 /app
~ $ ls -ld /app/mainnetdb
d---------    1 hornet   hornet           0 Apr  8 10:33 /app/mainnetdb
~ $ id
uid=39999(hornet) gid=39999(hornet)
~ $

Note that the mainnetdb has no bits set:
~ $ ls -ld /app/mainnetdb
d---------    1 hornet   hornet           0 Apr  8 10:33 /app/mainnetdb

If you could find out why it gets mounted without any ownership bits?
On the source (storage) I saw it was drwxrwx---

omg... i have no idea... thats very strange... yes the source has the correct bits

I'm not going to give up that easily.
I think I know why it doesn't work that way.
(I still had an old "latest version" from the Docker Gui surface lying around from which he always started the container with the docker Run command.
now I have started all over again.
All hornet builds deleted once again.
the docker Build Command returns an Error in line 62 (pastebin link see below)
it also doesn't matter if I use the dev or master branch. Docker build always throws the same error.
https://pastebin.com/32bGcM8N
Downloading from https://github.com//releases/download/v/HORNET-__.tar.gz ...
curl: (22) The requested URL returned error: 404

this seems to abort the build, now when i want to run a docker run command it says no build exists.
any idea why the requested link returns a 404 ?

@thezepter can you check what is your current docker version?
I see that variables were not resolved during the build for some reason, I am suspecting that might have to do with your Docker version (see: Downloading from https://github.com//releases/download/v/HORNET-__.tar.gz ... missing the variables, they are empty)
In addition, I think it is a good idea to build the image using the latest version tag (0.5.6), see example https://github.com/gohornet/hornet/tree/develop/docker#build-specific-version

docker version on my Synology is: 18.09.8 (no update available)
docker build -f docker/Dockerfile --build-arg SET_UID=1026 --build-arg SET_GID=100 -t hornet:latest -t hornet:v0.5.6 --build-arg TAG=v0.5.6 .
Same problem:  Downloading from https://github.com//releases/download/v/HORNET-__.tar.g
https://pastebin.com/HqgqK27a

@thezepter
This seems like an old version. Maybe it doesn't support ARG yet? I don't know.
Why don't you download the final image? https://hub.docker.com/r/iotaledger/hornet/tags?page=1&ordering=last_updated&name=v0.5.6
I see you're trying to build with GID 100 again, but as I mentioned last time this will conflict with an existing group.
I believe we've also concluded that you can chown the source directories and files on your storage system to UID:GID 39999, in which case I'd expect it to be able to run the original image from docker hub, without having to rebuild the image with custom UID:GID.
From my comment we've concluded that your docker is somehow losing the permission bits on the directory. I think that is the root of the problem. Might be related to the outdated docker version. I don't know.
Did you try on Discord (hornet channel) to see if anyone else managed to get hornet running on the same storage system?

Problems with args on synology.  if I interpret this correctly, you can solve this via ENV ?
Found this: https://gist.github.com/agross/614b3c85dcc152e258403f4c5d4273b7
and this: https://community.synology.com/enu/forum/11/post/135674
Oh hornet has a Discord Server.. nice ! I I'll see if I can find someone there with a synology.
The UID and PID args were just a test. Even without them I get the same errors.

I don't know, you can try to modify the Dockerfile and set those ARG as ENV

Changed ARG to ENV in the dockerfile. Now the Build is complete. But the Container won´t start. No error in Container log.
docker build -f docker/Dockerfile  -t hornet:latest .
---> bcfd25432d72
Successfully built bcfd25432d72
Successfully tagged hornet:latest
https://pastebin.com/SSAf016M
Thanks !!
But I won't get any further, because I can't solve the problem with the permission bits.
Cant start he container... no logs

node is now running.
for fun i gave the docker folder "everyone" the permission to read and write and now i have no problems with the permissions.


refactor(router): Second try: Implement page navigation with RouteReuseStrategy  (#949)

Use RouteReuseStrategy implementation to do page navigation with <page-router-outlet>
This is Extended version of #977 with lazy-routes working.

run ci

run ci

uitests


Failing to predict

Getting this error:
ValueError                                Traceback (most recent call last)
[<ipython-input-23-d72c61a34340>](https://localhost:8080/#) in <module>
----> 1 y_predict_test_before = SimCLR.predict(data_test)

2 frames
[/usr/local/lib/python3.7/dist-packages/keras/engine/data_adapter.py](https://localhost:8080/#) in select_data_adapter(x, y)
    986         "Failed to find data adapter that can handle "
    987         "input: {}, {}".format(
--> 988             _type_name(x), _type_name(y)))
    989   elif len(adapter_cls) > 1:
    990     raise RuntimeError(

ValueError: Failed to find data adapter that can handle input: <class 'DataGeneratorSimCLR.DataGeneratorSimCLR'>, <class 'NoneType'>

when running:
y_predict_test_before = SimCLR.predict(data_test)

I think Try downgrade the tensorflow version to 2.1


Ferdi does not open links

Hi guys, do you know why Ferdi does not open links?
I am using 5.6.0-Nightly15, but it was like this in 5.5.0 too.
I am running Ubuntu 21.04
It happens on Slack, Whatsapp, Mattermost,  Google Calendar, Reddit.
Actually, some URLs work when holding down the Ctrl key. But some don't when on Google Calendar, for instance.
For Google Chat, it is not necessary the Ctrl key

Also having this problem on Mac Big Sur using the same nightly.
I had this problem once, long time ago, found a fix at the time, but until now could find the old solution.

Can you please try to right click on the link, and use "Open Link"? This might be a workaround for temporary usage while the devs try to search for the root cause.

Yeah, sure. The workaround works. Copying+Pasting the link also works. Thanks for the info @vraravam

On Mac, I just hold down the Command key when I click links for a quick open in browser. In Windows, Ctrl might work?

@kdlancer this was said in the description. It works for some URLs.

I’ve seen that issue in the currently nightly as well. Both on Windows and macOS. Command click (and right click "open") seems to work on macOS (have not tried any workaround on Windows yet).

Same here in the last BETA...i rollback to 5.5.0 and works perfect, it's weird to do right click and then OPEN LINK to see it in the browser...

Since we are back on track with the latest nightlies, we will try to find the root cause for this change in behavior - I have marked this as a hight priority bug to take a look at.

The root cause seems to be the electron upgrade here.
to open the links we are using,
ipcRenderer.send('open-browser-window', event, this.id);
here the event is a browser event.
Ref: https://github.com/getferdi/ferdi/blob/develop/src/models/Service.js#L291
Starting electron 9, support for non JS object in ipcRenderer is been removed.
Ref: https://www.electronjs.org/docs/breaking-changes#behavior-changed-sending-non-js-objects-over-ipc-now-throws-an-exception
We might not want to send the entire event but then only the necessary attrs.
will raise a PR soon for this one.

@prasann - great find! Reading through other instances of ipcMain.on() invocations, there are many such event-objects that are sent, and all of them will have the same issue about serialization. Would really love to take this fix for a spin! Eagerly awaiting your PR!
Thanks for contributing! 🎉


Added SetTextGDIPlusProperties

This includes a Main class for testing purposes, and the TextCallback is the callback class used. I figured it would be best to have someone take a look first

Sorry for the delay, I moved house recently. I'll see if I can take a look this weekend

Sorry for the delay, I moved house recently. I'll see if I can take a look this weekend

Going to just close this and ask you to re-submit as there are too many distracting changes to address in this PR

The .gitignore file was deleted; there are now hundreds of 'new' files that should have been ignored
The entire .github folder has been removed. This is the CI/CD for this project, it should never be removed

Took a look at your code and have these comments:

The SetTextGDIPlusPropertiesRequest only includes three of the dozens properties. This could be okay for your own fork, but to be included in the source repo this needed to include all the properties.

If you could please address these changes, we could take another look, thanks!

Going to just close this and ask you to re-submit as there are too many distracting changes to address in this PR

The .gitignore file was deleted; there are now hundreds of 'new' files that should have been ignored
The entire .github folder has been removed. This is the CI/CD for this project, it should never be removed

Took a look at your code and have these comments:

The SetTextGDIPlusPropertiesRequest only includes three of the dozens properties. This could be okay for your own fork, but to be included in the source repo this needed to include all the properties.

If you could please address these changes, we could take another look, thanks!


changed to new images

universe images got replaced with new versions

sorry for the missing new line. So every touched file ends now with a new line

@fatz is this ready to merge? I ask because the description starts with WIP.

@jsancio sure. Sorry simply forgot to change that tile. Please go ahead


[Feature Request]:  add apple login

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
integrating apple login enhance the user interface of the iOS user  which ease to login.
Use Case
Enhancement to the Project:
Improved UX: Quick and familiar login process for iOS users.
Better Security: Apple’s privacy features build trust with users.
Seamless Experience: Matches iOS ecosystem standards, offering a unified user interface.
Compliance: Meets App Store login requirements.
Higher Conversion: Easier login means more users sign up, boosting engagement.
Benefits
Benefits of Apple Login Integration:
User Convenience: Simplifies sign-in for iOS users, improving overall experience.
Increased Security: Apple’s privacy features protect user data and build trust.
Higher Engagement: Easy login leads to more user sign-ups and increased retention.
App Store Compliance: Meets Apple’s guidelines for third-party login options.
Improved Brand Perception: Aligning with Apple's ecosystem enhances the app’s credibility.
Priority
Medium
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

why? but website is not specific to any device like others? isn't it?

Even though your website isn't specific to iOS, integrating Apple login benefits iOS users by offering a familiar, secure, and convenient sign-in option, improving user experience and trust. It also meets App Store guidelines if you have an iOS app, increasing user engagement and sign-ups across all devices.


Add some product routes

This pull request addresses and closes issues #22 and partially #20.
Implemented Routes:

GET /products: Retrieve an array containing all products.
POST /product: Upload a new product, including its photos.
GET /product/image/{imageName}: Retrieve an image. Each product has an array containing one or more {imageName}.

:tada: This PR is included in version 2.0.0 :tada:
The release is available on:

2.0.0
GitHub release

Your semantic-release bot :package::rocket:


Improve cds add documentation

Also documented process for cds add helm
Experimental: added styling for added files in code group:

If we want to use that styling globally, we'd need to think about notebooks as well.


Change the test approach

Slava seems right, the way she explaind is more popular in current IT communiti so its better to stick to something familiar

done


tests: renamed tests with correctly test name

Contribution description
This PR is to fix the wrong names writen in some tests. was renamed to correct name for each test.

Testing procedure
test only building each test:
make -C tests/serialization

make -C tests/radio

make -C tests/ds18

Issues/PRs references

What about tests output?

Ok already, the output was added to Pull Request description, thanks :+1:


Error: could not load the index files for input file

Heya @jts
We have a draft assembly generated using racon and trying to generate a polished assembly using nanopolish.
The command is as below;
nanopolish variants --consensus -o polished.vcf -r sample.fasta -b sample_sorted.bam -g reads_final.fa.
The error I get is as stated below;
error: could not load the index files for input file - Please run nanopolish index on your reads (see documentation).
Any help is highly appreciated.
Thanks.

Is it possible you’ve swapped the arguments to -g and -r?
Jared

On Jul 26, 2021, at 2:45 PM, Alfred Ssekagiri @.***> wrote:

Heya @jts
We have a draft assembly generated using racon and trying to generate a polished assembly using nanopolish.
The command is as below;
nanopolish variants --consensus -o polished.vcf -r sample.fasta -b sample_sorted.bam -g reads_final.fa.
The error I get is as stated below;
error: could not load the index files for input file - Please run nanopolish index on your reads (see documentation).
Any help is highly appreciated.
Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thanks @jts, True, I had swapped the arguments.
Upon fixing that, I get another error requiring me to specify the region via -w.
Error: genome has multiple contigs, please use -w to specify input region.
However, when I try to specify the region for example "utg000001c:0-187", I get the following error.
error: faidx could not get contig length for contig utg000001c.
How would go around this? Is there way to get consensus by considering all the contigs without specifying for just one contig?
Thanks.

Hi @AlfredUg,
Our recommendation is to use parallel to polish the genome in regions - we describe how here: https://github.com/jts/nanopolish#computing-a-new-consensus-sequence-for-a-draft-assembly
Jared

Thanks @jts, I will try this and see how it goes.

Hi @jts
I have followed the example in the tutorial and this seems to work without errors. However I get an empty vcf file.
The command run; nanopolish_makerange.py ../draft_assembly/barcode2/reads_final.fa | parallel --results nanopolish.results -P 7 nanopolish variants --consensus -o polished.{1}.vcf -w {1} -r ../barcoded/barcode2.fastq -b barcode2_sorted.bam -g ../draft_assembly/barcode2/reads_final.fa -t 2.
Upon opening the created .vcf file, it is only the header section that is displayed as shown in the screen shot below.

What could be the issue in this case?
Thanks,
Alfred.

Hi Alfred,
In the example you posted, the contig you're trying to polish is only 187bp, which is too short for nanopolish. Are all the VCF files that you generated empty?
Jared


Add HE Tos/privacy policy add user account creation

We collect user data when a user creates a user account and don't get them to agree to a ToS or privacy policy till questionnaire creation. We should create and add HE ToS/privacy policy at the user creation page. This could be done by copying the questionnaire agreements logic and bringing it to the user model. Although a more hard coded ToS and/or privacy policy would also probably work.

waiting on #730

I lied it is not blocked


Update enumeratum-cats, enumeratum-circe, ... to 1.7.0

Updates

com.beachape:enumeratum-cats
com.beachape:enumeratum-circe
com.beachape:enumeratum-scalacheck

from 1.6.1 to 1.7.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.beachape" } ]

labels: library-update, semver-minor

Codecov Report

Merging #117 (633b8c4) into main (ef2ee18) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #117   +/-   ##
=======================================
  Coverage   89.43%   89.43%
=======================================
  Files          85       85
  Lines        2772     2772
  Branches       89       89
=======================================
  Hits         2479     2479
  Misses        293      293

Continue to review full report at Codecov.

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


interface: add v1 APIs

Description of your changes
This PR adds the v1 APIs for the GA task.
I have:

[x] Run make reviewable to ensure this PR is ready for review.

How has this code been tested
N/A.
Special notes for your reviewer

The v1 APIs at this moment are exactly the same with the v1beta1 APIs; per earlier agreements, we would be using the v1beta1 APIs as the storage version
No conversion strategy has been configured, so K8s API server will simply switch the API version as appropriate.

As discussed earlier, the override fields are marked as alpha; fields for other new features receive the beta tag.