struct.error: unpack requires a string argument of length 2

just got a new laptop, and install sigal rebuild my album, got this error, any idea?  It's the problem of pillow install?
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read<PHONE_NUMBER> bytes but only got 0. Skipping tag 7
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read 134479872 bytes but only got 0. Skipping tag 7
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read<PHONE_NUMBER> bytes but only got 0. Skipping tag 4
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read 1572864 bytes but only got 0. Skipping tag 3
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read<PHONE_NUMBER> bytes but only got 0. Skipping tag 7
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read 65536 bytes but only got 0. Skipping tag 3
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read 119144448 bytes but only got 0. Skipping tag 4
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read 80478208 bytes but only got 0. Skipping tag 4
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read 36175872 bytes but only got 0. Skipping tag 4
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read 196608 bytes but only got 0. Skipping tag 7
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read 65536 bytes but only got 8432. Skipping tag 7
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read 131073 bytes but only got 8428. Skipping tag 0
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read 393216 bytes but only got 0. Skipping tag 3
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read 44040192 bytes but only got 0. Skipping tag 5
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read 44564480 bytes but only got 0. Skipping tag 5
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read 131072 bytes but only got 0. Skipping tag 3
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read 45088768 bytes but only got 0. Skipping tag 4
  "Skipping tag %s" % (size, len(data), tag))
/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py:466: UserWarning: Possibly corrupt EXIF data.  Expecting to read 507510784 bytes but only got 8432. Skipping tag 4
  "Skipping tag %s" % (size, len(data), tag))
Traceback (most recent call last):
  File "/Users/sean/.pyenv/versions/sigal/bin/sigal", line 11, in <module>
    sys.exit(main())
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/click/core.py", line 664, in __call__
    return self.main(*args, **kwargs)
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/click/core.py", line 644, in main
    rv = self.invoke(ctx)
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/click/core.py", line 991, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/click/core.py", line 837, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/click/core.py", line 464, in invoke
    return callback(*args, **kwargs)
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/sigal/__init__.py", line 133, in build
    gal.build(force=force)
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/sigal/gallery.py", line 616, in build
    writer.write(album)
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/sigal/writer.py", line 110, in write
    page = self.template.render(**self.generate_context(album))
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/jinja2/environment.py", line 969, in render
    return self.environment.handle_exception(exc_info, True)
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/jinja2/environment.py", line 742, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/sean/baidu/百度云同步盘/sites/photos.notimportant.org/theme/templates/index.html", line 87, in top-level template code
    data-description="{{ img_description(media) }}"/>
  File "/Users/sean/baidu/百度云同步盘/sites/photos.notimportant.org/theme/templates/index.html", line 70, in template
    {%- if media.exif %}
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/jinja2/environment.py", line 397, in getattr
    return getattr(obj, attribute)
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/sigal/utils.py", line 118, in __get__
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/sigal/gallery.py", line 157, in exif
    if self.raw_exif and self.ext in ('.jpg', '.jpeg') else None)
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/sigal/utils.py", line 118, in __get__
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/sigal/gallery.py", line 163, in raw_exif
    if self.ext in ('.jpg', '.jpeg') else None)
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/sigal/image.py", line 166, in get_exif_data
    exif = img._getexif() or {}
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/JpegImagePlugin.py", line 390, in _getexif
    return _getexif(self)
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/JpegImagePlugin.py", line 419, in _getexif
    info.load(file)
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/TiffImagePlugin.py", line 430, in load
    tag, typ = i16(ifd), i16(ifd, 2)
  File "/Users/sean/.pyenv/versions/sigal/lib/python2.7/site-packages/PIL/_binary.py", line 39, in i16le
    return unpack("<H", c[o:o+2])[0]
struct.error: unpack requires a string argument of length 2
make: *** [build] Error 1

The issue seems to come from Pillow when it reads the exif tags from one of your image. Maybe you installed a more recent version of Pillow on your new laptop, and a change in Pillow can explain why this happens now ?

@saimn
yes, the last time I build album is a very long time ago...Maybe half year
any way I can see the problem image?

@seansay you can run sigal in debug mode to see which image is being processed when the error happens (sigal build -d -n 1).

@saimn
also, I remove _build dir and build again, has no error now!

Ok great, closing then :)

@saimn
Hi, Simon. do you know any easy way to fix exif data?

@seansay not really, I have used cli tools like jhead, exiftool or exiv2 to modify exif data for a batch of images, but I don't know if these tools include a way to check and fix the data.


Adding diffrent alpha_S and q_0 result table to presentation to fill later for each methods

Each methodology must have the table and the diagram

this has been done in the overleaf


Impersonation fails for printing on network printer.

I'm trying to access the network printers by doing impersonation (using this code) to print a pdf document from IIS (wcf application). Since my wcf application run under 'LocalSystem' app pool identity, i need to do the impersonation. But Printing doesn't work with this impersonation, even I can't list out the network printers also.
If I change the logonType to 'LOGON32_LOGON_INTERACTIVE' and logonProvider as 'LOGON32_PROVIDER_DEFAULT' then I can list out the network printers but when I send the document to the printer it doesn't print. it shows with Size empty in the print queue. Any Idea please???
Impersonation Code:
`  [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
public class Impersonation : IDisposable
{
private readonly SafeTokenHandle _handle;
private readonly WindowsImpersonationContext _context;
bool disposed = false;
    // constants from winbase.h
    const int LOGON32_LOGON_INTERACTIVE = 2;
    const int LOGON32_LOGON_NETWORK = 3;
    const int LOGON32_LOGON_BATCH = 4;
    const int LOGON32_LOGON_SERVICE = 5;
    const int LOGON32_LOGON_UNLOCK = 7;
    const int LOGON32_LOGON_NETWORK_CLEARTEXT = 8;
    const int LOGON32_LOGON_NEW_CREDENTIALS = 9;

    const int LOGON32_PROVIDER_DEFAULT = 0;
    const int LOGON32_PROVIDER_WINNT35 = 1;
    const int LOGON32_PROVIDER_WINNT40 = 2;
    const int LOGON32_PROVIDER_WINNT50 = 3;

    public Impersonation(ImpersonateUserDetails user) : this(user.Domain, user.UserName, user.Password)
    { }
    public Impersonation(string domain, string username, string password)
    {
        // if domain name was blank, assume local machine
        if (string.IsNullOrEmpty(domain))
            domain = System.Environment.MachineName;

        var ok = LogonUser(username, domain, password,
                       LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, out this._handle);
        if (!ok)
        {
            var errorCode = Marshal.GetLastWin32Error();
            throw new ApplicationException(string.Format("Could not impersonate the elevated user.  LogonUser returned error code {0}.", errorCode));
        }

        this._context = WindowsIdentity.Impersonate(this._handle.DangerousGetHandle());
    }

    public void Dispose()
    {
        Dispose(true);
        GC.SuppressFinalize(this);
    }

    protected virtual void Dispose(bool disposing)
    {
        if (disposed)
            return;

        if (disposing)
        {
            this._context.Dispose();
            this._handle.Dispose();
        }
        disposed = true;
    }

    ~Impersonation()
    {
        Dispose(false);
    }

    [DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
    private static extern bool LogonUser(String lpszUsername, String lpszDomain, String lpszPassword, int dwLogonType, int dwLogonProvider, out SafeTokenHandle phToken);

    sealed class SafeTokenHandle : SafeHandleZeroOrMinusOneIsInvalid
    {
        private SafeTokenHandle()
            : base(true) { }

        [DllImport("kernel32.dll")]
        [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
        [SuppressUnmanagedCodeSecurity]
        [return: MarshalAs(UnmanagedType.Bool)]
        private static extern bool CloseHandle(IntPtr handle);

        protected override bool ReleaseHandle()
        {
            return CloseHandle(handle);
        }
    }
}

public class ImpersonateUserDetails
{
    public string UserName { get; set; }

    public string Password { get; set; }

    public string Domain { get; set; }
}`

Printing code to Network Printer:
using (new Impersonation(domain, username, password))                 {                     PrinterUtility pu = new PrinterUtility();                     pu.Print(fileName, "TestFile.pdf", printerName);                 }
PrinterUtility Class:
` using System;
using System.Drawing.Printing;
using System.IO;
using System.Drawing;
using System.Text;
namespace NetworkPrintWCF
{
public class PrinterUtility
{
private Font printFont;
private StreamReader streamToPrint;
    private void pd_PrintPage(object sender, PrintPageEventArgs ev)
    {
        float linesPerPage = 0;
        float yPos = 0;
        int count = 0;
        float leftMargin = ev.MarginBounds.Left;
        float topMargin = ev.MarginBounds.Top;
        String line = null;

        // Calculate the number of lines per page.
        linesPerPage = ev.MarginBounds.Height /
           printFont.GetHeight(ev.Graphics);

        // Iterate over the file, printing each line.
        while (count < linesPerPage &&
           ((line = streamToPrint.ReadLine()) != null))
        {
            yPos = topMargin + (count * printFont.GetHeight(ev.Graphics));
            ev.Graphics.DrawString(line, printFont, Brushes.Black,
               leftMargin, yPos, new StringFormat());
            count++;
        }

        // If more lines exist, print another page.
        if (line != null)
            ev.HasMorePages = true;
        else
            ev.HasMorePages = false;
    }

    // Print the file.
    public void Print(string filePath, string fileName, string printerNetworkPath)
    {
        try
        {
            streamToPrint = new StreamReader(filePath);
            try
            {
                var printerSettings = new PrinterSettings
                {
                    PrinterName = printerNetworkPath,
                    PrintFileName = fileName,
                    PrintRange = PrintRange.AllPages,
                };
                printerSettings.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0);

                printFont = new Font("Arial", 10);
                PrintDocument pd = new PrintDocument();
                pd.DocumentName = fileName;
                pd.PrinterSettings = printerSettings;
                //pd.PrintController = new StandardPrintController();
                pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
                // Print the document.
                pd.Print();
            }
            finally
            {
                streamToPrint.Close();
            }
        }
        catch
        {
            throw;
        }
    }
}

}`
I'm sure this is the problem with impersonation. because If I change my application's app pool identity to a domain user (same domain user credential I was trying to use to impersonate) then printing works fine.
Web Server Environment: Windows Server 2012 R2, IIS 8.5.
But with this impersonationated code, printing fails. Document sows up in print queue with NO size (kindly refer attached image)

Sorry, I have no idea.  It seems like you are using your own code, not mine.  Do you get the same results if you use my library?
When I wrote this library (years ago), I used it for connecting to a SQL server under specific domain credentials.  Others have used it for various other things.  If it works with LogonUser in a C++ app, it should work with SimpleImpersonation in .NET.  I just wrap the LogonUser function.  How it works under the hood is beyond me.
Also, from a purely architectural point of view, I would not print directly from server-side asp.net code.   Consider writing to a queue or database table, and having a separate background service read from there to handle printing.  If that is out of the question, then consider using HostingEnvironment.QueueBackgroundWorkItem, introduced in .NET 4.5.2.


