[bandcamp] crashes on paid tracks

Latest git-version '22d7368dfb384e7698faad6d2891b4aaceab3d7c' crashes on attempt to download
http://music.bucketheadpikes.com/track/crumple-part-two
This track is not playable in browser. Thus it could be better to display any error text.

bash-3.2$ ./youtube-dl -v http://music.bucketheadpikes.com/track/crumple-part-two
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'http://music.bucketheadpikes.com/track/crumple-part-two']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.10 - Darwin-14.5.0-x86_64-i386-64bit
[debug] exe versions: avconv v10_beta1-440-gb33c64e, avprobe v10_beta1-440-gb33c64e, ffmpeg 2.8.2, ffprobe 2.8.2
[debug] Proxy map: {}
[generic] crumple-part-two: Requesting header
WARNING: Falling back on generic information extractor.
[generic] crumple-part-two: Downloading webpage
[generic] crumple-part-two: Extracting information
[Bandcamp] crumple-part-two: Downloading webpage
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "./youtube-dl/main.py", line 19, in
File "./youtube-dl/youtube_dl/init.py", line 410, in main
File "./youtube-dl/youtube_dl/init.py", line 400, in _real_main
File "./youtube-dl/youtube_dl/YoutubeDL.py", line 1669, in download
File "./youtube-dl/youtube_dl/YoutubeDL.py", line 674, in extract_info
File "./youtube-dl/youtube_dl/YoutubeDL.py", line 727, in process_ie_result
File "./youtube-dl/youtube_dl/YoutubeDL.py", line 663, in extract_info
File "./youtube-dl/youtube_dl/extractor/common.py", line 290, in extract
File "./youtube-dl/youtube_dl/extractor/bandcamp.py", line 53, in _real_extract
AttributeError: 'NoneType' object has no attribute 'items'

There's no music there, and a proper message will be displayed in the next version.


code not found in windows terminal

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
Version: 1.75.1 (user setup)
Commit: 441438abd1ac652551dbe4d408dfcec8a499b8bf
Date: 2023-02-08T21:32:34.589Z
Electron: 19.1.9
Chromium: 102.0.5005.194
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19045
Sandboxed: Yes

OS Version: 10.0.19045 Build 19045

Windows Terminal Version: 1.16.10261.0

Steps to Reproduce:

When I test the command it says True, but when I use the command says not recognized.

this means it's not on your PATH which you can verify via echo $PATH

this means it's not on your PATH which you can verify via echo $PATH

well that doesn't work and it is indeed in my $PATH, ok oops it was in the sys path not user path i don't know how that happened


Update description of ndt7 to mention cleartext tests

At https://www.measurementlab.net/tests/ndt/ we state "ndt7 is a new NDT protocol that operates solely over TLS port 443", which won't be true anymore after https://github.com/m-lab/ndt-server/pull/222 is merged.
I'm opening this issue as a reminder to update it.
@critzo are you aware of any other place on the website that should be updated after that change?

Blocked by #545


Page Alert - Make sure close text is hidden by default; Update npm package.

This is done. No manual QA needed.


Correct build file path for virtual dependencies

Virtual dependencies are created with path new File(project.buildDir.getParentFile(), "build.gradle") which is not necessarily correct.
It would be better to simply use project.buildFile, which is the actual build file.
And even if not, it would be better to use project.projectDir instead of project.buildDir.parentFile.

sorry this took so long to get back to for such a simple fix.


dynamic field type(flat_obejct) support

dynamic field type(flat_obejct) field are missing from returned query result. For instance requestParameter and responseElement field of cloudtrail logs are commonly  mapped to flat_object field type to avoid mapping explosion but  when doing so the query result returned completely ignores this field on top of that we can't even use this dynamic nested fields for querying this is a big problem for storing cloud native logs that may have dynamic field values,

[Catch All Triage - 1, 2, 3]

Query
SELECT requestParameters
from logs-cloudtrail WHERE
requestParameters.nextToken is not null
LIMIT 25

Response
400 {error={reason=There was internal problem at backend, details=FLAT_OBJECT fieldName types are currently not supported., type=IllegalArgumentException}, status=500}

SELECT * FROM logs-cloudtrail
WHERE (
        (eventName = 'CreateInstanceExportTask' AND eventSource = 'ec2.amazonaws.com')
        AND NOT (
                (errorMessage LIKE '%%%' )
                OR (errorCode LIKE '%%%') OR (responseElements LIKE '%Failure%' )))

400 Bad Request: "{<EOL> "error": {<EOL> "reason": "Invalid SQL query",<EOL> "details": "can't resolve Symbol(namespace=FIELD_NAME, name=responseElements) in type env",<EOL> "type": "SemanticCheckException"<EOL> },<EOL> "status": 400<EOL>}"


Unify all output messages generators (CppSharp.Diagnostics, Console, native stdout\stderr, CppSharp.Utils.FSM.ConsoleWriter)

In the CppSharp solution is used many various ways to produce messages/logs like CppSharp.Diagnostics, Console.WriteLine, native stdout\stderr (printf), CppSharp.Utils.FSM.ConsoleWriter.
Finally all messages are listed at the Console and it's fine.
What if I would like to implement own logging solution.
I have options:
a. The simplest way is run own CppSharp solution as a Process and redirect stdout\stderr, with losted details like:

DiagnosticKind for IDiagnostics,
CppSharp.Utils.FSM.ConsoleWriter, a message type represented as font color.

b. Implement CppSharp.Diagnostics.IDiagnostics, redirect Console stdout\stderr and redirect native stdout\stderr (printf).
In this option still lose CppSharp.Utils.FSM.ConsoleWriter message type.
If is implemented a Console stdout\stderr redirection to own logging implementation and this implementation sinks loggs to Console there has made a loop.
I thing that the best option would be using CppSharp.Diagnostics for all messages generated by CppSharp and definitively avoid using Console.Write/WriteLine.

catching native stdout\stderr and pass through CppSharp.Diagnostics.
Console.Write/WriteLine replacing with CppSharp.Diagnostics,
CppSharp.Utils.FSM.ConsoleWriter replacing with CppSharp.Diagnostics.

Personally, I use CppSharp to generate C++/CLI and CSharp code so do not use classes with references to CppSharp.Utils.FSM.ConsoleWriter.

Is there possibility to get more diagnostic logs like errors/warnings from clang compiler at parsing and semantic analysis stages. Similarly to produced output of command 'clang.exe -Xclang -fsyntax-only '.

I have got an issue to catch native stdout\stderr (printf).
I use DriverOptions.Verbose turned on and some diagnostic messages are listed at the Console, e.g. compiler arguments, Target triple, includes.
I have tried redirecting stdout\stderr to a file or to an AnonymousPipeServerStream using SetStdHandle() method from kernel32.dll and it failed.
The file/stream is always empty and all messages are listed at the console.
There is a part of code:
        //class member
        [DllImport("Kernel32.dll", SetLastError = true)]
        public static extern int SetStdHandle(int device, IntPtr handle);

        //method code
        var _outFileStream = System.IO.File.Open("stdout.txt", System.IO.FileMode.Create);
        SetStdHandle(-11, _outFileStream.SafeFileHandle.DangerousGetHandle()); //-11 - stdout, -12 - stderr

        //Dispose method code
        _outFileStream.Flush();
        _outFileStream.Dispose();

The file is created and there is none messages.
Please, could you provide some worked code to redirect native stdout\stderr or any clue how do this?
I would like to avoid to run my CppSharp implementation as a nested Process and redirect the process stdout\stderr.
Best regards, Stachu99

Thanks tritao.


Add support for generating morphometrics files when images present in the same directory