[BUG] SQL pagination doesn't work in Dev tools

What is the bug?
Exception thrown as below when paging through query result in Dev tools. This is breaking behavior as it was working in OpenSearch 1.3.
After investigation, I found the root cause is V2 pagination implementation restrict URL param different from previous. Since Dev tools sends request with parameter pretty, it fall back to V1 engine which has different cursor encoding and thus throw exception.
Code: https://github.com/opensearch-project/sql/blob/main/sql/src/main/java/org/opensearch/sql/sql/domain/SQLQueryRequest.java#L84
How can one reproduce the bug?

}
"{\n  \"error\": {\n    \"reason\": \"Invalid SQL query\",\n
\"details\": \"Cannot invoke \\\"String.replaceAll(String, String)\\\"
because \\\"sql\\\" is null\",\n    \"type\": \"NullPointerException\"\n  },\n  \"status\": 400\n}"

What is the expected behavior?
SQL pagination can work in Dev tools as before.
What is your host/environment?

OS: 2.9

Do you have any additional context?
Error log:
[2023-11-13T20:00:43,465][ERROR][o.o.s.l.p.RestSqlAction  ] Client side error during query execution
java.lang.NullPointerException: Cannot invoke "String.replaceAll(String, String)" because "sql" is null
    at org.opensearch.sql.legacy.antlr.OpenSearchLegacySqlAnalyzer.isSelectStatement(OpenSearchLegacySqlAnalyzer.java:102)
    at org.opensearch.sql.legacy.antlr.OpenSearchLegacySqlAnalyzer.analyze(OpenSearchLegacySqlAnalyzer.java:44)
    at org.opensearch.sql.legacy.plugin.RestSqlAction.performAnalysis(RestSqlAction.java:292)
    at org.opensearch.sql.legacy.plugin.RestSqlAction.explainRequest(RestSqlAction.java:217)
    at org.opensearch.sql.legacy.plugin.RestSqlAction.lambda$prepareRequest$1(RestSqlAction.java:161)
    at org.opensearch.sql.legacy.plugin.RestSQLQueryAction.lambda$prepareRequest$0(RestSQLQueryAction.java:92)
    at org.opensearch.rest.BaseRestHandler.handleRequest(BaseRestHandler.java:127)
    ...

@dai-chen I think this https://github.com/opensearch-project/sql/pull/2441 supposed to fix this issue. if yes, could you please close it?

@dai-chen I think this #2441 supposed to fix this issue. if yes, could you please close it?

The issue is different. I am going to provide a patch.


Update target branch to main

/assign @Kyl-Bempah Hi, Kyl, can you take a look on this PR?  It seems we configured a incorrect the target branch.

/assign @Kyl-Bempah


Fixed a typo in server.js

Just noticed this, the same thing is done twice, I assume it's a typo and have fixed it.

Ah, thanks for that.


Switched products.visible for products.visibility

We have an existing pattern for using visibility: public instead of visible: true|false
We no-op the existing migration and roll forward so that we don't have to manually revert db changes

Is this to stop issues with local development on main?

@allouis Yeah, that, and we decided to always move forwards with migrations once they've landed in main. We have some internal sites that are continuously deployed without resetting their DB, and deleting the migration will brick their DB because knex-migrator won't like the extra row

Cool cool cool cool cool 👌


Add deployed at block number to ctc address for contracts

This PR finds the block at which a contract address was deployed, by performing a binary search between the latest block and the first block number. The moment that the contract returns a non-zero value for get_code, we consider it to be deployed.
An example:
$ ctc address 0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7
┌────────────────────────────────────────────────────┐
│ Address 0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7 │
└────────────────────────────────────────────────────┘

           checksum  │  0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7
       address type  │  contract
  deployed at block  │  10809473
  transaction count  │  1
        ETH balance  │  0

...

If the user supplies an EOA, no extra work will be done.
This PR is incomplete in two important respects:

I'm not sure where to put tests. There don't seem to be direct tests for the address_queries file
The deployed at block number is the sort of thing that can, and should, be cached. Right now the search is performed on each run.

this functionality here already exists with ctc.async_get_contract_creation_block()
running ctc address 0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7 -v also shows this information from the command line (although it looks to be improperly colored)
the reason why it's in the verbose mode instead of the default mode is because it adds additional query time

Oh, great! Thanks.


Added new sample react-functional-component-with-data-fetch

Q
A

Bug fix?
no

New feature?
no

New sample?
yes

Related issues?
none

React Functional Component web part with data fetch from Microsoft Graph
This web part demonstrates building a React functional component that uses data from a remote service, in this case the Microsoft Graph, using the recently introduced React Hooks feature. The example web part renders a list of the user's Teams and, optionally, the channels in each Team.

Hi Bill!
Thanks a lot for the sample.  Pleasure to merge stuff like this. :)
Laura

Thanks, Laura :-)

I get Errors all over in the workbench:
workbench.aspx:1 Refused to display 'https://login.microsoftonline.com/common/oauth2/authorize?response_type=id_token&client_id=89bee1f7-5e6e-4d8a-9f3d-ecd601259da7&redirect_uri=https%3A%2F%2Fwebshell.suite.office.com%2Fiframe%2FTokenFactoryIframe&state=9cf3a13e-35a4-4021-863b-8c5bd29cc2d7&client-request-id=a7428631-b604-44e8-b40d-1eabed8e34e5&x-client-SKU=Js&x-client-Ver=1.0.15&nonce=63066774-d99a-454c-8198-918641a2ab23&sso_nonce=AQABAAAAAABeAFzDwllzTYGDLh_qYbH8l8daegu5dNNI5eIe26vwz5lCh_dUK02sHBKIGWa23-YzGmiVKK_ehoGzK0jzVq5cEjcYAaS-36GUpZy9bmVHBiAA&mscrid=a7428631-b604-44e8-b40d-1eabed8e34e5' in a frame because it set 'X-Frame-Options' to 'deny'.
workbench.aspx:1 Access to XMLHttpRequest at 'https://waconatm.officeapps.live.com/apc/trans.gif?dd1eafc00954acc48b1c810d01f948d8' from origin 'https://ecgmcdev.sharepoint.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
waconatm.officeapps.live.com/apc/trans.gif?dd1eafc00954acc48b1c810d01f948d8:1 Failed to load resource: net::ERR_FAILED
react-dom.development.js:21258 Download the React DevTools for a better development experience: https://fb.me/react-devtools
graph.microsoft.com/v1.0/me/joinedTeams:1 Failed to load resource: the server responded with a status of 403 (Forbidden)
parsers.ts:13 Uncaught (in promise) Error: Error making HttpClient request in queryable [403] Forbidden ::> {
"error": {
"code": "UnknownError",
"message": "",
"innerError": {
"request-id": "de6bc980-4c8c-4db9-b090-e4adb9a343ae",
"date": "2020-02-26T00:01:46"
}
}
}
at new HttpRequestError (parsers.ts:13)
at parsers.ts:19


Various feedback on v1.17

Any thoughts on these?
(A) By Arun Prakash (11 Jul):

Way to add wiki code using description is missing
Geo Coordinates are not picked up from the meta data of the file
uploads as jpeg, will be nice if it is uploaded as jpg

I don't understand what is meant by (1) and (3)... Do you? And (2) is probably the same as #35 ?
(B) By Shyamal (12 Jul):

Would be useful to know what phone photos have already been uploaded.
Would be good to limit my uploads list of photos to what has been uploaded from the device.

I guess the first is what inspired #175 ? :) Do you agree with the second? I don't know if other users would have a similar preference, personally I prefer to see all uploads, especially when people change devices frequently.

A1) Created https://github.com/nicolas-raoul/apps-android-commons/issues/178
A2) Yes I guess
A3) Waiting for Shyamal's answer
B1) Created #175
B2) Created #179

Thanks Nicolas!
Haha, minor note but A(3) is suggested by Arun and not Shyamal... hopefully you sent it to the right person? :)

Fixed thanks! :-)

I guess this can be closed?

Yup!


an logo for iota

takeover from #72.
This is what I get using Photoshop. I hope first you like it and second that Rust is able to set Icons?

This 500x500 pixels (this has an white background layer, will be removed). Colors taken from the old screenshot. If you want to edit something, say it!

Ooh, I actually really like this concept!
I do have two points of feedback:

Relative proportions/sizing will probably need to be adjusted so that the logo scales nicely to typical icon sizes (64x64, 32x32), or maybe there could be a couple of versions.
It seems like we need something to distinguish the icon from "general terminal emulator", though I'm not really sure what that would be.

I also really like this!

I would suggest using some kind of vector graphics (SVG). This makes it really simple to export the logo in different sizes without having weird scaling issues.

(re setting icons, I don't think that's something rustc supports.  I'm pretty sure Windows is actually rather unique in allowing executable files to embed their own icons.  There could certainly be a build script to perform whatever icon setting actions are needed for the platform though.)

@Crespyl

No problem, I have the PSD here. (btw if anyone want the psd, I can upload)
I've done this because its a "terminal based text-editor".

@SebastianKeller
Is there any way to export this is as SVG? (using CS2, yep very old)

@torwart Sorry, my Photoshop skills are non existent :)

@SebastianKeller Oh thats not a problem ;)
Does anyone know if GIMP exports to SVG and/or Inkscape opens PSD files?

@torwart, I love the terminal style of the icon, I just wonder if it might get mistaken for a terminal emulator?  Right now to someone who doesn't know iota already, the icon suggests a terminal, but not really text editing.  Maybe it doesn't actually matter.  Either way, I do really like this approach so far.

Also (256x256, 64x64, and the 500x500 without background layer):

@Crespyl Oh that's what you mean it also would not be the problem to change the text to iota();:

Would it be possible to remove the gradient background around the actual terminal part?


Some suggested features.

It would be nice to be able to change between any number of different sensitivities and acceleration profiles with the press of any number of different global hotkeys or key combinations. Basic profiles in themselves would be nice, and even nicer if application sensitive. Different profiles for different mice would also be neat!
Support for different speeds on the same axis which can be bound to keys like WASD. E.g. holding W = 100% - right and 100% left sensitivity. Holding A = 75% right sensitivity and 125% left sensitivity.
At least a "sniper" button support so you can change your sensitivity when you press a button would be nice.

will add basic profile support at some point, but keybinds are outside the scope of the project
see this for workarounds


One particular SuperNode is shown on several tracker servers (Europe1 & Europe3)