Currently, the recently merged PR (https://github.com/neuropoly/axondeepseg/pull/434), which adds an additional CLI feature to generate morphometrics files of the image using CLI command, is missing an additional functionality where  when a user wants to generate morphometrics of all the images present in the same directory, the axondeepseg_morphometrics cli doesn't work for this use case.
Proposed Solution
For this, instead of just naming the the morphometrics files as axon_morphometrics.xlsx, I suggest we prepend the image name too with the computed morphometrics files. For instance, if the image name is test_image.png, the moprhometrics file generated would be test_image_axon_morphometrics.xlsx Renaming the morphometrics file would add an additional support for the described use case, where all the images are present in the same directory.
I'll open a PR resolving this issue.

We should maybe give other options. Some people might just one single excel file for all morphometrics, while other people might one one excel file but with tabs for each image.

That's really a nice suggestion. Perhaps we could these options

Single excel file for all the morphometrics (as suggested by @mathieuboudreau )
Individual excel files for each of the images (as I suggested)
A single file where each tab for each image (as suggested by @mathieuboudreau )

Options 2 and 3 are almost identical; we need to have a consensus on which we should go forward with. I prefer @mathieuboudreau 's option, that is option 3
Also, @mathieuboudreau when you say a single excel file for all the morphometrics, may I know what do you mean? Can you elaborate a little?

hello! sorry i'm late to the party 😬
i'm 100% in favour of option 2, ie: using image file name and add suffix "_ads_morphometrics.csv"
i don't recommend option 3: we definitely don't want to spend development time on playing with Excel tabs. Moreover, we want to push people to use CSV instead.

Opened PR #518 for this.

i'm 100% in favour of option 2, ie: using image file name and add suffix "_ads_morphometrics.csv"

@jcohenadad as discussed earlier we decided to add suffix _axon_morphometrics.csv to the morphometrics file. Would you like to change it to _ads_morphometrics.csv instead?

Would you like to change it to _ads_morphometrics.csv instead?

only if everyone is ok with that

Would you like to change it to _ads_morphometrics.csv instead?

only if everyone is ok with that

I don't have a strong opinion about this, both are good with me.


Dying breaks player position

After dying, the player who died vanishes from the browser map as expected.
After respawning however, the player is displayed with zero armor and hearts in their spawn location, facing southwards. The player marker in the browser does not rotate nor move when the player does.

Using the /pl3xmap reload command fixes this.
This bug occurred with build 423.

Fixed in build 426 \o/

I died and respawned multiple times and everything seemed fine. However, toggling the "player" layer off and on again makes ghost player markers appear at the positions where the player died. Should I open a new issue for this?

I died and respawned multiple times and everything seemed fine. However, toggling the "player" layer off and on again makes ghost player markers appear at the positions where the player died.

Ok, took me awhile to track this one down, but I finally did ^_^ Should be fixed in build 431

Appears to be fixed, I couldn't reproduce the bug with the latest build.


Fix diff highlight affecting other component

This pr fixes issue #125

Yep this looks to be fixed now, thanks


Geolitecity or country in settings?

Hello,
Playing around with your viewer and noticed an issue.  The instructions say to download:
wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz
But in the cowrie-logviewer.py, the maxmind path points to GeoLite2-Country.mmdb.  I'm assuming City is the correct file?

Country is the correct file, sorry.
2017-03-15 19:52 GMT+01:00 biggen1684<EMAIL_ADDRESS>
Hello,
Playing around with your viewer and noticed a issue. The instructions say
to download:
wget http://geolite.maxmind.com/download/geoip/database/
GeoLite2-City.mmdb.gz
But in the cowrie-logviewer.py, the maxmind path points to
GeoLite2-Country.mmdb. I'm assuming City is the correct file?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mindphluxnet/cowrie-logviewer/issues/5, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AEd2N1HwczKvUfR271ElqGSL6hlsWreLks5rmDOAgaJpZM4MeYMF
.

Fixed with commit https://github.com/mindphluxnet/cowrie-logviewer/commit/9a660eccbdcf5fe94a5ea1987beb8d9f8a8afb1c


AENS resolving issue

Shantian noticed that he could not send tokens with the name<PHONE_NUMBER>000.chain in base aepps, I investigated and found the reason.
as http://<IP_ADDRESS>:3013/v2/names/0000000000000.chain shows,
{"id":"nm_8oH11atX3dnEsqnhhuFzRkxVdZfkkKSKxtKZQcYFudmgqcVmT","pointers":[{"id":"ak_2tACpi3fVoP5kGo7aXw4riDNwifU2UR3AxxKzTs7FiCPi4iBa8","key":"account_pubkey"}],"ttl":212559}
0000000000000.chain was pointed to ak_2tACpi3fVoP5kGo7aXw4riDNwifU2UR3AxxKzTs7FiCPi4iBa8.
but from base.aepps.com, the tokens were sent to nm_8oH11atX3dnEsqnhhuFzRkxVdZfkkKSKxtKZQcYFudmgqcVmT as https://www.aeknow.org/block/transaction/th_HbokA1mCU4YYg2v236ugGLdD8pyNaMnQptctKrEjEoog9AMza
so there might have an AENS resolving issue.
The pointed id should be the id with "key":"account_pubkey".

https://github.com/aeternity/aepp-base/blob/a27b354aea1cea310983ea520399ce3c28f0dd20/src/store/plugins/ui/names.js#L28


Undefined object - Thermostat --> Reminders

If the Selection parameter 'include reminders = True' is specified for the call to request_thermostats, and reminders are returned in the response contents, a key error occurs.  This is apparently because of an undefined object for Reminders, which include the following attributes: type, title, description, reminderDate, and remindMe.  (All are six.text_type except the last, which is bool.)
The Ecobee website documentation mentions an object ThermostatReminder2[] as an attribute of the Thermostat object, but I have not found a definition for this object.  The Pyecobee library includes references for this object, including in the attribute_type_map in thermostat.py.  However, it appears the object name should be Reminder (as this is the key returned in the response) and a new definition created for it (reminder.py).

See my suggested changes to address:  https://github.com/sfanous/Pyecobee/pull/19


Initial commit of SPI interfaces

Includes

Dependencies on Receptor API and Spring XD modules
.gitignore updates for Eclipse and IntelliJ
Scaffolding for Lattice/Receptor implementations

Reviewers - please double check my work with regard to the Maven dependencies. I tried to place the dependency on XD modules in the top level POM but could not get it to work. Maven only fetched the dependencies when I placed them in the child-level POMs.

I will merge and make the changes for copyrights and POMs. We can discuss that status method afterwards.


Create routes for authentication and use variable in another route

Hi,
This is not an issue, but a question
I'm building an express app that connects to JSforce using OAuth2. Currently when I have my code placed in a single file, it works fine. But I want to divide them into separate routes and use it.
my app.js is as below.
var express = require('express');
var path = require('path');
const jsforce = require('jsforce');
var indexRouter = require('./routes/index');
var app = express();

app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', indexRouter);

var oauth2 = new jsforce.OAuth2({
   loginUrl : 'https://login.salesforce.com',
    clientId : '<My_Client_ID>',
    clientSecret : '<My_Client_Secret>',
    redirectUri : '<My_Redirect_URL>'
  });

  app.get('/oauth2/auth', function(req, res) {
    res.redirect(oauth2.getAuthorizationUrl({ scope : 'api web full refresh_token offline_access' }));
  });

  app.get('/oauth/callback', function(req, res) {
    var conn = new jsforce.Connection({ oauth2 : oauth2 });
    var code = req.param('code');
    conn.authorize(code, function(err, userInfo) {
      if (err) { return console.error(err); }
      console.log("User ID: " + userInfo.id);
      console.log("Org ID: " + userInfo.organizationId);
       res.send('success');
    });
  });

This is perfectly working for me. i.e., I am able to console.log the details. But, I want to divide it into modules, like for e.g. app.use('/auth', authRouter);, In this, the authorization stuff should happen.
And I'll create another route /getAccounts, and the file will be /routes/getAccounts.js and I'll have the below code in that file.
var records = [];
conn.query("SELECT Id, Name FROM Account", function(err, result) {
  if (err) { return console.error(err); }
  console.log("total : " + result.totalSize);
  console.log("fetched : " + result.records.length);
})

here the conn used above should be conn from my auth. Please let me know how Can I do it.

If you are going to have many users calling your endpoints, then you need to know which requests belong to which users.
You will either need to store one conn object per user and keep a mapping from user to conn, but this may require a lot of memory if you have a lot of users.
I solved this by having the browser pass back authentication info (e.x. access token) and then I used middleware to init auth connection (not login again, just setup the connection with existing credentials ) and add it to res.locals (assuming you are using express), then you can access it from your routes.

Hey @paustint,
Thanks for this suggestion mate. If you don't mind can you share a piece of code?
Thanks

My use-case stores the credentials encrypted in the database and can connect to any org, so my structure may not be the best for your use-case, but here is an example that should be enough to get you started. I took code I had an made some major changes, so it may need to some work to get it working, but hopefully gives you the idea.
You will need to figure out how to have users store the results.

store in memory on the server
store in a cookie
pass back to the browser and let the browser store in local storage or IndexedDb

Note: ideally you should not provide the refreshToken back to the browser because it is considered "sensitive" data, but that will be up to you to decide.
Note: this is using Typescript
For your initial callback from your example above:
const conn = new jsforce.Connection({ oauth2: new jsforce.OAuth2({
    loginUrl,
    clientId: ENV.SFDC_CONSUMER_KEY,
    clientSecret: ENV.SFDC_CONSUMER_SECRET,
    redirectUri: ENV.SFDC_CALLBACK_URL,
}) });
const userInfo = await conn.authorize(req.query.code);
const identity = await conn.identity();

// you will need to figure this part out on your own.

// ideas:
// store in DB, send unique identifier to user (no example provided)
// store in cooke, e.x. res.cookie('SFDC', {instanceUrl: conn.instanceUrl, accessToken: conn.accessToken, refreshToken: conn.refreshToken}, { httpOnly: true, sameSite: 'strict' });
// Send back to browser, res.JSON({{instanceUrl: conn.instanceUrl, accessToken: conn.accessToken, refreshToken: conn.refreshToken}})

res.send('success');

Then in subsequent routes:
import * as jsforce from 'jsforce';
import { NextFunction, Request, Response } from 'express';

export async function addOrgsToLocal(req: express.Request, res: express.Response, next: express.NextFunction) {
  try {

    // Get credentials, depending on where you stored them
    // either parse from header or body (if you added them there)
    // or parse from cookie if you added them there, they will persist for the user
    // (NOTE: parsing bit not shown here - you need to figure that out on your own)

    const conn = new jsforce.Connection({
      oauth2: new jsforce.OAuth2({
        loginUrl,
        clientId: ENV.SFDC_CONSUMER_KEY,
        clientSecret: ENV.SFDC_CONSUMER_SECRET,
        redirectUri: ENV.SFDC_CALLBACK_URL,
      }),
      instanceUrl,
      accessToken,
      refreshToken,
      maxRequest: 5,
      // You are not required to set version, but I find that some metadata API calls might fail if you do not
      // version: ENV.SFDC_FALLBACK_API_VERSION,
    });

    // add connection to locals so it is available in route
    res.locals = res.locals || {};
    res.locals.conn = conn;

    // If you are using a refresh token, then you will want to get this back to
    // wherever you are storing the authentication.
    // If you are not using refresh tokens you can ignore this bit
    const handleRefresh = async (accessToken, res) => {
      // update cookies, or send websocket event to browser, etc..
    };
    conn.on('refresh', handleRefresh);

  } catch (ex) {
    next(ex);
  }

  next();
}

routes.post('/query', addOrgsToLocal, async (req: Request, res: Response, next: NextFunction) => {
  const conn: jsforce.Connection = res.locals.conn;
  const results = await conn.query("SELECT Id, Name FROM Account");
  res.json({results})
});


esp_http_client can't POST multipart requests. (IDFGH-5066)

I'm using  esp_http_client for upload files to server. But now we should to send big files by multipart requests with Content-Type like: content-type":"multipart/form-data; boundary=-------.
I do not found this possibility using esp_http_client. How can i solve this problem?

@SergeySlyusarEZlo Could you share the detailed information, such as  the commit ID of IDF, which example I can run and so on.

ID: 1cb31e50943bb757966ca91ed7f4852692a5b0ed.

The question about support  multipart post requests using IDF. As i see now multipart requests we can create only manually using http_client_open and http_client_write methods. Are there any ready-made working examples of (multipart POST) uploading using IDF. Examples of esp-forum that i found work incorrectly. For example https://www.esp32.com/viewtopic.php?t=7867 once with corrected esp_http_client_open length fix not worked. I Tested with  https://httpbin.org/post or https://ptsv2.com/.

@SergeySlyusarEZlo What do you mean it doesn't work just you do it as the example code https://www.esp32.com/viewtopic.php?t=7867? and you also want to call the other api which use http_client_open  and http_client_write?

Have you got any worked example for post multipart data to upload server (using IDF)?


Not able to use interpolation for column names and query operators

Hi
I am trying to parameterize the column names and query operator as I want to write some dynamic queries as given below
var searchQuery= cn.QueryBuilder($@"SELECT columnA
FROM     table A
                                        /**where**/");

searchQuery.Where($" {q.field}  {q.Operator}   {q.Value}");
but above query doesnot execute .
but if I  rewrite 2nd statement like below , the query executes
searchQuery.Where($" HairTypeEnum = {q.Value}");
Let me know if this is an issue

The major idea is that when you're adding interpolated parameters they are all converted to Dapper Parameters (SqlParameters). If you want to just pass raw strings, use :raw modifier:
searchQuery.Where($" {q.field:raw} {q.Operator:raw} {q.Value}");
In this case above, q.Value will be converted into a parameter (e.g. @p0), while the others will be passed as regular SQL statements.
Beware that when you pass something as raw you should ensure that the string is safe (if it's user input you should check/sanitize it before passing as raw)

Yeah I am checking whether those column names and operators are valid before adding them as parameters.
Is there any way I can write that way . I checked Dapper sql builder allows me to write this way but I wanted to use query builder as it provides more flexibility in writing dynamic AND/OR filters .
Thanks


Automatically start File Locksmith as admin

Description of the new feature / enhancement
Just as the title describes it: I'd love to have an option to automatically start locksmith with admin permissions.
Scenario when this would be used?
Currently I need to press the "Restart as Administrator" button which I wouldn't need to do anymore.

This would especially make sense if it followed the "Always Run As Administrator" option in the General settings.

This would be a great addition. Most of the time I require the use of File Locksmith I'm fiddling in the "program files" directory requiring administrative privileges.

Can you please add an option to start file_locksmith as admin by default, if you start it from the context menue? This would help me a lot.. I really love this tool and use it very often. But i always have to wait, till it loaded an start the search run again as admin.. this is quite annoying.
Start from here directly as admin:
image
without this second step:
image
This would be so great! I guess its easy for you guys :)


White blank page if debug if false + Does not report to BugSnag

I am visiting a page, and all I get is a blank page.
I check bugsnag and nothing is there.
I have filled out my bugsnag api code.
Unable how to debug further.

I am also using your Logging package.
'loggers' => env('APP_DEBUG', false) ? ['Illuminate\Log\Writer' => ['*']] : [
    'AltThree\Bugsnag\Logger'   => ['error', 'critical', 'alert', 'emergency'],
    'AltThree\Logify\Logger'    => ['*']
],

Of course it doesn't. What else did you expect that code to do that I gave you?

Wait, you're saying it's broken. Please provide php level error logs then/

You're saying it's broken when not in debug mode, rather than not logging when in debug mode, as expected.

I fixed it! I had to delete folder /bootstrap/compiled.php

You MUST run php artisan config:cache and php artisan optimize --force after making changes to composer or config.

That's always true for laravel.


Add assetlinks.json to web app

This PR

adds assetlinks.json to the web app used for testing the Android SDK

replaces the redirection from myblockstack:<authresponse> to blockstacksample:?authResponse=<authresponse>

related to #135

fixes #125

@shreyasthiagaraj This is the PR for the new redirection!


Mocp drawing is broken

Which operating system does the issue occur on?
Linux

If on linux, are you using X11 or Wayland?
X11

I could have sworn this was fixed in the past. But I can not find the previous issue for this, so I guess this might have been on IRC (or it was only in my dreams...)
The issue is that mocp uses a terminal command to draw/redraw the progress bar. However it seems like this command is not working as it should in alacritty.
The issue happens when playing an audio file and the progress bar is moving along the bottom:

The the progress bar hits the same position as the square bracket time stamp, the left most cell will vanish and there will be a gap in the progress bar too.
IIRC, this was a problem in the early days of alacritty too. But back then it was because the terminal command code used in this operation was not implemented. So this is a regression of sorts. But I don't know when the regression happened...
This happens with TERM set to either alacritty or xterm

@chrisduerr nope, that was a separate issue. That still works as it should.

The problem with an optimized redraw command is that it might not be 100% sound and cause issues with Alacritty, since some programs rely on slow drawing terminals or just partial damaging of the viewport instead of full redraws.
Would be good to find an independent example to make it clear that this is actually an issue with Alacritty and not just mocp trying to use a 'hack' for redrawing faster which isn't guaranteed to work properly by the various terminal specifications.

I think was a simple term code that it used. It's using ncurses from drawing IIRC.
It there a way to see the term codes sent in a debug mode?

The command alacritty -vv will print all unhandled escape codes sent.
To print every escape code, you'd have to modify the code. However there will likely be A LOT of escape codes.

This works as it should in the 0.1.1 release. So this seems to be a regression. I'll try to narrow down the commit that broke it.

Thanks, that will likely help a ton. Especially if it was a small commit which broke things.

Here's a simple minimal command for reproducing this issue:
echo -e "\e[41ma\e[10Xte\t\tst"

It seems like the \e[10X escape sequence should change the color for the next 10 cells, however since tabs are more than one cell long, things get messed up. The correct behavior here would be to treat all tab characters as only a single character extension.

I should note that this is a redraw issue. It renders fine at first. But some new draw commands seems to mess up the existing cells.
I also noticed some problems in weechat where letters disappear from the input field if I move the text cursor over them. But I haven't checked if it is 0c3e286 that is the cause for this too yet...

No, I'm running it without tmux/screen.

I can not reproduce this. Which shell are you running? Are you certain this is caused by the commit you've linked (do both these issues get fixed with the previous commit?)?

Yes both gets fixed if I revert the changes made to src/term/mod.rs in 0c3e286

I'm also affected by this in Emacs terminal mode and can confirm that reverting 0c3e286 resolves the issue.
The symptoms are exactly the same as the animated GIFs as shown in the comment above: when moving the cursor to the right, the character glyph under the previous position randomly vanishes.
(BTW, reverting has a minor conflict because of some refactor that has already happened in src/renderer/mod.rs.)

If it helps, my TERM is xterm-24bits whose terminfo definition came from this: https://www.gnu.org/software/emacs/manual/html_node/efaq/Colors-on-a-TTY.html .


chore: add git commit hash into ibc-relayer version string

background
We don't know how to clarify the git commit of a running Forcerelay instance, which would take a block to our further debug
The Forcerelay has already integrated REST-API feature while compiling and can just open it for changing the REST flag from false to true in config
Through /version api, the response contains version information without git commit hash, this should be adjusted
change logs

add git commit hash into the version printing of ibc-relayer

how's it work
via: http://<IP_ADDRESS>:3000/version

@Flouse review and update this PR to enable version manage


rearranged dependencies and bump gradle to 4.10.3

Includes TODOs for newer dependency updates
Signed-off-by: TacoTheDank<EMAIL_ADDRESS>

Sorry for leaving this hanging for so long – I hadn't seen it until now. Do you mind explaining the rationale behind rearranging everything like this? It seems somewhat unnecessary, but I can give a more formal review if you're interested.
CircleCI is also showing compilation errors with these changes. It looks like some method signatures changed with the recyclerview-fastscroll upgrade.

I feel that the way I organized and grouped it might make it more readable and a bit easier to understand (correct me if you disagree).

I'm gonna close this, since its now way behind, and it was kind of a mess anyways. I'll leave a link to the FAQ changes if you would like to just copy-paste it and make your own preferred changes. https://raw.githubusercontent.com/marverenic/Jockey/b70570d5319f2affa5a8357440dd9974d4585285/FAQs.md


Compile errors in VS 2017

I've manually created a VS 2017 project (without cmake) to compile discord-rpc for statically linking with my game (I need specific compiler settings for static linking to work)
I'm getting a bunch of compile errors in discord_register_win.cpp because it includes psapi.h before windows.h - types like BOOL, DWORD and WINAPI aren't defined apparently - swapping the order to include windows.h first fixes the compile errors.
Did you chose this include order with a particular reason in mind or did I miss something while creating my project file? Or is this actually an oversight and discord currently does not compile in VS 2017 without this fix?

I believe it is due to clang-format misconfiguration and has been fixed in https://github.com/discordapp/discord-rpc/commit/2f54e62c23939561c47a969ddaa68bca90fc064c.
It's possible to configure clang-format to always sort windows.h first, I'll try doing it later.

This is in the right order now.


network name format in docker 1.13

With the fix for issue #27449, docker 1.13 has a very strict check on the network names. This breaks some plugin implementations  that use the character '/' as a separator for encoding tenant name. Please allow some symbols like '/', ':', etc

ping @mavenugo @tiborvass; also looks like the intent was to make this a versioned change https://github.com/docker/docker/issues/27449#issuecomment-256094323

@vieux adding this to the 1.13 milestone for now; we may need to decide if the validation should be loosened up
@gkvijay orthogonal to this issue, but would using "labels" be a solution?

@thaJeztah, we could use labels to encode tenant name, but that would not let multiple tenants create networks with the same network name

@gkvijay couldn't you both add a label to encode tenant name, and a prefix for the name with the existing regex? tenantname_networkname ?

How is docker planning to handle host upgrades to docker 1.13 if users have special characters in these names? I would assume this will be a problem for swarm mode with overlay networks as well.

@gkvijay
Existing docker network are not going through the name check. Same for network removal operation.
Only network create is affected.
As suggested by @tiborvass, shouldn't be possible for your plugin/client to convert the old separator / with a new one that is accepted by current restriction.

Also, embedding a semantic into the name of a resource which belong to and is managed by another process does not seem correct. You cannot guarantee that that process will never change the resource name syntax.

If docker network creation can take a tenant parameter as well and have unique names for networks within a tenant (key=tenant+network), we don't need to embed the tenant in the network name. A tenant may not even see the network names of other tenants (for security) and hence may not be able to provide unique names across all tenants

@tiborvass @thaJeztah @allencloud should we think about reverting https://github.com/docker/docker/issues/27449 and introduce it after we have a proper version check to avoid such backward compatibility breakages ? Yes, 1.13.0 already broke this. But we can atleast ease the pain of the users for 1.13.1 and properly introduce such changes on a particular api-verison as @tiborvass suggested.

@mavenugo I think it makes sense, hope it's not too late for 1.13.1 though

@thaJeztah we have an upcoming libnetwork vendoring for the 1.13.1-rc2 and we can pick up the revert as well.
@tiborvass @allencloud pls voice your opinion about https://github.com/docker/docker/issues/29829#issuecomment-276660658.

oh @tiborvass gave a thumbs up

ah. emoji reactions .... thanks. @allencloud do you have any input here ?

While I agree with having a more sane set of accepted characters, I think we should revert and revisit for 1.14. Also wondering if the validation should go all the way in libnetwork (which is not only used by docker), or in the docker API. Putting it in the docker API makes it easier to version the change as well

Oh, thanks @mavenugo for the information. Actually I am OK for the revert. Back compatibility is a very important aspect in a enterprise solution. I missed that at the very beginning. Thanks a lot.


i can't find any next_auth verification token

Describe the bug

when using nextauth with the xata adapter, i can't find any next_auth verification token on the table,

I've followed the xata adapter docs for nextauth https://authjs.dev/reference/adapter/xata
Expected behavior
next_auth verification token
Software version
(base) ➜  ~ xata --version
@xata.io/cli/0.13.4 darwin-arm64 node-v18.14.0

"dependencies": {
    "@next-auth/xata-adapter": "^0.2.2",
    "@t3-oss/env-nextjs": "^0.3.1",
<EMAIL_ADDRESS>"^0.25.2",
    "next": "^13.4.2",
    "next-auth": "^4.22.4",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "zod": "^3.21.4"
  },

Additional context

@SferaDev when you have a moment, any chance you could dig into this? It looks like our adapter may be broken.

@alexfrancoeur is all of your product open source? i can try to file a PR for this

@alexfrancoeur and @SferaDev i've opensourced a xata-auth sample for you to test it,
my question is, does the nextauth_verificationTokens table still make sense knowing that there is a sessionToken field in the nextauth_sessions table
https://github.com/y-71/xata-auth

@y-71 Verification tokens are only for email sign-in to build magic links, if you are using google auth that table will always be empty. If you find any other problem feel free to open a new issue 😄

i've also found this PR by @SferaDev about adding oauth and it's still on draft, i'm using google auth solely for this project at this level, not sure if it's relevant since it looks like it's just for the cli

This is unrelated to next-auth and will add a new way to log in to the CLI.


Update example for Google OAuth2 offline access

Current README.md still mention approval_prompt that is not valid anymore.
Also, prompt=consent param is required in some situation (if user already approved an app) to have a refresh token returned when exchanging authorization code.
Also mentions Session.getEffectiveUser().getEmail() as an alternative to Session.getActiveUser().getEmail() in login_hint when used in add-on triggers (prevents a warning message on every execution).

Done!


gRPC changes to add alternate API end points which support multiple files - replaces #846

This PR is intended to replace #846.  This provides back end support for dart-pad having multiple file project/gist capabilities. (see @johnpryan 's https://github.com/dart-lang/dart-pad/issues/2149 and related issues)
This PR adds the following new gRPC end points which support multiple files:
/analyzeFiles
/compileFiles
/compileFilesDDC
/completeFiles
/fixesFiles
/assistsFiles
/documentFiles

These each accept mutli file versions of the proto3 messages that their single files counter parts accept.
These messages accept a file set map in the form of  { filename1:sourcecode1 .. filenameN:sourcecodeN }
(messages definitions can be found below)
Before this PR some of the existing single file entry points accepted the single file input and wrapped it in a multi file set map like shown above (in this case the map contains only the single main.dart entry).   This PR makes it uniform that all single file entry points wrap their single file input into a multi file set map consisting of a main.dart entry.
In this way below the entry point both the single and multi api end points share the same code.

The other changes included here are the removal of redundant calculation of imports.  This seemed inefficient, and more so with the new capability to compile multiple files.  Imports are now calculated once and passed through to where they are needed.
A new, efficient set of countLines()/countLinesInString() routines have been added to count the lines of source compiled.  This is done for logging purposes for every compile, previously .split('\n').length() was used, which does needless copying of data.  Again with the capability to compile >1 file it seemed to be the time to do this more efficiently.
hashSource() was replaced with _hashSources() - this functions identically for single file compiles and for multiple file set compiles it hashes each file in turn and then hashes the set of hashes.
all incoming filenames in the file sets are sanitized against containing up directory navigation (..) and also against containing 'package:', 'dart:', 'http://', 'https://' (the latter could be potentially be used circumvent import restriction checks)
If there is no main.dart within the fileset then an attempt is made to automatically identify the file containing the main() entry point that the boostrap needs to call.
Extensive testing of all of the new entry points has been added.  All test previously executed on the single file entry points are executed against the multiple file entry points, with the addition of a variety of test to exercise the various multiple file specific capabilities. (importing other files and library/part/part of testing, sanitizing, missing main.dart, etc.).  The number of tests have increased from 182 to 306.
Test were added for the new countLines(), countLinesInString() and filename sanitizing routines.
Testing of the GET /version end point was added (previously the 'get' test just called the POST /version

The net result is that we should now have the added capability of multiple file compiling/analyzing/etc, and in addition having all the existing api end points execute faster and more efficiently as well.
Thank you @domesticmouse and @srawlins for your patience in the long wait for me to complete this.  I lost a couple weeks to the easter break holiday.  I will address any suggestions, issues or corrections that may be needed promptly.
(I also did not know if it was possible to change the branch that an existing PR was based on, and i was lazy and made this new PR instead of updating the existing daft PR #846 - forgive me)
new proto3 messages added for multiple file entry points
/// Compile request for a multiple file set
message CompileFilesRequest {
  // The Dart source files set. map of { filename1:sourcecode1 .. filenameN:sourcecodeN }
  map<string, string> files = 1;

  // Return the Dart to JS source map; optional (defaults to false).
  bool returnSourceMap = 2;
}

/// DDC Compile request for a multiple file set
message CompileFilesDDCRequest {
  // The Dart source files set. map of { filename1:sourcecode1 .. filenameN:sourcecodeN }
  map<string, string> files = 1;
}

/// Multiple file set of dart source for analysis, completion, fixes, etc.
message SourceFilesRequest {
  // The Dart source files set. map of { filename1:sourcecode1 .. filenameN:sourcecodeN }
  map<string, string> files = 1;

  // active (within editor) source filename key within files map
  string activeSourceName = 2;

  // The offset within active source file to operate at.
  int32 offset = 3;
}

@srawlins do you want to also review this PR?

Yes I'll try to review today.

@srawlins    I will take a moment and get all of your suggestions addressed as soon as I can today.  I will also comb through my other comments and correct anything I find there as well.
I addressed the null check like this:
final packageImports = {
    if (imports != null) ...imports!.filterSafePackages(),
  };

but would you prefer the more concise ?
final packageImports = {
    ...?imports?.filterSafePackages(),
  };

Thank you for taking the time to review the code and offer your suggestions!

but would you prefer the more concise ?
final packageImports = {
    ...?imports?.filterSafePackages(),
  };

I have no preference between the two. Given the latter is @srawlins' suggestion, I'd go with that =)

I have combed through and corrected and clarified all of the comments.  I do apologize for them being in such a state!
..and I went with @srawlins suggestion:
final packageImports = {
    ...?imports?.filterSafePackages(),
  };

My clarification question was silly as this is clearly the better choice as it avoids the ! altogether.

Something has gone wrong with the tests by the look of things. We might need to break this PR down into smaller pieces to sneak up on the breakage.

I saw yesterday that the test said they completed ok but then that test process got to the summary logging and did not exit..
Is that what you are speaking of ? In the log I looked at it had some messages about memory...  They all complete ok/normally in all my local runs.
I could try commenting out blocks of the test seeing what I can track down - but unfortunately I think you have to trigger all the test running manually for this repo don't you ?

I only have to ack tests on your first PR. Once you have a committed PR, the tests just run. That's why I'm asking to break this PR into multiple pieces...

ok - I have implemented all of @srawlins suggestions.
I also ran completed tests suite again locally without issue, but I have made some 'skip:true' modifications to skip some of the multi file test groups in an attempt to see if I can track down what is causing the server test step to not exit after successfully completing test.

@domesticmouse - I am still accessing what could be broken out of this PR to make a smaller PR to commit.  In the mean time I will keep checking back to check the test results once you have had a chance to ack the tests for these changes.

For the purposes of being able to debug this PR, adding a space to the README would be sufficient.

OK @domesticmouse - Got it! 🥳 All test are working and exiting cleanly now.
There was a mismatched closing of the group() wrapper group test for Null Unsafe/Safe compiler tests.  This resulted in the setUpAll() and tearDownAll() not being wrapped around all of the tests.
The compiler variable was declared at the top of the function late Compiler compiler; - so when the later tests (which were incorrectly not within the group with the setupAll()/tearDownAll()) executed, somewhere along the async journey the tearDownAll() would finally be called, and from that point on the compiler variable was junk - and the outsider test continued using it and :bomb: (the memory somewhere was probably getting hashed.  When executed locally it all probably happened fast enough that it was ok, or the memory didn't get GC'ed, etc.  It's weird the compiler calls still worked and the test passed!?..lol)
In java I would always have done a compiler=null; after the compiler.dispose(); , just for good measure, to help catch weird things like this.  Here that of course can't be done as is because of null safety - and declaring it late Compiler? compiler; seems messy just to catch a random situation like this..
late Compiler compiler;

...

for (final nullSafety in [false, true]) {
    group('Null ${nullSafety ? 'Safe' : 'Unsafe'} Compiler', () {
      setUpAll(() async {
        final channel =
            Platform.environment['FLUTTER_CHANNEL'] ?? stableChannel;
        compiler = Compiler(Sdk.create(channel));
        await compiler.warmup();
      });

      tearDownAll(() async {
        await compiler.dispose();
      });

  ...many tests...

  }); // group gets closed

 ...more test  HERE, mistakenly not part of group because closed above..  :bomb:
     THESE clobbered memory somewhere after tearDownAll() was called
     at end of group because compiler var got compiler.dispose()'ed and
     it was still being used..

} // end for loop

@domesticmouse / @srawlins  You know i got to thinking that this for loop for nullSafety in compiler_test.dart must be a legacy hold out, after checking it's value is never used to configure the compilers (indeed compile.dart is now hard wired to always have null-safety on) - so this for loop should really be removed and the group comment changed to 'Null Safe'..
shouldn't it - unless i am missing something... :wink: ?
for (final nullSafety in [false, true]) {
    group('Null ${nullSafety ? 'Safe' : 'Unsafe'} Compiler', () {
    ..
    });
}

Maybe move the compiler declaration to a closer lexical scope and rely on capture in the closures?

Maybe move the compiler declaration to a closer lexical scope and rely on capture in the closures?

Done.   That will prevent something similar from happening again.

And yes, null safety was a duplication for the old state of having both null safe and null unsafe servers. Feel free to simplify and sanitise as required.
Might be easier to do in a separate PR 🤓

@domesticmouse - I made a separate PR for that change as requested.

Just to manage expectations, I'm looking to hold dart services where it is until I/O, as we will be part of the show.
Providing Sam and I give the thumbs up on code reviews, I'd like to land this PR in the week after I/O.
Thoughts?

@domesticmouse Thanks for the update, I appreciate it.  That was absolutely my expectations.  I figured you guys would be busy getting ready for I/O.
My next PR for dart-services should be the Github OAuth end points as a separate shelf handler (I know you mentioned you could take care of it, but I figured you are plenty busy with other things).  That is a fairly small/simple one.
I was out of the office today and tomorrow, but I am just wrapping up a tangent I went of off on over the weekend (while waiting for the github workflows to hang.. lol) - support for Mermaid diagrams by the markdown package that @srawlins ponders over at the end of https://github.com/dart-lang/markdown/issues/228 .  They are pretty slick.
Feel free to point me in the direction of anything that you would like to see done (or even prototyped).

I think this question is for you @RedBrogdon =)

Feel free to point me in the direction of anything that you would like to see done (or even prototyped).

Do you have time and a desire to review this @srawlins?

Actually the updated linter is throwing up a hairball. Please update

Ok @domesticmouse those linter issues have been fixed.


no presence of its-tool-ref property

In the results provided in the https://github.com/freme-project/e-Internationalization/issues/30#issuecomment-175468814 there is no presence of the its-tool-ref property. Not sure if this has been considered/implemented already, but I think its good to highlight that.

It is neither implemented nor considered at the moment. As now I'm changing the code for fixing the multiple attributes issue  (see comments in #30), I'm going to check if I can easily add this property as well.

OK, thanks for clarification. Lets leave this issue open for the time being.

The issue #30 is fixed now. I couldn't insert this property because I don't know how to use it. I thought it was a simple conversion from a NIF property to a HTML attribute. So I agree, let's leave this issue opened for now.

whats the status of this issue?
I still dont see this information in HTML.
In RDF its itsrdf:taAnnotatorsRef, in HTMl should be its-annotators-ref. Can we have this done @borriellom or @katia-vistatec ?

Ok.

input-out-local.txt
input-out-dev.txt

curl -X POST --header "Content-Type: text/html" --data<EMAIL_ADDRESS>--header "Accept: text/html" "http://api-dev.freme-project.eu/current/e-terminology/tilde?informat=text/html&outformat=text/html&source-lang=en&target-lang=nl&nif-version=2.1" > input-out-dev.txt
curl -X POST --header "Content-Type: text/html" --data<EMAIL_ADDRESS>--header "Accept: text/html" "http://localhost:8080/e-terminology/tilde?informat=text/html&outformat=text/html&source-lang=en&target-lang=nl&nif-version=2.1" > input-out-local.txt

If I run it locally (second curl request) I obtain input-ou-local.txt as the output and it has the its-ta-annotators-ref attribute inside the HTML tag.
If I run it pointing to api-dev (first curl request)  I don't see the attribute (see output file attached input-out-dev.txt).
So I think It's a version problem. Maybe the artifact version of internationalization that is being used is not the one containing the implementation.

ok, thanks for the info.
@jnehring can you investigate the problem?
@katia-vistatec can you please generate one output example using FREME NER? Thanks!

Freme ner I can't debug it locally. If I do:
curl -X POST --header "Content-Type: text/html" --header "Accept: text/html" --data<EMAIL_ADDRESS>"http://api-dev.freme-project.eu/current/e-entity/freme-ner/documents?informat=text%2Fhtml&outformat=text%2Fhtml&language=en&dataset=dbpedia&mode=all" > input-out-ner-dev.txt
the output does not contain the annotators-ref attribute.

why there is no annotators-ref attribute for freme ner? any ideas?

Because of the same version problem. Indeed in the curl there is http://api-dev.freme-project.eu/current.

Indeed in the curl there is http://api-dev.freme-project.eu/current.

Are you saying that it should work for API dev?
I try to send:
data.txt
and run
curl -X POST --header "Content-Type: text/html" --header "Accept: text/html" -d @data.txt "http://api-dev.freme-project.eu/current/e-entity/freme-ner/documents?informat=text%2Fhtml&outformat=text%2Fhtml&language=en&dataset=dbpedia&mode=all"

but I get no annotators-ref in the output html.

No I am saying that is currently working only "locally" when I use localhost:8080 in the curl request but not on API dev so every curl request to api dev is not working.
There was a previous issue that Jan closed and at that time it was working also on dev.
I think it is a version problem. The artifactId of internationalization is not the one that contains the implementation.

See https://github.com/freme-project/basic-services/issues/111

Could be that broker-dev is pointing to internationalization jar 0.6 and this version does not contain the implementation of annotators-ref attribute. This can easily happen because of default artifact versions and  in freme-parent pom.

I updated e-Internationalization on freme-dev to the latest version 0.8-SNAPSHOT (see #41). Please test

tested but the its-tool-ref property is not found in the output.
I send data.txt by executing
curl -X POST --header "Content-Type: text/html" --header "Accept: text/html" -d @data.txt "http://api-dev.freme-project.eu/current/e-entity/freme-ner/documents?informat=text%2Fhtml&outformat=text%2Fhtml&language=en&dataset=dbpedia&mode=all"

and the results are

  <title>dummy title</title>

Welcome to the city of Berlin!

I think I found why is that. I use nif-version 2.0 and there is no itsrdf:taAnnotatorsRef information.
@sandroacoelho please add itsrdf:taAnnotatorsRef also for NIF 2.0?
I have two questions for @borriellom @katia-vistatec:

does e-Internationalization understand NIF 2.1?

why do you add the its-tool-ref property in the  element? the its-tool-ref should be at the annotation level, in the same element where you attach the entity link, types, etc.  I think this should be fixed. This happens for e-terminology but also for e-entity if I call with nif 2.1

Yes, internationalization handles nif 2.1. The itsrdf:taAnnotatorsRef  has been added only for nif 2.1.

ok, so why its-tool-ref is not present in the FREME NER output (in: HTML, out: HTML)?

The curl here has no nif-version parameter.

but even if I put nif-version=2.1 it does not work
try:
curl -X POST --header "Content-Type: text/html" --header "Accept: text/html" -d @data.txt "http://api-dev.freme-project.eu/current/e-entity/freme-ner/documents?informat=text%2Fhtml&outformat=text%2Fhtml&language=en&dataset=dbpedia&mode=all&nif-version=2.1"

I was trying to ask for a nif output to see if the property is in the nif file but I can't connect to the host.

what host? freme ner dev is up and running.

also, if I process

  <title></title>

Welcome to Europe.

I get

  <title></title>

Welcome to Europe.

but the entities are  not annotated (in  element).

during a dev telco decided to close the issue


Querying over network doesn't seem to be working on windows

So I'm announcing a service like this(this is with latest main):
// task::spawn is from async-std
task::spawn(async {
    let addr = local_ipaddress::get().unwrap();
    let mdns = ServiceDaemon::new()
        .expect("Failed to construct ServiceDaemon");

    let service = ServiceInfo::new(
        "_test._tcp.local.",
        "test",
        &format!("{addr}.local."),
        &addr,
        8081,
       None
    ).expect("Failed to construct ServiceInfo");

    mdns.register(service).expect("Failed to register service");

    // Keep it running
    loop {
        task::sleep(Duration::from_millis(250)).await;
    }
});

dns-sd is picking it up:
> dns-sd.exe -L test _test._tcp local.
Lookup test._test._tcp.local.
19:46:58.600  test._test._tcp.local. can be reached at <IP_ADDRESS>.local.:8081 (
interface 33)

But query example does not (works if I run them both on the same machine):
> cargo.exe run -q --example query _test._tcp
Received other event: SearchStarted("_test._tcp.local.")
Received other event: SearchStarted("_test._tcp.local.")
Received other event: SearchStarted("_test._tcp.local.")
Received other event: SearchStarted("_test._tcp.local.")

it's also possible that this is a firewall issue.

What should I look at? dns-sd.exe and another crate do not have this problem.

@anenankhu  the query side log shows that it has not received any responses (i.e. answers).  Is it possible to get logs of the registered service side?

@keepsimple1
❯ ./test.exe
tide::log Logger started
    level DEBUG
mdns_sd new socket bind to <IP_ADDRESS>:5353
mdns_sd created listening socket: Socket { raw: 332, local_addr: Some(SockAddr { ss_family: 2, len: 16 }), peer_addr: None }
tide::server Server listening on http://<IP_ADDRESS>:8081
mdns_sd new socket bind to <IP_ADDRESS>:5353
mdns_sd register service ServiceInfo { ty_domain: "_test._tcp.local.", fullname: "test._test._tcp.local.", server: "<IP_ADDRESS>.local."
, addresses: {<IP_ADDRESS>}, port: 8081, host_ttl: 120, other_ttl: 4500, priority: 0, weight: 0, properties: {"ip": "<IP_ADDRESS>"} }
mdns_sd broadcast service test._test._tcp.local.
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsPointer { record: DnsRecord { entry: DnsEntry { name: "_test._tcp.local.", ty: 12, class: 1, unique: false }, ttl:
4500, created:<PHONE_NUMBER>596, refresh:<PHONE_NUMBER>596 }, alias: "test._test._tcp.local." }
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsSrv { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 33, class: 1, unique: true }, ttl:
 120, created:<PHONE_NUMBER>597, refresh:<PHONE_NUMBER>597 }, priority: 0, weight: 0, host: "<IP_ADDRESS>.local.", port: 8081 }
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsTxt { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 16, class: 1, unique: true }, ttl:
 4500, created:<PHONE_NUMBER>597, refresh:<PHONE_NUMBER>597 }, text: [16, 105, 112, 61, 49, 57, 50, 46, 49, 54, 56, 46, 49, 46, 49, 50, 54] }
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsAddress { record: DnsRecord { entry: DnsEntry { name: "<IP_ADDRESS>.local.", ty: 1, class: 1, unique: true }, ttl: 120,
 created:<PHONE_NUMBER>598, refresh:<PHONE_NUMBER>598 }, address: <IP_ADDRESS> }
mdns_sd Sending response to SockAddr { ss_family: 2, len: 16 }: 0 questions 4 answers 0 authorities 0 additional
mdns_sd writing text length 17
mdns_sd sent out 132 bytes on socket Socket { raw: 340, local_addr: Some(SockAddr { ss_family: 2, len: 16 }), peer_addr: None }
mdns_sd received 132 bytes
mdns_sd read_header: id 0, 0 questions 4 answers 0 authorities 0 additionals
mdns_sd read_questions: 0
mdns_sd read_others: 4
mdns_sd DnsPointer { record: DnsRecord { entry: DnsEntry { name: "_test._tcp.local.", ty: 12, class: 1, unique: false }, ttl: 4500, created: 16
55403497599, refresh:<PHONE_NUMBER>599 }, alias: "test._test._tcp.local." }
mdns_sd DnsSrv { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 33, class: 1, unique: true }, ttl: 120, created: 16
55403497600, refresh:<PHONE_NUMBER>600 }, priority: 0, weight: 0, host: "<IP_ADDRESS>.local.", port: 8081 }
mdns_sd DnsTxt { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 16, class: 1, unique: true }, ttl: 4500, created: 1
655403497600, refresh:<PHONE_NUMBER>600 }, text: [16, 105, 112, 61, 49, 57, 50, 46, 49, 54, 56, 46, 49, 46, 49, 50, 54] }
mdns_sd DnsAddress { record: DnsRecord { entry: DnsEntry { name: "<IP_ADDRESS>.local.", ty: 1, class: 1, unique: true }, ttl: 120, created: 1655403
497600, refresh:<PHONE_NUMBER>600 }, address: <IP_ADDRESS> }
mdns_sd handle_response: 4 answers 0 authorities 0 additionals
mdns_sd add_or_update record name: "_test._tcp.local."
mdns_sd Not interested for any querier
mdns_sd add_or_update record name: "test._test._tcp.local."
mdns_sd add_or_update record name: "test._test._tcp.local."
mdns_sd add_or_update record name: "<IP_ADDRESS>.local."
mdns_sd announce service: test._test._tcp.local.
mdns_sd broadcast service test._test._tcp.local.
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsPointer { record: DnsRecord { entry: DnsEntry { name: "_test._tcp.local.", ty: 12, class: 1, unique: false }, ttl:
4500, created:<PHONE_NUMBER>610, refresh:<PHONE_NUMBER>610 }, alias: "test._test._tcp.local." }
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsSrv { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 33, class: 1, unique: true }, ttl:
 120, created:<PHONE_NUMBER>610, refresh:<PHONE_NUMBER>610 }, priority: 0, weight: 0, host: "<IP_ADDRESS>.local.", port: 8081 }
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsTxt { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 16, class: 1, unique: true }, ttl:
 4500, created:<PHONE_NUMBER>611, refresh:<PHONE_NUMBER>611 }, text: [16, 105, 112, 61, 49, 57, 50, 46, 49, 54, 56, 46, 49, 46, 49, 50, 54] }
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsAddress { record: DnsRecord { entry: DnsEntry { name: "<IP_ADDRESS>.local.", ty: 1, class: 1, unique: true }, ttl: 120,
 created:<PHONE_NUMBER>611, refresh:<PHONE_NUMBER>611 }, address: <IP_ADDRESS> }