My supernodes was initially started on Europe1. Then moved to Europe3 Server.. Now 2 of them moved back to Europe1 but visible both on Europe1 and Europe3.  But on Server3 is shown as Down...
I restarted 2 SuperNodes - and they went back to Server Europe3 but on Europe1 they still also visible - but with Down status.
So one SuperNode visible on several Server in one time ?
Moreover on both node detail page ( https://supernodes1.eu.zensystem.io/nodes/772/detail and https://supernodes3.eu.zensystem.io/nodes/772/detail ) for SuperNode Server: home: xns3.eu     current: xns3.eu

Yes this is a known issue that was being worked on, but your post clarified what was actually taking place.  Thank you.
A fix to properly remove a node from the previous server after moving home servers will be in the next tracking server update.

OK. Just want to be sure that those "down" nodes will not cause exception and no payments....
If i have 2 "down" nodes on Europe1 and exact the same nodes (with the same ID) with Up state on Europe3  - can I be sure those 2 down nodes will not null my payments ?

I you don't see any Exception or Downtime then there is no effect on up time and earnings.
I just restarted supernodes1.eu that cleared the nodes that were stuck there.


Download server down - 3.12

Fixed in 4651e951d13d104ff5324c944cf5d1acc71d9b78

@agiudiceandrea can we close this?

Hi @mbernasocchi, I think this bug report can be closed even without positive feedback from the author, but I'm sorry, I cannot do it.


A name can be used as a type only if it refers to a type, interface, class, or enum definition.

import Cursor from 'pg-cursor';
import Result from 'pg/lib/result';

export default class QueryStream extends Readable {
  _reading: boolean;

  _closed: boolean;

  _result: Result;

  cursor: Cursor;

pg-cursor and pg/lib/result are untyped.
This code used to work and assume that Result and Cursor are any.
Starting 0.132.0 it is throwing an error:
Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ src/QueryStream.js:23:12

Cannot use Result as a type. A name can be used as a type only if it refers to a type, interface, class, or enum
definition. To get the type of a non-class value, use typeof. [value-as-type]

     20│
     21│   _closed: boolean;
     22│
     23│   _result: Result;
     24│
     25│   cursor: Cursor;
     26│

Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ src/QueryStream.js:25:11

Cannot use Cursor as a type. A name can be used as a type only if it refers to a type, interface, class, or enum
definition. To get the type of a non-class value, use typeof. [value-as-type]

     22│
     23│   _result: Result;
     24│
     25│   cursor: Cursor;
     26│
     27│   batchSize: number;
     28│

It is not clear how to update the code if I want to continue treating these references as any.
To be clear, I still want to reference them here, since it serves the purpose of documentation.
The first thing I tried was to mark them as untyped, but that does not eliminate the error:
[untyped]
.*/node_modules/pg-cursor/.*
.*/node_modules/pg/.*

This is intensional with the latest release, check out https://github.com/facebook/flow/releases/tag/v0.132.0

Disallow using any-typed values type annotations.

All you need to do is just like the error message says and update cursor: Cursor; to cursor: typeof Cursor;
Example

This change makes it incredibly difficult to justify upgrading flow when a large repository uses many non-flow imports.
How can I disable this error ? or at least tag someone on the flow team to be responsible for updating all my company's code that is currently broken?

@Brianzchen The error says to use typeof
Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ src/types.js:28:20

Cannot use WebClient as a type. A name can be used as a type only if it refers to a type, interface, class, or enum
definition. To get the type of a non-class value, use typeof. [value-as-type]

     25│
     26│ export type MaintenanceTaskServiceConfigurationType = {|
     27│   +slackAppId: DatabaseRecordIdType,
     28│   +slackWebClient: WebClient,
     29│   +sparkpostApiKey: string,
     30│   +twilioClient: TwilioClientType,
     31│   +twilioCredentials: TwilioCredentialsType,

When I try to use typeof, I get another error:
Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ src/types.js:28:27

Cannot reference type WebClient [1] from a value position. [type-as-value]

 [1]  6│   WebClient,
       :
     25│
     26│ export type MaintenanceTaskServiceConfigurationType = {|
     27│   +slackAppId: DatabaseRecordIdType,
     28│   +slackWebClient: typeof WebClient,
     29│   +sparkpostApiKey: string,
     30│   +twilioClient: TwilioClientType,
     31│   +twilioCredentials: TwilioCredentialsType,

It is not clear what is the solution.

This change makes it incredibly difficult to justify upgrading flow when a large repository uses many non-flow imports.

Not to mention that you need to rewrite your codebase again once types are added.

This change makes it incredibly difficult to justify upgrading flow when a large repository uses many non-flow imports.
How can I disable this error ? or at least tag someone on the flow team to be responsible for updating all my company's code that is currently broken?

here is my primary concern:
Cannot assign new QuotesApplet() to this.quotesApplet because QuotesApplet [1] is incompatible with class
QuotesApplet [2]. [incompatible-type]

   quotesApplet: typeof QuotesApplet;      <----------- QuotesApplet is a class

   configure(space: DiffeoApplicationSpace, features?: Object) {
     super.configure(space, features);
     space.state.addReducers(reducers);
     this.rootElement = 'boardsApplet';
     this.quotesApplet = new QuotesApplet();  <---------- this right here
     space.registerApplet(this.quotesApplet);
   }

I'm trying to create a narrow case that fails -- i haven't yet done been successful.
in this case, the call of new QuotesApplet() doesn't seem to have a reasonable resolution

We have a project that only has partial Flow coverage. Prior to this release we were able to define a type in a file that isn't covered by Flow, import that type into a file that is covered by Flow, and it all worked. Now that generates this error.
Is there a plan to provide an option to disable this error?

There are no plans to disable the error. Using something that is any or is in an untyped file as a type is meaningless, it's just any. You can replace all those annotations with any. I'll look into providing a better error message.

I'm sorry, but that is not a solution, semantically speaking the types might be any, but replacing them with any in the codebase looses information for whomever is reading the code.
Could we consider for a moment here that not only machines read the code and realize that forcing us to replace everything with any is a bad solution?

You can type it as any and add a comment. It's more confusing when reading the code to use annotations that look like types but are actually secretly any.

Trying to upgrade flow, which had not been done for a long time on a big project I am working on and I am realizing why.... I already solved a ton of errors and now I hit this and it basically is a dead end.
You had community members very clearly tell you there is a problem with release 0.132.0 in that it makes it nearly impossible for many projects to upgrade. You ignored those comments...
Why not put these kind of improvements behind a flag so people can upgrade their projects and turn on extra checks when needed/useful to them? If I read your comments i will have to change a thousand files just so Flow stops complaining about something which really has no negative impact at all.... Sad now.

realize that forcing us to replace everything with any is a bad solution?

Without any way to suppress this error that does not involve changing hundreds of files, this is the end of the line for my upgrade attempt. I cannot justify these changes to my employer. I realize it's been a long time since 0.132.0 came out. However, I still want to comment here. Because I think the Flow developers have stepped over the issue raised here too easily. You could have added a config option that would have allowed us to get the benefits of Flow without having to pay this huge price.

I am with you @Download. I have been working on this for a while and now I want to give up. There has to be a way to suppress this, it's the only reasonable option here.


record failures and success from the try code

This seems to be missing, which confused me when I was looking at /persist/status/nim/DevicePortConfigList/global.json after I unplugged eth0.
Failures don't get updated until we start testing the alternatives.

This PR is broken. It doesn't record the failures in the current index in DevicePortConfigList. Withdrawing it for now.


cmd/go: 'go get -d' does not report line numbers in errors for bad import statements

The fix for #41315 has revealed another variant of issue #34393.
Adding the following test case to mod_build_info_err.txt
+go get -d ./main
+stderr 'bad[/\\]bad.go:3:8: malformed module path "🐧.example.com/string": invalid char ''🐧'''

gives the failure mode of #41315 at release-branch.go1.15. At head, it gives a different, but still not quite right, failure mode:
+ go test cmd/go '-run=TestScript/^mod_build_info_err$'
go test proxy running at GOPROXY=http://<IP_ADDRESS>:44957/mod
--- FAIL: TestScript (0.01s)
    --- FAIL: TestScript/mod_build_info_err (0.05s)
        script_test.go:211:
            # This test verifies that line numbers are included in module import errors.
            # Verifies golang.org/issue/34393. (0.036s)
            > go list -e -deps -f '{{with .Error}}{{.Pos}}: {{.Err}}{{end}}' ./main
            [stdout]
            bad/bad.go:3:8: malformed import path "🐧.example.com/string": invalid char '🐧'
            > stdout 'bad[/\\]bad.go:3:8: malformed import path "🐧.example.com/string": invalid char ''🐧'''
            > go get -d ./main
            [stderr]
            m/main imports
                m/bad imports
                🐧.example.com/string: import missing
            [exit status 1]
            FAIL: testdata/script/mod_build_info_err.txt:7: unexpected command failure

FAIL

Notably, the import stack for this error message is again bereft of line numbers (as in #34393).
CC @jayconrod @matloob @rogpeppe

I think this needs to be a blocker for 1.16: with -mod=readonly we're going to end up encouraging wider use of go get.

(The import missing error message in the above trace is a separate bug in go get, which I plan to fix as part of #37438.)

@bcmills What else is left to do on this before the release?

@bcmills Is there anything left to do on this before the release?

I'm not sure. I'm still in the process of overhauling the go get implementation for #36460.

We should decide whether this is feasible to fix for the release, but if it turns out to be too invasive we can punt it to 1.17.

We should decide whether this is feasible to fix for the release, but if it turns out to be too invasive we can punt it to 1.17.

Looked into this a bit. In go get, we invoke modload.LoadPackages with AllowErrors = true and SilenceErrors = false. This means the stacks are currently formatted by modload.loadPkg.stackText. I see two solutions:

modload.loadPkg doesn't currently track locations of import declarations. We could modify imports.ScanDir to return that information.
We could use load.PackagesAndErrors instead. That would give us error messages identical to those printed by go build, but it would apply build constraints, which we probably don't want.

I think it's viable to implement (1) before 1.16, but there are a lot of open release blockers that should fix first. This shouldn't actually block the release, and it's probably too big to go in after the RC.


I18n Support

Description
Like other component libraries, we will support switching between multiple languages.

Which solution will be used for internationalization?


Move to Chromium 43.0.2357.45, the latest beta release.

@darktears @kenchris

lgtm if it passes :)


wss not connecting on moto e 2nd gen with v5.0.1 OS

Connect mWebSocket
I/art: Background sticky concurrent mark sweep GC freed 38812(4MB) AllocSpace objects, 13(208KB) LOS objects, 19% free, 10MB/13MB, paused 2.404ms total 119.211ms
I/art: Background sticky concurrent mark sweep GC freed 3024(2MB) AllocSpace objects, 0(0B) LOS objects, 17% free, 10MB/13MB, paused 5.422ms total 76.754ms
I/art: Background sticky concurrent mark sweep GC freed 3088(2MB) AllocSpace objects, 0(0B) LOS objects, 15% free, 11MB/13MB, paused 8.810ms total 30.418ms
I/art: Background sticky concurrent mark sweep GC freed 2647(2MB) AllocSpace objects, 0(0B) LOS objects, 12% free, 11MB/13MB, paused 6.132ms total 30.881ms
I/art: Background sticky concurrent mark sweep GC freed 2229(1817KB) AllocSpace objects, 0(0B) LOS objects, 12% free, 11MB/13MB, paused 10.111ms total 43.919ms
W/art: Suspending all threads took: 21.536ms

Hello @vinod1054,
do you still have this issue?
Could you build the jar directly from the sources here on github?
Greetings
marci4

duplicates #424


Unable to run build

Describe the bug
We are trying to install Pyasic but we are getting errors.
To Reproduce
Steps to reproduce the behavior:
tried poetry install --with dev
Installing dependencies from lock file
Get a log error from the Lock file.
Warning: poetry.lock is not consistent with pyproject.toml. You may be getting improper dependencies. Run poetry lock [--no-update] to fix it.
Because pyasic depends on isort (^5.10.1) which doesn't match any versions, version solving failed.
Expected behavior
Poetry should be installing the dependencies but it fails to read de pyproject.toml
Screenshots
This is the main bug. This should install dependencies and get it ready to build but is not downloading anything bcs of a mismatch

The screenshot shows we are trying to run poetry lock [--no-update]

Desktop (please complete the following information):

OS: Windows / WSL
Version Windows 11 / Ubuntu 22

Additional context
Do I need to run this only on ubuntu?

Looks like something is wrong with my dependencies.  This is probably due to the way I actually work on the project, its done via pyasic-super which consolidates all my projects related to pyasic into 1 project.  If you are looking to contribute to pyasic I highly suggest using that.  That being said, this is definitely on my end, ill look into it and get a fix out ASAP.  I assume you don't need it as part of a release, since you are trying to build it from source?
That aside, is there a reason not to just pip install pyasic?  That might be your simplest course of action.

Should be fixed as of 5ff0074.

Let me know how it goes, you will want to run poetry install  --sync --with dev,

@UpstreamData Sorry I haven't had the chance to test it yet -- I'll report back once I do!
Thanks.

No problem, I'll re-open then until we're sure it works.  Had a few people just disappear after asking questions.

This worked, thank you.

Sounds good.  Feel free to reach out if you have any more issues/questions.


analysis server error

Analyzer Feedback from IntelliJ
Version information

IDEA IC-191.7141.44
2.2.0-edge.0a7dcf17eb5f2450480527d6ad1e201fb47f1e36
IC-191.7141.44, JRE 1.8.0_202-release-1483-b49x64 JetBrains s.r.o, OS Mac OS X(x86_64) v10.14.4, screens 1680x1050  Retina

Exception
Dart analysis server, SDK version 2.2.0-edge.0a7dcf17eb5f2450480527d6ad1e201fb47f1e36, server version 1.23.0, FATAL error: Failed to handle request: {id: 4, method: analysis.setAnalysisRoots, params: {included: [/RA/2019/Projects/Flutter/SimpleTask/app], excluded: [/RA/2019/Projects/Flutter/SimpleTask/app/.idea, /RA/2019/Projects/Flutter/SimpleTask/app/.dart_tool, /RA/2019/Projects/Flutter/SimpleTask/app/.pub, /RA/2019/Projects/Flutter/SimpleTask/app/build, /RA/2019/Projects/Flutter/SimpleTask/app/out]}, clientRequestTime:<PHONE_NUMBER>843}
NoSuchMethodError: The getter 'fullName' was called on null.
Receiver: null
Tried calling: fullName
#0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:50:5)
#1      _DartNavigationComputerVisitor._addUriDirectiveRegion (package:analysis_server/src/domains/analysis/navigation_dart.dart:361:47)
#2      _DartNavigationComputerVisitor.visitPartDirective (package:analysis_server/src/domains/analysis/navigation_dart.dart:232:5)
#3      PartDirectiveImpl.accept (package:analyzer/src/dart/ast/ast.dart:9573:49)
#4      _DartNavigationComputerVisitor.visitCompilationUnit (package:analysis_server/src/domains/analysis/navigation_dart.dart:149:12)
#5      CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2558:49)
#6      computeDartNavigation (package:analysis_server/src/domains/analysis/navigation_dart.dart:28:10)
#7      ServerContextManagerCallbacks._computeNavigationParams (package:analysis_server/src/analysis_server.dart:1034:5)
#8      ServerContextManagerCallbacks.addAnalysisDriver.<anonymous closure>.<anonymous closure> (package:analysis_server/src/analysis_server.dart:843:19)
#9      new Future.<anonymous closure> (dart:async/future.dart:176:37)
#10     _rootRun (dart:async/zone.dart:1120:38)
#11     _CustomZone.run (dart:async/zone.dart:1021:19)
#12     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
#13     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
#14     _rootRun (dart:async/zone.dart:1124:13)
#15     _CustomZone.run (dart:async/zone.dart:1021:19)
#16     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:947:23)
#17     Timer._createTimer.<anonymous closure> (dart:async/runtime/libtimer_patch.dart:21:15)
#18     _Timer._runTimers (dart:isolate/runtime/libtimer_impl.dart:382:19)
#19     _Timer._handleMessage (dart:isolate/runtime/libtimer_impl.dart:416:5)
#20     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)

For additional log information, please append the contents of
file:///private/var/folders/q8/6zjcbnzj0t55l1w3djqn9lxr0000gn/T/report.txt.

Thanks for reporting this issue!  This was previously reported in https://github.com/dart-lang/sdk/issues/36182; it  should be fixed now in a recent release  of Dart.


Show Last update time on the widget.

The widget is not self updating most of the time.
The only way I know if it work is to refresh and see the number changes.

Provide more info please:

Is the problem still exists in the latest app version 2.40?
What device are you using (model, android version)
What price update interval have you set?
Try to reboot your device. Is a problem still remains?

This is mostly a feature suggestion, If all the ticker update at once, the last updated time could be written somewhere, like at top or bottom. or maybe a countdown to next update.

In the app, each currency pair is updated separately with according to its own schedule. There is no single time.
On the right side, for each pair, the time of the last price from the exchange is displayed. Most often, it corresponds to the real time of the update (depending on the activity of trading on the exchange).

It is not possible to display single common time of the next price update.
If you have an issue with the frequency of price updates, try turn off battery optimization in the app settings.

I must admit the background updates have been much reliable lately. Didn't
touch any setting related to battery.
I think extending the size of the widget could show the time it was last
updated like it does when looking inside the app.
On Thu., Jul. 29, 2021, 18:37 Aneonex Software, @.***>
wrote:

In the app, each currency pair is updated separately with according
to its own schedule. There is no single time.
On the right side, for each pair, the time of the last price from
the exchange is displayed. Most often, it corresponds to the real time of
the update (depending on the activity of trading on the exchange).

It is not possible to display single common time of the next price update.
If you have an issue with the frequency of price updates, try turn off
battery optimization in the app settings.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/aneonex/BitcoinChecker/issues/129#issuecomment-889505386,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAC643GAKLIXUL2JMIPO373T2HJZPANCNFSM5AONEJ4Q
.


Fix ternary

The current version created an error that currentId.includes is not a function as you can't use it on numbers. The fix converts the id to a string if it is a number, instead of effectively doing nothing.

Hey thanks for your contribution.
Sorry this slipped through the net. @marshallswain Has kindly done an upgrade which will include this.
Thanks


ModelConverters.getInstance().addPackageToSkip should exclude dependent packages (Feature)

Posted in the Google Group about this issue a month or so ago, and Ron suggested I open a feature request:
https://groups.google.com/forum/#!topic/swagger-swaggersocket/FKrog_4J2v8

I sort of resolved my issue.  One of the POST body parameters in our Rest API is a Avro generated model.  Avro model's have a method called getSchema():org.apache.avro.Schema, and the Schema class has getDefaultValue():org.codehaus.jackson.JsonNode.  So Swagger interprets these and adds them to the model.  Unfortunately, those two classes are badly formed POJOs and this makes the Swagger UI blow up.
The resolution was to ignore the class path for the object, using: ModelConverters.getInstance().addPackageToSkip("com.my.avro.model");
You can only skip classes that are used from the Rest interface.  You can't skip dependent/property packages...  Also, there is a way to write a ModelConverter for the specific class to ignore the "schema" property, but that is just asking for bloated JSON configuration...

So the feature request here is changing addPackageToSkip to handle properties of Rest API classes and not just the class themselves.  Maybe the same thing could be done with addClassToSkip.

:+1:
We're having the same issue.

I think you'd have to implement this and send a PR.  What do you want to do when a property is skipped?  Ignore it?


piggyback acks in message not supported

There is a bug in the aprslib parsing library that doesn't handle parsing out the acks in line number format here:
https://github.com/rossengeorgiev/aprs-python/issues/58
This means aprsd will fail to properly parse out messages/commands when a user sends a message with {WW}AA format
└─[$] <> cat test-2.py
import aprslib
import pprint
msg = "KO4KWC-6>APRS,TCPIP*,qAC,T2MCI::KO4KWC-14:weather ve3kbr {22}AA"
packet = aprslib.parse(msg)
pprint.pprint(packet)

results in
└─[$] <> python test-2.py
{'addresse': 'KO4KWC-14',
 'format': 'message',
 'from': 'KO4KWC-6',
 'message_text': 'weather ve3kbr {22}AA',
 'path': ['TCPIP*', 'qAC', 'T2MCI'],
 'raw': 'KO4KWC-6>APRS,TCPIP*,qAC,T2MCI::KO4KWC-14:weather ve3kbr {22}AA',
 'to': 'APRS',
 'via': 'T2MCI'}

aprsd doesn't support the piggyback ack as a result.

aprsd doesn't support the piggyback ack as a result.

For additional information on where {xx}yy comes from, read: http://www.aprs.org/aprs11/replyacks.txt

currently APRSD is not embedding acks in reply messages.

True, but it is also not acking Reply-Ack-compatible clients correctly.  Consider:
2022-01-12 12:50:58 EST: KJ4ERJ>APWW11,TCPIP*,qAC,SECOND::REPEAT   :n 2m{HP}
2022-01-12 12:50:58 EST: REPEAT>APZ100,TCPIP*,qAC,T2ALBERTA::KJ4ERJ   :ackHP
2022-01-12 12:50:59 EST: REPEAT>APZ100,TCPIP*,qAC,T2ALBERTA::KJ4ERJ   :K4EOC 146.8950- Toff 0.7mi W{379
2022-01-12 12:51:00 EST: KJ4ERJ>APWW11,TCPIP*,qAC,SECOND::REPEAT   :ack379

2022-01-12 12:51:32 EST: KJ4ERJ>APWW11,TCPIP*,qAC,SECOND::REPEAT   :n 2m{HP}
2022-01-12 12:51:32 EST: REPEAT>APZ100,TCPIP*,qAC,T2ALBERTA::KJ4ERJ   :ackHP
2022-01-12 12:51:32 EST: REPEAT>APZ100,TCPIP*,qAC,T2ALBERTA::KJ4ERJ   :K4EOC 146.8950- Toff 0.7mi W{380
2022-01-12 12:51:33 EST: KJ4ERJ>APWW11,TCPIP*,qAC,SECOND::REPEAT   :ack380

2022-01-12 12:52:04 EST: KJ4ERJ>APWW11,TCPIP*,qAC,SECOND::REPEAT   :n 2m{HP}
2022-01-12 12:52:04 EST: REPEAT>APZ100,TCPIP*,qAC,T2ALBERTA::KJ4ERJ   :ackHP
2022-01-12 12:52:04 EST: REPEAT>APZ100,TCPIP*,qAC,T2ALBERTA::KJ4ERJ   :K4EOC 146.8950- Toff 0.7mi W{381
2022-01-12 12:52:05 EST: KJ4ERJ>APWW11,TCPIP*,qAC,SECOND::REPEAT   :ack381

Here is a current example exchange
today at 12:53:43 PM Received Message _______________
today at 12:53:43 PM   Raw     : KJ4ERJ>APWW11,TCPIP*,qAC,SECOND::REPEAT   :n 5 2m{HQ}
today at 12:53:43 PM    From    : KJ4ERJ
today at 12:53:43 PM    Message : n 5 2m
today at 12:53:43 PM    Msg #   : HQ
today at 12:53:43 PM  Received Message _______________ Complete

today at 12:53:43 PM  Sending ack _______________
today at 12:53:43 PM  Raw     : REPEAT>APZ100::KJ4ERJ   :ackHQ
today at 12:53:43 PM  To      : KJ4ERJ
today at 12:53:43 PM   Ack     : HQ
today at 12:53:43 PM  Sending ack _______________ Complete

today at 12:53:44 PM  Sending Message _______________
today at 12:53:44 PM    Raw     : REPEAT>APZ100::KJ4ERJ   :K4EOC 146.8950- Toff 0.7mi W{383
today at 12:53:44 PM    To      : KJ4ERJ
today at 12:53:44 PM    Message : K4EOC 146.8950- Toff 0.7mi W
today at 12:53:44 PM    Msg #   : 383
today at 12:53:44 PM  Sending Message _______________ Complete

aprslib supports parsing out piggyback acks now.  APRSD doesn't support sending them at the moment.


minimum required defcon version? fontParts? robofab?

Extractor does not import defcon directly, so strictly speaking defcon is not an install_requires.
However, you can't do anything with it if you don't provide a defcon Font instance, or something that "quacks" like one ;)
Once we get to write some unit tests, we will at least need to add defcon among the test requirements.
Now, I have a few questions:

Does anyone know if the current extractor still works with Robofab RFont instances? If so, is this still a requirement for future versions (I hope not)?
Does extractor work with fontParts, and/or is it supposed to? If so, we need to test against that one too.
Does the current extractor depends on any specific version/revision/branch/commit/whatever of defcon? I'd assume or ensure it works at least with the only defcon version which we can reliably specify as a pip requirement (ie. version 0.2.0)

/cc @moyogo, @adrientetar, @typesupply, etc. and anybody who has used this more me.

Does the current extractor depends on any specific version/revision/branch/commit/whatever of defcon?

No.


Gml 1843 async pytg

renamed the folder "async_ver2" to "pytgasync" and update all path
solved the conflicts with master
formatted code
added test case using "getVertexCount" and "getEdgeCount"
passed all unit tests

cleaned up the code again to remove some unnecessary pieces.
kicked off tests, all passed.


Local file storage supported now, no need for MinIO anymore

Outline Wiki 0.72.0-1 supports local file storage now and it works without MinIO. I have removed all references to MinIO fixed a typo and updated the Postgres and Outline Wiki versions. There is only one minor problem with the ./data/outline dir which has the wrong permissions. According to Tom this will hopefully be fixed on his end:
https://github.com/outline/outline/issues/5716#issuecomment-1729862983

Thanks.
To maintain compatibility with old version, I added FILE_STORAGE to config file.


Apple music support?

Would love if there was apple music support in lavaclient

I'd recommend switching to lavalink plugins for any external source track loading.
For example, you can use Topis-Lavalink-Plugins/Topis-Lava

I was looking at that project but then found out that plugin support is currently experimental


Update 1.1.3.mdx - Fix WAI-ARIA RadioGroup pattern url

The current link is leading to a Document not found page.
This PR fixes it with the right pattern url.
Preview link to test the fix: https://radix-website-git-fork-federico-rimembrana-patch-1-workos.vercel.app/themes/docs/components/radio-group

[x] Use a meaningful title for the pull request. Include the name of the package modified.
[x] Test the change in your own code.
[x] Include the URL where we can test the change in the body of your PR.

This pull request:

[ ] Fixes a bug
[ ] Adds additional features/functionality
[x] Updates documentation or example code
[ ] Other

Hello @andy-hook and @benoitgrelard 👋
Could you please have a look to this little PR?

@AlexHarper889 just rebased 🙏

I no longer have access to approve PRs in this repo. Also, here is more comprehensive PR which includes this fix: #795 . Hopefully that one will get approved and merged 🤞

Oh, finger crossed then, thank you so much anyway 🙏🏻


centos 7, git 后进入目录执行./setup.sh

选择2（update noip.com account details）输入用户名和密码后提示sed: can't read /usr/local/bin/noip-renew-XXXX（我的用户名）: No such file or directory
求解答

please try the latest version which merged the fix

please try the latest version which merged the fix


Improve donut plot

Is your feature request related to a problem? Please describe.
Make the donut plot more useful, appealing and customizable.
Describe the solution you'd like
Here are a few improvement ideas:

Adding count/percentage text labels on top of the donut plot (but hide if small segment)
Adding the option to subsegment with another categorical feature (see additional context)
Improve interactivity (hover tooltip, legend, etc...)
Customization (inner/outer radius, colors, text size)

Describe alternatives you've considered
You will probably need to get familiar with Vega-Lite
Additional context
This is currently how it looks in the app:

Subsegment donut example:

I would like to work on it. ¿Can do you assign me?

@dhfherna Any news?

Hi @fdebrain, I did a PR adding a new tab to create a complex donut chart, this wasn't easy for me but it's an initial improvement. I will wait for your comments.


Add Randomized Complete Block Design Options

[x] Must be able to analyze CRD (completely randomized design) and RCBD, there should be option for 1 and 2 treatments, and their interaction:

Y ~ trtA
Y ~ trtA trtB trtA*trtB
Y ~ trtA Block
Y ~ trtA trtB trtA*trtB Block

[ ] Add a reminder that pops up anytime there’s a significant treatment x treatment interaction, that main effects can not be evaluated.

This is complete, there is no reminder because it automatically determines whether main effects can be evaluated.

Is it easy to have the reminder anyway? that way the user will know what to expect in the post-hoc analyses.

Sure, try out the app now that the post hoc stuff works and tell me where you'd want to see a reminder and what exactly it should say. Right now it already says things like "interaction is significant" "interaction is not significant", etc.

I'm going to hold off on changing those reminders right now. But I do have
a few comments on the current app...
In Analysis tab,

Under 'Model Fit Summary', add subtitle, 'ANOVA table'. Also move this
output to below assumption tests.

Edit title 'Tukey's Test' to 'Tukey's Test for Nonadditivity'

Change the squared predicted variable name to something consistent for
any scenario, such as 'sq.pred'.

Can you remove all rows in the Tukey's ANOVA table except for
'sq.pred'? If not, add subtitle to 'Tukey's Test for Nonadditivity':
'Attention: refer only to 'sq.pred' in this table - ignore all other rows'

In Post-hoc tests tab,

Change the title to 'Post-hoc tests and figures'
Still need to update for transformed data scenarios: #1 add LSD table
for original data with the grouping letters replaced with the transformed
data LSD table below the LSD output for transformed data. #2 replace the
bar plot with #1

On Wed, Aug 19, 2015 at 10:09 AM, Jason K. Moore<EMAIL_ADDRESS>wrote:

Sure, try out the app now that the post hoc stuff works and tell me where
you'd want to see a reminder and what exactly it should say. Right now it
already says things like "interaction is significant" "interaction is not
significant", etc.
—
Reply to this email directly or view it on GitHub
https://github.com/ucd-ipo/aip-analysis/issues/9#issuecomment-132697709.

--
Maegen Simmonds, Ph.D.
<EMAIL_ADDRESS>707-694-6079

All this stuff is fine, would you mind opening issues for each separate item? (and for any new things you want changed). It is easier to keep track of things and organize what needs to be done if we make separate issues.

Sure, thanks for the reminder. Still getting used to GitHub. It's awesome!
On Wed, Aug 19, 2015 at 12:06 PM, Jason K. Moore<EMAIL_ADDRESS>wrote:

All this stuff is fine, would you mind opening issues for each separate
item? (and for any new things you want changed). It is easier to keep track
of things and organize what needs to be done if we make separate issues.
—
Reply to this email directly or view it on GitHub
https://github.com/ucd-ipo/aip-analysis/issues/9#issuecomment-132744965.

--
Maegen Simmonds, Ph.D.
<EMAIL_ADDRESS>707-694-6079


Change the default domain

Hi @FBoucher ,
I was trying to change the default custom domain that is shortenertoolsgs7hf.azurewebsites.net. I would like to change it to something like abc.com. I would like to know if this can be done. If so how can this be implemented.
Can someone please help me with this issue.

Yes it can be done @mp93. Please refer to the documentation here: Add a Custom Domain, I also add this question in the Q&A


New interface does not support custom empty pytree class inherited from dict

Reproduction code:
class PyTreeDict(dict):
    pass

jax.tree_util.register_pytree_node(
    PyTreeDict,
    lambda d: (tuple(d.values()), tuple(d.keys())),
    lambda keys, values: PyTreeDict(dict(zip(keys, values)))
)

a={"a": PyTreeDict()} # ValueError: Expected dict, got {}.
# a=PyTreeDict() # ValueError: Found empty item

path = ocp.test_utils.erase_and_create_empty('./debug').resolve()/'ckpt'
ckpt.save(path, a)
ckpt.restore(path, args=ocp.args.StandardRestore(a))

This issue is related to #720 and https://github.com/google/orbax/commit/a066d9c83047185c15d29d88eff989d3101b8136.
@niketkumar

Thanks for reporting, we're looking some refactoring that will resolve these empty node issues.


about inference in cpu

hello!
when I only want to build runtime demo for cpu, should I build training environment at first with "conda install pytorch=1.10.0 torchvision torchaudio=0.10.0 cudatoolkit=11.1 -c pytorch -c conda-forge"? I just want to use the demo to inference
thank you!

There is no need to install the training env, just setup the runtime env.


Unescaped space in path (Windows)

We have written the needed data into your clipboard because it was too large to send. Please paste.
Issue Type: Bug
Manually install cli on windows in path with space in path.
Configure visual studio code stripe with stripe path
extension loads and appears to be working
error whenever any commands are issued because of space in path e.g. "Program files/Stripe"
That's annoying but easily fixed by users by escaping input except how the heck do I get back to the screen where I set the custom path? stripe logout doesn't seem to help... I'll consult doctor google and figure this out but I do think this could be cleaned up a bit. (I also put stripe in my PATH so why did I need a custom path in the first place? I think the windows cli install instructions could use a bit more detail
Extension version: 2.0.10
VS Code version: Code 1.63.0 (7db1a2b88f7557e0a43fec75b6ba7e50b3e9f77e, 2021-12-07T06:26:56.179Z)
OS version: Windows_NT x64 10.0.19044
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4930K CPU @ 3.40GHz (12 x 3402)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
39.94GB (19.61GB free)

Process Argv
--folder-uri file:///c%3A/Users/Justin/Source/Repos/barebones.links/AdroitCode.BarebonesLinks/ClientApp --crash-reporter-id 78fa7a72-3eb6-4ec4-9a78-36cac9757505

Screen Reader
no

VM
0%

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythontb:30283811
pythonvspyt551cf:30345471
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30384385
pythondataviewer:30285071
vscod805:30301674
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
pythonrunftest32:30373476
pythonf5test824:30373475
javagetstartedt:30391933
pythonvspyt187:30373474
vsaa593:30376534
pythonvs932cf:30408637
vscop804cf:30404767
vs360cf:30404996
vsrem710:30405998
vscexrecpromp3t2:30407763

This is super annoying - happens me to too because I have the CLI installed to a folder with a space in it (in Windows). It can be worked around by copying the CLI command from your terminal and manually wrapping it in quotes, but hoping the extension can be smart enough to do this on its own.
I think it could be handled in /src/stripeTerminal.ts but I'm having an issue getting it to compile locally that keeps me from testing :(


Auto record calls

Hi, like title say, can you please add an option to auto record calls instead of pressing toggle record every time? Windows version.
Thanks!

No. Recording calls without prior approval from both participants is illegal in a lot of countries and the main reason why an auto-record option will never be implemented.


add support for kubernetes authentication backend following => https:…

This implement in HVAC library the kubernetes auth backend API described here => https://www.vaultproject.io/api/auth/kubernetes/index.html .

My bad, must been a copy paste issue. I've fixed it on my master branch

up @smatochkin ?

@visheyra Apologies for the delays here. If you're willing to add some tests for these new methods I'd be happy to get them merged in. If I can provide any guidance along those lines, just let me know!

Sorry I've seen the comment just today ... I'll will look at the tests this week. I'll keep in touch with you if I need any guidance.
Thanks for not forgiving me ;)

Hey @visheyra, there might be some other closed PRs we would like to see released sometime this week. I would like these new methods to be included in that release as well. If you have some staged work around adding tests, please let me know. Otherwise, if it is okay with you, I can attempt to add in those tests and push them up to your fork's master branch so they get included here.

@visheyra: Since I didn't hear back from you for a bit, I went ahead and pulled down your fork and opened up a new PR with the tests and whatnot added:  https://github.com/ianunruh/hvac/pull/210


Minor whatsnew formatting change

🚀 Pull Request
Description

I suspect these were meant to be monospace rather than italic.

Consult Iris pull request check list

Thanks @rcomer!


Catch error on Windows as polling is not supported

Unfortunately my dev is on Windows for now

Thanks! Your work is awesome ^^

Thank you 😄


bank selection doesn't work properly

I think you need to shift it to the left by 4 because right now you are setting bits 0 and 1 as far as I can tell

Hmmm, honestly haven't touched or used this since I wrote it. I thought I had tested accessing other banks but maybe not.. If you find this issue is true, please feel free to submit a PR to fix it. Otherwise, I will fix it once I get around to it 👍

@zafbangash thanks for confirming this. Happy to review any PR back into the repo to get this fixed!


Remove derivative instructions from the list of combinators.

These instructions compute their value based the value of the immediate
neighbours of the current fragment.  This means the result is not
defined purely by the operands of the instruction.
Fixes issue #994.

Rebased and pushed into master as 0b1cb27f83b


Deprecated modules

Seeing following warnings when installing unfluff -
npm WARN deprecated<EMAIL_ADDRESS>the module is now available as 'css-select'
npm WARN deprecated<EMAIL_ADDRESS>the module is now available as 'css-what'
Pls update

I have this problem. What is the solution?!

I just published a new version (3.0.0) that hopefully fixes this. Sorry about that.


CSS 'content' tag is not sent to browser CSS if not escaped in code

Content tags are string tags. When the rules are turned into strings, they are not properly wrapped. This can be worked around by doing something like RuleSet.content = "'Content'". Otherwise, the css sent will look like content=Content, which is a badly formed rule and will be dropped.

Spot on.
Has been confirmed for the next release :+1:.

@Sylvyrfysh
While working on this, I found that the content shouldn't always be escaped, for example when using CSS functions. Consider the following example:
         a {
                text = "Hi  "
                href = "http://narbase.com"
                style {
                    after {
                        content = "attr(href)"
                    }
                }
            }

Where the output should be Hi  http://narbase.com and not Hi  attr(href).
What do you think?


Allow curly on line following multi-line conditional?

Right now, long conditionals broken over multiple lines must be formatted like this:
if (long_condition_1 ||
    long_condition_2 ||
    long_condition_3) {
  body();
}

In these circumstances, if I want the condition visually distinguished from the body, then I have to indent it differently (e.g. 4 spaces). I would prefer to put the curly on its own line:
if (long_condition_1 ||
  long_condition_2 ||
  long_condition_3)
{
  body();
}

I searched and didn't find this issue discussed here, so wanted to bring it up (please point me to the original if this is a duplicate). I also don't see a customization of the eslint curly rule that would permit this. Is there a popular alternative, e.g. do people really break long conditionals into separate variables? Or can we get this format in standard?

I personally prefer writing it like so:
if (
  long_condition_1 ||
  long_condition_2 ||
  long_condition_3
) {
  body()
}

Whatever the preferred way, I would love it if standard would enforce it :)

@LinusU Yes, that is my preferred form for multiline if-statements as well.

Writing this as @LinusU demonstrated in his comment is the recommended style so I will close this issue now.


Update pip-install

This is an interesting option, and has been considered before. You're the first person to actually send a pull request.
I feel like it's likely not the best idea, given that it would be a big change in expected behavior for existing users/applications. But, if given enough thought, it might be fine. I need to think about it.
Learning towards no, though.


Fix Issue #156

QWidgetAction::setDefaultWidget() was triggering a but in Qt that prevented the application from exiting. It was being used to add labels in the file menu so I disabled that code and renamed the session menu options from "Save/Load/..." to "Save/Load/... Session".

It's interesting you bring up the styles to comment out code.
I actually noticed some inconvenience wrt syntax highlighting from the
"#ifdef DEAD" that we used frequently. Normally Vim is smart enough to use
a different color for comments, but it's not in the case of #ifdef DEAD.
As a result, I sometimes stare at code that are meant to be dead.
Alternatively, I started to use #if 0 and #endif pair. In this case, vim
treats code in between as comments.
Hope it's acceptable, and helpful.
Cheers,
Sam
On Wed, Oct 25, 2017 at 3:43 PM, clyne<EMAIL_ADDRESS>wrote:

@clyne commented on this pull request.
Stas, what functionality did we loose with the stuff you commented out?
Also, please use ifdefs, not old C-style comments (/* /) to comment out
multiple lines of code. The / are just too easy to miss when examining
code.
thanks jc
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/NCAR/VAPOR/pull/164#pullrequestreview-72022468, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAxvJZqJA96aoYeL_GxT7WJaJLlRYTK_ks5sv6uHgaJpZM4QGqbq
.

I changed the comments to ifdefs. I agree with Sam but I can easily change to ifdef DEAD if that is preferable.
The resulting changes can be seen in the following before and after screenshots.
Before

After

I guess there are no perfect solutions. If you use #if 0 then you can’t enable the “dead” code by defining 0 to be true :-)

On Oct 25, 2017, at 3:53 PM, Samuel Li<EMAIL_ADDRESS>wrote:
It's interesting you bring up the styles to comment out code.
I actually noticed some inconvenience wrt syntax highlighting from the
"#ifdef DEAD" that we used frequently. Normally Vim is smart enough to use
a different color for comments, but it's not in the case of #ifdef DEAD.
As a result, I sometimes stare at code that are meant to be dead.
Alternatively, I started to use #if 0 and #endif pair. In this case, vim
treats code in between as comments.
Hope it's acceptable, and helpful.
Cheers,
Sam
On Wed, Oct 25, 2017 at 3:43 PM, clyne<EMAIL_ADDRESS>wrote:

@clyne commented on this pull request.
Stas, what functionality did we loose with the stuff you commented out?
Also, please use ifdefs, not old C-style comments (/* /) to comment out
multiple lines of code. The / are just too easy to miss when examining
code.
thanks jc
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/NCAR/VAPOR/pull/164#pullrequestreview-72022468, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAxvJZqJA96aoYeL_GxT7WJaJLlRYTK_ks5sv6uHgaJpZM4QGqbq
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

John Clyne
National Center for Atmospheric Research
303.497.1236 (w),<PHONE_NUMBER> (c)
<EMAIL_ADDRESS>

It's true... I seriously doubt we could simply define a DEAD macro and
bring them back... We could theoretically, but it will result in thousands
of compiling errors, making it unusable...
On Mon, Oct 30, 2017 at 7:37 PM, clyne<EMAIL_ADDRESS>wrote:

I guess there are no perfect solutions. If you use #if 0 then you can’t
enable the “dead” code by defining 0 to be true :-)

On Oct 25, 2017, at 3:53 PM, Samuel Li<EMAIL_ADDRESS>wrote:
It's interesting you bring up the styles to comment out code.
I actually noticed some inconvenience wrt syntax highlighting from the
"#ifdef DEAD" that we used frequently. Normally Vim is smart enough to
use
a different color for comments, but it's not in the case of #ifdef DEAD.
As a result, I sometimes stare at code that are meant to be dead.
Alternatively, I started to use #if 0 and #endif pair. In this case, vim
treats code in between as comments.
Hope it's acceptable, and helpful.
Cheers,
Sam
On Wed, Oct 25, 2017 at 3:43 PM, clyne<EMAIL_ADDRESS>wrote:

@clyne commented on this pull request.
Stas, what functionality did we loose with the stuff you commented out?
Also, please use ifdefs, not old C-style comments (/* /) to comment
out
multiple lines of code. The / are just too easy to miss when examining
code.
thanks jc
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/NCAR/VAPOR/pull/164#pullrequestreview-72022468,
or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAxvJZqJA96aoYeL_
GxT7WJaJLlRYTK_ks5sv6uHgaJpZM4QGqbq>
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

John Clyne
National Center for Atmospheric Research
303.497.1236 <(303)%20497-1236> (w),<PHONE_NUMBER> <(303)%20809-1922> (c)
<EMAIL_ADDRESS>—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/NCAR/VAPOR/pull/164#issuecomment-340634063, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAxvJTR5B4w_99baBCDBB3q48Nnop6-Hks5sxnn2gaJpZM4QGqbq
.

You are correct. I wasn’t suggesting that we could bring all that code back for the dead :-). But in general using ‘ifdef’ with an appropriate macro makes it easier to selectively compile code.
jc

On Oct 30, 2017, at 8:00 PM, Samuel Li<EMAIL_ADDRESS>wrote:
It's true... I seriously doubt we could simply define a DEAD macro and
bring them back... We could theoretically, but it will result in thousands
of compiling errors, making it unusable...
On Mon, Oct 30, 2017 at 7:37 PM, clyne<EMAIL_ADDRESS>wrote:

I guess there are no perfect solutions. If you use #if 0 then you can’t
enable the “dead” code by defining 0 to be true :-)

On Oct 25, 2017, at 3:53 PM, Samuel Li<EMAIL_ADDRESS>wrote:
It's interesting you bring up the styles to comment out code.
I actually noticed some inconvenience wrt syntax highlighting from the
"#ifdef DEAD" that we used frequently. Normally Vim is smart enough to
use
a different color for comments, but it's not in the case of #ifdef DEAD.
As a result, I sometimes stare at code that are meant to be dead.
Alternatively, I started to use #if 0 and #endif pair. In this case, vim
treats code in between as comments.
Hope it's acceptable, and helpful.
Cheers,
Sam
On Wed, Oct 25, 2017 at 3:43 PM, clyne<EMAIL_ADDRESS>wrote:

@clyne commented on this pull request.
Stas, what functionality did we loose with the stuff you commented out?
Also, please use ifdefs, not old C-style comments (/* /) to comment
out
multiple lines of code. The / are just too easy to miss when examining
code.
thanks jc
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/NCAR/VAPOR/pull/164#pullrequestreview-72022468,
or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAxvJZqJA96aoYeL_
GxT7WJaJLlRYTK_ks5sv6uHgaJpZM4QGqbq>
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

John Clyne
National Center for Atmospheric Research
303.497.1236 <(303)%20497-1236> (w),<PHONE_NUMBER> <(303)%20809-1922> (c)
<EMAIL_ADDRESS>—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/NCAR/VAPOR/pull/164#issuecomment-340634063, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAxvJTR5B4w_99baBCDBB3q48Nnop6-Hks5sxnn2gaJpZM4QGqbq
.

—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.

John Clyne
National Center for Atmospheric Research
303.497.1236 (w),<PHONE_NUMBER> (c)
<EMAIL_ADDRESS>


Problem to deserialize object with jackson

Hi guys,
I have two applications, one read and another write on redis:
My entity
@Data
@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
public class Job implements Serializable {
    private static final long serialVersionUID = 1L;
    private String a;
    private String b;
}

For save i use this code:
RList<Job> list = redissonClient.getList(key);         list.addAll(jobList);
The value is saved in redis just like that:

{"a":"test","b":"test"}

My problem is when I try to read the redis list at another java application.
I have a method that use this code to read the list:
List<Job> allJobs = redissonClient.getList(key);
But when i execute the project i receive this error:

io.netty.handler.codec.DecoderException: com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Missing type id when trying to resolve subtype of [simple type, class java.lang.Object]: missing type id property '@class'
at [Source: (io.netty.buffer.ByteBufInputStream); line: 1, column: 322]

My redisson.json file has the same configuration in both projects:
{   "singleServerConfig": {     "idleConnectionTimeout": 10000,     "pingTimeout": 1000,     "connectTimeout": 10000,     "timeout": 3000,     "retryAttempts": 3,     "retryInterval": 1500,     "reconnectionTimeout": 3000,     "failedAttempts": 3,     "password": null,     "subscriptionsPerConnection": 5,     "clientName": null,     "address": "redis://<IP_ADDRESS>:6379",     "subscriptionConnectionMinimumIdleSize": 1,     "subscriptionConnectionPoolSize": 50,     "connectionMinimumIdleSize": 10,     "connectionPoolSize": 64,     "database": 0,     "dnsMonitoringInterval": 5000   },   "threads": 0,   "nettyThreads": 0,   "codec": null,   "useLinuxNativeEpoll": false }
Version of redisson:

    <dependency>
        <groupId>org.redisson</groupId>
        <artifactId>redisson-spring-boot-starter</artifactId>
        <version>3.9.1</version>
    </dependency>

Hope you don't mind me asking a follow-up question on this thread. I'm trying to use JsonJacksonCodec together with geojson-jackson to define certain geojson structures nested inside my json (see https://github.com/NABSA/gbfs/blob/v2.1-RC2/gbfs.md#geofencing_zonesjson-added-in-v21-rc), and facing some issues that their serialisers don't implement type id handling:
java.lang.IllegalArgumentException: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Type id handling not implemented for type org.geojson.LngLatAlt (by serializer of type org.geojson.jackson.LngLatAltSerializer) (through reference chain: org.entur.lamassu.model.gbfs.v2_1.GeofencingZones["data"]->org.entur.lamassu.model.gbfs.v2_1.GeofencingZones$Data["geofencing_zones"]->org.entur.lamassu.model.gbfs.v2_1.GeofencingZones$FeatureCollection["features"]->java.util.ArrayList[0]->org.entur.lamassu.model.gbfs.v2_1.GeofencingZones$Feature["geometry"]->org.geojson.MultiPolygon["coordinates"]->java.util.ArrayList[0]->java.util.ArrayList[0]->java.util.ArrayList[0])

I'm giving the codec to the redisson top level redisson configuration, and I don't understand how I can provide a specific typed codec for a specific key, way deep in the json tree. Do I need to write my own pojos here?

You can define mixin for org.geojson.LngLatAlt to define id https://www.tutorialspoint.com/jackson_annotations/jackson_annotations_mixin.htm

Thanks, I was hoping that was a solution, but how to access the object mapper? It doesn't seem to be accessible via the JsonJacksonCodec instance?

@mrniko I feel like I'm pretty close to a solution here, but I'm still unsure how to use the mixin "to define id". Is there an annotation that I can use to achieve this? I'm have a hunch that I need to write my own serializer and use the mixin to provide it, but would be nice to know if there is a shorter way. 🤔

you can use own ObjectMapper without ids.

Sorry, maybe it's obvious, but I don't understand what that means. I added a mixin for LngLatAlt, but I don't know what annotations to add to it. As is, I'm still just getting the same error as before.
        config = new Config();

        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.addMixIn(org.geojson.LngLatAlt.class, MixinForLngLatAlt.class);
        var codec = new JsonJacksonCodec(objectMapper);
        config.setCodec(codec);

public abstract class MixinForLngLatAlt extends LngLatAlt {}

try to override JsonJacksonCodec.initTypeInclusion method as empty.

But won't that break the rest of my polymorphic serialisation setup?

Since all I needed was serialization/deserialization of multipolygons, I went with my own naïve implementation instead of using geojson-jackson - so problem solved. Thanks for your time though @mrniko 🥇


Update test

Reference Issues/PRs
What does this implement/fix? Explain your changes.

Test system modified
is_same_data function modified

Any other comments?

@sadrasabouri Please review this PR 🚀
If everything is okay, Squash/Merge it after approval 💯

Codecov Report

Merging #126 (d20f023) into dev (d2b7585) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##               dev      #126   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines          410       412    +2
  Branches        63        64    +1
=========================================
+ Hits           410       412    +2

Impacted Files
Coverage Δ

samila/functions.py
100.00% <100.00%> (ø)

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 d2b7585...d20f023. Read the comment docs.


(QENG-1551) Update CI setup for AIO Testing

This implements a new pre-suite and adds a new Rake task "ci:test:aio"
to utilize the new pre-suite. It also cleans up some debug output.
Please let me know where is the most appropriate to target this and what needs to be changed!

Can you squash, and prepend the commit message with "(maint) ". The latter is easier on our release scripts :)

seems not crazy to me

CLA signed by all contributors.

Whoohooo!
I finally got the pipeline's to pass: https://jenkins.puppetlabs.com/view/z-temp-view-for-aio/


Repository names

Two pieces of advice for avoiding later headaches:

google the repository (and package name, if different).

If it already exists consider choosing a different name
if the repository acronym can have offensive meanings in other contexts try something different

I am not sure whether I should open a new issue or not but I am confused about the recommendation of "hyphen" over "underscore" for repository naming (for a Python package). The hyphen gives me a headache from time to time, because as a package name, it is some-thing, but inside a Python session, it is imported as some_thing.


No way to configuring the http.socket.timeout and http.connection.timeout on the HttpClient

https://github.com/splunk/splunk-library-javalogging/blob/116d430cd2f7176d8e7439059131edc71d88336d/src/main/java/com/splunk/logging/HttpEventCollectorSender.java#L324
Hello,
I think while creating a RequestConfig custom object system properties should be used to configure all the possible parameters of the configuration, or at least the timeout value. Another option will be to make the timeout values configurable on the appender (XML).
Regards,
Mihail

Thanks for the suggestion @mihailnenov, feel free to make a pull request for the XML config changes

Ok, I will do it soon!
regards,
Mihail

Hi,
Can you please add me to the project, so that I can create a branch I push my  changes?
I also can see there is a pull request #72 , which is kind of doing the same thing but also configuring the connections pool size, is this one going to be merged?
Thanks,
Mihail

@mihailnenov we accept contributions through the GitHub fork and pull request workflow. You can see this doc for additional instructions if needed - https://help.github.com/articles/creating-a-pull-request/. If you're making a PR, please target the develop branch.
#72 has some merge conflicts, so even if we accepted that we'd have to do some work before merging it in.

Thanks for your clarification!
I've just created the PR #82.
regarads,
Mihail

Hi @mihailnenov,
We have making use of OkHttp library and we have also configured timeout parameters for better optimisation.
We would recommend to update the logging library version to 1.11.5.
Closing this issue.


Add Acala kUSD to Khala

kUSD:
{
  "parents": 1,
  "interior": {
    "X2": [
      {
        "Parachain": 2000
      },
      {
        "GeneralKey": [
          0,
          129
        ]
      }
    ]
  }
}

@gluneau Waitting to be merged, see this PR

@gluneau PR merged, kUSD transfer will be enabled after next runtime upgrade. Let me close this issue.

Has there been a runtime upgrade?  When is the next one scheduled?

@tolak  When is the next one scheduled? Or has there been a runtime upgrade?

@gluneau Hi, sorry i forgot to inform you, kUSD already transferable between Karura and Khala, we did runtime upgrade last week


add workflow to upload conda packages to legate channel

Contributes to #101
Contributes to #115
Follow-up to https://github.com/rapidsai/legate-boost/pull/171#issuecomment-2442301046

adds a workflow for publishing conda packages to the legate channel
switches dev versions to YY.MM.{patch}.dev{n}, instead of YY.MM.{patch}dev{n}, to match what legate and cunumeric are doing

e.g. look at https://anaconda.org/legate/legate/files?channel=experimental ... you'll see versions like 24.09.00.dev329, not 24.09.00dev329

cleans up a bit more CI configuration as a result of #169

Notes for Reviewers
I've left comments inline describing specific changes in more detail.

🎉 🎉 🎉 just pushed conda packages to the experimental label on the legate channel!

https://anaconda.org/legate/legate-boost/files
This will now work (try it for yourself)
conda create --name test-legate-boost \
  --dry-run \
  --override-channels \
  -c legate/label/experimental \
  -c legate \
  -c conda-forge \
  -c nvidia \
    legate-boost=24.09.*  \
    python=3.11

This at least shows that as of this branch and moment in time, we have all the pieces in place to start publishing conda packages from this repo to the legate channel. I'll get this PR updated and ready to review 😁

I'm going to merge this on the strength of your approval @seberg , to test that it does what we want on merge-to-main, and to move on to the next step in this.
All of these things are easily reversible, so @RAMitchell please do let me know, when you see this, if there are any changes you'd like me to make.

Cool yeah this worked!
The merge triggered this build: https://github.com/rapidsai/legate-boost/actions/runs/11599749514/job/32298585013
That published 6 new packages to the legate channel (3 Python versions x [cpu, gpu]), with version 24.09.00.dev1

https://anaconda.org/legate/legate-boost/files

Looks great thank you @jameslamb!


Allow item ordering through drag an drop

List items often need to be ordered (think header nav links for instance). The UI should allow ordering via drag and drop.

List items can now be ordered through drag and drop


chore: added code of conduct

What was changed:
Added CODE_OF_CONDUCT.md file, adapted from same template as in similar demo repos.
Testing:
Visually confirmed that it displays correctly on github.com
Related issues:
https://github.com/appwrite/appwrite/issues/2064

I appreciate that, thank you :)


Heighliner hardcodes wasm lib version

While using the latest version of Juno in IbcTest, the nodes failed to start with the following log:
Error: libwasmversion mismatch. got: 1.0.0; expected: v1.1.1
If the chain uses wasm, heighliner should query and download the correct version of wasmvm.

I see a different flavor of this with the latest osmosis: https://github.com/strangelove-ventures/heighliner/pkgs/container/heighliner%2Fosmosis/103650535?tag=v15.1.2
Error: libwasmversion mismatch. got: 1.1.1; expected: v1.1.2


Create only retina version

Hi,
I need to create only the retina version, don't need to have a 192dpi to use the retina.
If i specify the ratio: 2 and dpi: 72, i get one sprites, but in the sass the background-size is not divided by 2;
[{ratio: 2, dpi: 72}]

For the moment i create 2 version, make another task to delete the sprites.png and another to rename<EMAIL_ADDRESS>to sprites.png
And the template i haved hardcoded the background-image url to sprites.png
But maybe there is a better way to achieve this.
thank for any help!

I use the following to get around it
      {
        ratio: 1, dpi: 35
      }, {
        ratio: 2, dpi: 72
      }
    ],```


[WIP] Timeline Tracking

Added:

epl_timeline_observer.erl - genserver that hosts timeline changes and state changes

Edited:

epl_tracer - two new ets tables, one for storing pids that are tracked and one for caching changes

To test
{ok, TS} = epl_timeline_observer:start_link(list_to_pid("<13611.385.0>")).
epl_timeline_observer.timeline(TS) // wil yield timeline so far

Thank you very much for contributing! I will review this PR asap, hopefully tonight.
BTW, how do you like lectures on discrete mathematics? ;)

I know we had conversation about this plugin but I dont really remember when and how should we display time travel debug info in our UI.

About UI. Ideal way would be a separate pane with list of tracked timelines, and input to type in the pid manually. (That's partially why pids are compared as lists).
Very nice thing would be also a track timeline button in one of the other views in process details. The click would start trackign and move user to timeline view.
Yet another option would be a pane with all the pids in a filterable lists, user could tick interesting pids of and see their timeline on the other subpane. (left half pane list, right half timeline)
At least that's how I would imagine it.

I'll try to add think about something for it. Is it possible to have it as separate plugin? It can be good starting point for plugin system for frontend as well because I'm thinking about moving all core  plugins to one "core/official" plugins monorepo at some point and we need plugin system for that.

The problem with making it Plugin is fact that I had to severely modify already existing tracer. (At stock it gives only information about amount of messages between processes)

Hi @Hajto, I was thinking how we could visualise the trace information you gather and one idea is to render so-called flame graphs. It could be rendered in the 3rd level of Vizceral, when one double-clicks a process. In other words can you please review your PR and see if you gather enough information to render a flame graph? Such graphs for Erlang processes are already implemented by @proger in his eflame.

I've added epl_timeline_EPL plugin serving state over WebSocket's timeline-info topic.
I'll be working on UI part of that.
/cc @michalslaski @arkgil I would really appreciate your review on my Erlang code 🙂

You can checkout this version. Basic functionality is done, only some UI improvements and of course tracker changes if required :)

This should be pretty close to what we want.
You can add new pid from /sup-tree (the same icon as /timeline plugin) or from input on /timeline view.
Waiting for your review @michalslaski @arkgil @Hajto

@Baransu and @Hajto thanks a lot for your contributions to this PR. I will review asap, which hopefully means this weekend.

@michalslaski Thank you a lot. Waiting for your review then 🙂

Unfortunately this doesn't work for me. I add the PID from the supervision tree view, send some messages and nothing shows up 😢

Do you have any UI or Erlang logs?

Woops, it showed up after refreshing 😄

After refreshing what? UI? Was it cached or UI didn't receive/process some websocket message?

I have no idea, but everything seems to show up fine now. Although there might be problems with ordering of messages, let e investigate.

I was mainly testing on cowboy gen_server which updates time and all messages were in correct order.

Yes, the order is correct, it's just we're too slow with retrieving process' state. When we do sys:get_state some other messages might have been already received, and state has been further changed. But I see no way to solve that problem.

So we're retrieving messages from past with some lag but we're capturing all messages or some are missing?

One more thing - PID input is not working right now. When we type in some PID from the node we observe, say <0.93.0>, its representation is different from erlangpl node POV, e.g. <9932.93.0>. What we could do is somehow retrieve node part of the PID (9932 here) and display it as a label to the input, so that the user only needs to fill out two other parts of PID. I imagine something like:
<9932.<second_part>.<third_part>>
This will also make it easy for new users to fill in PIDs - I had no idea what format should I use to make it work (😅 ). I'll look into how we could get the node prefix from the PID.

Hm, we could probably retrieve the PID of a tracer process (since it's started on observer node) and parse it to get node prefix.

And to answer your question - yes, we retrieve them all, but we can't capture changing state step by step if messages come too fast. Because messages can come to process and change its state after we receive trace message but before we make sys:get_state call.

One more question - is it possible to show whole message received by the process? I can't find a way to extend the column with messages.

No right now. I'll add this message in state's header because side panel has limited space for that.

I've moved epl_timeline_observer.erl logic into epl_timeline.erl so it's more consistent.
I'll try to retrieve observed node pid to change input method as well as full message text 🙂

@arkgil I'm retrieving node part of pid from kernel's application_master on observed node and then using it during the add WS message. I've also split input into two separate parts for second and third part of the pid. Waiting for your feedback 😊

@Baransu I tried the new view and I like it very much. The UX of the timeline feature is intuitive and easy to figure out.
@Hajto I tried tracing the mnesia_locker process and noticed that throughput of messages reported in the dashboard view increased to over 45,000 msg. The system is not processing any Mnesia transactions, so most of the internal traffic is between epl_tracer and mnesia_locker processes. Is it expected?

@michalslaski I am sorry for inactivity. It is not expected to ignore those messages. I will have to investigate it more.

No worries, good to have you back :)

I've added resizable panes with state and messages so when messages are to long or you want to focus on state better it's now easier 🎉
@Hajto what is progress on issues with to many messages?

@michalslaski @mkacper
I've fixed mailbox arrow navigation so right now moving through large list of messages by up/down arrows should super smooth ☺. Waiting for your review. Let me know if you have any concerns or ideas for improvements.

@Baransu moving through mailbox by up/down arrows works perfectly but if you want to see details of a message -> state pair you have to click on a particular message. Maybe it would be easier to use when you can hit enter on a highlighted message to see the details or we can just automaticly switch the detailed view when moving through the mailbox? What do you think?

It should automatically select message on which you're on. Did you run yarn (or any make rule including it) after pulling?

First I used only yarn start but after your comment yarn && yarn start and now it works as you said. Sorry for the confusion :) Well done! :+1:

@mkacper It was because of old version of react-virtualized (very effective lib for large lists, grids etc) we're using for displaying mailbox 🙂


change view button theme and style

Targets #1685
Description
Change view button theme and style in HR analytics section.
Checklist:
I have performed a self-review of my own code.

@Himanshunegi0332 It seems like you misunderstood the requirements, the theme and style needs to be changes for View button on that page, it should be similar to other buttons on the portal. In this PR you seem to have changed the style of Analytics heading.

kindly re-review my task.


[release-1.12] change iptables probe port to string

This is an automated cherry-pick of #35752

/approve

cc @zackzhangkai we need your consent for the CLA bot