mdns_sd Sending response to SockAddr { ss_family: 2, len: 16 }: 0 questions 4 answers 0 authorities 0 additional
mdns_sd writing text length 17
mdns_sd sent out 132 bytes on socket Socket { raw: 340, local_addr: Some(SockAddr { ss_family: 2, len: 16 }), peer_addr: None }
mdns_sd received 132 bytes
mdns_sd read_header: id 0, 0 questions 4 answers 0 authorities 0 additionals
mdns_sd read_questions: 0
mdns_sd read_others: 4
mdns_sd DnsPointer { record: DnsRecord { entry: DnsEntry { name: "_test._tcp.local.", ty: 12, class: 1, unique: false }, ttl: 4500, created: 16
55403498613, refresh:<PHONE_NUMBER>613 }, alias: "test._test._tcp.local." }
mdns_sd DnsSrv { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 33, class: 1, unique: true }, ttl: 120, created: 16
55403498613, refresh:<PHONE_NUMBER>613 }, priority: 0, weight: 0, host: "<IP_ADDRESS>.local.", port: 8081 }
mdns_sd DnsTxt { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 16, class: 1, unique: true }, ttl: 4500, created: 1
655403498613, refresh:<PHONE_NUMBER>613 }, text: [16, 105, 112, 61, 49, 57, 50, 46, 49, 54, 56, 46, 49, 46, 49, 50, 54] }
mdns_sd DnsAddress { record: DnsRecord { entry: DnsEntry { name: "<IP_ADDRESS>.local.", ty: 1, class: 1, unique: true }, ttl: 120, created: 1655403
498614, refresh:<PHONE_NUMBER>614 }, address: <IP_ADDRESS> }
mdns_sd handle_response: 4 answers 0 authorities 0 additionals
mdns_sd add_or_update record name: "_test._tcp.local."
mdns_sd Not interested for any querier
mdns_sd add_or_update record name: "test._test._tcp.local."
mdns_sd add_or_update record name: "test._test._tcp.local."
mdns_sd add_or_update record name: "<IP_ADDRESS>.local."
mdns_sd received 402 bytes
mdns_sd read_header: id 0, 0 questions 8 answers 0 authorities 4 additionals
mdns_sd read_questions: 0
mdns_sd read_others: 12
mdns_sd DnsTxt { record: DnsRecord { entry: DnsEntry { name: "chromecast._androidtvremote2._tcp.local.", ty: 16, class: 1, unique: true }, ttl: 4500, cr
eated:<PHONE_NUMBER>319, refresh:<PHONE_NUMBER>319 }, text: [20, 98, 116, 61, 69, 48, 58, 66, 54, 58, 53, 53, 58, 57, 68, 58, 55, 57, 58, 57, 56] }
mdns_sd DnsPointer { record: DnsRecord { entry: DnsEntry { name: "_services._dns-sd._udp.local.", ty: 12, class: 1, unique: false }, ttl: 4500, crea
ted:<PHONE_NUMBER>319, refresh:<PHONE_NUMBER>319 }, alias: "_androidtvremote2._tcp.local." }
mdns_sd DnsPointer { record: DnsRecord { entry: DnsEntry { name: "_androidtvremote2._tcp.local.", ty: 12, class: 1, unique: false }, ttl: 4500, crea
ted:<PHONE_NUMBER>320, refresh:<PHONE_NUMBER>320 }, alias: "chromecast._androidtvremote2._tcp.local." }
mdns_sd DnsSrv { record: DnsRecord { entry: DnsEntry { name: "chromecast._androidtvremote2._tcp.local.", ty: 33, class: 1, unique: true }, ttl: 120, cre
ated:<PHONE_NUMBER>320, refresh:<PHONE_NUMBER>320 }, priority: 0, weight: 0, host: "Android.local.", port: 6466 }
mdns_sd DnsPointer { record: DnsRecord { entry: DnsEntry { name: "<IP_ADDRESS>.in-addr.arpa.", ty: 12, class: 1, unique: true }, ttl: 120, created:
<PHONE_NUMBER>320, refresh:<PHONE_NUMBER>320 }, alias: "Android.local." }
mdns_sd DnsPointer { record: DnsRecord { entry: DnsEntry { name: "8.A.F.2.B.9.E.F.F.F.5.5.6.B.2.E.<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>.0.8.E.F.ip6.arpa.", ty: 12
, class: 1, unique: true }, ttl: 120, created:<PHONE_NUMBER>321, refresh:<PHONE_NUMBER>321 }, alias: "Android.local." }
mdns_sd DnsAddress { record: DnsRecord { entry: DnsEntry { name: "Android.local.", ty: 1, class: 1, unique: true }, ttl: 120, created:<PHONE_NUMBER>321
, refresh:<PHONE_NUMBER>321 }, address: <IP_ADDRESS> }
mdns_sd We don't support IPv6 TYPE_AAAA records
mdns_sd handle_response: 8 answers 0 authorities 4 additionals
mdns_sd add_or_update record name: "chromecast._androidtvremote2._tcp.local."
mdns_sd add_or_update record name: "_services._dns-sd._udp.local."
mdns_sd Not interested for any querier
mdns_sd add_or_update record name: "_androidtvremote2._tcp.local."
mdns_sd Not interested for any querier
mdns_sd add_or_update record name: "chromecast._androidtvremote2._tcp.local."
mdns_sd add_or_update record name: "<IP_ADDRESS>.in-addr.arpa."
mdns_sd Not interested for any querier
mdns_sd add_or_update record name: "8.A.F.2.B.9.E.F.F.F.5.5.6.B.2.E.<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>.0.8.E.F.ip6.arpa."
mdns_sd Not interested for any querier
mdns_sd add_or_update record name: "Android.local."

And this is the one when I run an example bundled with mdns-sd:
❯ ./test.exe
tide::log Logger started
    level DEBUG
mdns_sd new socket bind to <IP_ADDRESS>:5353
mdns_sd created listening socket: Socket { raw: 320, local_addr: Some(SockAddr { ss_family: 2, len: 16 }), peer_addr: None }
tide::server Server listening on http://<IP_ADDRESS>:8081
mdns_sd new socket bind to <IP_ADDRESS>:5353
mdns_sd register service ServiceInfo { ty_domain: "_test._tcp.local.", fullname: "test._test._tcp.local.", server: "<IP_ADDRESS>.local."
, addresses: {<IP_ADDRESS>}, port: 8081, host_ttl: 120, other_ttl: 4500, priority: 0, weight: 0, properties: {"ip": "<IP_ADDRESS>"} }
mdns_sd broadcast service test._test._tcp.local.
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsPointer { record: DnsRecord { entry: DnsEntry { name: "_test._tcp.local.", ty: 12, class: 1, unique: false }, ttl:
4500, created:<PHONE_NUMBER>288, refresh:<PHONE_NUMBER>288 }, alias: "test._test._tcp.local." }
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsSrv { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 33, class: 1, unique: true }, ttl:
 120, created:<PHONE_NUMBER>288, refresh:<PHONE_NUMBER>288 }, priority: 0, weight: 0, host: "<IP_ADDRESS>.local.", port: 8081 }
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsTxt { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 16, class: 1, unique: true }, ttl:
 4500, created:<PHONE_NUMBER>289, refresh:<PHONE_NUMBER>289 }, text: [16, 105, 112, 61, 49, 57, 50, 46, 49, 54, 56, 46, 49, 46, 49, 50, 54] }
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsAddress { record: DnsRecord { entry: DnsEntry { name: "<IP_ADDRESS>.local.", ty: 1, class: 1, unique: true }, ttl: 120,
 created:<PHONE_NUMBER>289, refresh:<PHONE_NUMBER>289 }, address: <IP_ADDRESS> }
mdns_sd Sending response to SockAddr { ss_family: 2, len: 16 }: 0 questions 4 answers 0 authorities 0 additional
mdns_sd writing text length 17
mdns_sd sent out 132 bytes on socket Socket { raw: 340, local_addr: Some(SockAddr { ss_family: 2, len: 16 }), peer_addr: None }
mdns_sd received 132 bytes
mdns_sd read_header: id 0, 0 questions 4 answers 0 authorities 0 additionals
mdns_sd read_questions: 0
mdns_sd read_others: 4
mdns_sd DnsPointer { record: DnsRecord { entry: DnsEntry { name: "_test._tcp.local.", ty: 12, class: 1, unique: false }, ttl: 4500, created: 16
55403917291, refresh:<PHONE_NUMBER>291 }, alias: "test._test._tcp.local." }
mdns_sd DnsSrv { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 33, class: 1, unique: true }, ttl: 120, created: 16
55403917291, refresh:<PHONE_NUMBER>291 }, priority: 0, weight: 0, host: "<IP_ADDRESS>.local.", port: 8081 }
mdns_sd DnsTxt { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 16, class: 1, unique: true }, ttl: 4500, created: 1
655403917292, refresh:<PHONE_NUMBER>292 }, text: [16, 105, 112, 61, 49, 57, 50, 46, 49, 54, 56, 46, 49, 46, 49, 50, 54] }
mdns_sd DnsAddress { record: DnsRecord { entry: DnsEntry { name: "<IP_ADDRESS>.local.", ty: 1, class: 1, unique: true }, ttl: 120, created: 1655403
917292, refresh:<PHONE_NUMBER>292 }, address: <IP_ADDRESS> }
mdns_sd handle_response: 4 answers 0 authorities 0 additionals
mdns_sd add_or_update record name: "_test._tcp.local."
mdns_sd Not interested for any querier
mdns_sd add_or_update record name: "test._test._tcp.local."
mdns_sd add_or_update record name: "test._test._tcp.local."
mdns_sd add_or_update record name: "<IP_ADDRESS>.local."
mdns_sd announce service: test._test._tcp.local.
mdns_sd broadcast service test._test._tcp.local.
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsPointer { record: DnsRecord { entry: DnsEntry { name: "_test._tcp.local.", ty: 12, class: 1, unique: false }, ttl:
4500, created:<PHONE_NUMBER>301, refresh:<PHONE_NUMBER>301 }, alias: "test._test._tcp.local." }
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsSrv { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 33, class: 1, unique: true }, ttl:
 120, created:<PHONE_NUMBER>302, refresh:<PHONE_NUMBER>302 }, priority: 0, weight: 0, host: "<IP_ADDRESS>.local.", port: 8081 }
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsTxt { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 16, class: 1, unique: true }, ttl:
 4500, created:<PHONE_NUMBER>302, refresh:<PHONE_NUMBER>302 }, text: [16, 105, 112, 61, 49, 57, 50, 46, 49, 54, 56, 46, 49, 46, 49, 50, 54] }
mdns_sd Check for add_answer_at_time
mdns_sd add_answer push: DnsAddress { record: DnsRecord { entry: DnsEntry { name: "<IP_ADDRESS>.local.", ty: 1, class: 1, unique: true }, ttl: 120,
 created:<PHONE_NUMBER>303, refresh:<PHONE_NUMBER>303 }, address: <IP_ADDRESS> }
mdns_sd Sending response to SockAddr { ss_family: 2, len: 16 }: 0 questions 4 answers 0 authorities 0 additional
mdns_sd writing text length 17
mdns_sd sent out 132 bytes on socket Socket { raw: 340, local_addr: Some(SockAddr { ss_family: 2, len: 16 }), peer_addr: None }
mdns_sd received 132 bytes
mdns_sd read_header: id 0, 0 questions 4 answers 0 authorities 0 additionals
mdns_sd read_questions: 0
mdns_sd read_others: 4
mdns_sd DnsPointer { record: DnsRecord { entry: DnsEntry { name: "_test._tcp.local.", ty: 12, class: 1, unique: false }, ttl: 4500, created: 16
55403918305, refresh:<PHONE_NUMBER>305 }, alias: "test._test._tcp.local." }
mdns_sd DnsSrv { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 33, class: 1, unique: true }, ttl: 120, created: 16
55403918305, refresh:<PHONE_NUMBER>305 }, priority: 0, weight: 0, host: "<IP_ADDRESS>.local.", port: 8081 }
mdns_sd DnsTxt { record: DnsRecord { entry: DnsEntry { name: "test._test._tcp.local.", ty: 16, class: 1, unique: true }, ttl: 4500, created: 1
655403918306, refresh:<PHONE_NUMBER>306 }, text: [16, 105, 112, 61, 49, 57, 50, 46, 49, 54, 56, 46, 49, 46, 49, 50, 54] }
mdns_sd DnsAddress { record: DnsRecord { entry: DnsEntry { name: "<IP_ADDRESS>.local.", ty: 1, class: 1, unique: true }, ttl: 120, created: 1655403
918306, refresh:<PHONE_NUMBER>306 }, address: <IP_ADDRESS> }
mdns_sd handle_response: 4 answers 0 authorities 0 additionals
mdns_sd add_or_update record name: "_test._tcp.local."
mdns_sd Not interested for any querier
mdns_sd add_or_update record name: "test._test._tcp.local."
mdns_sd add_or_update record name: "test._test._tcp.local."
mdns_sd add_or_update record name: "<IP_ADDRESS>.local."
mdns_sd received 110 bytes
mdns_sd read_header: id 0, 3 questions 0 answers 0 authorities 1 additionals
mdns_sd read_questions: 3
mdns_sd read_others: 1
mdns_sd question: DnsQuestion { entry: DnsEntry { name: "lb._dns-sd._udp.local.", ty: 12, class: 1, unique: false } }
mdns_sd question: DnsQuestion { entry: DnsEntry { name: "_companion-link._tcp.local.", ty: 12, class: 1, unique: false } }
mdns_sd question: DnsQuestion { entry: DnsEntry { name: "_homekit._tcp.local.", ty: 12, class: 1, unique: false } }
mdns_sd received 40 bytes
mdns_sd read_header: id 0, 1 questions 0 answers 0 authorities 0 additionals
mdns_sd read_questions: 1
mdns_sd read_others: 0
mdns_sd question: DnsQuestion { entry: DnsEntry { name: "_googlecast._tcp.local.", ty: 12, class: 1, unique: false } }
mdns_sd received 80 bytes
mdns_sd read_header: id 0, 1 questions 0 answers 0 authorities 0 additionals
mdns_sd read_questions: 1
mdns_sd read_others: 0
mdns_sd question: DnsQuestion { entry: DnsEntry { name: "chromecast-b9095dcac2a66e3f1f3b10a62db9e8c0._googlecast._tcp.local.", ty: 33, class: 1, unique:
 false } }
mdns_sd received 334 bytes
mdns_sd read_header: id 0, 0 questions 1 answers 0 authorities 3 additionals
mdns_sd read_questions: 0
mdns_sd read_others: 4
mdns_sd DnsPointer { record: DnsRecord { entry: DnsEntry { name: "_googlecast._tcp.local.", ty: 12, class: 1, unique: false }, ttl: 120, created: 16
55403932298, refresh:<PHONE_NUMBER>298 }, alias: "chromecast-b9095dcac2a66e3f1f3b10a62db9e8c0._googlecast._tcp.local." }
mdns_sd DnsTxt { record: DnsRecord { entry: DnsEntry { name: "chromecast-b9095dcac2a66e3f1f3b10a62db9e8c0._googlecast._tcp.local.", ty: 16, class: 1, un
ique: true }, ttl: 4500, created:<PHONE_NUMBER>298, refresh:<PHONE_NUMBER>298 }, text: [35, 105, 100, 61, 98, 57, 48, 57, 53, 100, 99, 97, 99, 50, 97, 54,
 54, 101, 51, 102, 49, 102, 51, 98, 49, 48, 97, 54, 50, 100, 98, 57, 101, 56, 99, 48, 35, 99, 100, 61, 65, 68, 49, 56, 51, 51, 67, 53, 48, 69, 56, 6
7, 50, 54, 48, 56, 70, 50, 70, 66, 53, 50, 57, 67, 70, 52, 56, 51, 57, 51, 48, 65, 3, 114, 109, 61, 5, 118, 101, 61, 48, 53, 9, 109, 100, 61, 77, 73
, 66, 79, 88, 52, 18, 105, 99, 61, 47, 115, 101, 116, 117, 112, 47, 105, 99, 111, 110, 46, 112, 110, 103, 9, 102, 110, 61, 77, 73, 66, 79, 88, 52, 9
, 99, 97, 61, 52, 54, 51, 51, 54, 53, 4, 115, 116, 61, 48, 15, 98, 115, 61, 70, 65, 56, 70, 52, 51, 65, 65, 66, 69, 70, 70, 4, 110, 102, 61, 49, 3,
114, 115, 61] }
mdns_sd DnsSrv { record: DnsRecord { entry: DnsEntry { name: "chromecast-b9095dcac2a66e3f1f3b10a62db9e8c0._googlecast._tcp.local.", ty: 33, class: 1, un
ique: true }, ttl: 120, created:<PHONE_NUMBER>299, refresh:<PHONE_NUMBER>299 }, priority: 0, weight: 0, host: "b9095dca-c2a6-6e3f-1f3b-10a62db9e8c0.local.
", port: 8009 }
mdns_sd DnsAddress { record: DnsRecord { entry: DnsEntry { name: "b9095dca-c2a6-6e3f-1f3b-10a62db9e8c0.local.", ty: 1, class: 1, unique: true }, ttl
: 120, created:<PHONE_NUMBER>299, refresh:<PHONE_NUMBER>299 }, address: <IP_ADDRESS> }
mdns_sd handle_response: 1 answers 0 authorities 3 additionals
mdns_sd add_or_update record name: "_googlecast._tcp.local."
mdns_sd Not interested for any querier
mdns_sd add_or_update record name: "chromecast-b9095dcac2a66e3f1f3b10a62db9e8c0._googlecast._tcp.local."
mdns_sd add_or_update record name: "chromecast-b9095dcac2a66e3f1f3b10a62db9e8c0._googlecast._tcp.local."
mdns_sd add_or_update record name: "b9095dca-c2a6-6e3f-1f3b-10a62db9e8c0.local."
mdns_sd received 147 bytes
mdns_sd read_header: id 0, 0 questions 1 answers 0 authorities 1 additionals
mdns_sd read_questions: 0
mdns_sd read_others: 2
mdns_sd DnsSrv { record: DnsRecord { entry: DnsEntry { name: "chromecast-b9095dcac2a66e3f1f3b10a62db9e8c0._googlecast._tcp.local.", ty: 33, class: 1, un
ique: true }, ttl: 120, created:<PHONE_NUMBER>301, refresh:<PHONE_NUMBER>301 }, priority: 0, weight: 0, host: "b9095dca-c2a6-6e3f-1f3b-10a62db9e8c0.local.
", port: 8009 }
mdns_sd DnsAddress { record: DnsRecord { entry: DnsEntry { name: "b9095dca-c2a6-6e3f-1f3b-10a62db9e8c0.local.", ty: 1, class: 1, unique: true }, ttl
: 120, created:<PHONE_NUMBER>302, refresh:<PHONE_NUMBER>302 }, address: <IP_ADDRESS> }
mdns_sd handle_response: 1 answers 0 authorities 1 additionals
mdns_sd add_or_update record name: "chromecast-b9095dcac2a66e3f1f3b10a62db9e8c0._googlecast._tcp.local."
mdns_sd add_or_update record name: "b9095dca-c2a6-6e3f-1f3b-10a62db9e8c0.local."
mdns_sd received 402 bytes
mdns_sd read_header: id 0, 0 questions 8 answers 0 authorities 4 additionals
mdns_sd read_questions: 0
mdns_sd read_others: 12
mdns_sd DnsTxt { record: DnsRecord { entry: DnsEntry { name: "chromecast._androidtvremote2._tcp.local.", ty: 16, class: 1, unique: true }, ttl: 4500, cr
eated:<PHONE_NUMBER>115, refresh:<PHONE_NUMBER>115 }, text: [20, 98, 116, 61, 69, 48, 58, 66, 54, 58, 53, 53, 58, 57, 68, 58, 55, 57, 58, 57, 56] }
mdns_sd DnsPointer { record: DnsRecord { entry: DnsEntry { name: "_services._dns-sd._udp.local.", ty: 12, class: 1, unique: false }, ttl: 4500, crea
ted:<PHONE_NUMBER>115, refresh:<PHONE_NUMBER>115 }, alias: "_androidtvremote2._tcp.local." }
mdns_sd DnsPointer { record: DnsRecord { entry: DnsEntry { name: "_androidtvremote2._tcp.local.", ty: 12, class: 1, unique: false }, ttl: 4500, crea
ted:<PHONE_NUMBER>115, refresh:<PHONE_NUMBER>115 }, alias: "chromecast._androidtvremote2._tcp.local." }
mdns_sd DnsSrv { record: DnsRecord { entry: DnsEntry { name: "chromecast._androidtvremote2._tcp.local.", ty: 33, class: 1, unique: true }, ttl: 120, cre
ated:<PHONE_NUMBER>116, refresh:<PHONE_NUMBER>116 }, priority: 0, weight: 0, host: "Android.local.", port: 6466 }
mdns_sd DnsPointer { record: DnsRecord { entry: DnsEntry { name: "<IP_ADDRESS>.in-addr.arpa.", ty: 12, class: 1, unique: true }, ttl: 120, created:
<PHONE_NUMBER>116, refresh:<PHONE_NUMBER>116 }, alias: "Android.local." }
mdns_sd DnsPointer { record: DnsRecord { entry: DnsEntry { name: "8.A.F.2.B.9.E.F.F.F.5.5.6.B.2.E.<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>.0.8.E.F.ip6.arpa.", ty: 12
, class: 1, unique: true }, ttl: 120, created:<PHONE_NUMBER>116, refresh:<PHONE_NUMBER>116 }, alias: "Android.local." }
mdns_sd DnsAddress { record: DnsRecord { entry: DnsEntry { name: "Android.local.", ty: 1, class: 1, unique: true }, ttl: 120, created:<PHONE_NUMBER>117
, refresh:<PHONE_NUMBER>117 }, address: <IP_ADDRESS> }
mdns_sd We don't support IPv6 TYPE_AAAA records
mdns_sd handle_response: 8 answers 0 authorities 4 additionals
mdns_sd add_or_update record name: "chromecast._androidtvremote2._tcp.local."
mdns_sd add_or_update record name: "_services._dns-sd._udp.local."
mdns_sd Not interested for any querier
mdns_sd add_or_update record name: "_androidtvremote2._tcp.local."
mdns_sd Not interested for any querier
mdns_sd add_or_update record name: "chromecast._androidtvremote2._tcp.local."
mdns_sd add_or_update record name: "<IP_ADDRESS>.in-addr.arpa."
mdns_sd Not interested for any querier
mdns_sd add_or_update record name: "8.A.F.2.B.9.E.F.F.F.5.5.6.B.2.E.<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>.0.8.E.F.ip6.arpa."
mdns_sd Not interested for any querier
mdns_sd add_or_update record name: "Android.local."

From the logs, it seems that the registered service did not receive the query packets. It is possible the query never sent out packets over the network successfully, i.e. related to the firewall like @indietyp said.
Then I tried something similar on my Windows machine by copying query.exe to a different location, and then run it.  Now I got a pop-up message from Windows Defender Firewall like this:

If I don't Allow access via this firewall message,  the query.exe has the same problem as you reported. But if I click Allow access, then query.exe works as expected.   Once I gave query.exe the access,  it will no longer ask me the next time.
Have you seen any Windows firewall pop-up message as above?  Is there a way for you to check the firewall settings?

Yes, I've allowed access to both public and private networks. I've also built it in release mode and allowed it again, still doesn't work.

It's not a firewall issue, again dns-sd and another crate, https://crates.io/crates/astro-dnssd resolve the service on another computer.

Windows Defender Firewall rules are per app.  I.e.  rules for dns-sd and query.exe are separate.  In fact, different copies of query.exe would have different rules.
Could you open "Windows Defender Firewall"  and then check the "Advanced settings" ,  look for query.exe in the list (and maybe dns-sd to compare).

query.exe with added logging:

Bonjour(dns-sd.exe is part of bonjour and relies on bonjour service):

I cannot see any issue, but could you please double check "Inbound Rules", "Outbound Rules" and "Monitoring" -> "Firewall" ?

There isn't any block rule in any category, for the executables in question and for everything that has mDNS in the name is allowed and unblocked

If the firewall settings are all good, then I would debug the code itself. I cannot reproduce this issue locally, but from the logs, the symptom seems to be that the querier did not receive any packets from the responder, and the responder did not receive any packets from the querier.
Do you have Wireshark or something like it to capture the packets?  One thing I would try is:

Start the querier. It should send out the query multicast packets. Check Wireshark on the responder to see if the query packets are received.

Start the responder. It should send out its service records in multicast packets. Check Wireshark on the querier machine to see if these packets are received.  Then check the querier debug log to see if our code received these packets.

The querier should continue to send query packets, so we can check the responder log to see if our code in responder received any packets from the querier.

If there is a difference between what Wireshark reported and what our code logged, then it is something can be further looked into.

Alrighty, I'm going to have a vacation so I'll try to figure it out next week when I'm back.

Ok I'll take a look when I have time next week. Thanks!

Looks like it was something with the state of my machines. I've rebooted everything and started over, and now it's working. Could it have been that multiple instances of mdns-sd acting up as a daemon conflict with each other?

Alright, it worked briefly but not anymore. In wireshark, I don't see any outgoing mdns queries from laptop's IP.

I found the issue, I think. mdns-sd querier binds(sends queries?) to(using?) a wrong interface, in my case it is a Hyper-V Virtual Ethernet Adapter. All queries go to that network which is <IP_ADDRESS>/24
However my LAN is <IP_ADDRESS>/24, and in laptop's case it's WiFi.

And it works on desktop because it doesn't have that Hyper-V Virtual Ethernet Adapter.

Good findings @anenankhu ! That makes sense as we currently let the OS pick the outgoing interface. I will take a look what we can do.

@anenankhu I've opened a PR to fix this issue. Could you please try that PR branch and see if it helps? Thanks.


Add support for retrying reading for a file in HDF5Manager

Network file systems (NFS) can have a volatile connection when multiple machines are accessing the same data, particularly for HDF5 files. To mitigate this issue, HDF5Manager now contains an init argument max_attempts, which can be set to a value greater than 1 to retry opening an HDF5 file and reading data. The wait_time argument defines the number of seconds to wait between retry attempts.

Codecov Report

Merging #35 (a35ce10) into main (55e4999) will increase coverage by 0.10%.
The diff coverage is 67.92%.

@@            Coverage Diff             @@
##             main      #35      +/-   ##
==========================================
+ Coverage   71.44%   71.54%   +0.10%
==========================================
  Files          71       71
  Lines        4745     4769      +24
  Branches     1036     1041       +5
==========================================
+ Hits         3390     3412      +22
- Misses       1034     1037       +3
+ Partials      321      320       -1

Flag
Coverage Δ

unittests
71.54% <67.92%> (+0.10%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

meddlr/data/slice_dataset.py
57.47% <33.33%> (+0.32%)
:arrow_up:

meddlr/data/data_utils.py
60.68% <72.34%> (+7.74%)
:arrow_up:

meddlr/data/catalog.py
63.21% <0.00%> (-1.23%)
:arrow_down:

meddlr/evaluation/evaluator.py
83.00% <0.00%> (-0.17%)
:arrow_down:

meddlr/evaluation/seg_evaluation.py
71.83% <0.00%> (-0.17%)
:arrow_down:

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 55e4999...a35ce10. Read the comment docs.


Create FacebookButtonByRakesh-116.html

Thank you, Hey where can i see my pull request count
On Mon, 17 Apr 2023 at 18:58, N. K. K. @.***> wrote:

Merged #201 https://github.com/KwickerHub/frontend/pull/201 into dev.
—
Reply to this email directly, view it on GitHub
https://github.com/KwickerHub/frontend/pull/201#event-9024514016, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A4QTZUOEDVFKA2VPL6ZVFRLXBVAOJANCNFSM6AAAAAAXAKIUNM
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


Convert into main + sub packages instead of multiple main packages

This PR creates a new package tex2pdf with the following sub-packages

tex2pdf.tex_inspection
tex2pdf.preflight_parser
tex2pdf.zerozeroreadme
tex2pdf.service

The pdf_profile package is left separate for now since it is only used during tests of genpdf.
See discussion here

Overridden by https://github.com/arXiv/submission-tools/pull/77


#804 - add way for base Component class to extend base classes

This enables both custom base classes as well customised built-ins.
import { Element } from 'skatejs';

class Base extends HTMLElement {};
export class Default extends Element();
export class Custom extends Element(Base);
export class BuiltIn extends Element(HTMLDivElement);

It might be worth raising an issue at some point to detect the tag name of the base class the person is trying to extend so that we can automate customised built-ins within define(). For example:
import { Element, define } from 'skatejs';

export default define(class extends Element(HTMLDivElement) {});

And internally in define(), we could do:
const tagName = getTagNameFromBuiltInClass(HTMLDivElement);
customElements.define(CustomElement.is, CustomElement, { extends: tagName });

Hmm AFAIK element extension { extends: tagName } wont be implemented by Apple, also Polymer 2 is saying bye bye to it

so basically Element is a mixin now right?

Hmm AFAIK element extension { extends: tagName } wont be implemented by Apple, also Polymer 2 is saying bye bye to it

They've started implementing it in the custom element polyfill, so I'm assuming Polymer has changed their stance on it. I've reached out to @justinfagnani to see if he can clarify.

so basically Element is a mixin now right?

Yes, and still backward compat in this PR. When each part is broken down into a mixin, this can be composed of those. That said, I'm wondering what the performance implications might be of having a long prototype chain between HTMLElement and the resulting custom element.

Clarification: Polymer core and elements won't use customized built-in elements, but nothing prevents users from doing that.

It'd be nice to be consistent with Polymer.Element if we can.

Hmm I dunno, I don't like to be consistent for all costs with some project X. Skate is much better than Polymer IMHO ( thanks to them the platform is pushed forward, kudos to that without doubt ). So I guess it's your call ;)

It's also consistent with Bram. The only difference is that Skate makes you invoke it like a function to pass on the base impl.

ok

Will merge now and we can discuss prior to releasing 5.0.


feat: prepare data model for result filtering in history screen

Part of https://github.com/mlcommons/mobile_app_open/issues/641
In this PR I prepare the data schema and model for the filtering feature. The UI part will be done in another PR.

This PR is done, but maybe we should merge it after the code freeze for the submission v3.0.


Tools disabling after upgrade

Microsoft PowerToys version
0.55.2
Running as admin

[X] Yes

Area(s) with issue?
Settings, Installer
Steps to reproduce
It's the second time I've updated the program and, always after updating, some functions disable themselves. Such as: Always on top, color pick, awake mode, find mouse, etc...
✔ Expected Behavior
Update without having to activate the tools again
❌ Actual Behavior
I need to enable the tools again after updating
Other Software
No response

New PowerToys release v0.56. will be out soon. Could you check if the issue is still there when you update to v0.56 and if yes, post the new bug report here?
Thanks in advance!

Release 0.56.1 is released, please head to https://aka.ms/installpowertoys to try it out! /needinfo

New PowerToys release v0.56. will be out soon. Could you check if the issue is still there when you update to v0.56 and if yes, post the new bug report here?
Thanks in advance!

The bug has apparently been fixed. I updated the program directly from the PowerToys panel and no tools automatically disabled after the update. Thanks for the fix it! 🙂

Thanks for the reply! Closing this issue.


Pretrained model npz files are empty

IAN_simple.npz is and IANv1.npz are empty.
When I try to run NPE.py, it fails in reading the npz files.

Git-LFS is hitting me with a bandwidth limit, here's a drive mirror for the simple model:
https://drive.google.com/open?id=0B3_iVBZsC4GGck5WWWc0R0dvT1U


Uploading checkpoints

It would be useful if you could upload your checkpoints so that other people don't have to train from scratch. Would it be possible? It would be great if both faster rcnn and mask rcnn checkpoints are uploaded to the repo.
Thanks!

I will upload the detection checkpoint later (after the rebuttal). But we only focus on few-shot object detection and do not have mask-rcnn version.


Incorrect rendering of Stereo Flags in reactions

Steps to Reproduce:

Create any reaction with multiple reagents and products. Reagents and products should contain Stereo Labels and Stereo Flags.
Click 'Save as' button and save the created reaction in Graph Format.
Open saved in .ket file in Ketcher.

Actual Result:

All Stereo Flags were moved to the right top corner.
Expected Result:

All Stereo Flags should appear at the same places as they were saved.
Epic link: #56
Relates to: #57

Cannot reproduce.

Labels don't render correctly initially if there is a reaction arrow or a reaction plus sign on the canvas.

Create several structures on the canvas.
Add a reaction arrow and the reaction plus signs.
Add several stereobonds to the created structures.

Expected result: Each stereo flag is located next to the added stereobond.
Actual result: Several stereo flags are grouped in one area of the canvas.

Labels don't render correctly initially if there is a reaction arrow or a reaction plus sign on the canvas.

Create several structures on the canvas.
Add a reaction arrow and the reaction plus signs.
Add several stereobonds to the created structures.

Expected result: Each stereo flag is located next to the added stereobond.
Actual result: Several stereo flags are grouped in one area of the canvas.

Release/2.3 The issue is closed as fixed.


Typo in Windows start script template

Expected Behavior

These lines in the windowsStartScript.txt template used by the Application plugin should seemingly produce identical lines in the resulting bat file created by startScripts task:
if "%DIRNAME%" == "" set DIRNAME=.\

set APP_BASE_NAME=%~n0

Current Behavior

Instead, the slash seems to be interpreted as a continuation line, producing this (note missing slash and newline):
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0

The next line in the template is:
set APP_HOME=%DIRNAME%${appHomeRelativePath}

Which is compiled into this line that now looks like it's missing a slash (strangely, it works anyway):
set APP_HOME=%DIRNAME%..

Context

Doesn't seem to change behavior, just looks wrong. Noticed it while looking for a way to set appHomeRelativePath to move the start scripts out of bin/. (Couldn't find one and ended up customizing the templates instead).

@sf17k Thanks for the note. Given that it works, I don't see any reason to address this. That said, you're welcome to provide a PR if you feel strongly about it.

The reason this works is that


Regenerate package-lock

extracted from #268
This PR is supported by the Æternity Foundation

Recently I have the same problem with CI in sdk, the best solution I found is to wget a different package 🙃


move src/examples to examples

I believe this will capture users' attention better. People just click at examples, plus I believe it is more common to have them in the root directory.

Oh... I think this is more tricky (since the examples depends on the examples package). I'll mark it as a draft.

@Moishe @chadbailey59 With these changes we don't make examples part of the dailyai distribution any more. Today, if you do pip install dailyai it will also install the examples. I believe the examples should just be in the repo and keep the distribution small.
To do that, since the examples fodler is also a python package (because of examples/support/runner.py) there are 2 options:

User needs to specify PYTHONPATH. For example: PYTHONPATH=. python/examples/foundational/02....
Each example file adds the repos root folder to the python search path. Which is what I've done here.

WDYT?

I've updated the PR with the PYTHONPATH approach.

I don't love setting PYTHONPATH either, because it's gonna require extra setup steps to run the examples inside VSCode (or whatever other IDE).
What if we just put a copy of the runner.py file in foundational and starter-apps (and removed the support directory entirely)? In this case I think a little duplicated code in favor of ease of running the examples might be better.
(I tried using relative imports with no luck, maybe because it would also require a PYTHONPATH, just a different one)

I don't love setting PYTHONPATH either, because it's gonna require extra setup steps to run the examples inside VSCode (or whatever other IDE).
What if we just put a copy of the runner.py file in foundational and starter-apps (and removed the support directory entirely)? In this case I think a little duplicated code in favor of ease of running the examples might be better.

That works for me! I was also thinking of adding runner.py into the dailyai package inside a util/daily subpackage or something. But I like this idea better for now.

(I tried using relative imports with no luck, maybe because it would also require a PYTHONPATH, just a different one)

Yes, I tried that as well without luck.

I don't love setting PYTHONPATH either, because it's gonna require extra setup steps to run the examples inside VSCode (or whatever other IDE).
What if we just put a copy of the runner.py file in foundational and starter-apps (and removed the support directory entirely)? In this case I think a little duplicated code in favor of ease of running the examples might be better.

That works for me! I was also thinking of adding runner.py into the dailyai package inside a util/daily subpackage or something. But I like this idea better for now.

Actually, this has the same problem as the relative import as you would do:
from .runner import configure

But since we don't have a package....

Alright, I have moved auth.py and runner.py into dailyai.examples packages. This of course works well. Now you have to do:
from dailyai.examples.runner import configure

I copied runner.py into the examples directory and changed the import to:
from runner import configure
and then, from the examples directory,
(env) ➜  examples git:(move-src-example-to-examples) ✗ python foundational/01-say-one-thing.py -u https://moishe.daily.co/sample-testing
Using cache found in /Users/moishe/.cache/torch/hub/snakers4_silero-vad_master
20 2024-03-18 19:45:44,831 🎬 Starting frame consumer thread

that seems to work fine without adding any example-specific code to the package. Does that work for you?

I copied runner.py into the examples directory and changed the import to:
from runner import configure
and then, from the examples directory,
(env) ➜  examples git:(move-src-example-to-examples) ✗ python foundational/01-say-one-thing.py -u https://moishe.daily.co/sample-testing
Using cache found in /Users/moishe/.cache/torch/hub/snakers4_silero-vad_master
20 2024-03-18 19:45:44,831 🎬 Starting frame consumer thread

that seems to work fine without adding any example-specific code to the package. Does that work for you?

Duh! Of course it works. PR updated.

I kept load_dotenv() in each script though instead of inside runner.py.